summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-01-02 18:37:57 -0800
committerGlenn Morris <rgm@gnu.org>2013-01-02 18:37:57 -0800
commit0a8bf3afca415fec94742cf830622b22f186062c (patch)
tree7ca943a0622ea184e1a9dc97d31509d063e138b5 /lisp/emacs-lisp
parent2036b4b8e075479ea5333689e299183b9c2f3ebb (diff)
parent75e78d1e904bde7eae13b78202f99081543701dc (diff)
downloademacs-0a8bf3afca415fec94742cf830622b22f186062c.tar.gz
emacs-0a8bf3afca415fec94742cf830622b22f186062c.tar.bz2
emacs-0a8bf3afca415fec94742cf830622b22f186062c.zip
Merge from emacs-24; up to 2012-12-06T07:33:20Z!rgm@gnu.org
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/byte-run.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 3168ddb16e5..b44ec68e2bf 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -199,7 +199,13 @@ The return value is undefined.
(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)))))