* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for
funcall as well. Warn when performing those conversions. * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix error report. Fixes: debbugs:8712
This commit is contained in:
parent
79106a44d3
commit
9c848d8a75
3 changed files with 15 additions and 3 deletions
lisp/emacs-lisp
|
@ -2892,8 +2892,8 @@ If FORM is a lambda or a macro, byte-compile it as a function."
|
|||
That command is designed for interactive use only" fn))
|
||||
(if (and (fboundp (car form))
|
||||
(eq (car-safe (symbol-function (car form))) 'macro))
|
||||
(byte-compile-report-error
|
||||
(format "Forgot to expand macro %s" (car form))))
|
||||
(byte-compile-log-warning
|
||||
(format "Forgot to expand macro %s" (car form)) nil :error))
|
||||
(if (and handler
|
||||
;; Make sure that function exists. This is important
|
||||
;; for CL compiler macros since the symbol may be
|
||||
|
|
|
@ -169,14 +169,22 @@ Assumes the caller has bound `macroexpand-all-environment'."
|
|||
;; here, so that any code that cares about the difference will
|
||||
;; see the same transformation.
|
||||
;; First arg is a function:
|
||||
(`(,(and fun (or `apply `mapcar `mapatoms `mapconcat `mapc))
|
||||
(`(,(and fun (or `funcall `apply `mapcar `mapatoms `mapconcat `mapc))
|
||||
',(and f `(lambda . ,_)) . ,args)
|
||||
(byte-compile-log-warning
|
||||
(format "%s quoted with ' rather than with #'"
|
||||
(list 'lambda (nth 1 f) '...))
|
||||
t)
|
||||
;; We don't use `maybe-cons' since there's clearly a change.
|
||||
(cons fun
|
||||
(cons (macroexpand-all-1 (list 'function f))
|
||||
(macroexpand-all-forms args))))
|
||||
;; Second arg is a function:
|
||||
(`(,(and fun (or `sort)) ,arg1 ',(and f `(lambda . ,_)) . ,args)
|
||||
(byte-compile-log-warning
|
||||
(format "%s quoted with ' rather than with #'"
|
||||
(list 'lambda (nth 1 f) '...))
|
||||
t)
|
||||
;; We don't use `maybe-cons' since there's clearly a change.
|
||||
(cons fun
|
||||
(cons (macroexpand-all-1 arg1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue