Function: cl-print-expand-ellipsis
cl-print-expand-ellipsis is an interactive and byte-compiled function
defined in cl-print.el.gz.
Signature
(cl-print-expand-ellipsis &optional BUTTON)
Documentation
Expand display of the elided form at BUTTON.
BUTTON can also be a buffer position or nil (to mean point).
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-print.el.gz
(defun cl-print-expand-ellipsis (&optional button)
"Expand display of the elided form at BUTTON.
BUTTON can also be a buffer position or nil (to mean point)."
(interactive)
(goto-char (cond
((null button) (point))
(t (button-start button))))
(unless (get-text-property (point) 'cl-print-ellipsis)
(if (and (> (point) (point-min))
(get-text-property (1- (point)) 'cl-print-ellipsis))
(backward-char)
(user-error "No ellipsis to expand here")))
(let* ((end (next-single-property-change (point) 'cl-print-ellipsis))
(begin (previous-single-property-change end 'cl-print-ellipsis))
(value (get-text-property begin 'cl-print-ellipsis))
;; Ensure clicking the button works even in read only buffers.
(inhibit-read-only t))
;; FIXME: Rather than `t' (i.e. reuse the print-length/level unchanged),
;; I think it would make sense to increase the level by 1 and to
;; double the length at each expansion step.
(funcall cl-print-expand-ellipsis-function
begin end value t)
(goto-char begin)))