]> git.eshelyaron.com Git - emacs.git/commitdiff
(show-paren-idle-timer): New defvar.
authorRichard M. Stallman <rms@gnu.org>
Fri, 4 Jul 1997 00:16:50 +0000 (00:16 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 4 Jul 1997 00:16:50 +0000 (00:16 +0000)
(show-paren-mode): Add :initialize attr in the defcustom.
Test the value at end of file, and turn on the mode if true.

lisp/paren.el

index 893407b96c159a9d1439ed3c39fac01902b93f03..859049d6183faebe710b1cd650705be492159efb 100644 (file)
 ;; This is the overlay used to highlight the closeparen right before point.
 (defvar show-paren-overlay-1 nil)
 
-(defvar show-paren-idle-timer nil)
-
-(defvar show-paren-mode)  ;; Real definition comes later.
-
-;;;###autoload
-(defun show-paren-mode (&optional arg)
-  "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")
-  (when window-system
-    (let ((on-p (if arg
-                   (> (prefix-numeric-value arg) 0)
-                 (not show-paren-mode))))
-      (setq blink-matching-paren-on-screen (not on-p))
-      (when show-paren-idle-timer
-       (cancel-timer show-paren-idle-timer))
-      (if on-p
-         (setq show-paren-idle-timer (run-with-idle-timer
-                                      show-paren-delay t
-                                      'show-paren-function))
-       (and show-paren-overlay (overlay-buffer show-paren-overlay)
-            (delete-overlay show-paren-overlay))
-       (and show-paren-overlay-1 (overlay-buffer show-paren-overlay-1)
-            (delete-overlay show-paren-overlay-1)))
-      (setq show-paren-mode on-p))))
-
-;; Naughty hack.  This variable was originally a `defvar' to keep track of
-;; whether Show Paren mode was turned on or not.  As a `defcustom' with
-;; special `:set' and `:require' forms, we can provide custom mode control.
 (defcustom show-paren-mode nil
   "Toggle Show Paren mode.
 When Show Paren mode is enabled, any matching parenthesis is highlighted
@@ -80,6 +47,7 @@ after `show-paren-delay' seconds of Emacs idle time.
 You must modify via \\[customize] for this variable to have an effect."
   :set (lambda (symbol value)
         (show-paren-mode (or value 0)))
+  :initialize 'custom-initialize-default
   :type 'boolean
   :group 'paren-showing
   :require 'paren)
@@ -114,6 +82,34 @@ otherwise)."
   :group 'faces
   :group 'paren-showing)
 
+(defvar show-paren-idle-timer nil)
+
+;;;###autoload
+(defun show-paren-mode (&optional arg)
+  "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")
+  (when window-system
+    (let ((on-p (if arg
+                   (> (prefix-numeric-value arg) 0)
+                 (not show-paren-mode))))
+      (setq blink-matching-paren-on-screen (not on-p))
+      (when show-paren-idle-timer
+       (cancel-timer show-paren-idle-timer))
+      (if on-p
+         (setq show-paren-idle-timer (run-with-idle-timer
+                                      show-paren-delay t
+                                      'show-paren-function))
+       (and show-paren-overlay (overlay-buffer show-paren-overlay)
+            (delete-overlay show-paren-overlay))
+       (and show-paren-overlay-1 (overlay-buffer show-paren-overlay-1)
+            (delete-overlay show-paren-overlay-1)))
+      (setq show-paren-mode on-p))))
+
 ;; Find the place to show, if there is one,
 ;; and show it until input arrives.
 (defun show-paren-function ()
@@ -212,4 +208,7 @@ otherwise)."
 
 (provide 'paren)
 
+(if show-paren-mode
+    (show-paren-mode t))
+
 ;;; paren.el ends here