bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#38038: 27.0.50; Emacs freezes opening tabs.


From: martin rudalics
Subject: bug#38038: 27.0.50; Emacs freezes opening tabs.
Date: Sat, 9 Nov 2019 09:09:13 +0100

> I removed the actual call in extend_face_to_end_of_line to merge_face
> and the issue is still there. And it is actually the only place where
> the :extend attribute is used now; the rest of the code does pretty much
> the same than before.
>
> Just in case:
>
> I also made a rebase locally and removed all the commits related with
> the extend attribute and the issue is still there. So it seems not be
> related at all with the extend attribute...
>
> Any help here?. I am out of ideas. (and I don't have a clue about gc).

Thank you for all the work.  The most interesting aspect is that here it
neither hangs with

(set-face-attribute 'default nil :box t)
(set-face-attribute 'default nil :strike-through t)
(set-face-attribute 'default nil :overline t)

but definitely hangs with

(set-face-attribute 'tool-bar nil :underline t)

So what's so special about underline and the tool bar (or tab bar)?

Here on Windows the latter form hangs on line 2516 of w32term.c

                  Lisp_Object val
                    = buffer_local_value (Qunderline_minimum_offset,
                                          s->w->contents);

which continuously tries to signal an error with the backtrace

#0  xsignal2 (error_symbol=XIL(0xfd80), arg1=XIL(0x32d0), arg2=XIL(0)) at 
../../src/eval.c:1713
#1  0x00000004002dcaa5 in wrong_type_argument (predicate=XIL(0x32d0), 
value=XIL(0)) at ../../src/data.c:155
#2  0x00000004001f82cb in CHECK_BUFFER (x=XIL(0)) at ../../src/buffer.h:707
#3  0x00000004001fed5c in buffer_local_value (variable=XIL(0xe670), 
buffer=XIL(0)) at ../../src/buffer.c:1205
#4  0x000000040049c84f in w32_draw_glyph_string (s=0xbfd2c0) at 
../../src/w32term.c:2516
#5  0x00000004000adaba in draw_glyphs (w=0x5eba170, x=372, row=0x76248d0, 
area=TEXT_AREA, start=0, end=13, hl=DRAW_NORMAL_TEXT, overlaps=0) at 
../../src/xdisp.c:28447
#6  0x00000004000b55a0 in gui_write_glyphs (w=0x5eba170, updated_row=0x76248d0, 
start=0x76f2ad0, updated_area=TEXT_AREA, len=13) at ../../src/xdisp.c:30474
#7  0x0000000400012021 in update_text_area (w=0x5eba170, updated_row=0x76248d0, 
vpos=0) at ../../src/dispnew.c:3832
#8  0x0000000400012b20 in update_window_line (w=0x5eba170, vpos=0, 
mouse_face_overwritten_p=0xbfd857) at ../../src/dispnew.c:4075
#9  0x00000004000115ab in update_window (w=0x5eba170, force_p=true) at 
../../src/dispnew.c:3604
#10 0x0000000400010644 in update_frame (f=0x766c710, force_p=true, 
inhibit_hairy_id_p=false) at ../../src/dispnew.c:3206
#11 0x000000040007b0de in redisplay_internal () at ../../src/xdisp.c:15669
#12 0x0000000400078750 in redisplay () at ../../src/xdisp.c:14816
#13 0x00000004001b5665 in read_char (commandflag=1, map=XIL(0x770e293), 
prev_event=XIL(0), used_mouse_menu=0xbff25f, end_time=0x0) at 
../../src/keyboard.c:2488
#14 0x00000004001c8842 in read_key_sequence (keybuf=0xbff490, prompt=XIL(0), 
dont_downcase_last=false, can_return_switch_frame=true, 
fix_current_buffer=true, prevent_redisplay=false) at ../../src/keyboard.c:9536
#15 0x00000004001b1dff in command_loop_1 () at ../../src/keyboard.c:1345
#16 0x00000004003194ef in internal_condition_case (bfun=0x4001b18e8 <command_loop_1>, 
handlers=XIL(0x90), hfun=0x4001b0d29 <cmd_error>) at ../../src/eval.c:1355
#17 0x00000004001b145e in command_loop_2 (ignore=XIL(0)) at 
../../src/keyboard.c:1091
#18 0x0000000400318944 in internal_catch (tag=XIL(0xdfe0), func=0x4001b142c 
<command_loop_2>, arg=XIL(0)) at ../../src/eval.c:1116
#19 0x00000004001b13b4 in command_loop () at ../../src/keyboard.c:1070
#20 0x0000000000000000 in ?? ()

where frame #3 indicates that we probably should avoid asking for a buffer
local value in a pseudo window.  Right?

martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]