Age | Commit message (Collapse) | Author |
|
|
|
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...
|
|
Add missing prototypes,
Make local functions static,
Sort extern.h by file,
Constify all char * that can be,
Copy temp file name so that eval does not modify its arguments.
|
|
|
|
|
|
Let indx match netbsd flavor, to simplify diffs.
Show how many quotes were not closed.
Increase stack slightly, now that we're no longer bound by argspace.
|
|
|
|
|
|
|
|
Simply put, mkstemp/unlink/rewind has the proper semantics under Unix,
and so we don't have to keep track about temp file names and remove them.
|
|
- use err.h and kill oops,
- use __progname and kill basename,
- let indx use strstr
- proper EOS decl
|
|
|
|
it uses pbstr() instead of doing the characters individually (in
reverse order) with putback(); cgd
|
|
|
|
range 0..9, changequote(,) is now a synonym for changequote, buffer
size for translit() enlarged to handle a full string
|
|
Implement `$@' macro, as promised by the manual page (NetBSD PR#2914).
|
|
|
|
|
|
|
|
|
|
Handle multichar comment and quote delimiters (up to 5 characters, per the
manual page). Takes care of PR#485.
|
|
|