Subject: Re: bug#6192: 24.0.50; eldoc-mode: unexpected recentering

From: Stephen Berman <[email-masked]>
Date: Sat, 15 May 2010 19:25:52 +0200

On Sat, 15 May 2010 19:44:38 +0300 Eli Zaretskii <[email-masked]> wrote:

>> From: Stephen Berman <[email-masked]>
>> Cc: [email-masked]
>> Date: Sat, 15 May 2010 17:40:02 +0200
>> 
>> > When that happens, do you see any message in *Messages* besides the
>> > one displayed in the echo area?
>> 
>> Nothing in *Messages* (not even the Eldoc message -- it is deliberately
>> suppressed by eldoc-message).
>
> Can you hack eldoc to un-suppress that, and then see?

I did, and the message after one M-v and recentering is this:

let: (VARLIST BODY...) [2 times]

[...]
>> Result: #("let: (VARLIST BODY...)" 0 3 (face font-lock-function-name-face) 14 21 (face eldoc-highlight-function-argument))
>> 
>> This string made the echo area expand to two lines, but in normal
>> (non-edebug) execution it of course shows up just as "let: (VARLIST
>> BODY...)" (with fontification).  So if the propertized string is the
>> source of the expanded echo area
>
> No, that cannot be it.  The properties should be completely evaluated
> and converted to appropriate faces, by the time the message is
> displayed.  What gets displayed is just "let: (VARLIST BODY...)", and
> unless you have some strange fonts installed, I don't see how this can
> require more than one line of the echo area.

It's the bold face, as Martin observed; see my followup to his reply.

>> the question becomes why it does not shrink again.
>
> Once expanded, Emacs shrinks the echo area lazily (see the value of
> resize-mini-windows).  So this is normal.
>
> We should concentrate on why the echo area is expanded.

Yes, why does bold face do it (and again, why only when eldoc-mode is
enabled in .emacs)?

Steve Berman