]> code.delx.au - gnu-emacs/blobdiff - lisp/apropos.el
(diary-entry-marker, calendar-today-marker)
[gnu-emacs] / lisp / apropos.el
index 0f00d2d36171a2c5cdee74db47b32e10b26e42fc..7a427b0c6f18d725ddd0487637a090918e00ebb4 100644 (file)
@@ -1,7 +1,7 @@
 ;;; apropos.el --- apropos commands for users and programmers
 
 ;; Copyright (C) 1989, 1994, 1995, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;;   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
 ;; Author: Joe Wells <jbw@bigbird.bu.edu>
 ;; Rewritten: Daniel Pfeiffer <occitan@esperanto.org>
@@ -112,7 +112,7 @@ If value is `verbose', the computed score is shown for each match."
                 (const :tag "show scores" verbose)))
 
 (defcustom apropos-documentation-sort-by-scores t
-  "*Non-nil means sort matches by scores; best match is shown first.
+  "Non-nil means sort matches by scores; best match is shown first.
 This applies to `apropos-documentation' only.
 If value is `verbose', the computed score is shown for each match."
   :group 'apropos
@@ -489,8 +489,12 @@ while a list of strings is used as a word list."
                   (setq score (apropos-score-symbol symbol))
                   (unless var-predicate
                     (if (fboundp symbol)
-                        (if (setq doc (documentation symbol t))
-                            (progn
+                        (if (setq doc (condition-case nil
+                                           (documentation symbol t)
+                                         (error 'error)))
+                             ;; Eg alias to undefined function.
+                             (if (eq doc 'error)
+                                 "(documentation error)"
                               (setq score (+ score (apropos-score-doc doc)))
                               (substring doc 0 (string-match "\n" doc)))
                           "(not documented)")))
@@ -1078,8 +1082,8 @@ If non-nil TEXT is a string that will be printed as a heading."
         'face 'default 'apropos-symbol (car apropos-item))
       (insert-text-button
        (if apropos-compact-layout
-           (button-type-get type 'apropos-label)
-         (format "<%s>" (button-type-get type 'apropos-short-label)))
+           (format "<%s>" (button-type-get type 'apropos-short-label))
+         (button-type-get type 'apropos-label))
        'type type
        ;; Can't use the default button face, since user may have changed the
        ;; variable!  Just say `no' to variables containing faces!