bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: eldoc doc


From: Stefan Monnier
Subject: Re: eldoc doc
Date: 15 Nov 2001 11:14:42 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1.50

>>>>> "Alex" == Alex Schroeder <address@hidden> writes:
> The function eldoc-mode has a doc string which should be rewritten
> such that it takes advantage of the automatic linking in *Help*
> buffers.  Furthermore, the PREFIX argument should use the same text as
> all the other minor modes.

I have a pending patch for eldoc-mode that makes it use
define-minor-mode.  How about it ?


        Stefan


Index: eldoc.el
===================================================================
RCS file: /cvs/emacs/lisp/emacs-lisp/eldoc.el,v
retrieving revision 1.18
diff -u -u -b -r1.18 eldoc.el
--- eldoc.el    2000/12/02 20:10:49     1.18
+++ eldoc.el    2001/11/15 16:14:25
@@ -59,24 +59,6 @@
   :group 'lisp
   :group 'extensions)
 
-;;;###autoload
-(defcustom eldoc-mode nil
-  "*If non-nil, show the defined parameters for the elisp function near point.
-
-For the emacs lisp function at the beginning of the sexp which point is
-within, show the defined parameters for the function in the echo area.
-This information is extracted directly from the function or macro if it is
-in pure lisp.  If the emacs function is a subr, the parameters are obtained
-from the documentation string if possible.
-
-If point is over a documented variable, print that variable's docstring
-instead.
-
-This variable is buffer-local."
-  :type 'boolean
-  :group 'eldoc)
-(make-variable-buffer-local 'eldoc-mode)
-
 (defcustom eldoc-idle-delay 0.50
   "*Number of seconds of idle time to wait before printing.
 If user input arrives before this interval of time has elapsed after the
@@ -167,28 +149,24 @@
 ;; idle time delay currently in use by timer.
 ;; This is used to determine if eldoc-idle-delay is changed by the user.
 (defvar eldoc-current-idle-delay eldoc-idle-delay)
+
 
-;; Put minor mode string on the global minor-mode-alist.
 ;;;###autoload
-(cond ((fboundp 'add-minor-mode)
-       (add-minor-mode 'eldoc-mode 'eldoc-minor-mode-string))
-      ((assq 'eldoc-mode (default-value 'minor-mode-alist)))
-      (t
-       (setq-default minor-mode-alist
-                     (append (default-value 'minor-mode-alist)
-                             '((eldoc-mode eldoc-minor-mode-string))))))
+(define-minor-mode eldoc-mode
+  "Toggle ElDoc mode.
+Show the defined parameters for the elisp function near point.
+
+For the emacs lisp function at the beginning of the sexp which point is
+within, show the defined parameters for the function in the echo area.
+This information is extracted directly from the function or macro if it is
+in pure lisp.  If the emacs function is a subr, the parameters are obtained
+from the documentation string if possible.
 
+If point is over a documented variable, print that variable's docstring
+instead.
 
-;;;###autoload
-(defun eldoc-mode (&optional prefix)
-  "*Enable or disable eldoc mode.
-See documentation for the variable of the same name for more details.
-
-If called interactively with no prefix argument, toggle current condition
-of the mode.
-If called with a positive or negative prefix argument, enable or disable
-the mode, respectively."
-  (interactive "P")
+With arg, turn ElDoc mode on if and only if arg is positive."
+  nil eldoc-minor-mode-string nil
   (setq eldoc-last-message nil)
   (cond (eldoc-use-idle-timer-p
          (add-hook 'post-command-hook 'eldoc-schedule-timer)
@@ -205,15 +183,7 @@
          ;; quick and dirty hack for seeing if this is XEmacs
          (and (fboundp 'display-message)
               (add-hook 'pre-command-hook
-                        'eldoc-pre-command-refresh-echo-area t t))))
-  (setq eldoc-mode (if prefix
-                       (>= (prefix-numeric-value prefix) 0)
-                     (not eldoc-mode)))
-  (and (interactive-p)
-       (if eldoc-mode
-           (message "eldoc-mode is enabled")
-         (message "eldoc-mode is disabled")))
-  eldoc-mode)
+                        'eldoc-pre-command-refresh-echo-area t t)))))
 
 ;;;###autoload
 (defun turn-on-eldoc-mode ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]