>> +(defcustom describe-bindings-after-hook '(describe-bindings-outline) >> + "Hook run at the end of `describe-bindings'." >> + :type 'hook >> + :options '(describe-bindings-outline) >> + :group 'help >> + :version "28.1") > > What's the rationale for populating the hook by default? That's not > what we normally do: hooks are for Lisp programs to use, not for the > core functionality to invoke itself. This was an attempt of generalization. >> +(defun describe-bindings-outline () >> + "Hook to enable outlines in the output buffer of `describe-bindings'." > > First, this is not a hook. > > And second, if we want a feature whereby the buffer describing > bindings could be put in Outline mode, why not offer a simple option > for users to customize, not a hook for users to tweak? Once again, > having user options that accept only function values is > user-unfriendly. Function values are user-friendly when their defcustom provides human-readable tags. But in this case it's fine to have a simple option like in this patch: