I have (setq global-hl-line-sticky-flag t) to enable hl-line in all windows. However, the highlighted line isn't updated when I change the cursor position in inactive window (e.g., by calling next-error to go to next error in the compilation buffer).

  • I have some custom functions that I run at the tail end of compilation-goto-locus. It was several years ago that I added them, but I would imagine that I looked for hooks and thought that my solution was better. You may wish to take a look at where compilation-goto-locus is called in the chain of events and decide whether that would be an appropriate place for you to force the update of highlighting that particular line. Since it would be tail end of compilation-goto-locus that I am suggesting, an advice would be doable.
    – lawlist
    Nov 30, 2017 at 2:35
  • If you have not already done so, it would be helpful to read the doc-string for the variables next-error-highlight and next-error-highlight-no-select. You may wish to disable hl-line-mode when jumping to next-error and use the built-in methods of the compile library to highlight or create a fringe arrow indicator in the source buffer.
    – lawlist
    Nov 30, 2017 at 3:05
  • I am having the same issue when using GUD for debugging. I want the current line in the disassembler window to be highlighted when I "step instruction." Right now the cursor moves automatically, but hl-line does not highlight the line where the cursor moved.
    – nispio
    Oct 16, 2018 at 16:01
  • 1
    I arrived at the following solution for the GUD disassembly window: emacs.stackexchange.com/a/45412/93. It involves advising one of the gdb functions and explicitly invoking hl-line-highlight. Not sure whether this is viable in your case or not.
    – nispio
    Oct 16, 2018 at 22:53


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.