* bug#34183: 27.0.50; cl-print uses print-length for strings
@ 2019-01-23 20:51 Stefan Monnier
2019-01-23 21:48 ` Drew Adams
0 siblings, 1 reply; 2+ messages in thread
From: Stefan Monnier @ 2019-01-23 20:51 UTC (permalink / raw)
To: 34183; +Cc: Gemini Lasswell
Package: Emacs
Version: 27.0.50
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, ...
Stefan
In GNU Emacs 27.0.50 (build 1, x86_64-unknown-linux-gnu, GTK+ Version 3.24.3)
of 2019-01-22 built on alfajor
Repository revision: 4e56ca18c9760d9a9429d71e36bedfe4da879a9c
Repository branch: work
Windowing system distributor 'The X.Org Foundation', version 11.0.12003000
System Description: Debian GNU/Linux buster/sid
Recent messages:
Error during redisplay: (eval el-search--current-search) signaled (void-variable el-search--current-search)
Error during redisplay: (eval (cdr (ring-elements el-search-history))) signaled (void-variable el-search-history)
Mark saved where search started [4 times]
"123456789012..."
50 (#o62, #x32, ?2)
"123456789012..."
Warning: hide-sublevels is obsolete!
Error during redisplay: (eval el-search--current-search) signaled (void-variable el-search--current-search)
Error during redisplay: (eval (cdr (ring-elements el-search-history))) signaled (void-variable el-search-history)
Configured using:
'configure -C --enable-checking --with-modules --enable-check-lisp-object-type
'CFLAGS=-Wall -g3 -Og -Wno-pointer-sign'
PKG_CONFIG_PATH=/home/monnier/lib/pkgconfig'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY INOTIFY GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS CANNOT_DUMP LCMS2
GMP
Important settings:
value of $LANG: fr_CH.UTF-8
locale-coding-system: utf-8-unix
Major mode: InactiveMinibuffer
Minor modes in effect:
c-electric-flag: t
shell-dirtrack-mode: t
diff-auto-refine-mode: t
electric-pair-mode: t
global-reveal-mode: t
reveal-mode: t
auto-insert-mode: t
savehist-mode: t
minibuffer-electric-default-mode: t
global-compact-docstrings-mode: t
url-handler-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
global-prettify-symbols-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
line-number-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/monnier/src/emacs/elpa/packages/svg/svg hides /home/monnier/src/emacs/work/lisp/svg
/home/monnier/src/emacs/elpa/packages/ada-mode/ada-mode hides /home/monnier/src/emacs/work/lisp/progmodes/ada-mode
/home/monnier/src/emacs/elpa/packages/ada-mode/ada-stmt hides /home/monnier/src/emacs/work/lisp/progmodes/ada-stmt
/home/monnier/src/emacs/elpa/packages/ada-mode/ada-prj hides /home/monnier/src/emacs/work/lisp/progmodes/ada-prj
/home/monnier/src/emacs/elpa/packages/ada-mode/ada-xref hides /home/monnier/src/emacs/work/lisp/progmodes/ada-xref
/home/monnier/src/emacs/elpa/packages/nadvice/nadvice hides /home/monnier/src/emacs/work/lisp/emacs-lisp/nadvice
/home/monnier/src/emacs/elpa/packages/hyperbole/set hides /home/monnier/src/emacs/work/lisp/emacs-lisp/set
/home/monnier/src/emacs/elpa/packages/landmark/landmark hides /home/monnier/src/emacs/work/lisp/obsolete/landmark
/home/monnier/src/emacs/elpa/packages/crisp/crisp hides /home/monnier/src/emacs/work/lisp/obsolete/crisp
Features:
(cl finder log-view vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc-dir
autoload eieio-opt speedbar sb-image ezimage dframe descr-text sort
mail-extr emacsbug log-edit message sendmail rmc puny dired
dired-loaddefs format-spec rfc822 mml mml-sec epa derived epg gnus-util
rmail rmail-loaddefs time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils ...)
Memory information:
((conses 8 332433 72233)
(symbols 24 32361 406) (strings 16 136261 9584) (string-bytes 1 3687406)
(vectors 8 57650)
(vector-slots 4 2051955 154284) (floats 8 660 432) (intervals 28 20915 582)
(buffers 528 64))
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#34183: 27.0.50; cl-print uses print-length for strings
2019-01-23 20:51 bug#34183: 27.0.50; cl-print uses print-length for strings Stefan Monnier
@ 2019-01-23 21:48 ` Drew Adams
0 siblings, 0 replies; 2+ messages in thread
From: Drew Adams @ 2019-01-23 21:48 UTC (permalink / raw)
To: Stefan Monnier, 34183; +Cc: Gemini Lasswell
> 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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-01-23 21:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-23 20:51 bug#34183: 27.0.50; cl-print uses print-length for strings Stefan Monnier
2019-01-23 21:48 ` Drew Adams
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).