[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to
From: |
Eli Zaretskii |
Subject: |
bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled |
Date: |
Sat, 17 Jun 2023 10:46:05 +0300 |
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, 64048@debbugs.gnu.org
> Date: Wed, 14 Jun 2023 12:48:54 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Let me correct my initial suggestion:
> >>
> >> (define-globalized-minor-mode global-display-line-numbers-mode
> >> display-line-numbers-mode display-line-numbers--turn-on
> >> :predicate t)
> >
> > This change is probably harmless, but OTOH what does it give you that
> > the current code doesn't? AFAIU, you still cannot customize the modes
> > where line numbers will be off.
> >
> > IOW, :predicate is not a means for user customizations of the modes
> > where the minor mode will be turned on. Or am I missing something?
>
> >> :predicate defines the default value of
> >> `global-display-line-numbers-modes' variable.
> >
> > It does? Where is this documented?
>
> Yup. It is not documented on API level, but when :predicate is non-nil,
> `define-globalized-minor-mode' does the following:
>
> (setq turn-on-function
> `(lambda ()
> (require 'easy-mmode)
> (when (easy-mmode--globalized-predicate-p ,MODE-predicate)
> (funcall ,turn-on-function))))
>
> ;; Minor mode docstring:
> (if predicate
> (concat
> "\n\n"
> (internal--format-docstring-line
> "`%s' is used to control which modes this minor mode is used in."
> MODE-predicate)) ;; <global-mode-name>-modes
> "")
>
> ,(when predicate
> `(defcustom ,MODE-predicate ,(car predicate)
> ,(format "Which major modes `%s' is switched on in.
> This variable can be either t (all major modes), nil (no major modes),
> or a list of modes and (not modes) to switch use this minor mode or
> not. For instance
>
> (c-mode (not message-mode mail-mode) text-mode)
>
> means \"use this mode in all modes derived from `c-mode', don't use in
> modes derived from `message-mode' or `mail-mode', but do use in other
> 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)
> ,@group))
Stefan, is our current documentation of :predicate incomplete?
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Ihor Radchenko, 2023/06/13
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Eli Zaretskii, 2023/06/13
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Ihor Radchenko, 2023/06/13
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Eli Zaretskii, 2023/06/13
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Ihor Radchenko, 2023/06/13
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Eli Zaretskii, 2023/06/13
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Ihor Radchenko, 2023/06/13
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Eli Zaretskii, 2023/06/14
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Ihor Radchenko, 2023/06/14
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled,
Eli Zaretskii <=
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Stefan Monnier, 2023/06/17
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Eli Zaretskii, 2023/06/17
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Ihor Radchenko, 2023/06/17
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Ihor Radchenko, 2023/06/17
- bug#64048: 30.0.50; global-display-line-numbers-mode has no easy way to set modes where it is enabled, Stefan Monnier, 2023/06/17