unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: master f92520d009e 1/2: Don't pause display for pending input
       [not found] ` <20241219100603.94BA7C031EB@vcs3.savannah.gnu.org>
@ 2024-12-19 10:52   ` Andrea Corallo
  2024-12-19 11:17     ` Gerd Möllmann
  0 siblings, 1 reply; 6+ messages in thread
From: Andrea Corallo @ 2024-12-19 10:52 UTC (permalink / raw)
  To: emacs-devel; +Cc: Gerd Möllmann

Gerd Moellmann <gerd@gnu.org> writes:

> branch: master
> commit f92520d009e1ab8024b03d9d71ecc9820573c040
> Author: Gerd Möllmann <gerd@gnu.org>
> Commit: Gerd Möllmann <gerd@gnu.org>
>
>     Don't pause display for pending input
>
>     * src/dispnew.c: Remove display_completed, redisplay_dont_pause,
>     redisplay-dont-pause was declared obsolete in Emacs 24.  Remove anything
>     checking pending input, change function signatures accordingly, and so
>     on.
>
>     * src/keyboard.c (read_char): Don't use redisplay_dont_pause.
>     * src/minibuf.c (read_minibuf): Use new function signatures.
>     * src/xdisp.c: Don't check display_completed. Use new API.
>
>     * lisp/subr.el (redisplay-dont-pause): Remove declaration.

I think instances of 'Qredisplay_dont_pause' are still present in the
codebase so some build configurations are now broken (at least my
GNU/Linux one).

=====
xterm.c:6372:13: error: ‘Qredisplay_dont_pause’ undeclared (first use in this function)
 6372 |   specbind (Qredisplay_dont_pause, Qt);
      |             ^~~~~~~~~~~~~~~~~~~~~
xterm.c:6372:13: note: each undeclared identifier is reported only once for each function it appears in
xfns.c: In function ‘Fx_print_frames_dialog’:
xfns.c:9967:13: error: ‘Qredisplay_dont_pause’ undeclared (first use in this function)
 9967 |   specbind (Qredisplay_dont_pause, Qt);
      |             ^~~~~~~~~~~~~~~~~~~~~
xfns.c:9967:13: note: each undeclared identifier is reported only once for each function it appears in
=====

Could you have a look?

Thanks



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: master f92520d009e 1/2: Don't pause display for pending input
  2024-12-19 10:52   ` master f92520d009e 1/2: Don't pause display for pending input Andrea Corallo
@ 2024-12-19 11:17     ` Gerd Möllmann
  2024-12-19 12:04       ` Andrea Corallo
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Möllmann @ 2024-12-19 11:17 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: emacs-devel, Gerd Möllmann

Andrea Corallo <acorallo@gnu.org> writes:

> Gerd Moellmann <gerd@gnu.org> writes:
>
>> branch: master
>> commit f92520d009e1ab8024b03d9d71ecc9820573c040
>> Author: Gerd Möllmann <gerd@gnu.org>
>> Commit: Gerd Möllmann <gerd@gnu.org>
>>
>>     Don't pause display for pending input
>>
>>     * src/dispnew.c: Remove display_completed, redisplay_dont_pause,
>>     redisplay-dont-pause was declared obsolete in Emacs 24.  Remove anything
>>     checking pending input, change function signatures accordingly, and so
>>     on.
>>
>>     * src/keyboard.c (read_char): Don't use redisplay_dont_pause.
>>     * src/minibuf.c (read_minibuf): Use new function signatures.
>>     * src/xdisp.c: Don't check display_completed. Use new API.
>>
>>     * lisp/subr.el (redisplay-dont-pause): Remove declaration.
>
> I think instances of 'Qredisplay_dont_pause' are still present in the
> codebase so some build configurations are now broken (at least my
> GNU/Linux one).
>
> =====
> xterm.c:6372:13: error: ‘Qredisplay_dont_pause’ undeclared (first use in this function)
>  6372 |   specbind (Qredisplay_dont_pause, Qt);
>       |             ^~~~~~~~~~~~~~~~~~~~~
> xterm.c:6372:13: note: each undeclared identifier is reported only once for each function it appears in
> xfns.c: In function ‘Fx_print_frames_dialog’:
> xfns.c:9967:13: error: ‘Qredisplay_dont_pause’ undeclared (first use in this function)
>  9967 |   specbind (Qredisplay_dont_pause, Qt);
>       |             ^~~~~~~~~~~~~~~~~~~~~
> xfns.c:9967:13: note: each undeclared identifier is reported only once for each function it appears in
> =====
>
> Could you have a look?
>
> Thanks

Thanks, should be fixed now.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: master f92520d009e 1/2: Don't pause display for pending input
  2024-12-19 11:17     ` Gerd Möllmann
@ 2024-12-19 12:04       ` Andrea Corallo
  2024-12-19 12:24         ` Gerd Möllmann
  0 siblings, 1 reply; 6+ messages in thread
From: Andrea Corallo @ 2024-12-19 12:04 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: emacs-devel, Gerd Möllmann

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>> Gerd Moellmann <gerd@gnu.org> writes:
>>
>>> branch: master
>>> commit f92520d009e1ab8024b03d9d71ecc9820573c040
>>> Author: Gerd Möllmann <gerd@gnu.org>
>>> Commit: Gerd Möllmann <gerd@gnu.org>
>>>
>>>     Don't pause display for pending input
>>>
>>>     * src/dispnew.c: Remove display_completed, redisplay_dont_pause,
>>>     redisplay-dont-pause was declared obsolete in Emacs 24.  Remove anything
>>>     checking pending input, change function signatures accordingly, and so
>>>     on.
>>>
>>>     * src/keyboard.c (read_char): Don't use redisplay_dont_pause.
>>>     * src/minibuf.c (read_minibuf): Use new function signatures.
>>>     * src/xdisp.c: Don't check display_completed. Use new API.
>>>
>>>     * lisp/subr.el (redisplay-dont-pause): Remove declaration.
>>
>> I think instances of 'Qredisplay_dont_pause' are still present in the
>> codebase so some build configurations are now broken (at least my
>> GNU/Linux one).
>>
>> =====
>> xterm.c:6372:13: error: ‘Qredisplay_dont_pause’ undeclared (first use in this function)
>>  6372 |   specbind (Qredisplay_dont_pause, Qt);
>>       |             ^~~~~~~~~~~~~~~~~~~~~
>> xterm.c:6372:13: note: each undeclared identifier is reported only once for each function it appears in
>> xfns.c: In function ‘Fx_print_frames_dialog’:
>> xfns.c:9967:13: error: ‘Qredisplay_dont_pause’ undeclared (first use in this function)
>>  9967 |   specbind (Qredisplay_dont_pause, Qt);
>>       |             ^~~~~~~~~~~~~~~~~~~~~
>> xfns.c:9967:13: note: each undeclared identifier is reported only once for each function it appears in
>> =====
>>
>> Could you have a look?
>>
>> Thanks
>
> Thanks, should be fixed now.

On a61b968ccfe8fa7e2f1fcf7667781a1c0527389a I see now with
--with-native-compilation=no --with-x-toolkit=no

=====
dispnew.c: In function ‘update_menu_bar’:
dispnew.c:3760:5: error: too many arguments to function ‘update_window’
 3760 |     update_window (XWINDOW (f->menu_bar_window), true);
      |     ^~~~~~~~~~~~~
dispnew.c:97:13: note: declared here
   97 | static void update_window (struct window *);
      |             ^~~~~~~~~~~~~
=======

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
      |                                                                    ^
=======

Thanks



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: master f92520d009e 1/2: Don't pause display for pending input
  2024-12-19 12:04       ` Andrea Corallo
@ 2024-12-19 12:24         ` Gerd Möllmann
  2024-12-19 12:44           ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Möllmann @ 2024-12-19 12:24 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: emacs-devel, Gerd Möllmann

Andrea Corallo <acorallo@gnu.org> writes:

> On a61b968ccfe8fa7e2f1fcf7667781a1c0527389a I see now with
> --with-native-compilation=no --with-x-toolkit=no
>
> =====
> dispnew.c: In function ‘update_menu_bar’:
> dispnew.c:3760:5: error: too many arguments to function ‘update_window’
>  3760 |     update_window (XWINDOW (f->menu_bar_window), true);
>       |     ^~~~~~~~~~~~~
> dispnew.c:97:13: note: declared here
>    97 | static void update_window (struct window *);
>       |             ^~~~~~~~~~~~~
> =======

Thanks. That one should be fixed now. The joy of having n!
configurations.

>
> 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?



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: master f92520d009e 1/2: Don't pause display for pending input
  2024-12-19 12:24         ` Gerd Möllmann
@ 2024-12-19 12:44           ` Eli Zaretskii
  2024-12-19 13:06             ` Gerd Möllmann
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2024-12-19 12:44 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: acorallo, emacs-devel

> 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.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: master f92520d009e 1/2: Don't pause display for pending input
  2024-12-19 12:44           ` Eli Zaretskii
@ 2024-12-19 13:06             ` Gerd Möllmann
  0 siblings, 0 replies; 6+ messages in thread
From: Gerd Möllmann @ 2024-12-19 13:06 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: acorallo, emacs-devel

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.



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-12-19 13:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <173460276132.331083.7195719813421951970@vcs3.savannah.gnu.org>
     [not found] ` <20241219100603.94BA7C031EB@vcs3.savannah.gnu.org>
2024-12-19 10:52   ` master f92520d009e 1/2: Don't pause display for pending input Andrea Corallo
2024-12-19 11:17     ` Gerd Möllmann
2024-12-19 12:04       ` Andrea Corallo
2024-12-19 12:24         ` Gerd Möllmann
2024-12-19 12:44           ` Eli Zaretskii
2024-12-19 13:06             ` Gerd Möllmann

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).