* Freeze with specific evaluation in the modeline
@ 2024-09-02 19:56 Nicolas P. Rougier (inria)
2024-09-02 21:40 ` Stephen Berman
0 siblings, 1 reply; 4+ messages in thread
From: Nicolas P. Rougier (inria) @ 2024-09-02 19:56 UTC (permalink / raw)
To: emacs-devel
I've tried the following code (with Emacs -q, v30.0.60):
(setq mode-line-format
'(:eval (if (window-in-direction 'down) "yes" "no")))
and it somehow freezes Emacs even though menubar is still responsive and
I can quit through the menu. I'm not sure how to debug since I cannot
really interact anymore.
Could anyone confirms the behavior?
Nicolas
--
Nicolas P. Rougier —— www.labri.fr/perso/nrougier
Institute of Neurodegenerative Diseases, Bordeaux
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Freeze with specific evaluation in the modeline
2024-09-02 19:56 Freeze with specific evaluation in the modeline Nicolas P. Rougier (inria)
@ 2024-09-02 21:40 ` Stephen Berman
2024-09-03 14:17 ` Eli Zaretskii
0 siblings, 1 reply; 4+ messages in thread
From: Stephen Berman @ 2024-09-02 21:40 UTC (permalink / raw)
To: Nicolas P. Rougier (inria); +Cc: emacs-devel
On Mon, 02 Sep 2024 21:56:13 +0200 "Nicolas P. Rougier (inria)" <nicolas.rougier@inria.fr> wrote:
> I've tried the following code (with Emacs -q, v30.0.60):
>
> (setq mode-line-format
> '(:eval (if (window-in-direction 'down) "yes" "no")))
>
> and it somehow freezes Emacs even though menubar is still responsive and
> I can quit through the menu. I'm not sure how to debug since I cannot
> really interact anymore.
>
> Could anyone confirms the behavior?
I can, and when I ran emacs under gdb and evaluated the above sexp, this
immediately caused a segfault in pos_visible_p. I then typed bt full at
the gdb prompt and the backtrace appeared to infloop; when I interrupted
it, it was at frame #3935. Below is the backtrace up to the start of
frame #48, which I think shows the loop.
Steve Berman
Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x00005555555e44a2 in pos_visible_p (w=w@entry=0x5555561a7de0,
charpos=charpos@entry=230, x=x@entry=0x7fffff6735d0, y=y@entry=0x7fffff6735d4,
rtop=rtop@entry=0x7fffff6735c0, rbot=rbot@entry=0x7fffff6735c4,
rowh=0x7fffff6735c8, vpos=0x7fffff6735cc)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:1685
1685 {
(gdb) bt full
#0 0x00005555555e44a2 in pos_visible_p
(w=w@entry=0x5555561a7de0, charpos=charpos@entry=230, x=x@entry=0x7fffff6735d0, y=y@entry=0x7fffff6735d4, rtop=rtop@entry=0x7fffff6735c0, rbot=rbot@entry=0x7fffff6735c4, rowh=0x7fffff6735c8, vpos=0x7fffff6735cc)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:1685
it = Python Exception <class 'gdb.MemoryError'>: Cannot access memory at address 0x7fffff66e7b0
#1 0x0000555555602027 in Fpos_visible_in_window_p
(pos=make_fixnum(230), window=window@entry=XIL(0x5555561a7de5), partially=partially@entry=XIL(0x30)) at /home/steve/src/emacs/emacs-master/src/window.c:2018
w = 0x5555561a7de0
posint = 230
buf = 0x7fffef7b00b0
top = {
charpos = <optimized out>,
bytepos = <optimized out>
}
in_window = XIL(0)
rtop = 595
rbot = 0
rowh = 81115136
vpos = -216074776
fully_p = true
x = 95328
y = 0
#2 0x00005555556a34de in Fposn_at_point
(pos=<optimized out>, window=XIL(0x5555561a7de5))
at /home/steve/src/emacs/emacs-master/src/keyboard.c:12547
tem = <optimized out>
#3 0x00007fffef1d00ba in F77696e646f772d696e2d646972656374696f6e_window_in_direction_0 ()
at /home/steve/build/emacs-master/src/../native-lisp/31.0.50-d78d1870/preloaded/window-d09bfc58-55eb0ae6.eln
#4 0x0000555555716f82 in eval_sub (form=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/eval.c:2594
i = 6
maxargs = 6
args_left = XIL(0)
numargs = 1
original_fun = <optimized out>
original_args = XIL(0x7fffef2cc6b3)
count = {
bytes = <optimized out>
}
fun = XIL(0x7fffefa0bcfd)
val = <optimized out>
funcar = <optimized out>
argvals = {XIL(0x74a0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0)}
retry = <optimized out>
#5 0x0000555555717775 in Fif (args=XIL(0x7fffef2cc6a3))
at /home/steve/src/emacs/emacs-master/src/eval.c:382
cond = <optimized out>
#6 0x0000555555716d2e in eval_sub (form=form@entry=XIL(0x7fffef2cc6f3))
at /home/steve/src/emacs/emacs-master/src/eval.c:2526
args_left = XIL(0x7fffef2cc6a3)
numargs = 3
original_fun = XIL(0xaa10)
original_args = XIL(0x7fffef2cc6a3)
count = {
bytes = <optimized out>
}
fun = XIL(0x555555d538a5)
val = <optimized out>
funcar = <optimized out>
argvals = {XIL(0), XIL(0x7fffefbcdc0b), XIL(0x5555569c8200), XIL(0x1), XIL(0x5555569c8200), XIL(0x7fffff673ba8), XIL(0x555555d52d00), XIL(0x5555557134a9)}
retry = <optimized out>
#7 0x0000555555718514 in Feval (form=XIL(0x7fffef2cc6f3), lexical=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/eval.c:2439
count = {
bytes = <optimized out>
}
#8 0x0000555555715eb6 in funcall_subr
(subr=subr@entry=0x555555d52d00 <Seval>, numargs=numargs@entry=2, args=args@entry=0x7fffff673ba8) at /home/steve/src/emacs/emacs-master/src/eval.c:3140
argbuf = {XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0x555555704cf0)}
a = <optimized out>
maxargs = 2
fun = <optimized out>
#9 0x00005555557176f2 in funcall_general
(fun=XIL(0x555555d52d05), numargs=numargs@entry=2, args=args@entry=0x7fffff673ba8) at /home/steve/src/emacs/emacs-master/src/lisp.h:2256
original_fun = XIL(0x7ce0)
#10 0x0000555555714cc1 in Ffuncall
(nargs=nargs@entry=3, args=args@entry=0x7fffff673ba0)
at /home/steve/src/emacs/emacs-master/src/eval.c:3070
count = {
bytes = 95200
}
val = <optimized out>
#11 0x0000555555713e23 in internal_condition_case_n
(bfun=bfun@entry=0x555555714c25 <Ffuncall>, nargs=nargs@entry=3, args=args@entry=0x7fffff673ba0, handlers=handlers@entry=XIL(0x30), hfun=hfun@entry=0x5555555cbc2a <dsafe_eval_handler>) at /home/steve/src/emacs/emacs-master/src/eval.c:1678
val = <optimized out>
c = 0x555556898f40
#12 0x00005555555bb4c7 in dsafe__call
(inhibit_quit=inhibit_quit@entry=true, f=0x555555714c25 <Ffuncall>, nargs=nargs@entry=3, args=args@entry=0x7fffff673ba0)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:3093
count = {
bytes = <optimized out>
}
val = <optimized out>
#13 0x00005555555bb5a0 in dsafe_eval (sexpr=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:3129
#14 0x00005555555e31d6 in display_mode_element
(it=it@entry=0x7fffff673cd0, depth=1,
depth@entry=0, field_width=field_width@entry=0, precision=precision@entry=0, elt=elt@entry=XIL(0x7fffef2cc703), props=props@entry=XIL(0), risky=false)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:27984
spec = <optimized out>
car = XIL(0xf30)
tem = <optimized out>
n = 0
field = <optimized out>
prec = <optimized out>
literal = false
#15 0x00005555555e4110 in display_mode_line
(w=w@entry=0x5555561a7de0, face_id=MODE_LINE_ACTIVE_FACE_ID, format=XIL(0x7fffef2cc703)) at /home/steve/src/emacs/emacs-master/src/xdisp.c:27495
it = {
window = XIL(0x5555561a7de5),
w = 0x5555561a7de0,
f = 0x5555561a7b58,
method = GET_FROM_BUFFER,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
end_charpos = 0,
medium_narrowing_begv = 0,
medium_narrowing_zv = 0,
large_narrowing_begv = 0,
large_narrowing_zv = 0,
s = 0x0,
string_nchars = 0,
multibyte_p = true,
tab_line_p = false,
header_line_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
from_disp_prop_p = false,
ellipsis_p = false,
avoid_cursor_p = false,
dp = 0x0,
dpvec = 0x0,
dpend = 0x0,
dpvec_char_len = 0,
dpvec_face_id = 0,
saved_face_id = 0,
ctl_chars = {XIL(0) <repeats 16 times>},
start = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = -1,
string_pos = {
charpos = -1,
bytepos = -1
},
dpvec_index = -1
},
n_overlay_strings = 0,
overlay_strings_charpos = 0,
overlay_strings = {XIL(0) <repeats 16 times>},
string_overlays = {XIL(0) <repeats 16 times>},
string = XIL(0),
from_overlay = XIL(0),
stack = {{
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}},
sp = 0,
selective = 0,
what = IT_CHARACTER,
face_id = 1,
selective_display_ellipsis_p = true,
ctl_arrow_p = true,
face_box_p = true,
start_of_box_run_p = true,
end_of_box_run_p = false,
overlay_strings_at_end_processed_p = false,
ignore_overlay_strings_at_pos_p = false,
glyph_not_available_p = false,
starts_in_middle_of_char_p = false,
face_before_selective_p = false,
constrain_row_ascent_descent_p = false,
line_number_produced_p = false,
align_visually_p = false,
line_wrap = TRUNCATE,
base_face_id = 1,
c = 0,
len = 0,
cmp_it = {
stop_pos = 0,
id = -1,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = false,
parent_it = 0x7fffff673cd0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
char_to_display = 0,
glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE,
image_id = 0,
xwidget = 0x0,
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
space_width = XIL(0),
voffset = 0,
tab_width = 8,
font_height = XIL(0),
object = XIL(0),
position = {
charpos = 0,
bytepos = 0
},
truncation_pixel_width = 8,
continuation_pixel_width = 0,
first_visible_x = 0,
last_visible_x = 671,
last_visible_y = 578,
extra_line_spacing = 0,
max_extra_line_spacing = 0,
override_ascent = -1,
override_descent = 0,
override_boff = 0,
glyph_row = 0x555555f9fbf0,
area = TEXT_AREA,
nglyphs = 1,
pixel_width = 0,
ascent = 0,
descent = 0,
max_ascent = 0,
max_descent = 0,
phys_ascent = 0,
phys_descent = 0,
max_phys_ascent = 0,
max_phys_descent = 0,
current_x = 0,
wrap_prefix_width = 0,
continuation_lines_width = 0,
eol_pos = {
charpos = 0,
bytepos = 0
},
current_y = 0,
first_vpos = 0,
vpos = 0,
hpos = 0,
lnum = 0,
lnum_bytepos = 0,
lnum_width = 0,
lnum_pixel_width = 0,
pt_lnum = 0,
stretch_adjust = 0,
left_user_fringe_bitmap = 0,
right_user_fringe_bitmap = 0,
left_user_fringe_face_id = 0,
right_user_fringe_face_id = 0,
bidi_p = false,
bidi_it = {
bytepos = 0,
charpos = 0,
ch = 0,
nchars = 0,
ch_len = 0,
type = UNKNOWN_BT,
type_after_wn = UNKNOWN_BT,
orig_type = UNKNOWN_BT,
resolved_level = 0 '\000',
isolate_level = 0 '\000',
invalid_levels = 0,
invalid_isolates = 0,
prev = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
last_strong = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
prev_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_ws = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
bracket_pairing_pos = 0,
bracket_enclosed_type = UNKNOWN_BT,
next_en_pos = 0,
next_en_type = UNKNOWN_BT,
sos = NEUTRAL_DIR,
scan_dir = 0,
disp_pos = 0,
disp_prop = 0,
stack_idx = 0,
level_stack = {{
next_for_neutral_pos = 0,
next_for_neutral_type = 0,
last_strong_type = 0,
prev_for_neutral_type = 0,
level = 0 '\000',
flags = 0 '\000'
} <repeats 128 times>},
string = {
lstring = XIL(0),
s = 0x0,
schars = 0,
bufpos = 0,
from_disp_str = false,
unibyte = false
},
w = 0x5555561a7de0,
paragraph_dir = NEUTRAL_DIR,
separator_limit = 0,
first_elt = false,
new_paragraph = false,
frame_window_p = false
},
paragraph_embedding = L2R,
min_width_property = XIL(0),
min_width_start = 0
}
face = <optimized out>
count = {
bytes = <optimized out>
}
#16 0x00005555555e4863 in pos_visible_p
(w=w@entry=0x5555561a7de0, charpos=charpos@entry=230, x=x@entry=0x7fffff679f30, y=y@entry=0x7fffff679f34, rtop=rtop@entry=0x7fffff679f20, rbot=rbot@entry=0x7fffff679f24, rowh=0x7fffff679f28, vpos=0x7fffff679f2c)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:1732
window_mode_line_format = <optimized out>
it = {
window = XIL(0),
w = 0x0,
f = 0x0,
method = GET_FROM_BUFFER,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
end_charpos = 0,
medium_narrowing_begv = 0,
medium_narrowing_zv = 0,
large_narrowing_begv = 0,
large_narrowing_zv = 0,
s = 0x0,
string_nchars = 0,
multibyte_p = false,
tab_line_p = false,
header_line_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
from_disp_prop_p = false,
ellipsis_p = false,
avoid_cursor_p = false,
dp = 0x0,
dpvec = 0x0,
dpend = 0x0,
dpvec_char_len = 0,
dpvec_face_id = 0,
saved_face_id = 0,
ctl_chars = {XIL(0) <repeats 16 times>},
start = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
n_overlay_strings = 0,
overlay_strings_charpos = 0,
overlay_strings = {XIL(0) <repeats 16 times>},
string_overlays = {XIL(0) <repeats 16 times>},
string = XIL(0),
from_overlay = XIL(0),
stack = {{
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}},
sp = 0,
selective = 0,
what = IT_CHARACTER,
face_id = 0,
selective_display_ellipsis_p = false,
ctl_arrow_p = false,
face_box_p = false,
start_of_box_run_p = false,
end_of_box_run_p = false,
overlay_strings_at_end_processed_p = false,
ignore_overlay_strings_at_pos_p = false,
glyph_not_available_p = false,
starts_in_middle_of_char_p = false,
face_before_selective_p = false,
constrain_row_ascent_descent_p = false,
line_number_produced_p = false,
align_visually_p = false,
line_wrap = TRUNCATE,
base_face_id = 0,
c = 0,
len = 0,
cmp_it = {
stop_pos = 0,
id = 0,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
char_to_display = 0,
glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE,
image_id = 0,
xwidget = 0x0,
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
space_width = XIL(0),
voffset = 0,
tab_width = 0,
font_height = XIL(0),
object = XIL(0),
position = {
charpos = 0,
bytepos = 0
},
truncation_pixel_width = 0,
continuation_pixel_width = 0,
first_visible_x = 0,
last_visible_x = 0,
last_visible_y = 0,
extra_line_spacing = 0,
max_extra_line_spacing = 0,
override_ascent = 0,
override_descent = 0,
override_boff = 0,
glyph_row = 0x0,
area = LEFT_MARGIN_AREA,
nglyphs = 0,
pixel_width = 0,
ascent = 0,
descent = 0,
max_ascent = 0,
max_descent = 0,
phys_ascent = 0,
phys_descent = 0,
max_phys_ascent = 0,
max_phys_descent = 0,
current_x = 0,
wrap_prefix_width = 0,
continuation_lines_width = 0,
eol_pos = {
charpos = 0,
bytepos = 0
},
current_y = 0,
first_vpos = 0,
vpos = 0,
hpos = 0,
lnum = 0,
lnum_bytepos = 0,
lnum_width = 0,
lnum_pixel_width = 0,
pt_lnum = 0,
stretch_adjust = 0,
left_user_fringe_bitmap = 0,
right_user_fringe_bitmap = 0,
left_user_fringe_face_id = 0,
right_user_fringe_face_id = 0,
bidi_p = false,
bidi_it = {
bytepos = 0,
charpos = 0,
ch = 0,
nchars = 0,
ch_len = 0,
type = UNKNOWN_BT,
type_after_wn = UNKNOWN_BT,
orig_type = UNKNOWN_BT,
resolved_level = 0 '\000',
isolate_level = 0 '\000',
invalid_levels = 0,
invalid_isolates = 0,
prev = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
last_strong = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
prev_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_ws = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
bracket_pairing_pos = 0,
bracket_enclosed_type = UNKNOWN_BT,
next_en_pos = 0,
next_en_type = UNKNOWN_BT,
sos = NEUTRAL_DIR,
scan_dir = 0,
disp_pos = 0,
disp_prop = 0,
stack_idx = 0,
level_stack = {{
next_for_neutral_pos = 0,
next_for_neutral_type = 0,
last_strong_type = 0,
prev_for_neutral_type = 0,
level = 0 '\000',
flags = 0 '\000'
} <repeats 128 times>},
string = {
lstring = XIL(0),
s = 0x0,
schars = 0,
bufpos = 0,
from_disp_str = false,
unibyte = false
},
w = 0x0,
paragraph_dir = NEUTRAL_DIR,
separator_limit = 0,
first_elt = false,
new_paragraph = false,
frame_window_p = false
},
paragraph_embedding = NEUTRAL_DIR,
min_width_property = XIL(0),
min_width_start = 0
}
itdata = 0x0
top = {
charpos = <optimized out>,
bytepos = <optimized out>
}
visible_p = false
old_buffer = 0x0
r2l = false
prev_mode_line_height = 17
prev_header_line_height = -1
prev_tab_line_height = -1
#17 0x0000555555602027 in Fpos_visible_in_window_p
(pos=make_fixnum(230), window=window@entry=XIL(0x5555561a7de5), partially=partially@entry=XIL(0x30)) at /home/steve/src/emacs/emacs-master/src/window.c:2018
w = 0x5555561a7de0
posint = 230
buf = 0x7fffef7b00b0
top = {
charpos = <optimized out>,
bytepos = <optimized out>
}
in_window = XIL(0)
rtop = 595
rbot = 0
rowh = 81115136
vpos = -216074776
fully_p = true
x = 95072
y = 0
#18 0x00005555556a34de in Fposn_at_point
(pos=<optimized out>, window=XIL(0x5555561a7de5))
at /home/steve/src/emacs/emacs-master/src/keyboard.c:12547
tem = <optimized out>
#19 0x00007fffef1d00ba in F77696e646f772d696e2d646972656374696f6e_window_in_direction_0 ()
at /home/steve/build/emacs-master/src/../native-lisp/31.0.50-d78d1870/preloaded/window-d09bfc58-55eb0ae6.eln
#20 0x0000555555716f82 in eval_sub (form=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/eval.c:2594
i = 6
maxargs = 6
args_left = XIL(0)
numargs = 1
original_fun = <optimized out>
original_args = XIL(0x7fffef2cc6b3)
count = {
bytes = <optimized out>
}
fun = XIL(0x7fffefa0bcfd)
val = <optimized out>
funcar = <optimized out>
argvals = {XIL(0x74a0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0)}
retry = <optimized out>
#21 0x0000555555717775 in Fif (args=XIL(0x7fffef2cc6a3))
at /home/steve/src/emacs/emacs-master/src/eval.c:382
cond = <optimized out>
#22 0x0000555555716d2e in eval_sub (form=form@entry=XIL(0x7fffef2cc6f3))
at /home/steve/src/emacs/emacs-master/src/eval.c:2526
args_left = XIL(0x7fffef2cc6a3)
numargs = 3
original_fun = XIL(0xaa10)
original_args = XIL(0x7fffef2cc6a3)
count = {
bytes = <optimized out>
}
fun = XIL(0x555555d538a5)
val = <optimized out>
funcar = <optimized out>
argvals = {XIL(0), XIL(0x7fffefbcdc0b), XIL(0x5555569c8100), XIL(0x1), XIL(0x5555569c8100), XIL(0x7fffff67a508), XIL(0x555555d52d00), XIL(0x5555557134a9)}
retry = <optimized out>
#23 0x0000555555718514 in Feval (form=XIL(0x7fffef2cc6f3), lexical=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/eval.c:2439
count = {
bytes = <optimized out>
}
#24 0x0000555555715eb6 in funcall_subr
(subr=subr@entry=0x555555d52d00 <Seval>, numargs=numargs@entry=2, args=args@entry=0x7fffff67a508) at /home/steve/src/emacs/emacs-master/src/eval.c:3140
argbuf = {XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0x555555704cf0)}
a = <optimized out>
maxargs = 2
fun = <optimized out>
#25 0x00005555557176f2 in funcall_general
(fun=XIL(0x555555d52d05), numargs=numargs@entry=2, args=args@entry=0x7fffff67a508) at /home/steve/src/emacs/emacs-master/src/lisp.h:2256
original_fun = XIL(0x7ce0)
#26 0x0000555555714cc1 in Ffuncall
(nargs=nargs@entry=3, args=args@entry=0x7fffff67a500)
at /home/steve/src/emacs/emacs-master/src/eval.c:3070
count = {
bytes = 94944
}
val = <optimized out>
#27 0x0000555555713e23 in internal_condition_case_n
(bfun=bfun@entry=0x555555714c25 <Ffuncall>, nargs=nargs@entry=3, args=args@entry=0x7fffff67a500, handlers=handlers@entry=XIL(0x30), hfun=hfun@entry=0x5555555cbc2a <dsafe_eval_handler>) at /home/steve/src/emacs/emacs-master/src/eval.c:1678
val = <optimized out>
c = 0x555556898de0
#28 0x00005555555bb4c7 in dsafe__call
(inhibit_quit=inhibit_quit@entry=true, f=0x555555714c25 <Ffuncall>, nargs=nargs@entry=3, args=args@entry=0x7fffff67a500)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:3093
count = {
bytes = <optimized out>
}
val = <optimized out>
#29 0x00005555555bb5a0 in dsafe_eval (sexpr=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:3129
#30 0x00005555555e31d6 in display_mode_element
(it=it@entry=0x7fffff67a630, depth=1,
depth@entry=0, field_width=field_width@entry=0, precision=precision@entry=0, elt=elt@entry=XIL(0x7fffef2cc703), props=props@entry=XIL(0), risky=false)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:27984
spec = <optimized out>
car = XIL(0xf30)
tem = <optimized out>
n = 0
field = <optimized out>
prec = <optimized out>
literal = false
#31 0x00005555555e4110 in display_mode_line
(w=w@entry=0x5555561a7de0, face_id=MODE_LINE_ACTIVE_FACE_ID, format=XIL(0x7fffef2cc703)) at /home/steve/src/emacs/emacs-master/src/xdisp.c:27495
it = {
window = XIL(0x5555561a7de5),
w = 0x5555561a7de0,
f = 0x5555561a7b58,
method = GET_FROM_BUFFER,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
end_charpos = 0,
medium_narrowing_begv = 0,
medium_narrowing_zv = 0,
large_narrowing_begv = 0,
large_narrowing_zv = 0,
s = 0x0,
string_nchars = 0,
multibyte_p = true,
tab_line_p = false,
header_line_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
from_disp_prop_p = false,
ellipsis_p = false,
avoid_cursor_p = false,
dp = 0x0,
dpvec = 0x0,
dpend = 0x0,
dpvec_char_len = 0,
dpvec_face_id = 0,
saved_face_id = 0,
ctl_chars = {XIL(0) <repeats 16 times>},
start = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = -1,
string_pos = {
charpos = -1,
bytepos = -1
},
dpvec_index = -1
},
n_overlay_strings = 0,
overlay_strings_charpos = 0,
overlay_strings = {XIL(0) <repeats 16 times>},
string_overlays = {XIL(0) <repeats 16 times>},
string = XIL(0),
from_overlay = XIL(0),
stack = {{
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}},
sp = 0,
selective = 0,
what = IT_CHARACTER,
face_id = 1,
selective_display_ellipsis_p = true,
ctl_arrow_p = true,
face_box_p = true,
start_of_box_run_p = true,
end_of_box_run_p = false,
overlay_strings_at_end_processed_p = false,
ignore_overlay_strings_at_pos_p = false,
glyph_not_available_p = false,
starts_in_middle_of_char_p = false,
face_before_selective_p = false,
constrain_row_ascent_descent_p = false,
line_number_produced_p = false,
align_visually_p = false,
line_wrap = TRUNCATE,
base_face_id = 1,
c = 0,
len = 0,
cmp_it = {
stop_pos = 0,
id = -1,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = false,
parent_it = 0x7fffff67a630,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
char_to_display = 0,
glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE,
image_id = 0,
xwidget = 0x0,
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
space_width = XIL(0),
voffset = 0,
tab_width = 8,
font_height = XIL(0),
object = XIL(0),
position = {
charpos = 0,
bytepos = 0
},
truncation_pixel_width = 8,
continuation_pixel_width = 0,
first_visible_x = 0,
last_visible_x = 671,
last_visible_y = 578,
extra_line_spacing = 0,
max_extra_line_spacing = 0,
override_ascent = -1,
override_descent = 0,
override_boff = 0,
glyph_row = 0x555555f9fbf0,
area = TEXT_AREA,
nglyphs = 1,
pixel_width = 0,
ascent = 0,
descent = 0,
max_ascent = 0,
max_descent = 0,
phys_ascent = 0,
phys_descent = 0,
max_phys_ascent = 0,
max_phys_descent = 0,
current_x = 0,
wrap_prefix_width = 0,
continuation_lines_width = 0,
eol_pos = {
charpos = 0,
bytepos = 0
},
current_y = 0,
first_vpos = 0,
vpos = 0,
hpos = 0,
lnum = 0,
lnum_bytepos = 0,
lnum_width = 0,
lnum_pixel_width = 0,
pt_lnum = 0,
stretch_adjust = 0,
left_user_fringe_bitmap = 0,
right_user_fringe_bitmap = 0,
left_user_fringe_face_id = 0,
right_user_fringe_face_id = 0,
bidi_p = false,
bidi_it = {
bytepos = 0,
charpos = 0,
ch = 0,
nchars = 0,
ch_len = 0,
type = UNKNOWN_BT,
type_after_wn = UNKNOWN_BT,
orig_type = UNKNOWN_BT,
resolved_level = 0 '\000',
isolate_level = 0 '\000',
invalid_levels = 0,
invalid_isolates = 0,
prev = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
last_strong = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
prev_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_ws = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
bracket_pairing_pos = 0,
bracket_enclosed_type = UNKNOWN_BT,
next_en_pos = 0,
next_en_type = UNKNOWN_BT,
sos = NEUTRAL_DIR,
scan_dir = 0,
disp_pos = 0,
disp_prop = 0,
stack_idx = 0,
level_stack = {{
next_for_neutral_pos = 0,
next_for_neutral_type = 0,
last_strong_type = 0,
prev_for_neutral_type = 0,
level = 0 '\000',
flags = 0 '\000'
} <repeats 128 times>},
string = {
lstring = XIL(0),
s = 0x0,
schars = 0,
bufpos = 0,
from_disp_str = false,
unibyte = false
},
w = 0x5555561a7de0,
paragraph_dir = NEUTRAL_DIR,
separator_limit = 0,
first_elt = false,
new_paragraph = false,
frame_window_p = false
},
paragraph_embedding = L2R,
min_width_property = XIL(0),
min_width_start = 0
}
face = <optimized out>
count = {
bytes = <optimized out>
}
#32 0x00005555555e4863 in pos_visible_p
(w=w@entry=0x5555561a7de0, charpos=charpos@entry=230, x=x@entry=0x7fffff680890, y=y@entry=0x7fffff680894, rtop=rtop@entry=0x7fffff680880, rbot=rbot@entry=0x7fffff680884, rowh=0x7fffff680888, vpos=0x7fffff68088c)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:1732
window_mode_line_format = <optimized out>
it = {
window = XIL(0),
w = 0x0,
f = 0x0,
method = GET_FROM_BUFFER,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
end_charpos = 0,
medium_narrowing_begv = 0,
medium_narrowing_zv = 0,
large_narrowing_begv = 0,
large_narrowing_zv = 0,
s = 0x0,
string_nchars = 0,
multibyte_p = false,
tab_line_p = false,
header_line_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
from_disp_prop_p = false,
ellipsis_p = false,
avoid_cursor_p = false,
dp = 0x0,
dpvec = 0x0,
dpend = 0x0,
dpvec_char_len = 0,
dpvec_face_id = 0,
saved_face_id = 0,
ctl_chars = {XIL(0) <repeats 16 times>},
start = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
n_overlay_strings = 0,
overlay_strings_charpos = 0,
overlay_strings = {XIL(0) <repeats 16 times>},
string_overlays = {XIL(0) <repeats 16 times>},
string = XIL(0),
from_overlay = XIL(0),
stack = {{
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}},
sp = 0,
selective = 0,
what = IT_CHARACTER,
face_id = 0,
selective_display_ellipsis_p = false,
ctl_arrow_p = false,
face_box_p = false,
start_of_box_run_p = false,
end_of_box_run_p = false,
overlay_strings_at_end_processed_p = false,
ignore_overlay_strings_at_pos_p = false,
glyph_not_available_p = false,
starts_in_middle_of_char_p = false,
face_before_selective_p = false,
constrain_row_ascent_descent_p = false,
line_number_produced_p = false,
align_visually_p = false,
line_wrap = TRUNCATE,
base_face_id = 0,
c = 0,
len = 0,
cmp_it = {
stop_pos = 0,
id = 0,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
char_to_display = 0,
glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE,
image_id = 0,
xwidget = 0x0,
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
space_width = XIL(0),
voffset = 0,
tab_width = 0,
font_height = XIL(0),
object = XIL(0),
position = {
charpos = 0,
bytepos = 0
},
truncation_pixel_width = 0,
continuation_pixel_width = 0,
first_visible_x = 0,
last_visible_x = 0,
last_visible_y = 0,
extra_line_spacing = 0,
max_extra_line_spacing = 0,
override_ascent = 0,
override_descent = 0,
override_boff = 0,
glyph_row = 0x0,
area = LEFT_MARGIN_AREA,
nglyphs = 0,
pixel_width = 0,
ascent = 0,
descent = 0,
max_ascent = 0,
max_descent = 0,
phys_ascent = 0,
phys_descent = 0,
max_phys_ascent = 0,
max_phys_descent = 0,
current_x = 0,
wrap_prefix_width = 0,
continuation_lines_width = 0,
eol_pos = {
charpos = 0,
bytepos = 0
},
current_y = 0,
first_vpos = 0,
vpos = 0,
hpos = 0,
lnum = 0,
lnum_bytepos = 0,
lnum_width = 0,
lnum_pixel_width = 0,
pt_lnum = 0,
stretch_adjust = 0,
left_user_fringe_bitmap = 0,
right_user_fringe_bitmap = 0,
left_user_fringe_face_id = 0,
right_user_fringe_face_id = 0,
bidi_p = false,
bidi_it = {
bytepos = 0,
charpos = 0,
ch = 0,
nchars = 0,
ch_len = 0,
type = UNKNOWN_BT,
type_after_wn = UNKNOWN_BT,
orig_type = UNKNOWN_BT,
resolved_level = 0 '\000',
isolate_level = 0 '\000',
invalid_levels = 0,
invalid_isolates = 0,
prev = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
last_strong = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
prev_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_ws = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
bracket_pairing_pos = 0,
bracket_enclosed_type = UNKNOWN_BT,
next_en_pos = 0,
next_en_type = UNKNOWN_BT,
sos = NEUTRAL_DIR,
scan_dir = 0,
disp_pos = 0,
disp_prop = 0,
stack_idx = 0,
level_stack = {{
next_for_neutral_pos = 0,
next_for_neutral_type = 0,
last_strong_type = 0,
prev_for_neutral_type = 0,
level = 0 '\000',
flags = 0 '\000'
} <repeats 128 times>},
string = {
lstring = XIL(0),
s = 0x0,
schars = 0,
bufpos = 0,
from_disp_str = false,
unibyte = false
},
w = 0x0,
paragraph_dir = NEUTRAL_DIR,
separator_limit = 0,
first_elt = false,
new_paragraph = false,
frame_window_p = false
},
paragraph_embedding = NEUTRAL_DIR,
min_width_property = XIL(0),
min_width_start = 0
}
itdata = 0x0
top = {
charpos = <optimized out>,
bytepos = <optimized out>
}
visible_p = false
old_buffer = 0x0
r2l = false
prev_mode_line_height = 17
prev_header_line_height = -1
prev_tab_line_height = -1
#33 0x0000555555602027 in Fpos_visible_in_window_p
(pos=make_fixnum(230), window=window@entry=XIL(0x5555561a7de5), partially=partially@entry=XIL(0x30)) at /home/steve/src/emacs/emacs-master/src/window.c:2018
w = 0x5555561a7de0
posint = 230
buf = 0x7fffef7b00b0
top = {
charpos = <optimized out>,
bytepos = <optimized out>
}
in_window = XIL(0)
rtop = 595
rbot = 0
rowh = 81115136
vpos = -216074776
fully_p = true
x = 94816
y = 0
#34 0x00005555556a34de in Fposn_at_point
(pos=<optimized out>, window=XIL(0x5555561a7de5))
at /home/steve/src/emacs/emacs-master/src/keyboard.c:12547
tem = <optimized out>
#35 0x00007fffef1d00ba in F77696e646f772d696e2d646972656374696f6e_window_in_direction_0 ()
at /home/steve/build/emacs-master/src/../native-lisp/31.0.50-d78d1870/preloaded/window-d09bfc58-55eb0ae6.eln
#36 0x0000555555716f82 in eval_sub (form=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/eval.c:2594
i = 6
maxargs = 6
args_left = XIL(0)
numargs = 1
original_fun = <optimized out>
original_args = XIL(0x7fffef2cc6b3)
count = {
bytes = <optimized out>
}
fun = XIL(0x7fffefa0bcfd)
val = <optimized out>
funcar = <optimized out>
argvals = {XIL(0x74a0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0)}
retry = <optimized out>
#37 0x0000555555717775 in Fif (args=XIL(0x7fffef2cc6a3))
at /home/steve/src/emacs/emacs-master/src/eval.c:382
cond = <optimized out>
#38 0x0000555555716d2e in eval_sub (form=form@entry=XIL(0x7fffef2cc6f3))
at /home/steve/src/emacs/emacs-master/src/eval.c:2526
args_left = XIL(0x7fffef2cc6a3)
numargs = 3
original_fun = XIL(0xaa10)
original_args = XIL(0x7fffef2cc6a3)
count = {
bytes = <optimized out>
}
fun = XIL(0x555555d538a5)
val = <optimized out>
funcar = <optimized out>
argvals = {XIL(0), XIL(0x7fffefbcdc0b), XIL(0x5555569c8000), XIL(0x1), XIL(0x5555569c8000), XIL(0x7fffff680e68), XIL(0x555555d52d00), XIL(0x5555557134a9)}
retry = <optimized out>
#39 0x0000555555718514 in Feval (form=XIL(0x7fffef2cc6f3), lexical=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/eval.c:2439
count = {
bytes = <optimized out>
}
#40 0x0000555555715eb6 in funcall_subr
(subr=subr@entry=0x555555d52d00 <Seval>, numargs=numargs@entry=2, args=args@entry=0x7fffff680e68) at /home/steve/src/emacs/emacs-master/src/eval.c:3140
argbuf = {XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0x555555704cf0)}
a = <optimized out>
maxargs = 2
fun = <optimized out>
#41 0x00005555557176f2 in funcall_general
(fun=XIL(0x555555d52d05), numargs=numargs@entry=2, args=args@entry=0x7fffff680e68) at /home/steve/src/emacs/emacs-master/src/lisp.h:2256
original_fun = XIL(0x7ce0)
#42 0x0000555555714cc1 in Ffuncall
(nargs=nargs@entry=3, args=args@entry=0x7fffff680e60)
at /home/steve/src/emacs/emacs-master/src/eval.c:3070
count = {
bytes = 94688
}
val = <optimized out>
#43 0x0000555555713e23 in internal_condition_case_n
(bfun=bfun@entry=0x555555714c25 <Ffuncall>, nargs=nargs@entry=3, args=args@entry=0x7fffff680e60, handlers=handlers@entry=XIL(0x30), hfun=hfun@entry=0x5555555cbc2a <dsafe_eval_handler>) at /home/steve/src/emacs/emacs-master/src/eval.c:1678
val = <optimized out>
c = 0x555556898c80
#44 0x00005555555bb4c7 in dsafe__call
(inhibit_quit=inhibit_quit@entry=true, f=0x555555714c25 <Ffuncall>, nargs=nargs@entry=3, args=args@entry=0x7fffff680e60)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:3093
count = {
bytes = <optimized out>
}
val = <optimized out>
#45 0x00005555555bb5a0 in dsafe_eval (sexpr=<optimized out>)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:3129
#46 0x00005555555e31d6 in display_mode_element
(it=it@entry=0x7fffff680f90, depth=1,
depth@entry=0, field_width=field_width@entry=0, precision=precision@entry=0, elt=elt@entry=XIL(0x7fffef2cc703), props=props@entry=XIL(0), risky=false)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:27984
spec = <optimized out>
car = XIL(0xf30)
tem = <optimized out>
n = 0
field = <optimized out>
prec = <optimized out>
literal = false
#47 0x00005555555e4110 in display_mode_line
(w=w@entry=0x5555561a7de0, face_id=MODE_LINE_ACTIVE_FACE_ID, format=XIL(0x7fffef2cc703)) at /home/steve/src/emacs/emacs-master/src/xdisp.c:27495
it = {
window = XIL(0x5555561a7de5),
w = 0x5555561a7de0,
f = 0x5555561a7b58,
method = GET_FROM_BUFFER,
stop_charpos = 0,
prev_stop = 0,
base_level_stop = 0,
end_charpos = 0,
medium_narrowing_begv = 0,
medium_narrowing_zv = 0,
large_narrowing_begv = 0,
large_narrowing_zv = 0,
s = 0x0,
string_nchars = 0,
multibyte_p = true,
tab_line_p = false,
header_line_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
from_disp_prop_p = false,
ellipsis_p = false,
avoid_cursor_p = false,
dp = 0x0,
dpvec = 0x0,
dpend = 0x0,
dpvec_char_len = 0,
dpvec_face_id = 0,
saved_face_id = 0,
ctl_chars = {XIL(0) <repeats 16 times>},
start = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = 0,
string_pos = {
charpos = 0,
bytepos = 0
},
dpvec_index = 0
},
current = {
pos = {
charpos = 0,
bytepos = 0
},
overlay_string_index = -1,
string_pos = {
charpos = -1,
bytepos = -1
},
dpvec_index = -1
},
n_overlay_strings = 0,
overlay_strings_charpos = 0,
overlay_strings = {XIL(0) <repeats 16 times>},
string_overlays = {XIL(0) <repeats 16 times>},
string = XIL(0),
from_overlay = XIL(0),
stack = {{
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}, {
string = XIL(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 = false,
parent_it = 0x0,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
face_id = 0,
u = {
image = {
object = XIL(0),
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
image_id = 0
},
stretch = {
object = XIL(0)
},
xwidget = {
object = XIL(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 = XIL(0),
area = LEFT_MARGIN_AREA,
method = GET_FROM_BUFFER,
paragraph_embedding = NEUTRAL_DIR,
multibyte_p = false,
string_from_display_prop_p = false,
string_from_prefix_prop_p = false,
display_ellipsis_p = false,
avoid_cursor_p = false,
bidi_p = false,
from_disp_prop_p = false,
line_wrap = TRUNCATE,
voffset = 0,
space_width = XIL(0),
font_height = XIL(0)
}},
sp = 0,
selective = 0,
what = IT_CHARACTER,
face_id = 1,
selective_display_ellipsis_p = true,
ctl_arrow_p = true,
face_box_p = true,
start_of_box_run_p = true,
end_of_box_run_p = false,
overlay_strings_at_end_processed_p = false,
ignore_overlay_strings_at_pos_p = false,
glyph_not_available_p = false,
starts_in_middle_of_char_p = false,
face_before_selective_p = false,
constrain_row_ascent_descent_p = false,
line_number_produced_p = false,
align_visually_p = false,
line_wrap = TRUNCATE,
base_face_id = 1,
c = 0,
len = 0,
cmp_it = {
stop_pos = 0,
id = -1,
ch = 0,
rule_idx = 0,
lookback = 0,
nglyphs = 0,
reversed_p = false,
parent_it = 0x7fffff680f90,
charpos = 0,
nchars = 0,
nbytes = 0,
from = 0,
to = 0,
width = 0
},
char_to_display = 0,
glyphless_method = GLYPHLESS_DISPLAY_THIN_SPACE,
image_id = 0,
xwidget = 0x0,
slice = {
x = XIL(0),
y = XIL(0),
width = XIL(0),
height = XIL(0)
},
space_width = XIL(0),
voffset = 0,
tab_width = 8,
font_height = XIL(0),
object = XIL(0),
position = {
charpos = 0,
bytepos = 0
},
truncation_pixel_width = 8,
continuation_pixel_width = 0,
first_visible_x = 0,
last_visible_x = 671,
last_visible_y = 578,
extra_line_spacing = 0,
max_extra_line_spacing = 0,
override_ascent = -1,
override_descent = 0,
override_boff = 0,
glyph_row = 0x555555f9fbf0,
area = TEXT_AREA,
nglyphs = 1,
pixel_width = 0,
ascent = 0,
descent = 0,
max_ascent = 0,
max_descent = 0,
phys_ascent = 0,
phys_descent = 0,
max_phys_ascent = 0,
max_phys_descent = 0,
current_x = 0,
wrap_prefix_width = 0,
continuation_lines_width = 0,
eol_pos = {
charpos = 0,
bytepos = 0
},
current_y = 0,
first_vpos = 0,
vpos = 0,
hpos = 0,
lnum = 0,
lnum_bytepos = 0,
lnum_width = 0,
lnum_pixel_width = 0,
pt_lnum = 0,
stretch_adjust = 0,
left_user_fringe_bitmap = 0,
right_user_fringe_bitmap = 0,
left_user_fringe_face_id = 0,
right_user_fringe_face_id = 0,
bidi_p = false,
bidi_it = {
bytepos = 0,
charpos = 0,
ch = 0,
nchars = 0,
ch_len = 0,
type = UNKNOWN_BT,
type_after_wn = UNKNOWN_BT,
orig_type = UNKNOWN_BT,
resolved_level = 0 '\000',
isolate_level = 0 '\000',
invalid_levels = 0,
invalid_isolates = 0,
prev = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
last_strong = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
prev_for_neutral = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
next_for_ws = {
charpos = 0,
type = UNKNOWN_BT,
orig_type = UNKNOWN_BT
},
bracket_pairing_pos = 0,
bracket_enclosed_type = UNKNOWN_BT,
next_en_pos = 0,
next_en_type = UNKNOWN_BT,
sos = NEUTRAL_DIR,
scan_dir = 0,
disp_pos = 0,
disp_prop = 0,
stack_idx = 0,
level_stack = {{
next_for_neutral_pos = 0,
next_for_neutral_type = 0,
last_strong_type = 0,
prev_for_neutral_type = 0,
level = 0 '\000',
flags = 0 '\000'
} <repeats 128 times>},
string = {
lstring = XIL(0),
s = 0x0,
schars = 0,
bufpos = 0,
from_disp_str = false,
unibyte = false
},
w = 0x5555561a7de0,
paragraph_dir = NEUTRAL_DIR,
separator_limit = 0,
first_elt = false,
new_paragraph = false,
frame_window_p = false
},
paragraph_embedding = L2R,
min_width_property = XIL(0),
min_width_start = 0
}
face = <optimized out>
count = {
bytes = <optimized out>
}
#48 0x00005555555e4863 in pos_visible_p
(w=w@entry=0x5555561a7de0, charpos=charpos@entry=230, x=x@entry=0x7fffff6871f0, y=y@entry=0x7fffff6871f4, rtop=rtop@entry=0x7fffff6871e0, rbot=rbot@entry=0x7fffff6871e4, rowh=0x7fffff6871e8, vpos=0x7fffff6871ec)
at /home/steve/src/emacs/emacs-master/src/xdisp.c:1732
window_mode_line_format = <optimized out>
[...]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Freeze with specific evaluation in the modeline
2024-09-02 21:40 ` Stephen Berman
@ 2024-09-03 14:17 ` Eli Zaretskii
2024-09-03 18:13 ` Nicolas P. Rougier (gmail)
0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2024-09-03 14:17 UTC (permalink / raw)
To: Stephen Berman; +Cc: nicolas.rougier, emacs-devel
> From: Stephen Berman <stephen.berman@gmx.net>
> Cc: emacs-devel@gnu.org
> Date: Mon, 02 Sep 2024 23:40:24 +0200
>
> On Mon, 02 Sep 2024 21:56:13 +0200 "Nicolas P. Rougier (inria)" <nicolas.rougier@inria.fr> wrote:
>
> > I've tried the following code (with Emacs -q, v30.0.60):
> >
> > (setq mode-line-format
> > '(:eval (if (window-in-direction 'down) "yes" "no")))
> >
> > and it somehow freezes Emacs even though menubar is still responsive and
> > I can quit through the menu. I'm not sure how to debug since I cannot
> > really interact anymore.
> >
> > Could anyone confirms the behavior?
>
> I can, and when I ran emacs under gdb and evaluated the above sexp, this
> immediately caused a segfault in pos_visible_p. I then typed bt full at
> the gdb prompt and the backtrace appeared to infloop; when I interrupted
> it, it was at frame #3935. Below is the backtrace up to the start of
> frame #48, which I think shows the loop.
It isn't a loop, it's infinite recursion. window-in-direction calls
posn-at-point, which calls display_mode_line, which again evaluates
the form, which calls window-in-direction...
Just don't do this, is all I can say. I don't see a way of protecting
against this without disabling useful features of :eval. Emacs gives
you enough rope to hang yourself, but don't hang yourself. The
variant below avoids infinite recursion, perhaps at a price of losing
accuracy in some corner cases:
(setq mode-line-format
'(:eval (let (mode-line-format)
(if (window-in-direction 'down) "yes" "no"))))
The :eval feature is inherently dangerous. The documentation of :eval
already warns about one possible danger of getting infinite recursion,
I will try to find a way to add this caveat as well.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Freeze with specific evaluation in the modeline
2024-09-03 14:17 ` Eli Zaretskii
@ 2024-09-03 18:13 ` Nicolas P. Rougier (gmail)
0 siblings, 0 replies; 4+ messages in thread
From: Nicolas P. Rougier (gmail) @ 2024-09-03 18:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Stephen Berman, nicolas.rougier, emacs-devel
On Tue 03 Sep 2024 at 17:17, Eli Zaretskii <eliz@gnu.org> wrote:
> It isn't a loop, it's infinite recursion. window-in-direction calls
> posn-at-point, which calls display_mode_line, which again evaluates
> the form, which calls window-in-direction...
>
> Just don't do this, is all I can say. I don't see a way of protecting
> against this without disabling useful features of :eval. Emacs gives
> you enough rope to hang yourself, but don't hang yourself. The
> variant below avoids infinite recursion, perhaps at a price of losing
> accuracy in some corner cases:
>
> (setq mode-line-format
> '(:eval (let (mode-line-format)
> (if (window-in-direction 'down) "yes" "no"))))
>
> The :eval feature is inherently dangerous. The documentation of :eval
> already warns about one possible danger of getting infinite recursion,
> I will try to find a way to add this caveat as well.
Thanks for the answer. I'll try your work-around.
What I'm trying to do is to have vertical spacing between windows and my
first idea was of course to use window-divider-mode. But even with a
single window, the mode adds a bottom spacing due to the presence of the
minibuffer window (I think), even though (window-in-direction 'down)
reports no window in such configuration. My second idea was then to use
the mode line as a (dynamic) separator.
Nicolas
--
Nicolas P. Rougier —— www.labri.fr/perso/nrougier
Institute of Neurodegenerative Diseases, Bordeaux
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-09-03 18:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-02 19:56 Freeze with specific evaluation in the modeline Nicolas P. Rougier (inria)
2024-09-02 21:40 ` Stephen Berman
2024-09-03 14:17 ` Eli Zaretskii
2024-09-03 18:13 ` Nicolas P. Rougier (gmail)
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).