Subject: Re: bug#16828: 24.3.50; eval-expression, character representation of integer results time-consuming

From: Eli Zaretskii <[email-masked]>
Date: Fri, 19 May 2017 09:34:52 +0300

> From: [email-masked]
> Cc: [email-masked]
> Date: Thu, 18 May 2017 19:56:53 -0400
> 
> >> Currently, zero also means no truncation, keeping that meaning seems
> >> important too.  Perhaps a negative argument would be a better choice?
> >
> > Yes, that'd be fine with me.  Thanks.
> 
> I added `-' to echo in character format, and `-1' to print it to the
> buffer.  I split the patch in 2 parts, the first just refactors the
> printing code, the 2nd adds the new behaviour.

Thanks.

A couple of nits regarding the documentation part:

> +(defcustom eval-expression-print-maximum-character 127
> +  "The largest integer that will be displayed as a character.
> +This affects printing by `eval-expression-print-format'."

I would suggest to also mention eval-expression here.

> --- a/doc/emacs/building.texi
> +++ b/doc/emacs/building.texi
> @@ -1485,7 +1485,8 @@ Lisp Eval
>  Emacs Lisp expression preceding point in the buffer, and displays the
>  value in the echo area.  When the result of an evaluation is an
>  integer, it is displayed together with the value in other formats
> -(octal, hexadecimal, and character).
> +(octal, hexadecimal, and character if
> +@code{eval-expression-print-maximum-character} allows it).

Please add a "see below" here, as the description of the variable is
several dozens of lines farther.

> +@code{eval-expression-print-maximum-character} prevents large integers
> +from being displayed as characters.

This is too terse, IMO; please state explicitly that values larger
than this will not be displayed as characters.