*** empty log message ***
[bpt/emacs.git] / lisp / help-at-pt.el
index 67a0af2..00c62ab 100644 (file)
@@ -1,6 +1,6 @@
 ;;; help-at-pt.el --- local help through the keyboard
 
-;; Copyright (C) 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 
 ;; Author: Luc Teirlinck <teirllm@auburn.edu>
 ;; Keywords: help
 ;; previous region with available local help and print the help found
 ;; there.
 ;;
+;; Suggested key bindings:
+;;
+;; (global-set-key [C-tab] 'scan-buf-next-region)
+;; (global-set-key [C-M-tab] 'scan-buf-previous-region)
+;;
 ;; You do not have to do anything special to use the functionality
 ;; provided by this file, because all important functions autoload.
 
@@ -48,7 +53,7 @@
 (defgroup help-at-pt nil
   "Features for displaying local help."
   :group 'help
-  :version "21.4")
+  :version "22.1")
 
 ;;;###autoload
 (defun help-at-pt-string (&optional kbd)
@@ -93,6 +98,13 @@ mainly meant for use from Lisp."
        (message "%s" help)
       (if (not arg) (message "No local help at point")))))
 
+(defvar help-at-pt-timer nil
+  "Non-nil means that a timer is set that checks for local help.
+If non-nil, this is the value returned by the call of
+`run-with-idle-timer' that set that timer.  This variable is used
+internally to enable `help-at-pt-display-when-idle'.  Do not set it
+yourself.")
+
 (defcustom help-at-pt-timer-delay 1
   "*Delay before displaying local help.
 This is used if `help-at-pt-display-when-idle' is enabled.
@@ -107,17 +119,12 @@ active, but if one is already active, Custom will make it use the
 new value."
   :group 'help-at-pt
   :type 'number
+  :initialize 'custom-initialize-default
   :set (lambda (variable value)
         (set-default variable value)
-        (when (and (boundp 'help-at-pt-timer) help-at-pt-timer)
-          (timer-set-idle-time help-at-pt-timer value t))))
-
-(defvar help-at-pt-timer nil
-  "Non-nil means that a timer is set that checks for local help.
-If non-nil, this is the value returned by the call of
-`run-with-idle-timer' that set that timer.  This variable is used
-internally to enable `help-at-pt-display-when-idle'.  Do not set it
-yourself.")
+        (and (boundp 'help-at-pt-timer)
+             help-at-pt-timer
+             (timer-set-idle-time help-at-pt-timer value t))))
 
 ;;;###autoload
 (defun help-at-pt-cancel-timer ()
@@ -343,13 +350,7 @@ different regions.  With numeric argument ARG, behaves like
   (interactive "p")
   (scan-buf-move-to-region 'help-echo (- arg) 'scan-buf-move-hook))
 
-(defvar help-at-pt-unload-hook '(help-at-pt-cancel-timer)
-  "Normal hook run when `help-at-pt' is unloaded.")
-
-;; Suggested key bindings:
-;;
-;; (global-set-key [C-tab] 'scan-buf-next-region)
-;; (global-set-key [C-M-tab] 'scan-buf-previous-region)
+(add-hook 'help-at-pt-unload-hook 'help-at-pt-cancel-timer)
 
 (provide 'help-at-pt)