emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r112225: * kmacro.el (kmacro-call-mac


From: Leo Liu
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r112225: * kmacro.el (kmacro-call-macro): Fix bug#14135.
Date: Fri, 05 Apr 2013 16:38:06 +0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 112225
fixes bug: http://debbugs.gnu.org/14135
committer: Leo Liu <address@hidden>
branch nick: trunk
timestamp: Fri 2013-04-05 16:38:06 +0800
message:
  * kmacro.el (kmacro-call-macro): Fix bug#14135.
modified:
  lisp/ChangeLog
  lisp/kmacro.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-04-05 02:20:35 +0000
+++ b/lisp/ChangeLog    2013-04-05 08:38:06 +0000
@@ -1,3 +1,7 @@
+2013-04-05  Leo Liu  <address@hidden>
+
+       * kmacro.el (kmacro-call-macro): Fix bug#14135.
+
 2013-04-05  Jay Belanger  <address@hidden>
 
        * calc/calc-units.el (calc-convert-units): Rewrite conditional.

=== modified file 'lisp/kmacro.el'
--- a/lisp/kmacro.el    2013-03-30 13:49:00 +0000
+++ b/lisp/kmacro.el    2013-04-05 08:38:06 +0000
@@ -631,11 +631,11 @@
                                   (> (length (this-single-command-keys)) 1))
                              ;; Used when we're in the process of repeating.
                              (eq no-repeat 'repeating))
-                        last-input-event))
-       (last-kbd-macro (or macro last-kbd-macro)))
+                        last-input-event)))
     (if end-macro
-       (kmacro-end-macro arg)
-      (call-last-kbd-macro arg #'kmacro-loop-setup-function))
+       (kmacro-end-macro arg)          ; modifies last-kbd-macro
+      (let ((last-kbd-macro (or macro last-kbd-macro)))
+       (call-last-kbd-macro arg #'kmacro-loop-setup-function)))
     (when (consp arg)
       (setq arg (car arg)))
     (when (and (or (null arg) (> arg 0))
@@ -658,7 +658,9 @@
          (define-key map (vector repeat-key)
            `(lambda () (interactive)
               (kmacro-call-macro ,(and kmacro-call-repeat-with-arg arg)
-                                 'repeating nil ,last-kbd-macro)))
+                                 'repeating nil ,(if end-macro
+                                                    last-kbd-macro
+                                                  (or macro last-kbd-macro)))))
          map)))))
 
 


reply via email to

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