emacs-diffs
[Top][All Lists]
Advanced

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

master ad6878005d: Add a basic widget type for buffer predicates


From: Lars Ingebrigtsen
Subject: master ad6878005d: Add a basic widget type for buffer predicates
Date: Sun, 4 Sep 2022 10:29:21 -0400 (EDT)

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

    Add a basic widget type for buffer predicates
    
    * lisp/paren.el (show-paren-predicate):
    * lisp/outline.el (outline-minor-mode-use-buttons): Use it.
    * lisp/wid-edit.el (buffer-predicate): New widget type.
---
 lisp/outline.el  | 3 +--
 lisp/paren.el    | 2 +-
 lisp/wid-edit.el | 9 +++++++++
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/lisp/outline.el b/lisp/outline.el
index 2e18fd5b8f..178cbe3071 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -288,8 +288,7 @@ The value should be a `buffer-match-p' condition.
 These buttons can be used to hide and show the body under the heading.
 Note that this feature is not meant to be used in editing
 buffers (yet) -- that will be amended in a future version."
-  ;; FIXME -- is there a `buffer-match-p' defcustom type somewhere?
-  :type 'sexp
+  :type 'buffer-predicate
   :safe #'booleanp
   :version "29.1")
 
diff --git a/lisp/paren.el b/lisp/paren.el
index 13e219c8f6..e2c060ceb9 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -123,7 +123,7 @@ On non-graphical frames, the context is shown in the echo 
area."
 The default is to enable the mode in all buffers that have don't
 derive from `special-mode', which means that it's on (by default)
 in all editing buffers."
-  :type 'sexp
+  :type 'buffer-predicate
   :safe #'booleanp
   :version "29.1")
 
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index ec2eb146e9..9aec6b0244 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -4145,6 +4145,15 @@ is inline."
 (define-obsolete-function-alias 'widget-visibility-value-create
   #'widget-toggle-value-create "29.1")
 
+;;; Buffer predicates.
+(define-widget 'buffer-predicate 'lazy
+  "A buffer predicate."
+  :tag "Buffer predicate"
+  :type '(choice (const :tag "All buffers" t)
+                 (const :tag "No buffers" nil)
+                 ;; FIXME: This should be expanded somehow.
+                 sexp))
+
 (provide 'wid-edit)
 
 ;;; wid-edit.el ends here



reply via email to

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