[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15045: Point jumps inappropriately around time of Semantic lexing
From: |
David Engster |
Subject: |
bug#15045: Point jumps inappropriately around time of Semantic lexing |
Date: |
Fri, 09 Aug 2013 18:27:14 +0200 |
User-agent: |
Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3 (gnu/linux) |
martin rudalics writes:
>> In fact, I just understood another bug in speck-mode (which is similar
>> to flycheck). I sometimes had unwanted scrolls there, too, and I now saw
>> that those also happen at every full minute while typing.
>
> What precisely is the bug in speck-mode? Is it that it doesn't restore
> `point' when input arrives?
The main problem is that speck narrows the buffer before calling
`accept-process-output'. If that happens while the
time-display-event-handler runs, you suddenly see a narrowed buffer,
which is soon widened again. Pretty scary.
It's quite easy to reproduce, since speck runs much longer than the
Semantic idle function. Here's a recipe:
- Put a bunch of text in the kill ring
- Create a new text buffer and activate speck
- Activate `display-time'
- At roughly XX:58, yank the text into the buffer and wait
Here's the backtrace from a `debug' call in `sit-for':
sit-for(0)
display-time-event-handler()
apply(display-time-event-handler nil)
byte-code("" [timer apply 5 6] 4)
timer-event-handler([t 20997 5988 0 60 display-time-event-handler nil nil 0])
accept-process-output(nil 0.01)
speck-chunk()
speck-multi-chunk()
speck-chunks()
speck-line()
speck-window(t)
speck-windows(t)
apply(speck-windows t)
byte-code("" [timer apply 5 6] 4)
timer-event-handler([t 0 1 262453 nil speck-windows (t) idle 785000])
The fix would be to undo any narrowing and restore point before calling
`accept-process-output'.
-David
- bug#15045: Point jumps inappropriately around time of Semantic lexing, (continued)
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Stefan Monnier, 2013/08/09
- bug#15045: Point jumps inappropriately around time of Semantic lexing, David Engster, 2013/08/09
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Eli Zaretskii, 2013/08/09
- bug#15045: Point jumps inappropriately around time of Semantic lexing, David Engster, 2013/08/10
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Eli Zaretskii, 2013/08/10
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Barry OReilly, 2013/08/10
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Stefan Monnier, 2013/08/09
- bug#15045: Point jumps inappropriately around time of Semantic lexing, martin rudalics, 2013/08/09
- bug#15045: Point jumps inappropriately around time of Semantic lexing,
David Engster <=
- bug#15045: Point jumps inappropriately around time of Semantic lexing, martin rudalics, 2013/08/09
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Stefan Monnier, 2013/08/09
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Stefan Monnier, 2013/08/08
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Eli Zaretskii, 2013/08/08
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Stefan Monnier, 2013/08/08
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Eli Zaretskii, 2013/08/09
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Eli Zaretskii, 2013/08/08
- bug#15045: Point jumps inappropriately around time of Semantic lexing, Eric M. Ludlam, 2013/08/08