emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 4e71b5b: Incorporate lexbind-tests.el in bytecomp-t


From: Eli Zaretskii
Subject: [Emacs-diffs] master 4e71b5b: Incorporate lexbind-tests.el in bytecomp-test.el
Date: Sat, 24 Sep 2016 09:54:24 +0000 (UTC)

branch: master
commit 4e71b5b343c92fc587c666b98440cd8d9b36980c
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Incorporate lexbind-tests.el in bytecomp-test.el
    
    * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
    test/lisp/legacy/lexbind-tests.el.
    * test/lisp/legacy/lexbind-tests.el: File deleted.
---
 test/lisp/emacs-lisp/bytecomp-tests.el |   43 +++++++++++++++++-
 test/lisp/legacy/lexbind-tests.el      |   75 --------------------------------
 2 files changed, 42 insertions(+), 76 deletions(-)

diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el 
b/test/lisp/emacs-lisp/bytecomp-tests.el
index 8847c1b5..91d438e 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -2,7 +2,8 @@
 
 ;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
-;; Author:         Shigeru Fukaya <address@hidden>
+;; Author: Shigeru Fukaya <address@hidden>
+;; Author: Stefan Monnier <address@hidden>
 ;; Created:        November 2008
 ;; Keywords:       internal
 ;; Human-Keywords: internal
@@ -420,6 +421,46 @@ Subtests signal errors if something goes wrong."
       (defun def () (m))))
   (should (equal (funcall 'def) 4)))
 
+(defconst bytecomp-lexbind-tests
+  `(
+    (let ((f #'car))
+      (let ((f (lambda (x) (cons (funcall f x) (cdr x)))))
+        (funcall f '(1 . 2))))
+    )
+  "List of expression for test.
+Each element will be executed by interpreter and with
+bytecompiled code, and their results compared.")
+
+(defun bytecomp-lexbind-check-1 (pat)
+  "Return non-nil if PAT is the same whether directly evalled or compiled."
+  (let ((warning-minimum-log-level :emergency)
+       (byte-compile-warnings nil)
+       (v0 (condition-case nil
+               (eval pat t)
+             (error nil)))
+       (v1 (condition-case nil
+               (funcall (let ((lexical-binding t))
+                           (byte-compile `(lambda nil ,pat))))
+             (error nil))))
+    (equal v0 v1)))
+
+(put 'bytecomp-lexbind-check-1 'ert-explainer 'bytecomp-lexbind-explain-1)
+
+(defun bytecomp-lexbind-explain-1 (pat)
+  (let ((v0 (condition-case nil
+               (eval pat t)
+             (error nil)))
+       (v1 (condition-case nil
+               (funcall (let ((lexical-binding t))
+                           (byte-compile (list 'lambda nil pat))))
+             (error nil))))
+    (format "Expression `%s' gives `%s' if directly evalled, `%s' if compiled."
+           pat v0 v1)))
+
+(ert-deftest bytecomp-lexbind-tests ()
+  "Test the Emacs byte compiler lexbind handling."
+  (dolist (pat bytecomp-lexbind-tests)
+    (should (bytecomp-lexbind-check-1 pat))))
 
 ;; Local Variables:
 ;; no-byte-compile: t
diff --git a/test/lisp/legacy/lexbind-tests.el 
b/test/lisp/legacy/lexbind-tests.el
deleted file mode 100644
index 3bf8c13..0000000
--- a/test/lisp/legacy/lexbind-tests.el
+++ /dev/null
@@ -1,75 +0,0 @@
-;;; lexbind-tests.el --- Testing the lexbind byte-compiler
-
-;; Copyright (C) 2011-2016 Free Software Foundation, Inc.
-
-;; Author: Stefan Monnier <address@hidden>
-;; Keywords:
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;
-
-;;; Code:
-
-(require 'ert)
-
-(defconst lexbind-tests
-  `(
-    (let ((f #'car))
-      (let ((f (lambda (x) (cons (funcall f x) (cdr x)))))
-        (funcall f '(1 . 2))))
-    )
-  "List of expression for test.
-Each element will be executed by interpreter and with
-bytecompiled code, and their results compared.")
-
-
-
-(defun lexbind-check-1 (pat)
-  "Return non-nil if PAT is the same whether directly evalled or compiled."
-  (let ((warning-minimum-log-level :emergency)
-       (byte-compile-warnings nil)
-       (v0 (condition-case nil
-               (eval pat t)
-             (error nil)))
-       (v1 (condition-case nil
-               (funcall (let ((lexical-binding t))
-                           (byte-compile `(lambda nil ,pat))))
-             (error nil))))
-    (equal v0 v1)))
-
-(put 'lexbind-check-1 'ert-explainer 'lexbind-explain-1)
-
-(defun lexbind-explain-1 (pat)
-  (let ((v0 (condition-case nil
-               (eval pat t)
-             (error nil)))
-       (v1 (condition-case nil
-               (funcall (let ((lexical-binding t))
-                           (byte-compile (list 'lambda nil pat))))
-             (error nil))))
-    (format "Expression `%s' gives `%s' if directly evalled, `%s' if compiled."
-           pat v0 v1)))
-
-(ert-deftest lexbind-tests ()
-  "Test the Emacs byte compiler lexbind handling."
-  (dolist (pat lexbind-tests)
-    (should (lexbind-check-1 pat))))
-
-
-
-(provide 'lexbind-tests)
-;;; lexbind-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]