diff options
author | Gary V. Vaughan <gary@gnu.org> | 2008-05-06 14:34:08 -0400 |
---|---|---|
committer | Gary V. Vaughan <gary@gnu.org> | 2008-05-06 15:44:20 -0400 |
commit | cceb922d0670c2f93a0cd0ae79c64b376c7351b2 (patch) | |
tree | 240c77c25d7e5d96f8dd0175eae762998473f7bb /NEWS | |
parent | c2a2811a8b81dac7b090dcd6f584742fed6dd085 (diff) | |
download | m4-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-- | NEWS | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -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 |