Subject: Re: bug#38736: 26.3; ellipsis in `*Messages*', doc of `format' etc.

From: Eli Zaretskii <[email-masked]>
Date: Wed, 25 Dec 2019 16:34:41 +0200

> Date: Tue, 24 Dec 2019 13:02:55 -0800 (PST)
> From: Drew Adams <[email-masked]>
> 
> The doc string of `format' doesn't tell you anything about control by
> `print-level', `print-length', etc.  Please consider adding such info.
> 
> Consider trying to figure out, when looking at a message in
> `*Messages*', why a long list value shows ellipsis ("..."), instead of
> showing all the elements.  You try `C-h f message', which says nothing
> about this.  The most it does is provide a bunch of details about the
> formatting intermediary `format-message', imposed since Emacs 25.

How did you get the ellipsis in *Messages*?  I'm guessing you invoked
'eval', because this is a feature of 'eval'.  So looking for the
information in the doc string of 'message' is a somewhat strange
place.  The doc string of 'eval' does mention the variables which
control when the ellipsis is produced.

> Following the `format-message' link, you still get no clue about this,
> but you then follow a link for `format'.  There you still get no clue
> about it, but you see that %S uses `prin1'.
> 
> Following the `prin1' link you finally find out that you can control
> `message's use of ellipsis using `print-length' and `print-level'.
> 
> Users shouldn't have to go through all of that (and that even assumes
> that they are able to guess that following just that thread might get 
> them somewhere useful).
> 
> What's true for `message' is also true for `error', etc.  At least the
> doc of `format' - and probably its often-used callers, such as `message'
> - should specifically mention these "print"-controlling (really just
> formatting) variables.

I don't think it's reasonable to ask to have this low-level stuff
bubble up to such high levels, which are quite far from the features
which are affected by these variables.  %S is not a frequently used
format, so describing what prin1 does in the doc strings of 'message'
etc. just for its sake doesn't seem like a good idea to me.  OTOH, I'd
expect users who use %S to know already about the ellipsis and how to
control it.