Subject: bug#34183: 27.0.50; cl-print uses print-length for strings

From: Drew Adams <[email-masked]>
Date: Wed, 23 Jan 2019 13:48:29 -0800 (PST)

> The code in cl-print now obeys `print-length` to limit the length of
> strings.  Being able to limit the length of strings is good, but
> limiting them to `print-length` chars is rather drastic since this
> setting is usually applied to lists, where a setting of N corresponds to
> an output that's at the very least 2*N long (assuming each element prints
> as a single char, which is not the most common case).
> 
> Currently in M-: print-length defaults to 12, so any string like a file
> name gets truncated after only 12 chars which is frustrating
> (especially since the ability to expand the "..." doesn't work there
> because you can't click in the echo area :-( Maybe that should be
> another bug report / feature request).
> 
> We should probably introduce another config var to limit string length,
> or multiply `print-length` by some ad-hoc factor (like 4 maybe), or use
> the max of print-length and frame-width, ...

Why don't we have a naming convention that lets users
know whether some function is (1) intended to emulate
a Common Lisp function or it is instead either just
(2) a helper function used to define such an emulation
function or (3) a function that has no relation to
Common Lisp, which someone (unfortunately) decided to
give the prefix `cl-'?  Things that have prefix `cl-'
seem to be all over the map.

Anyway, in Common Lisp the print functions (which we
apparently have no emulations for) take arguments that
control print length, circle handling etc.  They don't
just variables to control such things.

http://clhs.lisp.se/Body/f_wr_pr.htm