0. emacs -Q 1. Type `C-h o fringe-mode RET' to pop up a *Help* buffer displaying help for both the function fringe-mode and the variable fringe-mode. 2. In the *Help* buffer type `c'. => Emacs dings and displays the message "No variable or face to customize" When executing this recipe in emacs-30, after step 2 Emacs switches to a *Customize* buffer for the variable fringe-mode, which is the expected behavior after typing `c' (help-customize) in *Help*. This is broken in master. The breakage is due to this commit: commit e776df2a3eae0454ea85287e15ebba649bf8e918 Author: Dmitry Gutov Commit: Dmitry Gutov CommitDate: Sun Oct 6 04:32:00 2024 +0300 help-setup-xref: Keep the local values only of some variables * lisp/help-mode.el (help-setup-xref): Kill all local variables, saving ones that are known to need to be preserved (bug#73637). and the breakage remained after the two followup commits, which is the current code state. According to my debugging, calling help-setup-xref at the end of describe-symbol after the function definition help has been added to the *Help* buffer nullifies the property list of help-mode--current-data (this happens on evaluating `(funcall major-mode)' in help-setup-xref when the value of major-mode is 'help-mode), which renders help-customize a noop. The following patch fixes the breakage according to my brief testing, though I'm not sure it doesn't have unwanted side-effects (but at least I get the same test results on running make check with the patch as without it).