From: Eshel Yaron Date: Fri, 26 Apr 2024 09:43:29 +0000 (+0200) Subject: Refine the Custom type of generated '*-modes' options X-Git-Tag: archive/raspbian/1%30.1+1-3+rpi1^2~2^2~20^2~1760 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f5439a929106d1482b185dce5369d4748658946f;p=emacs.git Refine the Custom type of generated '*-modes' options * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Refine the Custom type of the '*-modes' option, generated when this macro is given a ':predicate' argument. (Bug#70589) --- diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index eaad9646985..ba0f8bad393 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el @@ -580,7 +580,20 @@ modes derived from `text-mode'\". An element with value t means \"use\" and nil means \"don't use\". There's an implicit nil at the end of the list." mode) - :type '(repeat sexp) + :type '(choice + (const :tag "Enable in all major modes" t) + (const :tag "Don't enable in any major mode" nil) + (repeat + :tag "Rules (earlier takes precedence)..." + (choice + (const :tag "Enable in all (other) modes" t) + (const :tag "Don't enable in any (other) mode" nil) + (symbol :value fundamental-mode + :tag "Enable in major mode") + (cons :tag "Don't enable in major modes" + (const :tag "Don't enable in..." not) + (repeat (symbol :value fundamental-mode + :tag "Major mode")))))) ,@group)) ;; Autoloading define-globalized-minor-mode autoloads everything