From 61e9463113dbdf70d6189ba7e3a5494a05e7e0ea Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Wed, 9 Oct 2024 04:03:51 +0300 Subject: [PATCH] help-setup-xref: Fix the previous changes * lisp/help-mode.el (help-setup-xref): Instead of killing all local variables directly, call the current major mode function, to preserve its own locals while dropping the rest (bug#73637). (cherry picked from commit ef87ce0ffae95de61e1c34ed27ff22c1051769e8) --- lisp/help-mode.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index ff32af9f344..8f69b0602a2 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -510,7 +510,8 @@ This should be called very early, before the output buffer is cleared, because we want to record the \"previous\" position of point so we can restore it properly when going back." (with-current-buffer (help-buffer) - (kill-all-local-variables) + ;; Re-enable major mode, killing all unrelated local vars. + (funcall major-mode) (when help-xref-stack-item (push (cons (point) help-xref-stack-item) help-xref-stack) (setq help-xref-forward-stack nil)) -- 2.39.5