[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).