summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorGary V. Vaughan <gary@gnu.org>2008-05-06 14:34:08 -0400
committerGary V. Vaughan <gary@gnu.org>2008-05-06 15:44:20 -0400
commitcceb922d0670c2f93a0cd0ae79c64b376c7351b2 (patch)
tree240c77c25d7e5d96f8dd0175eae762998473f7bb /NEWS
parentc2a2811a8b81dac7b090dcd6f584742fed6dd085 (diff)
downloadm4-cceb922d0670c2f93a0cd0ae79c64b376c7351b2.tar.gz
Factor load functionality into include builtin.include-dso
* m4/module.c (m4__module_open): Instead of calling lt_dlopenext right away, use the preload hint first incase path searching has been disabled by POSIXLY_CORRECT. Otherwise fallback to a manual path search to override libltdl's algorithm. * m4/m4module.h: Adjust. * m4/path.c (FILE_SUFFIXES): Order to try suffixes in our path search algorithm. (NO_SUFFIXES): Alternatively, how to to search a path without adding file suffixes. (m4_path_search): Add a new suffixes parameter defaulting to NO_SUFFIXES. Adjust all callers. (m4_load_filename): New generic load function that tries to open a matched file first as a module, and if that fails fall back to as (possibly frozen) m4 input. (m4_fopen): New function with close on exec functionality. * modules/m4.c (include, sinclude): Use m4_load_filename to overload these builtins to work with modules too. * modules/load.c (load): Removed this builtin. * src/main.c: Remove Dynamic loading features section, and M4MODPATH support. (long_options): Remove "load-module", "unload-module" and "module-directory" options. (OPTSTRING): Remove 'M' and 'm' options. (process_file): Use m4_load_filename to support module names on the command line. * Makefile.am (TESTS_ENVIRONMENT): No need for abs_top_builddir any more. * doc/m4.texinfo: Update examples. (Dynamic loading features, Load): Removed. (Command line files): Describe how non-option arguments are treated to try to find a matching macro file or dso. (Include): Describe additional dso loading features if a suitable text file cannot be found. (Modules): Updated. * tests/builtins.at, tests/m4.in, tests/modules.at, tests/options.at: Adjust test cases and calling conventions to new semantics. * NEWS: Updated.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS22
1 files changed, 18 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index 35440ee0..ce30bbdc 100644
--- a/NEWS
+++ b/NEWS
@@ -76,13 +76,18 @@ promoted to 2.0.
`--trace', allow more control over macro tracing from the command line
between input files.
-*** New `--unload-module' command-line option allows more control over
- dynamic modules from the command line. Also, `-m'/`--load-module' now
- acts between input files.
-
*** New `--warnings' command-line option re-enables warnings, overriding
`-Q'/`--quiet'/`--silent', allowing warnings even when POSIXLY_CORRECT.
+*** When GNU extensions are enabled, any command line arguments that wauld
+ have been interpreted as input file names with previous releases are
+ still searched for as before, but will first attempt to be loaded as
+ compiled modules before falling back on loading as m4 input. In
+ POSIXLY_CORRECT mode, only m4 input files in the current directory can
+ be loaded.
+
+*** Any command line arguments that previously had to name input files
+
** POSIX conformance
*** The `defn' builtin now allows any number of arguments, as POSIX requires.
@@ -96,6 +101,9 @@ promoted to 2.0.
*** The experimental `epatsubst' and `eregexp' builtins have been removed
in favor of a new `changeresyntax' builtin.
+*** The `load' builtin, introduced in previous betas has been removed in
+ lieu of richer `include' and `sinclude' functionality.
+
** New builtins
*** New `changeresyntax' builtin allows programmatic setting of the default
@@ -175,6 +183,12 @@ promoted to 2.0.
*** The `eval' and `mpeval' builtins now support the following new
operators: `>>>', `\', `?:', and `,'.
+*** When GNU extensions are enabled, the `include' and `sinclude' builtins
+ continue to search directories one at a time, but will first attempt to
+ load arguments as compiled modules and then as m4 input before moving
+ to the next directory in the search path. In POSIXLY_CORRECT mode,
+ only m4 input in the current directory can be loaded.
+
*** The `maketemp' builtin now always warns that it is obsolete, even in GNU
mode where it uses the same secure algorithm as `mkstemp', because of
the recommendation of POSIX to obsolete `maketemp' as inherently