Subject: bug#9915: 24.0.91; Info-hide-node-references does not take effect immediately

From: Juri Linkov <[email-masked]>
Date: Tue, 01 Nov 2011 11:32:35 +0200

> Use "M-x customize-variable" to customize the variable
> Info-hide-node-references to a nil value.  Then return to the *info*
> buffer.
>
> Expected result: the above line shows the full reference, as in
>
>   For information on extending Emacs, see *note Emacs Lisp: (elisp)Top.
>
> Actual result: the display does not change, until you leave this node
> and return to it, or manually invoke revert-buffer.

Is this what you want?

=== modified file 'lisp/info.el'
--- lisp/info.el	2011-10-30 14:37:48 +0000
+++ lisp/info.el	2011-11-01 09:30:42 +0000
@@ -231,6 +231,12 @@ (defcustom Info-hide-note-references t
 		 (const :tag "Replace tag and hide reference" t)
 		 (const :tag "Hide tag and reference" hide)
 		 (other :tag "Only replace tag" tag))
+  :set (lambda (sym val)
+	 (set sym val)
+	 (dolist (buffer (buffer-list))
+	   (with-current-buffer buffer
+	     (when (eq major-mode 'Info-mode)
+	       (revert-buffer t t)))))
   :group 'info)
 
 (defcustom Info-refill-paragraphs nil