Subject: Re: bug#78905: 31.0.50; Extra dot in C-h k output

From: Stephen Berman <[email-masked]>
Date: Thu, 26 Jun 2025 12:54:37 +0200

On Thu, 26 Jun 2025 11:51:45 +0200 Eshel Yaron via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <[email-masked]> wrote:

> Hi,
>
> On the current master, I see:
>
> 1. emacs -Q
> 2. C-x C-j
> 3. C-h k d
>
> This produces a *Help* buffer saying:
>
>   d runs the command dired-flag-file-deletion (found in dired-mode-map),
>   which is an interactive byte-code-function in ‘dired.el’.
>
>   It is bound to d.
>   .
>
>   (dired-flag-file-deletion ARG &optional INTERACTIVE)
>   ...
>
>
> Note the extra, unexpected dot and newline after "It is bound to d."

This is due to this commit:

commit ebeeced9e3ca94bbb679730155a2582bc12f8ea7
Author:     Eli Zaretskii <[email-masked]>
Commit:     Eli Zaretskii <[email-masked]>
CommitDate: Tue May 13 18:50:31 2025 +0300

    Fix description of a remapped command's bindings
    
    * lisp/help-fns.el (help-fns--key-bindings): Qualify the
    description of any menu-bar bindings by remapping.  (Bug#78391)

The following patch is a possible fix (at least, it prevents the extra
dot in the above recipe):

diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 481360b5d3c..81ca89ea0ac 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -632,7 +632,7 @@ help-fns--key-bindings
                              (format-message "`%s'" remapped)
 		           "an anonymous command"))
                   (princ "as well.\n"))
-                (or remapped (princ "."))
+                (or remapped (unless (bolp) (princ ".")))
                 (fill-region-as-paragraph start (point))))
             (ensure-empty-lines)))))))

Steve Berman