* 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.
This commit is contained in:
parent
d527bc4b7d
commit
8114a84b21
2 changed files with 8 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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'.
|
||||
|
|
Loading…
Add table
Reference in a new issue