emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r110911: * lisp/emacs-lisp/advice.el


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110911: * lisp/emacs-lisp/advice.el (ad-make-advised-definition): Improve last fix.
Date: Fri, 16 Nov 2012 13:02:39 -0500
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110911
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Fri 2012-11-16 13:02:39 -0500
message:
  * lisp/emacs-lisp/advice.el (ad-make-advised-definition): Improve last fix.
modified:
  lisp/ChangeLog
  lisp/emacs-lisp/advice.el
  test/automated/advice-tests.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-11-16 17:20:23 +0000
+++ b/lisp/ChangeLog    2012-11-16 18:02:39 +0000
@@ -1,5 +1,7 @@
 2012-11-16  Stefan Monnier  <address@hidden>
 
+       * emacs-lisp/advice.el (ad-make-advised-definition): Improve last fix.
+
        * emacs-lisp/cl-lib.el: Set more meaningful version number.
 
 2012-11-16  Martin Rudalics  <address@hidden>

=== modified file 'lisp/emacs-lisp/advice.el'
--- a/lisp/emacs-lisp/advice.el 2012-11-15 04:42:14 +0000
+++ b/lisp/emacs-lisp/advice.el 2012-11-16 18:02:39 +0000
@@ -2596,7 +2596,9 @@
           (ad-has-redefining-advice function))
       (let* ((origdef (ad-real-orig-definition function))
             ;; Construct the individual pieces that we need for assembly:
-            (orig-arglist (and origdef (ad-arglist origdef)))
+            (orig-arglist (let ((args (ad-arglist origdef)))
+                             ;; The arglist may still be unknown.
+                             (if (listp args) args '(&rest args))))
             (advised-arglist (or (ad-advised-arglist function)
                                  orig-arglist))
             (interactive-form (ad-advised-interactive-form function))

=== modified file 'test/automated/advice-tests.el'
--- a/test/automated/advice-tests.el    2012-11-13 14:12:46 +0000
+++ b/test/automated/advice-tests.el    2012-11-16 18:02:39 +0000
@@ -80,6 +80,13 @@
      (sm-test5 6) 100.1)
     ((advice-remove 'sm-test5 (lambda (f y) (* (funcall f y) 5)))
      (sm-test5 6) 20.1)
+
+    ;; This used to signal an error (bug#12858).
+    ((autoload 'sm-test6 "foo")
+     (defadvice sm-test6 (around test activate)
+       ad-do-it)
+     t t)
+
     ))
 
 (ert-deftest advice-tests ()


reply via email to

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