bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#51580: hl-line-mode doesn't override global-hl-line-mode in current


From: Gregory Heytings
Subject: bug#51580: hl-line-mode doesn't override global-hl-line-mode in current buffer
Date: Wed, 03 Nov 2021 11:42:22 +0000


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))





reply via email to

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