[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: making sense of m4 sources.

From: Eric Blake
Subject: Re: making sense of m4 sources.
Date: Fri, 31 Dec 2010 12:23:13 -0700
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.7

[adding m4-discuss]

On 12/22/2010 12:46 PM, daniel daniel wrote:
> Hello, m4 has been developed for quite some time, and
> you have a production 1.9a in the works before the 2.0
> can be released with many new features. 2.0 is to have
> an emphasis on modularity, making it feasible to extend
> and to improve. Plus, modularity is the POSIX way to go.
> So, the question is, and this might be a lot to ask, but do
> you have some kind of models that you use to make
> sense of the m4 code? I'd like to figure out what the
> differences are between 2.0 and the 1.x in terms of
> whatever specifics you can share. I just want to know
> more about this language but need a little guidance...

When comparing the master branch (eventual 2.0) with branch-1.4 or
branch-1.6, there are quite a bit of refactoring issues to be aware of.
 The biggest change is that where everything was in the src/ directory
in older branches, there is now the m4/ directory for low-level
operations (macro definitions, reading input, producing output, managing
syntax operations), the modules/ directory for the default built-in
macros (divided into m4.c for the macros required by POSIX and gnu.c for
GNU extension macros in the default build, plus other modules such as
load.c to make dynamic module loading controllable via macros), and
leaving only the high level code in src/ (the main() entry point, and
calling into the low-level code for everything else).  Perhaps one way
to learn the differences between the code bases is to compare related
patches between the branches.

Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]