Function: backtrace-expand-ellipsis

backtrace-expand-ellipsis is an interactive and byte-compiled function defined in backtrace.el.gz.

Signature

(backtrace-expand-ellipsis BUTTON)

Documentation

Expand display of the elided form at BUTTON.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/backtrace.el.gz
(defun backtrace-expand-ellipsis (button)
  "Expand display of the elided form at BUTTON."
  (interactive)
  (goto-char (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))
         (props (backtrace-get-text-properties begin))
         (inhibit-read-only t))
    (backtrace--with-output-variables (backtrace-get-view)
      (delete-region begin end)
      (insert (cl-print-to-string-with-limit #'cl-print-expand-ellipsis value
                                          backtrace-line-length))
      (setq end (point))
      (goto-char begin)
      (while (< (point) end)
        (let ((next (next-single-property-change (point) 'cl-print-ellipsis
                                                 nil end)))
          (when (get-text-property (point) 'cl-print-ellipsis)
            (make-text-button (point) next :type 'backtrace-ellipsis))
          (goto-char next)))
      (goto-char begin)
      (add-text-properties begin end props))))