Subject: bug#1169: 23.0.60; (substitute-command-keys "\\{...}") adds extra newline

From: "Drew Adams" <[email-masked]>
Date: Tue, 29 May 2012 12:06:48 -0700

> This change breaks the highlighting code in `help-make-xrefs' which
> assumes that a list of key bindings produced by 
> substitute-command-keys
> (in `documentation') ends with an extra blank line:
> 
>     (while (re-search-forward "^key +binding\n\\(-+ +\\)-+\n\n"
>                               nil t)
>       (let ((col (- (match-end 1) (match-beginning 1))))
>         (while
>             (and (not (eobp))
>                  ;; Stop at a pair of blank lines.
>                  (not (looking-at "\n\\s-*\n")))
> 
> Example:
>    emacs -Q
>    C-h m
>    C-x o
>    M->
> 
> Note the highlighted "or"s in the last two paragraphs.

So maybe a different fix is needed.  Some fix for 1169 is needed, in any case.

But the visual change I see from a build from 2011-07-11 and a build from
2011-07-18 (and later builds) is that function names are now links (which is
generally a good thing).

Isn't that a separate thing (feature) from the fix for bug #1169?

That function-name highlighting can sometimes be "off" - highlighting the word
`or' as if it was intended as the function `or', seems a separate problem from
`substitute-command-keys' adding an extra newline char.  No?