From 787030b0212d5933c3e4a16ece60b4e2ba8caea4 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sun, 26 Dec 2021 00:45:50 +0100 Subject: read-multiple-choice: Add face when key not in name string * lisp/emacs-lisp/rmc.el (rmc--add-key-description): Add face property also when key is not in the name string. * test/lisp/emacs-lisp/rmc-tests.el (test-rmc--add-key-description/with-attributes) (test-rmc--add-key-description/non-graphical-display): Update tests. --- lisp/emacs-lisp/rmc.el | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'lisp/emacs-lisp') diff --git a/lisp/emacs-lisp/rmc.el b/lisp/emacs-lisp/rmc.el index 2f4b10efbbd..6264220cd09 100644 --- a/lisp/emacs-lisp/rmc.el +++ b/lisp/emacs-lisp/rmc.el @@ -28,15 +28,22 @@ (defun rmc--add-key-description (elem) (let* ((name (cadr elem)) (pos (seq-position name (car elem))) + (graphical-terminal + (display-supports-face-attributes-p + '(:underline t) (window-frame))) (altered-name (cond ;; Not in the name string. ((not pos) - (format "[%c] %s" (car elem) name)) + (let ((ch (char-to-string (car elem)))) + (format "[%s] %s" + (if graphical-terminal + (propertize ch 'face 'read-multiple-choice-face) + ch) + name))) ;; The prompt character is in the name, so highlight ;; it on graphical terminals. - ((display-supports-face-attributes-p - '(:underline t) (window-frame)) + (graphical-terminal (setq name (copy-sequence name)) (put-text-property pos (1+ pos) 'face 'read-multiple-choice-face -- cgit v1.2.1