Age | Commit message (Collapse) | Author |
|
- expr(`4**3')
- include(`hey I am not there') keeps going.
work with Baptiste Daroussin, who had the idea but didn't nail all details
right.
okay otto@, miod@
|
|
behavior of solaris m4 (e.g., posix).
Bug-fix by Nigel Taylor
Okay sthen@, todd@.
Comment amended per sthen@' suggestion.
|
|
|
|
translit(`ab',`aa',`cd') -> `cb'
(first occurrence matches)
okay miod@, sthen@
fixes minor autoconf issues, like HAVE_VOID__ instead of HAVE_VOID_P
|
|
actually uses this, bleh)
okay otto@
|
|
|
|
Inside matching parenthesis, keep spaces as is (use chrsave instead of
pbstr, since there's no way it can be a further macro expansion).
Fixes a long-standing issue with autoconf ( --option -> --option),
matches other m4 than gnum4
okay millert@, fries@
|
|
|
|
|
|
up of patching it away in various autoconf derivatives.
okay miod@
|
|
before the error message. Use it to simplify code.
okay miod@
|
|
|
|
- changecom and changequote have a simple definition (that matches gnu-m4,
coincidentally, so we no longer need two distinct modes for these)
- off-by-one bug in -s, this finally works.
- reorder main parser loop, so that we can use alphabetic constructs in
quotes/comments.
- rename putback to pushback, this matches comments, and makes more sense.
- more uniform (and updated) description of changequote/changecom.
- new, systematic regression tests of comments/quotes.
- framework to test -s: one perl script to reconstitute `full' files with
all line numbers, so that we can verify the output without needing a
complete match.
okay otto@, fries@
|
|
|
|
- let eval() handle a base and number of digits, like it's advertized to.
- in gnu-mode, undivert can take file names as arguments.
- in gnu-mode, map can handle reversed charsets.
Suggestions and okay otto@, mostly prompted by looking at the regress
tests in newer gnu-m4.
|
|
based on Noah Misch's bug report.
okay otto, jmc.
|
|
wanted output; from Andreas Burmester <buster_hh@gmx.net>
ok espie@
|
|
|
|
|
|
Write an xrealloc wrapper that works the same way, and use it as well.
People who feel like it may want to add more explicit error messages to
all the places m4 can fail allocating memory...
okay tedu@
|
|
in the frame for the macro expansion.
(This will allow one single lookup to grab the macro definition and
the trace status)
okay millert@
|
|
define an interface with explicit define/pushdef/popdef... and use it.
That way, most details of the hashtable are no longer visible.
okay millert@
|
|
this removes the need for code->name conversion, in exchange for
systematically testing the definition type, since we can no longer
rely on the defn being NULL.
- commonnalize the builtin-detection code, so that we can use it for pushdef
as well with define, so that pushdef handles builtins correctly as well.
okay fries@, millert@.
|
|
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
|
|
Triggered by recent FreeBSD changes.
- emits #line directives at every file change (like FreeBSD)
- maintains a synch_lineno variable to verify when the output gets out
of synch with the input, so that it can emit #line to re-synch as well
(unlike FreeBSD)
To do: either handle \end-of-line, or recognize when a macro expansion
is in progress, so that line synch don't perturb cpp on multi-line
expansions.
With this, we should have a fully POSIX-compliant m4.
ok miod@
|
|
|
|
hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.
|
|
and flush(stdout) on debugging mode, as a vicious coredump can leave you
without info otherwise.
|
|
Problem encountered by obecian@.
|
|
|
|
In gnu-m4 mode, pass the real number of arguments to changequote/changecom,
since those distinguish changequote() from changequote.
|
|
|
|
|
|
|
|
autoconf right now.
|
|
|
|
|
|
|
|
define(`newmacro', defn(builtin))
will work, as it should.
|
|
|
|
MAXSTR is still a hard limit, but only for token length, where 512
characters seems reasonable.
Ok millert@
|
|
Problem with autoconf noticed by d@
|
|
|
|
|
|
functionality.
* regular expressions,
* line-number reporting
* `meta'-macros, builtin and indir.
Reviewed by pjanzen@, tested by fries@ and a few others.
|
|
the file name and line number.
This yields more meaningful error messages, and the possibility for yet
more.
|
|
themselves, with the proper quotes added.
Matches gnu-m4, not Solaris nor FreeBSD... better for robustness, as
it makes for more transparent expansions.
|
|
Trying to expand them is.
So flag obvious recursive definitions for later, and give an error
only if we expand them.
(Some gnu-m4 files, including autoconf, do define some macros with
themselves as the replacement text, for use in test-if-set patterns)
Since type is no longer MACRTYPE, those macros end up in builtins...
but this is not a problem, since expanding them is an error.
|
|
- use strlcpy to make clear that the strings are line terminated,
- remove the number of magic constants,
- use assert() for preconditions,
- use puts instead of looping over array of chars...
|