From 2230a6e314980bd497fb9bbb3f235b2c5d82b786 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 19 Dec 2013 09:00:55 -0500 Subject: [PATCH] * lisp/hl-line.el (hl-line-make-overlay): New fun. Set priority. (hl-line-highlight, global-hl-line-highlight): Use it. (hl-line-overlay): Use defvar-local. Fixes: debbugs:16192 --- lisp/ChangeLog | 22 ++++++++++++++-------- lisp/hl-line.el | 17 ++++++++++------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 336a7caa8ed..127ed1f2987 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,12 +1,18 @@ +2013-12-19 Stefan Monnier + + * hl-line.el (hl-line-make-overlay): New fun. Set priority (bug#16192). + (hl-line-highlight, global-hl-line-highlight): Use it. + (hl-line-overlay): Use defvar-local. + 2013-12-19 Jan Djärv * term/ns-win.el: Require dnd. (global-map): Remove drag items. (ns-insert-text, ns-set-foreground-at-mouse) - (ns-set-background-at-mouse): Remove - (ns-drag-n-drop, ns-drag-n-drop-other-frame) - (ns-drag-n-drop-as-text, ns-drag-n-drop-as-text-other-frame): New - functions. + (ns-set-background-at-mouse): + Remove (ns-drag-n-drop, ns-drag-n-drop-other-frame) + (ns-drag-n-drop-as-text, ns-drag-n-drop-as-text-other-frame): + New functions. 2013-12-19 Glenn Morris @@ -79,8 +85,8 @@ 2013-12-18 Tassilo Horn - * textmodes/reftex-vars.el (reftex-label-alist-builtin): Reference - tables with ~\ref{...} instead of only \ref{...}. + * textmodes/reftex-vars.el (reftex-label-alist-builtin): + Reference tables with ~\ref{...} instead of only \ref{...}. 2013-12-18 Chong Yidong @@ -113,8 +119,8 @@ 2013-12-18 Le Wang - * comint.el (comint-previous-matching-input-from-input): Retain - point (Bug#13404). + * comint.el (comint-previous-matching-input-from-input): + Retain point (Bug#13404). 2013-12-18 Chong Yidong diff --git a/lisp/hl-line.el b/lisp/hl-line.el index e2171a27f5c..728f505d531 100644 --- a/lisp/hl-line.el +++ b/lisp/hl-line.el @@ -1,4 +1,4 @@ -;;; hl-line.el --- highlight the current line +;;; hl-line.el --- highlight the current line -*- lexical-binding:t -*- ;; Copyright (C) 1998, 2000-2013 Free Software Foundation, Inc. @@ -61,9 +61,8 @@ ;;; Code: -(defvar hl-line-overlay nil +(defvar-local hl-line-overlay nil "Overlay used by Hl-Line mode to highlight the current line.") -(make-variable-buffer-local 'hl-line-overlay) (defvar global-hl-line-overlay nil "Overlay used by Global-Hl-Line mode to highlight the current line.") @@ -155,13 +154,18 @@ addition to `hl-line-highlight' on `post-command-hook'." (remove-hook 'change-major-mode-hook #'hl-line-unhighlight t) (remove-hook 'pre-command-hook #'hl-line-unhighlight t))) +(defun hl-line-make-overlay () + (let ((ol (make-overlay (point) (point)))) + (overlay-put ol 'priority -50) ;(bug#16192) + (overlay-put ol 'face hl-line-face) + ol)) + (defun hl-line-highlight () "Activate the Hl-Line overlay on the current line." (if hl-line-mode ; Might be changed outside the mode function. (progn (unless hl-line-overlay - (setq hl-line-overlay (make-overlay 1 1)) ; to be moved - (overlay-put hl-line-overlay 'face hl-line-face)) + (setq hl-line-overlay (hl-line-make-overlay))) ; To be moved. (overlay-put hl-line-overlay 'window (unless hl-line-sticky-flag (selected-window))) (hl-line-move hl-line-overlay)) @@ -200,8 +204,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and (when global-hl-line-mode ; Might be changed outside the mode function. (unless (window-minibuffer-p) (unless global-hl-line-overlay - (setq global-hl-line-overlay (make-overlay 1 1)) ; to be moved - (overlay-put global-hl-line-overlay 'face hl-line-face)) + (setq global-hl-line-overlay (hl-line-make-overlay))) ; To be moved. (overlay-put global-hl-line-overlay 'window (unless global-hl-line-sticky-flag (selected-window))) -- 2.39.5