* lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Don't accept
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 19 Nov 2012 20:57:36 +0000 (15:57 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 19 Nov 2012 20:57:36 +0000 (15:57 -0500)
non-symbols for compiler macros (yet).

lisp/ChangeLog
lisp/emacs-lisp/byte-run.el

index e2299df..7e9ed25 100644 (file)
@@ -1,5 +1,8 @@
 2012-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * emacs-lisp/byte-run.el (defun-declarations-alist): Don't accept
+       non-symbols for compiler macros (yet).
+
        * eshell/em-cmpl.el (eshell-pcomplete): Refine fix for bug#12838:
        Fallback on completion-at-point rather than
        pcomplete-expand-and-complete, and only if pcomplete actually failed.
index 462b4a2..544b64b 100644 (file)
@@ -82,7 +82,9 @@ The return value of this function is not used."
              `(make-obsolete ',f ',new-name ,when)))
    (list 'compiler-macro
          #'(lambda (f _args compiler-function)
-             `(put ',f 'compiler-macro #',compiler-function)))
+             (if (not (symbolp compiler-function))
+                 (error "Only symbols are supported in `compiler-macro'")
+               `(put ',f 'compiler-macro #',compiler-function))))
    (list 'doc-string
          #'(lambda (f _args pos)
              (list 'put (list 'quote f) ''doc-string-elt (list 'quote pos))))