emacs-diffs
[Top][All Lists]
Advanced

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

master 7d429d7: Add a link to inherited faces in Customize


From: Lars Ingebrigtsen
Subject: master 7d429d7: Add a link to inherited faces in Customize
Date: Tue, 27 Oct 2020 06:32:23 -0400 (EDT)

branch: master
commit 7d429d7ef0dc864ddb869593d4938926248624a8
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Add a link to inherited faces in Customize
    
    * lisp/cus-edit.el (cus--face-link): New function (bug#44154).
    (face): Use the function to format the link.
---
 lisp/cus-edit.el | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 85c197b..ed0117e 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -3739,6 +3739,15 @@ the present value is saved to its :shown-value property 
instead."
           (widget-put widget :children children)
          (custom-face-state-set widget))))))
 
+(defun cus--face-link (widget _format)
+  (let ((face (intern (widget-get widget :value))))
+    (widget-create-child-and-convert
+     widget 'face-link
+     :button-face 'link
+     :tag "link"
+     :action (lambda (&rest _x)
+               (customize-face face)))))
+
 (defvar custom-face-menu nil
   "If non-nil, an alist of actions for the `custom-face' widget.
 
@@ -4008,7 +4017,7 @@ restoring it to the state of a face that has never been 
customized."
 
 (define-widget 'face 'symbol
   "A Lisp face name (with sample)."
-  :format "%{%t%}: (%{sample%}) %v"
+  :format "%f %{%t%}: (%{sample%}) %v"
   :tag "Face"
   :value 'default
   :sample-face-get 'widget-face-sample-face-get
@@ -4018,6 +4027,7 @@ restoring it to the state of a face that has never been 
customized."
                                 obarray #'facep 'strict)
   :prompt-match 'facep
   :prompt-history 'widget-face-prompt-value-history
+  :format-handler 'cus--face-link
   :validate (lambda (widget)
              (unless (facep (widget-value widget))
                (widget-put widget



reply via email to

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