GNU bug report logs - #68200
File local byte-compile-dynamic-docstrings:nil ignored?

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Tue, 2 Jan 2024 01:54:02 UTC

Severity: normal

Found in version 30.0.50

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

Full log


Message #42 received at 68200 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: Gerd Möllmann <gerd.moellmann <at> gmail.com>, acm <at> muc.de,
 Eli Zaretskii <eliz <at> gnu.org>, 68200 <at> debbugs.gnu.org
Subject: Re: bug#68200: 30.0.50; Emacs reloads init file when calling
 `documentation'
Date: Tue, 9 Jan 2024 11:26:52 +0000
Hello, Michael.

On Tue, Jan 09, 2024 at 00:09:29 +0100, Michael Heerdegen wrote:
> Alan Mackenzie <acm <at> muc.de> writes:

> > And I'll have a look at why that variable no longer appears to be
> > working (though I have rather a lot on in the next few days).

> The let-binding of `byte-compile-output-docform' your commit adds in
> `byte-compile-output-docform' - you are aware that in my case this
> rebinds the buffer local variable before switching to a
> different buffer where this binding is not visible?

Ah.  I've always been a bit vague about mixing buffer local bindings
with let bindings.  Thanks for spotting the cause of the bug.

You've almost certainly written your own patch for it by now, but
nevertheless, could I ask you to try out this patch.  I don't have a
convenient test case here.


diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 2bc8d54ba77..ad8d53d01e9 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2605,9 +2605,10 @@ byte-compile-output-docform
 `defvaralias', `autoload' and `custom-declare-variable' need that."
   ;; We need to examine byte-compile-dynamic-docstrings
   ;; in the input buffer (now current), not in the output buffer.
-  (let ((byte-compile-dynamic-docstrings byte-compile-dynamic-docstrings))
+  (let ((dynamic-docstrings byte-compile-dynamic-docstrings))
     (with-current-buffer byte-compile--outbuffer
-      (let ((position (point))
+      (let ((byte-compile-dynamic-docstrings dynamic-docstrings)
+            (position (point))
             (print-continuous-numbering t)
             print-number-table
             ;; FIXME: The bindings below are only needed for when we're

Thanks!

> Michael.

-- 
Alan Mackenzie (Nuremberg, Germany).




This bug report was last modified 1 year and 186 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.