summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Bailey <jbailey@raspberryginger.com>2000-02-17 03:10:18 +0000
committerEric Blake <ebb9@byu.net>2007-10-05 16:11:38 -0600
commit2a43c62450a3d8ba46fc269b79d9139f90d4a199 (patch)
tree0c94e26dfe11a1fc6c84cfe74142b94ad826a94c
parentee1aa6c825458998a116b92d50763dbfee165a83 (diff)
downloadm4-1.4n.tar.gz
Import of m4-1.4nm4-1.4n
-rw-r--r--ChangeLog120
-rw-r--r--Makefile.in1
-rw-r--r--NEWS26
-rw-r--r--README6
-rw-r--r--THANKS1
-rw-r--r--TODO51
-rw-r--r--acconfig.h3
-rw-r--r--acinclude.m415
-rw-r--r--aclocal.m445
-rw-r--r--acm4/Makefile.in1
-rw-r--r--acm4/modules.m44
-rw-r--r--config.h.in24
-rwxr-xr-xconfig.sub99
-rwxr-xr-xconfigure773
-rw-r--r--configure.in19
-rw-r--r--doc/Makefile.in1
-rw-r--r--doc/m4.info165
-rw-r--r--doc/m4.info-112
-rw-r--r--doc/m4.info-239
-rw-r--r--doc/m4.texinfo51
-rw-r--r--doc/stamp-vti6
-rw-r--r--doc/version.texi6
-rw-r--r--examples/Makefile.in1
-rw-r--r--examples/WWW/Makefile10
-rw-r--r--examples/WWW/bugs.htm284
-rw-r--r--examples/WWW/changelog.htm246
-rw-r--r--examples/WWW/download.htm126
-rw-r--r--examples/WWW/features.htm126
-rw-r--r--examples/WWW/feedback.htm126
-rw-r--r--examples/WWW/index.htm128
-rw-r--r--examples/WWW/lists.htm126
-rw-r--r--examples/WWW/m4lib/bugs.m452
-rw-r--r--examples/WWW/m4lib/html.m47
-rw-r--r--examples/WWW/m4lib/layout.m421
-rw-r--r--examples/WWW/m4lib/menu.m471
-rw-r--r--examples/WWW/m4lib/test.m433
-rw-r--r--examples/WWW/m4lib/thissite.m429
-rw-r--r--examples/WWW/m4lib/visions.m4223
-rw-r--r--examples/WWW/modules.htm138
-rw-r--r--examples/WWW/news.htm152
-rw-r--r--examples/WWW/readme.htm126
-rw-r--r--examples/WWW/thanks.htm127
-rw-r--r--examples/WWW/thissite.htm146
-rw-r--r--examples/WWW/todo.htm174
-rw-r--r--examples/WWW/uses.htm128
-rw-r--r--examples/WWW/visions.htm492
-rw-r--r--examples/WWW/whatis.htm126
-rwxr-xr-xexamples/include.test6
-rw-r--r--examples/misc.m48
-rwxr-xr-xexamples/misc.test4
-rw-r--r--examples/mktests.sh4
-rwxr-xr-xexamples/patsubst.test4
-rwxr-xr-xexamples/pushpop.test10
-rwxr-xr-xexamples/regexp.test4
-rw-r--r--lib/Makefile.am2
-rw-r--r--lib/Makefile.in3
-rwxr-xr-xltconfig313
-rw-r--r--ltmain.sh645
-rw-r--r--modules/Makefile.am41
-rw-r--r--modules/Makefile.in62
-rw-r--r--modules/README12
-rw-r--r--modules/stdlib.c25
-rw-r--r--modules/time.c18
-rw-r--r--po/cat-id-tbl.c42
-rw-r--r--po/de.gmobin11731 -> 11731 bytes
-rw-r--r--po/de.po131
-rw-r--r--po/fr.gmobin11890 -> 11890 bytes
-rw-r--r--po/fr.po131
-rw-r--r--po/it.gmobin6118 -> 6118 bytes
-rw-r--r--po/it.po131
-rw-r--r--po/ja.gmobin12649 -> 12649 bytes
-rw-r--r--po/ja.po131
-rw-r--r--po/m4.pot131
-rw-r--r--po/nl.gmobin11661 -> 11661 bytes
-rw-r--r--po/nl.po131
-rw-r--r--po/pl.gmobin11935 -> 11935 bytes
-rw-r--r--po/pl.po131
-rw-r--r--po/ru.gmobin11431 -> 11431 bytes
-rw-r--r--po/ru.po131
-rw-r--r--po/sv.gmobin334 -> 334 bytes
-rw-r--r--po/sv.po131
-rw-r--r--src/Makefile.am6
-rw-r--r--src/Makefile.in40
-rw-r--r--src/builtin.c51
-rw-r--r--src/eval.c21
-rw-r--r--src/evalmp.c27
-rw-r--r--src/format.c2
-rw-r--r--src/input.c402
-rw-r--r--src/m4.c77
-rw-r--r--src/m4.h47
-rw-r--r--src/module.c237
-rw-r--r--src/numb.c44
-rw-r--r--src/numb.h36
-rw-r--r--src/output.c2
-rw-r--r--src/path.c168
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/Makefile.in5
-rwxr-xr-xtests/generated-tests/argument.1.test2
-rwxr-xr-xtests/generated-tests/argument.2.test2
-rwxr-xr-xtests/generated-tests/argument.3.test2
-rwxr-xr-xtests/generated-tests/argument.4.test2
-rwxr-xr-xtests/generated-tests/changeco.1.test2
-rwxr-xr-xtests/generated-tests/changeco.2.test2
-rwxr-xr-xtests/generated-tests/changequ.1.test2
-rwxr-xr-xtests/generated-tests/changequ.2.test2
-rwxr-xr-xtests/generated-tests/changequ.3.test2
-rwxr-xr-xtests/generated-tests/changesy.1.test2
-rwxr-xr-xtests/generated-tests/changesy.2.test2
-rwxr-xr-xtests/generated-tests/changesy.3.test2
-rwxr-xr-xtests/generated-tests/changesy.4.test2
-rwxr-xr-xtests/generated-tests/changesy.5.test2
-rwxr-xr-xtests/generated-tests/changesy.6.test2
-rwxr-xr-xtests/generated-tests/changesy.7.test2
-rwxr-xr-xtests/generated-tests/changesy.8.test2
-rwxr-xr-xtests/generated-tests/cleardiv.1.test2
-rwxr-xr-xtests/generated-tests/cleardiv.2.test2
-rwxr-xr-xtests/generated-tests/define.1.test2
-rwxr-xr-xtests/generated-tests/define.2.test2
-rwxr-xr-xtests/generated-tests/defn.1.test2
-rwxr-xr-xtests/generated-tests/defn.2.test2
-rwxr-xr-xtests/generated-tests/divert.1.test2
-rwxr-xr-xtests/generated-tests/divert.2.test2
-rwxr-xr-xtests/generated-tests/divnum.1.test2
-rwxr-xr-xtests/generated-tests/dnl.1.test2
-rwxr-xr-xtests/generated-tests/dumpdef.1.test4
-rwxr-xr-xtests/generated-tests/errprint.1.test4
-rwxr-xr-xtests/generated-tests/errprint.2.test4
-rwxr-xr-xtests/generated-tests/esyscmd.1.test2
-rwxr-xr-xtests/generated-tests/eval.1.test6
-rwxr-xr-xtests/generated-tests/eval.2.test2
-rwxr-xr-xtests/generated-tests/format.1.test2
-rwxr-xr-xtests/generated-tests/ifdef.1.test2
-rwxr-xr-xtests/generated-tests/ifelse.1.test2
-rwxr-xr-xtests/generated-tests/ifelse.2.test2
-rwxr-xr-xtests/generated-tests/include.1.test6
-rwxr-xr-xtests/generated-tests/include.2.test2
-rwxr-xr-xtests/generated-tests/include.3.test2
-rwxr-xr-xtests/generated-tests/incr.1.test2
-rwxr-xr-xtests/generated-tests/index.1.test2
-rwxr-xr-xtests/generated-tests/indir.1.test2
-rwxr-xr-xtests/generated-tests/len.1.test2
-rwxr-xr-xtests/generated-tests/loops.1.test2
-rwxr-xr-xtests/generated-tests/loops.2.test2
-rwxr-xr-xtests/generated-tests/m4exit.1.test4
-rwxr-xr-xtests/generated-tests/m4wrap.1.test2
-rwxr-xr-xtests/generated-tests/patsubst.1.test2
-rwxr-xr-xtests/generated-tests/patsubst.2.test2
-rwxr-xr-xtests/generated-tests/pseudoar.1.test2
-rwxr-xr-xtests/generated-tests/pseudoar.2.test2
-rwxr-xr-xtests/generated-tests/pseudoar.3.test2
-rwxr-xr-xtests/generated-tests/pseudoar.4.test2
-rwxr-xr-xtests/generated-tests/pseudoar.5.test2
-rwxr-xr-xtests/generated-tests/pushdef.1.test2
-rwxr-xr-xtests/generated-tests/pushdef.2.test2
-rwxr-xr-xtests/generated-tests/regexp.1.test2
-rwxr-xr-xtests/generated-tests/regexp.2.test2
-rwxr-xr-xtests/generated-tests/substr.1.test2
-rwxr-xr-xtests/generated-tests/sysval.1.test2
-rwxr-xr-xtests/generated-tests/trace.1.test4
-rwxr-xr-xtests/generated-tests/translit.1.test2
-rwxr-xr-xtests/generated-tests/undefine.1.test2
-rwxr-xr-xtests/generated-tests/undivert.1.test2
-rwxr-xr-xtests/generated-tests/undivert.2.test2
-rwxr-xr-xtests/generated-tests/undivert.3.test2
-rwxr-xr-xtests/get-them2
-rw-r--r--tests/other-tests/discard-comments.m47
-rwxr-xr-xtests/other-tests/discard-comments.test17
-rw-r--r--tests/other-tests/gmp.m42
-rw-r--r--tests/other-tests/import-environment.m44
-rwxr-xr-xtests/other-tests/import-environment.test28
-rw-r--r--tests/other-tests/iso8859.m4bin1146 -> 1146 bytes
-rwxr-xr-xtests/other-tests/iso8859.test2
172 files changed, 4945 insertions, 3506 deletions
diff --git a/ChangeLog b/ChangeLog
index eaf4100f..a6e0d0f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,125 @@
+1998-11-29 Rene' Seindal <rene@seindal.dk>
+
+ * Prerelease 1.4n.
+
+ * tests/Makefile.am (OTHER_TESTS, OTHER_FILES): New tests.
+
+ * tests/other-tests/import-environment.{m4,test}: New test.
+
+ * tests/other-tests/discard-comments.{m4,test}: New test.
+
+ * doc/m4.texinfo (Invoking m4): Updated for --discard-comments.
+
+ * src/m4.c (main): New option -c --discard-comments.
+ New global variable discard_comments.
+
+ * src/m4.h (token_type): New TOKEN_NONE for tokens to be
+ discarded, ie never returned from next_token().
+ Added declaration of discard_comments.
+
+ * src/input.c (next_token): Now loops until token type is not
+ TOKEN_NONE. Comments are now given this type when comments should
+ be discarded.
+
+ * doc/m4.texinfo (Invoking m4): Updated for --import-environment
+ and mpeval.
+
+1998-11-28 Rene' Seindal <rene@seindal.dk>
+
+ * src/m4.c (main): New option --import-environment (no single
+ letter option).
+
+ * When configured with --with-gmp both the normal (fast) eval()
+ and the gmp aware mpeval() are defined. To restore previous
+ bahaviour use "define(`eval', defn(`mpeval'))".
+
+ * tests/other-tests/gmp.m4: Changed to use mpeval().
+
+ * src/evalmp.c: New file for compiling eval.c as gmp aware.
+ Just defines USE_GMP if WITH_GMP is defined and includes eval.c.
+
+ * src/eval.c: Now includes "numb.c" directly. Everything in this
+ file must by static, except evaluate(), which is changed to
+ mp_evaluate() if USE_GMP in force.
+
+ * src/numb.c: Changed to be included by eval.c instead of being
+ compiled separately. Everything is declared static.
+
+ * src/numb.h: Removed declarations of functions, as numb.c is now
+ included by eval.c.
+
+ * src/builtin.c: Declaration of m4_mpeval() added.
+ Inserted `mpeval' in builtin table.
+ (do_eval): New function with common code for m4_eval and m4_mpeval.
+ (m4_mpeval): New function for gmp version of eval.
+
+ * src/m4.h: Declaration of mp_evaluate().
+
+ * src/Makefile.am (m4_SOUCES): Includes mpeval.c.
+ (EXTRA_m4_SOURCES): Now has numb.c and numb.h
+
+ * src/m4.c (main): m4 --version also shows which options were used
+ for compilation, such as: "GNU m4 1.4n (options: modules gmp)"
+
+1998-11-27 Rene' Seindal <rene@seindal.dk>
+
+ * Error messages now always print program name before input file
+ name as specified by GNU coding standards. Reported by Akim
+ Demaille <demaille@inf.enst.fr>.
+
+ * doc/m4.texinfo (Include): Change due to changed error message
+ format.
+ (Eval): Do.
+
+ * tests/get-them: Minor change to sed script due to changed error
+ message format.
+
+ * src/m4.c (print_program_name): New func used to print program
+ name, input file and line number in error (). Used as an
+ error_print_progname handler.
+ (reference_error): Removed.
+ (main): Assigns error_print_progname.
+
+ * src/m4.h (M4ERROR): Removed reference_error ().
+
+1998-11-25 Rene' Seindal <rene@seindal.dk>
+
+ * Updated to libtool 1.2b.
+
+ * src/builtin.c (install_builtin_table): Added braces to avoid
+ warning of ambiguous 'else'.
+
+ * src/module.c: Inserted search path code from path.c modified to
+ use new interface.
+ (module_init): Configured default path used only if M4MODPATH is
+ not set.
+ (module_try_load): Now reads libMODULE.la as generated by libtool
+ for actual module name.
+ (module_load): Gives better error messages on failure.
+
+ * src/m4.h: Added declarations of structures and functions for
+ generic search path handling.
+
+ * src/path.c: Removed all module specific code and introduced new
+ functions of more generic search path handling.
+
+1998-11-24 Rene' Seindal <rene@seindal.dk>
+
+ * configure.in: Defines INTLINCL to -I$(top_srcdir)/intl if using
+ included gettext, as <libintl.h> might not be found
+ otherwise. Reported by Andrew Bettison <andrewb@zip.com.au>.
+
+1998-11-22 Rene' Seindal <rene@seindal.dk>
+
+ * src/output.c (insert_diversion): Fixed bug that might cause m4
+ to read from standard output! Triggered by input
+ 'divert(1)undivert(0)'. Test for divnum>0 changed to divnum>=0,
+ so now 'undivert(0)' does nothing.
+
1998-11-18 Rene' Seindal <rene@seindal.dk>
+ * Prerelease 1.4m.
+
* src/input.c (set_word_regexp): Fixed a bug, where word_regexp
could be changed when compiling a illegal regexp, causing later
use of the regexp to dump core.
diff --git a/Makefile.in b/Makefile.in
index 11760474..ead932e4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -74,6 +74,7 @@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
+INTLINCL = @INTLINCL@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LD = @LD@
diff --git a/NEWS b/NEWS
index 6f7e33f0..829d3da1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,32 @@
GNU m4 NEWS - History of user-visible changes. -*-indented-text-*-
Copyright (C) 1992, 1993, 1994, 1998 Free Software Foundation, Inc.
+Version beta 1.4n - November 1998, by Rene' Seindal
+
+* The module code has been reorganised yet again, and now compiles
+ correctly on GNU/Linux, HPUX 9 and 10, SunOS 5 and Solaris 5.
+
+* When configured --with-gmp a new builtin `mpeval' is now defined. The
+ builtin `eval' retains its normal behaviour.
+
+* m4 --version also shows which options were used for compilation, such as:
+ "GNU m4 1.4n (options: modules gmp changeword)"
+
+* New option --import-environment defines all environment variables as
+ macros. This is done before -D and -U are handled, so the macros can be
+ changed through these options.
+
+* Error messages now always print program name before input file name as
+ specified by GNU coding standards. Reported by Akim Demaille
+ <demaille@inf.enst.fr>.
+
+* Bug fixed: "undivert(0)" could cause m4 to read standard output. A call
+ of "undivert(0)" is now silently ignored.
+
+* Bug fixed: when compiling --with-included-gettext, <libintl.h> wasn't
+ found in intl/ directory. Reported by Andrew Bettison
+ <andrewb@zip.com.au>.
+
Version beta 1.4m - November 1998, by Rene' Seindal
* Using libtool for compiling modules and for linking main app.
diff --git a/README b/README
index baa7117e..c20c64a5 100644
--- a/README
+++ b/README
@@ -7,6 +7,8 @@ running shell commands, doing arithmetic, etc. Autoconf needs GNU
GNU `m4' has been originally written by René Seindal, from Denmark.
+GNU `m4' has a web site at http://www.seindal.dk/rene/gnu/.
+
If GNU `m4' is meant to serve GNU `autoconf', beware that `m4'
should be fully installed *prior to* configuring `autoconf' itself.
@@ -22,8 +24,8 @@ See file `NEWS' for a list of major changes in the current release.
See file `THANKS' for a list of contributors.
By using `./configure --with-gmp, you get multiple precision integral
-and rational arithmetic in eval. The implementation depends on the GNU
-gmp v2 library.
+and rational arithmetic using mpeval. The implementation depends on the
+GNU gmp v2 library.
By using `./configure --with-modules, you get the possibility of using
dynamic modules. The implementation depends on dlopen(3) interface.
diff --git a/THANKS b/THANKS
index acf861c5..9648bcc6 100644
--- a/THANKS
+++ b/THANKS
@@ -8,6 +8,7 @@ these people. Help me keep it complete and exempt of errors.
Akiko Matsushita matusita@sra.co.jp
+Akim Demaille demaille@inf.enst.fr
Alan Magnuson awm@osc.edu
Alexander Lehmann alex@hal.rhein-main.de
Amos Shapira amoss@cs.huji.ac.il
diff --git a/TODO b/TODO
index 4a3f93a0..01cc3abd 100644
--- a/TODO
+++ b/TODO
@@ -4,24 +4,40 @@ Tell the maintainers at <bug-m4@gnu.org> if you feel like volunteering
for any of these ideas or if you have others to add.
-* Features or problems
+* KNOWN BUGS
- + GMP eval() should be enables if the library is present, maybe by
- providing two different versions of eval(). That way users can
- choose whether to use gmp on an individual basis.
+ + Changes in the syntax_table are not saved to frozen files.
- + There should be a way ot have m4 discard comments instead of
- outputting them.
+ + Information about loaded modules is not saved to frozen files.
- + Implement discarding comment delimiters with the syntax table.
+ + m4wrap.1.test fail on Solaris 2.6 using egcs 1.1a compiler (Erick B).
- + The module system is still rudimentary (see below)
+ + The test case `other-tests/stackovf.test' does not work.
- + Changes in the syntax_table are not saved to frozen files.
+ + sigstack/sigaltstack and ENOSYS
- + Information about loaded modules is not saved to frozen files.
+ When sigstack or sigaltstack fail with errno == ENOSYS, m4 should
+ fall back silently to not using an alternate signal stack.
+ Otherwise, problems arise in at least the following case: glibc
+ 2.1 test releases, built with Linux 2.1 headers (as recommended
+ for glibc 2.1), so the library has sigstack and sigaltstack, but
+ run with a Linux 2.0 kernel, so the kernel support is not present
+ and ENOSYS is returned.
+
+ (GNU m4 1.4k, built with glibc 2.0.100 (itself built with Linux
+ 2.1.126 headers), and running on Linux 2.0.36pre15.)
+
+ --
+ Joseph S. Myers
+ jsm28@cam.ac.uk
- + m4wrap.1.test fail on Solaris 2.6 using egcs 1.1a compiler (Erick B).
+
+
+* FEATURES OR PROBLEMS
+
+ + Implement discarding comment delimiters with the syntax table.
+
+ + The module system is still rudimentary (see below)
+ The $ used in user defined macros cannot be changed through
changesyntax. It should be handled as a modifier.
@@ -29,8 +45,6 @@ for any of these ideas or if you have others to add.
+ Make show include dependencies like gcc so targets are updated
when their (included) input files are updated (Erick B).
- + The test case `other-tests/stackovf.test' does not work.
-
+ Sort out all the weird forms of interaction between changesyntax,
changecom and changequote. What happens if you install a quote with
changequote and removes it with changesyntax and vice versa.
@@ -38,7 +52,8 @@ for any of these ideas or if you have others to add.
+ Add support for wide character sets.
-* Optimization and clean up
+
+* OPTIMIZATION AND CLEAN UP
+ Have NULs go really undisturbed through GNU m4
GNU m4 is lousy regarding NULs in streams (this would require
@@ -46,10 +61,12 @@ for any of these ideas or if you have others to add.
etc.).
-* Module specific issues
+
+* MODULE SPECIFIC ISSUES
- + Support for other DL interfaces besides dlopen, such as dld and
- hpux is still missing.
+ + Support for other DL interfaces besides dlopen and shl_load.
+ Currently it compiles and works on HPUX (v9,v10), SunOS (v5),
+ Solaris (v5) and GNU/Linux (v2.0).
+ Modules should be loadable from the command line with something like
`-M module.so' o `--load-module=module.so'. M4 should abort if it
diff --git a/acconfig.h b/acconfig.h
index 702c94ba..cf2bf514 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -41,6 +41,9 @@
/* Define to 1 if the GNU multiple precision library should be used. */
#undef WITH_GMP
+/* Define to 1 if there is support for dynamic loading of modules. */
+#undef WITH_MODULES
+
/* Define to 1 if the -ldl library should be used . */
#undef HAVE_DLOPEN
diff --git a/acinclude.m4 b/acinclude.m4
index 8d46f931..5e8f0042 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -446,6 +446,15 @@ AC_DEFUN(AM_WITH_GMP,
AC_CHECK_SIZEOF(long long int, 0)
fi
])
+# Written by René Seindal (rene@seindal.dk)
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+# serial 1
+
AC_DEFUN(AM_WITH_MODULES,
[AC_MSG_CHECKING(if support for dynamic modules is wanted)
@@ -455,6 +464,7 @@ AC_DEFUN(AM_WITH_MODULES,
AC_MSG_RESULT($use_modules)
if test "$use_modules" = yes; then
+ dnl We might no have it anyway, after all.
with_modules=no
dnl Test for dlopen in libc
@@ -489,7 +499,7 @@ AC_DEFUN(AM_WITH_MODULES,
if test "$ac_cv_lib_dld_shl_load" = yes; then
with_modules=yes
- LIBS="$LIBS -ldld"
+# LIBS="$LIBS -ldld"
AC_DEFINE(HAVE_SHL_LOAD,1)
fi
fi
@@ -500,6 +510,8 @@ AC_DEFUN(AM_WITH_MODULES,
MODULES_DIR=modules
MODULE_PATH="${pkglibexecdir}"
+
+ AC_DEFINE(WITH_MODULES, 1)
fi
AC_SUBST(DLLDFLAGS)
@@ -508,3 +520,4 @@ AC_DEFUN(AM_WITH_MODULES,
fi
])
+
diff --git a/aclocal.m4 b/aclocal.m4
index a9520b59..edf31391 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -458,6 +458,15 @@ AC_DEFUN(AM_WITH_GMP,
AC_CHECK_SIZEOF(long long int, 0)
fi
])
+# Written by René Seindal (rene@seindal.dk)
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+# serial 1
+
AC_DEFUN(AM_WITH_MODULES,
[AC_MSG_CHECKING(if support for dynamic modules is wanted)
@@ -467,6 +476,7 @@ AC_DEFUN(AM_WITH_MODULES,
AC_MSG_RESULT($use_modules)
if test "$use_modules" = yes; then
+ dnl We might no have it anyway, after all.
with_modules=no
dnl Test for dlopen in libc
@@ -501,7 +511,7 @@ AC_DEFUN(AM_WITH_MODULES,
if test "$ac_cv_lib_dld_shl_load" = yes; then
with_modules=yes
- LIBS="$LIBS -ldld"
+# LIBS="$LIBS -ldld"
AC_DEFINE(HAVE_SHL_LOAD,1)
fi
fi
@@ -512,6 +522,8 @@ AC_DEFUN(AM_WITH_MODULES,
MODULES_DIR=modules
MODULE_PATH="${pkglibexecdir}"
+
+ AC_DEFINE(WITH_MODULES, 1)
fi
AC_SUBST(DLLDFLAGS)
@@ -521,6 +533,7 @@ AC_DEFUN(AM_WITH_MODULES,
])
+
# Like AC_CONFIG_HEADER, but automatically create stamp file.
AC_DEFUN(AM_CONFIG_HEADER,
@@ -646,7 +659,7 @@ fi
AC_SUBST($1)])
-# serial 24 AM_PROG_LIBTOOL
+# serial 25 AM_PROG_LIBTOOL
AC_DEFUN(AM_PROG_LIBTOOL,
[AC_REQUIRE([AM_ENABLE_SHARED])dnl
AC_REQUIRE([AM_ENABLE_STATIC])dnl
@@ -700,9 +713,13 @@ esac
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| AC_MSG_ERROR([libtool configure failed])
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
])
# AM_ENABLE_SHARED - implement the --enable-shared flag
@@ -713,10 +730,8 @@ AC_DEFUN(AM_ENABLE_SHARED,
[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(shared,
changequote(<<, >>)dnl
-<< --enable-shared build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT]
+<< --enable-shared[=PKGS] build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT],
changequote([, ])dnl
-[ --enable-shared=PKGS only build shared libraries if the current package
- appears as an element in the PKGS list],
[p=${PACKAGE-default}
case "$enableval" in
yes) enable_shared=yes ;;
@@ -752,10 +767,8 @@ AC_DEFUN(AM_ENABLE_STATIC,
[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(static,
changequote(<<, >>)dnl
-<< --enable-static build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT]
+<< --enable-static[=PKGS] build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT],
changequote([, ])dnl
-[ --enable-static=PKGS only build shared libraries if the current package
- appears as an element in the PKGS list],
[p=${PACKAGE-default}
case "$enableval" in
yes) enable_static=yes ;;
@@ -789,7 +802,9 @@ if test "$ac_cv_prog_gcc" = yes; then
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
+changequote(,)dnl
/* | [A-Za-z]:\\*)
+changequote([,])dnl
test -z "$LD" && LD="$ac_prog"
;;
"")
@@ -852,11 +867,10 @@ fi])
AC_DEFUN(AM_PROG_NM,
[AC_MSG_CHECKING([for BSD-compatible nm])
AC_CACHE_VAL(ac_cv_path_NM,
-[case "$NM" in
-/* | [A-Za-z]:\\*)
- ac_cv_path_NM="$NM" # Let the user override the test with a path.
- ;;
-*)
+[if test -n "$NM"; then
+ # Let the user override the test.
+ ac_cv_path_NM="$NM"
+else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
test -z "$ac_dir" && ac_dir=.
@@ -876,8 +890,7 @@ AC_CACHE_VAL(ac_cv_path_NM,
done
IFS="$ac_save_ifs"
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
- ;;
-esac])
+fi])
NM="$ac_cv_path_NM"
AC_MSG_RESULT([$NM])
AC_SUBST(NM)
diff --git a/acm4/Makefile.in b/acm4/Makefile.in
index dd72ea7e..1a605efc 100644
--- a/acm4/Makefile.in
+++ b/acm4/Makefile.in
@@ -74,6 +74,7 @@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
+INTLINCL = @INTLINCL@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LD = @LD@
diff --git a/acm4/modules.m4 b/acm4/modules.m4
index 32e14330..94904d43 100644
--- a/acm4/modules.m4
+++ b/acm4/modules.m4
@@ -51,7 +51,7 @@ AC_DEFUN(AM_WITH_MODULES,
if test "$ac_cv_lib_dld_shl_load" = yes; then
with_modules=yes
- LIBS="$LIBS -ldld"
+# LIBS="$LIBS -ldld"
AC_DEFINE(HAVE_SHL_LOAD,1)
fi
fi
@@ -62,6 +62,8 @@ AC_DEFUN(AM_WITH_MODULES,
MODULES_DIR=modules
MODULE_PATH="${pkglibexecdir}"
+
+ AC_DEFINE(WITH_MODULES, 1)
fi
AC_SUBST(DLLDFLAGS)
diff --git a/config.h.in b/config.h.in
index b1edd73f..4ac29c6f 100644
--- a/config.h.in
+++ b/config.h.in
@@ -29,6 +29,9 @@
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
+/* Define if you have the strftime function. */
+#undef HAVE_STRFTIME
+
/* Define if you have the vprintf function. */
#undef HAVE_VPRINTF
@@ -66,6 +69,9 @@
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
+/* Define if your <sys/time.h> declares struct tm. */
+#undef TM_IN_SYS_TIME
+
/* Define to 1 if the changeword(REGEXP) functionnality is wanted. */
#undef ENABLE_CHANGEWORD
@@ -101,6 +107,9 @@
/* Define to 1 if the GNU multiple precision library should be used. */
#undef WITH_GMP
+/* Define to 1 if there is support for dynamic loading of modules. */
+#undef WITH_MODULES
+
/* Define to 1 if the -ldl library should be used . */
#undef HAVE_DLOPEN
@@ -137,6 +146,9 @@
/* Define if you have the __argz_stringify function. */
#undef HAVE___ARGZ_STRINGIFY
+/* Define if you have the clearenv function. */
+#undef HAVE_CLEARENV
+
/* Define if you have the dcgettext function. */
#undef HAVE_DCGETTEXT
@@ -152,12 +164,18 @@
/* Define if you have the getcwd function. */
#undef HAVE_GETCWD
+/* Define if you have the gethostname function. */
+#undef HAVE_GETHOSTNAME
+
/* Define if you have the getpagesize function. */
#undef HAVE_GETPAGESIZE
/* Define if you have the mkstemp function. */
#undef HAVE_MKSTEMP
+/* Define if you have the mktime function. */
+#undef HAVE_MKTIME
+
/* Define if you have the munmap function. */
#undef HAVE_MUNMAP
@@ -209,6 +227,12 @@
/* Define if you have the tmpfile function. */
#undef HAVE_TMPFILE
+/* Define if you have the uname function. */
+#undef HAVE_UNAME
+
+/* Define if you have the unsetenv function. */
+#undef HAVE_UNSETENV
+
/* Define if you have the vprintf function. */
#undef HAVE_VPRINTF
diff --git a/config.sub b/config.sub
index 0131946b..e24b8504 100755
--- a/config.sub
+++ b/config.sub
@@ -1,6 +1,6 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
@@ -149,19 +149,20 @@ esac
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
- tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arm \
- | arme[lb] | pyramid | mn10300 \
+ tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
+ | arme[lb] | pyramid | mn10200 | mn10300 \
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
- | alpha | we32k | ns16k | clipper | i370 | sh \
- | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
- | pdp11 | mips64el | mips64orion | mips64orionel \
- | sparc | sparclet | sparclite | sparc64)
+ | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
+ | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
+ | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
+ | mipstx39 | mipstx39el \
+ | sparc | sparclet | sparclite | sparc64 | v850)
basic_machine=$basic_machine-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
- i[3456]86)
+ i[34567]86)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
@@ -170,14 +171,18 @@ case $basic_machine in
exit 1
;;
# Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
- | m88k-* | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
- | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
- | hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
- | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
- | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
- | mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
+ vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
+ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
+ | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
+ | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
+ | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
+ | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
+ | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+ | sparc64-* | mips64-* | mipsel-* \
+ | mips64el-* | mips64orion-* | mips64orionel-* \
+ | mipstx39-* | mipstx39el-* \
+ | f301-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
@@ -204,9 +209,9 @@ case $basic_machine in
amiga | amiga-*)
basic_machine=m68k-cbm
;;
- amigados)
+ amigaos | amigados)
basic_machine=m68k-cbm
- os=-amigados
+ os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-cbm
@@ -345,19 +350,19 @@ case $basic_machine in
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i[3456]86v32)
+ i[34567]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
- i[3456]86v4*)
+ i[34567]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
- i[3456]86v)
+ i[34567]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
- i[3456]86sol2)
+ i[34567]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
@@ -391,11 +396,11 @@ case $basic_machine in
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
- os=-linux
+ os=-linux-gnu
;;
mips*-linux*)
basic_machine=mips-unknown
- os=-linux
+ os=-linux-gnu
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
@@ -464,25 +469,23 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
- pentium | p5)
- basic_machine=i586-intel
+ pentium | p5 | k5 | nexen)
+ basic_machine=i586-pc
;;
- pentiumpro | p6)
- basic_machine=i686-intel
+ pentiumpro | p6 | k6 | 6x86)
+ basic_machine=i686-pc
;;
- pentium-* | p5-*)
+ pentiumii | pentium2)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- pentiumpro-* | p6-*)
+ pentiumpro-* | p6-* | k6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- k5)
- # We don't have specific support for AMD's K5 yet, so just call it a Pentium
- basic_machine=i586-amd
- ;;
- nexen)
- # We don't have specific support for Nexgen yet, so just call it a Pentium
- basic_machine=i586-nexgen
+ pentiumii-* | pentium2-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
@@ -566,6 +569,12 @@ case $basic_machine in
basic_machine=i386-sequent
os=-dynix
;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
tower | tower-32)
basic_machine=m68k-ncr
;;
@@ -585,7 +594,7 @@ case $basic_machine in
basic_machine=vax-dec
os=-vms
;;
- vpp*|vx|vx-*)
+ vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
@@ -615,7 +624,7 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
mips)
- if [ x$os = x-linux ]; then
+ if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
else
basic_machine=mips-mips
@@ -680,9 +689,12 @@ case $os in
-solaris)
os=-solaris2
;;
- -unixware* | svr4*)
+ -svr4*)
os=-sysv4
;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
@@ -693,7 +705,8 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
@@ -701,7 +714,7 @@ case $os in
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -linux-gnu* | -uxpv*)
+ | -mingw32* | -linux-gnu* | -uxpv*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-linux*)
@@ -827,7 +840,7 @@ case $basic_machine in
os=-sysv
;;
*-cbm)
- os=-amigados
+ os=-amigaos
;;
*-dg)
os=-dgux
diff --git a/configure b/configure
index 96440740..6708e8d1 100755
--- a/configure
+++ b/configure
@@ -12,13 +12,9 @@ ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
ac_help="$ac_help
- --enable-shared build shared libraries [default=yes]
- --enable-shared=PKGS only build shared libraries if the current package
- appears as an element in the PKGS list"
+ --enable-shared[=PKGS] build shared libraries [default=yes]"
ac_help="$ac_help
- --enable-static build static libraries [default=no]
- --enable-static=PKGS only build shared libraries if the current package
- appears as an element in the PKGS list"
+ --enable-static[=PKGS] build static libraries [default=no]"
ac_help="$ac_help
--with-gnu-ld assume the C compiler uses GNU ld [default=no]"
ac_help="$ac_help
@@ -598,7 +594,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:602: checking for a BSD compatible install" >&5
+echo "configure:598: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -651,7 +647,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:655: checking whether build environment is sane" >&5
+echo "configure:651: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -689,7 +685,7 @@ fi
rm -f conftest*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:693: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:689: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -718,7 +714,7 @@ fi
PACKAGE=m4
-VERSION=1.4m
+VERSION=1.4n
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
@@ -735,7 +731,7 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:739: checking for working aclocal" >&5
+echo "configure:735: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -748,7 +744,7 @@ else
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:752: checking for working autoconf" >&5
+echo "configure:748: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -761,7 +757,7 @@ else
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:765: checking for working automake" >&5
+echo "configure:761: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -774,7 +770,7 @@ else
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:778: checking for working autoheader" >&5
+echo "configure:774: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -787,7 +783,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:791: checking for working makeinfo" >&5
+echo "configure:787: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -810,7 +806,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:814: checking for $ac_word" >&5
+echo "configure:810: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -841,7 +837,7 @@ done
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:845: checking for $ac_word" >&5
+echo "configure:841: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -870,7 +866,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:874: checking for $ac_word" >&5
+echo "configure:870: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -918,7 +914,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:922: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:918: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -928,11 +924,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 932 "configure"
+#line 928 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -952,12 +948,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:956: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:952: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:961: checking whether we are using GNU C" >&5
+echo "configure:957: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -966,7 +962,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:966: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -981,7 +977,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:985: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:981: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1019,7 +1015,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1023: checking for a BSD compatible install" >&5
+echo "configure:1019: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1069,7 +1065,7 @@ test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1073: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1069: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1095,39 +1091,10 @@ else
SET_MAKE="MAKE=${MAKE-make}"
fi
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1102: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1131: checking for $ac_word" >&5
+echo "configure:1098: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1209,7 +1176,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1213: checking host system type" >&5
+echo "configure:1180: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -1229,6 +1196,35 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
+# Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1203: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
# Check whether --with-gnu-ld or --without-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
withval="$with_gnu_ld"
@@ -1242,11 +1238,11 @@ ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1246: checking for ld used by GCC" >&5
+echo "configure:1242: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
- /* | A-Za-z:\\*)
+ /* | [A-Za-z]:\\*)
test -z "$LD" && LD="$ac_prog"
;;
"")
@@ -1260,10 +1256,10 @@ echo "configure:1246: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1264: checking for GNU ld" >&5
+echo "configure:1260: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1267: checking for non-GNU ld" >&5
+echo "configure:1263: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1299,7 +1295,7 @@ fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1303: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1299: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1315,15 +1311,14 @@ echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1319: checking for BSD-compatible nm" >&5
+echo "configure:1315: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- case "$NM" in
-/* | A-Za-z:\\*)
- ac_cv_path_NM="$NM" # Let the user override the test with a path.
- ;;
-*)
+ if test -n "$NM"; then
+ # Let the user override the test.
+ ac_cv_path_NM="$NM"
+else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
test -z "$ac_dir" && ac_dir=.
@@ -1343,8 +1338,7 @@ else
done
IFS="$ac_save_ifs"
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
- ;;
-esac
+fi
fi
NM="$ac_cv_path_NM"
@@ -1352,7 +1346,7 @@ echo "$ac_t""$NM" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1356: checking whether ln -s works" >&5
+echo "configure:1350: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1388,8 +1382,8 @@ test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
case "$host" in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 1392 "configure"' > conftest.$ac_ext
- if { (eval echo configure:1393: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 1386 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:1387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*32-bit*)
LD="${LD-ld} -32"
@@ -1414,13 +1408,17 @@ esac
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1424: checking how to run the C preprocessor" >&5
+echo "configure:1422: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1435,13 +1433,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1439 "configure"
+#line 1437 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1443: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1452,13 +1450,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1456 "configure"
+#line 1454 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1481,9 +1479,9 @@ fi
echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:1485: checking for AIX" >&5
+echo "configure:1483: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 1487 "configure"
+#line 1485 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
@@ -1505,7 +1503,7 @@ rm -f conftest*
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1509: checking for POSIXized ISC" >&5
+echo "configure:1507: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
@@ -1527,17 +1525,17 @@ fi
ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:1531: checking for minix/config.h" >&5
+echo "configure:1529: checking for minix/config.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1536 "configure"
+#line 1534 "configure"
#include "confdefs.h"
#include <minix/config.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1541: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1578,7 +1576,7 @@ fi
echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:1582: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:1580: checking for ${CC-cc} option to accept ANSI C" >&5
if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1594,7 +1592,7 @@ for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__
do
CC="$ac_save_CC $ac_arg"
cat > conftest.$ac_ext <<EOF
-#line 1598 "configure"
+#line 1596 "configure"
#include "confdefs.h"
#include <stdarg.h>
#include <stdio.h>
@@ -1631,7 +1629,7 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
; return 0; }
EOF
-if { (eval echo configure:1635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1633: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_prog_cc_stdc="$ac_arg"; break
else
@@ -1657,7 +1655,7 @@ esac
echo $ac_n "checking for function prototypes""... $ac_c" 1>&6
-echo "configure:1661: checking for function prototypes" >&5
+echo "configure:1659: checking for function prototypes" >&5
if test "$am_cv_prog_cc_stdc" != no; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -1670,12 +1668,12 @@ else
U=_ ANSI2KNR=./ansi2knr
# Ensure some checks needed by ansi2knr itself.
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1674: checking for ANSI C header files" >&5
+echo "configure:1672: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1679 "configure"
+#line 1677 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1683,7 +1681,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1687: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1685: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1700,7 +1698,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1704 "configure"
+#line 1702 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1718,7 +1716,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1722 "configure"
+#line 1720 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1739,7 +1737,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1743 "configure"
+#line 1741 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1750,7 +1748,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1777,17 +1775,17 @@ fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1781: checking for $ac_hdr" >&5
+echo "configure:1779: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1786 "configure"
+#line 1784 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1791: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1816,12 +1814,12 @@ done
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1820: checking for working const" >&5
+echo "configure:1818: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1825 "configure"
+#line 1823 "configure"
#include "confdefs.h"
int main() {
@@ -1870,7 +1868,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:1874: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -1895,17 +1893,17 @@ for ac_hdr in limits.h locale.h memory.h siginfo.h string.h unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1899: checking for $ac_hdr" >&5
+echo "configure:1897: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1904 "configure"
+#line 1902 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1907: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1932,12 +1930,12 @@ fi
done
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1936: checking for ANSI C header files" >&5
+echo "configure:1934: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1941 "configure"
+#line 1939 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1945,7 +1943,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1949: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1947: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1962,7 +1960,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1966 "configure"
+#line 1964 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1980,7 +1978,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1984 "configure"
+#line 1982 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2001,7 +1999,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2005 "configure"
+#line 2003 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2012,7 +2010,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2036,12 +2034,12 @@ EOF
fi
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:2040: checking return type of signal handlers" >&5
+echo "configure:2038: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2045 "configure"
+#line 2043 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -2058,7 +2056,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:2062: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2060: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -2077,12 +2075,12 @@ EOF
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:2081: checking for size_t" >&5
+echo "configure:2079: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2086 "configure"
+#line 2084 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -2113,12 +2111,12 @@ fi
for ac_func in mkstemp sigaction sigaltstack sigstack sigvec strerror tmpfile
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2117: checking for $ac_func" >&5
+echo "configure:2115: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2122 "configure"
+#line 2120 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2141,7 +2139,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2169,19 +2167,19 @@ done
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:2173: checking for working alloca.h" >&5
+echo "configure:2171: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2178 "configure"
+#line 2176 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:2185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -2202,12 +2200,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:2206: checking for alloca" >&5
+echo "configure:2204: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2211 "configure"
+#line 2209 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -2230,7 +2228,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -2262,12 +2260,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:2266: checking whether alloca needs Cray hooks" >&5
+echo "configure:2264: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2271 "configure"
+#line 2269 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -2292,12 +2290,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2296: checking for $ac_func" >&5
+echo "configure:2294: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2301 "configure"
+#line 2299 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2320,7 +2318,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2347,7 +2345,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:2351: checking stack direction for C alloca" >&5
+echo "configure:2349: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2355,7 +2353,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 2359 "configure"
+#line 2357 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -2374,7 +2372,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:2378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -2396,12 +2394,12 @@ EOF
fi
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2400: checking for vprintf" >&5
+echo "configure:2398: checking for vprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2405 "configure"
+#line 2403 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
@@ -2424,7 +2422,7 @@ vprintf();
; return 0; }
EOF
-if { (eval echo configure:2428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
@@ -2448,12 +2446,12 @@ fi
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2452: checking for _doprnt" >&5
+echo "configure:2450: checking for _doprnt" >&5
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2457 "configure"
+#line 2455 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
@@ -2476,7 +2474,7 @@ _doprnt();
; return 0; }
EOF
-if { (eval echo configure:2480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
@@ -2503,12 +2501,12 @@ fi
for ac_func in strtol obstack xmalloc xstrdup
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2507: checking for $ac_func" >&5
+echo "configure:2505: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2512 "configure"
+#line 2510 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2531,7 +2529,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2558,12 +2556,12 @@ done
echo $ac_n "checking for getopt_long""... $ac_c" 1>&6
-echo "configure:2562: checking for getopt_long" >&5
+echo "configure:2560: checking for getopt_long" >&5
if eval "test \"`echo '$''{'ac_cv_func_getopt_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2567 "configure"
+#line 2565 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getopt_long(); below. */
@@ -2586,7 +2584,7 @@ getopt_long();
; return 0; }
EOF
-if { (eval echo configure:2590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_getopt_long=yes"
else
@@ -2628,12 +2626,12 @@ fi
for ac_func in strerror strerror_r vprintf doprnt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2632: checking for $ac_func" >&5
+echo "configure:2630: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2637 "configure"
+#line 2635 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2656,7 +2654,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2681,12 +2679,12 @@ fi
done
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2685: checking for ANSI C header files" >&5
+echo "configure:2683: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2690 "configure"
+#line 2688 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2694,7 +2692,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2696: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2711,7 +2709,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2715 "configure"
+#line 2713 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2729,7 +2727,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2733 "configure"
+#line 2731 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2750,7 +2748,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2754 "configure"
+#line 2752 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2761,7 +2759,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2787,9 +2785,9 @@ fi
echo $ac_n "checking ecvt declaration""... $ac_c" 1>&6
-echo "configure:2791: checking ecvt declaration" >&5
+echo "configure:2789: checking ecvt declaration" >&5
cat > conftest.$ac_ext <<EOF
-#line 2793 "configure"
+#line 2791 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2805,12 +2803,12 @@ else
echo "$ac_t""no" 1>&6; for ac_func in ecvt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2809: checking for $ac_func" >&5
+echo "configure:2807: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2814 "configure"
+#line 2812 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2833,7 +2831,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2862,7 +2860,7 @@ rm -f conftest*
echo $ac_n "checking if stack overflow is detectable""... $ac_c" 1>&6
-echo "configure:2866: checking if stack overflow is detectable" >&5
+echo "configure:2864: checking if stack overflow is detectable" >&5
# Code from Jim Avera <jima@netcom.com>.
# stackovf.c requires:
# 1. Either sigaction with SA_ONSTACK, or sigvec with SV_ONSTACK
@@ -2872,7 +2870,7 @@ use_stackovf=no
if test "$ac_cv_func_sigaction" = yes || test "$ac_cv_func_sigvec" = yes; then
if test "$ac_cv_func_sigaltstack" = yes || test "$ac_cv_func_sigstack" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 2876 "configure"
+#line 2874 "configure"
#include "confdefs.h"
#include <sys/time.h>
#include <sys/resource.h>
@@ -2885,7 +2883,7 @@ choke me /* SA_ONSTACK and/or SV_ONSTACK are not defined */
#endif
; return 0; }
EOF
-if { (eval echo configure:2889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
use_stackovf=yes
else
@@ -2904,7 +2902,7 @@ EOF
STACKOVF=stackovf.${U}o
cat > conftest.$ac_ext <<EOF
-#line 2908 "configure"
+#line 2906 "configure"
#include "confdefs.h"
#include <sys/resource.h>
EOF
@@ -2921,7 +2919,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 2925 "configure"
+#line 2923 "configure"
#include "confdefs.h"
#include <signal.h>
EOF
@@ -2938,7 +2936,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 2942 "configure"
+#line 2940 "configure"
#include "confdefs.h"
#include <signal.h>
EOF
@@ -2955,7 +2953,7 @@ rm -f conftest*
fi
echo $ac_n "checking if changeword is wanted""... $ac_c" 1>&6
-echo "configure:2959: checking if changeword is wanted" >&5
+echo "configure:2957: checking if changeword is wanted" >&5
# Check whether --enable-changeword or --disable-changeword was given.
if test "${enable_changeword+set}" = set; then
enableval="$enable_changeword"
@@ -2974,7 +2972,7 @@ fi
echo $ac_n "checking if support for dynamic modules is wanted""... $ac_c" 1>&6
-echo "configure:2978: checking if support for dynamic modules is wanted" >&5
+echo "configure:2976: checking if support for dynamic modules is wanted" >&5
# Check whether --with-modules or --without-modules was given.
if test "${with_modules+set}" = set; then
withval="$with_modules"
@@ -2986,17 +2984,17 @@ fi
echo "$ac_t""$use_modules" 1>&6
if test "$use_modules" = yes; then
- with_modules=no
+ with_modules=no
for ac_func in dlopen
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2995: checking for $ac_func" >&5
+echo "configure:2993: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3000 "configure"
+#line 2998 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3019,7 +3017,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3049,7 +3047,7 @@ done
if test "$with_modules" = no; then
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:3053: checking for dlopen in -ldl" >&5
+echo "configure:3051: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3057,7 +3055,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3061 "configure"
+#line 3059 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3068,7 +3066,7 @@ int main() {
dlopen()
; return 0; }
EOF
-if { (eval echo configure:3072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3117,7 +3115,7 @@ EOF
if test "$with_modules" = no; then
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:3121: checking for shl_load in -ldld" >&5
+echo "configure:3119: checking for shl_load in -ldld" >&5
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3125,7 +3123,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3129 "configure"
+#line 3127 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3136,7 +3134,7 @@ int main() {
shl_load()
; return 0; }
EOF
-if { (eval echo configure:3140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3166,7 +3164,7 @@ fi
if test "$ac_cv_lib_dld_shl_load" = yes; then
with_modules=yes
- LIBS="$LIBS -ldld"
+# LIBS="$LIBS -ldld"
cat >> confdefs.h <<\EOF
#define HAVE_SHL_LOAD 1
EOF
@@ -3179,6 +3177,11 @@ EOF
MODULES_DIR=modules
MODULE_PATH="${pkglibexecdir}"
+
+ cat >> confdefs.h <<\EOF
+#define WITH_MODULES 1
+EOF
+
fi
@@ -3186,8 +3189,251 @@ EOF
fi
+
+echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
+echo "configure:3195: checking whether struct tm is in sys/time.h or time.h" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3200 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <time.h>
+int main() {
+struct tm *tp; tp->tm_sec;
+; return 0; }
+EOF
+if { (eval echo configure:3208: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_struct_tm=time.h
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_struct_tm=sys/time.h
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_struct_tm" 1>&6
+if test $ac_cv_struct_tm = sys/time.h; then
+ cat >> confdefs.h <<\EOF
+#define TM_IN_SYS_TIME 1
+EOF
+
+fi
+
+echo $ac_n "checking for strftime""... $ac_c" 1>&6
+echo "configure:3229: checking for strftime" >&5
+if eval "test \"`echo '$''{'ac_cv_func_strftime'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3234 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char strftime(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char strftime();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_strftime) || defined (__stub___strftime)
+choke me
+#else
+strftime();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_func_strftime=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_strftime=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'strftime`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRFTIME 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+# strftime is in -lintl on SCO UNIX.
+echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6
+echo "configure:3279: checking for strftime in -lintl" >&5
+ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lintl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3287 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char strftime();
+
+int main() {
+strftime()
+; return 0; }
+EOF
+if { (eval echo configure:3298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRFTIME 1
+EOF
+
+LIBS="-lintl $LIBS"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+for ac_func in getcwd gethostname mktime uname
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3327: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3332 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in setenv unsetenv putenv clearenv
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3382: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3387 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+
echo $ac_n "checking if extended and fractional arithmetic is wanted""... $ac_c" 1>&6
-echo "configure:3191: checking if extended and fractional arithmetic is wanted" >&5
+echo "configure:3437: checking if extended and fractional arithmetic is wanted" >&5
# Check whether --with-gmp or --without-gmp was given.
if test "${with_gmp+set}" = set; then
withval="$with_gmp"
@@ -3202,17 +3448,17 @@ fi
LIBS="$LIBS -lgmp"
ac_safe=`echo "gmp.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for gmp.h""... $ac_c" 1>&6
-echo "configure:3206: checking for gmp.h" >&5
+echo "configure:3452: checking for gmp.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3211 "configure"
+#line 3457 "configure"
#include "confdefs.h"
#include <gmp.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3216: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3229,19 +3475,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for mpq_init in libgmp""... $ac_c" 1>&6
-echo "configure:3233: checking for mpq_init in libgmp" >&5
+echo "configure:3479: checking for mpq_init in libgmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_mpq_init_libgmp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3238 "configure"
+#line 3484 "configure"
#include "confdefs.h"
#include <gmp.h>
int main() {
mpq_t x; (void)mpq_init(x)
; return 0; }
EOF
-if { (eval echo configure:3245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_func_mpq_init_libgmp=yes
else
@@ -3274,7 +3520,7 @@ EOF
if test "$use_gmp" != yes; then
echo $ac_n "checking size of long long int""... $ac_c" 1>&6
-echo "configure:3278: checking size of long long int" >&5
+echo "configure:3524: checking size of long long int" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_long_long_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3282,7 +3528,7 @@ else
ac_cv_sizeof_long_long_int=0
else
cat > conftest.$ac_ext <<EOF
-#line 3286 "configure"
+#line 3532 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -3293,7 +3539,7 @@ main()
exit(0);
}
EOF
-if { (eval echo configure:3297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_long_long_int=`cat conftestval`
else
@@ -3316,7 +3562,7 @@ EOF
echo $ac_n "checking if malloc debugging is wanted""... $ac_c" 1>&6
-echo "configure:3320: checking if malloc debugging is wanted" >&5
+echo "configure:3566: checking if malloc debugging is wanted" >&5
# Check whether --with-dmalloc or --without-dmalloc was given.
if test "${with_dmalloc+set}" = set; then
withval="$with_dmalloc"
@@ -3337,21 +3583,21 @@ fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:3341: checking for inline" >&5
+echo "configure:3587: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 3348 "configure"
+#line 3594 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:3355: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -3377,12 +3623,12 @@ EOF
esac
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3381: checking for off_t" >&5
+echo "configure:3627: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3386 "configure"
+#line 3632 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3413,17 +3659,17 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3417: checking for $ac_hdr" >&5
+echo "configure:3663: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3422 "configure"
+#line 3668 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3427: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3452,12 +3698,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3456: checking for $ac_func" >&5
+echo "configure:3702: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3461 "configure"
+#line 3707 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3480,7 +3726,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3505,7 +3751,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:3509: checking for working mmap" >&5
+echo "configure:3755: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3513,7 +3759,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 3517 "configure"
+#line 3763 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -3653,7 +3899,7 @@ main()
}
EOF
-if { (eval echo configure:3657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -3681,17 +3927,17 @@ unistd.h sys/param.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3685: checking for $ac_hdr" >&5
+echo "configure:3931: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3690 "configure"
+#line 3936 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3695: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3941: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3721,12 +3967,12 @@ done
strdup __argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3725: checking for $ac_func" >&5
+echo "configure:3971: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3730 "configure"
+#line 3976 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3749,7 +3995,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3778,12 +4024,12 @@ done
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3782: checking for $ac_func" >&5
+echo "configure:4028: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3787 "configure"
+#line 4033 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3806,7 +4052,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3840,19 +4086,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:3844: checking for LC_MESSAGES" >&5
+echo "configure:4090: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3849 "configure"
+#line 4095 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:3856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
@@ -3873,7 +4119,7 @@ EOF
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:3877: checking whether NLS is requested" >&5
+echo "configure:4123: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
@@ -3893,7 +4139,7 @@ fi
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:3897: checking whether included gettext is requested" >&5
+echo "configure:4143: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
@@ -3912,17 +4158,17 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:3916: checking for libintl.h" >&5
+echo "configure:4162: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3921 "configure"
+#line 4167 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3926: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3939,19 +4185,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:3943: checking for gettext in libc" >&5
+echo "configure:4189: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3948 "configure"
+#line 4194 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
gt_cv_func_gettext_libc=yes
else
@@ -3967,7 +4213,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:3971: checking for bindtextdomain in -lintl" >&5
+echo "configure:4217: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3975,7 +4221,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3979 "configure"
+#line 4225 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3986,7 +4232,7 @@ int main() {
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:3990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4002,7 +4248,7 @@ fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:4006: checking for gettext in -lintl" >&5
+echo "configure:4252: checking for gettext in -lintl" >&5
ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4010,7 +4256,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4014 "configure"
+#line 4260 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4021,7 +4267,7 @@ int main() {
gettext()
; return 0; }
EOF
-if { (eval echo configure:4025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4058,7 +4304,7 @@ EOF
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4062: checking for $ac_word" >&5
+echo "configure:4308: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4092,12 +4338,12 @@ fi
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4096: checking for $ac_func" >&5
+echo "configure:4342: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4101 "configure"
+#line 4347 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4120,7 +4366,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4147,7 +4393,7 @@ done
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4151: checking for $ac_word" >&5
+echo "configure:4397: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4179,7 +4425,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4183: checking for $ac_word" >&5
+echo "configure:4429: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4211,7 +4457,7 @@ else
fi
cat > conftest.$ac_ext <<EOF
-#line 4215 "configure"
+#line 4461 "configure"
#include "confdefs.h"
int main() {
@@ -4219,7 +4465,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:4223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
@@ -4242,7 +4488,7 @@ fi
if test "$CATOBJEXT" = "NONE"; then
echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
-echo "configure:4246: checking whether catgets can be used" >&5
+echo "configure:4492: checking whether catgets can be used" >&5
# Check whether --with-catgets or --without-catgets was given.
if test "${with_catgets+set}" = set; then
withval="$with_catgets"
@@ -4255,7 +4501,7 @@ fi
if test "$nls_cv_use_catgets" = "yes"; then
echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:4259: checking for main in -li" >&5
+echo "configure:4505: checking for main in -li" >&5
ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4263,14 +4509,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-li $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4267 "configure"
+#line 4513 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:4274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4298,12 +4544,12 @@ else
fi
echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:4302: checking for catgets" >&5
+echo "configure:4548: checking for catgets" >&5
if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4307 "configure"
+#line 4553 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char catgets(); below. */
@@ -4326,7 +4572,7 @@ catgets();
; return 0; }
EOF
-if { (eval echo configure:4330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_catgets=yes"
else
@@ -4348,7 +4594,7 @@ EOF
# Extract the first word of "gencat", so it can be a program name with args.
set dummy gencat; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4352: checking for $ac_word" >&5
+echo "configure:4598: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4380,7 +4626,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4384: checking for $ac_word" >&5
+echo "configure:4630: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4413,7 +4659,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4417: checking for $ac_word" >&5
+echo "configure:4663: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4448,7 +4694,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4452: checking for $ac_word" >&5
+echo "configure:4698: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4506,7 +4752,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4510: checking for $ac_word" >&5
+echo "configure:4756: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4540,7 +4786,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4544: checking for $ac_word" >&5
+echo "configure:4790: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4572,7 +4818,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4576: checking for $ac_word" >&5
+echo "configure:4822: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4665,7 +4911,7 @@ fi
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:4669: checking for catalogs to be installed" >&5
+echo "configure:4915: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
@@ -4693,17 +4939,17 @@ echo "configure:4669: checking for catalogs to be installed" >&5
if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:4697: checking for linux/version.h" >&5
+echo "configure:4943: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4702 "configure"
+#line 4948 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4707: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4953: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4768,6 +5014,14 @@ fi
< $srcdir/po/POTFILES.in > po/POTFILES
+if test "$USE_INCLUDED_LIBINTL" = yes; then
+ INTLINCL='-I$(top_srcdir)/intl'
+
+
+fi
+
+
+
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
@@ -4914,13 +5168,13 @@ s%@SET_MAKE@%$SET_MAKE%g
s%@pkglibexecdir@%$pkglibexecdir%g
s%@AWK@%$AWK%g
s%@CC@%$CC%g
-s%@RANLIB@%$RANLIB%g
s%@PERL@%$PERL%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g
+s%@RANLIB@%$RANLIB%g
s%@LD@%$LD%g
s%@NM@%$NM%g
s%@LN_S@%$LN_S%g
@@ -4955,6 +5209,7 @@ s%@GT_NO@%$GT_NO%g
s%@GT_YES@%$GT_YES%g
s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g
s%@l@%$l%g
+s%@INTLINCL@%$INTLINCL%g
CEOF
EOF
diff --git a/configure.in b/configure.in
index 473137d9..74008230 100644
--- a/configure.in
+++ b/configure.in
@@ -8,7 +8,7 @@ AC_INIT(src/m4.c)
AM_CONFIG_HEADER(config.h)
AC_ARG_PROGRAM
-AM_INIT_AUTOMAKE(m4,1.4m)
+AM_INIT_AUTOMAKE(m4,1.4n)
ALL_LINGUAS="de fr it ja nl pl ru sv"
pkglibexecdir='${libexecdir}'/$PACKAGE
@@ -18,7 +18,6 @@ AC_PROG_AWK
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
-AC_PROG_RANLIB
AC_PATH_PROG(PERL,perl)
AM_ENABLE_SHARED
@@ -91,10 +90,26 @@ else
fi], [AC_MSG_RESULT(no)])
AM_WITH_MODULES
+
+dnl This is for the modules
+AC_STRUCT_TM
+AC_FUNC_STRFTIME
+AC_CHECK_FUNCS(getcwd gethostname mktime uname)
+AC_CHECK_FUNCS(setenv unsetenv putenv clearenv)
+
+
AM_WITH_GMP
AM_WITH_DMALLOC
AM_GNU_GETTEXT
+
+if test "$USE_INCLUDED_LIBINTL" = yes; then
+ INTLINCL='-I$(top_srcdir)/intl'
+
+ AC_SUBST(INTLINCL)
+fi
+
+
dnl AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
AC_OUTPUT(Makefile acm4/Makefile intl/Makefile po/Makefile.in doc/Makefile \
diff --git a/doc/Makefile.in b/doc/Makefile.in
index bff362c1..1af78ddb 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -74,6 +74,7 @@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
+INTLINCL = @INTLINCL@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LD = @LD@
diff --git a/doc/m4.info b/doc/m4.info
index 757f2be1..1a6d6605 100644
--- a/doc/m4.info
+++ b/doc/m4.info
@@ -27,91 +27,92 @@ translation approved by the Foundation.

Indirect:
m4.info-1: 973
-m4.info-2: 50118
-m4.info-3: 99156
+m4.info-2: 50410
+m4.info-3: 99746

Tag Table:
(Indirect)
Node: Top973
-Node: Preliminaries7061
-Node: Intro7786
-Node: History9394
-Node: Invoking m410309
-Node: Bugs17174
-Node: Manual18375
-Node: Syntax19742
-Node: Names20580
-Node: Quoted strings21193
-Node: Other tokens21777
-Node: Comments21994
-Node: Input processing22681
-Node: Macros23834
-Node: Invocation24327
-Node: Inhibiting Invocation25138
-Node: Macro Arguments28283
-Node: Quoting Arguments29598
-Node: Macro expansion30403
-Node: Definitions31066
-Node: Define31843
-Node: Arguments33397
-Node: Pseudo Arguments34878
-Node: Undefine36729
-Node: Defn37391
-Node: Pushdef38861
-Node: Indir40920
-Node: Builtin41698
-Node: Conditionals42142
-Node: Ifdef42849
-Node: Ifelse43618
-Node: Loops45400
-Node: Debugging48692
-Node: Dumpdef49270
-Node: Trace50118
-Node: Debug Levels51497
-Node: Debug Output53883
-Node: Input Control54403
-Node: Dnl55016
-Node: Changequote56142
-Node: Changecom57506
-Node: Changesyntax58792
-Node: Changeword66041
-Node: M4wrap69417
-Node: File Inclusion70619
-Node: Include70935
-Node: Search Path72954
-Node: Diversions73741
-Node: Divert74978
-Node: Undivert76110
-Node: Divnum78081
-Node: Cleardiv78626
-Node: Text handling79681
-Node: Len80401
-Node: Index80799
-Node: Regexp81384
-Node: Substr82475
-Node: Translit83095
-Node: Patsubst84538
-Node: Format86629
-Node: Arithmetic88191
-Node: Incr88648
-Node: Eval89152
-Node: UNIX commands92758
-Node: Syscmd93229
-Node: Esyscmd93942
-Node: Sysval94890
-Node: Maketemp95295
-Node: Miscellaneous96353
-Node: Errprint96784
-Node: M4exit97766
-Node: Syncoutput98564
-Node: Frozen files99156
-Node: Compatibility104075
-Node: Extensions104691
-Node: Incompatibilities107161
-Node: Other Incompat107603
-Node: Experiments109768
-Node: Answers111275
-Node: Concept index111907
-Node: Macro index119328
+Node: Preliminaries7105
+Node: Intro7830
+Node: History9438
+Node: Invoking m410353
+Node: Bugs17466
+Node: Manual18667
+Node: Syntax20034
+Node: Names20872
+Node: Quoted strings21485
+Node: Other tokens22069
+Node: Comments22286
+Node: Input processing22973
+Node: Macros24126
+Node: Invocation24619
+Node: Inhibiting Invocation25430
+Node: Macro Arguments28575
+Node: Quoting Arguments29890
+Node: Macro expansion30695
+Node: Definitions31358
+Node: Define32135
+Node: Arguments33689
+Node: Pseudo Arguments35170
+Node: Undefine37021
+Node: Defn37683
+Node: Pushdef39153
+Node: Indir41212
+Node: Builtin41990
+Node: Conditionals42434
+Node: Ifdef43141
+Node: Ifelse43910
+Node: Loops45692
+Node: Debugging48984
+Node: Dumpdef49562
+Node: Trace50410
+Node: Debug Levels51789
+Node: Debug Output54175
+Node: Input Control54695
+Node: Dnl55308
+Node: Changequote56434
+Node: Changecom57798
+Node: Changesyntax59084
+Node: Changeword66333
+Node: M4wrap69709
+Node: File Inclusion70911
+Node: Include71227
+Node: Search Path73247
+Node: Diversions74034
+Node: Divert75271
+Node: Undivert76403
+Node: Divnum78374
+Node: Cleardiv78919
+Node: Text handling79974
+Node: Len80694
+Node: Index81092
+Node: Regexp81677
+Node: Substr82768
+Node: Translit83388
+Node: Patsubst84831
+Node: Format86922
+Node: Arithmetic88484
+Node: Incr88952
+Node: Eval89456
+Node: Mpeval92592
+Node: UNIX commands93348
+Node: Syscmd93819
+Node: Esyscmd94532
+Node: Sysval95480
+Node: Maketemp95885
+Node: Miscellaneous96943
+Node: Errprint97374
+Node: M4exit98356
+Node: Syncoutput99154
+Node: Frozen files99746
+Node: Compatibility104665
+Node: Extensions105281
+Node: Incompatibilities107751
+Node: Other Incompat108193
+Node: Experiments110358
+Node: Answers111865
+Node: Concept index112497
+Node: Macro index119918

End Tag Table
diff --git a/doc/m4.info-1 b/doc/m4.info-1
index a78305cc..5280383b 100644
--- a/doc/m4.info-1
+++ b/doc/m4.info-1
@@ -42,7 +42,7 @@ changes by Franc,ois Pinard and other volunteers on the Internet. All
names and email addresses can be found in the file `THANKS' from the
GNU `m4' distribution.
- This is BETA release 1.4m. This is a development release, and is as
+ This is BETA release 1.4n. This is a development release, and is as
such prone to bugs, crashes, unforeseen features, incomplete
documentation, ... therefore, use at your own peril. In case of
problems, please do not hesitate to report them (see the README file in
@@ -75,6 +75,7 @@ the distribution).
* Concept index:: Index for many concepts
* Macro index:: Index for all m4 macros
+ -- The Detailed Node Listing --
Introduction and preliminaries
@@ -160,6 +161,7 @@ Macros for doing arithmetic
* Incr:: Decrement and increment operators
* Eval:: Evaluating integer or rational expressions
+* Mpeval::
Running UNIX commands
@@ -318,6 +320,10 @@ options:
Makes this invocation of `m4' interactive. This means that all
output will be unbuffered, and interrupts will be ignored.
+`-c'
+`--discard-comments'
+ Discard all comments instead of copying them to the output.
+
`-s'
`--synclines'
Generate synchronisation lines, for use by the C preprocessor or
@@ -431,6 +437,10 @@ using the `-D' and `-U' options. They have the following format:
Before execution starts, recover the internal state from the
specified frozen FILE (*note Frozen files::.).
+`--import-environment'
+ Imports every variable in the environment as a macro. This is done
+ before `-D' and `-U', so these can change the macros.
+
The remaining arguments on the command line are taken to be input
file names. If no names are present, the standard input is read. A
file name of `-' is taken to mean the standard input.
diff --git a/doc/m4.info-2 b/doc/m4.info-2
index 20449257..39a695d0 100644
--- a/doc/m4.info-2
+++ b/doc/m4.info-2
@@ -744,7 +744,7 @@ include a file, if it exists, expanding to nothing if it does not.
include(`no-such-file')
=>
- error-->in:1: m4: Cannot open no-such-file: No such file or directory
+ error-->m4: in: 1: Cannot open no-such-file: No such file or directory
sinclude(`no-such-file')
=>
@@ -1276,6 +1276,7 @@ decrement operations.
* Incr:: Decrement and increment operators
* Eval:: Evaluating integer or rational expressions
+* Mpeval::

File: m4.info, Node: Incr, Next: Eval, Prev: Arithmetic, Up: Arithmetic
@@ -1301,7 +1302,7 @@ decremented, respectively, by one.
arguments.

-File: m4.info, Node: Eval, Prev: Incr, Up: Arithmetic
+File: m4.info, Node: Eval, Next: Mpeval, Prev: Incr, Up: Arithmetic
Evaluating integer or rational expressions
==========================================
@@ -1371,17 +1372,8 @@ then the digits making the number. For any radix, the digits are `0',
Lower and upper case letters can be used interchangeably in numbers
prefixes and as number digits.
- Calculations are done in 32 bit, but `m4' will use wider integers if
-available.
-
- When compiled with a multiple precision arithmetic library (*note
-Experiments::.), numbers may be of any length. The `:' operator
-rationally divides two numbers and canonicalizes the result. The `/'
-operator always returns the quotient of the division. To convert a
-rational value to integral, divide (`/') by 1. Some operators such as
-`%', `<<', `>>', `~', `&', `|' and `^' operate only on integers and
-will truncate any rational remainder. `**' assumes that the exponent
-is integral.
+ Calculations are done in at lease 32 bit, but `m4' will use wider
+integers if available.
Parentheses may be used to group subexpressions whenever needed.
For the relational operators, a true relation returns `1', and a false
@@ -1402,7 +1394,7 @@ relation return `0'.
define(`foo', `666')
=>
eval(`foo'/6)
- error-->in:7: m4: Bad expression in eval: foo/6
+ error-->m4: in: 7: Bad expression in eval: foo/6
=>
eval(foo/6)
=>111
@@ -1434,6 +1426,25 @@ requested width.
The builtin macro `eval' is recognized only when given arguments.

+File: m4.info, Node: Mpeval, Prev: Eval, Up: Arithmetic
+
+Multiple precision arithmetic
+=============================
+
+ When `m4' is compiled with a multiple precision arithmetic library
+(*note Experiments::.), a builtin `mpeval' is defined.
+
+ It is almost identical to `eval', except the calculations are done
+with infinite precision. Numbers may be of any length.
+
+ The `:' operator rationally divides two numbers and canonicalizes
+the result. The `/' operator always returns the quotient of the
+division. To convert a rational value to integral, divide (`/') by 1.
+Some operators such as `%', `<<', `>>', `~', `&', `|' and `^' operate
+only on integers and will truncate any rational remainder. `**'
+assumes that the exponent is integral.
+
+
File: m4.info, Node: UNIX commands, Next: Miscellaneous, Prev: Arithmetic, Up: Top
Running UNIX commands
diff --git a/doc/m4.texinfo b/doc/m4.texinfo
index 8baedcee..dbad16c1 100644
--- a/doc/m4.texinfo
+++ b/doc/m4.texinfo
@@ -128,7 +128,8 @@ the distribution).
* Concept index:: Index for many concepts
* Macro index:: Index for all m4 macros
-@detailmenu --- The Detailed Node Listing ---
+@detailmenu
+ --- The Detailed Node Listing ---
Introduction and preliminaries
@@ -214,6 +215,7 @@ Macros for doing arithmetic
* Incr:: Decrement and increment operators
* Eval:: Evaluating integer or rational expressions
+* Mpeval::
Running UNIX commands
@@ -372,6 +374,10 @@ the current working directory. @xref{Search Path} for more details.
Makes this invocation of @code{m4} interactive. This means that all
output will be unbuffered, and interrupts will be ignored.
+@item -c
+@itemx --discard-comments
+Discard all comments instead of copying them to the output.
+
@item -s
@itemx --synclines
Generate synchronisation lines, for use by the C preprocessor or other
@@ -490,6 +496,10 @@ Once execution is finished, write out the frozen state on the specified
Before execution starts, recover the internal state from the specified
frozen @var{file} (@pxref{Frozen files}).
+@item --import-environment
+Imports every variable in the environment as a macro. This is done
+before @code{-D} and @code{-U}, so these can change the macros.
+
@end table
@cindex command line, file names on the
@@ -2508,7 +2518,7 @@ does not.
@example
include(`no-such-file')
@result{}
-@error{}in:1: m4: Cannot open no-such-file: No such file or directory
+@error{}m4: in: 1: Cannot open no-such-file: No such file or directory
sinclude(`no-such-file')
@result{}
@end example
@@ -3134,6 +3144,7 @@ decrement operations.
@menu
* Incr:: Decrement and increment operators
* Eval:: Evaluating integer or rational expressions
+* Mpeval::
@end menu
@node Incr, Eval, Arithmetic, Arithmetic
@@ -3166,7 +3177,7 @@ decr(7)
The builtin macros @code{incr} and @code{decr} are recognized only when
given arguments.
-@node Eval, , Incr, Arithmetic
+@node Eval, Mpeval, Incr, Arithmetic
@section Evaluating integer or rational expressions
@cindex integer expression evaluation
@@ -3232,17 +3243,8 @@ then the digits making the number. For any radix, the digits are
@samp{a}, @samp{b} @dots{} up to @samp{z}. Lower and upper case letters
can be used interchangeably in numbers prefixes and as number digits.
-Calculations are done in 32 bit, but @code{m4} will use wider integers
-if available.
-
-When compiled with a multiple precision arithmetic library
-(@pxref{Experiments}), numbers may be of any length. The @code{:}
-operator rationally divides two numbers and canonicalizes the result.
-The @code{/} operator always returns the quotient of the division. To
-convert a rational value to integral, divide (@code{/}) by 1. Some
-operators such as @code{%}, @code{<<}, @code{>>}, @code{~}, @code{&},
-@code{|} and @code{^} operate only on integers and will truncate any
-rational remainder. @code{**} assumes that the exponent is integral.
+Calculations are done in at lease 32 bit, but @code{m4} will use wider
+integers if available.
Parentheses may be used to group subexpressions whenever needed. For the
relational operators, a true relation returns @code{1}, and a false
@@ -3264,7 +3266,7 @@ square(square(5)+1)
define(`foo', `666')
@result{}
eval(`foo'/6)
-@error{}in:7: m4: Bad expression in eval: foo/6
+@error{}m4: in: 7: Bad expression in eval: foo/6
@result{}
eval(foo/6)
@result{}111
@@ -3298,6 +3300,25 @@ Take note that @var{radix} cannot be larger than 36.
The builtin macro @code{eval} is recognized only when given arguments.
+@node Mpeval, , Eval, Arithmetic
+@comment node-name, next, previous, up
+@section Multiple precision arithmetic
+
+When @code{m4} is compiled with a multiple precision arithmetic library
+(@pxref{Experiments}), a builtin @code{mpeval} is defined.
+
+It is almost identical to @code{eval}, except the calculations are done
+with infinite precision. Numbers may be of any length.
+
+The @code{:} operator rationally divides two numbers and canonicalizes
+the result. The @code{/} operator always returns the quotient of the
+division. To convert a rational value to integral, divide (@code{/}) by
+1. Some operators such as @code{%}, @code{<<}, @code{>>}, @code{~},
+@code{&}, @code{|} and @code{^} operate only on integers and will
+truncate any rational remainder. @code{**} assumes that the exponent is
+integral.
+
+
@node UNIX commands, Miscellaneous, Arithmetic, Top
@chapter Running UNIX commands
diff --git a/doc/stamp-vti b/doc/stamp-vti
index 146275f3..f7aa287b 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,3 +1,3 @@
-@set UPDATED 18 November 1998
-@set EDITION 1.4m
-@set VERSION 1.4m
+@set UPDATED 29 November 1998
+@set EDITION 1.4n
+@set VERSION 1.4n
diff --git a/doc/version.texi b/doc/version.texi
index 146275f3..f7aa287b 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,3 +1,3 @@
-@set UPDATED 18 November 1998
-@set EDITION 1.4m
-@set VERSION 1.4m
+@set UPDATED 29 November 1998
+@set EDITION 1.4n
+@set VERSION 1.4n
diff --git a/examples/Makefile.in b/examples/Makefile.in
index e14bdb96..5bdf08a8 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -74,6 +74,7 @@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
+INTLINCL = @INTLINCL@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LD = @LD@
diff --git a/examples/WWW/Makefile b/examples/WWW/Makefile
index f143493e..f47a40e9 100644
--- a/examples/WWW/Makefile
+++ b/examples/WWW/Makefile
@@ -16,3 +16,13 @@ all: *.htm
fi
*.htm: m4lib/*.m4
+
+changelog.htm: m4/ChangeLog
+readme.htm: m4/README
+todo.htm: m4/TODO
+news.htm: m4/NEWS
+modules.htm: m4/modules/README
+
+.PHONY: man
+man:
+ cd man; $(MAKE)
diff --git a/examples/WWW/bugs.htm b/examples/WWW/bugs.htm
new file mode 100644
index 00000000..207fcc31
--- /dev/null
+++ b/examples/WWW/bugs.htm
@@ -0,0 +1,284 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - Known bugs in GNU m4 \__m4_version__</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>Known bugs in GNU m4 1.4n</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+
+
+
+
+
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD height=5>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD height=5>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD height=5>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD height=5>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD height=5>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<H2>Known bugs in GNU m4</H2>
+
+
+
+
+
+
+<UL>
+
+
+<LI> <A HREF="#undivert">undivert(0) might read from standard output.</A>
+
+
+
+
+<LI> <A HREF="#sigaltstack">failure if sigaltstack or sigstack returns ENOSYS.</A>
+
+
+
+
+
+</UL>
+
+
+<P>
+See also the <A HREF="todo.htm">TODO</A> file.
+</P>
+
+
+
+<HR align=center width=50%><A NAME="undivert">
+<H2>undivert(0) might read from standard output</H2>
+</A><P>
+If calling <TT>undivert(0)</TT> when diverting to a non-zero diversion
+will cause m4 to read from standard output in an attempt to bring back
+diversion 0, which is not possible.
+</P>
+
+
+<P>
+Fixed in version 1.4n
+</P>
+
+
+
+<HR align=center width=50%><A NAME="sigaltstack">
+<H2>failure if sigaltstack or sigstack returns ENOSYS</H2>
+</A><P>
+If stack overflow detection is configured but the system doesn't
+support sigaltstack(2) or sigstack(2), m4 fails when the system call
+returns ENOSYS. It should silently revert to default behaviour.
+</P>
+
+
+<P>
+A <A
+HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: failure if sigaltstack or sigstack returns ENOSYS"
+>volunteer</A> is badly needed for this, as I have no way of testing
+this myself.
+</P>
+
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/changelog.htm b/examples/WWW/changelog.htm
index 56713edc..83522fb4 100644
--- a/examples/WWW/changelog.htm
+++ b/examples/WWW/changelog.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - ChangeLog</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,12 +198,133 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
-<PRE>1998-11-18 Rene' Seindal &lt;rene@seindal.dk&gt;
+<PRE>1998-11-29 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * tests/Makefile.am (OTHER_TESTS, OTHER_FILES): New tests.
+
+ * tests/other-tests/import-environment.{m4,test}: New test.
+
+ * tests/other-tests/discard-comments.{m4,test}: New test.
+
+ * doc/m4.texinfo (Invoking m4): Updated for --discard-comments.
+
+ * src/m4.c (main): New option -c --discard-comments.
+ New global variable discard_comments.
+
+ * src/m4.h (token_type): New TOKEN_NONE for tokens to be
+ discarded, ie never returned from next_token().
+ Added declaration of discard_comments.
+
+ * src/input.c (next_token): Now loops until token type is not
+ TOKEN_NONE. Comments are now given this type when comments should
+ be discarded.
+
+ * doc/m4.texinfo (Invoking m4): Updated for --import-environment
+ and mpeval.
+
+1998-11-28 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * src/m4.c (main): New option --import-environment (no single
+ letter option).
+
+ * When configured with --with-gmp both the normal (fast) eval()
+ and the gmp aware mpeval() are defined. To restore previous
+ bahaviour use "define(`eval', defn(`mpeval'))".
+
+ * tests/other-tests/gmp.m4: Changed to use mpeval().
+
+ * src/evalmp.c: New file for compiling eval.c as gmp aware.
+ Just defines USE_GMP if WITH_GMP is defined and includes eval.c.
+
+ * src/eval.c: Now includes "numb.c" directly. Everything in this
+ file must by static, except evaluate(), which is changed to
+ mp_evaluate() if USE_GMP in force.
+
+ * src/numb.c: Changed to be included by eval.c instead of being
+ compiled separately. Everything is declared static.
+
+ * src/numb.h: Removed declarations of functions, as numb.c is now
+ included by eval.c.
+
+ * src/builtin.c: Declaration of m4_mpeval() added.
+ Inserted `mpeval' in builtin table.
+ (do_eval): New function with common code for m4_eval and m4_mpeval.
+ (m4_mpeval): New function for gmp version of eval.
+
+ * src/m4.h: Declaration of mp_evaluate().
+
+ * src/Makefile.am (m4_SOUCES): Includes mpeval.c.
+ (EXTRA_m4_SOURCES): Now has numb.c and numb.h
+
+ * src/m4.c (main): m4 --version also shows which options were used
+ for compilation, such as: "GNU m4 1.4n (options: modules gmp)"
+
+1998-11-27 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * Error messages now always print program name before input file
+ name as specified by GNU coding standards. Reported by Akim
+ Demaille &lt;demaille@inf.enst.fr&gt;.
+
+ * doc/m4.texinfo (Include): Change due to changed error message
+ format.
+ (Eval): Do.
+
+ * tests/get-them: Minor change to sed script due to changed error
+ message format.
+
+ * src/m4.c (print_program_name): New func used to print program
+ name, input file and line number in error (). Used as an
+ error_print_progname handler.
+ (reference_error): Removed.
+ (main): Assigns error_print_progname.
+
+ * src/m4.h (M4ERROR): Removed reference_error ().
+
+1998-11-25 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * Updated to libtool 1.2b.
+
+ * src/builtin.c (install_builtin_table): Added braces to avoid
+ warning of ambiguous 'else'.
+
+ * src/module.c: Inserted search path code from path.c modified to
+ use new interface.
+ (module_init): Configured default path used only if M4MODPATH is
+ not set.
+ (module_try_load): Now reads libMODULE.la as generated by libtool
+ for actual module name.
+ (module_load): Gives better error messages on failure.
+
+ * src/m4.h: Added declarations of structures and functions for
+ generic search path handling.
+
+ * src/path.c: Removed all module specific code and introduced new
+ functions of more generic search path handling.
+
+1998-11-24 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * configure.in: Defines INTLINCL to -I$(top_srcdir)/intl if using
+ included gettext, as &lt;libintl.h&gt; might not be found
+ otherwise. Reported by Andrew Bettison &lt;andrewb@zip.com.au&gt;.
+
+1998-11-22 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * src/output.c (insert_diversion): Fixed bug that might cause m4
+ to read from standard output! Triggered by input
+ 'divert(1)undivert(0)'. Test for divnum&gt;0 changed to divnum&gt;=0,
+ so now 'undivert(0)' does nothing.
+
+1998-11-18 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * Prerelease 1.4m.
* src/input.c (set_word_regexp): Fixed a bug, where word_regexp
could be changed when compiling a illegal regexp, causing later
diff --git a/examples/WWW/download.htm b/examples/WWW/download.htm
index 9b714f32..04a8108f 100644
--- a/examples/WWW/download.htm
+++ b/examples/WWW/download.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - Download</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
diff --git a/examples/WWW/features.htm b/examples/WWW/features.htm
index ce8f1895..8281aca9 100644
--- a/examples/WWW/features.htm
+++ b/examples/WWW/features.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - New feaures since version 1.4</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
diff --git a/examples/WWW/feedback.htm b/examples/WWW/feedback.htm
index f6a991d1..09fab86d 100644
--- a/examples/WWW/feedback.htm
+++ b/examples/WWW/feedback.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - Feedback</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
diff --git a/examples/WWW/index.htm b/examples/WWW/index.htm
index 8e739aef..7a1568e4 100644
--- a/examples/WWW/index.htm
+++ b/examples/WWW/index.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - Development site</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,12 +198,15 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
-<H2>Current development version is 1.4l.</H2>
+<H2>Current development version is 1.4n.</H2>
<P>
diff --git a/examples/WWW/lists.htm b/examples/WWW/lists.htm
index afa2b9be..1b6f4550 100644
--- a/examples/WWW/lists.htm
+++ b/examples/WWW/lists.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - Mailing lists</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
diff --git a/examples/WWW/m4lib/bugs.m4 b/examples/WWW/m4lib/bugs.m4
new file mode 100644
index 00000000..f3204317
--- /dev/null
+++ b/examples/WWW/m4lib/bugs.m4
@@ -0,0 +1,52 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([Known bugs in GNU m4 \__m4_version__])
+
+\divert(1)
+\h2([Known bugs in GNU m4])
+
+\define([fixed], [\p([Fixed in version 1.4$1])])
+
+\define([notme], [\p([A <A
+HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: \defn([_item])"
+>volunteer</A> is badly needed for this, as I have no way of testing
+this myself.])])
+
+\ul([
+
+\item([undivert], [undivert(0) might read from standard output],
+
+[\p([If calling \tt(undivert(0)) when diverting to a non-zero diversion
+will cause m4 to read from standard output in an attempt to bring back
+diversion 0, which is not possible.])
+
+\fixed(n)
+
+])
+
+\item([sigaltstack], [failure if sigaltstack or sigstack returns ENOSYS],
+
+[\p([If stack overflow detection is configured but the system doesn't
+support sigaltstack(2) or sigstack(2), m4 fails when the system call
+returns ENOSYS. It should silently revert to default behaviour.])
+
+\notme
+])
+
+])
+
+\p([See also the \link(todo.htm, TODO) file.])
+
+\print_items
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
+
+
+\item([], [],
+
+[\p([])
+
+])
diff --git a/examples/WWW/m4lib/html.m4 b/examples/WWW/m4lib/html.m4
index 50330af2..1a5eb1d5 100644
--- a/examples/WWW/m4lib/html.m4
+++ b/examples/WWW/m4lib/html.m4
@@ -68,8 +68,8 @@
\define([td], [\large_container([$0], $@)])
\define([th], [\large_container([$0], $@)])
-\define([link], [<A HREF="$1">\shift($@)</A>])
-\define([target], [<A NAME="$1">\shift($@)</A>])
+\define([link], [<A HREF="$1">\shift($*)</A>])
+\define([target], [<A NAME="$1">\shift($*)</A>])
\define([font], [\n\container([$0], $@)\n])
@@ -82,12 +82,15 @@
\define([p], [\large_simple_container([$0], $@)])
+\define([hr], [\simple_tag([$0], $@)])
\define([ul], [\large_container([$0], $@)])
\define([ol], [\large_container([$0], $@)])
\define([li], [\simple_tag([$0], $@)])
+\define([blockquote], [\large_simple_container([$0], $@)])
+
\define([dl], [\large_simple_container([$0], $@)])
\define([dt], [\simple_container([$0], $@)])
\define([dd], [\large_simple_container([$0], $@)])
diff --git a/examples/WWW/m4lib/layout.m4 b/examples/WWW/m4lib/layout.m4
index 6feb08ec..7d285614 100644
--- a/examples/WWW/m4lib/layout.m4
+++ b/examples/WWW/m4lib/layout.m4
@@ -48,3 +48,24 @@ The semicolons are just to get GNU Emacs C mode to indent properly.
\define([showlink], [\link($1, $1)]);
\define([mailto], [\link(mailto:$1, $1)]);
+
+<!-- These macros are for having first a simple toc and later a more
+thorough description of each item -->
+
+\define([_items], [])
+
+\define([register_item], [\define([H_$1], [$2])
+\define([T_$1], [$3])
+\define([_items], \defn([_items])[\print_item([$1])])])
+
+\define([print_item], [
+\define([_item], \defn([H_$1]))\dnl
+\hr([align=center width=50%])\dnl
+\target([$1], [\h2([\indir([H_$1])])])\dnl
+\indir([T_$1])\dnl
+])
+
+\define([print_items], [\indir([_items])])
+
+\define([item], [\li \link([[#]$1], [$2.])
+\register_item([$1], [$2], [$3])])
diff --git a/examples/WWW/m4lib/menu.m4 b/examples/WWW/m4lib/menu.m4
index 1a770b63..57af4f37 100644
--- a/examples/WWW/m4lib/menu.m4
+++ b/examples/WWW/m4lib/menu.m4
@@ -1,35 +1,70 @@
+
\pushdef([header], [\tr([\td([\C_BG3], [\p([\b([$1])])])])])
-\pushdef([row], [\tr([\td([\font([size=-1], [\p([\b([\link([$1], [$2])])])])])])])
+
+\pushdef([separator], [\tr([\td([height=5], [])])])
+
+\pushdef([_row], [\link([$1], [$2])])
+
+\pushdef([_rows],
+ [\ifelse($#, 0, [],
+ $#, 1, [],
+ $#, 2, [\_row([$1], [$2])],
+ $#, 3, [\_row([$1], [$2])],
+ [\_row([$1], [$2])\br\n\_rows(\shift(\shift($@)))])])
+
+\pushdef([rows], [\tr([\td([\font([size=-1],
+ \p([\b([\_rows($@)])]))])])])
\table([align=left valign=top columns=1],
[\header([Generel info])],
- [\row([whatis.htm], [What is m4])],
- [\row([features.htm], [Features])],
- [\row([uses.htm], [Uses of m4])],
+ [\rows(
+ [whatis.htm], [What is m4],
+ [features.htm], [Features],
+ [uses.htm], [Uses of m4],
+ )],
+ [\separator],
[\header([Documentation])],
- [\row([man/m4_toc.html], [Manual])],
+ [\rows(
+ [man/m4_toc.html], [Manual],
+ )],
+ [\separator],
[\header([Source files])],
- [\row([readme.htm], [README])],
- [\row([todo.htm], [TODO])],
- [\row([news.htm], [NEWS])],
- [\row([changelog.htm], [ChangeLog])],
- [\row([thanks.htm], [Contributors])],
- [\row([m4/], [Browse it])],
+ [\rows(
+ [readme.htm], [README],
+ [todo.htm], [TODO],
+ [news.htm], [NEWS],
+ [changelog.htm], [ChangeLog],
+ [thanks.htm], [Contributors],
+ [m4/], [Browse it],
+ )],
+ [\separator],
[\header([The Future])],
- [\row([modules.htm], [Modules])],
- [\row([visions.htm], [Visions])],
+ [\rows(
+ [modules.htm], [Modules],
+ [visions.htm], [Visions],
+ )],
+ [\separator],
[\header([Development])],
- [\row([lists.htm], [Mailing-lists])],
- [\row([feedback.htm], [Feedback])],
- [\row([download.htm], [Download])],
+ [\rows(
+ [lists.htm], [Mailing-lists],
+ [feedback.htm], [Feedback],
+ [download.htm], [Download],
+ [bugs.htm], [Known bugs],
+ )],
+ [\separator],
[\header([Examples])],
- [\row([thissite.htm], [This site])],
+ [\rows(
+ [thissite.htm], [This site],
+ )],
)
\popdef([header])
-\popdef([row])
+\popdef([rows])
+\popdef([_rows])
+\popdef([_row])
+\popdef([separator])
diff --git a/examples/WWW/m4lib/test.m4 b/examples/WWW/m4lib/test.m4
index 9fdef40b..90d63a69 100644
--- a/examples/WWW/m4lib/test.m4
+++ b/examples/WWW/m4lib/test.m4
@@ -1,9 +1,30 @@
-include(`_setup.m4')
-\include([_html.m4])
-\include([_layout.m4])
+include(`setup.m4')
-\set_title([Development site])
+\divert(1)
-\divert
+\define([_ideas], [])
+
+\define([register_idea],
+[\define([H_$1], [$2])\dnl
+\define([T_$1], [$3])\dnl
+\define([_ideas], [\print_idea([$1])]\defn([_ideas]))])
+
+\define([print_idea], [
+\target([$1], [\h2([\indir([H_$1])])])
+\indir([T_$1])
+])
+
+\define([print_ideas], [\indir([_ideas])])
+
+\define([idea], [\li \p([\link([[#]$1], [$2.])])\register_idea([$1], [$2], [$3])])
+
+\idea([guile], [Guile as an extension language], [gfhjdsfsarhgew])
+\idea([pquote], [Persistent quotes],[asdffhfdghgdsfh])
+\idea([deps], [Dependencies generation],[afsdffasdf])
+
+\print_ideas
+
+\undivert(1)
+
+\defn([_ideas])
-\DO_BODY([BODY])
diff --git a/examples/WWW/m4lib/thissite.m4 b/examples/WWW/m4lib/thissite.m4
index 0d4d772b..a8a18df3 100644
--- a/examples/WWW/m4lib/thissite.m4
+++ b/examples/WWW/m4lib/thissite.m4
@@ -5,34 +5,37 @@ include(`setup.m4')
\divert(1)
-\p(This GNU m4 site is maintained by René Seindal,
-(\mailto(rene@seindal)).)
+\p([This GNU m4 site is maintained by René Seindal,
+(\mailto(rene@seindal)).])
-\p(All files are generated using GNU m4 \__m4_version__. You can view
+\p([All files are generated using GNU m4 \__m4_version__. You can view
the \link(m4lib/, source files). They are very simple. They use some
-features from Gnu m4 1.4l)
+features from Gnu m4 1.4l])
-\p(The basic M4 definitions of quotes, comments, escapes are in
+\p([The basic M4 definitions of quotes, comments, escapes are in
\showlink(m4lib/setup.m4). This is first included by all files to
configure the enviroment correctly for the other files. To avoid have
macros called by accident, an escape character is defined with
-changesyntax. \i(This is a new feature in m4 1.4l).)
+changesyntax. \i(This is a new feature in m4 1.4l).])
-\p(Some fairly general macros to generate various HTML construct are
+\p([Some fairly general macros to generate various HTML construct are
found in \showlink(m4lib/html.m4). There are macros for simple tags,
-containers with and with attributes, links and a few utility macros.)
+containers with and with attributes, links and a few utility macros.])
-\p(The visual aspects of the pages are in \showlink(m4lib/layout.m4).
+\p([The visual aspects of the pages are in \showlink(m4lib/layout.m4).
The macros herein generate the complete HTML structure for the pages.
-There are macros for making the header and the body of the document.)
+There are macros for making the header and the body of the document.])
-\p(The page body is passed to the layout definitions as an argument. As
+\p([The definition of the left hand menu is in \showlink(m4lib/menu.m4).
+I convinced GNU Emacs to do the indentation by switching to c-mode.])
+
+\p([The page body is passed to the layout definitions as an argument. As
the text can be large, it is first diverted and the text passed to the
layout macros is simply a call to undivert. That way a very large text
can be passed around with very little cost. This page is made with
-\link(m4lib/thissite.m4, these definitions).)
+\link(m4lib/thissite.m4, these definitions).])
-\p(There is a single file for each HTML file.)
+\p([There is a single file for each HTML file.])
\divert(0)\dnl
\DO_LAYOUT([\undivert(1)])
diff --git a/examples/WWW/m4lib/visions.m4 b/examples/WWW/m4lib/visions.m4
index c904976d..c644f50a 100644
--- a/examples/WWW/m4lib/visions.m4
+++ b/examples/WWW/m4lib/visions.m4
@@ -3,26 +3,227 @@ include(`setup.m4')
\set_author([René Seindal])
\set_title([The Road Ahead])
+\define([originator],
+[\p([Idea contributed by [$1]]\ifelse($#, 2, [ (\mailto([$2]))])[.])])
+
+\define([noone], [\p([There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: \defn([_item])" >volunteer</A>?])])
+
+
+\define([done], [\p([Done in version 1.4$1])])
+
+
\divert(1)
-\h2([Possible features for future versions])
+\h2([Ideas for future versions of GNU m4])
+
+\p([Here are some ideas and suggestion for the future of GNU m4, large
+and small. The order here is fairly random.])
+
+\ul([
+
+\item([guile], [Guile as an extension language],
+
+[\p([\link([http://www.red-bean.com/guile/], [Guile]) can be used as an
+extension language so complicated macros can be written in Scheme while
+still maintaining the m4 interface. It will require some changes to the
+base code, as guile cannot be used from a module.])
+
+\noone <!-- \originator([René Seindal], [rene@seindal]) -->
+])
+
+
+\item([utf8], [UTF-8 or wide characters],
+
+[\p([GNU m4 should be able to handle UTF-8 input or wide characters so
+it can be more usable for different environments.])
+
+\noone <!-- \originator([François Pinard]) -->
+])
+
+
+\item([pquote], [Syntax: persistent quotes],
+
+[\p([Persistent quotes is a way of getting text unharmed through m4's
+processing. While normal quotes are stripped when a quoted string is
+read, the persistent quotes are removed just before being output. This
+will ensure that the quoted text is always output verbatim.])
+
+\p([The bulk of the changes will be in the parser (in input.c function
+next_token). Persistent quotes cannot be nested, they must balance
+within a normally quoted string, but normal quotes need not balance
+within persistent quotes (neither within persistent quotes within normal
+quotes). The quotes should be removed before being shipped out (in
+macro.c).])
+
+\noone <!-- \originator([Keith Bostic]) -->
+])
+
+
+
+
+\item([comment2], [Syntax: removable comments],
+
+[\p([With the syntax table a category for discardable comments can be
+defined, causing that type of comments to be discarded.])
+
+\noone
+])
+
+
+
+
+\item([comment1], [Option: remove comments],
+
+[\p([There should be an option (--discard-comments) to get m4 to discard
+comments instead of passing them to the output.])
+
+\done(n)
+])
+
+
+
+\item([deps], [Option: show dependencies],
+
+[\p([There should be an options to generate makefile dependencies for an
+M4 input file.])
+
+\p([It is not enough to scan the files for includes, as file names can
+be generated and builtins renamed. To make it work, m4 will have to do
+a complete run of the input file, discard the output and print the
+dependencies instead.])
+
+\p([It cannot be made to work in all cases when input file names are
+generated on the fly.])
+
+\noone <!-- \originator([Erick Branderhorst]) -->
+])
+
+
+\item([safer], [Option: render GNU m4 safer],
+
+[\p([There should be a --safer option that disables all functions, that
+could compromise system security if used by root. It will have to
+include various functions, such as file inclusion, sub shells, module
+loading, ...])
+
+\noone <!-- \originator([Santiago Vila]) -->
+])
+
-\ul(
+\item([import], [Option: import environment],
-\li \p(Guile can be used as an extension language so complicated macros can be
-written in Scheme while still maintaining the m4 interface.)
+[\p([An option to defined each environment variable as a macro on
+startup would be useful in many cases.])
-\li\p(A kind of super-quotes can be added, quotes that aren't stripped
-when read, as are normal quotes. These quotes should be stripped when
-output. In that way text can be super-quote and consequently passed
-untouched to the output. It is a bit like comments, but there the
-quotes are removed before output.)
+\done(n) <!-- \originator([René Seindal]) -->
+])
-)
-\p(See also the \link(todo.htm, TODO) file.)
+
+\item([m4expand], [Builtin: quote expanded text],
+
+[\p([A builtin to quote expanded text would be useful. Now it is not
+possible to quote the expansion of a macro; the macro itself has to
+provide the quotes. Some builtins return quoted strings, others
+don't.])
+
+\p([A possible solution is a build in macro that takes one argument. It
+expands this argument fully and returns the quoted expansion.])
+
+\p([It will require changes to input handling and macro expansion code.])
+
+\noone <!-- \originator([Axel Boldt]) -->
+])
+
+
+
+\item([perl], [Module: embedded perl],
+
+[\p([Perl could be embedded in m4, giving users a powerful programming
+language for writing macros. A single builtin "perleval" could do the
+job. First argument could be a perl function and the rest arguments.
+The return value of the function as a string would be the expansion.])
+
+\p([The perl interpreter should be set up when the module is loaded and
+closed down before m4 exits, using the appropriate hooks in the module
+interface.])
+
+\p([A perl module could potentially give users access to any facility
+perl has access to, such as databases.])
+
+\p([On systems with perl compiled as a shared library the size penalty
+would be minimal.])
+
+\p([(It might not be workable as a module, as it will need to link with non-shared libraries. Don't know how it can be fixed. (RS))])
+
+\noone <!-- \originator([René Seindal]) -->
+])
+
+
+
+\item([output], [Module: better output control],
+
+[\p([It has been suggested a couple of times that it should be possible
+to divert to named files, in order to create several output files.])
+
+\p([I think this a bit a misunderstanding. Diversion are inteded to be
+brought back later, ie, they are temporary and recoverable. Output
+text, on the other hand, once output it is lost (for m4). Therefore
+better output control should be made in a different way.])
+
+\p([My suggestion is a set of builtins defined by a module:])
+
+\pre([setoutput(file)
+appendoutput(file)
+pipeoutput(command)])
+
+\p([With these output can be directed better, diversion can be sent to
+different files, and groups of files can be built by a single m4 run.
+Calling \tt(setoutput) without arguments should resume output to
+standard output.])
+
+\p([(Admittedly, diversion 0 (standard output) has always been
+different, as it cannot be undiverted.)])
+
+\noone <!-- \originator([René Seindal]) -->
+])
+
+
+
+\item([require], [Module: require/provide functionality],
+
+[\p([Two new builtins \tt(require) and \tt(provide) could provide a
+handy interface to include. It has proven difficult to write these
+robustly as normal macros. As an example, the files \tt(test.m4) and
+\tt(../test.m4) could be the same file or different files depending on
+the search path.])
+
+\noone <!-- \originator([Terry Jones]) -->
+])
+
+
+])
+
+
+
+\p([See also the \link(todo.htm, TODO) file.])
+
+\print_items
+
\divert(0)\dnl
\DO_LAYOUT([\undivert(1)])
\divert(-1)
+
+
+
+
+
+\item([], [],
+
+[\p([])
+
+\noone
+])
diff --git a/examples/WWW/modules.htm b/examples/WWW/modules.htm
index ee668972..49a31777 100644
--- a/examples/WWW/modules.htm
+++ b/examples/WWW/modules.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - Modules</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
@@ -269,7 +211,8 @@
Nothing in this directory is built by default.
Dynamic modules is a experimental feature of GNU m4. Currently it has
-only been certified to work under Linux 2.0.
+only been certified to work under GNU/Linux 2.0, OSF1, HPUX 9 & 10,
+SunOS 5 and Solaris 5.
Dynamic modules are only available if GNU m4 was configured with
--with-modules and if the dlopen(3) interface is available in the
@@ -282,7 +225,7 @@ then compiled. The compiled file can then be loaded into a running m4
process by calling the builtin "loadmodule". This will give GNU m4
access to any system feature with a C interface.
-Modules are searched for in M4MODPATH, if set, and in a module directory
+Modules are searched for in M4MODPATH, if set, else in a module directory
defined at configure time, default /usr/local/libexec/m4.
A module extends GNU m4 by defining new builtins, It can define builtins
@@ -291,7 +234,8 @@ unavailable. A module cannot redefine internal functions of GNU m4,
such as the input parser or argument handling.
The infrastructure for writing and compiling modules is still a bit
-wanting.
+wanting. It is necessary having the GNU m4 sources available to compile
+modules.
Each module should include the two header files ../src/m4.h and
../src/builtin.h. These will include &lt;ctype.h&gt;, &lt;stdio.h&gt;,
@@ -323,11 +267,11 @@ the GNU m4 sources. Some of these have prototypes in builtin.h.
A complete, though silly, example is found in test.c. A more
-interesting example is in time.c.
+interesting example is in time.c or in stdlib.c
To try the demos, compile with `make' and run them with the commands as:
- M4MODPATH=`pwd` ../src/m4 time.m4
+ M4MODPATH=`pwd`/.libs ../src/m4 time.m4
</PRE>
diff --git a/examples/WWW/news.htm b/examples/WWW/news.htm
index ed4f374f..6ea55867 100644
--- a/examples/WWW/news.htm
+++ b/examples/WWW/news.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - NEWS - History of user-visible changes</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,7 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -212,23 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
@@ -267,6 +209,32 @@
<PRE>GNU m4 NEWS - History of user-visible changes. -*-indented-text-*-
Copyright (C) 1992, 1993, 1994, 1998 Free Software Foundation, Inc.
+Version beta 1.4n - November 1998, by Rene' Seindal
+
+* The module code has been reorganised yet again, and now compiles
+ correctly on GNU/Linux, HPUX 9 and 10, SunOS 5 and Solaris 5.
+
+* When configured --with-gmp a new builtin `mpeval' is now defined. The
+ builtin `eval' retains its normal behaviour.
+
+* m4 --version also shows which options were used for compilation, such as:
+ "GNU m4 1.4n (options: modules gmp changeword)"
+
+* New option --import-environment defines all environment variables as
+ macros. This is done before -D and -U are handled, so the macros can be
+ changed through these options.
+
+* Error messages now always print program name before input file name as
+ specified by GNU coding standards. Reported by Akim Demaille
+ &lt;demaille@inf.enst.fr&gt;.
+
+* Bug fixed: "undivert(0)" could cause m4 to read standard output. A call
+ of "undivert(0)" is now silently ignored.
+
+* Bug fixed: when compiling --with-included-gettext, &lt;libintl.h&gt; wasn't
+ found in intl/ directory. Reported by Andrew Bettison
+ &lt;andrewb@zip.com.au&gt;.
+
Version beta 1.4m - November 1998, by Rene' Seindal
* Using libtool for compiling modules and for linking main app.
diff --git a/examples/WWW/readme.htm b/examples/WWW/readme.htm
index 09d483e7..57c30261 100644
--- a/examples/WWW/readme.htm
+++ b/examples/WWW/readme.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - README</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
diff --git a/examples/WWW/thanks.htm b/examples/WWW/thanks.htm
index 78470a16..26e43c30 100644
--- a/examples/WWW/thanks.htm
+++ b/examples/WWW/thanks.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - People who have contributed to m4</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
@@ -274,6 +216,7 @@ these people. Help me keep it complete and exempt of errors.
Akiko Matsushita matusita@sra.co.jp
+Akim Demaille demaille@inf.enst.fr
Alan Magnuson awm@osc.edu
Alexander Lehmann alex@hal.rhein-main.de
Amos Shapira amoss@cs.huji.ac.il
diff --git a/examples/WWW/thissite.htm b/examples/WWW/thissite.htm
index 03e2a01a..640891e5 100644
--- a/examples/WWW/thissite.htm
+++ b/examples/WWW/thissite.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - This site</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,7 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -212,23 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,35 +198,40 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
<P>
-This GNU m4 site is maintained by René Seindal (<A HREF="mailto:rene@seindal">rene@seindal</A>).
+This GNU m4 site is maintained by René Seindal,
+(<A HREF="mailto:rene@seindal">rene@seindal</A>).
</P>
<P>
-All files are generated using GNU m4 1.4l. You can view
+All files are generated using GNU m4 1.4n. You can view
the <A HREF="m4lib/">source files</A>. They are very simple. They use some
features from Gnu m4 1.4l
</P>
<P>
-The basic M4 definitions of quotes comments escapes are in
+The basic M4 definitions of quotes, comments, escapes are in
<A HREF="m4lib/setup.m4">m4lib/setup.m4</A>. This is first included by all files to
configure the enviroment correctly for the other files. To avoid have
-macros called by accident an escape character is defined with
+macros called by accident, an escape character is defined with
changesyntax. <I>This is a new feature in m4 1.4l</I>.
</P>
<P>
Some fairly general macros to generate various HTML construct are
-found in <A HREF="m4lib/html.m4">m4lib/html.m4</A>. There are macros for simple tags containers with and with attributes links and a few utility macros.
+found in <A HREF="m4lib/html.m4">m4lib/html.m4</A>. There are macros for simple tags,
+containers with and with attributes, links and a few utility macros.
</P>
@@ -299,8 +243,14 @@ There are macros for making the header and the body of the document.
<P>
+The definition of the left hand menu is in <A HREF="m4lib/menu.m4">m4lib/menu.m4</A>.
+I convinced GNU Emacs to do the indentation by switching to c-mode.
+</P>
+
+
+<P>
The page body is passed to the layout definitions as an argument. As
-the text can be large it is first diverted and the text passed to the
+the text can be large, it is first diverted and the text passed to the
layout macros is simply a call to undivert. That way a very large text
can be passed around with very little cost. This page is made with
<A HREF="m4lib/thissite.m4">these definitions</A>.
diff --git a/examples/WWW/todo.htm b/examples/WWW/todo.htm
index 9c5100f1..f11e47bf 100644
--- a/examples/WWW/todo.htm
+++ b/examples/WWW/todo.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - TODO - Things still to be done</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,7 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -212,23 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
@@ -270,7 +212,36 @@ Tell the maintainers at &lt;bug-m4@gnu.org&gt; if you feel like volunteering
for any of these ideas or if you have others to add.
-* Features or problems
+* KNOWN BUGS
+
+ + Changes in the syntax_table are not saved to frozen files.
+
+ + Information about loaded modules is not saved to frozen files.
+
+ + m4wrap.1.test fail on Solaris 2.6 using egcs 1.1a compiler (Erick B).
+
+ + The test case `other-tests/stackovf.test' does not work.
+
+ + sigstack/sigaltstack and ENOSYS
+
+ When sigstack or sigaltstack fail with errno == ENOSYS, m4 should
+ fall back silently to not using an alternate signal stack.
+ Otherwise, problems arise in at least the following case: glibc
+ 2.1 test releases, built with Linux 2.1 headers (as recommended
+ for glibc 2.1), so the library has sigstack and sigaltstack, but
+ run with a Linux 2.0 kernel, so the kernel support is not present
+ and ENOSYS is returned.
+
+ (GNU m4 1.4k, built with glibc 2.0.100 (itself built with Linux
+ 2.1.126 headers), and running on Linux 2.0.36pre15.)
+
+ --
+ Joseph S. Myers
+ jsm28@cam.ac.uk
+
+
+
+* FEATURES OR PROBLEMS
+ GMP eval() should be enables if the library is present, maybe by
providing two different versions of eval(). That way users can
@@ -283,20 +254,12 @@ for any of these ideas or if you have others to add.
+ The module system is still rudimentary (see below)
- + Changes in the syntax_table are not saved to frozen files.
-
- + Information about loaded modules is not saved to frozen files.
-
- + m4wrap.1.test fail on Solaris 2.6 using egcs 1.1a compiler (Erick B).
-
+ The $ used in user defined macros cannot be changed through
changesyntax. It should be handled as a modifier.
+ Make show include dependencies like gcc so targets are updated
when their (included) input files are updated (Erick B).
- + The test case `other-tests/stackovf.test' does not work.
-
+ Sort out all the weird forms of interaction between changesyntax,
changecom and changequote. What happens if you install a quote with
changequote and removes it with changesyntax and vice versa.
@@ -304,7 +267,8 @@ for any of these ideas or if you have others to add.
+ Add support for wide character sets.
-* Optimization and clean up
+
+* OPTIMIZATION AND CLEAN UP
+ Have NULs go really undisturbed through GNU m4
GNU m4 is lousy regarding NULs in streams (this would require
@@ -312,10 +276,10 @@ for any of these ideas or if you have others to add.
etc.).
-* Module specific issues
+
+* MODULE SPECIFIC ISSUES
- + Support for other DL interfaces besides dlopen, such as dld and
- hpux is still missing.
+ + Support for other DL interfaces besides dlopen and shl_load.
+ Modules should be loadable from the command line with something like
`-M module.so' o `--load-module=module.so'. M4 should abort if it
diff --git a/examples/WWW/uses.htm b/examples/WWW/uses.htm
index 9988dacf..403de4d0 100644
--- a/examples/WWW/uses.htm
+++ b/examples/WWW/uses.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - Current uses of m4</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
@@ -302,7 +244,7 @@ The macros are used to maintain a large commercial site at
<P>
-<A HREF="thissite.htm">These files are created with GNU m4 1.4l</A>.
+<A HREF="thissite.htm">These files are created with GNU m4 1.4n</A>.
</P>
diff --git a/examples/WWW/visions.htm b/examples/WWW/visions.htm
index eceec6f7..fadad4a8 100644
--- a/examples/WWW/visions.htm
+++ b/examples/WWW/visions.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - The Road Ahead</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,6 +22,14 @@
+
+
+
+
+
+
+
+
<TABLE align=left valign=top columns=1>
<TR>
<TD bgcolor="#CC6600">
@@ -36,18 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -55,12 +54,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -86,21 +80,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -109,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -117,23 +111,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
</P>
-</FONT>
</TD>
@@ -142,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -150,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -163,7 +146,7 @@
<TR>
<TD bgcolor="#CC6600">
<P>
-<B>The Future</B>
+<B>Development</B>
</P>
</TD>
@@ -173,7 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -181,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -194,7 +175,7 @@
<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Development</B>
+<B>Examples</B>
</P>
</TD>
@@ -204,95 +185,404 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
+<B><A HREF="thissite.htm">This site</A></B>
</P>
</FONT>
</TD>
</TR>
- <TR>
-<TD>
+
+</TABLE>
+
+
+
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
-</P>
-</FONT>
+
+
+
</TD>
+ <TD align=left valign=top width="90%">
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
+<H2>Ideas for future versions of GNU m4</H2>
+
+
+<P>
+Here are some ideas and suggestion for the future of GNU m4, large
+and small. The order here is fairly random.
</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD bgcolor="#CC6600">
+<UL>
+
+
+<LI> <A HREF="#guile">Guile as an extension language.</A>
+
+
+
+
+
+<LI> <A HREF="#utf8">UTF-8 or wide characters.</A>
+
+
+
+
+
+<LI> <A HREF="#pquote">Syntax: persistent quotes.</A>
+
+
+
+
+
+
+
+<LI> <A HREF="#comment2">Syntax: removable comments.</A>
+
+
+
+
+
+
+
+<LI> <A HREF="#comment1">Option: remove comments.</A>
+
+
+
+
+
+
+<LI> <A HREF="#deps">Option: show dependencies.</A>
+
+
+
+
+
+<LI> <A HREF="#safer">Option: render GNU m4 safer.</A>
+
+
+
+
+
+
+<LI> <A HREF="#import">Option: import environment.</A>
+
+
+
+
+
+
+<LI> <A HREF="#m4expand">Builtin: quote expanded text.</A>
+
+
+
+
+
+
+<LI> <A HREF="#perl">Module: embedded perl.</A>
+
+
+
+
+
+
+<LI> <A HREF="#output">Module: better output control.</A>
+
+
+
+
+
+
+<LI> <A HREF="#require">Module: require/provide functionality.</A>
+
+
+
+
+
+
+</UL>
+
+
+
+
<P>
-<B>Examples</B>
+See also the <A HREF="todo.htm">TODO</A> file.
</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="thissite.htm">This site</A></B>
+<HR align=center width=50%><A NAME="guile">
+<H2>Guile as an extension language</H2>
+</A><P>
+<A HREF="http://www.red-bean.com/guile/">Guile</A> can be used as an
+extension language so complicated macros can be written in Scheme while
+still maintaining the m4 interface. It will require some changes to the
+base code, as guile cannot be used from a module.
</P>
-</FONT>
-</TD>
-</TR>
-
-</TABLE>
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Guile as an extension language" >volunteer</A>?
+</P>
+ <!-- \originator([René Seindal], [rene@seindal]) -->
+<HR align=center width=50%><A NAME="utf8">
+<H2>UTF-8 or wide characters</H2>
+</A><P>
+GNU m4 should be able to handle UTF-8 input or wide characters so
+it can be more usable for different environments.
+</P>
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: UTF-8 or wide characters" >volunteer</A>?
+</P>
+ <!-- \originator([François Pinard]) -->
+
+<HR align=center width=50%><A NAME="pquote">
+<H2>Syntax: persistent quotes</H2>
+</A><P>
+Persistent quotes is a way of getting text unharmed through m4's
+processing. While normal quotes are stripped when a quoted string is
+read, the persistent quotes are removed just before being output. This
+will ensure that the quoted text is always output verbatim.
+</P>
-
-</TD>
- <TD align=left valign=top width="90%">
+<P>
+The bulk of the changes will be in the parser (in input.c function
+next_token). Persistent quotes cannot be nested, they must balance
+within a normally quoted string, but normal quotes need not balance
+within persistent quotes (neither within persistent quotes within normal
+quotes). The quotes should be removed before being shipped out (in
+macro.c).
+</P>
-<H2>Possible features for future versions</H2>
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Syntax: persistent quotes" >volunteer</A>?
+</P>
+ <!-- \originator([Keith Bostic]) -->
+<HR align=center width=50%><A NAME="comment2">
+<H2>Syntax: removable comments</H2>
+</A><P>
+With the syntax table a category for discardable comments can be
+defined, causing that type of comments to be discarded.
+</P>
-<UL>
-<LI> <P>
-Guile can be used as an extension language so complicated macros can be
-written in Scheme while still maintaining the m4 interface.
+
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Syntax: removable comments" >volunteer</A>?
</P>
-<LI><P>
-A kind of super-quotes can be added quotes that aren't stripped
-when read as are normal quotes. These quotes should be stripped when
-output. In that way text can be super-quote and consequently passed
-untouched to the output. It is a bit like comments but there the
-quotes are removed before output.
+<HR align=center width=50%><A NAME="comment1">
+<H2>Option: remove comments</H2>
+</A><P>
+There should be an option (--discard-comments) to get m4 to discard
+comments instead of passing them to the output.
</P>
+
+<P>
+Done in version 1.4n
+</P>
-</UL>
+<HR align=center width=50%><A NAME="deps">
+<H2>Option: show dependencies</H2>
+</A><P>
+There should be an options to generate makefile dependencies for an
+M4 input file.
+</P>
<P>
-See also the <A HREF="todo.htm">TODO</A> file.
+It is not enough to scan the files for includes, as file names can
+be generated and builtins renamed. To make it work, m4 will have to do
+a complete run of the input file, discard the output and print the
+dependencies instead.
+</P>
+
+
+<P>
+It cannot be made to work in all cases when input file names are
+generated on the fly.
</P>
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Option: show dependencies" >volunteer</A>?
+</P>
+ <!-- \originator([Erick Branderhorst]) -->
+
+<HR align=center width=50%><A NAME="safer">
+<H2>Option: render GNU m4 safer</H2>
+</A><P>
+There should be a --safer option that disables all functions, that
+could compromise system security if used by root. It will have to
+include various functions, such as file inclusion, sub shells, module
+loading, ...
+</P>
+
+
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Option: render GNU m4 safer" >volunteer</A>?
+</P>
+ <!-- \originator([Santiago Vila]) -->
+
+<HR align=center width=50%><A NAME="import">
+<H2>Option: import environment</H2>
+</A><P>
+An option to defined each environment variable as a macro on
+startup would be useful in many cases.
+</P>
+
+
+<P>
+Done in version 1.4n
+</P>
+ <!-- \originator([René Seindal]) -->
+
+<HR align=center width=50%><A NAME="m4expand">
+<H2>Builtin: quote expanded text</H2>
+</A><P>
+A builtin to quote expanded text would be useful. Now it is not
+possible to quote the expansion of a macro; the macro itself has to
+provide the quotes. Some builtins return quoted strings, others
+don't.
+</P>
+
+
+<P>
+A possible solution is a build in macro that takes one argument. It
+expands this argument fully and returns the quoted expansion.
+</P>
+
+
+<P>
+It will require changes to input handling and macro expansion code.
+</P>
+
+
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Builtin: quote expanded text" >volunteer</A>?
+</P>
+ <!-- \originator([Axel Boldt]) -->
+
+<HR align=center width=50%><A NAME="perl">
+<H2>Module: embedded perl</H2>
+</A><P>
+Perl could be embedded in m4, giving users a powerful programming
+language for writing macros. A single builtin "perleval" could do the
+job. First argument could be a perl function and the rest arguments.
+The return value of the function as a string would be the expansion.
+</P>
+
+
+<P>
+The perl interpreter should be set up when the module is loaded and
+closed down before m4 exits, using the appropriate hooks in the module
+interface.
+</P>
+
+
+<P>
+A perl module could potentially give users access to any facility
+perl has access to, such as databases.
+</P>
+
+
+<P>
+On systems with perl compiled as a shared library the size penalty
+would be minimal.
+</P>
+
+
+<P>
+(It might not be workable as a module, as it will need to link with non-shared libraries. Don't know how it can be fixed. (RS))
+</P>
+
+
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Module: embedded perl" >volunteer</A>?
+</P>
+ <!-- \originator([René Seindal]) -->
+
+<HR align=center width=50%><A NAME="output">
+<H2>Module: better output control</H2>
+</A><P>
+It has been suggested a couple of times that it should be possible
+to divert to named files, in order to create several output files.
+</P>
+
+
+<P>
+I think this a bit a misunderstanding. Diversion are inteded to be
+brought back later, ie, they are temporary and recoverable. Output
+text, on the other hand, once output it is lost (for m4). Therefore
+better output control should be made in a different way.
+</P>
+
+
+<P>
+My suggestion is a set of builtins defined by a module:
+</P>
+
+
+<PRE>setoutput(file)
+appendoutput(file)
+pipeoutput(command)</PRE>
+
+<P>
+With these output can be directed better, diversion can be sent to
+different files, and groups of files can be built by a single m4 run.
+Calling <TT>setoutput</TT> without arguments should resume output to
+standard output.
+</P>
+
+
+<P>
+(Admittedly, diversion 0 (standard output) has always been
+different, as it cannot be undiverted.)
+</P>
+
+
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Module: better output control" >volunteer</A>?
+</P>
+ <!-- \originator([René Seindal]) -->
+
+<HR align=center width=50%><A NAME="require">
+<H2>Module: require/provide functionality</H2>
+</A><P>
+Two new builtins <TT>require</TT> and <TT>provide</TT> could provide a
+handy interface to include. It has proven difficult to write these
+robustly as normal macros. As an example, the files <TT>test.m4</TT> and
+<TT>../test.m4</TT> could be the same file or different files depending on
+the search path.
+</P>
+
+
+<P>
+There is no-one working on this now. Do you want
+to <A HREF="mailto:m4-feedback@seindal.dk?subject=GNU m4: Module: require/provide functionality" >volunteer</A>?
+</P>
+ <!-- \originator([Terry Jones]) -->
+
+
+
</TD>
diff --git a/examples/WWW/whatis.htm b/examples/WWW/whatis.htm
index 3f793cd0..0c8386a7 100644
--- a/examples/WWW/whatis.htm
+++ b/examples/WWW/whatis.htm
@@ -3,7 +3,7 @@
<HEAD>
<TITLE>GNU m4 - What is GNU m4</TITLE>
<META NAME="AUTHOR" CONTENT="René Seindal">
-<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4n">
</HEAD>
<BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
<TABLE cellpadding=5 width="100%">
@@ -22,53 +22,19 @@
-<TABLE align=left valign=top columns=1>
-<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Generel info</B>
-</P>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="whatis.htm">What is m4</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-<FONT size=-1><P>
-<B><A HREF="features.htm">Features</A></B>
-</P>
-</FONT>
-</TD>
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="uses.htm">Uses of m4</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
+<TABLE align=left valign=top columns=1>
+<TR>
<TD bgcolor="#CC6600">
<P>
-<B>Documentation</B>
+<B>Generel info</B>
</P>
</TD>
@@ -78,7 +44,9 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="man/m4_toc.html">Manual</A></B>
+<B><A HREF="whatis.htm">What is m4</A><BR>
+<A HREF="features.htm">Features</A><BR>
+<A HREF="uses.htm">Uses of m4</A></B>
</P>
</FONT>
@@ -86,21 +54,16 @@
</TR>
<TR>
-<TD bgcolor="#CC6600">
-<P>
-<B>Source files</B>
-</P>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="readme.htm">README</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
</P>
-</FONT>
</TD>
@@ -109,7 +72,7 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="todo.htm">TODO</A></B>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
</P>
</FONT>
@@ -117,23 +80,16 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="news.htm">NEWS</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="changelog.htm">ChangeLog</A></B>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
</P>
-</FONT>
</TD>
@@ -142,7 +98,12 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="thanks.htm">Contributors</A></B>
+<B><A HREF="readme.htm">README</A><BR>
+<A HREF="todo.htm">TODO</A><BR>
+<A HREF="news.htm">NEWS</A><BR>
+<A HREF="changelog.htm">ChangeLog</A><BR>
+<A HREF="thanks.htm">Contributors</A><BR>
+<A HREF="m4/">Browse it</A></B>
</P>
</FONT>
@@ -150,12 +111,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="m4/">Browse it</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -173,7 +129,8 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="modules.htm">Modules</A></B>
+<B><A HREF="modules.htm">Modules</A><BR>
+<A HREF="visions.htm">Visions</A></B>
</P>
</FONT>
@@ -181,12 +138,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="visions.htm">Visions</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -204,18 +156,10 @@
<TD>
<FONT size=-1><P>
-<B><A HREF="lists.htm">Mailing-lists</A></B>
-</P>
-</FONT>
-
-</TD>
-
-</TR>
- <TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="feedback.htm">Feedback</A></B>
+<B><A HREF="lists.htm">Mailing-lists</A><BR>
+<A HREF="feedback.htm">Feedback</A><BR>
+<A HREF="download.htm">Download</A><BR>
+<A HREF="bugs.htm">Known bugs</A></B>
</P>
</FONT>
@@ -223,12 +167,7 @@
</TR>
<TR>
-<TD>
-
-<FONT size=-1><P>
-<B><A HREF="download.htm">Download</A></B>
-</P>
-</FONT>
+<TD height=5>
</TD>
@@ -259,6 +198,9 @@
+
+
+
</TD>
<TD align=left valign=top width="90%">
diff --git a/examples/include.test b/examples/include.test
index 5d0b1100..013311ef 100755
--- a/examples/include.test
+++ b/examples/include.test
@@ -19,10 +19,10 @@ very late
EOF
cat <<\EOF >okerr
-in:2: m4: Cannot open NOFILE: No such file or directory
-in:6: m4: Cannot open NOFILE: No such file or directory
+m4: in: 2: Cannot open NOFILE: No such file or directory
+m4: in: 6: Cannot open NOFILE: No such file or directory
EOF
M4PATH=$srcdir:$srcdir/../tests $M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/examples/misc.m4 b/examples/misc.m4
index e09f4a53..979b51aa 100644
--- a/examples/misc.m4
+++ b/examples/misc.m4
@@ -1,8 +1,8 @@
divert(-1)
-define(`HOST', `localhost')
+define(`USER', `root')
define(`TMP', maketemp(`/tmp/hejXXXXXX'))
-syscmd(`grep ' HOST ` /etc/hosts | awk "{print \$1}"' > TMP)
-define(`IP', include(TMP))
+syscmd(`grep "^'USER`:" /etc/passwd | awk -F: "{print \$3}"' > TMP)
+define(`UID', include(TMP))
syscmd(`rm -f' TMP)
divert
-IP
+UID
diff --git a/examples/misc.test b/examples/misc.test
index 59ea58ad..62a1ebbf 100755
--- a/examples/misc.test
+++ b/examples/misc.test
@@ -8,10 +8,10 @@ cat ${srcdir}/misc.m4 >in
cat <<\EOF >ok
-127.0.0.1
+0
EOF
M4PATH=$srcdir:$srcdir/../tests $M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok
diff --git a/examples/mktests.sh b/examples/mktests.sh
index 1546b568..656b4270 100644
--- a/examples/mktests.sh
+++ b/examples/mktests.sh
@@ -38,13 +38,13 @@ echo EOF
if [ -s testSubDir/err ]; then
echo
echo 'cat <<\EOF >okerr'
- sed -e "s, $M4:, m4:," testSubDir/err
+ sed -e "s,$M4: ,m4: ," testSubDir/err
echo EOF
fi
echo
echo 'M4PATH=$srcdir:$srcdir/../tests $M4 -d in >out 2>err'
-echo 'sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err'
+echo 'sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err'
if [ -s testSubDir/err ]; then
echo '$CMP -s out ok && $CMP -s err okerr'
diff --git a/examples/patsubst.test b/examples/patsubst.test
index c31c4c5d..6c918230 100755
--- a/examples/patsubst.test
+++ b/examples/patsubst.test
@@ -18,9 +18,9 @@ GNUs not Unix
EOF
cat <<\EOF >okerr
-in:4: m4: WARNING: \0 will disappear, use \& instead in replacements
+m4: in: 4: WARNING: \0 will disappear, use \& instead in replacements
EOF
M4PATH=$srcdir:$srcdir/../tests $M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/examples/pushpop.test b/examples/pushpop.test
index 038aca15..55a2b2d0 100755
--- a/examples/pushpop.test
+++ b/examples/pushpop.test
@@ -17,12 +17,12 @@ hej: `def 4.'
hej: `def 3.'
hej: `def 2.'
hej: `def 1.'
-in:18: m4: Undefined name hej
-in:20: m4: Undefined name hej
-in:23: m4: Undefined name mac2
-in:25: m4: Undefined name mac2
+m4: in: 18: Undefined name hej
+m4: in: 20: Undefined name hej
+m4: in: 23: Undefined name mac2
+m4: in: 25: Undefined name mac2
EOF
M4PATH=$srcdir:$srcdir/../tests $M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/examples/regexp.test b/examples/regexp.test
index 4cf21990..deea2eb2 100755
--- a/examples/regexp.test
+++ b/examples/regexp.test
@@ -21,7 +21,7 @@ cat <<\EOF >ok
EOF
cat <<\EOF >okerr
-in:2: m4: WARNING: \0 will disappear, use \& instead in replacements
+m4: in: 2: WARNING: \0 will disappear, use \& instead in replacements
m4trace: -1- regexp(`hej med dig', `.*', `>>\0<<') -> `>>hej med dig<<'
m4trace: -1- regexp(`hej med dig', `\w*', `>>\0<<') -> `>>hej<<'
m4trace: -1- regexp(`hej med dig', `.+', `>>\0<<') -> `>>hej med dig<<'
@@ -35,5 +35,5 @@ m4trace: -1- regexp(`hej med dig', `m\(.*\)') -> `4'
EOF
M4PATH=$srcdir:$srcdir/../tests $M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 634253f1..3998d0d0 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,6 +1,8 @@
## Process this file with automake to produce Makefile.in
noinst_LIBRARIES = libm4.a
+INCLUDES = @INTLINCL@
+
libm4_a_SOURCES = error.c
noinst_HEADERS = getopt.h error.h getdate.h obstack.h regex.h
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 9cabec60..1e8b0f1b 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -74,6 +74,7 @@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
+INTLINCL = @INTLINCL@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LD = @LD@
@@ -100,6 +101,8 @@ pkglibexecdir = @pkglibexecdir@
noinst_LIBRARIES = libm4.a
+INCLUDES = @INTLINCL@
+
libm4_a_SOURCES = error.c
noinst_HEADERS = getopt.h error.h getdate.h obstack.h regex.h
diff --git a/ltconfig b/ltconfig
index 2347e694..527af3fb 100755
--- a/ltconfig
+++ b/ltconfig
@@ -25,30 +25,57 @@
# A lot of this script is taken from autoconf-2.10.
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+echo=echo
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec "$SHELL" "$0" --no-reexec ${1+"$@"}
+fi
+
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
-echo=echo
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
-else
- # The Solaris and AIX default echo program unquotes backslashes.
- # This makes it impossible to quote backslashes using
+if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
# echo "$something" | sed 's/\\/\\\\/g'
- # So, we emulate echo with printf '%s\n'
- echo="printf %s\\n"
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
- else
- # Oops. We have no working printf. Try to find a not-so-buggy echo.
- echo=echo
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH /usr/ucb; do
- if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
- echo="$dir/echo"
- break
+ #
+ # So, first we look for a working echo in the user's PATH.
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+ for dir in $PATH /usr/ucb; do
+ if test -f $dir/echo && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t'; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running ltconfig again with it.
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
fi
- done
- IFS="$save_ifs"
+ fi
fi
fi
@@ -66,7 +93,7 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
# Constants:
PROGRAM=ltconfig
PACKAGE=libtool
-VERSION=1.2
+VERSION=1.2b
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
rm="rm -f"
@@ -74,6 +101,7 @@ rm="rm -f"
help="Try \`$progname --help' for more information."
# Global variables:
+default_ofile=libtool
can_build_shared=yes
enable_shared=yes
# All known linkers require a `.a' archive for static linking.
@@ -85,6 +113,7 @@ ac_config_guess=
ac_config_sub=
host=
nonopt=
+ofile="$default_ofile"
verify_host=yes
with_gcc=no
with_gnu_ld=no
@@ -121,10 +150,12 @@ Usage: $progname [OPTION]... LTMAIN [HOST]
Generate a system-specific libtool script.
+ --debug enable verbose shell tracing
--disable-shared do not build shared libraries
--disable-static do not build static libraries
--help display this help and exit
--no-verify do not verify that HOST is a valid host type
+-o, --output=FILE specify the output file [default=$default_ofile]
--quiet same as \`--silent'
--silent do not print informational messages
--srcdir=DIR find \`config.guess' in DIR
@@ -140,6 +171,11 @@ EOM
exit 0
;;
+ --debug)
+ echo "$progname: enabling shell trace mode"
+ set -x
+ ;;
+
--disable-shared) enable_shared=no ;;
--disable-static) enable_static=no ;;
@@ -151,6 +187,9 @@ EOM
--no-verify) verify_host=no ;;
+ --output | -o) prev=ofile ;;
+ --output=*) ofile="$optarg" ;;
+
--version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;;
--with-gcc) with_gcc=yes ;;
@@ -185,8 +224,7 @@ if test -z "$ltmain"; then
exit 1
fi
-if test -f "$ltmain"; then :
-else
+if test ! -f "$ltmain"; then
echo "$progname: \`$ltmain' does not exist" 1>&2
echo "$help" 1>&2
exit 1
@@ -264,7 +302,7 @@ if test "$verify_host" = yes; then
ac_config_sub=$ac_aux_dir/config.sub
# Make sure we can run config.sub.
- if $ac_config_sub sun4 >/dev/null 2>&1; then :
+ if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
else
echo "$progname: cannot run $ac_config_sub" 1>&2
echo "$help" 1>&2
@@ -276,14 +314,14 @@ if test "$verify_host" = yes; then
host_alias=$host
case "$host_alias" in
"")
- if host_alias=`$ac_config_guess`; then :
+ if host_alias=`$SHELL $ac_config_guess`; then :
else
echo "$progname: cannot guess host type; you must specify one" 1>&2
echo "$help" 1>&2
exit 1
fi ;;
esac
- host=`$ac_config_sub $host_alias`
+ host=`$SHELL $ac_config_sub $host_alias`
echo "$ac_t$host" 1>&6
# Make sure the host verified.
@@ -421,7 +459,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
# Now see if the compiler is really GCC.
with_gcc=no
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
- echo "$progname:424: checking whether we are using GNU C" >&5
+ echo "$progname:462: checking whether we are using GNU C" >&5
$rm conftest.c
cat > conftest.c <<EOF
@@ -429,7 +467,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
yes;
#endif
EOF
- if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:470: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
with_gcc=yes
fi
$rm conftest.c
@@ -477,7 +515,7 @@ else
link_static_flag='-bnso -bI:/lib/syscalls.exp'
;;
- hpux9* | hpux10*)
+ hpux9* | hpux10* | hpux11*)
# Is there a better link_static_flag that works with the bundled CC?
wl='-Wl,'
link_static_flag="${wl}-a ${wl}archive"
@@ -541,11 +579,11 @@ if test -n "$pic_flag"; then
# Check to make sure the pic_flag actually works.
echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
$rm conftest*
- echo > conftest.c
+ echo "int some_variable = 0;" > conftest.c
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $pic_flag -DPIC"
- echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
- if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
+ echo "$progname:585: checking if $compiler PIC flag $pic_flag works" >&5
+ if { (eval echo $progname:586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
# Append any warnings to the config.log.
cat conftest.err 1>&5
@@ -588,8 +626,8 @@ $rm conftest*
echo 'main(){return(0);}' > conftest.c
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $link_static_flag"
-echo "$progname:591: checking if $compiler static flag $link_static_flag works" >&5
-if { (eval echo $progname:592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+echo "$progname:629: checking if $compiler static flag $link_static_flag works" >&5
+if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
echo "$ac_t$link_static_flag" 1>&6
else
echo "$ac_t"none 1>&6
@@ -621,11 +659,11 @@ if test -z "$LD"; then
if test "$with_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
- echo "$progname:624: checking for ld used by GCC" >&5
+ echo "$progname:662: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
- /* | [A-Za-z]:\\*)
+ /* | [A-Za-z]:[/\\]*)
test -z "$LD" && LD="$ac_prog"
;;
"")
@@ -639,10 +677,10 @@ if test -z "$LD"; then
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld... $ac_c" 1>&6
- echo "$progname:642: checking for GNU ld" >&5
+ echo "$progname:680: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
- echo "$progname:645: checking for non-GNU ld" >&5
+ echo "$progname:683: checking for non-GNU ld" >&5
fi
if test -z "$LD"; then
@@ -694,6 +732,7 @@ no_undefined_flag=
archive_cmds=
old_archive_from_new_cmds=
export_dynamic_flag_spec=
+whole_archive_flag_spec=
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
@@ -701,31 +740,38 @@ hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
runpath_var=
-case "$host_os" in
-amigaos* | sunos4*)
- # On these operating systems, we should treat GNU ld like the system ld.
- gnu_ld_acts_native=yes
- ;;
-*)
- gnu_ld_acts_native=no
- ;;
-esac
-
ld_shlibs=yes
-if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
+if test "$with_gnu_ld" = yes; then
# See if GNU ld supports shared libraries.
- if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
- runpath_var=LD_RUN_PATH
- ld_shlibs=yes
- else
- ld_shlibs=no
- fi
+ case "$host_os" in
+ amigaos*)
+ archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
if test "$ld_shlibs" = yes; then
+ runpath_var=LD_RUN_PATH
hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
export_dynamic_flag_spec='${wl}--export-dynamic'
+ whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
fi
else
# PORTME fill in a description of your system's linker (not GNU ld)
@@ -781,7 +827,7 @@ else
archive_cmds='$CC -shared -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
- hardcode_minus_L=yes
+ hardcode_minus_L=no
hardcode_shlibpath_var=no
;;
@@ -793,7 +839,7 @@ else
export_dynamic_flag_spec='${wl}-E'
;;
- hpux10*)
+ hpux10* | hpux11*)
archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes
@@ -802,7 +848,11 @@ else
;;
irix5* | irix6*)
- archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
+ if test "$with_gcc" = yes; then
+ archive_cmds='$CC -shared -o $lib ${wl}-soname ${wl}$soname ${wl}-set_version ${wl}$verstring$libobjs'
+ else
+ archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
+ fi
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
;;
@@ -856,15 +906,7 @@ else
;;
sunos4*)
- if test "$with_gcc" = yes; then
- archive_cmds='$CC -shared -o $lib$libobjs'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
- fi
-
- if test "$with_gnu_ld" = yes; then
- export_dynamic_flag_spec='${wl}-export-dynamic'
- fi
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
@@ -890,7 +932,7 @@ echo "$ac_t$ld_shlibs" 1>&6
if test -z "$NM"; then
echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
case "$NM" in
- /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path.
+ /* | [A-Za-z]:[/\\]*) ;; # Let the user override the test with a path.
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
@@ -968,11 +1010,11 @@ void nm_test_func(){}
main(){nm_test_var='a';nm_test_func();return(0);}
EOF
-echo "$progname:971: checking if global_symbol_pipe works" >&5
-if { (eval echo $progname:972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
+echo "$progname:1013: checking if global_symbol_pipe works" >&5
+if { (eval echo $progname:1014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
# Now try to grab the symbols.
nlist=conftest.nm
- if { echo "$progname:975: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+ if { echo "$progname:1017: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
@@ -1030,7 +1072,7 @@ EOF
save_CFLAGS="$CFLAGS"
LIBS='conftestm.o'
CFLAGS="$CFLAGS$no_builtin_flag"
- if { (eval echo $progname:1033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ if { (eval echo $progname:1075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
pipe_works=yes
else
echo "$progname: failed program was:" >&5
@@ -1073,25 +1115,20 @@ if test -n "$hardcode_libdir_flag_spec" || \
# We can link without hardcoding, and we can hardcode nonexisting dirs.
hardcode_action=immediate
fi
-elif test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
- test "$hardcode_shlibpath_var" != yes; then
- # We cannot hardcode anything.
- hardcode_action=unsupported
else
- # We can only hardcode existing directories.
- hardcode_action=relink
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
fi
echo "$ac_t$hardcode_action" 1>&6
-test "$hardcode_action" = unsupported && can_build_shared=no
reload_flag=
reload_cmds='$LD$reload_flag -o $output$reload_objs'
echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
-# PORTME Some linker may need a different reload flag.
+# PORTME Some linkers may need a different reload flag.
reload_flag='-r'
-echo "$ac_t$reload_flag"
+echo "$ac_t$reload_flag" 1>&6
test -n "$reload_flag" && reload_flag=" $reload_flag"
# PORTME Fill in your ld.so characteristics
@@ -1110,11 +1147,11 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
case "$host_os" in
aix3* | aix4*)
version_type=linux
- library_names_spec='${libname}${release}.so.$versuffix $libname.a'
+ library_names_spec='${libname}${release}.so$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}.so.$major'
+ soname_spec='${libname}${release}.so$major'
;;
amigaos*)
@@ -1125,25 +1162,25 @@ amigaos*)
freebsd2* | freebsd3*)
version_type=sunos
- library_names_spec='${libname}${release}.so.$versuffix $libname.so'
- finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
+ library_names_spec='${libname}${release}.so$versuffix $libname.so'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
gnu*)
- version_type=sunos
- library_names_spec='${libname}${release}.so.$versuffix'
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so'
shlibpath_var=LD_LIBRARY_PATH
;;
-hpux9* | hpux10*)
+hpux9* | hpux10* | hpux11*)
# Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions.
dynamic_linker="$host_os dld.sl"
version_type=sunos
shlibpath_var=SHLIB_PATH
- library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl'
- soname_spec='${libname}${release}.sl.$major'
+ library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
+ soname_spec='${libname}${release}.sl$major'
# HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib'
;;
@@ -1151,7 +1188,7 @@ hpux9* | hpux10*)
irix5* | irix6*)
version_type=osf
soname_spec='${libname}${release}.so'
- library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+ library_names_spec='${libname}${release}.so$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -1163,9 +1200,9 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
# This must be Linux ELF.
linux-gnu*)
version_type=linux
- library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
- soname_spec='${libname}${release}.so.$major'
- finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
if test -f /lib/ld.so.1; then
@@ -1181,8 +1218,8 @@ linux-gnu*)
netbsd* | openbsd*)
version_type=sunos
- library_names_spec='${libname}${release}.so.$versuffix'
- finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
+ library_names_spec='${libname}${release}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -1196,42 +1233,44 @@ os2*)
osf3* | osf4*)
version_type=osf
soname_spec='${libname}${release}.so'
- library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+ library_names_spec='${libname}${release}.so$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH
;;
sco3.2v5*)
version_type=osf
- soname_spec='${libname}${release}.so.$major'
- library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
shlibpath_var=LD_LIBRARY_PATH
;;
solaris2*)
version_type=linux
- library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
- soname_spec='${libname}${release}.so.$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
;;
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}.so.$versuffix'
- finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
+ library_names_spec='${libname}${release}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
sysv4.2uw2*)
version_type=linux
- library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
- soname_spec='${libname}${release}.so.$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
;;
uts4*)
version_type=linux
- library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
- soname_spec='${libname}${release}.so.$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -1287,7 +1326,7 @@ ltecho="$echo"
for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \
link_static_flag no_builtin_flag export_dynamic_flag_spec \
- libname_spec library_names_spec soname_spec RANLIB \
+ whole_archive_flag_spec libname_spec library_names_spec soname_spec RANLIB \
old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
allow_undefined_flag no_undefined_flag \
@@ -1307,14 +1346,13 @@ for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
esac
done
-ofile=libtool
-trap "$rm $ofile; exit 1" 1 2 15
-echo creating $ofile
-$rm $ofile
-cat <<EOF > $ofile
-#! /bin/sh
+trap "$rm \"$ofile\"; exit 1" 1 2 15
+echo "creating $ofile"
+$rm "$ofile"
+cat <<EOF > "$ofile"
+#! $SHELL
-# libtool - Provide generalized library-building support services.
+# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
#
@@ -1340,16 +1378,6 @@ cat <<EOF > $ofile
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This program was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
-# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
-# $0$ltconfig_args
-#
-# Compiler and other test output produced by $progname, useful for
-# debugging $progname, is in ./config.log if it exists.
-
# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="sed -e s/^X//"
@@ -1357,25 +1385,35 @@ Xsed="sed -e s/^X//"
# if CDPATH is set.
if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
-# An echo program that does not interpret backslashes.
-echo="$ltecho"
+### BEGIN LIBTOOL CONFIG
+# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
+# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
+# $0$ltconfig_args
+#
+# Compiler and other test output produced by $progname, useful for
+# debugging $progname, is in ./config.log if it exists.
# The version of $progname that generated this script.
LTCONFIG_VERSION="$VERSION"
# Shell to use when invoking shell scripts.
-SHELL=${CONFIG_SHELL-/bin/sh}
+SHELL="$SHELL"
-# Whether or not to build libtool libraries.
+# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared
-# Whether or not to build old-style libraries.
+# Whether or not to build static libraries.
build_old_libs=$enable_static
# The host system.
host_alias="$host_alias"
host="$host"
+# An echo program that does not interpret backslashes.
+echo="$ltecho"
+
# The archiver.
AR="$AR"
@@ -1413,6 +1451,9 @@ no_builtin_flag="$no_builtin_flag"
# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec="$export_dynamic_flag_spec"
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec="$whole_archive_flag_spec"
+
# Library versioning type.
version_type=$version_type
@@ -1482,12 +1523,12 @@ hardcode_minus_L=$hardcode_minus_L
# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
# the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var
-
EOF
case "$host_os" in
aix3*)
- cat <<\EOF >> $ofile
+ cat <<\EOF >> "$ofile"
+
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
@@ -1495,15 +1536,17 @@ if test "${COLLECT_NAMES+set}" != set; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
-
EOF
;;
esac
+echo '### END LIBTOOL CONFIG' >> "$ofile"
+echo >> "$ofile"
+
# Append the ltmain.sh script.
-cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1)
+cat "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
-chmod +x $ofile
+chmod +x "$ofile"
exit 0
# Local Variables:
diff --git a/ltmain.sh b/ltmain.sh
index e9350b3f..cb817471 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -23,6 +23,18 @@
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell, and then maybe $echo will work.
+ exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
# The name of this program.
progname=`$echo "$0" | sed 's%^.*/%%'`
modename="$progname"
@@ -30,7 +42,7 @@ modename="$progname"
# Constants.
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION=1.2
+VERSION=1.2b
default_mode=
help="Try \`$progname --help' for more information."
@@ -48,8 +60,13 @@ sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
# Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+ save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+ save_LANG="$LANG"; LANG=C; export LANG
+fi
if test "$LTCONFIG_VERSION" != "$VERSION"; then
echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
@@ -111,6 +128,16 @@ do
exit 0
;;
+ --config)
+ sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
+ exit 0
+ ;;
+
+ --debug)
+ echo "$progname: enabling shell trace mode"
+ set -x
+ ;;
+
--dry-run | -n)
run=:
;;
@@ -180,7 +207,7 @@ if test -z "$show_help"; then
esac
done
;;
- *db | *dbx)
+ *db | *dbx | *strace | *truss)
mode=execute
;;
*install*|cp|mv)
@@ -238,7 +265,6 @@ if test -z "$show_help"; then
;;
-static)
- build_libtool_libs=no
build_old_libs=yes
continue
;;
@@ -337,7 +363,7 @@ if test -z "$show_help"; then
# Just move the object, then go on to compile the next one
$show "$mv $obj $libobj"
- $run $mv $obj $libobj || exit 1
+ $run $mv $obj $libobj || exit $?
# Allow error messages only from the first compilation.
suppress_output=' >/dev/null 2>&1'
@@ -374,10 +400,13 @@ if test -z "$show_help"; then
compile_shlibpath=
finalize_shlibpath=
+ convenience=
+ old_convenience=
deplibs=
dlfiles=
dlprefiles=
export_dynamic=no
+ generated=
hardcode_libdirs=
libobjs=
link_against_libtool_libs=
@@ -410,8 +439,10 @@ if test -z "$show_help"; then
test -n "$old_archive_from_new_cmds" && build_old_libs=yes
# Go through the arguments, transforming them on the way.
- for arg
- do
+ while test $# -gt 0; do
+ arg="$1"
+ shift
+
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
case "$prev" in
@@ -495,7 +526,7 @@ if test -z "$show_help"; then
-L*)
dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
case "$dir" in
- /* | [A-Za-z]:\\*)
+ /* | [A-Za-z]:[/\\]*)
# Add the corresponding hardcode_libdir_flag, if it is not identical.
;;
*)
@@ -571,7 +602,7 @@ if test -z "$show_help"; then
if test "$prev" = dlprefiles; then
# Preload the old-style object.
- dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
+ dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/.o/'`
prev=
fi
libobjs="$libobjs $arg"
@@ -586,7 +617,7 @@ if test -z "$show_help"; then
old_library=
# Check to see that this really is a libtool archive.
- if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+ if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
else
$echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
exit 1
@@ -598,11 +629,6 @@ if test -z "$show_help"; then
*) . ./$arg ;;
esac
- if test -z "$libdir"; then
- $echo "$modename: \`$arg' contains no -rpath information" 1>&2
- exit 1
- fi
-
# Get the name of the library we link against.
linklib=
for l in $old_library $library_names; do
@@ -623,6 +649,15 @@ if test -z "$show_help"; then
dir="$dir/$objdir"
fi
+ if test -z "$libdir"; then
+ # It is a libtool convenience library, so add in its objects.
+ convenience="$convenience $dir/$old_library"l
+ old_convenience="$old_convenience $dir/$old_library"
+ compile_command="$compile_command $dir/$old_library"
+ finalize_command="$finalize_command $dir/$old_library"
+ continue
+ fi
+
# This library was specified with -dlopen.
if test "$prev" = dlfiles; then
dlfiles="$dlfiles $arg"
@@ -696,8 +731,9 @@ if test -z "$show_help"; then
fi
+ lib_linked=yes
case "$hardcode_action" in
- immediate)
+ immediate | unsupported)
if test "$hardcode_direct" = no; then
compile_command="$compile_command $dir/$linklib"
elif test "$hardcode_minus_L" = no; then
@@ -705,13 +741,15 @@ if test -z "$show_help"; then
elif test "$hardcode_shlibpath_var" = no; then
compile_shlibpath="$compile_shlibpath$dir:"
compile_command="$compile_command -l$name"
+ else
+ lib_linked=no
fi
;;
relink)
# We need an absolute path.
case "$dir" in
- /* | [A-Za-z]:\\*) ;;
+ /* | [A-Za-z]:[/\\]*) ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
@@ -729,15 +767,21 @@ if test -z "$show_help"; then
elif test "$hardcode_shlibpath_var" = yes; then
compile_shlibpath="$compile_shlibpath$dir:"
compile_command="$compile_command -l$name"
+ else
+ lib_linked=no
fi
;;
- *)
- $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
- exit 1
- ;;
+ *)
+ lib_linked=no
+ ;;
esac
+ if test "$lib_linked" != yes; then
+ $echo "$modename: configuration error: unsupported hardcode properties"
+ exit 1
+ fi
+
# Finalize command for both is simple: just hardcode it.
if test "$hardcode_direct" = yes; then
finalize_command="$finalize_command $libdir/$linklib"
@@ -802,14 +846,7 @@ if test -z "$show_help"; then
exit 1
fi
- if test -n "$vinfo" && test -n "$release"; then
- $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
- $echo "$help" 1>&2
- exit 1
- fi
-
- oldlib=
- oldobjs=
+ oldlibs=
case "$output" in
"")
$echo "$modename: you must specify an output file" 1>&2
@@ -819,16 +856,39 @@ if test -z "$show_help"; then
*/* | *\\*)
$echo "$modename: output file \`$output' must have no directory components" 1>&2
+ $echo "$help" 1>&2
exit 1
;;
*.a)
+ if test -n "$link_against_libtool_libs"; then
+ $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
+ exit 1
+ fi
+
+ if test -n "$deplibs"; then
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+ fi
+
+ if test -n "$dlfiles$dlprefiles"; then
+ $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$rpath"; then
+ $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+ fi
+
# Now set the variables for building old libraries.
build_libtool_libs=no
- build_old_libs=yes
- oldlib="$output"
- $show "$rm $oldlib"
- $run $rm $oldlib
+ oldlibs="$output"
;;
*.la)
@@ -836,7 +896,7 @@ if test -z "$show_help"; then
case "$output" in
lib*) ;;
*)
- $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
+ $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
$echo "$help" 1>&2
exit 1
;;
@@ -849,9 +909,6 @@ if test -z "$show_help"; then
library_names=
old_library=
dlname=
- current=0
- revision=0
- age=0
if test -n "$objs"; then
$echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
@@ -860,21 +917,12 @@ if test -z "$show_help"; then
# How the heck are we supposed to write a wrapper for a shared library?
if test -n "$link_against_libtool_libs"; then
- $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
+ $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
exit 1
fi
if test -n "$dlfiles$dlprefiles"; then
- $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
- fi
-
- if test -z "$rpath"; then
- $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
- $echo "$help" 1>&2
- exit 1
+ $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
fi
set dummy $rpath
@@ -883,203 +931,250 @@ if test -z "$show_help"; then
fi
install_libdir="$2"
- # Parse the version information argument.
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=':'
- set dummy $vinfo
- IFS="$save_ifs"
+ # Now set the variables for building old libraries.
+ oldlibs="$objdir/$libname.a"
+ if test -z "$rpath"; then
+ # Building a libtool convenience library.
+ oldlibs="$objdir/$libname.al $oldlibs"
+ build_libtool_libs=convenience
- if test -n "$5"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit 1
- fi
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
+ fi
- test -n "$2" && current="$2"
- test -n "$3" && revision="$3"
- test -n "$4" && age="$4"
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+ fi
+ else
- # Check that each of the things are valid numbers.
- case "$current" in
- 0 | [1-9] | [1-9][0-9]*) ;;
- *)
- $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit 1
- ;;
- esac
+ # Parse the version information argument.
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ IFS="$save_ifs"
- case "$revision" in
- 0 | [1-9] | [1-9][0-9]*) ;;
- *)
- $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit 1
- ;;
- esac
+ if test -n "$8"; then
+ $echo "$modename: too many parameters to \`-version-info'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
- case "$age" in
- 0 | [1-9] | [1-9][0-9]*) ;;
- *)
- $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit 1
- ;;
- esac
+ current="$2"
+ revision="$3"
+ age="$4"
- if test $age -gt $current; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit 1
- fi
+ # Check that each of the things are valid numbers.
+ case "$current" in
+ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
- # Calculate the version variables.
- version_vars="version_type current age revision"
- case "$version_type" in
- none) ;;
+ case "$revision" in
+ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
- linux)
- version_vars="$version_vars major versuffix"
- major=`expr $current - $age`
- versuffix="$major.$age.$revision"
- ;;
+ case "$age" in
+ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
- osf)
- version_vars="$version_vars versuffix verstring"
- major=`expr $current - $age`
- versuffix="$current.$age.$revision"
- verstring="$versuffix"
-
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test $loop != 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring:${iface}.0"
- done
+ if test $age -gt $current; then
+ $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ fi
- # Make executables depend on our current version.
- verstring="$verstring:${current}.0"
- ;;
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case "$version_type" in
+ none) ;;
- sunos)
- version_vars="$version_vars major versuffix"
- major="$current"
- versuffix="$current.$revision"
- ;;
+ linux)
+ major=.`expr $current - $age`
+ versuffix="$major.$age.$revision"
+ ;;
- *)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit 1
- ;;
- esac
+ osf)
+ major=`expr $current - $age`
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test $loop != 0; do
+ iface=`expr $current - $loop`
+ loop=`expr $loop - 1`
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ verstring="$verstring:${current}.0"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ *)
+ $echo "$modename: unknown library version type \`$version_type'" 1>&2
+ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit 1
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ versuffix=
+ verstring="0.0"
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ # Add libc to deplibs on all systems.
+ dependency_libs="$deplibs"
+ deplibs="$deplibs -lc"
+ fi
# Create the output directory, or remove our outputs if we need to.
if test -d $objdir; then
- $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
- $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
+ $show "${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
+ $run ${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
else
$show "$mkdir $objdir"
$run $mkdir $objdir
- status=$?
- if test $status -eq 0 || test -d $objdir; then :
- else
- exit $status
- fi
- fi
-
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
- build_libtool_libs=no
- build_old_libs=yes
+ status=$?
+ if test $status -ne 0 && test ! -d $objdir; then
+ exit $status
fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
fi
- # Add libc to deplibs on all systems.
- dependency_libs="$deplibs"
- deplibs="$deplibs -lc"
-
if test "$build_libtool_libs" = yes; then
- # Get the real and link names of the library.
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- realname="$2"
- shift; shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
+ # Get the real and link names of the library.
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ realname="$2"
+ shift; shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
- lib="$objdir/$realname"
+ lib="$objdir/$realname"
for link
do
linknames="$linknames $link"
done
- # Use standard objects if they are PIC.
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
+ # Use standard objects if they are PIC.
+ test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
- # Do each of the archive commands.
- eval cmds=\"$archive_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
- for cmd in $cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ # Transform .lo files to .o files.
+ test "$build_old_libs" = yes && oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
- # Create links to the real library.
- for linkname in $linknames; do
- $show "(cd $objdir && $LN_S $realname $linkname)"
- $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
- done
+ if test -n "$whole_archive_flag_spec"; then
+ if test -n "$convenience"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ fi
+ else
+ for xlib in $convenience; do
+ # Extract the objects.
+ xdir="$xlib"x
+ generated="$generated $xdir"
+ xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
+
+ $show "${rm}r $xdir"
+ $run ${rm}r "$xdir"
+ $show "mkdir $xdir"
+ $run mkdir "$xdir"
+ status=$?
+ if test $status -ne 0 && test ! -d "$xdir"; then
+ exit $status
+ fi
+ $show "(cd $xdir && $AR x ../$xlib)"
+ $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
- # If -export-dynamic was specified, set the dlname.
- if test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- fi
+ libobjs="$libobjs `echo $xdir/*`"
+ done
+ fi
- # Now set the variables for building old libraries.
- oldlib="$objdir/$libname.a"
+ # Do each of the archive commands.
+ eval cmds=\"$archive_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ $show "(cd $objdir && $LN_S $realname $linkname)"
+ $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
+ fi
+ done
+
+ # If -export-dynamic was specified, set the dlname.
+ if test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
;;
*.lo | *.o)
if test -n "$link_against_libtool_libs"; then
- $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
+ $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
exit 1
fi
if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
fi
if test -n "$dlfiles$dlprefiles"; then
- $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
fi
if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
+ $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
fi
if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
+ $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
fi
if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
+ $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
fi
case "$output" in
@@ -1139,7 +1234,7 @@ if test -z "$show_help"; then
else
# Just create a symlink.
$show "$LN_S $obj $libobj"
- $run $LN_S $obj $libobj || exit 1
+ $run $LN_S $obj $libobj || exit $?
fi
exit 0
@@ -1147,11 +1242,11 @@ if test -z "$show_help"; then
*)
if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
+ $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
fi
if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
+ $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
fi
if test -n "$rpath"; then
@@ -1223,8 +1318,7 @@ if test -z "$show_help"; then
$show "$mkdir $objdir"
$run $mkdir $objdir
status=$?
- if test $status -eq 0 || test -d $objdir; then :
- else
+ if test $status -ne 0 && test ! -d $objdir; then
exit $status
fi
fi
@@ -1355,13 +1449,11 @@ dld_preloaded_symbols[] =
finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
# Create the binary in the object directory, then wrap it.
- if test -d $objdir; then :
- else
+ if test ! -d $objdir; then
$show "$mkdir $objdir"
$run $mkdir $objdir
status=$?
- if test $status -eq 0 || test -d $objdir; then :
- else
+ if test $status -ne 0 && test ! -d $objdir; then
exit $status
fi
fi
@@ -1371,7 +1463,7 @@ dld_preloaded_symbols[] =
rpath=
for dir in $temp_rpath; do
case "$dir" in
- /* | [A-Za-z]:\\*)
+ /* | [A-Za-z]:[/\\]*)
# Absolute path.
rpath="$rpath$dir:"
;;
@@ -1404,13 +1496,11 @@ dld_preloaded_symbols[] =
finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
fi
- case "$hardcode_action" in
- relink)
+ if test "$hardcode_action" = relink; then
# AGH! Flame the AIX and HP-UX people for me, will ya?
$echo "$modename: warning: using a buggy system linker" 1>&2
$echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
- ;;
- esac
+ fi
$show "$compile_command"
$run eval "$compile_command" || exit $?
@@ -1430,10 +1520,10 @@ dld_preloaded_symbols[] =
trap "$rm $output; exit 1" 1 2 15
$echo > $output "\
-#! /bin/sh
+#! $SHELL
# $output - temporary wrapper script for $objdir/$output
-# Generated by ltmain.sh - GNU $PACKAGE $VERSION
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
@@ -1457,10 +1547,20 @@ if test \"\$libtool_install_magic\" = \"$magic\"; then
finalize_command=\"$finalize_command\"
else
# When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" = \"$magic\"; then :
- else
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
echo=\"$qecho\"
file=\"\$0\"
+ # Make sure echo works.
+ if test \"X\$1\" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+ # Yippee, \$echo works!
+ :
+ else
+ # Restart under the correct shell, and then maybe \$echo will work.
+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+ fi
fi\
"
$echo >> $output "\
@@ -1477,7 +1577,7 @@ else
# If there was a directory component, then change thisdir.
if test \"x\$destdir\" != \"x\$file\"; then
case \"\$destdir\" in
- /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
+ /* | [A-Za-z]:[/\\]*) thisdir=\"\$destdir\" ;;
*) thisdir=\"\$thisdir/\$destdir\" ;;
esac
fi
@@ -1537,9 +1637,36 @@ fi\
esac
# See if we need to build an old-fashioned archive.
- if test "$build_old_libs" = "yes"; then
- # Transform .lo files to .o files.
- oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ addlibs="$old_convenience"
+ fi
+
+ # Add in members from convenience archives.
+ for xlib in $addlibs; do
+ # Extract the objects.
+ xdir="$xlib"x
+ generated="$generated $xdir"
+ xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
+
+ $show "${rm}r $xdir"
+ $run ${rm}r "$xdir"
+ $show "mkdir $xdir"
+ $run mkdir "$xdir"
+ status=$?
+ if test $status -ne 0 && test ! -d "$xdir"; then
+ exit $status
+ fi
+ $show "(cd $xdir && $AR x ../$xlib)"
+ $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
+
+ oldobjs="$oldobjs `echo $xdir/*`"
+ done
# Do each command in the archive commands.
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
@@ -1554,6 +1681,11 @@ fi\
$run eval "$cmd" || exit $?
done
IFS="$save_ifs"
+ done
+
+ if test -n "$generated"; then
+ $show "${rm}r$generated"
+ $run ${rm}r$generated
fi
# Now create the libtool archive.
@@ -1561,14 +1693,13 @@ fi\
*.la)
old_library=
test "$build_old_libs" = yes && old_library="$libname.a"
-
$show "creating $output"
# Only create the output if not a dry run.
if test -z "$run"; then
$echo > $output "\
# $output - a libtool library file
-# Generated by ltmain.sh - GNU $PACKAGE $VERSION
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION
# The name that we can dlopen(3).
dlname='$dlname'
@@ -1595,7 +1726,7 @@ libdir='$install_libdir'\
# Do a symbolic link so that the libtool archive can be found in
# LD_LIBRARY_PATH before the program is installed.
$show "(cd $objdir && $LN_S ../$output $output)"
- $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1
+ $run eval "(cd $objdir && $LN_S ../$output $output)" || exit $?
;;
esac
exit 0
@@ -1605,7 +1736,7 @@ libdir='$install_libdir'\
install)
modename="$modename: install"
- # There may be an optional /bin/sh argument at the beginning of
+ # There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT).
if test "$nonopt" = "$SHELL"; then
# Aesthetically quote it.
@@ -1639,7 +1770,7 @@ libdir='$install_libdir'\
opts=
prev=
install_type=
- isdir=
+ isdir=no
stripme=
for arg
do
@@ -1709,7 +1840,7 @@ libdir='$install_libdir'\
# Check to see that the destination is a directory.
test -d "$dest" && isdir=yes
- if test -n "$isdir"; then
+ if test "$isdir" = yes; then
destdir="$dest"
destname=
else
@@ -1726,7 +1857,7 @@ libdir='$install_libdir'\
fi
fi
case "$destdir" in
- /* | [A-Za-z]:\\*) ;;
+ /* | [A-Za-z]:[/\\]*) ;;
*)
for file in $files; do
case "$file" in
@@ -1759,7 +1890,7 @@ libdir='$install_libdir'\
*.la)
# Check to see that this really is a libtool archive.
- if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
else
$echo "$modename: \`$file' is not a valid libtool archive" 1>&2
$echo "$help" 1>&2
@@ -1864,7 +1995,7 @@ libdir='$install_libdir'\
# Deduce the name of the destination old-style object file.
case "$destfile" in
*.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
+ staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/.o/'`
;;
*.o)
staticdest="$destfile"
@@ -1886,7 +2017,7 @@ libdir='$install_libdir'\
# Install the old object if enabled.
if test "$build_old_libs" = yes; then
# Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
+ staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/.o/'`
$show "$install_prog $staticobj $staticdest"
$run eval "$install_prog \$staticobj \$staticdest" || exit $?
@@ -1895,8 +2026,16 @@ libdir='$install_libdir'\
;;
*)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ destfile="$destdir/$destfile"
+ fi
+
# Do a test to see if this is really a libtool program.
- if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+ if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
link_against_libtool_libs=
finalize_command=
@@ -1924,10 +2063,7 @@ libdir='$install_libdir'\
esac
fi
libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
- if test -z "$libdir"; then
- $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2
- elif test -f "$libfile"; then :
- else
+ if test -n "$libdir" && test ! -f "$libfile"; then
$echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
finalize=no
fi
@@ -1952,8 +2088,8 @@ libdir='$install_libdir'\
fi
fi
- $show "$install_prog$stripme $file $dest"
- $run eval "$install_prog\$stripme \$file \$dest" || exit $?
+ $show "$install_prog$stripme $file $destfile"
+ $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
;;
esac
done
@@ -1996,6 +2132,7 @@ libdir='$install_libdir'\
finish)
modename="$modename: finish"
libdirs="$nonopt"
+ admincmds=
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
for dir
@@ -2011,19 +2148,21 @@ libdir='$install_libdir'\
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
- $run eval "$cmd"
+ $run eval "$cmd" || admincmds="$admincmds
+ $cmd"
done
IFS="$save_ifs"
fi
if test -n "$finish_eval"; then
# Do the single finish_eval.
eval cmds=\"$finish_eval\"
- $run eval "$cmds"
+ $run eval "$cmds" || admincmds="$admincmds
+ $cmds"
fi
done
fi
- echo "------------------------------------------------------------------------------"
+ echo "----------------------------------------------------------------------"
echo "Libraries have been installed in:"
for libdir in $libdirs; do
echo " $libdir"
@@ -2032,7 +2171,7 @@ libdir='$install_libdir'\
echo "To link against installed libraries in a given directory, LIBDIR,"
echo "you must use the \`-LLIBDIR' flag during linking."
echo
- echo " You will also need to do one of the following:"
+ echo " You will also need to do at least one of the following:"
if test -n "$shlibpath_var"; then
echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
echo " during execution"
@@ -2047,13 +2186,16 @@ libdir='$install_libdir'\
echo " - use the \`$flag' linker flag"
fi
+ if test -n "$admincmds"; then
+ echo " - have your system administrator run these commands:$admincmds"
+ fi
if test -f /etc/ld.so.conf; then
echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
fi
echo
echo "See any operating system documentation about shared libraries for"
echo "more information, such as the ld(1) and ld.so(8) manual pages."
- echo "------------------------------------------------------------------------------"
+ echo "----------------------------------------------------------------------"
exit 0
;;
@@ -2071,8 +2213,7 @@ libdir='$install_libdir'\
# Handle -dlopen flags immediately.
for file in $execute_dlfiles; do
- if test -f "$file"; then :
- else
+ if test ! -f "$file"; then
$echo "$modename: \`$file' is not a file" 1>&2
$echo "$help" 1>&2
exit 1
@@ -2082,7 +2223,7 @@ libdir='$install_libdir'\
case "$file" in
*.la)
# Check to see that this really is a libtool archive.
- if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
else
$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
$echo "$help" 1>&2
@@ -2153,7 +2294,7 @@ libdir='$install_libdir'\
-*) ;;
*)
# Do a test to see if this is really a libtool program.
- if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+ if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
# If there is no directory component, then add one.
case "$file" in
*/* | *\\*) . $file ;;
@@ -2174,6 +2315,14 @@ libdir='$install_libdir'\
# Export the shlibpath_var.
eval "export $shlibpath_var"
+ # Restore saved enviroment variables
+ if test "${save_LC_ALL+set}" = set; then
+ LC_ALL="$save_LC_ALL"; export LC_ALL
+ fi
+ if test "${save_LANG+set}" = set; then
+ LANG="$save_LANG"; export LANG
+ fi
+
# Now actually exec the command.
eval "exec \$cmd$args"
@@ -2218,7 +2367,7 @@ libdir='$install_libdir'\
case "$name" in
*.la)
# Possibly a libtool archive, so verify it.
- if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
. $dir/$name
# Delete the libtool libraries and symlinks.
@@ -2262,7 +2411,7 @@ libdir='$install_libdir'\
*.lo)
if test "$build_old_libs" = yes; then
- oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
+ oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/.o/'`
rmfiles="$rmfiles $dir/$oldobj"
fi
$show "$rm $rmfiles"
@@ -2297,8 +2446,10 @@ case "$mode" in
Provide generalized library-building support services.
+ --config show all configuration variables
+ --debug enable verbose shell tracing
-n, --dry-run display commands without modifying any files
- --features display configuration information and exit
+ --features display basic configuration information and exit
--finish same as \`--mode=finish'
--help display this help message and exit
--mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
@@ -2326,6 +2477,10 @@ compile)
Compile a source file into a libtool library object.
+This mode accepts the following additional options:
+
+ -static always build a \`.o' file suitable for static linking
+
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
from the given SOURCEFILE.
diff --git a/modules/Makefile.am b/modules/Makefile.am
index b88cd8d2..8aedea96 100644
--- a/modules/Makefile.am
+++ b/modules/Makefile.am
@@ -6,7 +6,7 @@ pkglibexec_LTLIBRARIES = libtest.la libtime.la libstdlib.la
EXTRA_DIST = test.m4 time.m4 stdlib.m4
-INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib
+INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib @INTLINCL@
libtest_la_SOURCES = test.c
libtime_la_SOURCES = time.c
@@ -15,24 +15,21 @@ libstdlib_la_SOURCES = stdlib.c
LIBS =
LDFLAGS = @DLLDFLAGS@
-install-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir)
- @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
- module=`echo "$$p" | sed -e 's/^lib\(.*\)\.la/\1/'`; \
- lib=.libs/lib$$module.so.0.0.0; \
- if test -f $$lib; then \
- echo "${INSTALL} $$lib $(DESTDIR)$(pkglibexecdir)/$$module"; \
- ${INSTALL} $$lib $(DESTDIR)$(pkglibexecdir)/$$module; \
- else :; fi; \
- done
-
-uninstall-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
- module=`echo "$$p" | sed -e 's/^lib\(.*\)\.la/\1/'`; \
- if test -f $$lib; then \
- echo "rm -f $(DESTDIR)$(pkglibexecdir)/$$module"; \
- rm -f $(DESTDIR)$(pkglibexecdir)/$$module; \
- else :; fi; \
- done
+# libperl_la_SOURCES = perl.c perlxsi.c
+libperl_la_OBJECTS = perl.lo
+
+perlxsi.c:
+ perl -MExtUtils::Embed -e xsinit -- -o perlxsi.c
+
+libperl_la_CFLAGS = `perl -MExtUtils::Embed -e ccopts`
+PERLLDFLAGS = `perl -MExtUtils::Embed -e ldopts`
+
+perl.lo: perl.c perlxsi.c
+ @echo '$(LTCOMPILE) $(libperl_la_CFLAGS) -c perl.c'; \
+ $(LTCOMPILE) -Wp,-MD,.deps/$(*F).p $(libperl_la_CFLAGS) -c perl.c
+ @-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \
+ < .deps/$(*F).p > .deps/$(*F).P
+ @-rm -f .deps/$(*F).p
+
+libperl.la: $(libperl_la_OBJECTS) $(libperl_la_DEPENDENCIES)
+ $(LINK) -rpath $(pkglibexecdir) $(libperl_la_LDFLAGS) $(PERLLDFLAGS) $(libperl_la_OBJECTS) $(libperl_la_LIBADD) $(LIBS)
diff --git a/modules/Makefile.in b/modules/Makefile.in
index e1ec9609..bc6ec4c6 100644
--- a/modules/Makefile.in
+++ b/modules/Makefile.in
@@ -78,6 +78,7 @@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
+INTLINCL = @INTLINCL@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LD = @LD@
@@ -106,7 +107,7 @@ pkglibexec_LTLIBRARIES = libtest.la libtime.la libstdlib.la
EXTRA_DIST = test.m4 time.m4 stdlib.m4
-INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib
+INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib @INTLINCL@
libtest_la_SOURCES = test.c
libtime_la_SOURCES = time.c
@@ -114,6 +115,12 @@ libstdlib_la_SOURCES = stdlib.c
LIBS =
LDFLAGS = @DLLDFLAGS@
+
+# libperl_la_SOURCES = perl.c perlxsi.c
+libperl_la_OBJECTS = perl.lo
+
+libperl_la_CFLAGS = `perl -MExtUtils::Embed -e ccopts`
+PERLLDFLAGS = `perl -MExtUtils::Embed -e ldopts`
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@@ -166,6 +173,22 @@ distclean-pkglibexecLTLIBRARIES:
maintainer-clean-pkglibexecLTLIBRARIES:
+install-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir)
+ @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo "$(LIBTOOL) --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(pkglibexecdir)/$$p"; \
+ $(LIBTOOL) --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(pkglibexecdir)/$$p; \
+ else :; fi; \
+ done
+
+uninstall-pkglibexecLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
+ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(pkglibexecdir)/$$p; \
+ done
+
.c.o:
$(COMPILE) -c $<
@@ -249,9 +272,13 @@ distdir: $(DISTFILES)
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
done
+perl.lo perl.o: perl.c perlxsi.c ../src/m4.h ../config.h \
+ ../lib/obstack.h ../src/builtin.h
+perlxsi.lo perlxsi.o: perlxsi.c
stdlib.lo stdlib.o: stdlib.c ../src/m4.h ../config.h ../lib/obstack.h \
../src/builtin.h
-test.o: test.c ../src/m4.h ../config.h ../lib/obstack.h ../src/builtin.h
+test.lo test.o: test.c ../src/m4.h ../config.h ../lib/obstack.h \
+ ../src/builtin.h
time.lo time.o: time.c ../src/m4.h ../config.h ../lib/obstack.h \
../src/builtin.h
@@ -318,27 +345,18 @@ clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
-install-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir)
- @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
- module=`echo "$$p" | sed -e 's/^lib\(.*\)\.la/\1/'`; \
- lib=.libs/lib$$module.so.0.0.0; \
- if test -f $$lib; then \
- echo "${INSTALL} $$lib $(DESTDIR)$(pkglibexecdir)/$$module"; \
- ${INSTALL} $$lib $(DESTDIR)$(pkglibexecdir)/$$module; \
- else :; fi; \
- done
+perlxsi.c:
+ perl -MExtUtils::Embed -e xsinit -- -o perlxsi.c
-uninstall-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
- module=`echo "$$p" | sed -e 's/^lib\(.*\)\.la/\1/'`; \
- if test -f $$lib; then \
- echo "rm -f $(DESTDIR)$(pkglibexecdir)/$$module"; \
- rm -f $(DESTDIR)$(pkglibexecdir)/$$module; \
- else :; fi; \
- done
+perl.lo: perl.c perlxsi.c
+ @echo '$(LTCOMPILE) $(libperl_la_CFLAGS) -c perl.c'; \
+ $(LTCOMPILE) -Wp,-MD,.deps/$(*F).p $(libperl_la_CFLAGS) -c perl.c
+ @-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \
+ < .deps/$(*F).p > .deps/$(*F).P
+ @-rm -f .deps/$(*F).p
+
+libperl.la: $(libperl_la_OBJECTS) $(libperl_la_DEPENDENCIES)
+ $(LINK) -rpath $(pkglibexecdir) $(libperl_la_LDFLAGS) $(PERLLDFLAGS) $(libperl_la_OBJECTS) $(libperl_la_LIBADD) $(LIBS)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/modules/README b/modules/README
index 50155b7c..8ea440dd 100644
--- a/modules/README
+++ b/modules/README
@@ -3,7 +3,8 @@ This directory contains demonstration modules for GNU m4.
Nothing in this directory is built by default.
Dynamic modules is a experimental feature of GNU m4. Currently it has
-only been certified to work under Linux 2.0.
+only been certified to work under GNU/Linux 2.0, OSF1, HPUX 9 & 10,
+SunOS 5 and Solaris 5.
Dynamic modules are only available if GNU m4 was configured with
--with-modules and if the dlopen(3) interface is available in the
@@ -16,7 +17,7 @@ then compiled. The compiled file can then be loaded into a running m4
process by calling the builtin "loadmodule". This will give GNU m4
access to any system feature with a C interface.
-Modules are searched for in M4MODPATH, if set, and in a module directory
+Modules are searched for in M4MODPATH, if set, else in a module directory
defined at configure time, default /usr/local/libexec/m4.
A module extends GNU m4 by defining new builtins, It can define builtins
@@ -25,7 +26,8 @@ unavailable. A module cannot redefine internal functions of GNU m4,
such as the input parser or argument handling.
The infrastructure for writing and compiling modules is still a bit
-wanting.
+wanting. It is necessary having the GNU m4 sources available to compile
+modules.
Each module should include the two header files ../src/m4.h and
../src/builtin.h. These will include <ctype.h>, <stdio.h>,
@@ -57,9 +59,9 @@ the GNU m4 sources. Some of these have prototypes in builtin.h.
A complete, though silly, example is found in test.c. A more
-interesting example is in time.c.
+interesting example is in time.c or in stdlib.c
To try the demos, compile with `make' and run them with the commands as:
- M4MODPATH=`pwd` ../src/m4 time.m4
+ M4MODPATH=`pwd`/.libs ../src/m4 time.m4
diff --git a/modules/stdlib.c b/modules/stdlib.c
index b64c72e1..1b6bee0d 100644
--- a/modules/stdlib.c
+++ b/modules/stdlib.c
@@ -22,7 +22,11 @@
#include <pwd.h>
#include <stdlib.h>
#include <unistd.h>
+#ifdef TM_IN_SYS_TIME
+#include <sys/time.h>
+#else
#include <time.h>
+#endif
#include <sys/utsname.h>
#include <sys/types.h>
@@ -108,7 +112,22 @@ m4_setenv (struct obstack *obs, int argc, token_data **argv)
if (!numeric_arg(argv[0], ARG(3), &overwrite))
return;
+#ifdef HAVE_SETENV
setenv(ARG(1), ARG(2), overwrite);
+#else
+#ifdef HAVE_PUTENV
+ if (!overwrite && getenv (ARG(1)) != NULL)
+ return;
+
+ obstack_grow (obs, ARG(1), strlen (ARG(1)));
+ obstack_1grow (obs, '=');
+ obstack_grow (obs, ARG(2), strlen (ARG(2)));
+ obstack_1grow (obs, '\0');
+
+ env = obstack_finish (obs);
+ putenv (env);
+#endif /* HAVE_PUTENV */
+#endif /* HAVE_SETENV */
}
static void
@@ -119,7 +138,9 @@ m4_unsetenv (struct obstack *obs, int argc, token_data **argv)
if (bad_argc (argv[0], argc, 2, 2))
return;
- unsetenv(ARG(1));
+#ifdef HAVE_UNSETENV
+ unsetenv (ARG(1));
+#endif /* HAVE_UNSETENV */
}
static void
@@ -130,7 +151,7 @@ m4_getlogin (struct obstack *obs, int argc, token_data **argv)
if (bad_argc (argv[0], argc, 1, 1))
return;
- login = getlogin();
+ login = getlogin ();
if (login != NULL)
shipout_string (obs, login, 0, FALSE);
diff --git a/modules/time.c b/modules/time.c
index 5f98e8a7..8a986b3c 100644
--- a/modules/time.c
+++ b/modules/time.c
@@ -19,14 +19,24 @@
#include <m4.h>
#include <builtin.h>
+#ifdef TM_IN_SYS_TIME
+#include <sys/time.h>
+#else
#include <time.h>
+#endif /* TM_IN_SYS_TIME */
DECLARE(m4_currenttime);
DECLARE(m4_ctime);
DECLARE(m4_gmtime);
DECLARE(m4_localtime);
+
+#ifdef HAVE_MKTIME
DECLARE(m4_mktime);
+#endif /* HAVE_MKTIME */
+
+#ifdef HAVE_STRFTIME
DECLARE(m4_strftime);
+#endif /* HAVE_STRFTIME */
#undef DECLARE
@@ -37,8 +47,12 @@ builtin m4_macro_table[] =
{ "ctime", TRUE, FALSE, FALSE, m4_ctime },
{ "gmtime", TRUE, FALSE, TRUE, m4_gmtime },
{ "localtime", TRUE, FALSE, TRUE, m4_localtime },
+#ifdef HAVE_MKTIME
{ "mktime", TRUE, FALSE, TRUE, m4_mktime },
+#endif /* HAVE_MKTIME */
+#ifdef HAVE_STRFTIME
{ "strftime", TRUE, FALSE, TRUE, m4_strftime },
+#endif /* HAVE_STRFTIME */
{ 0, FALSE, FALSE, FALSE, 0 },
};
@@ -138,6 +152,7 @@ m4_localtime (struct obstack *obs, int argc, token_data **argv)
format_tm(obs, localtime(&t));
}
+#ifdef HAVE_MKTIME
/*-------------------------------------------.
| mktime(sec,min,hour,mday,month,year,isdst) |
`-------------------------------------------*/
@@ -170,7 +185,9 @@ m4_mktime (struct obstack *obs, int argc, token_data **argv)
shipout_int(obs, t);
}
+#endif /* HAVE_MKTIME */
+#ifdef HAVE_STRFTIME
static void
m4_strftime (struct obstack *obs, int argc, token_data **argv)
{
@@ -191,3 +208,4 @@ m4_strftime (struct obstack *obs, int argc, token_data **argv)
l = strftime(buf, 1024, ARG(1), tm);
obstack_grow(obs, buf, l);
}
+#endif /* HAVE_STRFTIME */
diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c
index 1d6717c4..09c1d0e6 100644
--- a/po/cat-id-tbl.c
+++ b/po/cat-id-tbl.c
@@ -117,27 +117,29 @@ If no FILE or if FILE is `-', standard input is read.\n", 60},
\n\
Report bugs to <bug-m4@gnu.org>.\n", 61},
{"Bad debug flags: `%s'", 62},
- {"INTERNAL ERROR: Bad code in deferred arguments", 63},
- {"INTERNAL ERROR: Bad token type in expand_token ()", 64},
- {"ERROR: EOF in argument list", 65},
- {"INTERNAL ERROR: Bad token type in expand_argument ()", 66},
- {"INTERNAL ERROR: Bad symbol type in call_macro ()", 67},
- {"ERROR: Recursion limit of %d exceeded, use -L<N> to change it", 68},
- {"ERROR: cannot find module `%s'", 69},
- {"ERROR: Cannot create temporary file for diversion", 70},
- {"ERROR: Cannot flush diversion to temporary file", 71},
- {"ERROR: Copying inserted file", 72},
- {"ERROR: Reading inserted file", 73},
- {"Cannot stat diversion", 74},
- {"Path search for `%s' found `%s'", 75},
- {"Module search for `%s' found `%s'", 76},
- {"VMEM limit exceeded?\n", 77},
+ {" (options:", 63},
+ {"INTERNAL ERROR: Bad code in deferred arguments", 64},
+ {"INTERNAL ERROR: Bad token type in expand_token ()", 65},
+ {"ERROR: EOF in argument list", 66},
+ {"INTERNAL ERROR: Bad token type in expand_argument ()", 67},
+ {"INTERNAL ERROR: Bad symbol type in call_macro ()", 68},
+ {"ERROR: Recursion limit of %d exceeded, use -L<N> to change it", 69},
+ {"Module search for `%s' found `%s'", 70},
+ {"ERROR: cannot find module `%s': %s", 71},
+ {"ERROR: cannot find module `%s'", 72},
+ {"ERROR: Cannot create temporary file for diversion", 73},
+ {"ERROR: Cannot flush diversion to temporary file", 74},
+ {"ERROR: Copying inserted file", 75},
+ {"ERROR: Reading inserted file", 76},
+ {"Cannot stat diversion", 77},
+ {"Path search for `%s' found `%s'", 78},
+ {"VMEM limit exceeded?\n", 79},
{"\
Memory bounds violation detected (SIGSEGV). Either a stack overflow\n\
-occurred, or there is a bug in ", 78},
- {". Check for possible infinite recursion.\n", 79},
- {"INTERNAL ERROR: Illegal mode to symbol_lookup ()", 80},
- {"Name `%s' is unknown\n", 81},
+occurred, or there is a bug in ", 80},
+ {". Check for possible infinite recursion.\n", 81},
+ {"INTERNAL ERROR: Illegal mode to symbol_lookup ()", 82},
+ {"Name `%s' is unknown\n", 83},
};
-int _msg_tbl_length = 81;
+int _msg_tbl_length = 83;
diff --git a/po/de.gmo b/po/de.gmo
index e38c997e..70605e66 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 73e0de09..0530938b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"PO-Revision-Date: 1996-09-30 10:38 GMT+0100\n"
"Last-Translator: Martin von Löwis <martin@mira.isdn.cs.tu-berlin.de>\n"
"Language-Team: German <de@li.org>\n"
@@ -14,102 +14,102 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr "Warnung: Zu wenig Argumente für eingebaute Funktion `%s'"
-#: src/builtin.c:335
+#: src/builtin.c:343
#, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr ""
"Warnung: Überschüssige Argumente für eingebaute Funktion `%s' ignoriert"
-#: src/builtin.c:363
+#: src/builtin.c:371
#, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr "Nicht-numerisches Argument in eingebauter Funktion `%s'"
-#: src/builtin.c:474
+#: src/builtin.c:482
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr "INTERNER FEHLER: Falscher Datentyp des Tokens in define_macro ()"
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, c-format
msgid "Undefined name %s"
msgstr "Name %s nicht definiert"
-#: src/builtin.c:697
+#: src/builtin.c:705
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr "INTERNER FEHLER: Eingebaute Funktion nicht in Tabelle gefunden!"
-#: src/builtin.c:705
+#: src/builtin.c:713
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr "INTERNER FEHLER: Falscher Datentyp des Tokens in m4_dumpdef ()"
-#: src/builtin.c:756
+#: src/builtin.c:764
#, c-format
msgid "Undefined macro `%s'"
msgstr "Makro `%s' nicht definiert"
-#: src/builtin.c:794
+#: src/builtin.c:802
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr "INTERNER FEHLER: Falscher Symboltyp in m4_defn ()"
-#: src/builtin.c:860
+#: src/builtin.c:868
#, c-format
msgid "Cannot open pipe to command `%s'"
msgstr "Kann keine `pipe' für Kommando `%s' öffnen"
-#: src/builtin.c:897
+#: src/builtin.c:908
#, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr "Basis in `eval' nicht in den Grenzen (Basis = %d)"
-#: src/builtin.c:906
+#: src/builtin.c:917
msgid "Negative width to eval"
msgstr "Negative Breite in `eval'"
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, c-format
msgid "Non-numeric argument to %s"
msgstr "Nicht-numerisches Argument in %s"
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, c-format
msgid "Cannot undivert %s"
msgstr "Kann Umleitung %s nicht aufheben"
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, fuzzy, c-format
msgid "Undefined syntax code %c"
msgstr "Name %s nicht definiert"
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, c-format
msgid "Cannot open %s"
msgstr "Kann %s nicht öffnen"
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr "Debug Modus: falsche Debug Flags: `%s'"
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, c-format
msgid "Cannot set error file: %s"
msgstr "Kann Fehlerdatei nicht vorbereiten: %s"
-#: src/builtin.c:1671
+#: src/builtin.c:1696
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "WARNUNG: \\0 wird wegfallen, benutze \\& stattdessen"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Falscher regulärer Ausdruck `%s': %s"
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, c-format
msgid "Error matching regular expression `%s'"
msgstr "Fehler beim Erkennen des regulären Ausdrucks `%s'"
@@ -124,49 +124,49 @@ msgstr ""
msgid "INTERNAL ERROR: Bad token data type (trace_pre ())"
msgstr "INTERNER FEHLER: Falscher Datentyp des Tokens (trace_pre ())"
-#: src/eval.c:297
+#: src/eval.c:309
#, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr "Falscher Ausdruck in `eval' (fehlende rechte Klammer): %s"
-#: src/eval.c:303
+#: src/eval.c:315
#, c-format
msgid "Bad expression in eval: %s"
msgstr "Falscher Ausdruck in `eval': %s"
-#: src/eval.c:308
+#: src/eval.c:320
#, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr "Falscher Ausdruck in `eval' (falsche Eingabe): %s"
-#: src/eval.c:313
+#: src/eval.c:325
#, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr "Falscher Ausdruck in `eval' (zu große Eingabe): %s"
-#: src/eval.c:318
+#: src/eval.c:330
#, c-format
msgid "Divide by zero in eval: %s"
msgstr "Division durch Null in `eval': %s"
-#: src/eval.c:323
+#: src/eval.c:335
#, c-format
msgid "Modulo by zero in eval: %s"
msgstr "Modulo Null in `eval': %s"
-#: src/eval.c:328
+#: src/eval.c:340
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr "INTERNER FEHLER: Falscher Fehlerkode in evaluate ()"
-#: src/eval.c:582
+#: src/eval.c:594
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr "INTERNER FEHLER: Falscher Vergleichsoperator in cmp_term ()"
-#: src/eval.c:627
+#: src/eval.c:639
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr "INTERNER FEHLER: Falscher Shift-Operator in shift_term ()"
-#: src/eval.c:726
+#: src/eval.c:738
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr "INTERNER FEHLER: Falscher Operator in mult_term ()"
@@ -202,59 +202,59 @@ msgstr ""
"`%s' aus eingefrorener Datei nicht in Tabelle der eingebauten Funktionen "
"gefunden!"
-#: src/input.c:315
+#: src/input.c:318
#, c-format
msgid "Input reverted to %s, line %d"
msgstr "Eingabe zurückgenommen zu %s, Zeile %d"
-#: src/input.c:343
+#: src/input.c:346
#, c-format
msgid "Input read from %s"
msgstr "Eingabe gelesen von %s"
-#: src/input.c:503
+#: src/input.c:506
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr "INTERNER FEHLER: Rekursives push_string!"
-#: src/input.c:620
+#: src/input.c:623
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr "INTERNER FEHLER: Falscher Aufruf von init_macro_token ()"
-#: src/input.c:660
+#: src/input.c:663
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr ""
"INTERNER FEHLER: Kellerspeicher der Eingabe durcheinander in next_char ()"
-#: src/input.c:697
+#: src/input.c:700
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr ""
"INTERNER FEHLER: Kellerspeicher der Eingabe durcheinander in peek_input ()"
# This is the name of the input file when there is no current input file.
# Is this ever printed in a message?
-#: src/input.c:800
+#: src/input.c:803
msgid "NONE"
msgstr "NONE"
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
msgid "ERROR: EOF in string"
msgstr "FEHLER: Dateiende in Zeichenkette"
-#: src/m4.c:106
+#: src/m4.c:117
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr "FEHLER: Keller voll. (Unendliche `define' Rekursion?)"
-#: src/m4.c:133
+#: src/m4.c:144
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "`%s --help' zeigt weitere Informationen.\n"
-#: src/m4.c:137
+#: src/m4.c:148
#, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr "Aufruf: %s [OPTION]... [DATEI]...\n"
-#: src/m4.c:138
+#: src/m4.c:149
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
"for short options too.\n"
@@ -280,11 +280,11 @@ msgstr ""
" -P, --prefix-builtins erzwinge `m4_' Präfix für eingebaute "
"Funktionen\n"
-#: src/m4.c:151
+#: src/m4.c:162
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr " -W, --word-regexp=REGEXP benutze REGEXP für Makronamensyntax\n"
-#: src/m4.c:155
+#: src/m4.c:166
#, fuzzy
msgid ""
"\n"
@@ -302,7 +302,7 @@ msgstr ""
" -U, --undefine=NAME lösche eingebaute Funktion NAME\n"
" -s, --synclines erzeuge `#line NR \"DATEI\"' Zeilen\n"
-#: src/m4.c:163
+#: src/m4.c:174
msgid ""
"\n"
"Limits control:\n"
@@ -317,7 +317,7 @@ msgstr ""
" -L, --nesting-limit=NUMMER setze künstliche Grenze für "
"Schachtelungstiefe\n"
-#: src/m4.c:170
+#: src/m4.c:181
msgid ""
"\n"
"Frozen state files:\n"
@@ -331,7 +331,7 @@ msgstr ""
" -R, --reload-state=DATEI lade zu Beginn Zustand von eingefrorener "
"DATEI\n"
-#: src/m4.c:176
+#: src/m4.c:187
msgid ""
"\n"
"Debugging:\n"
@@ -349,7 +349,7 @@ msgstr ""
" -o, --error-output=DATEI leite Debug- und Verfolgungsausgaben nach "
"DATEI\n"
-#: src/m4.c:184
+#: src/m4.c:195
msgid ""
"\n"
"FLAGS is any of:\n"
@@ -379,7 +379,7 @@ msgstr ""
" i gebe Veränderungen der Eingabedatei aus\n"
" V Kurzform für alle Flags oben zusammen\n"
-#: src/m4.c:199
+#: src/m4.c:210
msgid ""
"\n"
"If no FILE or if FILE is `-', standard input is read.\n"
@@ -387,18 +387,22 @@ msgstr ""
"\n"
"Ohne DATEI oder wenn DATEI `-' ist, wird die Standardeingabe gelesen\n"
-#: src/m4.c:204
+#: src/m4.c:215
msgid ""
"\n"
"Report bugs to <bug-m4@gnu.org>.\n"
msgstr ""
-#: src/m4.c:368
+#: src/m4.c:388
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "Falsche Debug Flags: `%s'"
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "INTERNER FEHLER: Falscher Kode in zurückgestellten Argumenten"
@@ -424,7 +428,17 @@ msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
"FEHLER: Grenze der Rekursion von %d überschritten, benutze -L<N> zur Änderung"
-#: src/module.c:206
+#: src/module.c:312
+#, fuzzy, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr "Pfad für Suche nach `%s' hat `%s' gefunden"
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -449,16 +463,11 @@ msgstr "FEHLER: Während Lesen einer eingefügten Datei"
msgid "Cannot stat diversion"
msgstr "Kann `stat' nicht auf Umleitung anwenden"
-#: src/path.c:170
+#: src/path.c:157
#, c-format
msgid "Path search for `%s' found `%s'"
msgstr "Pfad für Suche nach `%s' hat `%s' gefunden"
-#: src/path.c:253
-#, fuzzy, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr "Pfad für Suche nach `%s' hat `%s' gefunden"
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/po/fr.gmo b/po/fr.gmo
index 8ffc90a8..3f314817 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 3dc21baf..8e1f50b2 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4d\n"
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"PO-Revision-Date: 1998-05-23 11:53+02:00\n"
"Last-Translator: Erick Branderhorst <Erick.Branderhorst@asml.nl>\n"
"Language-Team: dutch <nl@li.org>\n"
@@ -15,102 +15,102 @@ msgstr ""
"Content-Type: text/plain; charset=\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr "Attention: Trop peu d'arguments pour «%s» prédéfini"
-#: src/builtin.c:335
+#: src/builtin.c:343
#, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr "Attention: Les arguments superflus pour «%s» prédéfini sont ignorés"
-#: src/builtin.c:363
+#: src/builtin.c:371
#, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr "Argument non-numérique pour «%s» prédéfini"
-#: src/builtin.c:474
+#: src/builtin.c:482
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr "ERREUR INTERNE: Mauvais type de lexème dans define_macro ()"
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, c-format
msgid "Undefined name %s"
msgstr "Nom «%s» non-défini"
-#: src/builtin.c:697
+#: src/builtin.c:705
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr "ERREUR INTERNE: Prédéfini introuvable dans la table des prédéfinis!"
-#: src/builtin.c:705
+#: src/builtin.c:713
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr "ERREUR INTERNE: Mauvais type de données pour lexème dans m4_dumpdef ()"
-#: src/builtin.c:756
+#: src/builtin.c:764
#, c-format
msgid "Undefined macro `%s'"
msgstr "Macro «%s» non-défini"
-#: src/builtin.c:794
+#: src/builtin.c:802
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr "ERREUR INTERNE: Mauvais type de symbole dans m4_defn ()"
-#: src/builtin.c:860
+#: src/builtin.c:868
#, c-format
msgid "Cannot open pipe to command `%s'"
msgstr "Incapable d'ouvrir un «pipe» pour la commande «%s»"
-#: src/builtin.c:897
+#: src/builtin.c:908
#, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr "Base hors intervalle dans «eval» (base = %d)"
-#: src/builtin.c:906
+#: src/builtin.c:917
msgid "Negative width to eval"
msgstr "Largeur négative dans «eval»"
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, c-format
msgid "Non-numeric argument to %s"
msgstr "Argument non-numérique pour %s"
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, c-format
msgid "Cannot undivert %s"
msgstr "Incapble de ramener la diversion %s"
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, fuzzy, c-format
msgid "Undefined syntax code %c"
msgstr "Nom «%s» non-défini"
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, c-format
msgid "Cannot open %s"
msgstr "Incapable d'ouvrir %s"
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr "Debugmode: mauvais indicateurs de mise-au-point: «%s»"
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, c-format
msgid "Cannot set error file: %s"
msgstr "Incapable de préparer le fichier d'erreurs: %s"
-#: src/builtin.c:1671
+#: src/builtin.c:1696
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr ""
"ATTENTION: \\\\0 disparaîtra, utiliser \\\\& plutôt pour les remplacements"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Mauvaise expression régulière «%s»: %s"
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, c-format
msgid "Error matching regular expression `%s'"
msgstr "Erreur d'appariement pour l'expressio régulière «%s»"
@@ -125,49 +125,49 @@ msgstr ""
msgid "INTERNAL ERROR: Bad token data type (trace_pre ())"
msgstr "ERREUR INTERNE: Mauvais type de donnée pour de lexème (trace_pre ())"
-#: src/eval.c:297
+#: src/eval.c:309
#, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr "Mauvaise expression dans «eval» (parenthèse droite manquante): %s"
-#: src/eval.c:303
+#: src/eval.c:315
#, c-format
msgid "Bad expression in eval: %s"
msgstr "Mauvaise expression dans «eval»: %s"
-#: src/eval.c:308
+#: src/eval.c:320
#, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr "Mauvaise expression dans «eval» (mauvaise entrée): %s"
-#: src/eval.c:313
+#: src/eval.c:325
#, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr "Mauvaise expression dans «eval» (entrée superflue): %s"
-#: src/eval.c:318
+#: src/eval.c:330
#, c-format
msgid "Divide by zero in eval: %s"
msgstr "Division par zéro dans «eval»: %s"
-#: src/eval.c:323
+#: src/eval.c:335
#, c-format
msgid "Modulo by zero in eval: %s"
msgstr "Module par zéro dans «eval»: %s"
-#: src/eval.c:328
+#: src/eval.c:340
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr "ERREUR INTERNE: Mauvais code d'erreur dans evaluate ()"
-#: src/eval.c:582
+#: src/eval.c:594
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr "ERREUR INTERNE: Mauvais opérateur de comparaison dans cmp_term ()"
-#: src/eval.c:627
+#: src/eval.c:639
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr "ERREUR INTERNE: Mauvais opérateur de décalage dans shift_term ()"
-#: src/eval.c:726
+#: src/eval.c:738
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr "ERREUR INTERNE: Mauvais opérateur dans mult_term ()"
@@ -203,55 +203,55 @@ msgid "`%s' from frozen file not found in builtin table!"
msgstr ""
"«%s» dans le fichier figé est introuvable dans la table des prédéfinis!"
-#: src/input.c:315
+#: src/input.c:318
#, c-format
msgid "Input reverted to %s, line %d"
msgstr "Entrée reprise de %s, ligne %d"
-#: src/input.c:343
+#: src/input.c:346
#, c-format
msgid "Input read from %s"
msgstr "Entrée lue de %s"
-#: src/input.c:503
+#: src/input.c:506
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr "ERREUR INTERNE: Utilisation récursive de push_string!"
-#: src/input.c:620
+#: src/input.c:623
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr "ERREUR INTERNE: Mauvais appel à init_macro_token ()"
-#: src/input.c:660
+#: src/input.c:663
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr "ERREUR INTERNE: Pile d'entrée douteuse dans next_char ()"
-#: src/input.c:697
+#: src/input.c:700
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr "ERREUR INTERNE: Pile d'entrée douteuse dans peek_input ()"
-#: src/input.c:800
+#: src/input.c:803
msgid "NONE"
msgstr "AUCUN"
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
msgid "ERROR: EOF in string"
msgstr "ERREUR: Fin-de-fichier dans la chaîne"
-#: src/m4.c:106
+#: src/m4.c:117
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr "ERREUR INTERNE: Mauvais type de lexème dans expand_token ()"
-#: src/m4.c:133
+#: src/m4.c:144
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Pour plus d'information, essayez «%s --help».\\n\n"
-#: src/m4.c:137
+#: src/m4.c:148
#, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr "Usage: %s [OPTION]... [FICHIER]...\\n\n"
-#: src/m4.c:138
+#: src/m4.c:149
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
"for short options too.\n"
@@ -277,12 +277,12 @@ msgstr ""
" -Q, --quiet, --silent inhiber certains diagnostics prédéfinis\n"
" -P, --prefix-builtins préfixer tous les prédéfinis par «m4_»\n"
-#: src/m4.c:151
+#: src/m4.c:162
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr ""
" -W, --word-regexp=REGEXP utiliser REGEXP pour les noms de macro\n"
-#: src/m4.c:155
+#: src/m4.c:166
#, fuzzy
msgid ""
"\n"
@@ -300,7 +300,7 @@ msgstr ""
" -s, --synclines engendrer des lignes «#line NNN "
"\\\"FICHIER\\\"»\n"
-#: src/m4.c:163
+#: src/m4.c:174
msgid ""
"\n"
"Limits control:\n"
@@ -315,7 +315,7 @@ msgstr ""
" -L, --nesting-limit=NOMBRE modifier la limite artificielle "
"d'imbrication\n"
-#: src/m4.c:170
+#: src/m4.c:181
msgid ""
"\n"
"Frozen state files:\n"
@@ -327,7 +327,7 @@ msgstr ""
" -F, --freeze-state=FICHIER produire un FICHIER figé à la fin\n"
" -R, --reload-state=FICHIER recharger un FICHIER figé au départ\n"
-#: src/m4.c:176
+#: src/m4.c:187
msgid ""
"\n"
"Debugging:\n"
@@ -345,7 +345,7 @@ msgstr ""
" -o, --error-output=FICHIER rediriger la sortie de trace et "
"mise-au-point\n"
-#: src/m4.c:184
+#: src/m4.c:195
msgid ""
"\n"
"FLAGS is any of:\n"
@@ -375,7 +375,7 @@ msgstr ""
" i afficher les modifications dans les fichiers d'entrée\n"
" V abbréviation commode pour toutes les options précédentes à la fois\n"
-#: src/m4.c:199
+#: src/m4.c:210
msgid ""
"\n"
"If no FILE or if FILE is `-', standard input is read.\n"
@@ -383,18 +383,22 @@ msgstr ""
"\n"
"Si aucun FICHIER ou si FICHIER vaut «-», lit l'entrée standard.\n"
-#: src/m4.c:204
+#: src/m4.c:215
msgid ""
"\n"
"Report bugs to <bug-m4@gnu.org>.\n"
msgstr ""
-#: src/m4.c:368
+#: src/m4.c:388
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "Mauvais indicateurs de mise-au-point: «%s»"
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "ERREUR INTERNE: Mauvais code dans les arguments différés"
@@ -420,7 +424,17 @@ msgstr "ERREUR INTERNE: Mauvais type de symbole dans call_macro ()"
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr "ERREUR: Limite de récursion %d dépassée, la changer par -L<N>"
-#: src/module.c:206
+#: src/module.c:312
+#, fuzzy, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr "La fouille du chemin pour «%s» trouve «%s»"
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -445,16 +459,11 @@ msgstr "ERREUR: Pendant la lecture d'un fichier inséré"
msgid "Cannot stat diversion"
msgstr "Incapable d'opérer «stat» pour la diversion"
-#: src/path.c:170
+#: src/path.c:157
#, c-format
msgid "Path search for `%s' found `%s'"
msgstr "La fouille du chemin pour «%s» trouve «%s»"
-#: src/path.c:253
-#, fuzzy, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr "La fouille du chemin pour «%s» trouve «%s»"
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/po/it.gmo b/po/it.gmo
index 58cb2c0f..6f353644 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index ce9141fe..96911fcf 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"Version: \n"
"Date: 1995-06-30 21:00:12+0200\n"
"From: Ulrich Drepper <drepper@myware>\n"
@@ -12,103 +12,103 @@ msgstr ""
"Files: ../lib/regex.c ../lib/xmalloc.c\n"
"Update on Fri Jun 30 21:00:27 MET 1995 \n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr "Attenzione: Troppo pochi argomenti per la funzione predefinita `%s'"
-#: src/builtin.c:335
+#: src/builtin.c:343
#, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr ""
"Attenzione: Gli argumenti in eccesso alla funzione predefinita `%s' sono "
"ignorati"
-#: src/builtin.c:363
+#: src/builtin.c:371
#, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr "Argumento non numerico a funzione predefinita `%s'"
-#: src/builtin.c:474
+#: src/builtin.c:482
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr "ERRORE INTERNO: Tipo dato `token' errato in define_macro ()"
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, c-format
msgid "Undefined name %s"
msgstr "Nome `%s' non definito"
-#: src/builtin.c:697
+#: src/builtin.c:705
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr ""
-#: src/builtin.c:705
+#: src/builtin.c:713
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr ""
-#: src/builtin.c:756
+#: src/builtin.c:764
#, c-format
msgid "Undefined macro `%s'"
msgstr "Macro `%s' non definita"
-#: src/builtin.c:794
+#: src/builtin.c:802
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr "ERRORE INTERNO: Tipo simbolo errato in m4_defn ()"
-#: src/builtin.c:860
+#: src/builtin.c:868
#, c-format
msgid "Cannot open pipe to command `%s'"
msgstr "Impossibile aprire una `pipe' per il comando `%s'"
-#: src/builtin.c:897
+#: src/builtin.c:908
#, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr "Base fuori intervallo in `eval' (base = %d)"
-#: src/builtin.c:906
+#: src/builtin.c:917
msgid "Negative width to eval"
msgstr "Larghezza negativa in `eval'"
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, c-format
msgid "Non-numeric argument to %s"
msgstr "Argumento non numerico a %s"
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, c-format
msgid "Cannot undivert %s"
msgstr "Impossibile ripristinare la deviazione %s"
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, fuzzy, c-format
msgid "Undefined syntax code %c"
msgstr "Nome `%s' non definito"
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, c-format
msgid "Cannot open %s"
msgstr "Impossibile aprire %s"
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr "Modalità di debug: indicatori di debug errati: `%s'"
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, c-format
msgid "Cannot set error file: %s"
msgstr "Impossibile aprire l' archivio di errore: %s"
-#: src/builtin.c:1671
+#: src/builtin.c:1696
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr ""
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Espressione regolare errata `%s': %s"
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, c-format
msgid "Error matching regular expression `%s'"
msgstr "Errore nel confronto dell' espressione regolare `%s'"
@@ -121,49 +121,49 @@ msgstr ""
msgid "INTERNAL ERROR: Bad token data type (trace_pre ())"
msgstr ""
-#: src/eval.c:297
+#: src/eval.c:309
#, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr "Espressione errata in `eval' (manca la parentesi destra): %s"
-#: src/eval.c:303
+#: src/eval.c:315
#, c-format
msgid "Bad expression in eval: %s"
msgstr "Espressione errata in `eval': %s"
-#: src/eval.c:308
+#: src/eval.c:320
#, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr "Espressione errata in `eval' (testo errato): %s"
-#: src/eval.c:313
+#: src/eval.c:325
#, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr "Espressione errata in `eval' (testo in eccesso): %s"
-#: src/eval.c:318
+#: src/eval.c:330
#, c-format
msgid "Divide by zero in eval: %s"
msgstr "Divisione per zero in `eval': %s"
-#: src/eval.c:323
+#: src/eval.c:335
#, c-format
msgid "Modulo by zero in eval: %s"
msgstr "Modulo zero in `eval': %s"
-#: src/eval.c:328
+#: src/eval.c:340
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr "ERRORE INTERNO: Code di errore errato in evaluate ()"
-#: src/eval.c:582
+#: src/eval.c:594
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr ""
-#: src/eval.c:627
+#: src/eval.c:639
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr ""
-#: src/eval.c:726
+#: src/eval.c:738
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr "ERRORE INTERNO: Operatore errato in mult_term ()"
@@ -197,55 +197,55 @@ msgstr "Fine prematura dell' archivio congelato"
msgid "`%s' from frozen file not found in builtin table!"
msgstr ""
-#: src/input.c:315
+#: src/input.c:318
#, c-format
msgid "Input reverted to %s, line %d"
msgstr "Ingresso ripristinato su %s, linea %d"
-#: src/input.c:343
+#: src/input.c:346
#, c-format
msgid "Input read from %s"
msgstr "Errore di lettura da %s"
-#: src/input.c:503
+#: src/input.c:506
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr "ERRORE INTERNO: Utilizzo ricorsivo di push_string!"
-#: src/input.c:620
+#: src/input.c:623
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr "ERRORE INTERNO: Chiamata errata a init_macro_token ()"
-#: src/input.c:660
+#: src/input.c:663
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr "ERRORE INTERNO: Stack di ingresso corrotto in next_char ()"
-#: src/input.c:697
+#: src/input.c:700
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr "ERRORE INTERNO: Stack di ingresso corrotto in peek_input ()"
-#: src/input.c:800
+#: src/input.c:803
msgid "NONE"
msgstr "NESSUNO"
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
msgid "ERROR: EOF in string"
msgstr "ERRORE: Fine prematura di una stringa"
-#: src/m4.c:106
+#: src/m4.c:117
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr "ERRORE: Stack overflow. (Ricorsione infinita in `define'?)"
-#: src/m4.c:133
+#: src/m4.c:144
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Per ulteriori informazioni provare `%s --help'.\n"
-#: src/m4.c:137
+#: src/m4.c:148
#, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr "Usage: %s [OPZIONE]... [ARCHIVIO]...\n"
-#: src/m4.c:138
+#: src/m4.c:149
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
"for short options too.\n"
@@ -259,11 +259,11 @@ msgid ""
" -P, --prefix-builtins force a `m4_' prefix to all builtins\n"
msgstr ""
-#: src/m4.c:151
+#: src/m4.c:162
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr ""
-#: src/m4.c:155
+#: src/m4.c:166
msgid ""
"\n"
"Preprocessor features:\n"
@@ -273,7 +273,7 @@ msgid ""
" -s, --synclines generate `#line NO \"FILE\"' lines\n"
msgstr ""
-#: src/m4.c:163
+#: src/m4.c:174
msgid ""
"\n"
"Limits control:\n"
@@ -282,7 +282,7 @@ msgid ""
" -L, --nesting-limit=NUMBER change artificial nesting limit\n"
msgstr ""
-#: src/m4.c:170
+#: src/m4.c:181
msgid ""
"\n"
"Frozen state files:\n"
@@ -290,7 +290,7 @@ msgid ""
" -R, --reload-state=FILE reload a frozen state from FILE at start\n"
msgstr ""
-#: src/m4.c:176
+#: src/m4.c:187
msgid ""
"\n"
"Debugging:\n"
@@ -300,7 +300,7 @@ msgid ""
" -o, --error-output=FILE redirect debug and trace output\n"
msgstr ""
-#: src/m4.c:184
+#: src/m4.c:195
msgid ""
"\n"
"FLAGS is any of:\n"
@@ -317,24 +317,28 @@ msgid ""
" V shorthand for all of the above flags\n"
msgstr ""
-#: src/m4.c:199
+#: src/m4.c:210
msgid ""
"\n"
"If no FILE or if FILE is `-', standard input is read.\n"
msgstr ""
-#: src/m4.c:204
+#: src/m4.c:215
msgid ""
"\n"
"Report bugs to <bug-m4@gnu.org>.\n"
msgstr ""
-#: src/m4.c:368
+#: src/m4.c:388
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "Indicatori di debug errati: `%s'"
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "ERRORE INTERNO: Codice errato in argomenti differiti"
@@ -359,7 +363,17 @@ msgstr "ERRORE INTERNO: Tipo simbolo errato in call_macro ()"
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
-#: src/module.c:206
+#: src/module.c:312
+#, fuzzy, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr "La ricerca del percorso per `%s' ha trovato `%s'"
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -384,16 +398,11 @@ msgstr "ERRORE: Leggendo archivio inserito"
msgid "Cannot stat diversion"
msgstr "Impossibile effettuare la `stat' per la deviazione"
-#: src/path.c:170
+#: src/path.c:157
#, c-format
msgid "Path search for `%s' found `%s'"
msgstr "La ricerca del percorso per `%s' ha trovato `%s'"
-#: src/path.c:253
-#, fuzzy, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr "La ricerca del percorso per `%s' ha trovato `%s'"
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/po/ja.gmo b/po/ja.gmo
index 644d96df..4b0747eb 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 0bf3c998..bdcf6f6d 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: GNU m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"PO-Revision-Date: 1996-03-28 11:52 EST\n"
"Last-Translator: Akiko Matsushita <matusita@sra.co.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
@@ -13,101 +13,101 @@ msgstr ""
"Content-Type: text/plain; charset=EUC\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr "·Ù¹ð¡§%s ¤Ø¤Î°ú¿ô¤¬ÉÔ­¤·¤Æ¤¤¤Þ¤¹¡£"
-#: src/builtin.c:335
+#: src/builtin.c:343
#, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr "·Ù¹ð¡§%s ¤Ø¤Î°ú¿ô¤¬Â¿²á¤®¤Þ¤¹ (Ķ¤¨¤¿Ê¬¤Ï̵»ë¤µ¤ì¤Þ¤¹)¡£"
-#: src/builtin.c:363
+#: src/builtin.c:371
#, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr "`%s' ¤Ë¿ô»ú¤Ç¤Ê¤¤°ú¿ô¤¬ÅϤµ¤ì¤Æ¤¤¤Þ¤¹¡£"
-#: src/builtin.c:474
+#: src/builtin.c:482
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô define_macro () Æâ¤Î¥È¡¼¥¯¥ó¥Ç¡¼¥¿¤Î¼ïÎबÉÔÀµ¤Ç¤¹¡£"
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, c-format
msgid "Undefined name %s"
msgstr "`%s' ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
-#: src/builtin.c:697
+#: src/builtin.c:705
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr "ÆâÉô¥¨¥é¡¼¡§`Built-in' ¤È¤¤¤¦¥Ó¥ë¥È¥¤¥ó¥Þ¥¯¥í¤Ï¤¢¤ê¤Þ¤»¤ó¡£"
-#: src/builtin.c:705
+#: src/builtin.c:713
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô m4_dumpdef () ¤Î¥È¡¼¥¯¥ó¥Ç¡¼¥¿¤Î¼ïÎबÉÔÀµ¤Ç¤¹¡£"
-#: src/builtin.c:756
+#: src/builtin.c:764
#, c-format
msgid "Undefined macro `%s'"
msgstr "¥Þ¥¯¥í `%s' ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
-#: src/builtin.c:794
+#: src/builtin.c:802
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô m4_defn () Æâ¤Î¥·¥ó¥Ü¥ë¤Î¼ïÎबÉÔÀµ¤Ç¤¹¡£"
-#: src/builtin.c:860
+#: src/builtin.c:868
#, c-format
msgid "Cannot open pipe to command `%s'"
msgstr "¥³¥Þ¥ó¥É `%s' ¤Ø¤Î¥Ñ¥¤¥×¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£"
-#: src/builtin.c:897
+#: src/builtin.c:908
#, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr "eval ¤Î´ð¿ô ( %d ¿ÊË¡) ¤Î·å¿ô¤¬µöÍÆÈϰϳ°¤Ë¤¢¤ê¤Þ¤¹¡£"
-#: src/builtin.c:906
+#: src/builtin.c:917
msgid "Negative width to eval"
msgstr "eval ¤Î½ÐÎÏ·å¿ô¤¬Éé¿ô¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£"
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, c-format
msgid "Non-numeric argument to %s"
msgstr "`%s' ¤Ë¿ô»ú¤Ç¤Ê¤¤°ú¿ô¤¬ÅϤµ¤ì¤Æ¤¤¤Þ¤¹¡£"
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, c-format
msgid "Cannot undivert %s"
msgstr "`%s' ¤ò undivert ¤Ç¤­¤Þ¤»¤ó¡£"
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, fuzzy, c-format
msgid "Undefined syntax code %c"
msgstr "`%s' ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, c-format
msgid "Cannot open %s"
msgstr "`%s' ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£"
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr "debugmode ¥Þ¥¯¥í¤Ë¤ª¤¤¤Æ %s ¤ÏÉÔÀµ¤Ê¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£"
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, c-format
msgid "Cannot set error file: %s"
msgstr "`%s' ¤ò¥¨¥é¡¼¥í¥°¥Õ¥¡¥¤¥ë¤È¤·¤Æ¥»¥Ã¥È¤Ç¤­¤Þ¤»¤ó¡£"
-#: src/builtin.c:1671
+#: src/builtin.c:1696
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "·Ù¹ð¡§\\0 ¤Ïµì¼°¤ÎÍÑË¡¤Ç¤¹¡£\\& ¤òÂå¤ï¤ê¤Ë»È¤Ã¤Æ²¼¤µ¤¤¡£"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "`%s' : %s ¤Ï¡¢ÉÔÀµ¤ÊÀµµ¬É½¸½¤Ç¤¹¡£"
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, c-format
msgid "Error matching regular expression `%s'"
msgstr "Àµµ¬É½¸½ %s ¤Î¥Þ¥Ã¥Á¥ó¥°¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"
@@ -124,51 +124,51 @@ msgstr ""
"ÆâÉô¥¨¥é¡¼¡§¥È¡¼¥¯¥ó¥Ç¡¼¥¿¤Î¼ïÎबÉÔÀµ¤Ç¤¹¡£\n"
" (´Ø¿ô trace_pre () ¤¬¤³¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤Æ¤¤¤Þ¤¹¡£)"
-#: src/eval.c:297
+#: src/eval.c:309
#, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr "eval ¤Ç %s ¤È¤¤¤¦ÉÔÀµ¤Êɽ¸½¤¬ÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤¹ (ÊĤ¸³ç¸Ì¤¬¤¢¤ê¤Þ¤»¤ó)¡£"
-#: src/eval.c:303
+#: src/eval.c:315
#, c-format
msgid "Bad expression in eval: %s"
msgstr "eval ¤Ç %s ¤È¤¤¤¦ÉÔÀµ¤Ê¼°¤¬ÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤¹¡£"
-#: src/eval.c:308
+#: src/eval.c:320
#, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr ""
"eval ¤Ç `%s' ¤È¤¤¤¦ÉÔÀµ¤Êɽ¸½¤¬ÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤¹ \n"
" (ÆþÎϥǡ¼¥¿¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó)¡£"
-#: src/eval.c:313
+#: src/eval.c:325
#, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr "eval ¤Ç %s ¤È¤¤¤¦ÉÔÀµ¤Ê¼°¤¬ÍѤ¤¤é¤ì¤Æ¤¤¤Þ¤¹ (ÆþÎϥǡ¼¥¿¤¬Â¿²á¤®¤Þ¤¹)¡£"
-#: src/eval.c:318
+#: src/eval.c:330
#, c-format
msgid "Divide by zero in eval: %s"
msgstr "`%s' ¤È¤¤¤¦É½¸½¤Ç¡¢0 ¤Ë¤è¤ë³ä»»¤¬¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£"
-#: src/eval.c:323
+#: src/eval.c:335
#, c-format
msgid "Modulo by zero in eval: %s"
msgstr "`%s' ¤È¤¤¤¦ eval ¤Ç¡¢´ð¿ô¤¬ 0 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£"
-#: src/eval.c:328
+#: src/eval.c:340
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô evaluate () Æâ¤Î¥¨¥é¡¼¥³¡¼¥É¤¬ÉÔÀµ¤Ç¤¹¡£"
-#: src/eval.c:582
+#: src/eval.c:594
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô cmp_term () ¤ÎÈæ³Ó±é»»»Ò¤¬ÉÔÀµ¤Ç¤¹¡£"
-#: src/eval.c:627
+#: src/eval.c:639
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§shift_term () ¤Î¥·¥Õ¥È±é»»»Ò¤¬ÉÔÀµ¤Ç¤¹¡£"
-#: src/eval.c:726
+#: src/eval.c:738
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô mult_term () Æâ¤Î±é»»»Ò¤¬ÉÔÀµ¤Ç¤¹¡£"
@@ -203,57 +203,57 @@ msgstr "Åà·ë¥Õ¥¡¥¤¥ë¤Î EOF ¤¬Á᤯Íè²á¤®¤Æ¤¤¤Þ¤¹¡£"
msgid "`%s' from frozen file not found in builtin table!"
msgstr "Åà·ë¥Õ¥¡¥¤¥ë¤Î %s ¤Ï¥Ó¥ë¥È¥¤¥ó¥³¥Þ¥ó¥É¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£"
-#: src/input.c:315
+#: src/input.c:318
#, c-format
msgid "Input reverted to %s, line %d"
msgstr "¥Õ¥¡¥¤¥ë %s, %d ¹ÔÌܤ«¤éÆþÎϤ·Ä¾¤·¤Þ¤¹¡£"
-#: src/input.c:343
+#: src/input.c:346
#, c-format
msgid "Input read from %s"
msgstr "%s ¤«¤é¤ÎÆþÎϤòÆɤ߹þ¤ß¤Þ¤¹¡£"
-#: src/input.c:503
+#: src/input.c:506
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr "ÆâÉô¥¨¥é¡¼¡§ºÆµ¢Åª¤Ëʸ»úÎó¤ò push ¤·¤Æ¤¤¤Þ¤¹¡£"
-#: src/input.c:620
+#: src/input.c:623
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô init_macro_token () ¤¬ÉÔÀµ¤Ë¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹¡£"
-#: src/input.c:660
+#: src/input.c:663
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô next_char () Æâ¤Ç¥¹¥¿¥Ã¥¯¤ÎÆþÎϤ˼ºÇÔ¤·¤Æ¤¤¤Þ¤¹¡£"
-#: src/input.c:697
+#: src/input.c:700
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô peek_input () Æâ¤Ç¥¹¥¿¥Ã¥¯¤ÎÆþÎϤ˼ºÇÔ¤·¤Æ¤¤¤Þ¤¹¡£"
-#: src/input.c:800
+#: src/input.c:803
msgid "NONE"
msgstr "¤Ê¤·"
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
msgid "ERROR: EOF in string"
msgstr "¥¨¥é¡¼: ʸ»úÎóÆâ¤Ë¥Õ¥¡¥¤¥ë¤Î½ªÃ¼µ­¹æ¤¬¤¢¤ê¤Þ¤¹¡£"
-#: src/m4.c:106
+#: src/m4.c:117
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr ""
"¥¨¥é¡¼: ¥¹¥¿¥Ã¥¯¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤òµ¯¤³¤·¤Æ¤¤¤Þ¤¹¡£\n"
" (̵¸Â¤ËºÆµ¢ÅªÄêµÁ¤ò¤·¤Æ¤¤¤Þ¤»¤ó¤«¡©)"
-#: src/m4.c:133
+#: src/m4.c:144
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "¾Ü¤·¤¯¤Ï `%s --help' ¤Î½ÐÎϤò¸æÍ÷²¼¤µ¤¤¡£\n"
-#: src/m4.c:137
+#: src/m4.c:148
#, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr "»ÈÍÑÊýË¡: %s [¥ª¥×¥·¥ç¥ó]...[¥Õ¥¡¥¤¥ë̾]\n"
-#: src/m4.c:138
+#: src/m4.c:149
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
"for short options too.\n"
@@ -279,13 +279,13 @@ msgstr ""
" -P, --prefix-builtins Á´¤Æ¤Î¥Ó¥ë¥È¥¤¥ó¥Þ¥¯¥í¤Ë `m4_' ¤È¤¤¤¦ÀÜƬ¼­¤ò "
" ¶¯À©Åª¤ËÄɲä·¤Þ¤¹¡£\n"
-#: src/m4.c:151
+#: src/m4.c:162
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr ""
"-W, --word-regexp=REGEXP ¥Þ¥¯¥í̾¤Î¥·¥ó¥¿¥Ã¥¯¥¹¤Ë REGEXP ¤ò "
" Àµµ¬É½¸½¤È¤·¤ÆÍѤ¤¤Þ¤¹¡£\n"
-#: src/m4.c:155
+#: src/m4.c:166
#, fuzzy
msgid ""
"\n"
@@ -305,7 +305,7 @@ msgstr ""
" -U, --undefine=NAME NAME ¤ÎÄêµÁ¤ò¼è¤ê¾Ã¤·¤Þ¤¹¡£\n"
" -s, --synclines ¹ÔÈÖ¹æ¤È¥Õ¥¡¥¤¥ë̾¤Î¹Ô¤òÀ¸À®¤·¤Þ¤¹¡£\n"
-#: src/m4.c:163
+#: src/m4.c:174
msgid ""
"\n"
"Limits control:\n"
@@ -321,7 +321,7 @@ msgstr ""
" -L, --nesting-limit=NUNBER "
"¥Þ¥¯¥í¤Î¥Í¥¹¥È²ó¿ô¤Î¾å¸ÂÃͤò¿Í°ÙŪ¤ËÊѹ¹¤·¤Þ¤¹¡£\n"
-#: src/m4.c:170
+#: src/m4.c:181
msgid ""
"\n"
"Frozen state files:\n"
@@ -334,7 +334,7 @@ msgstr ""
" -R, --reload-state=FILE ºÇ½é¤Ë»ØÄꤵ¤ì¤¿ FILE ¤«¤é\n"
" Åà·ë¤µ¤ì¤¿ÄêµÁ¤ò¥í¡¼¥É¤·¤Þ¤¹\n"
-#: src/m4.c:176
+#: src/m4.c:187
msgid ""
"\n"
"Debugging:\n"
@@ -352,7 +352,7 @@ msgstr ""
" -o, --error-output=FILE ¥Ç¥Ð¥Ã¥°¤È¥È¥ì¡¼¥¹¤Î½ÐÎϤò FILE ¤Ë\n"
" ¥ê¥À¥¤¥ì¥¯¥È¤·¤Þ¤¹¡£\n"
-#: src/m4.c:184
+#: src/m4.c:195
msgid ""
"\n"
"FLAGS is any of:\n"
@@ -384,7 +384,7 @@ msgstr ""
" i ÆþÎÏ¥Õ¥¡¥¤¥ë¤ËÀ¸¤¸¤¿ÊѲ½¤òɽ¼¨¤·¤Þ¤¹¡£\n"
" V ¾åµ­¤ÎÁ´¤Æ¤Î FLAG ¤ò»ØÄꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£\n"
-#: src/m4.c:199
+#: src/m4.c:210
msgid ""
"\n"
"If no FILE or if FILE is `-', standard input is read.\n"
@@ -393,18 +393,22 @@ msgstr ""
"FILE ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ª¤è¤Ó»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬ `-' ¤Î¾ì¹ç¤Ï\n"
" ɸ½àÆþÎϤ¬Æɤ߹þ¤Þ¤ì¤Þ¤¹¡£\n"
-#: src/m4.c:204
+#: src/m4.c:215
msgid ""
"\n"
"Report bugs to <bug-m4@gnu.org>.\n"
msgstr ""
-#: src/m4.c:368
+#: src/m4.c:388
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "`%s' ¤ÏÉÔÀµ¤Ê¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó°ú¿ô¤Ç¤¹¡£"
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "ÆâÉô¥¨¥é¡¼¡§¥ª¥×¥·¥ç¥ó¤Î¸å½èÍý¤Ç¡¢ÉÔÀµ¥³¡¼¥É¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£"
@@ -431,7 +435,17 @@ msgstr ""
"¥¨¥é¡¼¡§ºÆµ¢ÅªÄêµÁ¤Î¥Í¥¹¥È¤¬»ØÄꤵ¤ì¤¿ÃÍ %d ¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£\n"
" -L<¿ô»ú> ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¥Í¥¹¥È¿ô¤Î¾å¸Â¤òÁý¤ä¤·¤Æ²¼¤µ¤¤¡£"
-#: src/module.c:206
+#: src/module.c:312
+#, fuzzy, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr "`%s' ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤«¤é `%s' ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤Þ¤·¤¿¡£"
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -458,16 +472,11 @@ msgstr ""
"divert ¤Î¤¿¤á¤Î¥Õ¥¡¥¤¥ë¤Î¥¹¥Æ¡¼¥¿¥¹¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£\n"
" (stat ¤Ç¤­¤Þ¤»¤ó¡£)"
-#: src/path.c:170
+#: src/path.c:157
#, c-format
msgid "Path search for `%s' found `%s'"
msgstr "`%s' ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤«¤é `%s' ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤Þ¤·¤¿¡£"
-#: src/path.c:253
-#, fuzzy, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr "`%s' ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤«¤é `%s' ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤Þ¤·¤¿¡£"
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/po/m4.pot b/po/m4.pot
index 9e441688..e41b4572 100644
--- a/po/m4.pot
+++ b/po/m4.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,101 +14,101 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr ""
-#: src/builtin.c:335
+#: src/builtin.c:343
#, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr ""
-#: src/builtin.c:363
+#: src/builtin.c:371
#, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr ""
-#: src/builtin.c:474
+#: src/builtin.c:482
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr ""
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, c-format
msgid "Undefined name %s"
msgstr ""
-#: src/builtin.c:697
+#: src/builtin.c:705
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr ""
-#: src/builtin.c:705
+#: src/builtin.c:713
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr ""
-#: src/builtin.c:756
+#: src/builtin.c:764
#, c-format
msgid "Undefined macro `%s'"
msgstr ""
-#: src/builtin.c:794
+#: src/builtin.c:802
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr ""
-#: src/builtin.c:860
+#: src/builtin.c:868
#, c-format
msgid "Cannot open pipe to command `%s'"
msgstr ""
-#: src/builtin.c:897
+#: src/builtin.c:908
#, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr ""
-#: src/builtin.c:906
+#: src/builtin.c:917
msgid "Negative width to eval"
msgstr ""
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, c-format
msgid "Non-numeric argument to %s"
msgstr ""
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, c-format
msgid "Cannot undivert %s"
msgstr ""
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, c-format
msgid "Undefined syntax code %c"
msgstr ""
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, c-format
msgid "Cannot open %s"
msgstr ""
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr ""
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, c-format
msgid "Cannot set error file: %s"
msgstr ""
-#: src/builtin.c:1671
+#: src/builtin.c:1696
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr ""
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr ""
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, c-format
msgid "Error matching regular expression `%s'"
msgstr ""
@@ -121,49 +121,49 @@ msgstr ""
msgid "INTERNAL ERROR: Bad token data type (trace_pre ())"
msgstr ""
-#: src/eval.c:297
+#: src/eval.c:309
#, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr ""
-#: src/eval.c:303
+#: src/eval.c:315
#, c-format
msgid "Bad expression in eval: %s"
msgstr ""
-#: src/eval.c:308
+#: src/eval.c:320
#, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr ""
-#: src/eval.c:313
+#: src/eval.c:325
#, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr ""
-#: src/eval.c:318
+#: src/eval.c:330
#, c-format
msgid "Divide by zero in eval: %s"
msgstr ""
-#: src/eval.c:323
+#: src/eval.c:335
#, c-format
msgid "Modulo by zero in eval: %s"
msgstr ""
-#: src/eval.c:328
+#: src/eval.c:340
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr ""
-#: src/eval.c:582
+#: src/eval.c:594
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr ""
-#: src/eval.c:627
+#: src/eval.c:639
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr ""
-#: src/eval.c:726
+#: src/eval.c:738
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr ""
@@ -197,55 +197,55 @@ msgstr ""
msgid "`%s' from frozen file not found in builtin table!"
msgstr ""
-#: src/input.c:315
+#: src/input.c:318
#, c-format
msgid "Input reverted to %s, line %d"
msgstr ""
-#: src/input.c:343
+#: src/input.c:346
#, c-format
msgid "Input read from %s"
msgstr ""
-#: src/input.c:503
+#: src/input.c:506
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr ""
-#: src/input.c:620
+#: src/input.c:623
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr ""
-#: src/input.c:660
+#: src/input.c:663
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr ""
-#: src/input.c:697
+#: src/input.c:700
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr ""
-#: src/input.c:800
+#: src/input.c:803
msgid "NONE"
msgstr ""
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
msgid "ERROR: EOF in string"
msgstr ""
-#: src/m4.c:106
+#: src/m4.c:117
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr ""
-#: src/m4.c:133
+#: src/m4.c:144
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
-#: src/m4.c:137
+#: src/m4.c:148
#, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr ""
-#: src/m4.c:138
+#: src/m4.c:149
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
"for short options too.\n"
@@ -259,11 +259,11 @@ msgid ""
" -P, --prefix-builtins force a `m4_' prefix to all builtins\n"
msgstr ""
-#: src/m4.c:151
+#: src/m4.c:162
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr ""
-#: src/m4.c:155
+#: src/m4.c:166
msgid ""
"\n"
"Preprocessor features:\n"
@@ -273,7 +273,7 @@ msgid ""
" -s, --synclines generate `#line NO \"FILE\"' lines\n"
msgstr ""
-#: src/m4.c:163
+#: src/m4.c:174
msgid ""
"\n"
"Limits control:\n"
@@ -282,7 +282,7 @@ msgid ""
" -L, --nesting-limit=NUMBER change artificial nesting limit\n"
msgstr ""
-#: src/m4.c:170
+#: src/m4.c:181
msgid ""
"\n"
"Frozen state files:\n"
@@ -290,7 +290,7 @@ msgid ""
" -R, --reload-state=FILE reload a frozen state from FILE at start\n"
msgstr ""
-#: src/m4.c:176
+#: src/m4.c:187
msgid ""
"\n"
"Debugging:\n"
@@ -300,7 +300,7 @@ msgid ""
" -o, --error-output=FILE redirect debug and trace output\n"
msgstr ""
-#: src/m4.c:184
+#: src/m4.c:195
msgid ""
"\n"
"FLAGS is any of:\n"
@@ -317,24 +317,28 @@ msgid ""
" V shorthand for all of the above flags\n"
msgstr ""
-#: src/m4.c:199
+#: src/m4.c:210
msgid ""
"\n"
"If no FILE or if FILE is `-', standard input is read.\n"
msgstr ""
-#: src/m4.c:204
+#: src/m4.c:215
msgid ""
"\n"
"Report bugs to <bug-m4@gnu.org>.\n"
msgstr ""
-#: src/m4.c:368
+#: src/m4.c:388
#, c-format
msgid "Bad debug flags: `%s'"
msgstr ""
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr ""
@@ -359,7 +363,17 @@ msgstr ""
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
-#: src/module.c:206
+#: src/module.c:312
+#, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr ""
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -384,16 +398,11 @@ msgstr ""
msgid "Cannot stat diversion"
msgstr ""
-#: src/path.c:170
+#: src/path.c:157
#, c-format
msgid "Path search for `%s' found `%s'"
msgstr ""
-#: src/path.c:253
-#, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr ""
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/po/nl.gmo b/po/nl.gmo
index 5cd36708..6cfd3a65 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 46b04eff..dbe1e72b 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4d\n"
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"PO-Revision-Date: 1998-05-23 09:27+02:00\n"
"Last-Translator: Erick Branderhorst <Erick.Branderhorst@asml.nl>\n"
"Language-Team: dutch <nl@li.org>\n"
@@ -13,102 +13,102 @@ msgstr ""
"Content-Type: text/plain; charset=\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr "Let op: Te weinig argument voor ingebouwde functie `%s'"
-#: src/builtin.c:335
+#: src/builtin.c:343
#, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr ""
"Let op: Overbodige argumenten voor ingebouwde functie `%s' worden genegeerd"
-#: src/builtin.c:363
+#: src/builtin.c:371
#, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr "Niet numeriek argument voor ingebouwde functie `%s'"
-#: src/builtin.c:474
+#: src/builtin.c:482
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr "INTERNE FOUT: Onjuist teken data type in define_macro ()"
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, c-format
msgid "Undefined name %s"
msgstr "Ongedefinieerde naam %s"
-#: src/builtin.c:697
+#: src/builtin.c:705
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr "INTERNE FOUT: Ingebouwde functie niet gevonden in functie tabel!"
-#: src/builtin.c:705
+#: src/builtin.c:713
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr "INTERNE FOUT: Onjuist teken data type in m4_dumpdef ()"
-#: src/builtin.c:756
+#: src/builtin.c:764
#, c-format
msgid "Undefined macro `%s'"
msgstr "Ongedefinieerde macro `%s'"
-#: src/builtin.c:794
+#: src/builtin.c:802
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr "INTERNE FOUT: Onjuist symbool type in m4_defn ()"
-#: src/builtin.c:860
+#: src/builtin.c:868
#, c-format
msgid "Cannot open pipe to command `%s'"
msgstr "Kan geen pijp openen voor commando `%s'"
-#: src/builtin.c:897
+#: src/builtin.c:908
#, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr "Radix in evaluatie buiten bereik (radix = %d)"
-#: src/builtin.c:906
+#: src/builtin.c:917
msgid "Negative width to eval"
msgstr "Negatieve breedte te evalueren"
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, c-format
msgid "Non-numeric argument to %s"
msgstr "Niet numeriek argument voor %s"
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, c-format
msgid "Cannot undivert %s"
msgstr "Cannot undivert %s"
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, c-format
msgid "Undefined syntax code %c"
msgstr "Ongedefinieerde syntax code %c"
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, c-format
msgid "Cannot open %s"
msgstr "Kan %s niet openen"
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr "Debugmode: onjuiste debug vlaggen: `%s'"
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, c-format
msgid "Cannot set error file: %s"
msgstr "Kan fout bestand niet instellen: %s"
-#: src/builtin.c:1671
+#: src/builtin.c:1696
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "LET OP: \\0 zal verdwijnen, gebruik hiervoor \\& als vervanging"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Onjuiste reguliere expressie `%s': %s"
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, c-format
msgid "Error matching regular expression `%s'"
msgstr "Fout overeenkomen reguliere expressies `%s'"
@@ -123,49 +123,49 @@ msgstr ""
msgid "INTERNAL ERROR: Bad token data type (trace_pre ())"
msgstr "INTERNE FOUT: Onjuiste teken data type (trace_pre ())"
-#: src/eval.c:297
+#: src/eval.c:309
#, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr "Onjuiste expressie in evaluatie (ontbrekend rechter haakje): %s"
-#: src/eval.c:303
+#: src/eval.c:315
#, c-format
msgid "Bad expression in eval: %s"
msgstr "Onjuist expressie in evaluatie: %s"
-#: src/eval.c:308
+#: src/eval.c:320
#, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr "Onjuist expressie in evaluatie (onjuiste invoer): %s"
-#: src/eval.c:313
+#: src/eval.c:325
#, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr "Onjuist expressie in evaluatie (te veel invoer): %s"
-#: src/eval.c:318
+#: src/eval.c:330
#, c-format
msgid "Divide by zero in eval: %s"
msgstr "Delen door nul in evaluatie: %s"
-#: src/eval.c:323
+#: src/eval.c:335
#, c-format
msgid "Modulo by zero in eval: %s"
msgstr "Modulo door nul in evaluatie: %s"
-#: src/eval.c:328
+#: src/eval.c:340
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr "INTERNE FOUT: Onjuiste fout code in evaluate ()"
-#: src/eval.c:582
+#: src/eval.c:594
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr "INTERNE FOUT: Onjuiste vergelijkings operator in cmp_term ()"
-#: src/eval.c:627
+#: src/eval.c:639
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr "INTERNE FOUT: Onjuiste schuif operator in shift_term ()"
-#: src/eval.c:726
+#: src/eval.c:738
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr "INTERNE FOUT: Onjuiste operator in mult_term ()"
@@ -199,55 +199,55 @@ msgstr "Voorbarig einde van gefixeerd bestand"
msgid "`%s' from frozen file not found in builtin table!"
msgstr "`%s' van gefixeerd bestand niet gevonden in functie tabel!"
-#: src/input.c:315
+#: src/input.c:318
#, c-format
msgid "Input reverted to %s, line %d"
msgstr "Invoer reverted naar %s, lijn %d"
-#: src/input.c:343
+#: src/input.c:346
#, c-format
msgid "Input read from %s"
msgstr "Invoer gelezen vanuit %s"
-#: src/input.c:503
+#: src/input.c:506
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr "INTERNE FOUT: Recursieve push_string!"
-#: src/input.c:620
+#: src/input.c:623
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr "INTERNE FOUT: Onjuiste aanroep naar init_macro_token ()"
-#: src/input.c:660
+#: src/input.c:663
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr "INTERNE FOUT: Invoer stapel botch in next_char ()"
-#: src/input.c:697
+#: src/input.c:700
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr "INTERNE FOUT: Invoer stapel botch in peek_input ()"
-#: src/input.c:800
+#: src/input.c:803
msgid "NONE"
msgstr "GEEN"
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
msgid "ERROR: EOF in string"
msgstr "FOUT: Einde van bestand teken in string"
-#: src/m4.c:106
+#: src/m4.c:117
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr "FOUT: Stapel overflow. (Infinite define recursion?)"
-#: src/m4.c:133
+#: src/m4.c:144
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Probeer `%s --help' voor meer informatie.\n"
-#: src/m4.c:137
+#: src/m4.c:148
#, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n"
-#: src/m4.c:138
+#: src/m4.c:149
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
"for short options too.\n"
@@ -273,11 +273,11 @@ msgstr ""
" -P, --prefix-builtins forceer een `m4_' voorvoegsel voor alle \n"
" ingebouwde functies\n"
-#: src/m4.c:151
+#: src/m4.c:162
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr " -W, --word-regexp=REGEXP gebruik REGEXP voor macro naam syntax\n"
-#: src/m4.c:155
+#: src/m4.c:166
#, fuzzy
msgid ""
"\n"
@@ -296,7 +296,7 @@ msgstr ""
" -U, --undefine=NAME verwijder ingebouwde functie NAME\n"
" -s, --synclines genereer `#line NO \"FILE\"' regel\n"
-#: src/m4.c:163
+#: src/m4.c:174
msgid ""
"\n"
"Limits control:\n"
@@ -310,7 +310,7 @@ msgstr ""
" -H, --hashsize=PRIME stel symbolen opzoek hash tabel grootte\n"
" -L, --nesting-limit=NUMBER verander kunstmatige nesting limiet\n"
-#: src/m4.c:170
+#: src/m4.c:181
msgid ""
"\n"
"Frozen state files:\n"
@@ -324,7 +324,7 @@ msgstr ""
" -R, --reload-state=FILE herlaad een gefixeerde staat van BESTAND\n"
" aan het begin\n"
-#: src/m4.c:176
+#: src/m4.c:187
msgid ""
"\n"
"Debugging:\n"
@@ -341,7 +341,7 @@ msgstr ""
" -l, --arglength=NUM restrict macro traceer grootte\n"
" -o, --error-output=FILE redirect debug en traceer uitvoer\n"
-#: src/m4.c:184
+#: src/m4.c:195
msgid ""
"\n"
"FLAGS is any of:\n"
@@ -371,7 +371,7 @@ msgstr ""
" i show changes in input files\n"
" V shorthand for all of the above flags\n"
-#: src/m4.c:199
+#: src/m4.c:210
msgid ""
"\n"
"If no FILE or if FILE is `-', standard input is read.\n"
@@ -379,7 +379,7 @@ msgstr ""
"\n"
"Als geen BESTAND of als BESTAND `-' is, standaard invoer wordt gelezen.\n"
-#: src/m4.c:204
+#: src/m4.c:215
#, fuzzy
msgid ""
"\n"
@@ -388,12 +388,16 @@ msgstr ""
"\n"
"Meld fouten via <m4-bugs@gnu.org>.\n"
-#: src/m4.c:368
+#: src/m4.c:388
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "Onjuiste debug vlaggen: `%s'"
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "INTERNE FOUT: Onjuiste code in afgeleide argumenten"
@@ -419,7 +423,17 @@ msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
"FOUT: Recursie limiet of %d overschreden, gebruik -L<N> om dit te wijzigen"
-#: src/module.c:206
+#: src/module.c:312
+#, fuzzy, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr "Zoeken naar `%s' via PATH levert `%s'"
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -444,16 +458,11 @@ msgstr "FOUT: Lezen ingevoegd bestand"
msgid "Cannot stat diversion"
msgstr "Cannot stat diversion"
-#: src/path.c:170
+#: src/path.c:157
#, c-format
msgid "Path search for `%s' found `%s'"
msgstr "Zoeken naar `%s' via PATH levert `%s'"
-#: src/path.c:253
-#, fuzzy, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr "Zoeken naar `%s' via PATH levert `%s'"
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/po/pl.gmo b/po/pl.gmo
index fea548da..33fb0a5f 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index a667050c..62d59ae2 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"PO-Revision-Date: 1998-08-05 17:30+0200\n"
"Last-Translator: Rafa³ Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <pl@li.org>\n"
@@ -13,101 +13,101 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr "Uwaga: Za ma³o argumentów dla wbodowanego `%s'"
-#: src/builtin.c:335
+#: src/builtin.c:343
#, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr "Uwaga: Nadmiarowe argumenty do built-in `%s' zosta³y zignorowane"
-#: src/builtin.c:363
+#: src/builtin.c:371
#, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr "Nienumeryczny argument do built-in `%s'"
-#: src/builtin.c:474
+#: src/builtin.c:482
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr "B£¡D WEWNÊTRZNY: Z³y typ danych tokenu w define_macro ()"
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, c-format
msgid "Undefined name %s"
msgstr "Niezdefiniowana nazwa %s"
-#: src/builtin.c:697
+#: src/builtin.c:705
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr "B£¡D WEWNÊTRZNY: Wbudowane nie znalezione w tablicy wbudowanych!"
-#: src/builtin.c:705
+#: src/builtin.c:713
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr "B£¡D WEWNÊTRZNY: Z³y typ danych tokenu w m4_dumpref ()"
-#: src/builtin.c:756
+#: src/builtin.c:764
#, c-format
msgid "Undefined macro `%s'"
msgstr "Niezdefiniowane makro `%s'"
-#: src/builtin.c:794
+#: src/builtin.c:802
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr "B£¡D WEWNETRZNY: Z³y typ symbolu w m4_defn ()"
-#: src/builtin.c:860
+#: src/builtin.c:868
#, c-format
msgid "Cannot open pipe to command `%s'"
msgstr "Nie mogê otworzyæ potoku do komendy `%s'"
-#: src/builtin.c:897
+#: src/builtin.c:908
#, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr "Baza w eval poza zakresem (radix = %d)"
-#: src/builtin.c:906
+#: src/builtin.c:917
msgid "Negative width to eval"
msgstr "Ujemna d³ugo¶æ w eval"
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, c-format
msgid "Non-numeric argument to %s"
msgstr "Nienumeryczny argument dla %s"
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, c-format
msgid "Cannot undivert %s"
msgstr "Nie mogê przetowrzyæ z powrotem %s"
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, fuzzy, c-format
msgid "Undefined syntax code %c"
msgstr "Niezdefiniowana nazwa %s"
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, c-format
msgid "Cannot open %s"
msgstr "Nie mogê otworzyæ %s"
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr "Tryb debugowania: z³e flagi debugowania: `%s'"
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, c-format
msgid "Cannot set error file: %s"
msgstr "Nie mogê ustawiæ pliku b³êdów: %s"
-#: src/builtin.c:1671
+#: src/builtin.c:1696
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "UWAGA: \\0 zniknie, w podstawieniach u¿yj zamiast tego \\&"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "B³êdne wyra¿enie regularne `%s': %s"
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, c-format
msgid "Error matching regular expression `%s'"
msgstr "B³±d dopasowania do wyra¿enia regularnego `%s'"
@@ -122,49 +122,49 @@ msgstr ""
msgid "INTERNAL ERROR: Bad token data type (trace_pre ())"
msgstr "B£¡D WEWNÊTRZNY: Z³y typ danych tokenu (trace_pre ())"
-#: src/eval.c:297
+#: src/eval.c:309
#, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr "B³êdne wyra¿enie w eval (brakuj±cy prawy nawias): %s"
-#: src/eval.c:303
+#: src/eval.c:315
#, c-format
msgid "Bad expression in eval: %s"
msgstr "B³êdne wyra¿enie w eval: %s"
-#: src/eval.c:308
+#: src/eval.c:320
#, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr "B³êdne wyra¿enie w eval (z³e dane wej¶ciowe): %s"
-#: src/eval.c:313
+#: src/eval.c:325
#, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr "B³êdne wyra¿enie w eval (nadmiarowe dane): %s"
-#: src/eval.c:318
+#: src/eval.c:330
#, c-format
msgid "Divide by zero in eval: %s"
msgstr "Dzielenie przez zero w eval: %s"
-#: src/eval.c:323
+#: src/eval.c:335
#, c-format
msgid "Modulo by zero in eval: %s"
msgstr "Modulo zero w eval: %s"
-#: src/eval.c:328
+#: src/eval.c:340
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr "B£¡D WEWNÊTRZNY: B³êdny kod b³êdu w evaluate ()"
-#: src/eval.c:582
+#: src/eval.c:594
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr "B£¡D WEWNÊTRZNY: B³êdny operator porównania w cmp_term ()"
-#: src/eval.c:627
+#: src/eval.c:639
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr "B£¡D WEWNÊTRZNY: B³êdny operator przesuniêcia w shift_term ()"
-#: src/eval.c:726
+#: src/eval.c:738
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr "B£¡D WEWNÊTRZNY: B³êdny opertaotr w mult_term ()"
@@ -198,55 +198,55 @@ msgstr "Przedwczesny koniec pliku zamro¿onego"
msgid "`%s' from frozen file not found in builtin table!"
msgstr "`%s' z pliku zamro¿onego nie znalezione w tablicy wbudowanych!"
-#: src/input.c:315
+#: src/input.c:318
#, c-format
msgid "Input reverted to %s, line %d"
msgstr "Dane wej¶ciowe wycofane do %s, linia %d"
-#: src/input.c:343
+#: src/input.c:346
#, c-format
msgid "Input read from %s"
msgstr "Dane wej¶ciowe przeczytane z %s"
-#: src/input.c:503
+#: src/input.c:506
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr "B£¡D WEWNÊTRZNY: Rekursywny push_string!"
-#: src/input.c:620
+#: src/input.c:623
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr "B£¡D WEWNÊTRZNY: B³êdne wywo³anie init_macro_token ()"
-#: src/input.c:660
+#: src/input.c:663
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr "B£¡D WEWNÊTRZNY: B³±d stosu wej¶ciowego w next_char ()"
-#: src/input.c:697
+#: src/input.c:700
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr "B£¡D WEWNÊTRZNY: B³±d stosu wej¶ciowego w peek_input ()"
-#: src/input.c:800
+#: src/input.c:803
msgid "NONE"
msgstr "¯ADEN"
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
msgid "ERROR: EOF in string"
msgstr "B£¡D: EOF w ³añcuchu"
-#: src/m4.c:106
+#: src/m4.c:117
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr "B£¡D: Przepe³nienie stosu. (Nieskoñczona rekursja definicji?)"
-#: src/m4.c:133
+#: src/m4.c:144
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Spróbuj `%s --help' ¿eby dowiedzieæ siê wiêcej.\n"
-#: src/m4.c:137
+#: src/m4.c:148
#, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr "U¿ycie: %s [OPCJA]... [PLIK]...\n"
-#: src/m4.c:138
+#: src/m4.c:149
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
"for short options too.\n"
@@ -272,11 +272,11 @@ msgstr ""
" -P, --prefix-builtins dodaj zawsze `m4_' przez wszystkimi "
"wbudowanymi\n"
-#: src/m4.c:151
+#: src/m4.c:162
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr " -W, --word-regexp=WYR_REGUL u¿yj WYR_REGUL w sk³adni nazw makr\n"
-#: src/m4.c:155
+#: src/m4.c:166
msgid ""
"\n"
"Preprocessor features:\n"
@@ -292,7 +292,7 @@ msgstr ""
" -U, --undefine=NAZWA skasuj wbudowan± NAZWÊ\n"
" -s, --synclines generuj linie `#line NR \"PLIK\"\n"
-#: src/m4.c:163
+#: src/m4.c:174
msgid ""
"\n"
"Limits control:\n"
@@ -307,7 +307,7 @@ msgstr ""
"symboli\n"
" -L, --nesting-limit=LICZBA zmieñ sztuczny limit zag³ebieñ\n"
-#: src/m4.c:170
+#: src/m4.c:181
msgid ""
"\n"
"Frozen state files:\n"
@@ -319,7 +319,7 @@ msgstr ""
" -F, --freeze-state=PLIK zapisz zamro¿ony PLIK stanu na koñcu\n"
" -R, --reload-state=PLIK za³aduj zamro¿ony PLIK stanu na pocz±tku\n"
-#: src/m4.c:176
+#: src/m4.c:187
msgid ""
"\n"
"Debugging:\n"
@@ -335,7 +335,7 @@ msgstr ""
" -l, --arglength=ILE ogranicz rozmiar ¶ledzenia makr\n"
" -o, --error-output=PLIK przekieruj wyniki debugowania i ¶ledzenia\n"
-#: src/m4.c:184
+#: src/m4.c:195
msgid ""
"\n"
"FLAGS is any of:\n"
@@ -365,7 +365,7 @@ msgstr ""
" i poka¿ zmiany plików wej¶ciowych\n"
" V skrót do wszystkich powy¿szych flag\n"
-#: src/m4.c:199
+#: src/m4.c:210
msgid ""
"\n"
"If no FILE or if FILE is `-', standard input is read.\n"
@@ -373,18 +373,22 @@ msgstr ""
"\n"
"Je¿eli brak PLIKu lub PLIK to `-', czytane jest std. wej¶cie.\n"
-#: src/m4.c:204
+#: src/m4.c:215
msgid ""
"\n"
"Report bugs to <bug-m4@gnu.org>.\n"
msgstr ""
-#: src/m4.c:368
+#: src/m4.c:388
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "B³êdne flagi debugowania: `%s'"
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "B£¡D WEWNÊTRZNY: B³êdny kod w od³o¿onych argumentach"
@@ -409,7 +413,17 @@ msgstr "B£¡D WEWNÊTRZNY: B³êdny symbol w call_macro ()"
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr "B£¡D: Osi±gniêty limit rekursji %d, u¿yj -L<N> ¿eby go zmieniæ"
-#: src/module.c:206
+#: src/module.c:312
+#, fuzzy, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr "Przeszukanie ¶cie¿ki dla `%s' znalaz³o `%s'"
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -434,16 +448,11 @@ msgstr "B£¡D: Czytanie w³o¿onego pliku"
msgid "Cannot stat diversion"
msgstr "Nie mogê zrobiæ stat na danych przetwarzanych"
-#: src/path.c:170
+#: src/path.c:157
#, c-format
msgid "Path search for `%s' found `%s'"
msgstr "Przeszukanie ¶cie¿ki dla `%s' znalaz³o `%s'"
-#: src/path.c:253
-#, fuzzy, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr "Przeszukanie ¶cie¿ki dla `%s' znalaz³o `%s'"
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/po/ru.gmo b/po/ru.gmo
index 2e7f4395..234e432d 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index bf9ea582..dd98b8c5 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"PO-Revision-Date: 1997-07-12 20:58\n"
"Last-Translator: Denis Y. Pershin <dyp@siblug.org>\n"
"Language-Team: Russian <ru@li.org>\n"
@@ -12,103 +12,103 @@ msgstr ""
"Content-Type: text/plain; charset=koi8-r\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: óÌÉÛËÏÍ ÍÁÌÏ ÁÒÇÕÍÅÎÔÏ× ÄÌÑ ×ÓÔÒÏÅÎÎÏÊ ÌÅËÓÅÍÙ '%s'"
-#: src/builtin.c:335
+#: src/builtin.c:343
#, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr ""
"ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: éÚÂÙÔÏÞÎÙÅ ÁÒÇÕÍÅÎÔÙ ÄÌÑ ×ÓÔÒÏÅÎÎÏÊ ÌÅËÓÅÍÙ '%s' "
"ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎÙ"
-#: src/builtin.c:363
+#: src/builtin.c:371
#, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr "îÅ ÞÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ ÄÌÑ ×ÓÔÒÏÅÎÎÏÊ ÌÅËÓÅÍÙ '%s'"
-#: src/builtin.c:474
+#: src/builtin.c:482
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ÔÉÐ ÌÅËÓÅÍÙ × define_macro ()"
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, c-format
msgid "Undefined name %s"
msgstr "éÍÑ %s ÎÅÏÐÒÅÄÅÌÅÎÏ"
-#: src/builtin.c:697
+#: src/builtin.c:705
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr "÷îõôòåîîññ ïûéâëá: ÷ÓÔÒÏÅÎÎÁÑ ÌÅËÓÅÍÁ ÎÅ ÎÁÊÄÅÎÁ!"
-#: src/builtin.c:705
+#: src/builtin.c:713
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ÔÉÐ ÌÅËÓÅÍÙ × m4_dumpdef ()"
-#: src/builtin.c:756
+#: src/builtin.c:764
#, c-format
msgid "Undefined macro `%s'"
msgstr "îÅÏÐÒÅÄÅÌÅÎÎÙÊ ÍÁËÒÏÓ '%s'"
-#: src/builtin.c:794
+#: src/builtin.c:802
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ÔÉÐ ÓÉÍ×ÏÌÁ × m4_defn ()"
-#: src/builtin.c:860
+#: src/builtin.c:868
#, c-format
msgid "Cannot open pipe to command `%s'"
msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ËÁÎÁÌ ÄÌÑ ËÏÍÍÁÎÄÙ '%s'"
-#: src/builtin.c:897
+#: src/builtin.c:908
#, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr "òÁÄÉËÓ × ×ÙÒÁÖÅÎÉÉ ×ÙÈÏÄÉÔ ÚÁ ÐÒÅÄÅÌÙ (radix = %d)"
-#: src/builtin.c:906
+#: src/builtin.c:917
msgid "Negative width to eval"
msgstr "ïÔÒÉÃÁÔÅÌØÎÁÑ ÛÉÒÉÎÁ"
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, c-format
msgid "Non-numeric argument to %s"
msgstr "îÅ ÞÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ ÄÌÑ %s"
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, c-format
msgid "Cannot undivert %s"
msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÅÒÎÕÔØ ×Ù×ÏÄ ÉÚ %s"
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, fuzzy, c-format
msgid "Undefined syntax code %c"
msgstr "éÍÑ %s ÎÅÏÐÒÅÄÅÌÅÎÏ"
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, c-format
msgid "Cannot open %s"
msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s"
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr "òÅÖÉÍ ÏÔÌÁÄËÉ: ÎÅ×ÅÒÎÙÊ ÆÌÁÇ ÏÔÌÁÄËÉ: '%s'"
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, c-format
msgid "Cannot set error file: %s"
msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÚÎÁÞÉÔØ ÆÁÊÌ ÏÛÉÂÏË %s"
-#: src/builtin.c:1671
+#: src/builtin.c:1696
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "ðòåäõðòåöäåîéå: \\0 ÉÓÞÅÚÎÅÔ, ÉÓÐÏÌØÚÕÊÔÅ \\& × ÚÁÍÅÎÁÈ"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "îÅ×ÅÒÎÏÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ: '%s': %s"
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, c-format
msgid "Error matching regular expression `%s'"
msgstr "ïÛÉÂËÁ ÓÏÐÏÓÔÁ×ÌÅÎÉÑ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ '%s'"
@@ -121,49 +121,49 @@ msgstr "÷îõôòåîîññ ïûéâëá: ÷ÓÔÒÏÅÎÎÁÑ ÌÅËÓÅÍÁ ÎÅ ÎÁÊÄÅÎÁ! (trace_pre ())"
msgid "INTERNAL ERROR: Bad token data type (trace_pre ())"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ÔÉÐ ÌÅËÓÅÍÙ (trace_pre ())"
-#: src/eval.c:297
+#: src/eval.c:309
#, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr "îÅ×ÅÒÎÏÅ ×ÙÒÁÖÅÎÉÅ (ÏÔÓÕÔÓÔ×ÕÅÔ ÐÒÁ×ÙÅ ÓËÏÂËÉ): %s"
-#: src/eval.c:303
+#: src/eval.c:315
#, c-format
msgid "Bad expression in eval: %s"
msgstr "îÅ×ÅÒÎÏÅ ×ÙÒÁÖÅÎÉÅ: %s"
-#: src/eval.c:308
+#: src/eval.c:320
#, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr "îÅ×ÅÒÎÏÅ ×ÙÒÁÖÅÎÉÅ (bad input): %s"
-#: src/eval.c:313
+#: src/eval.c:325
#, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr "îÅ×ÅÒÎÏÅ ×ÙÒÁÖÅÎÉÅ (excess input): %s"
-#: src/eval.c:318
+#: src/eval.c:330
#, c-format
msgid "Divide by zero in eval: %s"
msgstr "äÅÌÅÎÉÅ ÎÁ ÎÏÌØ × ×ÙÒÁÖÅÎÉÉ: %s"
-#: src/eval.c:323
+#: src/eval.c:335
#, c-format
msgid "Modulo by zero in eval: %s"
msgstr "íÏÄÕÌØÎÏÅ ÄÅÌÅÎÉÅ ÎÁ ÎÏÌØ × ×ÙÒÁÖÅÎÉÉ: %s"
-#: src/eval.c:328
+#: src/eval.c:340
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ËÏÄ ÏÛÉÂËÉ × evaluate ()"
-#: src/eval.c:582
+#: src/eval.c:594
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÏÅ ÓÒÁ×ÎÅÎÉÅ × cmp_term ()"
-#: src/eval.c:627
+#: src/eval.c:639
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ÏÐÅÒÁÔÏÒ ÓÄ×ÉÇÁ × shift_term ()"
-#: src/eval.c:726
+#: src/eval.c:738
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ÏÐÅÒÁÔÏÒ × mult_term ()"
@@ -197,55 +197,55 @@ msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ-ÏÂÒÁÚÁ ÐÁÍÑÔÉ"
msgid "`%s' from frozen file not found in builtin table!"
msgstr "'%s' ÉÚ ÆÁÊÌÁ-ÏÂÒÁÚÁ ÐÁÍÑÔÉ ÎÅ ÎÁÊÄÅÎÁ ×Ï ×ÓÔÒÏÅÎÎÏÊ ÔÁÂÌÉÃÅ!"
-#: src/input.c:315
+#: src/input.c:318
#, c-format
msgid "Input reverted to %s, line %d"
msgstr "÷×ÏÄ ÐÅÒÅÎÁÐÒÁ×ÌÅÎ × %s , ÓÔÒÏËÁ %d"
-#: src/input.c:343
+#: src/input.c:346
#, c-format
msgid "Input read from %s"
msgstr "÷×ÏÄ ÉÚ %s"
-#: src/input.c:503
+#: src/input.c:506
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr "÷îõôòåîîññ ïûéâëá: òÅËÕÒÓÉ×ÎÁÑ push_string!"
-#: src/input.c:620
+#: src/input.c:623
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ×ÙÚÏ× init_macro_token ()"
-#: src/input.c:660
+#: src/input.c:663
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr "÷îõôòåîîññ ïûéâëá: ïÛÉÂËÁ ×ÈÏÄÎÏÇÏ ÓÔÅËÁ × next_char ()"
-#: src/input.c:697
+#: src/input.c:700
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr "÷îõôòåîîññ ïûéâëá: ïÛÉÂËÁ ×ÈÏÄÎÏÇÏ ÓÔÅËÁ × peek_input ()"
-#: src/input.c:800
+#: src/input.c:803
msgid "NONE"
msgstr "îéþåçï"
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
msgid "ERROR: EOF in string"
msgstr "ïûéâëá: ëÏÎÅà ÆÁÊÌÁ × ÓÔÒÏËÅ"
-#: src/m4.c:106
+#: src/m4.c:117
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr "ïûéâëá: ðÅÒÅÐÏÌÎÅÎÉÅ ÓÔÅËÁ. (âÅÓËÏÎÅÞÎÏÅ ÒÅËÕÒÓÉ×ÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ?)"
-#: src/m4.c:133
+#: src/m4.c:144
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "ðÏÐÒÏÂÕÊÔÅ '%s --help' ÄÌÑ ÉÎÆÏÒÍÁÃÉÉ.\n"
-#: src/m4.c:137
+#: src/m4.c:148
#, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [OPTION]... [FILE]...\n"
-#: src/m4.c:138
+#: src/m4.c:149
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
"for short options too.\n"
@@ -272,13 +272,13 @@ msgstr ""
" -P, --prefix-builtins ÄÏÂÁ×ÌÑÔØ ÐÒÅÆÉËÓ `m4_' ÄÌÑ ×ÓÅÈ ×ÓÔÒÏÅÎÎÙÈ "
"ÆÕÎËÃÉÊ\n"
-#: src/m4.c:151
+#: src/m4.c:162
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr ""
" -W, --word-regexp=REGEXP ÉÓÐÏÌØÚÏ×ÁÔØ REGEXP ÄÌÑ ÓÉÎÔÁËÓÉÓÁ ÉÍÅÎ "
"ÍÁËÒÏÓÏ×\n"
-#: src/m4.c:155
+#: src/m4.c:166
#, fuzzy
msgid ""
"\n"
@@ -295,7 +295,7 @@ msgstr ""
" -U, --undefine=NAME ÕÄÁÌÉÔØ ×ÓÔÒÏÅÎÎÕÀ ÆÕÎËÃÉÀ NAME\n"
" -s, --synclines ÇÅÎÅÒÉÒÏ×ÁÔØ ÓÔÒÏËÉ `#line NO \"FILE\"'\n"
-#: src/m4.c:163
+#: src/m4.c:174
msgid ""
"\n"
"Limits control:\n"
@@ -311,7 +311,7 @@ msgstr ""
" -L, --nesting-limit=NUMBER ÉÚÍÅÎÉÔØ ÐÒÅÄÅÌ ÇÌÕÂÉÎÙ ÉÎÔÅÌÅËÔÕÁÌØÎÏÇÏ "
"ÐÏÉÓËÁ\n"
-#: src/m4.c:170
+#: src/m4.c:181
msgid ""
"\n"
"Frozen state files:\n"
@@ -323,7 +323,7 @@ msgstr ""
" -F, --freeze-state=FILE × ËÏÎÃÅ ÓÏÚÄÁÔØ ÏÂÒÁÚ ÐÁÍÑÔÉ ÄÌÑ FILE\n"
" -R, --reload-state=FILE × ÎÁÞÁÌÅ ÚÁÇÒÕÖÁÔØ ÏÂÒÁÚ ÐÁÍÑÔÉ ÄÌÑ FILE\n"
-#: src/m4.c:176
+#: src/m4.c:187
msgid ""
"\n"
"Debugging:\n"
@@ -341,7 +341,7 @@ msgstr ""
" -o, --error-output=FILE ÐÅÒÅÎÁÐÒÁ×ÉÔØ ÏÔÌÁÄÏÞÎÙÊ É ÔÒÁÓÓÉÒÏ×ÏÞÎÙÊ "
"×Ù×ÏÄ × ÆÁÊÌ FILE\n"
-#: src/m4.c:184
+#: src/m4.c:195
msgid ""
"\n"
"FLAGS is any of:\n"
@@ -372,7 +372,7 @@ msgstr ""
" i ÐÏËÁÚÙ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ×Ï ×ÈÏÄÎÙÈ ÆÁÊÌÁÈ\n"
" V ÓÏËÒÁÝÅÎÉÅ ÄÌÑ ×ÓÅÈ ÆÌÁÇÏ× ×ÍÅÓÔÅ\n"
-#: src/m4.c:199
+#: src/m4.c:210
msgid ""
"\n"
"If no FILE or if FILE is `-', standard input is read.\n"
@@ -380,18 +380,22 @@ msgstr ""
"\n"
"åÓÌÉ FILE ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÉÌÉ FILE ÜÔÏ `-', ÉÓÐÏÌØÚÕÅÔÓÑ ÓÔÁÎÄÁÒÔÎÙÊ ×ÈÏÄ.\n"
-#: src/m4.c:204
+#: src/m4.c:215
msgid ""
"\n"
"Report bugs to <bug-m4@gnu.org>.\n"
msgstr ""
-#: src/m4.c:368
+#: src/m4.c:388
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "îÅ×ÅÒÎÙÊ ÆÌÁÇ ÏÔÌÁÄËÉ: '%s'"
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ËÏÄ × ËÏÓ×ÅÎÎÙÈ ÁÒÇÕÍÅÎÔÁÈ"
@@ -417,7 +421,17 @@ msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
"ïûéâëá: ìÉÍÉÔ ÒÅËÕÒÓÉÉ %d ÉÓÞÅÒÐÁÎ, ÉÓÐÏÌØÚÕÊÔÅ -L<N> ÞÔÏÂÙ ÉÚÍÅÎÉÔØ ÅÇÏ"
-#: src/module.c:206
+#: src/module.c:312
+#, fuzzy, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr "ðÕÔØ ÐÏÉÓËÁ ÄÌÑ `%s' ÎÁÊÄÅÎ `%s'"
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -442,16 +456,11 @@ msgstr "ïûéâëá: þÉÔÁÀ ×ÓÔÁ×ÌÅÎÎÙÊ ÆÁÊÌ"
msgid "Cannot stat diversion"
msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÄÓÞÉÔÁÔØ ÒÁÚ×ÅÔ×ÌÅÎÉÅ"
-#: src/path.c:170
+#: src/path.c:157
#, c-format
msgid "Path search for `%s' found `%s'"
msgstr "ðÕÔØ ÐÏÉÓËÁ ÄÌÑ `%s' ÎÁÊÄÅÎ `%s'"
-#: src/path.c:253
-#, fuzzy, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr "ðÕÔØ ÐÏÉÓËÁ ÄÌÑ `%s' ÎÁÊÄÅÎ `%s'"
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/po/sv.gmo b/po/sv.gmo
index 1c1bf8e5..0c3910aa 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 76e701ad..1da3458c 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"POT-Creation-Date: 1998-11-29 04:20+0100\n"
"PO-Revision-Date: $Date$\n"
"Last-Translator: Jan Djärv <Jan.Djarv@mbox200.swipnet.se>\n"
"Language-Team: Swedish <sv@li.org>\n"
@@ -14,107 +14,107 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/builtin.c:329
+#: src/builtin.c:337
#, fuzzy, c-format
msgid "Warning: Too few arguments to built-in `%s'"
msgstr "Varning: För få argument till inbyggt makro \"%s\""
-#: src/builtin.c:335
+#: src/builtin.c:343
#, fuzzy, c-format
msgid "Warning: Excess arguments to built-in `%s' ignored"
msgstr "Varning: Överskottsargument till inbyggt makro \"%s\" ignorerade"
-#: src/builtin.c:363
+#: src/builtin.c:371
#, fuzzy, c-format
msgid "Non-numeric argument to built-in `%s'"
msgstr "Ickenumeriskt argument till inbyggt makro \"%s\""
-#: src/builtin.c:474
+#: src/builtin.c:482
#, fuzzy
msgid "INTERNAL ERROR: Bad token data type in define_macro ()"
msgstr "INTERNT FEL: Otillåten lexikalisk datatyp i define_macro ()"
-#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382
+#: src/builtin.c:677 src/builtin.c:740 src/builtin.c:1383 src/builtin.c:1407
#, fuzzy, c-format
msgid "Undefined name %s"
msgstr "Odefinierat namn \"%s\""
-#: src/builtin.c:697
+#: src/builtin.c:705
#, fuzzy
msgid "INTERNAL ERROR: Builtin not found in builtin table!"
msgstr "INTERNT FEL: Inbyggt makro finns inte i tabellen!"
-#: src/builtin.c:705
+#: src/builtin.c:713
#, fuzzy
msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()"
msgstr "INTERNT FEL: Otillåten lexikalisk datatyp i m4_dumpdef ()"
-#: src/builtin.c:756
+#: src/builtin.c:764
#, fuzzy, c-format
msgid "Undefined macro `%s'"
msgstr "Odefinierat makro \"%s\""
-#: src/builtin.c:794
+#: src/builtin.c:802
#, fuzzy
msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()"
msgstr "INTERNT FEL: Otillåten symboltyp i m4_defn ()"
-#: src/builtin.c:860
+#: src/builtin.c:868
#, fuzzy, c-format
msgid "Cannot open pipe to command `%s'"
msgstr "Kan inte skapa rör till kommandot \"%s\""
-#: src/builtin.c:897
+#: src/builtin.c:908
#, fuzzy, c-format
msgid "Radix in eval out of range (radix = %d)"
msgstr "Otillåten bas i \"eval\" (bas = %d)"
-#: src/builtin.c:906
+#: src/builtin.c:917
#, fuzzy
msgid "Negative width to eval"
msgstr "Negativ bredd till \"eval\""
-#: src/builtin.c:998
+#: src/builtin.c:1023
#, fuzzy, c-format
msgid "Non-numeric argument to %s"
msgstr "Ickenumeriskt argument till %s"
-#: src/builtin.c:1010
+#: src/builtin.c:1035
#, fuzzy, c-format
msgid "Cannot undivert %s"
msgstr "Kan inte återleda %s"
-#: src/builtin.c:1158
+#: src/builtin.c:1183
#, fuzzy, c-format
msgid "Undefined syntax code %c"
msgstr "Odefinierat namn \"%s\""
-#: src/builtin.c:1209 src/freeze.c:207
+#: src/builtin.c:1234 src/freeze.c:207
#, fuzzy, c-format
msgid "Cannot open %s"
msgstr "Kan inte öppna %s"
-#: src/builtin.c:1418
+#: src/builtin.c:1443
#, fuzzy, c-format
msgid "Debugmode: bad debug flags: `%s'"
msgstr "Felsökningsläge: okänd flagga: \"%s\""
-#: src/builtin.c:1454
+#: src/builtin.c:1479
#, fuzzy, c-format
msgid "Cannot set error file: %s"
msgstr "Kan inte sätta felutskriftsfil: %s"
-#: src/builtin.c:1671
+#: src/builtin.c:1696
#, fuzzy
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "VARNING: \\0 kommer att försvinna, använd \\& i ersättningar"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
+#: src/builtin.c:1757 src/builtin.c:1817 src/input.c:1012
#, fuzzy, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Otillåtet reguljäruttryck \"%s\": %s"
-#: src/builtin.c:1743 src/builtin.c:1816
+#: src/builtin.c:1768 src/builtin.c:1841
#, fuzzy, c-format
msgid "Error matching regular expression `%s'"
msgstr "Reguljäruttrycket \"%s\" matchar inte"
@@ -129,52 +129,52 @@ msgstr "INTERNT FEL: Inbyggt makro finns inte i tabellen (trace_pre ())"
msgid "INTERNAL ERROR: Bad token data type (trace_pre ())"
msgstr "INTERNT FEL: Otillåten lexikalisk datatyp (trace_pre ())"
-#: src/eval.c:297
+#: src/eval.c:309
#, fuzzy, c-format
msgid "Bad expression in eval (missing right parenthesis): %s"
msgstr "Otillåtet uttryck i \"eval\" (högerparentes saknas): %s"
-#: src/eval.c:303
+#: src/eval.c:315
#, fuzzy, c-format
msgid "Bad expression in eval: %s"
msgstr "Otillåtet uttryck i \"eval\": %s"
-#: src/eval.c:308
+#: src/eval.c:320
#, fuzzy, c-format
msgid "Bad expression in eval (bad input): %s"
msgstr "Otillåtet uttryck i \"eval\" (otillåtet indata): %s"
-#: src/eval.c:313
+#: src/eval.c:325
#, fuzzy, c-format
msgid "Bad expression in eval (excess input): %s"
msgstr "Otillåtet uttryck i \"eval\" (för mycket indata): %s"
-#: src/eval.c:318
+#: src/eval.c:330
#, fuzzy, c-format
msgid "Divide by zero in eval: %s"
msgstr "Division med noll i \"eval\": %s"
-#: src/eval.c:323
+#: src/eval.c:335
#, fuzzy, c-format
msgid "Modulo by zero in eval: %s"
msgstr "Modulo med noll i \"eval\": %s"
-#: src/eval.c:328
+#: src/eval.c:340
#, fuzzy
msgid "INTERNAL ERROR: Bad error code in evaluate ()"
msgstr "INTERNT FEL: Otillåten felkod i evaluate ()"
-#: src/eval.c:582
+#: src/eval.c:594
#, fuzzy
msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()"
msgstr "INTERNT FEL: Otillåten jämförelseoperator i cmp_term ()"
-#: src/eval.c:627
+#: src/eval.c:639
#, fuzzy
msgid "INTERNAL ERROR: Bad shift operator in shift_term ()"
msgstr "INTERNT FEL: Otillåten skiftoperator i shift_term ()"
-#: src/eval.c:726
+#: src/eval.c:738
#, fuzzy
msgid "INTERNAL ERROR: Bad operator in mult_term ()"
msgstr "INTERNT FEL: Otillåten operator i mult_term ()"
@@ -214,62 +214,62 @@ msgstr "För tidigt filslut i fryst fil"
msgid "`%s' from frozen file not found in builtin table!"
msgstr "\"%s\" från fryst fil hittades inte i tabellen för inbyggda makron!"
-#: src/input.c:315
+#: src/input.c:318
#, fuzzy, c-format
msgid "Input reverted to %s, line %d"
msgstr "Indata återgår till %s, rad %d"
-#: src/input.c:343
+#: src/input.c:346
#, fuzzy, c-format
msgid "Input read from %s"
msgstr "Indata läses från %s"
-#: src/input.c:503
+#: src/input.c:506
#, fuzzy
msgid "INTERNAL ERROR: Recursive push_string!"
msgstr "INTERNT FEL: Rekursiv push_string!"
-#: src/input.c:620
+#: src/input.c:623
#, fuzzy
msgid "INTERNAL ERROR: Bad call to init_macro_token ()"
msgstr "INTERNT FEL: Otillåtet anrop till init_macro_token ()"
-#: src/input.c:660
+#: src/input.c:663
#, fuzzy
msgid "INTERNAL ERROR: Input stack botch in next_char ()"
msgstr "INTERNT FEL: Instacken havererade i next_char ()"
-#: src/input.c:697
+#: src/input.c:700
#, fuzzy
msgid "INTERNAL ERROR: Input stack botch in peek_input ()"
msgstr "INTERNT FEL: Instacken havererade i peek_input ()"
-#: src/input.c:800
+#: src/input.c:803
#, fuzzy
msgid "NONE"
msgstr "INGET"
-#: src/input.c:1193 src/input.c:1220
+#: src/input.c:1197 src/input.c:1224
#, fuzzy
msgid "ERROR: EOF in string"
msgstr "FEL: Filslut i sträng"
-#: src/m4.c:106
+#: src/m4.c:117
#, fuzzy
msgid "ERROR: Stack overflow. (Infinite define recursion?)"
msgstr "FEL: Stacken flödar över. (Oändlig rekursion?)"
-#: src/m4.c:133
+#: src/m4.c:144
#, fuzzy, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Försök med \"%s --help\" för mer information.\n"
-#: src/m4.c:137
+#: src/m4.c:148
#, fuzzy, c-format
msgid "Usage: %s [OPTION]... [FILE]...\n"
msgstr "Användning: %s [FLAGGA]... [FIL]...\n"
-#: src/m4.c:138
+#: src/m4.c:149
#, fuzzy
msgid ""
"Mandatory or optional arguments to long options are mandatory or optional\n"
@@ -295,12 +295,12 @@ msgstr ""
"makron\n"
" -P, --prefix-builtins alla inbyggda makron börjar med `m4_'\n"
-#: src/m4.c:151
+#: src/m4.c:162
#, fuzzy
msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n"
msgstr " -W, --word-regexp=REGEXP använd REGEXP som makronamnsyntax\n"
-#: src/m4.c:155
+#: src/m4.c:166
#, fuzzy
msgid ""
"\n"
@@ -317,7 +317,7 @@ msgstr ""
" -U, --undefine=NAMN ta bort inbyggt makro\n"
" -s, --synclines generera `#line NNN \"FIL\"' rader\n"
-#: src/m4.c:163
+#: src/m4.c:174
#, fuzzy
msgid ""
"\n"
@@ -332,7 +332,7 @@ msgstr ""
" -H, --hashsize=PRIMTAL sätt storlek på symboltabellen\n"
" -L, --nesting-limit=NUMMER ändra artificiell nästningsnivå\n"
-#: src/m4.c:170
+#: src/m4.c:181
#, fuzzy
msgid ""
"\n"
@@ -345,7 +345,7 @@ msgstr ""
" -F, --freeze-state=FIL spara fryst tillstånd i FIL i slutet\n"
" -R, --reload-state=FIL läs fryst tillstånd från FIL i början\n"
-#: src/m4.c:176
+#: src/m4.c:187
#, fuzzy
msgid ""
"\n"
@@ -364,7 +364,7 @@ msgstr ""
" -o, --error-output=FIL avled felsöknings och spårutskrifter till "
"FIL\n"
-#: src/m4.c:184
+#: src/m4.c:195
#, fuzzy
msgid ""
"\n"
@@ -395,7 +395,7 @@ msgstr ""
" i visa byten av infil\n"
" V förkortning för alla ovanstående flaggor\n"
-#: src/m4.c:199
+#: src/m4.c:210
#, fuzzy
msgid ""
"\n"
@@ -404,18 +404,22 @@ msgstr ""
"\n"
"Om ingen FIL anges eller om FIL är `-', så läses standard in.\n"
-#: src/m4.c:204
+#: src/m4.c:215
msgid ""
"\n"
"Report bugs to <bug-m4@gnu.org>.\n"
msgstr ""
-#: src/m4.c:368
+#: src/m4.c:388
#, fuzzy, c-format
msgid "Bad debug flags: `%s'"
msgstr "Okänd felsökningsflagga \"%s\""
-#: src/m4.c:447
+#: src/m4.c:417
+msgid " (options:"
+msgstr ""
+
+#: src/m4.c:500
#, fuzzy
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "INTERNT FEL: Otillåten kod i argument"
@@ -445,7 +449,17 @@ msgstr "INTERNT FEL: Otillåten symboltyp i call_macro ()"
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr "FEL: Rekursionsgräns %d överskriden, använd -L<N> för att ändra"
-#: src/module.c:206
+#: src/module.c:312
+#, fuzzy, c-format
+msgid "Module search for `%s' found `%s'"
+msgstr "\"%s\" hittades som \"%s\" i sökvägen"
+
+#: src/module.c:349
+#, c-format
+msgid "ERROR: cannot find module `%s': %s"
+msgstr ""
+
+#: src/module.c:353
#, c-format
msgid "ERROR: cannot find module `%s'"
msgstr ""
@@ -475,16 +489,11 @@ msgstr "FEL: Läsning av insatt fil"
msgid "Cannot stat diversion"
msgstr "Kan inte ta status på avledningen"
-#: src/path.c:170
+#: src/path.c:157
#, fuzzy, c-format
msgid "Path search for `%s' found `%s'"
msgstr "\"%s\" hittades som \"%s\" i sökvägen"
-#: src/path.c:253
-#, fuzzy, c-format
-msgid "Module search for `%s' found `%s'"
-msgstr "\"%s\" hittades som \"%s\" i sökvägen"
-
#. sbrk failed. Assume the RLIMIT_VMEM prevents expansion even
#. if the stack limit has not been reached.
#: src/stackovf.c:168
diff --git a/src/Makefile.am b/src/Makefile.am
index e659e068..91966697 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -8,12 +8,14 @@ MODULE_PATH=@MODULE_PATH@
bin_PROGRAMS = m4
-INCLUDES = -I$(top_srcdir)/lib
+INCLUDES = -I$(top_srcdir)/lib @INTLINCL@
-m4_SOURCES = m4.c m4.h builtin.c builtin.h debug.c eval.c numb.c numb.h \
+m4_SOURCES = m4.c m4.h builtin.c builtin.h debug.c eval.c evalmp.c \
format.c freeze.c input.c macro.c output.c path.c symtab.c \
stackovf.c module.c
+EXTRA_m4_SOURCES = numb.c numb.h
+
m4_LDADD = ../lib/libm4.a @INTLLIBS@
m4_LDFLAGS = @DLLDFLAGS@
diff --git a/src/Makefile.in b/src/Makefile.in
index 657bb757..a2bcb465 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -74,6 +74,7 @@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
+INTLINCL = @INTLINCL@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LD = @LD@
@@ -107,12 +108,14 @@ MODULE_PATH=@MODULE_PATH@
bin_PROGRAMS = m4
-INCLUDES = -I$(top_srcdir)/lib
+INCLUDES = -I$(top_srcdir)/lib @INTLINCL@
-m4_SOURCES = m4.c m4.h builtin.c builtin.h debug.c eval.c numb.c numb.h \
+m4_SOURCES = m4.c m4.h builtin.c builtin.h debug.c eval.c evalmp.c \
format.c freeze.c input.c macro.c output.c path.c symtab.c \
stackovf.c module.c
+EXTRA_m4_SOURCES = numb.c numb.h
+
m4_LDADD = ../lib/libm4.a @INTLLIBS@
m4_LDFLAGS = @DLLDFLAGS@
@@ -127,9 +130,9 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
ANSI2KNR = @ANSI2KNR@
-m4_OBJECTS = m4$U.o builtin$U.o debug$U.o eval$U.o numb$U.o format$U.o \
-freeze$U.o input$U.o macro$U.o output$U.o path$U.o symtab$U.o \
-stackovf$U.o module$U.o
+m4_OBJECTS = m4$U.o builtin$U.o debug$U.o eval$U.o evalmp$U.o \
+format$U.o freeze$U.o input$U.o macro$U.o output$U.o path$U.o \
+symtab$U.o stackovf$U.o module$U.o
m4_DEPENDENCIES = ../lib/libm4.a
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -141,7 +144,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
-SOURCES = $(m4_SOURCES)
+SOURCES = $(m4_SOURCES) $(EXTRA_m4_SOURCES)
OBJECTS = $(m4_OBJECTS)
all: Makefile $(ANSI2KNR) $(PROGRAMS)
@@ -250,6 +253,8 @@ debug_.c: debug.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/debug.c; then echo $(srcdir)/debug.c; else echo debug.c; fi` | $(ANSI2KNR) > debug_.c
eval_.c: eval.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/eval.c; then echo $(srcdir)/eval.c; else echo eval.c; fi` | $(ANSI2KNR) > eval_.c
+evalmp_.c: evalmp.c $(ANSI2KNR)
+ $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/evalmp.c; then echo $(srcdir)/evalmp.c; else echo evalmp.c; fi` | $(ANSI2KNR) > evalmp_.c
format_.c: format.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/format.c; then echo $(srcdir)/format.c; else echo format.c; fi` | $(ANSI2KNR) > format_.c
freeze_.c: freeze.c $(ANSI2KNR)
@@ -272,11 +277,11 @@ stackovf_.c: stackovf.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/stackovf.c; then echo $(srcdir)/stackovf.c; else echo stackovf.c; fi` | $(ANSI2KNR) > stackovf_.c
symtab_.c: symtab.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/symtab.c; then echo $(srcdir)/symtab.c; else echo symtab.c; fi` | $(ANSI2KNR) > symtab_.c
-builtin_.o builtin_.lo debug_.o debug_.lo eval_.o eval_.lo format_.o \
-format_.lo freeze_.o freeze_.lo input_.o input_.lo m4_.o m4_.lo \
-macro_.o macro_.lo module_.o module_.lo numb_.o numb_.lo output_.o \
-output_.lo path_.o path_.lo stackovf_.o stackovf_.lo symtab_.o \
-symtab_.lo : $(ANSI2KNR)
+builtin_.o builtin_.lo debug_.o debug_.lo eval_.o eval_.lo evalmp_.o \
+evalmp_.lo format_.o format_.lo freeze_.o freeze_.lo input_.o input_.lo \
+m4_.o m4_.lo macro_.o macro_.lo module_.o module_.lo numb_.o numb_.lo \
+output_.o output_.lo path_.o path_.lo stackovf_.o stackovf_.lo \
+symtab_.o symtab_.lo : $(ANSI2KNR)
tags: TAGS
@@ -317,13 +322,18 @@ distdir: $(DISTFILES)
builtin.o: builtin.c m4.h ../config.h ../lib/obstack.h builtin.h \
../lib/regex.h
debug.o: debug.c m4.h ../config.h ../lib/obstack.h
-eval.o: eval.c m4.h ../config.h ../lib/obstack.h numb.h
+eval.o: eval.c m4.h ../config.h ../lib/obstack.h numb.c numb.h
+evalmp.o: evalmp.c m4.h ../config.h ../lib/obstack.h eval.c numb.c \
+ numb.h
format.o: format.c m4.h ../config.h ../lib/obstack.h
freeze.o: freeze.c m4.h ../config.h ../lib/obstack.h
-input.o: input.c m4.h ../config.h ../lib/obstack.h ../lib/regex.h
-m4.o: m4.c m4.h ../config.h ../lib/obstack.h ../lib/getopt.h
+input.o: input.c m4.h ../config.h ../lib/obstack.h
+m4.o: m4.c m4.h ../config.h ../lib/obstack.h ../lib/getopt.h \
+ ../lib/error.h
macro.o: macro.c m4.h ../config.h ../lib/obstack.h
-module.o: module.c m4.h ../config.h ../lib/obstack.h
+module.o: module.c m4.h ../config.h ../lib/obstack.h pathconf.h
+mpeval.o: mpeval.c m4.h ../config.h ../lib/obstack.h eval.c numb.c \
+ numb.h
numb.o: numb.c m4.h ../config.h ../lib/obstack.h numb.h
output.o: output.c m4.h ../config.h ../lib/obstack.h
path.o: path.c m4.h ../config.h ../lib/obstack.h
diff --git a/src/builtin.c b/src/builtin.c
index 27665811..1e09ff8d 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -65,6 +65,9 @@ DECLARE (m4_loadmodule);
DECLARE (m4_m4exit);
DECLARE (m4_m4wrap);
DECLARE (m4_maketemp);
+#ifdef WITH_GMP
+DECLARE (m4_mpeval);
+#endif /* WITH_GMP */
DECLARE (m4_patsubst);
DECLARE (m4_popdef);
DECLARE (m4_pushdef);
@@ -124,6 +127,9 @@ builtin_tab[] =
{ "m4exit", FALSE, FALSE, FALSE, m4_m4exit },
{ "m4wrap", FALSE, FALSE, FALSE, m4_m4wrap },
{ "maketemp", FALSE, FALSE, TRUE, m4_maketemp },
+#ifdef WITH_GMP
+ { "mpeval", TRUE, FALSE, TRUE, m4_mpeval },
+#endif /* WITH_GMP */
{ "patsubst", TRUE, FALSE, TRUE, m4_patsubst },
{ "popdef", FALSE, FALSE, TRUE, m4_popdef },
{ "pushdef", FALSE, TRUE, TRUE, m4_pushdef },
@@ -253,16 +259,18 @@ install_builtin_table (builtin *table)
for (bp = table; bp->name != NULL; bp++)
if (!no_gnu_extensions || !bp->gnu_extension)
- if (prefix_all_builtins)
- {
- string = (char *) xmalloc (strlen (bp->name) + 4);
- strcpy (string, "m4_");
- strcat (string, bp->name);
- define_builtin (string, bp, SYMBOL_INSERT, FALSE);
- free (string);
- }
- else
- define_builtin (bp->name, bp, SYMBOL_INSERT, FALSE);
+ {
+ if (prefix_all_builtins)
+ {
+ string = (char *) xmalloc (strlen (bp->name) + 4);
+ strcpy (string, "m4_");
+ strcat (string, bp->name);
+ define_builtin (string, bp, SYMBOL_INSERT, FALSE);
+ free (string);
+ }
+ else
+ define_builtin (bp->name, bp, SYMBOL_INSERT, FALSE);
+ }
}
@@ -879,8 +887,11 @@ m4_sysval (struct obstack *obs, int argc, token_data **argv)
| actual work is done in the function evaluate (), which lives in eval.c. |
`-------------------------------------------------------------------------*/
+typedef boolean (*eval_func)(struct obstack *obs, const char *expr,
+ const int radix, int min);
+
static void
-m4_eval (struct obstack *obs, int argc, token_data **argv)
+do_eval (struct obstack *obs, int argc, token_data **argv, eval_func func)
{
int radix = 10;
int min = 1;
@@ -907,11 +918,25 @@ m4_eval (struct obstack *obs, int argc, token_data **argv)
return;
}
- if (evaluate (obs, ARG (1), radix, min))
+ if ((*func) (obs, ARG (1), radix, min))
return;
}
static void
+m4_eval (struct obstack *obs, int argc, token_data **argv)
+{
+ do_eval(obs, argc, argv, evaluate);
+}
+
+#ifdef WITH_GMP
+static void
+m4_mpeval (struct obstack *obs, int argc, token_data **argv)
+{
+ do_eval(obs, argc, argv, mp_evaluate);
+}
+#endif /* WITH_GMP */
+
+static void
m4_incr (struct obstack *obs, int argc, token_data **argv)
{
int value;
@@ -1854,7 +1879,7 @@ void
expand_user_macro (struct obstack *obs, symbol *sym,
int argc, token_data **argv)
{
- const char *text;
+ const unsigned char *text;
int i;
for (text = SYMBOL_TEXT (sym); *text != '\0';)
diff --git a/src/eval.c b/src/eval.c
index 32d64f32..c649e8a3 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -21,8 +21,20 @@
its own scanner, and a recursive descent parser. The only entry point
is evaluate (). */
+/* If configured --with-gmp this file is compiled twice. For the normal
+ eval() it is compiled without -DUSE_GMP, for the gmp enhanced eval()
+ it is compiled with -DUSE_GMP (and implicitly -DWITH_GMP). */
+
+/* Everything in this file and in numb.c should be declared static,
+ except evaluate, handled here. */
+
+#ifdef USE_GMP
+#define evaluate mp_evaluate
+#endif
+
#include "m4.h"
-#include "numb.h"
+
+#include "numb.c"
/* Evaluates token types. */
@@ -75,14 +87,14 @@ static eval_error simple_term __P ((eval_token, eval_t *));
`--------------------*/
/* Pointer to next character of input text. */
-static const char *eval_text;
+static const unsigned char *eval_text;
/* Value of eval_text, from before last call of eval_lex (). This is so we
can back up, if we have read too much. */
-static const char *last_text;
+static const unsigned char *last_text;
static void
-eval_init_lex (const char *text)
+eval_init_lex (const unsigned char *text)
{
eval_text = text;
last_text = NULL;
@@ -824,3 +836,4 @@ simple_term (eval_token et, eval_t *v1)
}
return NO_ERROR;
}
+
diff --git a/src/evalmp.c b/src/evalmp.c
new file mode 100644
index 00000000..5c48b8db
--- /dev/null
+++ b/src/evalmp.c
@@ -0,0 +1,27 @@
+/* GNU m4 -- A simple macro processor
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+/* This file is used to compile the gmp aware version of eval() */
+
+#include "m4.h"
+
+#ifdef WITH_GMP
+#define USE_GMP
+
+#include "eval.c"
+#endif
diff --git a/src/format.c b/src/format.c
index f8107c05..b7af604a 100644
--- a/src/format.c
+++ b/src/format.c
@@ -117,7 +117,7 @@ format (struct obstack *obs, int argc, token_data **argv)
{
#ifdef HAVE_EFGCVT
- const char *fmt; /* format control string */
+ const unsigned char *fmt; /* format control string */
int c; /* a simple character */
char fc; /* format code */
diff --git a/src/input.c b/src/input.c
index fdf385f2..bed8d9e6 100644
--- a/src/input.c
+++ b/src/input.c
@@ -20,8 +20,11 @@
#include "m4.h"
-#define DEBUG_INPUT_
-#define DEBUG_SYNTAX_
+#define DEBUG_INPUT
+#undef DEBUG_INPUT
+
+#define DEBUG_SYNTAX
+#undef DEBUG_SYNTAX
/*
Unread input can be either files, that should be read (eg. included
@@ -1055,231 +1058,232 @@ next_token (token_data *td)
char *orig_text = 0;
#endif
- obstack_free (&token_stack, token_bottom);
- obstack_1grow (&token_stack, '\0');
- token_bottom = obstack_finish (&token_stack);
+ do {
+ obstack_free (&token_stack, token_bottom);
+ obstack_1grow (&token_stack, '\0');
+ token_bottom = obstack_finish (&token_stack);
- ch = peek_input ();
- if (ch == CHAR_EOF) /* EOF */
- {
+ ch = peek_input ();
+ if (ch == CHAR_EOF) /* EOF */
+ {
#ifdef DEBUG_INPUT
- fprintf (stderr, "next_token -> EOF\n");
+ fprintf (stderr, "next_token -> EOF\n");
#endif
- return TOKEN_EOF;
- }
+ return TOKEN_EOF;
+ }
- if (ch == CHAR_MACRO) /* MACRO TOKEN */
- {
- init_macro_token (td);
- (void) next_char ();
+ if (ch == CHAR_MACRO) /* MACRO TOKEN */
+ {
+ init_macro_token (td);
+ (void) next_char ();
#ifdef DEBUG_INPUT
- print_token("next_token", TOKEN_MACDEF, td);
+ print_token("next_token", TOKEN_MACDEF, td);
#endif
- return TOKEN_MACDEF;
- }
+ return TOKEN_MACDEF;
+ }
- (void) next_char ();
- if (IS_BCOMM(ch)) /* COMMENT, SHORT DELIM */
- {
- obstack_1grow (&token_stack, ch);
- while ((ch = next_char ()) != CHAR_EOF && !IS_ECOMM(ch))
+ (void) next_char ();
+ if (IS_BCOMM(ch)) /* COMMENT, SHORT DELIM */
+ {
obstack_1grow (&token_stack, ch);
- if (ch != CHAR_EOF)
- obstack_1grow (&token_stack, ch);
- type = TOKEN_STRING;
- }
- /* COMMENT, LONGER DELIM */
- else if (!single_comments && MATCH (ch, bcomm.string))
- {
- obstack_grow (&token_stack, bcomm.string, bcomm.length);
- while ((ch = next_char ()) != CHAR_EOF && !MATCH (ch, ecomm.string))
+ while ((ch = next_char ()) != CHAR_EOF && !IS_ECOMM(ch))
+ obstack_1grow (&token_stack, ch);
+ if (ch != CHAR_EOF)
+ obstack_1grow (&token_stack, ch);
+ type = discard_comments ? TOKEN_NONE : TOKEN_STRING;
+ }
+ /* COMMENT, LONGER DELIM */
+ else if (!single_comments && MATCH (ch, bcomm.string))
+ {
+ obstack_grow (&token_stack, bcomm.string, bcomm.length);
+ while ((ch = next_char ()) != CHAR_EOF && !MATCH (ch, ecomm.string))
+ obstack_1grow (&token_stack, ch);
+ if (ch != CHAR_EOF)
+ obstack_grow (&token_stack, ecomm.string, ecomm.length);
+ type = discard_comments ? TOKEN_NONE : TOKEN_STRING;
+ }
+ else if (IS_ESCAPE(ch)) /* ESCAPED WORD */
+ {
obstack_1grow (&token_stack, ch);
- if (ch != CHAR_EOF)
- obstack_grow (&token_stack, ecomm.string, ecomm.length);
- type = TOKEN_STRING;
- }
- else if (IS_ESCAPE(ch)) /* ESCAPED WORD */
- {
- obstack_1grow (&token_stack, ch);
- if ((ch = next_char ()) != CHAR_EOF)
- {
- if (IS_ALPHA(ch))
- {
- obstack_1grow (&token_stack, ch);
- while ((ch = next_char ()) != CHAR_EOF && (IS_ALNUM(ch)))
- {
- obstack_1grow (&token_stack, ch);
- }
-
- if (ch != CHAR_EOF)
- unget_input(ch);
- }
- else
- {
- obstack_1grow (&token_stack, ch);
- }
-
- type = TOKEN_WORD;
- }
- else
- {
- type = TOKEN_SIMPLE; /* escape before eof */
- }
- }
- else if (
+ if ((ch = next_char ()) != CHAR_EOF)
+ {
+ if (IS_ALPHA(ch))
+ {
+ obstack_1grow (&token_stack, ch);
+ while ((ch = next_char ()) != CHAR_EOF && (IS_ALNUM(ch)))
+ {
+ obstack_1grow (&token_stack, ch);
+ }
+
+ if (ch != CHAR_EOF)
+ unget_input(ch);
+ }
+ else
+ {
+ obstack_1grow (&token_stack, ch);
+ }
+
+ type = TOKEN_WORD;
+ }
+ else
+ {
+ type = TOKEN_SIMPLE; /* escape before eof */
+ }
+ }
+ else if (
#ifdef ENABLE_CHANGEWORD
- default_word_regexp &&
+ default_word_regexp &&
#endif
- (IS_ALPHA (ch)))
- {
- obstack_1grow (&token_stack, ch);
- while ((ch = next_char ()) != CHAR_EOF && (IS_ALNUM(ch)))
- {
- obstack_1grow (&token_stack, ch);
- }
- if (ch != CHAR_EOF)
- unget_input(ch);
+ (IS_ALPHA (ch)))
+ {
+ obstack_1grow (&token_stack, ch);
+ while ((ch = next_char ()) != CHAR_EOF && (IS_ALNUM(ch)))
+ {
+ obstack_1grow (&token_stack, ch);
+ }
+ if (ch != CHAR_EOF)
+ unget_input(ch);
- type = use_macro_escape ? TOKEN_STRING : TOKEN_WORD;
- }
+ type = use_macro_escape ? TOKEN_STRING : TOKEN_WORD;
+ }
#ifdef ENABLE_CHANGEWORD
- else if (!default_word_regexp && strchr (word_start, ch))
- {
- obstack_1grow (&token_stack, ch);
- while (1)
- {
- ch = peek_input ();
- if (ch == CHAR_EOF)
- break;
- obstack_1grow (&token_stack, ch);
- startpos = re_search (&word_regexp, obstack_base (&token_stack),
- obstack_object_size (&token_stack), 0, 0,
- &regs);
- if (startpos != 0 ||
- regs.end [0] != obstack_object_size (&token_stack))
- {
- *(((char *) obstack_base (&token_stack)
- + obstack_object_size (&token_stack)) - 1) = '\0';
+ else if (!default_word_regexp && strchr (word_start, ch))
+ {
+ obstack_1grow (&token_stack, ch);
+ while (1)
+ {
+ ch = peek_input ();
+ if (ch == CHAR_EOF)
break;
- }
- next_char ();
- }
+ obstack_1grow (&token_stack, ch);
+ startpos = re_search (&word_regexp, obstack_base (&token_stack),
+ obstack_object_size (&token_stack), 0, 0,
+ &regs);
+ if (startpos != 0 ||
+ regs.end [0] != obstack_object_size (&token_stack))
+ {
+ *(((char *) obstack_base (&token_stack)
+ + obstack_object_size (&token_stack)) - 1) = '\0';
+ break;
+ }
+ next_char ();
+ }
- obstack_1grow (&token_stack, '\0');
- orig_text = obstack_finish (&token_stack);
+ obstack_1grow (&token_stack, '\0');
+ orig_text = obstack_finish (&token_stack);
- if (regs.start[1] != -1)
- obstack_grow (&token_stack,orig_text + regs.start[1],
- regs.end[1] - regs.start[1]);
- else
- obstack_grow (&token_stack, orig_text,regs.end[0]);
+ if (regs.start[1] != -1)
+ obstack_grow (&token_stack,orig_text + regs.start[1],
+ regs.end[1] - regs.start[1]);
+ else
+ obstack_grow (&token_stack, orig_text,regs.end[0]);
- type = TOKEN_WORD;
- }
+ type = TOKEN_WORD;
+ }
#endif /* ENABLE_CHANGEWORD */
- else if (IS_LQUOTE(ch)) /* QUOTED STRING, SINGLE QUOTES */
- {
- quote_level = 1;
- while (1)
- {
- ch = next_char ();
- if (ch == CHAR_EOF)
- M4ERROR ((EXIT_FAILURE, 0,
- _("ERROR: EOF in string")));
-
- if (IS_RQUOTE(ch))
- {
- if (--quote_level == 0)
- break;
+ else if (IS_LQUOTE(ch)) /* QUOTED STRING, SINGLE QUOTES */
+ {
+ quote_level = 1;
+ while (1)
+ {
+ ch = next_char ();
+ if (ch == CHAR_EOF)
+ M4ERROR ((EXIT_FAILURE, 0,
+ _("ERROR: EOF in string")));
+
+ if (IS_RQUOTE(ch))
+ {
+ if (--quote_level == 0)
+ break;
+ obstack_1grow (&token_stack, ch);
+ }
+ else if (IS_LQUOTE(ch))
+ {
+ quote_level++;
+ obstack_1grow (&token_stack, ch);
+ }
+ else
obstack_1grow (&token_stack, ch);
- }
- else if (IS_LQUOTE(ch))
- {
- quote_level++;
+ }
+ type = TOKEN_STRING;
+ }
+ /* QUOTED STRING, LONGER QUOTES */
+ else if (!single_quotes && MATCH (ch, lquote.string))
+ {
+ quote_level = 1;
+ while (1)
+ {
+ ch = next_char ();
+ if (ch == CHAR_EOF)
+ M4ERROR ((EXIT_FAILURE, 0,
+ _("ERROR: EOF in string")));
+
+ if (MATCH (ch, rquote.string))
+ {
+ if (--quote_level == 0)
+ break;
+ obstack_grow (&token_stack, rquote.string, rquote.length);
+ }
+ else if (MATCH (ch, lquote.string))
+ {
+ quote_level++;
+ obstack_grow (&token_stack, lquote.string, lquote.length);
+ }
+ else
obstack_1grow (&token_stack, ch);
- }
- else
- obstack_1grow (&token_stack, ch);
- }
- type = TOKEN_STRING;
- }
- /* QUOTED STRING, LONGER QUOTES */
- else if (!single_quotes && MATCH (ch, lquote.string))
- {
- quote_level = 1;
- while (1)
- {
- ch = next_char ();
- if (ch == CHAR_EOF)
- M4ERROR ((EXIT_FAILURE, 0,
- _("ERROR: EOF in string")));
+ }
+ type = TOKEN_STRING;
+ }
+ else if (single_quotes && single_comments) /* EVERYTHING ELSE */
+ {
+ obstack_1grow (&token_stack, ch);
- if (MATCH (ch, rquote.string))
- {
- if (--quote_level == 0)
- break;
- obstack_grow (&token_stack, rquote.string, rquote.length);
- }
- else if (MATCH (ch, lquote.string))
- {
- quote_level++;
- obstack_grow (&token_stack, lquote.string, lquote.length);
- }
- else
- obstack_1grow (&token_stack, ch);
- }
- type = TOKEN_STRING;
- }
- else if (single_quotes && single_comments) /* EVERYTHING ELSE */
- {
- obstack_1grow (&token_stack, ch);
+ if (IS_OTHER(ch) || IS_NUM(ch))
+ {
+ while ((ch = next_char()) != CHAR_EOF
+ && (IS_OTHER(ch) || IS_NUM(ch)))
+ obstack_1grow (&token_stack, ch);
- if (IS_OTHER(ch) || IS_NUM(ch))
- {
- while ((ch = next_char()) != CHAR_EOF
- && (IS_OTHER(ch) || IS_NUM(ch)))
- obstack_1grow (&token_stack, ch);
+ if (ch != CHAR_EOF)
+ unget_input(ch);
+ type = TOKEN_STRING;
+ }
+ else if (IS_SPACE(ch))
+ {
+ if (!interactive)
+ {
+ while ((ch = next_char()) != CHAR_EOF && IS_SPACE(ch))
+ obstack_1grow (&token_stack, ch);
- if (ch != CHAR_EOF)
- unget_input(ch);
- type = TOKEN_STRING;
- }
- else if (IS_SPACE(ch))
- {
- if (!interactive)
- {
- while ((ch = next_char()) != CHAR_EOF && IS_SPACE(ch))
- obstack_1grow (&token_stack, ch);
+ if (ch != CHAR_EOF)
+ unget_input(ch);
+ }
+ type = TOKEN_SPACE;
+ }
+ else if (IS_ACTIVE(ch))
+ type = TOKEN_WORD;
+ else
+ type = TOKEN_SIMPLE;
+ }
+ else /* EVERYTHING ELSE */
+ {
+ obstack_1grow (&token_stack, ch);
- if (ch != CHAR_EOF)
- unget_input(ch);
- }
+ if (IS_OTHER(ch) || IS_NUM(ch))
+ type = TOKEN_STRING;
+ else if (IS_SPACE(ch))
type = TOKEN_SPACE;
- }
- else if (IS_ACTIVE(ch))
- type = TOKEN_WORD;
- else
- type = TOKEN_SIMPLE;
- }
- else /* EVERYTHING ELSE */
- {
- obstack_1grow (&token_stack, ch);
-
- if (IS_OTHER(ch) || IS_NUM(ch))
- type = TOKEN_STRING;
- else if (IS_SPACE(ch))
- type = TOKEN_SPACE;
- else if (IS_ACTIVE(ch))
- type = TOKEN_WORD;
- else
- type = TOKEN_SIMPLE;
- }
-
+ else if (IS_ACTIVE(ch))
+ type = TOKEN_WORD;
+ else
+ type = TOKEN_SIMPLE;
+ }
+ } while (type == TOKEN_NONE);
obstack_1grow (&token_stack, '\0');
@@ -1331,6 +1335,10 @@ print_token (const char *s, token_type t, token_data *td)
case TOKEN_EOF:
fprintf (stderr, "eof\n");
break;
+
+ case TOKEN_NONE:
+ fprintf (stderr, "none\n");
+ break;
}
return 0;
}
diff --git a/src/m4.c b/src/m4.c
index 43f896c9..f44d7444 100644
--- a/src/m4.c
+++ b/src/m4.c
@@ -71,6 +71,12 @@ static int show_help = 0;
/* If nonzero, print the version on standard output and exit. */
static int show_version = 0;
+/* If nonzero, import the environment as macros. */
+static int import_environment = 0;
+
+/* If nonzero, comments are discarded in the token parser. */
+int discard_comments = 0;
+
struct macro_definition
{
struct macro_definition *next;
@@ -81,18 +87,23 @@ typedef struct macro_definition macro_definition;
/* Error handling functions. */
-/*-------------------------------------------------------------------------.
-| Print source and line reference on standard error, as a prefix for error |
-| messages. Flush standard output first. |
-`-------------------------------------------------------------------------*/
+/*----------------------------------------------------------------------.
+| Print program name, source file and line reference on standard |
+| error, as a prefix for error messages. Flush standard output first. |
+`----------------------------------------------------------------------*/
+
+#include <error.h>
void
-reference_error (void)
+print_program_name (void)
{
fflush (stdout);
- fprintf (stderr, "%s:%d: ", current_file, current_line);
+ fprintf (stderr, "%s: ", program_name);
+ if (current_line != 0)
+ fprintf (stderr, "%s: %d: ", current_file, current_line);
}
+
#ifdef USE_STACKOVF
/*---------------------------------------.
@@ -214,6 +225,7 @@ static const struct option long_options[] =
{
{"arglength", required_argument, NULL, 'l'},
{"debug", optional_argument, NULL, 'd'},
+ {"discard-comments", no_argument, NULL, 'c'},
{"diversions", required_argument, NULL, 'N'},
{"error-output", required_argument, NULL, 'o'},
{"fatal-warnings", no_argument, NULL, 'E'},
@@ -222,7 +234,7 @@ static const struct option long_options[] =
{"include", required_argument, NULL, 'I'},
{"interactive", no_argument, NULL, 'e'},
#ifdef WITH_MODULES
- {"module", required_argument, NULL, 'M'},
+ {"load-module", required_argument, NULL, 'M'},
#endif /* WITH_MODULES */
{"nesting-limit", required_argument, NULL, 'L'},
{"prefix-builtins", no_argument, NULL, 'P'},
@@ -233,6 +245,8 @@ static const struct option long_options[] =
{"traditional", no_argument, NULL, 'G'},
{"word-regexp", required_argument, NULL, 'W'},
+ {"import-environment", no_argument, &import_environment, 1},
+
{"help", no_argument, &show_help, 1},
{"version", no_argument, &show_version, 1},
@@ -245,9 +259,9 @@ static const struct option long_options[] =
};
#ifdef ENABLE_CHANGEWORD
-#define OPTSTRING "B:D:EF:GH:I:L:N:PQR:S:T:U:W:d::el:o:st:"
+#define OPTSTRING "B:D:EF:GH:I:L:N:PQR:S:T:U:W:cd::el:o:st:"
#else
-#define OPTSTRING "B:D:EF:GH:I:L:N:PQR:S:T:U:d::el:o:st:"
+#define OPTSTRING "B:D:EF:GH:I:L:N:PQR:S:T:U:cd::el:o:st:"
#endif
int
@@ -263,6 +277,8 @@ main (int argc, char *const *argv, char *const *envp)
char *filename;
program_name = argv[0];
+ error_print_progname = print_program_name;
+
setlocale (LC_ALL, "");
#ifdef ENABLE_NLS
textdomain(PACKAGE);
@@ -361,6 +377,10 @@ main (int argc, char *const *argv, char *const *envp)
break;
#endif
+ case 'c':
+ discard_comments = 1;
+ break;
+
case 'd':
debug_level = debug_decode (optarg);
if (debug_level < 0)
@@ -392,15 +412,27 @@ main (int argc, char *const *argv, char *const *envp)
if (show_version)
{
- printf ("GNU %s %s\n", PACKAGE, VERSION);
+ printf ("GNU %s %s", PACKAGE, VERSION);
+#if defined(WITH_MODULES) || defined(WITH_GMP) || defined(ENABLE_CHANGEWORD)
+ fputs(_(" (options:"), stdout);
+#ifdef WITH_MODULES
+ fputs(" modules", stdout);
+#endif /* WITH_MODULES */
+#ifdef WITH_GMP
+ fputs(" gmp", stdout);
+#endif /* WITH_GMP */
+#ifdef ENABLE_CHANGEWORD
+ fputs(" changeword", stdout);
+#endif /* ENABLE_CHANGEWORD */
+ fputs(")", stdout);
+#endif /* defined WITH_MODULES || WITH_GMP || ENABLE_CHANGEWORD */
+ fputs("\n", stdout);
exit (EXIT_SUCCESS);
}
if (show_help)
usage (EXIT_SUCCESS);
- defines = head;
-
/* Do the basic initialisations. */
input_init ();
@@ -413,9 +445,30 @@ main (int argc, char *const *argv, char *const *envp)
else
builtin_init ();
+
+ /* Import environment variables as macros. The definition are
+ preprended to the macro definition list, so -U can override
+ environment variables. */
+
+ if (import_environment)
+ {
+ char *const *env;
+
+ for (env = envp; *env != NULL; env++)
+ {
+ new = (macro_definition *) xmalloc (sizeof (macro_definition));
+ new->code = 'D';
+ new->macro = *env;
+ new->next = head;
+ head = new;
+ }
+ }
+
/* Handle deferred command line macro definitions. Must come after
initialisation of the symbol table. */
+ defines = head;
+
while (defines != NULL)
{
macro_definition *next;
diff --git a/src/m4.h b/src/m4.h
index ecfc5593..8838343d 100644
--- a/src/m4.h
+++ b/src/m4.h
@@ -163,15 +163,13 @@ extern int max_debug_argument_length; /* -l */
extern int suppress_warnings; /* -Q */
extern int warning_status; /* -E */
extern int nesting_limit; /* -L */
+extern int discard_comments; /* -c */
#ifdef ENABLE_CHANGEWORD
extern const char *user_word_regexp; /* -W */
#endif
/* Error handling. */
-#define M4ERROR(Arglist) \
- (reference_error (), error Arglist)
-
-void reference_error __P ((void));
+#define M4ERROR(Arglist) (error Arglist)
#ifdef USE_STACKOVF
void setup_stackovf_trap __P ((char *const *, char *const *,
@@ -280,6 +278,7 @@ void trace_post __P ((const char *, int, int, token_data **, const char *));
enum token_type
{
TOKEN_EOF, /* end of file */
+ TOKEN_NONE, /* discardable token */
TOKEN_STRING, /* a quoted string */
TOKEN_SPACE, /* whitespace */
TOKEN_WORD, /* an identifier */
@@ -522,12 +521,40 @@ void include_env_init __P ((void));
void add_include_directory __P ((const char *));
FILE *path_search __P ((const char *, char **));
+/* These are for other search paths */
+
+struct search_path
+{
+ struct search_path *next; /* next directory to search */
+ const char *dir; /* directory */
+ int len;
+};
+
+typedef struct search_path search_path;
+
+struct search_path_info
+{
+ search_path *list; /* the list of path directories */
+ search_path *list_end; /* the end of same */
+ int max_length; /* length of longest directory name */
+};
+
+struct search_path_info *search_path_info_new __P((void));
+void search_path_env_init __P ((struct search_path_info *, char *, boolean));
+void search_path_add __P ((struct search_path_info *, const char *));
+
+
/* File: eval.c --- expression evaluation. */
boolean evaluate __P ((struct obstack *obs,
const char *, const int radix, int min));
+#ifdef WITH_GMP
+boolean mp_evaluate __P ((struct obstack *obs,
+ const char *, const int radix, int min));
+#endif /* WITH_GMP */
+
/* File: format.c --- printf like formatting. */
@@ -543,15 +570,11 @@ void reload_frozen_state __P ((const char *));
/* File: module.c --- dynamic modules */
+#ifdef WITH_MODULES
+
typedef void module_init_t (struct obstack *obs);
typedef void module_finish_t (void);
-#if defined(HAVE_DLOPEN) || defined(HAVE_SHL_LOAD)
-#define WITH_MODULES
-#endif
-
-#ifdef WITH_MODULES
-
typedef voidstar module_func (const char *);
void module_init (void);
@@ -559,10 +582,6 @@ void module_unload_all (void);
builtin *module_load (const char *modname, struct obstack *obs);
-/* These are really in path.c */
-void module_env_init (void);
-void add_module_directory (const char *dir);
-voidstar module_search (const char *dir, module_func *try);
#endif /* WITH_MODULES */
diff --git a/src/module.c b/src/module.c
index b9985994..970866db 100644
--- a/src/module.c
+++ b/src/module.c
@@ -20,6 +20,8 @@
#ifdef WITH_MODULES
+#include "pathconf.h"
+
#define DEBUG_MODULES
#undef DEBUG_MODULES
@@ -28,9 +30,11 @@
* compiled shared object, that can be linked into GNU m4 at run
* time. Information about creating modules is in ../modules/README.
*
- * The current implementation uses dlopen(3). To enable this
- * experimental feature give configure the `--with-modules' switch.
- * This implementation is only tested on Linux.
+ * The current implementation uses either dlopen(3) (exists on
+ * GNU/Linux, OSF, Solaris, SunOS) or shl_load(3) (exists on HPUX). To
+ * enable this experimental feature give configure the `--with-modules'
+ * switch. This implementation is only tested on GNU/Linux, OSF,
+ * Solaris, SunOS and HPUX.
*
* A m4 module need only define one external symbol, called
* `m4_macro_table'. This symbol should point to a table of `struct
@@ -39,22 +43,21 @@
* symbol table.
*
* The code implementing loadable modules is modest. It is divided
- * between the files path.c (search in module path), builtin.c (user
- * interface and support for multiple builtin tables) and this file (OS
- * dependant routines).
+ * between the files builtin.c (user interface and support for multiple
+ * builtin tables) and this file (OS dependant routines).
*
- * To load a module, use `loadmodule(modulename.so)', where .so is the
- * normal extention for shared object files. The function
+ * To load a module, use `loadmodule(modulename)'. The function
* `m4_loadmodule' calls module_load() in this file, which uses
- * module_search() in path.c to find the module in the module search
- * path. This path is initialised from the environment variable
- * M4MODPATH, and cannot be modified in any way. Module_search()
- * constructs absolute file names and calls module_try_load() in this
- * file. This function returns NULL on failure and a non-NULL void* on
- * success. If succesful module_search() returns the value of this
- * void*, which is a handle for the vm segment mapped. Module_load()
- * checks to see if the module is alreay loaded, and if not, retrives
- * the symbol `m4_macro_table' and returns it's value to
+ * module_search() to find the module in the module search path. This
+ * path is initialised from the environment variable M4MODPATH, or if
+ * not set, initalised to a configuration time default. Module_search()
+ * constructs absolute file names and calls module_try_load(). This
+ * function reads the libtool .la file to get the real library name
+ * (which can be system dependent) and returns NULL on failure and a
+ * non-NULL void* on success. If succesful module_search() returns the
+ * value of this void*, which is a handle for the vm segment mapped.
+ * Module_load() checks to see if the module is alreay loaded, and if
+ * not, retrives the symbol `m4_macro_table' and returns it's value to
* m4_loadmodule(). This pointer should be a builtin*, which is
* installed using install_builtin_table().
*
@@ -68,78 +71,130 @@
* safe to load the same module several times, it has no effect.
**/
+static const char *dynamic_error_message = NULL;
+
+static const char *
+dynamic_error ()
+{
+ return dynamic_error_message;
+}
+
+
#if defined (HAVE_SHL_LOAD)
#include <dl.h>
-voidstar
+static voidstar
dynamic_load (const char *modname)
{
- return shl_load (modname, BIND_IMMEDIATE, 0L);
+ voidstar handle;
+
+ dynamic_error_message = NULL;
+
+ handle = shl_load (modname, BIND_IMMEDIATE, 0L);
+ if (handle == NULL)
+ dynamic_error_message = strerror (errno);
+
+ return handle;
}
-void
+static void
dynamic_unload (voidstar handle)
{
shl_unload ((shl_t)handle);
}
-voidstar
+static voidstar
dynamic_find_data (voidstar handle, const char *symbol)
{
voidstar addr;
+ shl_t *hp = (shl_t *)&handle;
+
+ dynamic_error_message = NULL;
- /* XXX TYPE_PROCEDURE is probably wrong here, as it is a data pointer */
- shl_findsym ((shl_t)handle, symbol, TYPE_PROCEDURE, (voidstar)&addr);
- return addr;
+ if (!shl_findsym (hp, symbol, TYPE_DATA, (voidstar)&addr))
+ {
+ dynamic_error_message = strerror (errno);
+ return addr;
+ }
+ else
+ return NULL;
}
-voidstar
+static voidstar
dynamic_find_func (voidstar handle, const char *symbol)
{
voidstar addr;
+ shl_t *hp = (shl_t *)&handle;
- shl_findsym ((shl_t)handle, symbol, TYPE_PROCEDURE, (voidstar)&addr);
- return addr;
+ dynamic_error_message = NULL;
+
+ if (!shl_findsym (hp, symbol, TYPE_PROCEDURE, (voidstar)&addr))
+ {
+ dynamic_error_message = strerror (errno);
+ return addr;
+ }
+ else
+ return NULL;
}
#else /* HAVE_DLOPEN */
#include <dlfcn.h>
-voidstar
+static voidstar
dynamic_load (const char *modname)
{
- return dlopen (modname, RTLD_NOW);
+ voidstar handle;
+
+ dynamic_error_message = NULL;
+
+ handle = dlopen (modname, RTLD_NOW);
+ if (handle == NULL)
+ dynamic_error_message = dlerror ();
+
+ return handle;
}
-void
+static void
dynamic_unload(voidstar handle)
{
dlclose (handle);
}
-voidstar
+static voidstar
dynamic_find_data (voidstar handle, const char *symbol)
{
- return dlsym (handle, symbol);
+ voidstar sym;
+
+ dynamic_error_message = NULL;
+
+ sym = dlsym (handle, symbol);
+ if (sym == NULL)
+ dynamic_error_message = dlerror ();
+
+ return sym;
}
-voidstar
+static voidstar
dynamic_find_func (voidstar handle, const char *symbol)
{
- return dlsym (handle, symbol);
+ return dynamic_find_data (handle, symbol);
}
#endif /* HAVE_DLOPEN */
-
+
/*
* The rest of the code should be common for all interfaces.
*/
+/* module search path */
+
+static struct search_path_info *modpath; /* the list of module directories */
+
/* This list is used to check for repeated loading of the same modules. */
@@ -162,21 +217,108 @@ static module_list *modules;
void
module_init (void)
{
- module_env_init ();
+ char *path;
+
+ modpath = search_path_info_new ();
+
+ if (no_gnu_extensions)
+ return;
+
+ path = getenv ("M4MODPATH");
+ if (path == NULL)
+ search_path_add (modpath, MODULE_PATH);
+ else
+ search_path_env_init (modpath, path, TRUE);
+
}
/*
- * Attempt to load a module with a absolute file name. It is used as a
- * callback from module_search() in path.c.
+ * This function will try to find the .la file which libtool have made
+ * for the library, lookup the dlname='xxx' line and load that file from
+ * the same directory. The argument FILE is a pointer to the file name
+ * part of the PATH buffer. The PATH buffer should be large enough for
+ * file name changes needed to find the library file. These are:
+ * MODNAME -> libMODNAME.la -> dlname from file.
*/
-voidstar
-module_try_load (const char *modname)
+
+static voidstar
+module_try_load (char *path, char *file)
{
- return dynamic_load (modname);
+ FILE *fp;
+ char buf[1024];
+ char *tmp;
+
+ /* Find libFILE.la file by libtool */
+ sprintf (buf, "lib%s.la", file);
+ strcpy (file, buf);
+
+ fp = fopen (path, "r");
+ if (fp == NULL)
+ return NULL;
+
+ /* Search file for true library name */
+ while (fgets (buf, sizeof buf, fp) != NULL)
+ {
+ if (strncmp (buf, "dlname='", 8) == 0)
+ {
+ tmp = strrchr (buf, '\'');
+ if (tmp != NULL) {
+ *tmp = '\0';
+ strcpy (file, buf+8);
+
+ fclose (fp);
+ return dynamic_load (path);
+ }
+ }
+ }
+
+ fclose (fp);
+ return NULL;
}
+static voidstar
+module_search (const char *modname)
+{
+ voidstar value = NULL;
+ struct search_path *incl;
+ char *name; /* buffer for constructed name */
-void
+ /* If absolute, modname is a filename. */
+ if (*modname == '/')
+ {
+ name = xstrdup (modname);
+ value = module_try_load (name, strrchr (name, '/')+1);
+ xfree (name);
+ return value;
+ }
+
+ /* Allocate buffer for mangling path, extra for shlib naming conventions */
+ name = (char *) xmalloc (modpath->max_length + 1 + strlen (modname) +1+64);
+
+ for (incl = modpath->list; incl != NULL; incl = incl->next)
+ {
+ strncpy (name, incl->dir, incl->len);
+ name[incl->len] = '/';
+ strcpy (name + incl->len + 1, modname);
+
+#ifdef DEBUG_MODULE
+ fprintf (stderr, "module_search (%s) -- trying %s\n", modname, name);
+#endif
+
+ value = module_try_load (name, name + incl->len + 1);
+ if (value != NULL)
+ {
+ if (debug_level & DEBUG_TRACE_PATH)
+ DEBUG_MESSAGE2 (_("Module search for `%s' found `%s'"),
+ modname, name);
+ break;
+ }
+ }
+ xfree (name);
+ return value;
+}
+
+static void
module_unload(voidstar handle)
{
dynamic_unload (handle);
@@ -199,11 +341,16 @@ module_load (const char *modname, struct obstack *obs)
builtin *btab;
module_init_t *init_func;
- handle = module_search(modname, module_try_load);
+ handle = module_search (modname);
if (handle == NULL)
{
- M4ERROR ((EXIT_FAILURE, 0,
- _("ERROR: cannot find module `%s'"), modname));
+ if (dynamic_error ())
+ M4ERROR ((EXIT_FAILURE, 0,
+ _("ERROR: cannot find module `%s': %s"),
+ modname, dynamic_error ()));
+ else
+ M4ERROR ((EXIT_FAILURE, 0,
+ _("ERROR: cannot find module `%s'"), modname));
}
for (list = modules; list != NULL; list = list->next)
diff --git a/src/numb.c b/src/numb.c
index 8dfa077e..c83e89d2 100644
--- a/src/numb.c
+++ b/src/numb.c
@@ -17,21 +17,21 @@
*/
/* This file contains the functions to evaluate integer or multiple
- precision expressions for the "eval" macro.
- */
+ * precision expressions for the "eval" macro.
+ */
-#include "m4.h"
-#include "numb.h"
+/* THIS FILE IS INTENDED FOR INCLUSION IN eval.c NOT FOR COMPILATION */
+#include "numb.h"
-#ifdef WITH_GMP
+#ifdef USE_GMP
-eval_t numb_ZERO;
-eval_t numb_ONE;
+static eval_t numb_ZERO;
+static eval_t numb_ONE;
static int numb_initialised = 0;
-void
+static void
numb_initialise(void) {
if (numb_initialised)
return;
@@ -45,7 +45,7 @@ numb_initialise(void) {
numb_initialised = 1;
}
-void
+static void
numb_obstack(struct obstack *obs, const eval_t value,
const int radix, int min)
{
@@ -99,7 +99,7 @@ mpz2mpq(eval_t q, const mpz_t z)
mpq_set_num(q,z);
}
-void
+static void
numb_divide(eval_t *x, const eval_t *y)
{
mpq_t qres;
@@ -116,7 +116,7 @@ numb_divide(eval_t *x, const eval_t *y)
mpz_clear(zres);
}
-void
+static void
numb_modulo(eval_t *x, const eval_t *y)
{
mpz_t xx, yy, res;
@@ -140,7 +140,7 @@ numb_modulo(eval_t *x, const eval_t *y)
mpz_clear(res);
}
-void
+static void
numb_and(eval_t *x, const eval_t *y)
{
mpz_t xx, yy, res;
@@ -164,7 +164,7 @@ numb_and(eval_t *x, const eval_t *y)
mpz_clear(res);
}
-void
+static void
numb_ior(eval_t *x, const eval_t *y)
{
mpz_t xx, yy, res;
@@ -188,7 +188,7 @@ numb_ior(eval_t *x, const eval_t *y)
mpz_clear(res);
}
-void
+static void
numb_eor(eval_t *x, const eval_t *y)
{
mpz_t xx, yy, res;
@@ -235,7 +235,7 @@ numb_eor(eval_t *x, const eval_t *y)
mpz_clear(res);
}
-void
+static void
numb_not(eval_t *x)
{
mpz_t xx, res;
@@ -254,7 +254,7 @@ numb_not(eval_t *x)
mpz_clear(res);
}
-void
+static void
numb_lshift(eval_t *x, const eval_t *y)
{
mpz_t xx, yy, res;
@@ -285,7 +285,7 @@ numb_lshift(eval_t *x, const eval_t *y)
mpz_clear(res);
}
-void
+static void
numb_rshift(eval_t *x, const eval_t *y)
{
mpz_t xx, yy, res;
@@ -317,9 +317,9 @@ numb_rshift(eval_t *x, const eval_t *y)
}
-#else /* WITH_GMP */
+#else /* USE_GMP */
-void
+static void
numb_initialise(void)
{
;
@@ -367,7 +367,7 @@ ntoa (eval_t value, int radix)
return s;
}
-void
+static void
numb_obstack(struct obstack *obs, const eval_t value,
const int radix, int min)
{
@@ -386,10 +386,10 @@ numb_obstack(struct obstack *obs, const eval_t value,
}
-#endif /* WITH_GMP */
+#endif /* USE_GMP */
-void
+static void
numb_pow (eval_t *x, const eval_t *y)
{
/* y should be integral */
diff --git a/src/numb.h b/src/numb.h
index 2fa02a58..cbee08fa 100644
--- a/src/numb.h
+++ b/src/numb.h
@@ -18,19 +18,16 @@
#include "m4.h"
-#ifdef WITH_GMP
+#ifdef USE_GMP
#define NUMB_MP 1
#endif
-#ifdef WITH_GMP
+#ifdef USE_GMP
#include "gmp.h"
/* eval_t should be at least 32 bits. */
typedef mpq_t eval_t;
-extern eval_t numb_ZERO;
-extern eval_t numb_ONE;
-
#define numb_set(ans,i) mpq_set(ans,i)
#define numb_set_si(ans,i) mpq_set_si(*(ans),(long)i,(unsigned long)1)
@@ -67,22 +64,8 @@ extern eval_t numb_ONE;
#define numb_decr(n) numb_minus(n,numb_ONE)
-
-
-void numb_divide(eval_t *x, const eval_t *y);
-void numb_modulo(eval_t *x, const eval_t *y);
-void numb_and(eval_t *x, const eval_t *y);
-void numb_ior(eval_t *x, const eval_t *y);
-void numb_eor(eval_t *x, const eval_t *y);
-void numb_not(eval_t *x);;
-void numb_lshift(eval_t *x, const eval_t *y);
-void numb_rshift(eval_t *x, const eval_t *y);
-void numb_pow (eval_t *x, const eval_t *y);
-
-
-
-#else /* not WITH_GMP */
+#else /* not USE_GMP */
/* eval_t should be at least 32 bits. */
/* use GNU long long int if available */
@@ -93,9 +76,6 @@ typedef unsigned long long int ueval_t;
typedef long int eval_t;
typedef unsigned long int ueval_t;
#endif
-
-extern eval_t numb_ZERO;
-extern eval_t numb_ONE;
#define int2numb(i) ((eval_t)(i))
#define numb2int(n) ((n))
@@ -145,12 +125,4 @@ extern eval_t numb_ONE;
#define numb_lshift(x,y) (*(x) = (*(x) << *(y)))
#define numb_rshift(x,y) (*(x) = (*(x) >> *(y)))
-void numb_pow (eval_t *x, const eval_t *y);
-
-#endif /* WITH_GMP */
-
-
-void numb_initialise __P((void));
-void numb_obstack __P((struct obstack *obs,
- const eval_t value,
- const int radix, int min));
+#endif /* USE_GMP */
diff --git a/src/output.c b/src/output.c
index ed8f9a74..b0c5d14a 100644
--- a/src/output.c
+++ b/src/output.c
@@ -488,7 +488,7 @@ insert_diversion (int divnum)
/* Do not care about unexisting diversions. */
- if (divnum < 0 || divnum >= diversions)
+ if (divnum <= 0 || divnum >= diversions)
return;
/* Also avoid undiverting into self. */
diff --git a/src/path.c b/src/path.c
index 6510a6a2..d578ee7f 100644
--- a/src/path.c
+++ b/src/path.c
@@ -16,82 +16,60 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Handling of path search of included files via the builtins "include"
- and "sinclude" (and "loadmodule" if configured). */
+ and "sinclude". */
#include "m4.h"
-#ifdef WITH_MODULES
-#include "pathconf.h"
-#endif /* WITH_MODULES */
+static struct search_path_info dirpath; /* the list of path directories */
-struct includes
-{
- struct includes *next; /* next directory to search */
- const char *dir; /* directory */
- int len;
-};
-
-typedef struct includes includes;
+
+/*
+ * Generel functions for search paths
+ */
-struct include_list
+struct search_path_info *
+search_path_info_new (void)
{
- includes *list; /* the list of path directories */
- includes *list_end; /* the end of same */
- int max_length; /* length of longest directory name */
-};
-
-typedef struct include_list include_list;
-
-static include_list dirpath; /* the list of path directories */
+ struct search_path_info *info;
-#ifdef WITH_MODULES
-static include_list modpath; /* the list of module directories */
-#endif /* WITH_MODULES */
+ info = (struct search_path_info *)
+ xmalloc (sizeof (struct search_path_info));
+ info->list = NULL;
+ info->list_end = NULL;
+ info->max_length = 0;
-
-void
-include_init (void)
-{
- dirpath.list = NULL;
- dirpath.list_end = NULL;
- dirpath.max_length = 0;
-
-#ifdef WITH_MODULES
- modpath.list = NULL;
- modpath.list_end = NULL;
- modpath.max_length = 0;
-#endif /* WITH_MODULES */
+ return info;
}
-static void
-include_directory (struct include_list *list, const char *dir)
+void
+search_path_add (struct search_path_info *info, const char *dir)
{
- includes *incl;
+ search_path *path;
if (*dir == '\0')
dir = ".";
- incl = (includes *) xmalloc (sizeof (struct includes));
- incl->next = NULL;
- incl->len = strlen (dir);
- incl->dir = xstrdup (dir);
+ path = (struct search_path *) xmalloc (sizeof (struct search_path));
+ path->next = NULL;
+ path->len = strlen (dir);
+ path->dir = xstrdup (dir);
- if (incl->len > list->max_length) /* remember len of longest directory */
- list->max_length = incl->len;
+ if (path->len > info->max_length) /* remember len of longest directory */
+ info->max_length = path->len;
- if (list->list_end == NULL)
- list->list = incl;
+ if (info->list_end == NULL)
+ info->list = path;
else
- list->list_end->next = incl;
- list->list_end = incl;
+ info->list_end->next = path;
+ info->list_end = path;
}
-static void
-env_init (struct include_list *list, char *path, boolean abs)
+void
+search_path_env_init (struct search_path_info *info, char *path, boolean abs)
{
char *path_end;
- if (path == NULL)
+ if (info == NULL || path == NULL)
return;
do
@@ -100,13 +78,22 @@ env_init (struct include_list *list, char *path, boolean abs)
if (path_end)
*path_end = '\0';
if (!abs || *path == '/')
- include_directory (list, path);
+ search_path_add (info, path);
path = path_end + 1;
}
while (path_end);
}
+void
+include_init (void)
+{
+ dirpath.list = NULL;
+ dirpath.list_end = NULL;
+ dirpath.max_length = 0;
+}
+
+
/* Functions for normal input path search */
void
@@ -115,7 +102,7 @@ include_env_init (void)
if (no_gnu_extensions)
return;
- env_init (&dirpath, getenv ("M4PATH"), FALSE);
+ search_path_env_init (&dirpath, getenv ("M4PATH"), FALSE);
}
void
@@ -124,7 +111,7 @@ add_include_directory (const char *dir)
if (no_gnu_extensions)
return;
- include_directory (&dirpath, dir);
+ search_path_add (&dirpath, dir);
#ifdef DEBUG_INCL
fprintf (stderr, "add_include_directory (%s);\n", dir);
@@ -135,7 +122,7 @@ FILE *
path_search (const char *dir, char **expanded_name)
{
FILE *fp;
- includes *incl;
+ struct search_path *incl;
char *name; /* buffer for constructed name */
/* Look in current working directory first. */
@@ -193,70 +180,3 @@ include_dump (void)
}
#endif /* DEBUG_INCL */
-
-
-/* Functions for module search path */
-
-#ifdef WITH_MODULES
-
-void
-module_env_init (void)
-{
- if (no_gnu_extensions)
- return;
-
- include_directory (&modpath, MODULE_PATH);
- env_init (&modpath, getenv ("M4MODPATH"), TRUE);
-}
-
-void
-add_module_directory (const char *dir)
-{
- if (no_gnu_extensions)
- return;
-
- if (*dir == '/')
- include_directory (&modpath, dir);
-
-#ifdef DEBUG_INCL
- fprintf (stderr, "add_module_directory (%s);\n", dir);
-#endif
-}
-
-voidstar
-module_search (const char *modname, module_func *try)
-{
- voidstar value = NULL;
- includes *incl;
- char *name; /* buffer for constructed name */
-
- /* If absolute, modname is a filename. */
- if (*modname == '/')
- return (*try) (modname);
-
- name = (char *) xmalloc (modpath.max_length + 1 + strlen (modname) + 1);
-
- for (incl = modpath.list; incl != NULL; incl = incl->next)
- {
- strncpy (name, incl->dir, incl->len);
- name[incl->len] = '/';
- strcpy (name + incl->len + 1, modname);
-
-#ifdef DEBUG_MODULE
- fprintf (stderr, "module_search (%s) -- trying %s\n", modname, name);
-#endif
-
- value = (*try) (name);
- if (value != NULL)
- {
- if (debug_level & DEBUG_TRACE_PATH)
- DEBUG_MESSAGE2 (_("Module search for `%s' found `%s'"),
- modname, name);
- break;
- }
- }
- xfree (name);
- return value;
-}
-
-#endif /* WITH_MODULES */
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 61992cd9..926aee94 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -80,11 +80,15 @@ OTHER_TESTS = \
other-tests/gmp.test \
other-tests/iso8859.test \
other-tests/sync-lines.test \
+ other-tests/import-environment.test \
+ other-tests/discard-comments.test \
other-tests/stackovf.test
OTHER_FILES = \
other-tests/gmp.m4 \
other-tests/iso8859.m4 \
+ other-tests/import-environment.m4 \
+ other-tests/discard-comments.m4 \
other-tests/sync-lines.m4
all: stamp-TESTS
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 0e868c6f..60747f25 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -78,6 +78,7 @@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
+INTLINCL = @INTLINCL@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
LD = @LD@
@@ -180,11 +181,15 @@ OTHER_TESTS = \
other-tests/gmp.test \
other-tests/iso8859.test \
other-tests/sync-lines.test \
+ other-tests/import-environment.test \
+ other-tests/discard-comments.test \
other-tests/stackovf.test
OTHER_FILES = \
other-tests/gmp.m4 \
other-tests/iso8859.m4 \
+ other-tests/import-environment.m4 \
+ other-tests/discard-comments.m4 \
other-tests/sync-lines.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
diff --git a/tests/generated-tests/argument.1.test b/tests/generated-tests/argument.1.test
index 0e4cd98d..8ae02f63 100755
--- a/tests/generated-tests/argument.1.test
+++ b/tests/generated-tests/argument.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/argument.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1042
+# generated from example in ../doc/m4.texinfo line 1052
. ${srcdir}/defs
diff --git a/tests/generated-tests/argument.2.test b/tests/generated-tests/argument.2.test
index e54dc0dd..66c5a0bc 100755
--- a/tests/generated-tests/argument.2.test
+++ b/tests/generated-tests/argument.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/argument.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1052
+# generated from example in ../doc/m4.texinfo line 1062
. ${srcdir}/defs
diff --git a/tests/generated-tests/argument.3.test b/tests/generated-tests/argument.3.test
index 9ab64cf3..1a4f5997 100755
--- a/tests/generated-tests/argument.3.test
+++ b/tests/generated-tests/argument.3.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/argument.3.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1072
+# generated from example in ../doc/m4.texinfo line 1082
. ${srcdir}/defs
diff --git a/tests/generated-tests/argument.4.test b/tests/generated-tests/argument.4.test
index 5597ef6a..dc0d79d4 100755
--- a/tests/generated-tests/argument.4.test
+++ b/tests/generated-tests/argument.4.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/argument.4.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1082
+# generated from example in ../doc/m4.texinfo line 1092
. ${srcdir}/defs
diff --git a/tests/generated-tests/changeco.1.test b/tests/generated-tests/changeco.1.test
index 063a9ea2..08267455 100755
--- a/tests/generated-tests/changeco.1.test
+++ b/tests/generated-tests/changeco.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changeco.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1965
+# generated from example in ../doc/m4.texinfo line 1975
. ${srcdir}/defs
diff --git a/tests/generated-tests/changeco.2.test b/tests/generated-tests/changeco.2.test
index 55c2f6bf..07a4ca11 100755
--- a/tests/generated-tests/changeco.2.test
+++ b/tests/generated-tests/changeco.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changeco.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1986
+# generated from example in ../doc/m4.texinfo line 1996
. ${srcdir}/defs
diff --git a/tests/generated-tests/changequ.1.test b/tests/generated-tests/changequ.1.test
index edf29d0c..8704aa2e 100755
--- a/tests/generated-tests/changequ.1.test
+++ b/tests/generated-tests/changequ.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changequ.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1901
+# generated from example in ../doc/m4.texinfo line 1911
. ${srcdir}/defs
diff --git a/tests/generated-tests/changequ.2.test b/tests/generated-tests/changequ.2.test
index be91487d..5897c1de 100755
--- a/tests/generated-tests/changequ.2.test
+++ b/tests/generated-tests/changequ.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changequ.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1913
+# generated from example in ../doc/m4.texinfo line 1923
. ${srcdir}/defs
diff --git a/tests/generated-tests/changequ.3.test b/tests/generated-tests/changequ.3.test
index 4f604779..9dcbccba 100755
--- a/tests/generated-tests/changequ.3.test
+++ b/tests/generated-tests/changequ.3.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changequ.3.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1925
+# generated from example in ../doc/m4.texinfo line 1935
. ${srcdir}/defs
diff --git a/tests/generated-tests/changesy.1.test b/tests/generated-tests/changesy.1.test
index 6d4b4f93..84a0b0b2 100755
--- a/tests/generated-tests/changesy.1.test
+++ b/tests/generated-tests/changesy.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changesy.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2137
+# generated from example in ../doc/m4.texinfo line 2147
. ${srcdir}/defs
diff --git a/tests/generated-tests/changesy.2.test b/tests/generated-tests/changesy.2.test
index e75f05e6..7aa20c67 100755
--- a/tests/generated-tests/changesy.2.test
+++ b/tests/generated-tests/changesy.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changesy.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2153
+# generated from example in ../doc/m4.texinfo line 2163
. ${srcdir}/defs
diff --git a/tests/generated-tests/changesy.3.test b/tests/generated-tests/changesy.3.test
index 6381878e..4cdc7c32 100755
--- a/tests/generated-tests/changesy.3.test
+++ b/tests/generated-tests/changesy.3.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changesy.3.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2170
+# generated from example in ../doc/m4.texinfo line 2180
. ${srcdir}/defs
diff --git a/tests/generated-tests/changesy.4.test b/tests/generated-tests/changesy.4.test
index df422cf2..765eb1a3 100755
--- a/tests/generated-tests/changesy.4.test
+++ b/tests/generated-tests/changesy.4.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changesy.4.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2196
+# generated from example in ../doc/m4.texinfo line 2206
. ${srcdir}/defs
diff --git a/tests/generated-tests/changesy.5.test b/tests/generated-tests/changesy.5.test
index 67729fe2..2e0cd315 100755
--- a/tests/generated-tests/changesy.5.test
+++ b/tests/generated-tests/changesy.5.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changesy.5.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2225
+# generated from example in ../doc/m4.texinfo line 2235
. ${srcdir}/defs
diff --git a/tests/generated-tests/changesy.6.test b/tests/generated-tests/changesy.6.test
index 3672095a..7a3b90ed 100755
--- a/tests/generated-tests/changesy.6.test
+++ b/tests/generated-tests/changesy.6.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changesy.6.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2249
+# generated from example in ../doc/m4.texinfo line 2259
. ${srcdir}/defs
diff --git a/tests/generated-tests/changesy.7.test b/tests/generated-tests/changesy.7.test
index 63fc848b..50dac458 100755
--- a/tests/generated-tests/changesy.7.test
+++ b/tests/generated-tests/changesy.7.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changesy.7.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2271
+# generated from example in ../doc/m4.texinfo line 2281
. ${srcdir}/defs
diff --git a/tests/generated-tests/changesy.8.test b/tests/generated-tests/changesy.8.test
index a087f85a..201285b4 100755
--- a/tests/generated-tests/changesy.8.test
+++ b/tests/generated-tests/changesy.8.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/changesy.8.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2282
+# generated from example in ../doc/m4.texinfo line 2292
. ${srcdir}/defs
diff --git a/tests/generated-tests/cleardiv.1.test b/tests/generated-tests/cleardiv.1.test
index f4df3723..d3af45e3 100755
--- a/tests/generated-tests/cleardiv.1.test
+++ b/tests/generated-tests/cleardiv.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/cleardiv.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2792
+# generated from example in ../doc/m4.texinfo line 2802
. ${srcdir}/defs
diff --git a/tests/generated-tests/cleardiv.2.test b/tests/generated-tests/cleardiv.2.test
index f7f90826..cfc78e0d 100755
--- a/tests/generated-tests/cleardiv.2.test
+++ b/tests/generated-tests/cleardiv.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/cleardiv.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2807
+# generated from example in ../doc/m4.texinfo line 2817
. ${srcdir}/defs
diff --git a/tests/generated-tests/define.1.test b/tests/generated-tests/define.1.test
index e90c466a..a8a8463b 100755
--- a/tests/generated-tests/define.1.test
+++ b/tests/generated-tests/define.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/define.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 993
+# generated from example in ../doc/m4.texinfo line 1003
. ${srcdir}/defs
diff --git a/tests/generated-tests/define.2.test b/tests/generated-tests/define.2.test
index fbd55149..3c04ee6c 100755
--- a/tests/generated-tests/define.2.test
+++ b/tests/generated-tests/define.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/define.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1013
+# generated from example in ../doc/m4.texinfo line 1023
. ${srcdir}/defs
diff --git a/tests/generated-tests/defn.1.test b/tests/generated-tests/defn.1.test
index d9e02cfb..2042b105 100755
--- a/tests/generated-tests/defn.1.test
+++ b/tests/generated-tests/defn.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/defn.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1236
+# generated from example in ../doc/m4.texinfo line 1246
. ${srcdir}/defs
diff --git a/tests/generated-tests/defn.2.test b/tests/generated-tests/defn.2.test
index 6c9f827f..45821db0 100755
--- a/tests/generated-tests/defn.2.test
+++ b/tests/generated-tests/defn.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/defn.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1256
+# generated from example in ../doc/m4.texinfo line 1266
. ${srcdir}/defs
diff --git a/tests/generated-tests/divert.1.test b/tests/generated-tests/divert.1.test
index 340cf611..07fe3288 100755
--- a/tests/generated-tests/divert.1.test
+++ b/tests/generated-tests/divert.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/divert.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2634
+# generated from example in ../doc/m4.texinfo line 2644
. ${srcdir}/defs
diff --git a/tests/generated-tests/divert.2.test b/tests/generated-tests/divert.2.test
index e38c0f32..aa96473b 100755
--- a/tests/generated-tests/divert.2.test
+++ b/tests/generated-tests/divert.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/divert.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2654
+# generated from example in ../doc/m4.texinfo line 2664
. ${srcdir}/defs
diff --git a/tests/generated-tests/divnum.1.test b/tests/generated-tests/divnum.1.test
index 80e99a39..4765a0ab 100755
--- a/tests/generated-tests/divnum.1.test
+++ b/tests/generated-tests/divnum.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/divnum.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2761
+# generated from example in ../doc/m4.texinfo line 2771
. ${srcdir}/defs
diff --git a/tests/generated-tests/dnl.1.test b/tests/generated-tests/dnl.1.test
index 1017a958..c1ee4a39 100755
--- a/tests/generated-tests/dnl.1.test
+++ b/tests/generated-tests/dnl.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/dnl.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1863
+# generated from example in ../doc/m4.texinfo line 1873
. ${srcdir}/defs
diff --git a/tests/generated-tests/dumpdef.1.test b/tests/generated-tests/dumpdef.1.test
index 16e17a24..f00fdcb4 100755
--- a/tests/generated-tests/dumpdef.1.test
+++ b/tests/generated-tests/dumpdef.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/dumpdef.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1666
+# generated from example in ../doc/m4.texinfo line 1676
. ${srcdir}/defs
@@ -23,7 +23,7 @@ define: <define>
EOF
$M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/tests/generated-tests/errprint.1.test b/tests/generated-tests/errprint.1.test
index e063371e..42655a8f 100755
--- a/tests/generated-tests/errprint.1.test
+++ b/tests/generated-tests/errprint.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/errprint.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3480
+# generated from example in ../doc/m4.texinfo line 3501
. ${srcdir}/defs
@@ -19,7 +19,7 @@ Illegal arguments to forloop
EOF
$M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/tests/generated-tests/errprint.2.test b/tests/generated-tests/errprint.2.test
index d5fd9fda..3b8f0afd 100755
--- a/tests/generated-tests/errprint.2.test
+++ b/tests/generated-tests/errprint.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/errprint.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3505
+# generated from example in ../doc/m4.texinfo line 3526
. ${srcdir}/defs
@@ -19,7 +19,7 @@ m4:in:1: Input error
EOF
$M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/tests/generated-tests/esyscmd.1.test b/tests/generated-tests/esyscmd.1.test
index 59258346..b448131a 100755
--- a/tests/generated-tests/esyscmd.1.test
+++ b/tests/generated-tests/esyscmd.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/esyscmd.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3369
+# generated from example in ../doc/m4.texinfo line 3390
. ${srcdir}/defs
diff --git a/tests/generated-tests/eval.1.test b/tests/generated-tests/eval.1.test
index c6f35973..e2d82923 100755
--- a/tests/generated-tests/eval.1.test
+++ b/tests/generated-tests/eval.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/eval.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3253
+# generated from example in ../doc/m4.texinfo line 3255
. ${srcdir}/defs
@@ -28,11 +28,11 @@ cat <<\EOF >ok
EOF
cat <<\EOF >okerr
-in:7: m4: Bad expression in eval: foo/6
+m4: in: 7: Bad expression in eval: foo/6
EOF
$M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/tests/generated-tests/eval.2.test b/tests/generated-tests/eval.2.test
index d49338b5..376cef73 100755
--- a/tests/generated-tests/eval.2.test
+++ b/tests/generated-tests/eval.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/eval.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3284
+# generated from example in ../doc/m4.texinfo line 3286
. ${srcdir}/defs
diff --git a/tests/generated-tests/format.1.test b/tests/generated-tests/format.1.test
index c00c654e..78d07aa7 100755
--- a/tests/generated-tests/format.1.test
+++ b/tests/generated-tests/format.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/format.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3089
+# generated from example in ../doc/m4.texinfo line 3099
. ${srcdir}/defs
diff --git a/tests/generated-tests/ifdef.1.test b/tests/generated-tests/ifdef.1.test
index f6b98443..5841b3d3 100755
--- a/tests/generated-tests/ifdef.1.test
+++ b/tests/generated-tests/ifdef.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/ifdef.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1446
+# generated from example in ../doc/m4.texinfo line 1456
. ${srcdir}/defs
diff --git a/tests/generated-tests/ifelse.1.test b/tests/generated-tests/ifelse.1.test
index d8eb6109..e4d5b9bd 100755
--- a/tests/generated-tests/ifelse.1.test
+++ b/tests/generated-tests/ifelse.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/ifelse.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1484
+# generated from example in ../doc/m4.texinfo line 1494
. ${srcdir}/defs
diff --git a/tests/generated-tests/ifelse.2.test b/tests/generated-tests/ifelse.2.test
index b21a6c1c..ff0dd68c 100755
--- a/tests/generated-tests/ifelse.2.test
+++ b/tests/generated-tests/ifelse.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/ifelse.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1503
+# generated from example in ../doc/m4.texinfo line 1513
. ${srcdir}/defs
diff --git a/tests/generated-tests/include.1.test b/tests/generated-tests/include.1.test
index e9ac9043..2cad5c51 100755
--- a/tests/generated-tests/include.1.test
+++ b/tests/generated-tests/include.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/include.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2508
+# generated from example in ../doc/m4.texinfo line 2518
. ${srcdir}/defs
@@ -16,11 +16,11 @@ cat <<\EOF >ok
EOF
cat <<\EOF >okerr
-in:1: m4: Cannot open no-such-file: No such file or directory
+m4: in: 1: Cannot open no-such-file: No such file or directory
EOF
M4PATH=$srcdir $M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/tests/generated-tests/include.2.test b/tests/generated-tests/include.2.test
index e257d6b4..44816a1f 100755
--- a/tests/generated-tests/include.2.test
+++ b/tests/generated-tests/include.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/include.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2528
+# generated from example in ../doc/m4.texinfo line 2538
. ${srcdir}/defs
diff --git a/tests/generated-tests/include.3.test b/tests/generated-tests/include.3.test
index 0cec1363..f3e1ddf7 100755
--- a/tests/generated-tests/include.3.test
+++ b/tests/generated-tests/include.3.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/include.3.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2543
+# generated from example in ../doc/m4.texinfo line 2553
. ${srcdir}/defs
diff --git a/tests/generated-tests/incr.1.test b/tests/generated-tests/incr.1.test
index 31480915..6236037d 100755
--- a/tests/generated-tests/incr.1.test
+++ b/tests/generated-tests/incr.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/incr.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3159
+# generated from example in ../doc/m4.texinfo line 3170
. ${srcdir}/defs
diff --git a/tests/generated-tests/index.1.test b/tests/generated-tests/index.1.test
index 7a643dfc..b0e219b6 100755
--- a/tests/generated-tests/index.1.test
+++ b/tests/generated-tests/index.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/index.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2875
+# generated from example in ../doc/m4.texinfo line 2885
. ${srcdir}/defs
diff --git a/tests/generated-tests/indir.1.test b/tests/generated-tests/indir.1.test
index 2d2114a0..5e34d09c 100755
--- a/tests/generated-tests/indir.1.test
+++ b/tests/generated-tests/indir.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/indir.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1375
+# generated from example in ../doc/m4.texinfo line 1385
. ${srcdir}/defs
diff --git a/tests/generated-tests/len.1.test b/tests/generated-tests/len.1.test
index f4999c0e..6a98c578 100755
--- a/tests/generated-tests/len.1.test
+++ b/tests/generated-tests/len.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/len.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2849
+# generated from example in ../doc/m4.texinfo line 2859
. ${srcdir}/defs
diff --git a/tests/generated-tests/loops.1.test b/tests/generated-tests/loops.1.test
index 324f23f2..b02e5cd7 100755
--- a/tests/generated-tests/loops.1.test
+++ b/tests/generated-tests/loops.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/loops.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1540
+# generated from example in ../doc/m4.texinfo line 1550
. ${srcdir}/defs
diff --git a/tests/generated-tests/loops.2.test b/tests/generated-tests/loops.2.test
index d6018cf6..324dab33 100755
--- a/tests/generated-tests/loops.2.test
+++ b/tests/generated-tests/loops.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/loops.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1552
+# generated from example in ../doc/m4.texinfo line 1562
. ${srcdir}/defs
diff --git a/tests/generated-tests/m4exit.1.test b/tests/generated-tests/m4exit.1.test
index 2923f924..215547f5 100755
--- a/tests/generated-tests/m4exit.1.test
+++ b/tests/generated-tests/m4exit.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/m4exit.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3528
+# generated from example in ../doc/m4.texinfo line 3549
. ${srcdir}/defs
@@ -20,7 +20,7 @@ m4: in: 3: fatal error: This is a BAD one, buster
EOF
$M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/tests/generated-tests/m4wrap.1.test b/tests/generated-tests/m4wrap.1.test
index 874bad76..789ef3ef 100755
--- a/tests/generated-tests/m4wrap.1.test
+++ b/tests/generated-tests/m4wrap.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/m4wrap.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2449
+# generated from example in ../doc/m4.texinfo line 2459
. ${srcdir}/defs
diff --git a/tests/generated-tests/patsubst.1.test b/tests/generated-tests/patsubst.1.test
index 0591fc56..6ef7f289 100755
--- a/tests/generated-tests/patsubst.1.test
+++ b/tests/generated-tests/patsubst.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/patsubst.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3037
+# generated from example in ../doc/m4.texinfo line 3047
. ${srcdir}/defs
diff --git a/tests/generated-tests/patsubst.2.test b/tests/generated-tests/patsubst.2.test
index 78e6f054..364747ab 100755
--- a/tests/generated-tests/patsubst.2.test
+++ b/tests/generated-tests/patsubst.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/patsubst.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3054
+# generated from example in ../doc/m4.texinfo line 3064
. ${srcdir}/defs
diff --git a/tests/generated-tests/pseudoar.1.test b/tests/generated-tests/pseudoar.1.test
index 0a61695a..c51261c7 100755
--- a/tests/generated-tests/pseudoar.1.test
+++ b/tests/generated-tests/pseudoar.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/pseudoar.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1106
+# generated from example in ../doc/m4.texinfo line 1116
. ${srcdir}/defs
diff --git a/tests/generated-tests/pseudoar.2.test b/tests/generated-tests/pseudoar.2.test
index 78b0ba10..3c13006e 100755
--- a/tests/generated-tests/pseudoar.2.test
+++ b/tests/generated-tests/pseudoar.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/pseudoar.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1120
+# generated from example in ../doc/m4.texinfo line 1130
. ${srcdir}/defs
diff --git a/tests/generated-tests/pseudoar.3.test b/tests/generated-tests/pseudoar.3.test
index 7143e5d1..aea8bba2 100755
--- a/tests/generated-tests/pseudoar.3.test
+++ b/tests/generated-tests/pseudoar.3.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/pseudoar.3.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1131
+# generated from example in ../doc/m4.texinfo line 1141
. ${srcdir}/defs
diff --git a/tests/generated-tests/pseudoar.4.test b/tests/generated-tests/pseudoar.4.test
index 55b8ed50..ed9f5961 100755
--- a/tests/generated-tests/pseudoar.4.test
+++ b/tests/generated-tests/pseudoar.4.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/pseudoar.4.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1141
+# generated from example in ../doc/m4.texinfo line 1151
. ${srcdir}/defs
diff --git a/tests/generated-tests/pseudoar.5.test b/tests/generated-tests/pseudoar.5.test
index 8e517665..3bee239f 100755
--- a/tests/generated-tests/pseudoar.5.test
+++ b/tests/generated-tests/pseudoar.5.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/pseudoar.5.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1161
+# generated from example in ../doc/m4.texinfo line 1171
. ${srcdir}/defs
diff --git a/tests/generated-tests/pushdef.1.test b/tests/generated-tests/pushdef.1.test
index f31313f5..eef2f717 100755
--- a/tests/generated-tests/pushdef.1.test
+++ b/tests/generated-tests/pushdef.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/pushdef.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1300
+# generated from example in ../doc/m4.texinfo line 1310
. ${srcdir}/defs
diff --git a/tests/generated-tests/pushdef.2.test b/tests/generated-tests/pushdef.2.test
index 1f0df47c..e352b05c 100755
--- a/tests/generated-tests/pushdef.2.test
+++ b/tests/generated-tests/pushdef.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/pushdef.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1324
+# generated from example in ../doc/m4.texinfo line 1334
. ${srcdir}/defs
diff --git a/tests/generated-tests/regexp.1.test b/tests/generated-tests/regexp.1.test
index 2ebb06c8..40def4e8 100755
--- a/tests/generated-tests/regexp.1.test
+++ b/tests/generated-tests/regexp.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/regexp.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2907
+# generated from example in ../doc/m4.texinfo line 2917
. ${srcdir}/defs
diff --git a/tests/generated-tests/regexp.2.test b/tests/generated-tests/regexp.2.test
index 81764d9d..5509bbe5 100755
--- a/tests/generated-tests/regexp.2.test
+++ b/tests/generated-tests/regexp.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/regexp.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2919
+# generated from example in ../doc/m4.texinfo line 2929
. ${srcdir}/defs
diff --git a/tests/generated-tests/substr.1.test b/tests/generated-tests/substr.1.test
index 5291656f..fabd9a90 100755
--- a/tests/generated-tests/substr.1.test
+++ b/tests/generated-tests/substr.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/substr.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2945
+# generated from example in ../doc/m4.texinfo line 2955
. ${srcdir}/defs
diff --git a/tests/generated-tests/sysval.1.test b/tests/generated-tests/sysval.1.test
index 07dac311..1728e2e4 100755
--- a/tests/generated-tests/sysval.1.test
+++ b/tests/generated-tests/sysval.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/sysval.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3400
+# generated from example in ../doc/m4.texinfo line 3421
. ${srcdir}/defs
diff --git a/tests/generated-tests/trace.1.test b/tests/generated-tests/trace.1.test
index 9d7a93f2..155f0569 100755
--- a/tests/generated-tests/trace.1.test
+++ b/tests/generated-tests/trace.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/trace.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1711
+# generated from example in ../doc/m4.texinfo line 1721
. ${srcdir}/defs
@@ -27,7 +27,7 @@ m4trace: -1- echo(`gnus', `and gnats') -> ``gnus',`and gnats''
EOF
$M4 -d in >out 2>err
-sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+sed -e "s,../../src/m4: ,m4: ," err >sederr && mv sederr err
$CMP -s out ok && $CMP -s err okerr
diff --git a/tests/generated-tests/translit.1.test b/tests/generated-tests/translit.1.test
index 226858a7..af9db4ba 100755
--- a/tests/generated-tests/translit.1.test
+++ b/tests/generated-tests/translit.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/translit.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2986
+# generated from example in ../doc/m4.texinfo line 2996
. ${srcdir}/defs
diff --git a/tests/generated-tests/undefine.1.test b/tests/generated-tests/undefine.1.test
index e63acc6a..955a96fc 100755
--- a/tests/generated-tests/undefine.1.test
+++ b/tests/generated-tests/undefine.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/undefine.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 1192
+# generated from example in ../doc/m4.texinfo line 1202
. ${srcdir}/defs
diff --git a/tests/generated-tests/undivert.1.test b/tests/generated-tests/undivert.1.test
index 0fe894ae..47dd99bf 100755
--- a/tests/generated-tests/undivert.1.test
+++ b/tests/generated-tests/undivert.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/undivert.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2685
+# generated from example in ../doc/m4.texinfo line 2695
. ${srcdir}/defs
diff --git a/tests/generated-tests/undivert.2.test b/tests/generated-tests/undivert.2.test
index 496632ed..753dd707 100755
--- a/tests/generated-tests/undivert.2.test
+++ b/tests/generated-tests/undivert.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/undivert.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2709
+# generated from example in ../doc/m4.texinfo line 2719
. ${srcdir}/defs
diff --git a/tests/generated-tests/undivert.3.test b/tests/generated-tests/undivert.3.test
index 2002ed67..cca0a7c1 100755
--- a/tests/generated-tests/undivert.3.test
+++ b/tests/generated-tests/undivert.3.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/undivert.3.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2735
+# generated from example in ../doc/m4.texinfo line 2745
. ${srcdir}/defs
diff --git a/tests/get-them b/tests/get-them
index 7e03a7de..d17f94d9 100755
--- a/tests/get-them
+++ b/tests/get-them
@@ -68,7 +68,7 @@ BEGIN {
if (include_flag == 1) printf ("M4PATH=$srcdir ") >> file;
printf ("$M4 -d in >out") >> file;
if (error_flag == 1) printf (" 2>err") >> file;
- if (error_flag == 1) printf ("\nsed -e \"s, ../../src/m4:, m4:,\" err >sederr && mv sederr err") >> file;
+ if (error_flag == 1) printf ("\nsed -e \"s,../../src/m4: ,m4: ,\" err >sederr && mv sederr err") >> file;
printf ("\n\n$CMP -s out ok") >> file;
if (error_flag == 1) printf (" && $CMP -s err okerr") >> file;
printf ("\n\n") >> file;
diff --git a/tests/other-tests/discard-comments.m4 b/tests/other-tests/discard-comments.m4
new file mode 100644
index 00000000..95aebd27
--- /dev/null
+++ b/tests/other-tests/discard-comments.m4
@@ -0,0 +1,7 @@
+This is not a comment # but this is.
+# This line should dissappear completely.
+This should not disappear.
+changecom(`<!--', `-->')
+html <!--
+comment
+ --> ends.
diff --git a/tests/other-tests/discard-comments.test b/tests/other-tests/discard-comments.test
new file mode 100755
index 00000000..2f6a4599
--- /dev/null
+++ b/tests/other-tests/discard-comments.test
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# discard-comments.test is part of the GNU m4 testsuite
+
+. ${srcdir}/defs
+
+cat ${srcdir}/other-tests/discard-comments.m4 >in
+
+cat <<\EOF >ok
+This is not a comment This should not disappear.
+
+html ends.
+EOF
+
+M4PATH=$srcdir:$srcdir/other-tests $M4 -c -d in >out 2>err
+sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+$CMP -s out ok
diff --git a/tests/other-tests/gmp.m4 b/tests/other-tests/gmp.m4
index b916ff69..c0aceaa9 100644
--- a/tests/other-tests/gmp.m4
+++ b/tests/other-tests/gmp.m4
@@ -6,5 +6,5 @@ define(`_forloop',
`$4`'ifelse($1, `$3', ,
`define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')')
divert
-forloop(`x', 1, 100, `2**x = eval(2**x)
+forloop(`x', 1, 100, `2**x = mpeval(2**x)
')
diff --git a/tests/other-tests/import-environment.m4 b/tests/other-tests/import-environment.m4
new file mode 100644
index 00000000..f537df66
--- /dev/null
+++ b/tests/other-tests/import-environment.m4
@@ -0,0 +1,4 @@
+`TEST'=TEST
+`LANGUAGE'=LANGUAGE
+`ZAPPED'=ZAPPED
+`OVERRIDE'=OVERRIDE
diff --git a/tests/other-tests/import-environment.test b/tests/other-tests/import-environment.test
new file mode 100755
index 00000000..195434b5
--- /dev/null
+++ b/tests/other-tests/import-environment.test
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# import-environment.test is part of the GNU m4 testsuite
+
+. ${srcdir}/defs
+
+TEST='This is an environment variable'
+export TEST
+
+ZAPPED='This is an environment variable which we will delete'
+export ZAPPED
+
+OVERRIDE='This is an environment variable which we will change'
+export OVERRIDE
+
+cat ${srcdir}/other-tests/import-environment.m4 >in
+
+cat <<\EOF >ok
+TEST=This is an environment variable
+LANGUAGE=C
+ZAPPED=ZAPPED
+OVERRIDE=It is changed.
+EOF
+
+M4PATH=$srcdir:$srcdir/other-tests \
+$M4 --import-environment -UZAPPED -DOVERRIDE='It is changed.' -d in >out 2>err
+sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err
+$CMP -s out ok
diff --git a/tests/other-tests/iso8859.m4 b/tests/other-tests/iso8859.m4
index 4ac1d196..e0a37604 100644
--- a/tests/other-tests/iso8859.m4
+++ b/tests/other-tests/iso8859.m4
Binary files differ
diff --git a/tests/other-tests/iso8859.test b/tests/other-tests/iso8859.test
index f77dbb27..11e02ccc 100755
--- a/tests/other-tests/iso8859.test
+++ b/tests/other-tests/iso8859.test
@@ -7,7 +7,7 @@
cat ${srcdir}/other-tests/iso8859.m4 > in
cat <<\EOF >ok
-# Texting quotes
+# Testing quotes
DEFINE
CHANGEQUOTE(«,»)
0 TEST # TEST