[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsist
From: |
Michael Welsh Duggan |
Subject: |
bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state |
Date: |
Sun, 08 Apr 2012 16:16:29 -0400 |
User-agent: |
Gnus/5.11002 (No Gnus v0.20) Emacs/24.1.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Michael Welsh Duggan <md5i@md5i.com>
>> Cc: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>,
>> 11199@debbugs.gnu.org
>> Date: Sun, 08 Apr 2012 14:28:03 -0400
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> Date: Sun, 08 Apr 2012 11:26:41 +0900
>> >> From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
>> >>
>> >> Steps to reproduce:
>> >>
>> >> 1. emacs -Q
>> >> 2. type the following text in the *scratch* buffer:
>> >>
>> >> (progn
>> >> (delete-region (point) (point-max))
>> >> (insert (substring (get-language-info "Hebrew" 'sample-text) 7)))
>> >>
>> >> 3. move the cursor to the beginning of the next line of the above text.
>> >> 4. C-x C-e
>> >> 5. C-a
>> >> 6. C-k
>> >>
>> >> Result:
>> >>
>> >> The Hebrew text is still shown, though it is internally killed.
>> >> Typing C-p after the last step does not move the cursor.
[...]
>> I have assertions turned on and get an assertion failure. My setup is
>> as follows:
>
> With the above recipe? Or with something different?
With exactly the above recipe.
> I have assertions turned on all the time, and I still cannot reproduce
> this. Maybe I don't understand the recipe; can you describe exactly
> where and how you type the Lisp code, and where you put the cursor
> before "C-x C-e"?
I typed in the list expression directly into the *scratch* buffer, then
hit RET in order to get to the beginning of the next line. (This is how
I interpreted step 3 above.) So, at the time I type C-x C-e, I am at
the beginning of the line below the line containing the word "insert".
> In any case, please go to this frame:
>
> #4 0x080a82f0 in try_window_id (w=0x88e30d0) at xdisp.c:17140
>
> and type:
>
> (gdb) pgrowx last_unchanged_at_beg_row
> (gdb) prowlims last_unchanged_at_beg_row
(gdb) up
#2 0x080794bb in init_from_display_pos (it=0xbfffa878, w=0x88e30d0,
pos=0x8d6e6a8) at xdisp.c:2951
(gdb) up
#3 0x08079810 in init_to_row_end (it=0xbfffa878, w=0x88e30d0, row=0x8d6e640)
at xdisp.c:3054
(gdb) up
#4 0x080a82f0 in try_window_id (w=0x88e30d0) at xdisp.c:17140
(gdb) pgrowx last_unchanged_at_beg_row
TEXT: 68 glyphs
0 0: CHAR[ ] pos=237 blev=0,btyp=L w=8 a+d=12+3 MB
1 8: CHAR[ ] pos=238 blev=0,btyp=L w=8 a+d=12+3 MB
2 16: CHAR[(] pos=239 blev=0,btyp=L w=8 a+d=12+3 MB
3 24: CHAR[i] pos=240 blev=0,btyp=L w=8 a+d=12+3 MB
4 32: CHAR[n] pos=241 blev=0,btyp=L w=8 a+d=12+3 MB
5 40: CHAR[s] pos=242 blev=0,btyp=L w=8 a+d=12+3 MB
6 48: CHAR[e] pos=243 blev=0,btyp=L w=8 a+d=12+3 MB
7 56: CHAR[r] pos=244 blev=0,btyp=L w=8 a+d=12+3 MB
8 64: CHAR[t] pos=245 blev=0,btyp=L w=8 a+d=12+3 MB
9 72: CHAR[ ] pos=246 blev=0,btyp=L w=8 a+d=12+3 MB
10 80: CHAR[(] pos=247 blev=0,btyp=L w=8 a+d=12+3 MB
11 88: CHAR[s] pos=248 blev=0,btyp=L w=8 a+d=12+3 MB
12 96: CHAR[u] pos=249 blev=0,btyp=L w=8 a+d=12+3 MB
13 104: CHAR[b] pos=250 blev=0,btyp=L w=8 a+d=12+3 MB
14 112: CHAR[s] pos=251 blev=0,btyp=L w=8 a+d=12+3 MB
15 120: CHAR[t] pos=252 blev=0,btyp=L w=8 a+d=12+3 MB
16 128: CHAR[r] pos=253 blev=0,btyp=L w=8 a+d=12+3 MB
17 136: CHAR[i] pos=254 blev=0,btyp=L w=8 a+d=12+3 MB
18 144: CHAR[n] pos=255 blev=0,btyp=L w=8 a+d=12+3 MB
19 152: CHAR[g] pos=256 blev=0,btyp=L w=8 a+d=12+3 MB
20 160: CHAR[ ] pos=257 blev=0,btyp=L w=8 a+d=12+3 MB
21 168: CHAR[(] pos=258 blev=0,btyp=L w=8 a+d=12+3 MB
22 176: CHAR[g] pos=259 blev=0,btyp=L w=8 a+d=12+3 MB
23 184: CHAR[e] pos=260 blev=0,btyp=L w=8 a+d=12+3 MB
24 192: CHAR[t] pos=261 blev=0,btyp=L w=8 a+d=12+3 MB
25 200: CHAR[-] pos=262 blev=0,btyp=L w=8 a+d=12+3 MB
26 208: CHAR[l] pos=263 blev=0,btyp=L w=8 a+d=12+3 MB
27 216: CHAR[a] pos=264 blev=0,btyp=L w=8 a+d=12+3 MB
28 224: CHAR[n] pos=265 blev=0,btyp=L w=8 a+d=12+3 MB
29 232: CHAR[g] pos=266 blev=0,btyp=L w=8 a+d=12+3 MB
30 240: CHAR[u] pos=267 blev=0,btyp=L w=8 a+d=12+3 MB
31 248: CHAR[a] pos=268 blev=0,btyp=L w=8 a+d=12+3 MB
32 256: CHAR[g] pos=269 blev=0,btyp=L w=8 a+d=12+3 MB
33 264: CHAR[e] pos=270 blev=0,btyp=L w=8 a+d=12+3 MB
34 272: CHAR[-] pos=271 blev=0,btyp=L w=8 a+d=12+3 MB
35 280: CHAR[i] pos=272 blev=0,btyp=L w=8 a+d=12+3 MB
36 288: CHAR[n] pos=273 blev=0,btyp=L w=8 a+d=12+3 MB
37 296: CHAR[f] pos=274 blev=0,btyp=L w=8 a+d=12+3 MB
38 304: CHAR[o] pos=275 blev=0,btyp=L w=8 a+d=12+3 MB
39 312: CHAR[ ] pos=276 blev=0,btyp=L w=8 a+d=12+3 MB
40 320: CHAR["] pos=277 blev=0,btyp=L w=8 a+d=12+3 face=15 MB
41 328: CHAR[H] pos=278 blev=0,btyp=L w=8 a+d=12+3 face=15 MB
42 336: CHAR[e] pos=279 blev=0,btyp=L w=8 a+d=12+3 face=15 MB
43 344: CHAR[b] pos=280 blev=0,btyp=L w=8 a+d=12+3 face=15 MB
44 352: CHAR[r] pos=281 blev=0,btyp=L w=8 a+d=12+3 face=15 MB
45 360: CHAR[e] pos=282 blev=0,btyp=L w=8 a+d=12+3 face=15 MB
46 368: CHAR[w] pos=283 blev=0,btyp=L w=8 a+d=12+3 face=15 MB
47 376: CHAR["] pos=284 blev=0,btyp=L w=8 a+d=12+3 face=15 MB
48 384: CHAR[ ] pos=285 blev=0,btyp=L w=8 a+d=12+3 MB
49 392: CHAR['] pos=286 blev=0,btyp=L w=8 a+d=12+3 MB
50 400: CHAR[s] pos=287 blev=0,btyp=L w=8 a+d=12+3 MB
51 408: CHAR[a] pos=288 blev=0,btyp=L w=8 a+d=12+3 MB
52 416: CHAR[m] pos=289 blev=0,btyp=L w=8 a+d=12+3 MB
53 424: CHAR[p] pos=290 blev=0,btyp=L w=8 a+d=12+3 MB
54 432: CHAR[l] pos=291 blev=0,btyp=L w=8 a+d=12+3 MB
55 440: CHAR[e] pos=292 blev=0,btyp=L w=8 a+d=12+3 MB
56 448: CHAR[-] pos=293 blev=0,btyp=L w=8 a+d=12+3 MB
57 456: CHAR[t] pos=294 blev=0,btyp=L w=8 a+d=12+3 MB
58 464: CHAR[e] pos=295 blev=0,btyp=L w=8 a+d=12+3 MB
59 472: CHAR[x] pos=296 blev=0,btyp=L w=8 a+d=12+3 MB
60 480: CHAR[t] pos=297 blev=0,btyp=L w=8 a+d=12+3 MB
61 488: CHAR[)] pos=298 blev=0,btyp=L w=8 a+d=12+3 MB
62 496: CHAR[ ] pos=299 blev=0,btyp=L w=8 a+d=12+3 MB
63 504: CHAR[7] pos=300 blev=0,btyp=L w=8 a+d=12+3 MB
64 512: CHAR[)] pos=301 blev=0,btyp=L w=8 a+d=12+3 MB
65 520: CHAR[)] pos=302 blev=0,btyp=L w=8 a+d=12+3 MB
66 528: CHAR[)] pos=303 blev=0,btyp=L w=8 a+d=12+3 MB
67 536: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=12+3 MB
(gdb) prowlims last_unchanged_at_beg_row
edges=(237,305),r2l=0,cont=0,trunc=(0,0),at_zv=0
(gdb)
--
Michael Welsh Duggan
(md5i@md5i.com)
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, YAMAMOTO Mitsuharu, 2012/04/07
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Eli Zaretskii, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Michael Welsh Duggan, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state,
Michael Welsh Duggan <=
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Eli Zaretskii, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Michael Welsh Duggan, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Eli Zaretskii, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Michael Welsh Duggan, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Eli Zaretskii, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, YAMAMOTO Mitsuharu, 2012/04/09
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Eli Zaretskii, 2012/04/09
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Eli Zaretskii, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Michael Welsh Duggan, 2012/04/08
- bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state, Eli Zaretskii, 2012/04/08