Mercurial > emacs
changeset 18582:fd88d8f82bbc
(show-paren-idle-timer): New defvar.
(show-paren-mode): Add :initialize attr in the defcustom.
Test the value at end of file, and turn on the mode if true.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 04 Jul 1997 00:16:50 +0000 |
parents | 45f27efe77c7 |
children | 66e7a91e32ef |
files | lisp/paren.el |
diffstat | 1 files changed, 32 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/paren.el Fri Jul 04 00:13:36 1997 +0000 +++ b/lisp/paren.el Fri Jul 04 00:16:50 1997 +0000 @@ -40,39 +40,6 @@ ;; 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 @@ 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 @@ :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 @@ (provide 'paren) +(if show-paren-mode + (show-paren-mode t)) + ;;; paren.el ends here