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