]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 22 May 2011 18:22:30 +0000 (15:22 -0300)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 22 May 2011 18:22:30 +0000 (15:22 -0300)
funcall as well.  Warn when performing those conversions.
* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix error report.

Fixes: debbugs:8712
lisp/ChangeLog
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/macroexp.el

index a759eb749efc0e56922a98faaade9fafb104bf4c..5b0fa090eaa14e4c1f568ae70c835abe8e82728b 100644 (file)
@@ -1,5 +1,9 @@
 2011-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for
+       funcall as well (bug#8712).  Warn when performing those conversions.
+       * emacs-lisp/bytecomp.el (byte-compile-form): Fix error report.
+
        * progmodes/grep.el (grep-mode): Fix it for good (bug#8684)!
 
 2011-05-22  Glenn Morris  <rgm@gnu.org>
index e7f2115a8482857a266290992d1f2f221c0c3e62..49b39b6a1f9a056e3f6860312817c8bb9d96361f 100644 (file)
@@ -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
index f0a075ace37b954ca30ed95fb9406453259d0f35..ccfdf2e0551c03ef153a4ee8230e0854c5f80cc6 100644 (file)
@@ -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)