Fix misuses of byte-compile-macro-environment
These seem to be left overs from Emacs<24 when `macroexpand-all` was implemented in the CL library and hence the macros's evaluation environment could come from different places depending on the circumstance (either `byte-compile-macro-environment`, or `cl-macro-environment`, or ...). `byte-compile-macro-environment` contains definitions which expand to code that is only understood by the rest of the byte-compiler, so using it for code which isn't being byte-compiled leads to errors such as references to non-existing function `internal--with-suppressed-warnings`. * lisp/emacs-lisp/cl-extra.el (cl-prettyexpand): Remove left-over binding from when `macroexpand-all` was implemented in the CL library. * lisp/emacs-lisp/ert.el (ert--expand-should-1): * lisp/emacs-lisp/cl-macs.el (cl--compile-time-too): Properly preserve the macroexpand-all-environment. (cl--macroexp-fboundp): Pay attention to `cl-macrolet` macros as well.
This commit is contained in:
parent
6ad9b8d677
commit
a0f60293d9
3 changed files with 18 additions and 27 deletions
|
@ -277,14 +277,7 @@ It should only be stopped when ran from inside ert--run-test-internal."
|
|||
(let ((form
|
||||
;; catch macroexpansion errors
|
||||
(condition-case err
|
||||
(macroexpand-all form
|
||||
(append (bound-and-true-p
|
||||
byte-compile-macro-environment)
|
||||
(cond
|
||||
((boundp 'macroexpand-all-environment)
|
||||
macroexpand-all-environment)
|
||||
((boundp 'cl-macro-environment)
|
||||
cl-macro-environment))))
|
||||
(macroexpand-all form macroexpand-all-environment)
|
||||
(error `(signal ',(car err) ',(cdr err))))))
|
||||
(cond
|
||||
((or (atom form) (ert--special-operator-p (car form)))
|
||||
|
@ -1550,7 +1543,7 @@ Ran \\([0-9]+\\) tests, \\([0-9]+\\) results as expected\
|
|||
(message "------------------")
|
||||
(setq tests (sort tests (lambda (x y) (> (car x) (car y)))))
|
||||
(when (< high (length tests)) (setcdr (nthcdr (1- high) tests) nil))
|
||||
(message "%s" (mapconcat 'cdr tests "\n")))
|
||||
(message "%s" (mapconcat #'cdr tests "\n")))
|
||||
;; More details on hydra, where the logs are harder to get to.
|
||||
(when (and (getenv "EMACS_HYDRA_CI")
|
||||
(not (zerop (+ nunexpected nskipped))))
|
||||
|
@ -2077,7 +2070,7 @@ and how to display message."
|
|||
(ert-run-tests selector listener t)))
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'ert 'ert-run-tests-interactively)
|
||||
(defalias 'ert #'ert-run-tests-interactively)
|
||||
|
||||
|
||||
;;; Simple view mode for auxiliary information like stack traces or
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue