Mercurial > emacs
changeset 49190:bcb627207749
(apropos-documentation-property): New function.
(apropos): Use apropos-documentation-property.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 13 Jan 2003 08:07:18 +0000 |
parents | 7739522ac6f2 |
children | 9b836b1dabe5 |
files | lisp/apropos.el |
diffstat | 1 files changed, 19 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/apropos.el Mon Jan 13 08:05:13 2003 +0000 +++ b/lisp/apropos.el Mon Jan 13 08:07:18 2003 +0000 @@ -432,6 +432,14 @@ ;;;###autoload +(defun apropos-documentation-property (symbol property raw) + "Like (documentation-property SYMBOL PROPERTY RAW) but handle errors." + (condition-case () + (let ((doc (documentation-property symbol property raw))) + (if doc (substring doc 0 (string-match "\n" doc)) + "(not documented)")) + (error "(error retrieving documentation)"))) + (defun apropos (apropos-regexp &optional do-all) "Show all bound symbols whose names match APROPOS-REGEXP. With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also @@ -463,37 +471,28 @@ (if (setq doc (condition-case nil (documentation symbol t) (void-function - "(alias for undefined function)"))) + "(alias for undefined function)") + (error + "(error retrieving function documentation"))) (substring doc 0 (string-match "\n" doc)) "(not documented)")) (when (boundp symbol) - (if (setq doc (documentation-property - symbol 'variable-documentation t)) - (substring doc 0 (string-match "\n" doc)) - "(not documented)")) + (apropos-documentation-property + symbol 'variable-documentation t)) (when (setq properties (symbol-plist symbol)) (setq doc (list (car properties))) (while (setq properties (cdr (cdr properties))) (setq doc (cons (car properties) doc))) (mapconcat #'symbol-name (nreverse doc) " ")) (when (get symbol 'widget-type) - (if (setq doc (documentation-property - symbol 'widget-documentation t)) - (substring doc 0 - (string-match "\n" doc)) - "(not documented)")) + (apropos-documentation-property + symbol 'widget-documentation t)) (when (facep symbol) - (if (setq doc (documentation-property - symbol 'face-documentation t)) - (substring doc 0 - (string-match "\n" doc)) - "(not documented)")) + (apropos-documentation-property + symbol 'face-documentation t)) (when (get symbol 'custom-group) - (if (setq doc (documentation-property - symbol 'group-documentation t)) - (substring doc 0 - (string-match "\n" doc)) - "(not documented)")))) + (apropos-documentation-property + symbol 'group-documentation t)))) (setq p (cdr p)))) (apropos-print (or do-all apropos-do-all)