diff options
author | Gemini Lasswell <gazally@runbox.com> | 2017-12-18 10:08:59 -0800 |
---|---|---|
committer | Gemini Lasswell <gazally@runbox.com> | 2017-12-31 11:10:26 -0800 |
commit | 312c5655669a882186884626f0cf361de70e679d (patch) | |
tree | 8229f70ac78519ac7d586b804e31ae703d5c0c5c | |
parent | 39ca289a7a33d514c2a46f005db4e7173fb7e9f5 (diff) | |
download | emacs-312c5655669a882186884626f0cf361de70e679d.tar.gz |
Don't add empty keyboard macro to macro ring (Bug#24992)
* lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
macro if it is empty.
* test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
Remove expected failure tag.
-rw-r--r-- | lisp/kmacro.el | 8 | ||||
-rw-r--r-- | test/lisp/kmacro-tests.el | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/lisp/kmacro.el b/lisp/kmacro.el index 5729f2fc8d3..beb52e56351 100644 --- a/lisp/kmacro.el +++ b/lisp/kmacro.el @@ -746,7 +746,13 @@ macros, use \\[kmacro-name-last-macro]." If kbd macro currently being defined end it before activating it." (interactive "e") (when defining-kbd-macro - (end-kbd-macro)) + (end-kbd-macro) + (when (and last-kbd-macro (= (length last-kbd-macro) 0)) + (setq last-kbd-macro nil) + (message "Ignore empty macro") + ;; Don't call `kmacro-ring-empty-p' to avoid its messages. + (while (and (null last-kbd-macro) kmacro-ring) + (kmacro-pop-ring1)))) (mouse-set-point event) (kmacro-call-macro nil t)) diff --git a/test/lisp/kmacro-tests.el b/test/lisp/kmacro-tests.el index 690d5029231..c0180e32e5a 100644 --- a/test/lisp/kmacro-tests.el +++ b/test/lisp/kmacro-tests.el @@ -312,7 +312,6 @@ cause the current test to fail." (kmacro-tests-deftest kmacro-tests-end-and-call-macro-mouse () "Commands to end and call macro work under various conditions. This is a regression test for Bug#24992." - (:expected-result :failed) (cl-letf (((symbol-function #'mouse-set-point) #'ignore)) ;; First, try it with no macro to record. (setq kmacro-tests-macros '("")) |