1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 14:30:50 -08:00
emacs/test/lisp/emacs-lisp
Stefan Monnier 3ffb99f28f cl-print: Put buttons on ellipses
Currently, in *Backtrace* we have a nice behavior for cl-printed objects
where they're truncated by default to a manageable size but we can click
on the "..." to expand them when needed.

The patch below moves that functionality to `cl-print.el` such
that it can be enjoyed "everywhere" (bug#64536).  It also has the
benefit of simplifying the code since `backtrace.el` had to look for
ellipses in order to add buttons to them, whereas now we can put
the ellipses right when we write them.

* lisp/emacs-lisp/cl-print.el (cl-print-object-contents): Improve docstring.
(cl-print-expand-ellipsis-function): New var.
(cl-print--default-expand-ellipsis): New function.
(cl-print-expand-ellipsis): New command.
(cl-print-insert-ellipsis): Allow nil instead of 0 to mean "this elides
the whole object".
(cl-print-ellipsis): Move button type from `backtrace.el`.
(cl-print-propertize-ellipsis): Put a button.
(cl-print--expand-ellipsis): Rename from `cl-print-expand-ellipsis`.
(cl-print-to-string-with-limit): Allow new value t for `limit`.

* lisp/emacs-lisp/backtrace.el (backtrace--font-lock-keywords): Simplify.
(backtrace--match-ellipsis-in-string): Delete function.
(backtrace--change-button-skip): Adjust to new button type name.
(backtrace--expand-ellipsis): New function, extracted from
`backtrace-expand-ellipsis`.
(backtrace-expand-ellipsis): Delete function.
(backtrace-ellipsis): Move button type to `cl-print.el`.
(backtrace--print-to-string): Don't look for cl-print ellipses any more.
(backtrace-mode): Use `backtrace--expand-ellipsis`.

* lisp/ielm.el (ielm--expand-ellipsis): New function.
(inferior-emacs-lisp-mode): Use it to fill the data when expanded.

* test/lisp/emacs-lisp/cl-print-tests.el
(cl-print-tests-check-ellipsis-expansion)
(cl-print-tests-check-ellipsis-expansion-rx): Adjust to new internal
function name.
2023-07-13 19:00:51 -04:00
..
bytecomp-resources Don't rewrite set to setq of lexical variables 2022-09-22 14:54:15 +02:00
edebug-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-tests ; eieio-test-persist.el: namespace hygiene 2023-05-25 16:06:07 +02:00
faceup-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
faceup-tests ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
macroexp-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
package-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
pp-resources
shadow-resources
testcover-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
backquote-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
backtrace-tests.el pp-fill: Fix tests breakage 2023-06-17 18:05:33 -04:00
benchmark-tests.el Skip failing tests on Cygwin with native compilation (bug#62450) 2023-03-26 10:04:59 -04:00
bindat-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
bytecomp-tests.el Don't compile (+ X 0) as (* X 1) 2023-06-21 18:00:26 +02:00
cconv-tests.el Don't modify interactive closures destructively (Bug#60974). 2023-03-06 20:28:20 +05:30
check-declare-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
checkdoc-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-extra-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-generic-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-lib-tests.el Make old-struct test more robust 2023-05-05 22:00:28 +02:00
cl-macs-tests.el cl-macs-tests.el (cl-&key-arguments): Fix regression 2023-06-27 16:14:32 -04:00
cl-preloaded-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-print-tests.el cl-print: Put buttons on ellipses 2023-07-13 19:00:51 -04:00
cl-seq-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
comp-cstr-tests.el ; Update my mail address 2023-06-08 11:04:10 +02:00
comp-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
copyright-tests.el ; * test/lisp/emacs-lisp/copyright-tests.el: Fix and future-safe. 2023-01-01 13:18:50 +01:00
derived-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
easy-mmode-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
edebug-tests.el Prefix syntax for ,@ in elisp-mode (bug#44418) 2023-06-21 18:00:26 +02:00
ert-tests.el Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
ert-x-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
find-func-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
float-sup-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
generator-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
gv-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
hierarchy-tests.el Fix failing test for package Hierarchy 2022-10-28 10:33:18 +03:00
icons-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
let-alist-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lisp-mnt-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lisp-mode-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lisp-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
macroexp-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
map-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
memory-report-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
multisession-tests.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
nadvice-tests.el Pacify byte-compiler warnings in nadvice-tests 2023-04-09 19:03:10 +01:00
oclosure-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
package-tests.el package-tests.el: Add test for last change 2023-05-26 12:23:59 -04:00
pcase-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
pp-tests.el pp-fill: Fix tests breakage 2023-06-17 18:05:33 -04:00
range-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
regexp-opt-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ring-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
rmc-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
rx-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
seq-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
shadow-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
shortdoc-tests.el Fix shortdoc-tests when Unicode arrows can be displayed 2023-03-25 17:43:43 +01:00
subr-x-tests.el Don't mutate constants in tests 2023-05-13 14:31:00 +02:00
syntax-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tabulated-list-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
testcover-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
text-property-search-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
thunk-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
timer-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
unsafep-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
vtable-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
warnings-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00