GNU bug report logs - #78898
Make read/readevalloop reentrant

Previous Next

Package: emacs;

Reported by: Lynn Winebarger <owinebar <at> gmail.com>

Date: Wed, 25 Jun 2025 22:01:05 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Lynn Winebarger <owinebar <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 78898 <at> debbugs.gnu.org
Subject: bug#78898: Make read/readevalloop reentrant
Date: Tue, 1 Jul 2025 19:47:45 -0400
[Message part 1 (text/plain, inline)]
On Sun, Jun 29, 2025 at 11:55 PM Stefan Monnier
<monnier <at> iro.umontreal.ca> wrote:
>
> That was my assumption.  Since then, compilers have gotten much better
> at inlining functions, so you can do
>
>     init_inbuffer (&x);
>
> and they'll generate the same code as it does with your
>
>     struct inbuffer x = INIT_INBUFFER ();
>
> [ Well, admittedly, not with `-O0`.  ]
>
> Note also that
>
>     struct inbuffer x = { .buffer = buf };
>
> should work just as well, so maybe "nothing" is an even better option
> than either.
>

I've replaced the READCHAR_* macros with inline functions.  GDB just
cannot do anything with function-like macros.  I also noticed and
fixed the bug that was causing Fload to fail trying to load
rx-tests.elc.
None of the other test failures went away, but there were no new ones either.
[0002-Transform-READCHAR_-macros-into-inline-functions.patch (text/x-patch, attachment)]
[ert-failures-0002.el (text/x-emacs-lisp, attachment)]

This bug report was last modified 12 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.