Subject: bug#36670: 27.0.50; Wishlist: describe-face should use the new help-buffer infrastructure

From: Eli Zaretskii <[email-masked]>
Date: Sat, 21 Sep 2019 11:22:33 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked]
> Date: Sat, 21 Sep 2019 09:44:51 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > What does this mean in practice?  I see nothing about this in NEWS or
> > in the manuals, which makes me wonder how is this "more flexible".  I
> > guess there were some discussions, but neither the log message nor the
> > bug discussion mentions any other sources of information.  Could you
> > please point to those discussions, or fill the void by explaining what
> > additional flexibility do we gain?  This is for future forensics, if
> > for nothing else.
> 
> I don't think this was discussed much at all -- it relates to the
> rewrite Stefan did in April, and he mentioned (in a comment to a fix to
> `describe-face') that that function should be rewritten in a similar way.
> 
> commit 896e5802160c2797e689a7565599ebb1bd171295
> Author: Stefan Monnier <[email-masked]>
> Date:   Fri Apr 12 12:37:00 2019 -0400
> 
>     * lisp/help-fns.el (help-fns-describe-variable-functions): New hook
>     
>     (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete)
>     (help-fns--interactive-only): Indent output by 2 spaces.
>     (help-fns--side-effects): New function extracted from
>     describe-function-1.
>     (help-fns-describe-function-functions): Use it.
>     (help-fns--first-release, help-fns--mention-first-release): New functions.
>     (help-fns-function-description-header): Keymaps and macros can't
>     be interactive.
>     (help-fns--ensure-empty-line): New function.
>     (describe-function-1): Use it.
>     (help-fns--var-safe-local, help-fns--var-risky)
>     (help-fns--var-ignored-local, help-fns--var-file-local)
>     (help-fns--var-watchpoints, help-fns--var-obsolete)
>     (help-fns--var-alias, help-fns--var-bufferlocal): New functions,
>     extacted from describe-variable.
>     (describe-variable): Run help-fns-describe-variable-functions instead.

So we are making changes without a good understanding what kind of
flexibility it gains us?