Commit 312c5655 authored by Gemini Lasswell's avatar Gemini Lasswell

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.
parent 39ca289a
......@@ -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))
......
......@@ -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 '(""))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment