[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master f92520d009e 1/2: Don't pause display for pending input
From: |
Gerd Möllmann |
Subject: |
Re: master f92520d009e 1/2: Don't pause display for pending input |
Date: |
Thu, 19 Dec 2024 14:06:03 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: emacs-devel@gnu.org, Gerd Möllmann <gerd@gnu.org>
>> Date: Thu, 19 Dec 2024 13:24:41 +0100
>>
>> Andrea Corallo <acorallo@gnu.org> writes:
>>
>> > And with --enable-checking=all --enable-check-lisp-object-type
>> > --with-native-compilation=yes
>> >
>> > =======
>> > In file included from dispnew.c:27:
>> > In function ‘PSEUDOVECTORP’,
>> > inlined from ‘FRAMEP’ at lisp.h:3343:10,
>> > inlined from ‘FRAME_PARENT_FRAME’ at frame.h:1236:42,
>> > inlined from ‘root_frame’ at dispnew.c:3340:10,
>> > inlined from ‘is_in_matrix’ at dispnew.c:3877:24,
>> > inlined from ‘is_cursor_obscured’ at dispnew.c:3898:8,
>> > inlined from ‘terminal_cursor_magic’ at dispnew.c:3917:7,
>> > inlined from ‘combine_updates_for_frame’ at dispnew.c:3970:5:
>> > lisp.h:1096:68: warning: null pointer dereference [-Wnull-dereference]
>> > 1096 | && ((XUNTAG (a, Lisp_Vectorlike, union
>> > vectorlike_header)->size
>> > |
>> > ^
>> > =======
>> >
>> This one I don't see here, with clang 19. And I must admit I don't
>> understand it what it is complaining about. The function root_frame
>> is pretty simple:
>>
>> struct frame *
>> root_frame (struct frame *f)
>> {
>> while (FRAME_PARENT_FRAME (f))
>> f = FRAME_PARENT_FRAME (f);
>> return f;
>> }
>>
>> and FRAME_PARENT_FFAME is
>>
>> INLINE struct frame *
>> FRAME_PARENT_FRAME (struct frame *f)
>> {
>> return NILP (f->parent_frame) ? NULL : XFRAME (f->parent_frame);
>> }
>>
>> Any idea?
>
> I think it wants to tell you that the argument F of FRAME_PARENT_FRAME
> could be NULL.
The only explanation I can find is that GCC seems this
#define SELECTED_FRAME() \
((FRAMEP (selected_frame) \
&& FRAME_LIVE_P (XFRAME (selected_frame))) \
? XFRAME (selected_frame) \
: (emacs_abort (), (struct frame *) 0))
and doesn't realize that it actually never returns NULL. That's from up
the stack in is_cursor_obscured.
Beats me, sorry.
- Re: master f92520d009e 1/2: Don't pause display for pending input, Andrea Corallo, 2024/12/19
- Re: master f92520d009e 1/2: Don't pause display for pending input, Gerd Möllmann, 2024/12/19
- Re: master f92520d009e 1/2: Don't pause display for pending input, Andrea Corallo, 2024/12/19
- Re: master f92520d009e 1/2: Don't pause display for pending input, Andrea Corallo, 2024/12/19
- Re: master f92520d009e 1/2: Don't pause display for pending input, Gerd Möllmann, 2024/12/20
- Re: master f92520d009e 1/2: Don't pause display for pending input, Andrea Corallo, 2024/12/20
- Re: master f92520d009e 1/2: Don't pause display for pending input, Gerd Möllmann, 2024/12/20