diff options
author | Dave Love <fx@gnu.org> | 2000-06-01 18:26:34 +0000 |
---|---|---|
committer | Dave Love <fx@gnu.org> | 2000-06-01 18:26:34 +0000 |
commit | 623513e3eb8ad45f7f7128ec9ee6f978164b4ac0 (patch) | |
tree | 5d0ea91e19600e45f72f6a716824538eedc35312 /lisp/hl-line.el | |
parent | decc7ef48726ae6e79dced918a48f95fd0e8b851 (diff) | |
download | emacs-623513e3eb8ad45f7f7128ec9ee6f978164b4ac0.tar.gz |
Rewritten using define-minor-mode.
Diffstat (limited to 'lisp/hl-line.el')
-rw-r--r-- | lisp/hl-line.el | 43 |
1 files changed, 13 insertions, 30 deletions
diff --git a/lisp/hl-line.el b/lisp/hl-line.el index a3fbfb8ab09..8a5d839c384 100644 --- a/lisp/hl-line.el +++ b/lisp/hl-line.el @@ -4,7 +4,7 @@ ;; Author: Dave Love <fx@gnu.org> ;; Created: 1998-09-13 -;; Keywords: faces, frames +;; Keywords: faces, frames, emulation ;; This file is part of GNU Emacs. @@ -31,8 +31,8 @@ ;; a request for a feature of Lesser Editors. ;; You probably don't really want this; if the cursor is difficult to -;; spot, try changing its colour or relying on `blink-cursor-mode' The -;; hookery involved here might slow Emacs noticeably on a slow +;; spot, try changing its colour, relying on `blink-cursor-mode' or +;; both. The hookery used might affect repsonse noticeably on a slow ;; machine. ;; An overlay is used, active only on the selected window. Hooks are @@ -51,18 +51,6 @@ :version "21.1" :group 'editing) -;;;###autoload -(defcustom hl-line-mode nil - "Toggle Hl-Line mode. -Setting this variable directly does not take effect; -use either \\[customize] or the function `hl-line-mode'." - :set (lambda (symbol value) - (hl-line-mode (or value 0))) - :initialize 'custom-initialize-default - :type 'boolean - :group 'hl-line - :require 'hl-line) - (defcustom hl-line-face 'highlight "Face with which to highlight the current line." :type 'face @@ -88,25 +76,20 @@ use either \\[customize] or the function `hl-line-mode'." (delete-overlay hl-line-overlay))) ;;;###autoload -(defun hl-line-mode (&optional arg) +(define-minor-mode hl-line-mode "Global minor mode to highlight the line about point in the current window. - With ARG, turn Hl-Line mode on if ARG is positive, off otherwise. Uses functions `hl-line-unhighlight' and `hl-line-highlight' on `pre-command-hook' and `post-command-hook'." - (interactive "P") - (setq hl-line-mode (if (null arg) - (not hl-line-mode) - (> (prefix-numeric-value arg) 0))) - (cond (hl-line-mode - (add-hook 'pre-command-hook #'hl-line-unhighlight) - (add-hook 'post-command-hook #'hl-line-highlight)) - (t - (hl-line-unhighlight) - (remove-hook 'pre-command-hook #'hl-line-unhighlight) - (remove-hook 'post-command-hook #'hl-line-highlight))) - (if (interactive-p) - (message "Hl-Line mode %sabled" (if hl-line-mode "en" "dis")))) + (global . nil) nil nil + + (if hl-line-mode + (progn + (add-hook 'pre-command-hook #'hl-line-unhighlight) + (add-hook 'post-command-hook #'hl-line-highlight)) + (hl-line-unhighlight) + (remove-hook 'pre-command-hook #'hl-line-unhighlight) + (remove-hook 'post-command-hook #'hl-line-highlight))) (provide 'hl-line) |