emacs-diffs
[Top][All Lists]
Advanced

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

master 8114a84: * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--test


From: Stefan Monnier
Subject: master 8114a84: * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case
Date: Wed, 24 Feb 2021 18:39:12 -0500 (EST)

branch: master
commit 8114a84b21b2463ea35db7f3a18fd3804396f47e
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add 
case
    
    Add use of `macroexp-file-name` from a macro called from within
    a function, which works thanks to eager-macroexpansion (so the macro
    is expanded which the file is being loaded rather than only later
    when the function is called).
    
    * test/lisp/emacs-lisp/macroexp-resources/m1.el
    (macroexp--m1-tests-file-name): New function.
---
 test/lisp/emacs-lisp/macroexp-resources/m1.el | 3 +++
 test/lisp/emacs-lisp/macroexp-tests.el        | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/test/lisp/emacs-lisp/macroexp-resources/m1.el 
b/test/lisp/emacs-lisp/macroexp-resources/m1.el
index a2fe6ec..96b5f70 100644
--- a/test/lisp/emacs-lisp/macroexp-resources/m1.el
+++ b/test/lisp/emacs-lisp/macroexp-resources/m1.el
@@ -29,5 +29,8 @@
 (eval-when-compile
   (defconst macroexp--m1-tests-comp-filename (macroexp-file-name)))
 
+(defun macroexp--m1-tests-file-name ()
+  (macroexp--test-get-file-name))
+
 (provide 'm1)
 ;;; m1.el ends here
diff --git a/test/lisp/emacs-lisp/macroexp-tests.el 
b/test/lisp/emacs-lisp/macroexp-tests.el
index 0b26f10..89d3882 100644
--- a/test/lisp/emacs-lisp/macroexp-tests.el
+++ b/test/lisp/emacs-lisp/macroexp-tests.el
@@ -34,6 +34,8 @@
 
 (defconst macroexp--tests-filename (macroexp-file-name))
 
+(defmacro macroexp--test-get-file-name () (macroexp-file-name))
+
 (ert-deftest macroexp--tests-file-name ()
   (should (string-match
            "\\`macroexp-tests.elc?\\'"
@@ -44,10 +46,13 @@
     (with-current-buffer
         (find-file-noselect (expand-file-name "m1.el" rsrc-dir))
       (defvar macroexp--m1-tests-filename)
+      (declare-function macroexp--m1-tests-file-name "m1" ())
       ;; `macroexp-file-name' should work with `eval-buffer'.
       (eval-buffer)
       (should (equal "m1.el"
                      (file-name-nondirectory macroexp--m1-tests-filename)))
+      (should (equal "m1.el"
+                     (file-name-nondirectory (macroexp--m1-tests-file-name))))
       (search-forward "macroexp--m1-tests-filename")
       (makunbound 'macroexp--m1-tests-filename)
       ;; `macroexp-file-name' should also work with `eval-defun'.



reply via email to

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