Mercurial > emacs
changeset 31976:236a7f6d898d
(show-paren-mode): Use define-minor-mode.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 29 Sep 2000 03:11:01 +0000 |
parents | 8325ae2bc1e4 |
children | 2f79c1ebd1fe |
files | lisp/paren.el |
diffstat | 1 files changed, 5 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/paren.el Fri Sep 29 02:38:03 2000 +0000 +++ b/lisp/paren.el Fri Sep 29 03:11:01 2000 +0000 @@ -40,20 +40,6 @@ ;; This is the overlay used to highlight the closeparen right before point. (defvar show-paren-overlay-1 nil) -;;;###autoload -(defcustom show-paren-mode nil - "*Toggle Show Paren mode. -When Show Paren mode is enabled, any matching parenthesis is highlighted -after `show-paren-delay' seconds of Emacs idle time. -Setting this variable directly does not take effect; -use either \\[customize] or the function `show-paren-mode'." - :set (lambda (symbol value) - (show-paren-mode (or value 0))) - :initialize 'custom-initialize-default - :type 'boolean - :group 'paren-showing - :require 'paren) - (defcustom show-paren-style 'parenthesis "*Style used when showing a matching paren. Valid styles are `parenthesis' (meaning show the matching paren), @@ -98,24 +84,20 @@ (defvar show-paren-idle-timer nil) ;;;###autoload -(defun show-paren-mode (&optional arg) +(define-minor-mode show-paren-mode "Toggle Show Paren mode. With prefix ARG, turn Show Paren mode on if and only if ARG is positive. Returns the new status of Show Paren mode (non-nil means on). When Show Paren mode is enabled, any matching parenthesis is highlighted in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time." - (interactive "P") - (let ((on-p (if arg - (> (prefix-numeric-value arg) 0) - (not show-paren-mode)))) - (setq show-paren-mode on-p) + nil nil nil :global t :group 'paren-showing ;; Turn off the usual paren-matching method ;; when this one is turned on. (if (local-variable-p 'show-paren-mode) (make-local-variable 'blink-matching-paren-on-screen) (kill-local-variable 'blink-matching-paren-on-screen)) - (setq blink-matching-paren-on-screen (not on-p)) + (setq blink-matching-paren-on-screen (not show-paren-mode)) ;; Now enable or disable the mechanism. ;; First get rid of the old idle timer. @@ -131,13 +113,13 @@ (setq show-paren-idle-timer (run-with-idle-timer show-paren-delay t 'show-paren-function))) - (unless on-p + (unless show-paren-mode (and show-paren-overlay (eq (overlay-buffer show-paren-overlay) (current-buffer)) (delete-overlay show-paren-overlay)) (and show-paren-overlay-1 (eq (overlay-buffer show-paren-overlay-1) (current-buffer)) - (delete-overlay show-paren-overlay-1))))) + (delete-overlay show-paren-overlay-1)))) ;; Find the place to show, if there is one, ;; and show it until input arrives. @@ -244,7 +226,4 @@ (provide 'paren) -(if show-paren-mode - (show-paren-mode t)) - ;;; paren.el ends here