From ae0195c0432748ff17b35850c51884302050e187 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 19 Aug 2007 03:05:35 +0000 Subject: [PATCH] (eldoc-get-fnsym-args-string): Doc fix. (eldoc-highlight-function-argument): Add a doc string. Tweak previous change: no need for INDEX to be optional, just need to handle nil. --- lisp/ChangeLog | 12 ++++++------ lisp/emacs-lisp/eldoc.el | 19 +++++++++++-------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fcb95bbab93..f9689c1c7e9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -7,13 +7,13 @@ 2007-08-18 Glenn Morris - * emacs-lisp/eldoc.el (eldoc-get-fnsym-args-string): Convert - comment to basic doc string. Also apply eldoc-argument-case in - the help-split-fundoc case. Adapt for changed behavior of - eldoc-function-argstring, eldoc-function-argstring-format, and + * emacs-lisp/eldoc.el (eldoc-get-fnsym-args-string): Add doc + string. Also apply eldoc-argument-case in the help-split-fundoc + case. Adapt for changed behavior of eldoc-function-argstring, + eldoc-function-argstring-format, and eldoc-highlight-function-argument. - (eldoc-highlight-function-argument): Make INDEX argument - optional, just call eldoc-docstring-format-sym-doc if absent. + (eldoc-highlight-function-argument): Handle nil INDEX argument, + just call eldoc-docstring-format-sym-doc in that case. (eldoc-function-argstring): Change the behavior. Now it converts an argument list to a string. (eldoc-function-argstring-format): Change the behavior. Now it diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el index 19b5c325556..8b2538d299c 100644 --- a/lisp/emacs-lisp/eldoc.el +++ b/lisp/emacs-lisp/eldoc.el @@ -264,11 +264,15 @@ Emacs Lisp mode) that support Eldoc.") ;; so we need to be careful that errors aren't ignored. (error (message "eldoc error: %s" err)))) -;; FIXME improve doc-string. -(defun eldoc-get-fnsym-args-string (sym &optional argument-index) +(defun eldoc-get-fnsym-args-string (sym &optional index) "Return a string containing the parameter list of the function SYM. If SYM is a subr and no arglist is obtainable from the docstring -or elsewhere, return a 1-line docstring." +or elsewhere, return a 1-line docstring. Calls the functions +`eldoc-function-argstring-format' and +`eldoc-highlight-function-argument' to format the result. The +former calls `eldoc-argument-case'; the latter gives the +function name `font-lock-function-name-face', and optionally +highlights argument number INDEX. " (let (args doc) (cond ((not (and sym (symbolp sym) (fboundp sym)))) ((and (eq sym (aref eldoc-last-data 0)) @@ -292,12 +296,11 @@ or elsewhere, return a 1-line docstring." ;; Change case, highlight, truncate. (if args (eldoc-highlight-function-argument - ;; FIXME apply word by word, ignore &optional, &rest. - sym (eldoc-function-argstring-format args) argument-index)))) + sym (eldoc-function-argstring-format args) index)))) -;; Highlight argument INDEX in ARGS list for SYM. -;; In the absence of INDEX, just call eldoc-docstring-format-sym-doc. -(defun eldoc-highlight-function-argument (sym args &optional index) +(defun eldoc-highlight-function-argument (sym args index) + "Highlight argument INDEX in ARGS list for function SYM. +In the absence of INDEX, just call `eldoc-docstring-format-sym-doc'." (let ((start nil) (end 0) (argument-face 'bold)) -- 2.39.2