]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/bindings.el (mode-line-defining-kbd-macro): New defvar.
authorJuri Linkov <juri@linkov.net>
Tue, 30 Jul 2019 20:35:42 +0000 (23:35 +0300)
committerJuri Linkov <juri@linkov.net>
Tue, 30 Jul 2019 20:35:42 +0000 (23:35 +0300)
(minor-mode-alist): Use it for `defining-kbd-macro'.  (Bug#36564)

lisp/bindings.el

index 64842c4e1ff09f8b26680241e837945684081ffe..0be145879816f028e95bfae5ad824d9f9e7275cc 100644 (file)
@@ -644,6 +644,11 @@ Switch to the most recently selected buffer other than the current one."
   (let ((indicator (car (nth 4 (car (cdr event))))))
     (describe-minor-mode-from-indicator indicator)))
 
+(defvar mode-line-defining-kbd-macro (propertize " Def" 'face 'font-lock-warning-face)
+  "String displayed in the mode line in keyboard macro recording mode.")
+;;;###autoload
+(put 'mode-line-defining-kbd-macro 'risky-local-variable t)
+
 (defvar minor-mode-alist nil "\
 Alist saying how to show minor modes in the mode line.
 Each element looks like (VARIABLE STRING);
@@ -653,13 +658,14 @@ Actually, STRING need not be a string; any mode-line construct is
 okay.  See `mode-line-format'.")
 ;;;###autoload
 (put 'minor-mode-alist 'risky-local-variable t)
-;; Don't use purecopy here--some people want to change these strings.
+;; Don't use purecopy here--some people want to change these strings,
+;; also string properties are lost when put into pure space.
 (setq minor-mode-alist
-      `((abbrev-mode " Abbrev")
+      '((abbrev-mode " Abbrev")
         (overwrite-mode overwrite-mode)
         (auto-fill-function " Fill")
         ;; not really a minor mode...
-        (defining-kbd-macro ,(propertize " Def" 'face 'error))))
+        (defining-kbd-macro mode-line-defining-kbd-macro)))
 
 ;; These variables are used by autoloadable packages.
 ;; They are defined here so that they do not get overridden