]> git.eshelyaron.com Git - emacs.git/commitdiff
* emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): Refactor
authorLeo Liu <sdl.web@gmail.com>
Mon, 31 Mar 2014 01:31:17 +0000 (09:31 +0800)
committerLeo Liu <sdl.web@gmail.com>
Mon, 31 Mar 2014 01:31:17 +0000 (09:31 +0800)
out eldoc-documentation-function-default.
(eldoc-documentation-function-default): New function.
(eldoc-documentation-function): Change value.

lisp/ChangeLog
lisp/emacs-lisp/eldoc.el

index aae850d47a0ad140473287968f682098270640aa..52a974fa21e2334e49f678e71a0af56fc2250233 100644 (file)
@@ -1,3 +1,10 @@
+2014-03-31  Leo Liu  <sdl.web@gmail.com>
+
+       * emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): Refactor
+       out eldoc-documentation-function-default.
+       (eldoc-documentation-function-default): New function.
+       (eldoc-documentation-function): Change value.
+
 2014-03-31  Glenn Morris  <rgm@gnu.org>
 
        * simple.el (cycle-spacing--context, cycle-spacing): Doc tweaks.
index c64ec52decb5341c0cb9aa2abe186ea14112ff66..7102b5549eb52201476e34f3db316af3c56a8127 100644 (file)
@@ -298,8 +298,8 @@ Otherwise work like `message'."
 
 \f
 ;;;###autoload
-(defvar eldoc-documentation-function nil
-  "If non-nil, function to call to return doc string.
+(defvar eldoc-documentation-function #'eldoc-documentation-function-default
+  "Function to call to return doc string.
 The function of no args should return a one-line string for displaying
 doc about a function etc. appropriate to the context around point.
 It should return nil if there's no doc appropriate for the context.
@@ -323,22 +323,20 @@ Emacs Lisp mode) that support ElDoc.")
              (when eldoc-last-message
                (eldoc-message nil)
                nil))
-        (if eldoc-documentation-function
-            (eldoc-message (funcall eldoc-documentation-function))
-          (let* ((current-symbol (eldoc-current-symbol))
-                 (current-fnsym  (eldoc-fnsym-in-current-sexp))
-                 (doc (cond
-                       ((null current-fnsym)
-                        nil)
-                       ((eq current-symbol (car current-fnsym))
-                        (or (apply 'eldoc-get-fnsym-args-string
-                                   current-fnsym)
-                            (eldoc-get-var-docstring current-symbol)))
-                       (t
-                        (or (eldoc-get-var-docstring current-symbol)
-                            (apply 'eldoc-get-fnsym-args-string
-                                   current-fnsym))))))
-            (eldoc-message doc))))))
+        (eldoc-message (funcall eldoc-documentation-function)))))
+
+(defun eldoc-documentation-function-default ()
+  "Default value for `eldoc-documentation-function' (which see)."
+  (let ((current-symbol (eldoc-current-symbol))
+       (current-fnsym  (eldoc-fnsym-in-current-sexp)))
+    (cond ((null current-fnsym)
+          nil)
+         ((eq current-symbol (car current-fnsym))
+          (or (apply #'eldoc-get-fnsym-args-string current-fnsym)
+              (eldoc-get-var-docstring current-symbol)))
+         (t
+          (or (eldoc-get-var-docstring current-symbol)
+              (apply #'eldoc-get-fnsym-args-string current-fnsym))))))
 
 (defun eldoc-get-fnsym-args-string (sym &optional index)
   "Return a string containing the parameter list of the function SYM.