* lisp/emacs-lisp/byte-run.el (defun):
Place cl declarations after any interactive spec.
Fixes: debbugs:13265
+2013-01-03 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/byte-run.el (defun): Place cl declarations
+ after any interactive spec. (Bug#13265)
+
2012-12-31 Andreas Schwab <schwab@linux-m68k.org>
* emacs-lisp/byte-run.el (defmacro): Use same argument parsing as
(memq (car x) ;C.f. cl-do-proclaim.
'(special inline notinline optimize warn)))
(push (list 'declare x)
- (if (stringp docstring) (cdr body) body))
+ (if (stringp docstring)
+ (if (eq (car-safe (cadr body)) 'interactive)
+ (cddr body)
+ (cdr body))
+ (if (eq (car-safe (car body)) 'interactive)
+ (cdr body)
+ body)))
nil)
(t (message "Warning: Unknown defun property `%S' in %S"
(car x) name)))))