On Sat, May 10, 2025 at 2:09 PM Eric Blake <ebl...@redhat.com> wrote:
>
> On Fri, May 09, 2025 at 04:33:44PM -0400, Nikolaos Chatzikonstantinou wrote:
> > Hello lists,
> >
> > I rewrote GNU m4 in Python. Long story short, I wanted to learn m4 to
> > fix some issues I had with GNU Guile and Autotools, and after
> > realizing m4 1.4 is ~8000 lines of code and reading e.g.
> > <https://www.owlfolio.org/development/autoconf-swot/> which claims
> > "Feature gaps in GNU M4 hold back development of Autoconf." I thought
> > I'd rewrite it in Rust. (It turned out to be more beneficial to
> > rewrite in Python due to faster prototyping for the time being.)
> > Eventually I plan to get back to my original purpose of fixing the
> > integration of GNU Guile and Autotools.
> >
> > You can find the project home page here,
> > <https://codeberg.org/annoyingusername/m4p> and you can install with
> > pip via `pip install m4p`.
> >
> >
> > I have not yet implemented:
> >
> > 1. traceon, traceoff, changeword, debugmode, debugfile, dumpdef
>
> traceon and dumpdef are mandated by POSIX.  Don't bother implementing
> changeword (it's already ripped out of branch-1.6).  debugmode is also
> going to be essential for controlling compatibility.

As of v0.3 the only unimplemented macro is debugmode (and I think $@
which I forgot). I will get around to it.

> > 2. Some of the command-line options.
>
> Does it handle frozen files yet?

Not yet. I estimate that in another month or so it should all come
together to the point where I'll start testing it against real uses of
m4.

Regards,
Nikolaos Chatzikonstantinou

Reply via email to