From: Juanma Barranquero <lekktu@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Lexbind (was: Emacs 23.3 released)
Date: Sat, 19 Mar 2011 01:54:43 +0100 [thread overview]
Message-ID: <AANLkTimJDRuvU-QVm5XAQ2hnXfxuMe4cfL96AgU=JbVA@mail.gmail.com> (raw)
In-Reply-To: <83vczhsg7l.fsf@gnu.org>
On Thu, Mar 17, 2011 at 20:24, Eli Zaretskii <eliz@gnu.org> wrote:
> It would make sense to turn off bidi reordering and see if the hangs
> still happen.
Yes, it hangs with bidi turned off.
> Which means it loops inside try_scrolling. Next step is to see where
> it loops there, and why it doesn't return.
It's looping here (in the else part, obviously):
start_display (&it, w, startp);
if (scroll_max < INT_MAX)
move_it_vertically (&it, amount_to_scroll);
else
{
/* Extra precision for users who set scroll-conservatively
to most-positive-fixnum: make sure the amount we scroll
the window start is never less than amount_to_scroll,
which was computed as distance from window bottom to
point. This matters when lines at window top and lines
below window bottom have different height. */
struct it it1 = it;
/* We use a temporary it1 because line_bottom_y can modify
its argument, if it moves one line down; see there. */
int start_y = line_bottom_y (&it1);
do {
move_it_by_lines (&it, 1, 1);
it1 = it;
} while (line_bottom_y (&it1) - start_y < amount_to_scroll);
}
In my current session, line_bottom_y (&it1) == 15, start_y == 15,
amount_to_scroll == 15, forever and ever and ever.
Juanma
(gdb) p it
$2 = {
window = 55221765,
w = 0x34a9e00,
f = 0x343c800,
method = GET_FROM_BUFFER,
stop_charpos = 53,
prev_stop = 0,
base_level_stop = 0,
end_charpos = 53,
s = 0x0,
string_nchars = 0,
region_beg_charpos = -1,
region_end_charpos = -1,
redisplay_end_trigger_charpos = 0,
multibyte_p = 1,
header_line_p = 0,
string_from_display_prop_p = 0,
ellipsis_p = 0,
avoid_cursor_p = 0,
dp = 0x343cc00,
dpvec = 0x0,
dpend = 0x0,
dpvec_char_len = 0,
dpvec_face_id = 0,
saved_face_id = 12,
ctl_chars = {0 <repeats 16 times>},
start = {
pos = {
charpos = 1,
bytepos = 1
},
overlay_string_index = -1,
string_pos = {
charpos = -1,
bytepos = -1
},
dpvec_index = -1
},
current = {
pos = {
charpos = 53,
bytepos = 53
},
overlay_string_index = -1,
string_pos = {
charpos = -1,
bytepos = -1
},
dpvec_index = -1
},
n_overlay_strings = 0,
overlay_strings_charpos = 53,
overlay_strings = {84671601, 0 <repeats 15 times>},
string_overlays = {81053227, 0 <repeats 15 times>},
string = 52250650,
from_overlay = 0,
stack = {{
string = 52250650,
string_nchars = 0,
end_charpos = 53,
stop_charpos = 2,
prev_stop = 0,
base_level_stop = 0,
cmp_it = {
stop_pos = 50,
id = -1,
ch = -2,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = 0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 12,
u = {
image = {
object = 0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
image_id = 0
},
comp = {
object = 0
},
stretch = {
object = 0
}
},
position = {
charpos = 1,
bytepos = 1
},
current = {
pos = {
charpos = 1,
bytepos = 1
},
overlay_string_index = 0,
string_pos = {
charpos = -1,
bytepos = -1
},
dpvec_index = -1
},
from_overlay = 0,
area = TEXT_AREA,
method = GET_FROM_BUFFER,
multibyte_p = 1,
string_from_display_prop_p = 0,
display_ellipsis_p = 0,
avoid_cursor_p = 0,
line_wrap = WINDOW_WRAP,
voffset = 0,
space_width = 52250650,
font_height = 52250650
}, {
string = 0,
string_nchars = 0,
end_charpos = 0,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
cmp_it = {
stop_pos = 0,
id = 0,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = 0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = 0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
image_id = 0
},
comp = {
object = 0
},
stretch = {
object = 0
}
},
position = {
charpos = 0,
bytepos = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
from_overlay = 0,
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
multibyte_p = 0,
string_from_display_prop_p = 0,
display_ellipsis_p = 0,
avoid_cursor_p = 0,
line_wrap = TRUNCATE,
voffset = 0,
space_width = 0,
font_height = 0
}, {
string = 0,
string_nchars = 0,
end_charpos = 0,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
cmp_it = {
stop_pos = 0,
id = 0,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = 0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = 0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
image_id = 0
},
comp = {
object = 0
},
stretch = {
object = 0
}
},
position = {
charpos = 0,
bytepos = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
from_overlay = 0,
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
multibyte_p = 0,
string_from_display_prop_p = 0,
display_ellipsis_p = 0,
avoid_cursor_p = 0,
line_wrap = TRUNCATE,
voffset = 0,
space_width = 0,
font_height = 0
}, {
string = 0,
string_nchars = 0,
end_charpos = 0,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
cmp_it = {
stop_pos = 0,
id = 0,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = 0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = 0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
image_id = 0
},
comp = {
object = 0
},
stretch = {
object = 0
}
},
position = {
charpos = 0,
bytepos = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
from_overlay = 0,
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
multibyte_p = 0,
string_from_display_prop_p = 0,
display_ellipsis_p = 0,
avoid_cursor_p = 0,
line_wrap = TRUNCATE,
voffset = 0,
space_width = 0,
font_height = 0
}, {
string = 0,
string_nchars = 0,
end_charpos = 0,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
cmp_it = {
stop_pos = 0,
id = 0,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = 0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = 0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
image_id = 0
},
comp = {
object = 0
},
stretch = {
object = 0
}
},
position = {
charpos = 0,
bytepos = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
from_overlay = 0,
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
multibyte_p = 0,
string_from_display_prop_p = 0,
display_ellipsis_p = 0,
avoid_cursor_p = 0,
line_wrap = TRUNCATE,
voffset = 0,
space_width = 0,
font_height = 0
}},
sp = 0,
selective = 0,
what = IT_EOB,
face_id = 0,
selective_display_ellipsis_p = 1,
ctl_arrow_p = 1,
face_box_p = 0,
start_of_box_run_p = 0,
end_of_box_run_p = 0,
overlay_strings_at_end_processed_p = 1,
ignore_overlay_strings_at_pos_p = 0,
glyph_not_available_p = 0,
starts_in_middle_of_char_p = 0,
face_before_selective_p = 0,
constrain_row_ascent_descent_p = 0,
line_wrap = WINDOW_WRAP,
base_face_id = 0,
c = 101,
len = 1,
cmp_it = {
stop_pos = 50,
id = -1,
ch = -2,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = 0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
char_to_display = 101,
glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE,
image_id = 0,
slice = {
x = 52250650,
y = 52250650,
width = 52250650,
height = 52250650
},
space_width = 52250650,
voffset = 0,
tab_width = 8,
font_height = 52250650,
object = 80814597,
position = {
charpos = 53,
bytepos = 53
},
truncation_pixel_width = 0,
continuation_pixel_width = 0,
first_visible_x = 0,
last_visible_x = 928,
last_visible_y = 15,
extra_line_spacing = 0,
max_extra_line_spacing = 0,
override_ascent = -1,
override_descent = 0,
override_boff = 0,
glyph_row = 0x4ce0800,
area = TEXT_AREA,
nglyphs = 1,
pixel_width = 8,
ascent = 12,
descent = 3,
max_ascent = 12,
max_descent = 3,
phys_ascent = 12,
phys_descent = 3,
max_phys_ascent = 12,
max_phys_descent = 3,
current_x = 432,
continuation_lines_width = 0,
eol_pos = {
charpos = 0,
bytepos = 0
},
current_y = 0,
first_vpos = 0,
vpos = 0,
hpos = 54,
left_user_fringe_bitmap = 0,
right_user_fringe_bitmap = 0,
left_user_fringe_face_id = 0,
right_user_fringe_face_id = 0,
bidi_p = 0,
bidi_it = {
bytepos = 0,
charpos = 0,
ch = 0,
ch_len = 0,
type = UNKNOWN_BT,
type_after_w1 = UNKNOWN_BT,
orig_type = UNKNOWN_BT,
resolved_level = 0,
invalid_levels = 0,
invalid_rl_levels = 0,
prev_was_pdf = 0,
prev = {
bytepos = 0,
charpos = 0,
type = UNKNOWN_BT,
type_after_w1 = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
last_strong = {
bytepos = 0,
charpos = 0,
type = UNKNOWN_BT,
type_after_w1 = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_neutral = {
bytepos = 0,
charpos = 0,
type = UNKNOWN_BT,
type_after_w1 = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
prev_for_neutral = {
bytepos = 0,
charpos = 0,
type = UNKNOWN_BT,
type_after_w1 = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_ws = {
bytepos = 0,
charpos = 0,
type = UNKNOWN_BT,
type_after_w1 = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_en_pos = 0,
ignore_bn_limit = 0,
sor = NEUTRAL_DIR,
scan_dir = 0,
stack_idx = 0,
level_stack = {{
level = 0,
override = NEUTRAL_DIR
} <repeats 64 times>},
first_elt = 0,
paragraph_dir = NEUTRAL_DIR,
new_paragraph = 0,
separator_limit = 0
},
paragraph_embedding = NEUTRAL_DIR
}
(gdb) n
13129 it1 = it;
(gdb) n
13130 } while (line_bottom_y (&it1) - start_y < amount_to_scroll);
(gdb) p start_y
$3 = 15
(gdb) p amount_to_scroll
$4 = 15
(gdb) p line_bottom_y (&it1)
$5 = 15
(gdb) n
13128 move_it_by_lines (&it, 1, 1);
(gdb)
13129 it1 = it;
(gdb)
13130 } while (line_bottom_y (&it1) - start_y < amount_to_scroll);
(gdb)
13128 move_it_by_lines (&it, 1, 1);
(gdb)
13129 it1 = it;
(gdb)
13130 } while (line_bottom_y (&it1) - start_y < amount_to_scroll);
(gdb) p line_bottom_y (&it1)
$6 = 15
(gdb)
next prev parent reply other threads:[~2011-03-19 0:54 UTC|newest]
Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-10 5:34 Emacs 23.3 released Chong Yidong
2011-03-10 8:58 ` Bastien
2011-03-10 16:07 ` Stefan Monnier
2011-03-10 16:22 ` David Kastrup
2011-03-10 16:54 ` Chong Yidong
2011-03-10 17:54 ` David Kastrup
2011-03-10 18:00 ` Lennart Borgman
2011-03-10 19:17 ` State of the CEDET merge (was: Emacs 23.3 released) David Engster
2011-03-11 14:29 ` State of the CEDET merge Lluís
2011-03-11 14:45 ` David Kastrup
2011-03-11 15:48 ` Lluís
2011-03-12 9:42 ` David Kastrup
2011-03-12 13:15 ` Eric M. Ludlam
2011-03-12 20:49 ` Stefan Monnier
2011-03-13 14:13 ` Ted Zlatanov
2011-03-14 19:55 ` Lluís
2011-03-14 20:39 ` Lennart Borgman
2011-03-14 22:28 ` Lluís
2011-03-13 15:13 ` David Engster
2011-03-14 20:08 ` Lluís
2011-03-15 1:33 ` Stefan Monnier
2011-03-16 14:03 ` Lluís
2011-03-16 15:24 ` Stefan Monnier
2011-03-16 15:30 ` David Kastrup
2011-03-16 20:23 ` Lluís
2011-03-18 17:43 ` Eli Zaretskii
2011-03-18 17:51 ` Eli Zaretskii
2011-07-24 8:14 ` David Kastrup
2011-07-24 10:01 ` David Engster
2011-07-24 13:11 ` David Kastrup
2011-07-27 2:46 ` Chong Yidong
2011-07-27 6:25 ` David Kastrup
2011-07-27 7:21 ` David Engster
2011-07-27 7:39 ` David Kastrup
2011-07-27 8:06 ` Andreas Röhler
2011-07-27 8:24 ` David Kastrup
2011-07-27 16:14 ` Compiled files without sources???? Richard Stallman
2011-07-27 17:57 ` David Kastrup
2011-07-28 5:53 ` Richard Stallman
2011-07-28 10:02 ` Paul Eggert
2011-07-28 23:00 ` Richard Stallman
2011-07-28 23:28 ` Paul Eggert
2011-07-29 14:32 ` Milan
2011-07-29 22:33 ` Chong Yidong
2011-07-30 2:12 ` Chong Yidong
2011-07-30 4:36 ` Richard Stallman
2011-07-30 20:33 ` Chong Yidong
2011-07-30 23:20 ` Thien-Thi Nguyen
2011-07-31 4:46 ` Tim Cross
2011-07-31 11:03 ` David Kastrup
2011-07-31 13:29 ` Tim Cross
2011-07-31 17:45 ` Andreas Röhler
2011-07-31 17:55 ` Stephen J. Turnbull
2011-07-31 18:06 ` Lars Ingebrigtsen
2011-07-31 20:06 ` Stephen J. Turnbull
2011-07-31 21:47 ` David Engster
2011-07-31 22:36 ` David Kastrup
2011-07-31 23:15 ` David Engster
2011-08-01 0:14 ` Chong Yidong
2011-07-31 23:10 ` Tim Cross
2011-08-01 12:33 ` Stephen J. Turnbull
2011-08-01 13:14 ` David Kastrup
2011-08-01 14:37 ` Stephen J. Turnbull
2011-08-01 14:42 ` Thien-Thi Nguyen
2011-08-02 0:13 ` Richard Stallman
2011-08-02 7:10 ` David Kastrup
2011-08-03 4:17 ` Richard Stallman
2011-08-02 0:13 ` Letting the users off the hook Richard Stallman
2011-08-03 4:16 ` Richard Stallman
2011-08-03 6:50 ` Stephen J. Turnbull
2011-08-03 19:18 ` Richard Stallman
2011-07-31 23:56 ` Compiled files without sources???? Richard Stallman
2011-07-31 16:19 ` Richard Stallman
2011-07-31 17:04 ` Chong Yidong
2011-07-31 23:56 ` Richard Stallman
2011-08-01 3:08 ` Chong Yidong
2011-08-01 21:28 ` Replacing tarballs on-the-fly (was: Re: Compiled files without sources????) Ulrich Mueller
2011-08-02 16:09 ` Replacing tarballs on-the-fly Chong Yidong
2011-08-02 17:43 ` Ulrich Mueller
2011-08-03 4:17 ` Richard Stallman
2011-08-03 20:31 ` Chong Yidong
2011-08-02 0:13 ` Compiled files without sources???? Richard Stallman
2011-08-02 15:56 ` Chong Yidong
2011-08-03 4:16 ` Richard Stallman
2011-07-30 4:35 ` Richard Stallman
2011-07-29 16:25 ` Evgeny M. Zubok
2011-07-29 16:37 ` David Kastrup
2011-07-29 23:40 ` Richard Stallman
2011-07-30 12:56 ` Evgeny M. Zubok
2011-07-30 13:25 ` David Kastrup
2011-07-30 20:55 ` Chong Yidong
2011-07-31 16:19 ` Richard Stallman
2011-03-10 16:45 ` Emacs 23.3 released Juanma Barranquero
2011-03-11 4:26 ` Stefan Monnier
2011-03-11 4:42 ` Juanma Barranquero
2011-03-11 9:44 ` Andreas Schwab
2011-03-11 20:18 ` Stefan Monnier
2011-03-11 23:03 ` Andreas Schwab
2011-03-12 0:03 ` Juanma Barranquero
2011-03-12 1:38 ` Stefan Monnier
2011-03-10 19:21 ` Thierry Volpiatto
2011-03-11 4:20 ` Stefan Monnier
2011-03-11 7:14 ` Thierry Volpiatto
2011-03-12 3:35 ` Stefan Monnier
2011-03-12 12:23 ` Juanma Barranquero
2011-03-14 14:10 ` Stefan Monnier
2011-03-14 14:52 ` Juanma Barranquero
2011-03-14 15:51 ` Lexbind (was: Emacs 23.3 released) Stefan Monnier
2011-03-17 1:59 ` Juanma Barranquero
2011-03-17 10:28 ` Eli Zaretskii
2011-03-17 12:22 ` Juanma Barranquero
2011-03-17 15:13 ` Juanma Barranquero
2011-03-17 16:07 ` Eli Zaretskii
2011-03-17 18:06 ` Juanma Barranquero
2011-03-17 19:24 ` Eli Zaretskii
2011-03-17 19:46 ` Juanma Barranquero
2011-03-19 0:54 ` Juanma Barranquero [this message]
2011-03-19 8:35 ` Eli Zaretskii
2011-03-19 9:28 ` Juanma Barranquero
2011-03-17 20:01 ` Lexbind Stefan Monnier
2011-03-17 22:07 ` Lexbind Wojciech Meyer
2011-03-17 23:29 ` Lexbind Juanma Barranquero
2011-03-18 7:39 ` Lexbind joakim
2011-03-10 19:27 ` Emacs 23.3 released Mike Mattie
2011-03-10 19:56 ` Glenn Morris
2011-03-11 8:45 ` Eli Zaretskii
2011-03-11 16:56 ` Chong Yidong
2011-03-11 20:19 ` Stefan Monnier
2011-03-10 18:57 ` Chong Yidong
2011-03-12 9:28 ` updating web manuals [Re: " Jim Meyering
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='AANLkTimJDRuvU-QVm5XAQ2hnXfxuMe4cfL96AgU=JbVA@mail.gmail.com' \
--to=lekktu@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.