emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111115: defun fix for cl declarat


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-24 r111115: defun fix for cl declarations + interactive forms
Date: Wed, 02 Jan 2013 16:43:46 -0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111115
fixes bug: http://debbugs.gnu.org/13265
committer: Glenn Morris <address@hidden>
branch nick: emacs-24
timestamp: Wed 2013-01-02 16:43:46 -0800
message:
  defun fix for cl declarations + interactive forms
  
  * lisp/emacs-lisp/byte-run.el (defun):
  Place cl declarations after any interactive spec.
modified:
  lisp/ChangeLog
  lisp/emacs-lisp/byte-run.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-01-01 09:11:05 +0000
+++ b/lisp/ChangeLog    2013-01-03 00:43:46 +0000
@@ -1,3 +1,8 @@
+2013-01-03  Glenn Morris  <address@hidden>
+
+       * emacs-lisp/byte-run.el (defun): Place cl declarations
+       after any interactive spec.  (Bug#13265)
+
 2012-12-31  Andreas Schwab  <address@hidden>
 
        * emacs-lisp/byte-run.el (defmacro): Use same argument parsing as

=== modified file 'lisp/emacs-lisp/byte-run.el'
--- a/lisp/emacs-lisp/byte-run.el       2013-01-01 09:11:05 +0000
+++ b/lisp/emacs-lisp/byte-run.el       2013-01-03 00:43:46 +0000
@@ -195,7 +195,13 @@
                          (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)))))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]