GNU bug report logs -
#77022
[PATCH] Allow specify in which major modes global-hl-line-mode must be enabled.
Previous Next
Full log
View this message in rfc822 format
> From: Elijah Gabe Pérez <eg642616 <at> gmail.com>
> Date: Fri, 14 Mar 2025 19:26:36 -0600
>
> El vie., 14 de marzo de 2025 7:22 p. m., Elijah Gabe Pérez <eg642616 <at> gmail.com> escribió:
>
> Hello, this patch add a user option for specify in which major modes should global-hl-line-mode be
> switched on.
>
> Originally i wanted to replace global-hl-line define-minor-mode definition with
> define-globalized-minor-mode, however i found that this was already done and was reverted in
> a34afbf2aea2fdaf691f4bf250a18991b21301d7 commit, so I decided to bring this feature, since i find
> this better than using add-hook.
Thanks.
> +*** New variable 'global-hl-line-modes'.
> +This specifies in which major modes should the global-hl-line-mode be
^^^^^^^^^^^^^^^^^^^
The mode should be quoted 'like this'.
> +(defcustom global-hl-line-modes t
> + "Which major modes `hl-line-mode' 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."
> + :type
> + '(choice (const :tag "Enable in all major modes" t)
> + (const :tag "Don't enable in any major mode" nil)
Why is it useful to have a value of nil here? Why would anyone
activate this mode when the variable has the value nil?
> @@ -224,7 +254,8 @@ global-hl-line-mode
> on `post-command-hook'."
> :global t
> :group 'hl-line
> - (if global-hl-line-mode
> + (if (and global-hl-line-mode
> + (easy-mmode--globalized-predicate-p global-hl-line-modes))
> (progn
> ;; In case `kill-all-local-variables' is called.
> (add-hook 'change-major-mode-hook #'global-hl-line-unhighlight)
Maybe I'm missing something, but don't you need to consult this new
variable in global-hl-line-highlight-all?
This bug report was last modified 61 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.