bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#29118: 25.2.50; Undoing shell flush output results in weird state


From: Noam Postavsky
Subject: bug#29118: 25.2.50; Undoing shell flush output results in weird state
Date: Sat, 11 Nov 2017 21:12:30 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

>> debugging undo-list stuff is kind of a pain.
>
> Why is that a pain?

Just from this very simple recipe, buffer-undo-list contains all of this
(assuming you made no mistakes typing it in, it's unclear to me how to
reproduce it non-interactively).  And I find it pretty difficult to
interpret buffer positions in my head.  So interpreting what all the
element means is ... a pain.

(nil
 (22 . 25)
 (22 . 35)
 (#("*** output flushed ***
~/src/emacs$ " 0 23
 (fontified t front-sticky #1=(field inhibit-line-move-field-capture)
            rear-nonsticky t field output inhibit-line-move-field-capture t)
 23 36
 (font-lock-face
  (comint-highlight-prompt)
  inhibit-line-move-field-capture t field output rear-nonsticky t front-sticky 
#1# fontified nil))
   . 22)
 (#<marker at 38 in *shell*> . -36)
 (#<marker at 22 in *shell*> . -36)
 (#<marker at 22 in *shell*> . -23)
 (#<marker at 22 in *shell*> . -36)
 (nil font-lock-face
      (comint-highlight-prompt . #2=(comint-highlight-prompt))
      45 . 58)
 nil
 (nil font-lock-face #2# 45 . 58)
 (22 . 58)
 (#("~/src/emacs$ " 0 13
    (fontified nil front-sticky
               (field inhibit-line-move-field-capture)
               rear-nonsticky t field output inhibit-line-move-field-capture t 
font-lock-face
               (comint-highlight-prompt)))
   . -22)
 (#<marker at 38 in *shell*> . -13)
 (#<marker at 22 in *shell*> . -13)
 (#("hi
" 0 3
(fontified t front-sticky
           (field inhibit-line-move-field-capture)
           rear-nonsticky t field output inhibit-line-move-field-capture t))
   . -22)
 38 nil
 (nil font-lock-face nil 25 . 38)
 (21 . 38)
 (#("echo hi" 0 7
    (fontified nil))
   . 14)
 (#<marker at 38 in *shell*> . -7)
 (21 . 28)
 nil
 (14 . 21)
 nil
 (nil font-lock-face nil 1 . 14)
 (1 . 14)
 (t . 0))

> What can we do to make its debugging experience better?

Some way of visualizing the effect of undo list elements.  A way to
replay and rewind without affecting the undo list.

Implementing such a thing would probably be pretty difficult.  I have
some crude visualization for markers in yasnippet-debug.el (in GNU
ELPA).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]