| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Finish the work started by commit bef627e995.
* gnulib: Update to latest.
* AUTHORS: Use GFDL 1.3, not 1.2.
* README-alpha: Likewise.
* README: Likewise.
* THANKS: Likewise.
* doc/STYLE: Likewise.
* modules/README: Likewise.
* NEWS: Place under GFDL.
* TODO: Likewise.
* cfg.mk (old_NEWS_hash): Update.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 6ba66f1202d607726e72e17e1fc778cdafee1941)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* HACKING: Nuke trailing whitespace.
* examples/WWW/Makefile: Likewise.
* examples/WWW/_footer.htm: Likewise.
* examples/WWW/_header.htm: Likewise.
* examples/WWW/m4lib/bugs.m4: Likewise.
* examples/WWW/m4lib/html.m4: Likewise.
* examples/WWW/m4lib/menu.m4: Likewise.
* examples/WWW/m4lib/visions.m4: Likewise.
* examples/esyscmd.m4: Likewise.
* examples/fstab.m4: Avoid space-tab.
* examples/patsubst.m4: Likewise.
* NEWS: Prefer space over tab for alignment.
* THANKS: Likewise.
* TODO: Likewise.
* bootstrap: Likewise.
* configure.ac: Likewise.
* ltdl/m4/stackovf.m4: Likewise.
* m4/hash.c: Likewise.
* m4/hash.h: Likewise.
* m4/input.c: Likewise.
* m4/m4.c: Likewise.
* m4/m4module.h: Likewise.
* m4/m4private.h: Likewise.
* m4/macro.c: Likewise.
* m4/module.c: Likewise.
* m4/output.c: Likewise.
* m4/path.c: Likewise.
* m4/resyntax.c: Likewise.
* m4/symtab.c: Likewise.
* m4/syntax.c: Likewise.
* m4/system_.h: Likewise.
* modules/evalparse.c: Likewise.
* modules/format.c: Likewise.
* modules/gnu.c: Likewise.
* modules/import.c: Likewise.
* modules/load.c: Likewise.
* modules/m4.c: Likewise.
* modules/m4.h: Likewise.
* modules/modtest.c: Likewise.
* modules/mpeval.c: Likewise.
* modules/perl.c: Likewise.
* modules/shadow.c: Likewise.
* modules/stdlib.c: Likewise.
* modules/time.c: Likewise.
* modules/traditional.c: Likewise.
* src/freeze.c: Likewise.
* src/main.c: Likewise.
* src/stackovf.c: Likewise.
* tests/stackovf.test: Likewise.
* doc/STYLE: Mention the change.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit b30b61aa1be7659c155272135fa17a8d7528f80e)
|
|
|
|
|
|
|
|
| |
All files impacted, via 'make update-copyright'. Additionally:
* .gitignore: Ignore backup files.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 5f42c4dabb6858601abce7b38ca78f4c3069f301)
|
|
|
|
|
|
|
|
|
|
| |
* gnulib: Update.
* tests/others.at (stdin and stdout closed): New test, to avoid
regression introduced on 1.4 branch on 2008-07-17.
* NEWS: Document the change.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit d3237b2af19c80fc80218fd33eb64266be510be8)
|
|
|
|
|
|
|
|
|
|
| |
* modules/gnu.c (esyscmd): Silence gnulib message; regression
introduced 2009-03-13.
* doc/m4.texinfo (Sysval): Test this.
* NEWS: Document the change.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 5fa9c079fbe226113280ac86401b432d9c0e7981)
|
|
|
|
|
|
|
|
|
| |
* NEWS: Update to match release on branch-1.4.
* doc/m4.texinfo (History): Update release history.
(copying): Finish conversion to GFDL 1.3, started 2008-11-04.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 19141fb1c466da0b97f5606a3c7ab53123262131)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ltdl/m4/m4-syscmd.m4: New file.
* configure.ac (M4_SYSCMD): Use it to provide
--with-syscmd-shell.
(AC_CHECK_HEADERS_ONCE): No longer need to worry about
<sys/wait.h>.
* modules/m4.c (syscmd): Use it to avoid hard-coding the shell
location.
* modules/gnu.c (esyscmd): Likewise.
* doc/m4.texinfo (Syscmd, Esyscmd): Document this.
* README: Document new configure option.
* NEWS: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 060b5319b3452a2464eea1defc5fae608a12b574)
|
|
|
|
|
|
|
|
|
| |
* modules/m4.c (translit): Use memchr2 when possible.
* tests/builtins.at (translit): Add tests.
* NEWS: Document this.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 29b625aa941718e43cc04dfc217f314518bbc6d1)
|
|
|
|
|
|
|
| |
* doc/m4.texinfo (Changecom): Tweak wording.
* NEWS: Import changes from the branch.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
| |
* ltdl/m4/gnulib-cache.m4: Import memchr2 module.
* m4/input.c (m4__next_token): Add buffer reads to quote and
comment parsing.
* NEWS: Document this.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
| |
* modules/m4.c (index): Add optional third argument.
* NEWS: Document this.
* doc/m4.texinfo (Index macro): Likewise.
(Macro Arguments): Adjust tests.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit b9c165b394c06d2da657caae33efd5843689ff3b)
|
|
|
|
|
|
|
|
|
| |
* doc/m4.texinfo (Substr): Document new semantics.
* modules/m4.c (substr): Support optional fourth argument.
* NEWS: Document this.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 59d3cfafa8d73e43a974bc066722cd6220cb479f)
|
|
|
|
|
|
|
|
|
|
| |
* doc/m4.texinfo (Substr): Document new semantics, and how to
simulate old.
* modules/m4.c (substr): Support negative values.
* NEWS: Document this.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit e9e4abba45f7e9f368cf497e14bc2ce64b867a02)
|
|
|
|
|
|
|
|
|
|
| |
* modules/evalparse.c (m4_evaluate): Warn, not error, on invalid
operator. Quote expression in warning.
* modules/mpeval.c (includes): Add quotearg.h.
* doc/m4.texinfo (Eval, Improved forloop): Update tests.
* NEWS: Update to reflect 1.6 support for `?:'.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/m4module.h (M4_DEBUG_TRACE_OUTPUT_DUMPDEF): New enumerator.
(M4_DEBUG_TRACE_VERBOSE): Update.
* m4/debug.c (m4_debug_decode): Support new debug option.
* src/freeze.c (produce_debugmode_state): Likewise.
* modules/m4.c (dumpdef): When set, force dumpdef to stderr rather
than the debug file.
* src/main.c (usage): Document it.
* doc/m4.texinfo (Debugmode, Dumpdef, Debugging options)
(Debugfile): Likewise.
* NEWS: Likewise.
Based on an autoconf bug report by Paolo Bonzini.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit df6bfeeaac6bdc1ef8e5406c6ac051af2c10d0d8)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/main.c (long_options): Make the argument optional, to allow
setting debug file back to stderr.
(main): Make --debugfile order-dependent.
(usage): Document this.
* doc/m4.texinfo (Debugging options): Likewise.
* NEWS: Likewise.
* tests/options.at (--debugfile): Enhance test.
(--safer): Adjust to new semantics.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit c59c67993219ec04965b1347b44a7e3d09ff425c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/output.c (struct m4_diversion): Improve comments.
(m4_tmpname, m4_make_diversion): Strengthen preconditions.
(m4_tmprename): New function.
(m4_output_init, m4_output_exit): Move after internal functions.
(make_room_for): Don't bother copying uninitialized bytes.
(insert_diversion_helper): Transfer metadata, rather than copying
contents, when undiverting into a previously unused diversion.
* tests/builtins.at (divert): Add a check to the test.
* doc/m4.texinfo (Undivert): Enhance test.
* NEWS: Document the speedup.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
| |
* NEWS: Mention 1.4.12, update state of 1.6.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ltdl/m4/gnulib-cache.m4: Import verify module.
* m4/m4module.h (M4_DEBUG_TRACE_DEREF, M4_DEBUG_TRACE_INITIAL):
New values.
(M4_DEBUG_TRACE_VERBOSE, M4_DEBUG_TRACE_DEFAULT): Adjust.
* m4/m4.c (m4_create): Start with debugmode = d.
* src/main.c (usage): Mention this.
(main): Let -E impact debug mode.
* m4/utility.c (m4_symbol_value_lookup): Squelch undefined warning
if flag is clear.
* modules/gnu.c (builtin, inder): Likewise.
* m4/debug.c (m4_debug_decode): Parse new mode.
* src/freeze.c (produce_debugmode_state): Accomodate new mode.
* doc/m4.texinfo (Debugging options): Mention change in the
default behavior.
(Debugmode): Mention new flag d.
(Operation modes): Mention interaction with -E.
(Undefine, Defn, Pushdef, Indir, Builtin, Dumpdef): Document and
test its effect.
* tests/options.at (--debugmode): Update tests.
* tests/freeze.at (reloading debugmode): Likewise.
* NEWS: Document this.
Reported by Ralf Wildenhues; without this patch, M4 1.6+ would be
incompatible with Autoconf 2.62.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
| |
* src/main.c (DIVERSIONS_OPTION): Delete.
(long_options, OPTSTRING, main): Remove -N/--diversions option.
* doc/m4.texinfo (Limits control): Remove it from the manual.
* NEWS: Mention that it is gone.
* tests/options.at (deprecated options): Update test.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit b8829779ba82826040f16fe78420f0e5a2fe881e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/m4private.h (m4__token_type): Add M4_TOKEN_COMMENT.
* m4/input.c (m4__next_token, m4_print_token): Supply new token
type for comments.
* m4/macro.c (expand_token): Penalize comments, as they can
contain unbalanced quotes; latent bug since 2007-12-07, exposed by
passing $@ references built from comments.
(expand_argument): Adjust caller.
* tests/others.at (Comments): Enhance test to catch it.
* NEWS: Mention the fix.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/debug.c (m4_debug_decode): Make empty debugmode additive.
* src/main.c (main): Interleave -d with files.
* tests/options.at (--debugmode): Update test.
* tests/freeze.at (reloading debugmode): New test.
* doc/m4.texinfo (Debugging options, Debugmode): Document the
change.
* NEWS: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/freeze.c (dump_symbol_CB): Add newline to 'T', 'F'.
(produce_frozen_state): Likewise for 'Q', 'C'.
(reload_frozen_state): Parse the new layout.
[GET_DIRECTIVE]: Fix format 1 regression from 2008-05-13.
* tests/freeze.at (loading format 2): Rewrite to new format.
(reloading unknown builtin): Likewise.
(loading format 1): Make sure backslash-newline is not
interpreted.
* doc/m4.texinfo (Frozen file format 2): Document the format.
* NEWS: Document this change.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/freeze.c (produce_symbol_dump): Let undefined traced macros
through.
(dump_symbol_CB): Also freeze trace state.
* tests/freeze.at (reloading traced macros): New test.
* doc/m4.texinfo (Using frozen files): Update documentation to
mention new state.
(Frozen file format 1): Improve synchronization with branch.
(Frozen file format 2): Reorder directives, and add `d', `t'.
* NEWS: Document this change.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/m4module.h (m4_input_block): Remove.
(m4_call_info): New opaque type.
(m4_trace_prepare, m4_arg_info): New prototypes.
(m4_macro_call, m4_push_string_finish, m4_input_print): Change
prototypes.
* m4/m4private.h (struct m4_macro_args): Add info field.
(struct m4_call_info): New structure.
(m4_arg_info): New accessor.
* m4/input.c (m4_input_block): Make typedef local.
(m4_push_string_init): Initialize length.
(m4_push_string_finish, m4_input_print): Change signature, so that
printing can be done before finalization.
(struct input_funcs): Add parameter to print_func.
(file_print, string_print, composite_print): Adjust accordingly.
* m4/macro.c (trace_header, trace_flush, trace_pre, trace_post):
Change signatures for stacked trace messages, and for using call
context.
(trace_prepre): Export and rename...
(m4_trace_prepare): ...to this, for use by indir. Alter signature
to use call context.
(collect_arguments): Alter signature, to manage new field.
(expand_macro): Change call context management. Move tracing...
(m4_macro_call): ...here. Remove redundant parameter.
(m4_arg_argc): New function.
(m4_make_argv_ref): Replace unused skip parameter with new trace
parameter; manage new field.
* modules/gnu.c (builtin, indir): Adjust callers.
* src/main.c (usage): Update debugmode flag summary.
* tests/null.m4: Enhance test.
* tests/null.err: Update expected output.
* tests/macros.at (Tracing Hanoi Towers): Likewise.
* doc/m4.texinfo (Trace): Mention more about trace formatting.
(Debugmode): Enhance description of 'c' and 'x'. Enhance test to
cover line numbering details in traces.
(Debuglen): Enhance test to cover indir tracing.
* NEWS: Mention these changes.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
| |
* doc/m4.texinfo (Trace): Enhance test.
* NEWS: Port news item from branch.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/m4module.h (m4_is_arg_composite): New prototype.
(m4_symbol_value_copy): Change return type.
(m4_arg_text): Add parameter.
(M4ARG): Adjust callers.
* m4/m4private.h: Adjust comments.
* m4/symtab.c (m4_symbol_value_copy): Detect when builtins are
flattened.
* m4/input.c (init_builtin_token): Add parameter, and allow
concatenating builtins.
(m4__next_token): Adjust caller.
* m4/macro.c (m4_is_arg_composite): New function.
(expand_argument): Allow builtin concatenation.
(m4_arg_text): Add parameter.
(m4__arg_adjust_refcount, m4__arg_print): Adjust callers.
(m4_arg_equal): Fix comparison of builtin tokens.
* modules/m4.c (define, pushdef): Warn when flattening builtins.
* doc/m4.texinfo (Define): Remove dead comment.
(Defn): Update to reflect code changes.
* tests/builtins.at (defn): Remove xfail.
* NEWS: Document this change.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
| |
* doc/m4.texinfo (History, Defn, Ifdef, Ifelse, M4wrap)
(Extensions, Improved foreach): Distinguish 1.4.11 and 1.6.
(Format): Add test of C99 hex-float parsing.
* NEWS: Mention 1.4.11 release.
* tests/builtins.at (divert): Add additional test.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/m4module.h (m4_wrap_args): Add prototype.
* m4/m4private.h (enum m4__symbol_chain_type): Add M4__CHAIN_LOC.
(struct m4__symbol_chain): Add struct u_l.
* m4/input.c (m4_push_wrapup_init, m4_push_wrapup_finish): Use
new link type.
(composite_peek, composite_read, composite_clean): Handle location
link.
* m4/macro.c (m4_wrap_args): New function.
* modules/m4.c (m4wrap): Use it.
* doc/m4.texinfo (M4wrap): Sync with branch and POSIX.
(Extensions): Document extension of multiple arguments.
(Location, Improved m4wrap): Adjust example to match FIFO order.
* tests/builtins.at (wrap): Likewise.
* NEWS: Document this change.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/m4module.h (m4_symbol_value_lookup, m4_builtin_print): New
prototypes.
* m4/m4private.h (enum m4__symbol_chain_type): Add
M4__CHAIN_FUNC.
(struct m4__symbol_chain): Add builtin member.
* m4/utility.c (m4_symbol_value_lookup): New method.
* m4/builtin.c (m4_builtin_print): New function.
* m4/symtab.c (m4_symbol_value_print): Use it.
* m4/input.c (builtin_print): Likewise.
(m4__push_symbol): Allow pushing builtin tokens.
(composite_peek, composite_read, composite_unget, composite_clean)
(composite_print): Handle builtin tokens.
(init_builtin_token): Allow builtin tokens from composite input.
(m4__next_token): Flatten builtins inside comment or string.
* m4/macro.c (expand_argument): Strengthen assertion.
(collect_arguments, m4_arg_equal, m4_arg_print, m4_push_args):
Handle builtin tokens.
(arg_symbol): Add parameter, and allow NULL level.
(m4_arg_symbol, m4__push_arg_quote): Adjust callers.
(m4_arg_text): Ensure all builtins have been flattened.
* modules/m4.c (defn, dumpdef, popdef, traceoff, traceon)
(undefine, m4_dump_symbols): Warn on invalid macro names.
(ifdef, ifelse, shift): Handle builtin tokens.
* modules/gnu.c (m4symbols): Likewise.
* doc/m4.texinfo (Defn, Ifdef, Ifelse): Document and test the new
behavior.
(Debuglen): Likewise, and remove xfail.
* NEWS: Mention the change.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
| |
* m4/macro.c (make_argv_ref): Don't output expansion text when
making wrapper for builtin or indir.
* tests/builtins.at (builtin): New test.
* NEWS: Document the fix.
Reported by Andreas Schwab.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
| |
* NEWS: Update from branch.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
| |
* NEWS: Document change to __gnu__ on 2008-02-11.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* NEWS: M4 is now stored in git.
* HACKING: Likewise.
* README: Likewise.
* bootstrap: Likewise.
* commit: Delete, now that CVS commits are no longer necessary.
* ltdl/config/mailnotify: No longer necessary; git's patch
generation and mail capability is more powerful.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit 0f7701a19187152180a0b9907fab29d152fc534a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modules/load.c (refcount): New builtin.
(m4modules): Use correct type.
* doc/m4.texinfo (Refcount): New section.
* m4/m4private.h (struct m4_module): Add refcount member.
(m4_module_refcount) [NDEBUG]: Add faster accessor macro.
* m4/module.c (m4_module_load): Add symbols to table on first
load by m4, regardless of other libltdl loads of same module.
(m4_module_refcount): Use new struct member, rather than relying
on libltdl count which might be inflated by unrelated loads.
(m4__module_interface): Optimize.
(m4__module_next, m4__module_find): Avoid assertions that could
trigger with unrelated libltdl loads.
(m4__module_open): Track m4 load count.
(m4__module_exit): Only unload what m4 loaded.
(module_remove): Track m4 unloads.
* NEWS: Document new builtin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bootstrap: Adjust to GPLv3.
(func_update): Port from branch.
* ltdl/m4/gnulib-cache.m4: Augment with 'gnulib-tool
--local-dir=local --import gpl-3.0'.
* doc/m4.texinfo (History): Mention 1.4.11.
(Copying This Package): New appendix.
* NEWS: Document 1.4.10.
* local/doc/gpl-3.0.texi.diff: New file.
* Makefile.am: Update license.
(doc_m4_TEXINFOS, EXTRA_DIST): Distribute additions.
* commit: Update license.
* configure.ac: Likewise.
* ltdl/config/mailnotify: Likewise.
* ltdl/config/mkstamp: Likewise.
* ltdl/m4/debug.m4: Likewise.
* ltdl/m4/gmp.m4: Likewise.
* ltdl/m4/m4-error.m4: Likewise.
* ltdl/m4/m4-getopt.m4: Likewise.
* ltdl/m4/m4-gettext.m4: Likewise.
* ltdl/m4/m4-obstack.m4: Likewise.
* ltdl/m4/m4-regex.m4: Likewise.
* ltdl/m4/stackovf.m4: Likewise.
* m4/builtin.c: Likewise.
* m4/debug.c: Likewise.
* m4/hash.c: Likewise.
* m4/hash.h: Likewise.
* m4/input.c: Likewise.
* m4/m4.c: Likewise.
* m4/m4module.h: Likewise.
* m4/m4private.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modules/m4.c (builtin_divert): Immediately divert second
argument.
* m4/output.c (m4_output_text): Allow 0 length. Fixes regression
from two days ago.
(m4_shipout_text): Short-circuit on zero length.
* tests/freeze.at (loading format 2): Expand test to catch
regression. Also check out-of-range version.
* tests/builtins.at (divert): Expand test to check corner cases
of extension.
* NEWS: Document the extension.
Reported by Daniel Richard G.
|
|
|
|
|
|
|
| |
* bootstrap (ltdl/m4/.cvsignore): No longer track generated
.cvsignore in CVS.
* NEWS: Reflect release of 1.4.9.
* THANKS: Update.
|
|
|
|
|
|
|
|
| |
* ltdl/m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
vasprintf-posix'.
* modules/format.c (format): Support %a and %A.
* doc/m4.texinfo (Format): Test this addition.
* NEWS: Document this addition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modules/mpeval.c (numb_extension): Delete.
* modules/m4.c (numb_extension): Likewise.
* modules/evalparse.c (comma_term, condition_term): Always
implement ?: and , operators.
* m4/symtab.c: Update comment to match reality.
* src/freeze.c (produce_frozen_state, reload_frozen_state): Avoid
dereferencing context directly when accessor exists.
* src/main.c (usage): Prefer GNU_M4 over EMACS.
(struct macro_definition): Rename...
(struct deferred): ...to match usage. All uses changed.
* doc/m4.texinfo (Eval): Document this change.
(Operation modes, Changeresyntax): Fix wording to prefer GNU_M4
over emacs.
(Preprocessor features, Changesyntax): Fix inaccuracies.
* NEWS: Import branch NEWS items for 1.4.x series. Document
change in eval.
|
|
|
|
|
|
|
|
|
|
| |
* modules/m4.c (define): Kill posixly_correct distinction in
define behavior, since POSIX says GNU behavior complies.
* tests/builtins.at (define): Restore original semantics.
* doc/m4.texinfo (Pushdef): Document portability issues with
define.
(Incompatibilities): Clean up wording of what POSIX requires.
* NEWS: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extension to make enough room.
(M4_SYNTAX_IGNORE): Change value to zero, since the (commented)
code in input.c special cases this category.
(M4_SYNTAX_LBRACE, M4_SYNTAX_RBRACE): New values in preparation
for define(eleventh,${11}) extension.
* m4/syntax.c: Update comments accordingly.
(m4_syntax_create, m4_syntax_code): Handle { and }.
* m4/input.c (m4__next_token): Likewise.
* src/freeze.c (produce_frozen_state): Support new categories.
(reload_frozen_state): When loading version 1, disable syntax
features not present in 1.4.x.
* tests/freeze.at: Sort and rename existing tests.
(loading format 1): Ensure we don't break v1 frozen files that
used raw ${.
(loading format 2, reloading changecom, reloading changesyntax):
New tests.
* doc/m4.texinfo (Changesyntax, Frozen file format 1): Document
the new syntax categories.
(Arguments): Update the FIXME comment.
(M4wrap): Merge examples from branch, before worrying about fixing
|
|
|
|
|
|
|
|
|
|
|
| |
(produce_mem_dump): ...this new function, to encode more strings.
Also make the coding easier to read and slightly more compact.
(produce_syntax_dump): Only dump non-default syntax codes.
(produce_module_dump, dump_symbol_CB, produce_frozen_state):
Encode non-ASCII characters in user-supplied strings.
(GET_STRING): Accept escape sequences in version 2.
* NEWS: Document this change.
* TODO: Update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modules/traditional.c (m4_macro_table): Provide windows and os2
macros, as appropriate. Add __traditional__ macro.
* modules/mpeval.c (m4_macro_table): Name the macro __mpeval__,
not __gmp__, to match module name.
* modules/load.c (m4_macro_table): Name the macro __load__, not
__modules__, to match module name.
* doc/m4.texinfo (History, Shell commands, Platform macros): Merge
from the branch.
(Standard Modules): Improve wording.
(Incompatibilities): Move platform macros into their own node.
(Load, Unload): Use actual examples.
* NEWS: Document this change.
* THANKS: Update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/m4module.h: here, so modules can use it.
* src/main.c (usage, long_options): Support --posix as a synonym
for --traditional.
* modules/m4.c (numb_invert): Detect unsupported x**-y.
(numb_incr, numb_urshift, numb_extension): New macros.
(numb_obstack): Port patch from branch to support radix 1 output.
* modules/mpeval.c (numb_obstack): Use for ratios.
(numb_incr, numb_urshift, numb_extension): New macros.
(mpq2mpz): Warn rather than error.
* modules/evalparse.c (URSHIFT, NEGATIVE_EXPONENT): New
enumerators.
(eval_error): Rearrange, so that all ignorable errors are less
than SYNTAX_ERROR.
(eval_text, last_text): Obey C++ type safety rules.
(numb_pow): Change return type.
(exp_term): Adjust caller.
(m4_evaluate): Fail on bad exponent.
(logical_or_term, logical_and_term): Ignore failed ** in short
circuit.
(eval_lex): Fix typos when detecting <<= and >>=. Use instead
of : for ratio. Support >>>, ,, and ?:. Port patch from branch
to
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Eval): Ensure C precedence rules are met.
* modules/evalparse.c (BADOP, INVALID_OPERATOR): New enumerators.
(not_term, logical_not_term): Delete; these are same precedence
as other unary operators.
(equality_term): New; these are lower precedence than relational
operators.
(eval_lex, simple_term, m4_evaluate): Recognize forbidden C
operators for better error messages.
(logical_or_term, logical_and_term): Short-circuit out the error
of division by zero.
(unary_term): Allow consecutive unary operators.
* modules/m4.c (int2numb, numb2int): Delete; these potentially
truncate bits.
(numb_not, numb_eor, numb_ior, numb_and): Update callers.
* modules/mpeval.c (reduce1, reduce2): Protect macros better.
* NEWS: Document this change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modules/gnu.c (m4_resyntax_encode_safe): Reduce error to
warning.
(changesyntax): Likewise, and update caller.
* m4/m4private.h (m4_syntax_table): Add orig member.
* m4/syntax.c (m4_set_quotes, m4_set_comment): Merge from branch.
Don't set is_single_quotes and is_single_comments when the begin
character is shadowed by another syntax type.
(m4_syntax_create): Populate default syntax table.
(add_syntax_attribute): Don't lose quote assignment.
(remove_syntax_attribute): Only allow removing rquote or ecomm.
(add_syntax_set, subtract_syntax_set, set_syntax_set)
(reset_syntax_set): New helper routines.
(m4_set_syntax): Alter semantics - NUL key reverts entire syntax
to default, and empty chars reverts that key to default.
(check_is_single_quotes, check_is_single_comments): New helper
routines.
* modules/m4.c (changecom): Merge from branch.
* m4/input.c (m4__next_token): Rearrange token recognition order
to macro, quote, comment,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/main.c (usage): Update.
(OPTSTRING, long_options): Add --pushdef, --popdef, --gnu,
--traceon, --traceoff, --syncoutput, --warnings, --unload-module.
Make --regexp-syntax argument optional.
(main): Support new options. Fix regression in interactive
behavior from Nov 8.
* m4/m4private.h (M4_OPT_SYNCOUTPUT_BIT): Rename from
M4_OPT_SYNC_OUTPUT_BIT.
* m4/m4module.h (m4_context_opt_bit_table): Rename sync_output to
syncoutput, to match option.
(m4_parse_truth_arg): New prototype.
* m4/utility.c (m4_parse_truth_arg): Implement it.
* m4/output.c (m4_shipout_text): Adjust sync_output caller.
* modules/gnu.c (syncoutput): Adjust sync_output caller, and use
m4_parse_truth_arg.
* doc/m4.texinfo (Operation modes, Dynamic loading features)
(Preprocessor features, Limits control, Debugging options)
(Command line files): Update documentation.
* tests/builtins.at (mkstemp): Simplify.
* tests/macros.at (Command line pushdef): New test.
(Command lin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* m4/m4private.h (struct m4_symbol_value): Store entire
m4_builtin, not just the func.
(m4_get_symbol_value_func): Update.
(m4_get_symbol_value_builtin, m4_set_symbol_value_builtin): New
fast accessors.
* m4/m4module.h (m4_get_symbol_value_builtin)
(m4_get_symbol_builtin): New prototypes.
(m4_set_symbol_value_func): Delete, replace with...
(m4_set_symbol_value_builtin): New function.
(m4_builtin_find_by_name): Change signature.
* m4/symtab.c (m4_symbol_value_print): Simplify.
(m4_get_symbol_value_func): Update.
(m4_get_symbol_value_builtin): New function.
(m4_set_symbol_value_func): Delete, replace with...
(m4_set_symbol_value_builtin): New function.
(dump_symbol_CB) [DEBUG_SYM]: Simplify.
* m4/builtin.c (m4_builtin_find_by_name): Change signature.
* m4/input.c (struct m4_input_block): Remove unused trace member.
(m4_push_builtin, builtin_print, init_builtin_token): Update
callers.
* m4/module.c (install_builtin_tab
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ltdl/m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
avltree-list'.
* m4/output.c (m4_diversion): Add next pointer and divnum members.
(diversion_table): Convert to a list instead of a sparse array.
(free_list): Maintain free list of reclaimed diversions.
(equal_diversion_CB, cmp_diversion_CB): New functions.
(m4_output_init): Set up list.
(m4_output_exit): Tear down list.
(make_room_for, m4_undivert_all, m4_freeze_diversions): Change
list iteration.
(m4_make_diversion): Change creation of new diversions.
(m4_insert_diversion_helper): New function, to avoid list
searches.
* tests/builtins.at (divert): The test now passes.
* NEWS: Document this improvement.
|