Subject: bug#78898: Make read/readevalloop reentrant

From: Stefan Monnier <[email-masked]>
Date: Sat, 28 Jun 2025 12:22:57 -0400

> I want to use readevalloop to process command-line arguments, and my
> initial attempts failed to handle '"(load "loadup.el") (princ
> "Done")'.  So I took a stab at making all the entry points synchronize
> with an explicit stack of continuation frames shared between read0 and
> readevalloop.

I'm afraid with the `Subject:` and the above paragraph, I'm still not
able to figure out what you're trying to achieve (and the patch is
quite large).

Also `read` and `readevalloop` are quite different.  Do you want both to
be re-entrant?  Is it in both cases for the same reason?
AFAIK `readevalloop` is also re-entrant in that you can call it
recursively from its "eval" part.  What do you mean by "process
command-line arguments"?

        Stefan