From 04901786943c00a9d2077d39ecbd2ac5c6f54b5f Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 27 Jun 2012 17:16:32 -0400 Subject: [PATCH] * lisp/help-mode.el (help-make-xrefs): Don't just withstand cyclic-variable-indirection but any error in documentation-property. --- lisp/ChangeLog | 3 +++ lisp/emacs-lisp/cl.el | 2 +- lisp/help-mode.el | 12 ++++++------ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1bcd9c7001e..566dad73cf0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2012-06-27 Stefan Monnier + * help-mode.el (help-make-xrefs): Don't just withstand + cyclic-variable-indirection but any error in documentation-property. + * loadup.el (purify-flag): Pre-grow the hash-table to reduce the memory use. * bindings.el (bindings--define-key): New function. diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index 0b6d9cd2223..04ff194a3bf 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el @@ -519,7 +519,7 @@ Unlike `flet', this macro is fully compliant with the Common Lisp standard. ;; Generalized variables are provided by gv.el, but some details are ;; not 100% compatible: not worth the trouble to add them to cl-lib.el, but we -;; still to support old users of cl.el. +;; still need to support old users of cl.el. ;; FIXME: `letf' is unsatisfactory because it does not really "restore" the ;; previous state. If the getter/setter loses information, that info is diff --git a/lisp/help-mode.el b/lisp/help-mode.el index 85c1e62e2c3..fa7d9b325db 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -500,14 +500,14 @@ that." ((and (or (boundp sym) (get sym 'variable-documentation)) - (or - (documentation-property - sym 'variable-documentation) - (condition-case nil + (condition-case err + (or + (documentation-property + sym 'variable-documentation) (documentation-property (indirect-variable sym) - 'variable-documentation) - (cyclic-variable-indirection nil)))) + 'variable-documentation)) + (error (message "No doc found: %S" err) nil))) (help-xref-button 8 'help-variable sym)) ((fboundp sym) (help-xref-button 8 'help-function sym))))))) -- 2.39.2