GNU bug report logs -
#51580
hl-line-mode doesn't override global-hl-line-mode in current buffer
Previous Next
Reported by: Stefan Kangas <stefan <at> marxist.se>
Date: Wed, 3 Nov 2021 06:48:01 UTC
Severity: normal
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>>> It seems like there is currently no way to use `global-hl-line-mode'
>>> while disabling it for individual buffers.
>>
>> There is one: (setq-local global-hl-line-mode nil).
>
> Here, that leaves an overlay in the buffer. Does it not do that for
> you?
>
> [You didn't quote it, but I wrote "(setq-default global-hl-line-mode
> nil)" in the bug report. That was a typo. I meant to write
> "(setq-local global-hl-line-mode nil)".]
>
Oh, now I see what you mean. Indeed I had seen your setq-default, but did
not guess it meant setq-local. Indeed, M-: (setq-local
global-hl-line-mode nil) leaves an overlay in the buffer. I use this in
buffer setup hooks, so the overlay is not created. If you want to remove
that overlay, you also need to call global-hl-line-unhighlight:
(defun buffer-deactivate-global-hl-line-mode ()
(interactive)
(global-hl-line-unhighlight)
(setq-local global-hl-line-mode nil))
This bug report was last modified 2 years and 245 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.