diff options
author | Jeff Bailey <jbailey@raspberryginger.com> | 2000-02-17 03:09:09 +0000 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2007-10-05 14:52:21 -0600 |
commit | 83df9fcd10147d8a3283845f324987574a015bd3 (patch) | |
tree | b6c2029462a776ff508e69ef42ec24af7c96da18 | |
parent | f2efdfa6a528ab1cbc6bb891ba5b01eb460bcd77 (diff) | |
download | m4-1.4i.tar.gz |
Import of m4-1.4im4-1.4i
-rw-r--r-- | BACKLOG | 4 | ||||
-rw-r--r-- | ChangeLog | 70 | ||||
-rw-r--r-- | Makefile.am | 8 | ||||
-rw-r--r-- | Makefile.in | 9 | ||||
-rw-r--r-- | NEWS | 11 | ||||
-rw-r--r-- | README | 31 | ||||
-rw-r--r-- | THANKS | 12 | ||||
-rw-r--r-- | TODO | 46 | ||||
-rw-r--r-- | acconfig.h | 3 | ||||
-rw-r--r-- | config.h.in | 3 | ||||
-rwxr-xr-x | configure | 483 | ||||
-rw-r--r-- | configure.in | 32 | ||||
-rw-r--r-- | doc/m4.1 | 4 | ||||
-rw-r--r-- | doc/m4.info | 154 | ||||
-rw-r--r-- | doc/m4.info-1 | 8 | ||||
-rw-r--r-- | doc/m4.texinfo | 7 | ||||
-rw-r--r-- | doc/stamp-vti | 6 | ||||
-rw-r--r-- | doc/version.texi | 6 | ||||
-rw-r--r-- | examples/Makefile.am | 11 | ||||
-rw-r--r-- | examples/Makefile.in | 46 | ||||
-rwxr-xr-x | examples/comments.test | 2 | ||||
-rwxr-xr-x | examples/ddivert.test | 2 | ||||
-rwxr-xr-x | examples/debug.test | 2 | ||||
-rw-r--r-- | examples/defs | 54 | ||||
-rwxr-xr-x | examples/iso8859.test | 2 | ||||
-rwxr-xr-x | examples/reverse.test | 2 | ||||
-rwxr-xr-x | examples/sysv-args.test | 2 | ||||
-rwxr-xr-x | examples/wrap.test | 2 | ||||
-rw-r--r-- | modules/Makefile.am | 9 | ||||
-rw-r--r-- | modules/Makefile.in | 300 | ||||
-rw-r--r-- | modules/README | 62 | ||||
-rw-r--r-- | modules/test.c | 58 | ||||
-rw-r--r-- | modules/test.m4 | 3 | ||||
-rw-r--r-- | modules/time.c | 193 | ||||
-rw-r--r-- | modules/time.m4 | 16 | ||||
-rw-r--r-- | po/ChangeLog | 6 | ||||
-rw-r--r-- | po/POTFILES.in | 1 | ||||
-rw-r--r-- | po/cat-id-tbl.c | 32 | ||||
-rw-r--r-- | po/de.gmo | bin | 11731 -> 11731 bytes | |||
-rw-r--r-- | po/de.po | 85 | ||||
-rw-r--r-- | po/fr.gmo | bin | 11890 -> 11890 bytes | |||
-rw-r--r-- | po/fr.po | 85 | ||||
-rw-r--r-- | po/it.gmo | bin | 6118 -> 6118 bytes | |||
-rw-r--r-- | po/it.po | 85 | ||||
-rw-r--r-- | po/ja.gmo | bin | 12649 -> 12649 bytes | |||
-rw-r--r-- | po/ja.po | 85 | ||||
-rw-r--r-- | po/m4.pot | 85 | ||||
-rw-r--r-- | po/nl.gmo | bin | 11766 -> 11661 bytes | |||
-rw-r--r-- | po/nl.po | 94 | ||||
-rw-r--r-- | po/pl.gmo | bin | 0 -> 11935 bytes | |||
-rw-r--r-- | po/pl.po | 500 | ||||
-rw-r--r-- | po/ru.gmo | bin | 11431 -> 11431 bytes | |||
-rw-r--r-- | po/ru.po | 85 | ||||
-rw-r--r-- | po/sv.gmo | bin | 356 -> 356 bytes | |||
-rw-r--r-- | po/sv.po | 89 | ||||
-rw-r--r-- | src/Makefile.am | 5 | ||||
-rw-r--r-- | src/Makefile.in | 15 | ||||
-rw-r--r-- | src/builtin.c | 130 | ||||
-rw-r--r-- | src/builtin.h | 39 | ||||
-rw-r--r-- | src/m4.c | 15 | ||||
-rw-r--r-- | src/m4.h | 23 | ||||
-rw-r--r-- | src/module.c | 206 | ||||
-rw-r--r-- | src/path.c | 167 | ||||
-rw-r--r-- | tests/Makefile.am | 98 | ||||
-rw-r--r-- | tests/Makefile.in | 100 | ||||
-rw-r--r-- | tests/defs | 4 | ||||
-rwxr-xr-x | tests/gentest/argument.1.m4 (renamed from tests/argument.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/argument.2.m4 (renamed from tests/argument.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/argument.3.m4 (renamed from tests/argument.3.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/argument.4.m4 (renamed from tests/argument.4.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changeco.1.m4 (renamed from tests/changeco.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changeco.2.m4 (renamed from tests/changeco.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changequ.1.m4 (renamed from tests/changequ.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changequ.2.m4 (renamed from tests/changequ.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changequ.3.m4 (renamed from tests/changequ.3.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changesy.1.m4 (renamed from tests/changesy.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changesy.2.m4 (renamed from tests/changesy.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changesy.3.m4 (renamed from tests/changesy.3.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changesy.4.m4 (renamed from tests/changesy.4.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changesy.5.m4 (renamed from tests/changesy.5.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changesy.6.m4 (renamed from tests/changesy.6.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/changesy.7.m4 (renamed from tests/changesy.7.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/cleardiv.1.m4 (renamed from tests/cleardiv.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/cleardiv.2.m4 (renamed from tests/cleardiv.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/define.1.m4 (renamed from tests/define.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/define.2.m4 (renamed from tests/define.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/defn.1.m4 (renamed from tests/defn.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/defn.2.m4 (renamed from tests/defn.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/divert.1.m4 (renamed from tests/divert.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/divert.2.m4 (renamed from tests/divert.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/divnum.1.m4 (renamed from tests/divnum.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/dnl.1.m4 (renamed from tests/dnl.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/dumpdef.1.m4 (renamed from tests/dumpdef.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/errprint.1.m4 (renamed from tests/errprint.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/errprint.2.m4 (renamed from tests/errprint.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/esyscmd.1.m4 (renamed from tests/esyscmd.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/eval.1.m4 (renamed from tests/eval.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/eval.2.m4 (renamed from tests/eval.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/format.1.m4 (renamed from tests/format.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/ifdef.1.m4 (renamed from tests/ifdef.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/ifelse.1.m4 (renamed from tests/ifelse.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/ifelse.2.m4 (renamed from tests/ifelse.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/include.1.m4 (renamed from tests/include.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/include.2.m4 (renamed from tests/include.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/include.3.m4 (renamed from tests/include.3.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/incr.1.m4 (renamed from tests/incr.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/index.1.m4 (renamed from tests/index.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/indir.1.m4 (renamed from tests/indir.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/len.1.m4 (renamed from tests/len.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/loops.1.m4 (renamed from tests/loops.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/loops.2.m4 (renamed from tests/loops.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/m4exit.1.m4 (renamed from tests/m4exit.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/m4wrap.1.m4 (renamed from tests/m4wrap.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/patsubst.1.m4 (renamed from tests/patsubst.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/patsubst.2.m4 (renamed from tests/patsubst.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/pseudoar.1.m4 (renamed from tests/pseudoar.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/pseudoar.2.m4 (renamed from tests/pseudoar.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/pseudoar.3.m4 (renamed from tests/pseudoar.3.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/pseudoar.4.m4 (renamed from tests/pseudoar.4.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/pseudoar.5.m4 (renamed from tests/pseudoar.5.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/pushdef.1.m4 (renamed from tests/pushdef.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/pushdef.2.m4 (renamed from tests/pushdef.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/regexp.1.m4 (renamed from tests/regexp.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/regexp.2.m4 (renamed from tests/regexp.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/substr.1.m4 (renamed from tests/substr.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/sysval.1.m4 (renamed from tests/sysval.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/trace.1.m4 (renamed from tests/trace.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/translit.1.m4 (renamed from tests/translit.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/undefine.1.m4 (renamed from tests/undefine.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/undivert.1.m4 (renamed from tests/undivert.1.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/undivert.2.m4 (renamed from tests/undivert.2.test) | 4 | ||||
-rwxr-xr-x | tests/gentest/undivert.3.m4 (renamed from tests/undivert.3.test) | 4 | ||||
-rwxr-xr-x | tests/get-them | 6 | ||||
-rwxr-xr-x | tests/run-test | 29 |
134 files changed, 2962 insertions, 1034 deletions
@@ -1,3 +1,7 @@ + + +This is completely out of date - René Seindal (rene@seindal.dk) +------------------------------------------------------------------------ # Summary of pending email for GNU m4 1.4.1. # Last updated: Saturday, December 03, 1994. @@ -1,3 +1,73 @@ +1998-10-04 Rene' Seindal <rene@seindal.dk> + + * Prerelease 1.4i. + + * configure.in (ALL_LINGUAS): Added Polish pl.po + +1998-10-03 Rene' Seindal <rene@seindal.dk> + + * Many files: Incorporated changes to implement dynamic modules. + Detailed comments in src/modules.c and modules/README + + * src/module.c: New file, implements the OS dependant parts of + dynamic module loading. + + * src/Makefile.am (m4_SOURCES): Added module.c + + * src/builtin.h: New file, declares some functions from builtin.c + that are of use for other modules (shipout_int, numeric_arg, + skip_space, bad_argc), and the macros ARG() and DECLARE(). + + * src/builtin.c (install_builtin_table): New function. Each + module brings in a builtin_table, which is pushed on a stack. + (struct builtin_table): New struct for list of builtin_tables. + (m4_loadmodule): New function to implement builtin "loadmodule". + (shipout_int): No longer static, to be used by modules. + (numeric_arg): do. + (skip_space): do. + (bad_argc): do. + (builtin_init): changed to call install_builtin_table() + (find_builtin_by_name): Now searches all builtin_tables + (find_builtin_by_addr): do. + + * src/path.c: Reorganised to allow for two search paths, one for + include files and one for modules. + + * src/m4.h: Added declarations for new functions in module.c and + in path.c. + + * src/m4.c (main): Added call to module_init(). + + * modules: New directory with a few demo modules. + + * Makefile.am (EXTRA_DIST): Added modules/* since modules/ is not + in SUBDIRS. + + * configure.in: Added modules/Makefile to AC_OUTPUT. + + * configure.in: Added code to implement --with-modules. Tests for + <dlfcn.h> and -ldl. + + * acconfig.h: Added WITH_MODULES + +1998-10-02 Rene' Seindal <rene@seindal.dk> + + * examples/Makefile.am (pkgdata_DATA): Removed special target for + check and variables TESTS. These tests are now run from the + tests/ directory. + + * tests/Makefile.am (OTHER_TESTS): Added tests from the example/ + directory. The files stay there but the tests are run from the + tests/ directory. + + * tests/Makefile.am (EXTRA_DIST): Added run-test. + + * tests/run-test: New file. Run a test manually + + * tests/Makefile.am, tests/get_them: Moved automatically generated + tests (from the manual) to sub directory tests/gentest/. The + tests/ directory had gotten a bit messy. + 1998-09-06 Erick Branderhorst <Erick.Branderhorst@asml.nl> * examples/{comments,ddivert,debug,iso8859,reverse,sysv-args,\ diff --git a/Makefile.am b/Makefile.am index 83a58432..e5de0d30 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,12 @@ AUTOMAKE_OPTIONS = 1.3b gnits -SUBDIRS = acm4 intl po lib src doc examples tests +SUBDIRS = acm4 intl po lib src doc examples tests # modules + +# These are excluded otherwise +EXTRA_DIST = modules/Makefile.am modules/Makefile.in \ + modules/test.c modules/test.m4 \ + modules/time.c modules/time.m4 \ + modules/README # Tag before making distribution. Also, don't make a distribution if # checks fail. Also, make sure the NEWS file is up-to-date. diff --git a/Makefile.in b/Makefile.in index 7531ee7c..07afcc77 100644 --- a/Makefile.in +++ b/Makefile.in @@ -90,7 +90,13 @@ l = @l@ AUTOMAKE_OPTIONS = 1.3b gnits -SUBDIRS = acm4 intl po lib src doc examples tests +SUBDIRS = acm4 intl po lib src doc examples tests # modules + +# These are excluded otherwise +EXTRA_DIST = modules/Makefile.am modules/Makefile.in \ + modules/test.c modules/test.m4 \ + modules/time.c modules/time.m4 \ + modules/README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h @@ -249,6 +255,7 @@ distdir: $(DISTFILES) -rm -rf $(distdir) mkdir $(distdir) -chmod 777 $(distdir) + $(mkinstalldirs) $(distdir)/modules @for file in $(DISTFILES); do \ d=$(srcdir); \ test -f $(distdir)/$$file \ @@ -1,7 +1,7 @@ GNU m4 NEWS - History of user-visible changes. -*-indented-text-*- Copyright (C) 1992, 1993, 1994, 1998 Free Software Foundation, Inc. -Version 1.5 (1.4h) - August 1998, Erick Branderhorst and Rene' Seindal +Version beta 1.4i - October 1998, by Erick Branderhorst and Rene' Seindal * GNU m4 now uses gettext to support internationalization. @@ -22,9 +22,16 @@ Version 1.5 (1.4h) - August 1998, Erick Branderhorst and Rene' Seindal * Sync lines can be turned on and off with the `syncoutput' builtin. The builtin `syncoutput' is a GNU extension. +* New experimental feature: dynamically loadable modules. New builtin + `loadmodules' loads shared libraries, that can define new builtin + macros, ie, new macros can be written in C. Depends on the dlopen() + interface, and is currently only tested on Linux. Enabled at configure + time with `--with-modules'. Documentation is in src/module.c and + module/README. + * Implement a GNU message catalog for French (Franc,ois Pinard). -Bugs fixed in 1.5 +Bugs fixed * All 8-bit characters can now be used for quotes. @@ -5,8 +5,9 @@ to macros). `m4' also has built-in functions for including files, running shell commands, doing arithmetic, etc. Autoconf needs GNU `m4' for generating `configure' scripts, but not for running them. -GNU `m4' has been originally written by Rene' Seindal, from Denmark. -This release is to be considered as stable. +GNU `m4' has been originally written by René Seindal, from Denmark. + +This release is a development release. Last stable release is 1.4. If GNU `m4' is meant to serve GNU `autoconf', beware that `m4' should be fully installed *prior to* configuring `autoconf' itself. @@ -15,22 +16,28 @@ In the subdirectory `examples' you will find various m4 files, ranging from trivial test files to rather advanced macros. If you intend to use m4 seriously, you might find useful material down there. -See file `BACKLOG' for a summary of pending mail and articles. See file `COPYING' for copying conditions. See file `INSTALL' for compilation and installation instructions. See file `ABOUT-NLS' for how to customize this program to your language. See file `NEWS' for a list of major changes in the current release. See file `THANKS' for a list of contributors. -By using `./configure --enable-changeword', you get an experimental -feature which allows for changing the syntax of what is a "word" in -`m4'. This might go away, so don't count on it yet. - By using `./configure --with-gmp, you get an multiple precision integral and rational arithmetic in eval. The implementation depends on GNU gmp -v2. This might go away, so don't count on it yet. +v2. + +By using `./configure --with-modules, you get the possibility of using +dynamic modules. The implementation depends on dlopen(3) interface. +This might change or go away, so don't count on it yet. + +By using `./configure --enable-changeword', you get an experimental +feature which allows for changing the syntax of what is a "word" in +`m4'. THIS WILL PROBABLY GO AWAY, so don't count on it. Some of the +same things can be achieved with `changesyntax' at a much better speed. -Send bug reports to `bug-gnu-utils@prep.ai.mit.edu'. A bug report is -an adequate description of the problem: your input, what you expected, -what you got, and why this is wrong. Diffs are welcome, but they only -describe a solution, from which the problem might be uneasy to infer. +Send bug reports, comments or ideas to `bug-m4@gnu.org'. A bug report +is an adequate description of the problem: your input, what you +expected, what you got, and why this is wrong. Diffs are welcome, but +they only describe a solution, from which the problem might be uneasy to +infer. Don't forget all relevant information about your operating +system, compiler, libraries, ... @@ -5,6 +5,8 @@ further contributed to GNU m4 by reporting problems, suggesting various improvements or submitting actual code. Here is a list of these people. Help me keep it complete and exempt of errors. + + Akiko Matsushita matusita@sra.co.jp Alan Magnuson awm@osc.edu Alexander Lehmann alex@hal.rhein-main.de @@ -22,6 +24,7 @@ David J. MacKenzie djm@uunet.uu.net Erez Zadok ezk@cs.columbia.edu Eric Allman eric@cs.berkeley.edu Eric Backus ericb@lsid.hp.com +Erick Branderhorst Erick.Branderhorst@asml.nl Franc,ois Pinard pinard@iro.umontreal.ca Geoff Russell grussell@guest.adelaide.edu.au Greg A. Woods woods@web.apc.org @@ -34,6 +37,7 @@ Jim Kingdom kingdon@cygnus.com Jim Meyering meyering@acm.org Joel Sherrill jsherril@uahcs2.cs.uah.edu John David Anglin dave@hiauly1.hia.nrc.ca +John Gerard Malecki johnm@artisan.com Joseph E. Sacco jsacco@ssl.com Karl Berry karl@cs.umb.edu Karl Vogel vogelke@c-17igp.wpafb.af.mil @@ -45,7 +49,7 @@ Mark Seiden mis@seiden.com Matthias Rabe rabe@mathematik.uni-bielefeld.de Michael Fetterman mafetter@ichips.intel.com Michael L. Welcome welcome@bigbird.llnl.gov -Mike Howard mike@clove.com +Mike Howard mike@clove.com Mike Lijewski lijewski@theory.tc.cornell.edu Nick S. Kanakakorn skanan@otl.scu.edu Nicolas Pioch pioch@inf.enst.fr @@ -53,9 +57,10 @@ Noah Friedman friedman@gnu.ai.mit.edu Pete Chown pete.chown@dale.dircon.co.uk Pierre Gaumond gaumondp@ere.umontreal.ca Pierre Mathieu mathieu@geod.emr.ca -Robert Bernstein rocky@panix.com +Rafael Corvalan rafael@club-internet.fr Rene' Seindal rene@seindal.dk Richard Stallman rms@gnu.ai.mit.edu +Robert Bernstein rocky@panix.com Roland H. Pesch roland@wrs.com Roland McGrath roland@gnu.ai.mit.edu Scott Bartram deneb!scottb @@ -63,11 +68,12 @@ Simon Leinen simon@lia.di.epfl.ch Skip Montanaro skip@automatrix.com Stephen Perkins perkins@cps.msu.edu Steve Williamson willy@uinpla.npl.uiuc.edu +Terry Jones terry@teclata.es Thorsten Ohl ohl@physics.harvard.edu Tom McConnell tmcconne@sedona.intel.com Tom Quinn trq@dionysos.thphys.ox.ac.uk Tom Tromey tromey@cns.caltech.edu -Ulrich Drepper drepper@ira.uka.de +Ulrich Drepper drepper@cygnus.com Vern Paxson vern@ee.lbl.gov Vivek P. Singhal singhal@cs.utexas.edu Walter Wong wcw+@cmu.edu @@ -1,5 +1,49 @@ -* TODO file for GNU m4 -*- outline -*- +* TODO file for GNU m4 -*- indented-text -*- +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 + + + Changes in the syntax_table are not saved to frozen files (René + Seindal). + + + 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 (René Seindal). + + + Make show include dependencies like gcc so targets are updated + when their (included) input files are updated (Erick B). + + + The filename found by path_search should be displayed by error + messages instead of the specified filename (René Seindal). + + + An escape character (like in TeX) should be definable through the + syntax table (René Seindal). + +* Optimization and clean up + + + Have NULs go really undisturbed through GNU m4 + GNU m4 is lousy regarding NULs in streams (this would require + maintaining the string lengths, and avoiding strlen, strcpy, + etc.). + + + + + + + + + + +Below is the old 1.4 TODO list, several years old. Only a few points +have been kept. Some things are fixed, many others just seem +dated. Write me if I have been to harsh. (René Seindal) + +------------------------------------------------------------------------ Tell <pinard@iro.umontreal.ca> if you feel like volunteering for any of these ideas, listed more or less in decreasing order of priority. Some TODO items are implicit from received email. See file BACKLOG. @@ -38,6 +38,9 @@ /* Define to 1 if the GNU multiple precision library should be used. */ #undef WITH_GMP +/* Define to 1 if the -ldl library should be used . */ +#undef WITH_MODULES + /* Define to 1 if NLS is requested. */ #undef ENABLE_NLS diff --git a/config.h.in b/config.h.in index f33be788..6b4845df 100644 --- a/config.h.in +++ b/config.h.in @@ -101,6 +101,9 @@ /* Define to 1 if the GNU multiple precision library should be used. */ #undef WITH_GMP +/* Define to 1 if the -ldl library should be used . */ +#undef WITH_MODULES + /* Define to 1 if NLS is requested. */ #undef ENABLE_NLS @@ -16,6 +16,8 @@ ac_help="$ac_help ac_help="$ac_help --enable-changeword enable -W and changeword() builtin" ac_help="$ac_help + --with-modules add support for dynamic modules" +ac_help="$ac_help --with-gmp use gmp for extended and fractional arithmetic" ac_help="$ac_help --with-dmalloc use dmalloc, as in @@ -586,7 +588,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:590: checking for a BSD compatible install" >&5 +echo "configure:592: 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 @@ -639,7 +641,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:643: checking whether build environment is sane" >&5 +echo "configure:645: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -677,7 +679,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:681: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:683: 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 @@ -706,7 +708,7 @@ fi PACKAGE=m4 -VERSION=1.4h +VERSION=1.4i 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; } @@ -723,7 +725,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:727: checking for working aclocal" >&5 +echo "configure:729: 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. @@ -736,7 +738,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:740: checking for working autoconf" >&5 +echo "configure:742: 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. @@ -749,7 +751,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:753: checking for working automake" >&5 +echo "configure:755: 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. @@ -762,7 +764,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:766: checking for working autoheader" >&5 +echo "configure:768: 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. @@ -775,7 +777,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:779: checking for working makeinfo" >&5 +echo "configure:781: 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. @@ -788,14 +790,14 @@ else fi -ALL_LINGUAS="de fr it ja nl ru sv" +ALL_LINGUAS="de fr it ja nl pl ru sv" for ac_prog in mawk gawk nawk awk 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:799: checking for $ac_word" >&5 +echo "configure:801: 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 @@ -826,7 +828,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:830: checking for $ac_word" >&5 +echo "configure:832: 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 @@ -855,7 +857,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:859: checking for $ac_word" >&5 +echo "configure:861: 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 @@ -903,7 +905,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:907: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:909: 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. @@ -913,11 +915,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 917 "configure" +#line 919 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:923: \"$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 @@ -937,12 +939,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:941: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:943: 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:946: checking whether we are using GNU C" >&5 +echo "configure:948: 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 @@ -951,7 +953,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:955: \"$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:957: \"$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 @@ -966,7 +968,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:970: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:972: 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 @@ -1004,7 +1006,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:1008: checking for a BSD compatible install" >&5 +echo "configure:1010: 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 @@ -1054,7 +1056,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:1058: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1060: 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 @@ -1083,7 +1085,7 @@ 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:1087: checking for $ac_word" >&5 +echo "configure:1089: 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 @@ -1112,7 +1114,7 @@ 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:1116: checking for $ac_word" >&5 +echo "configure:1118: 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 @@ -1142,7 +1144,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1146: checking how to run the C preprocessor" >&5 +echo "configure:1148: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1157,13 +1159,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 1161 "configure" +#line 1163 "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:1167: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1174,13 +1176,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1178 "configure" +#line 1180 "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:1184: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1186: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1203,9 +1205,9 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:1207: checking for AIX" >&5 +echo "configure:1209: checking for AIX" >&5 cat > conftest.$ac_ext <<EOF -#line 1209 "configure" +#line 1211 "configure" #include "confdefs.h" #ifdef _AIX yes @@ -1227,7 +1229,7 @@ rm -f conftest* echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1231: checking for POSIXized ISC" >&5 +echo "configure:1233: 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 @@ -1249,17 +1251,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:1253: checking for minix/config.h" >&5 +echo "configure:1255: 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 1258 "configure" +#line 1260 "configure" #include "confdefs.h" #include <minix/config.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1263: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1265: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1300,7 +1302,7 @@ fi echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 -echo "configure:1304: checking for ${CC-cc} option to accept ANSI C" >&5 +echo "configure:1306: 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 @@ -1316,7 +1318,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 1320 "configure" +#line 1322 "configure" #include "confdefs.h" #include <stdarg.h> #include <stdio.h> @@ -1353,7 +1355,7 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } EOF -if { (eval echo configure:1357: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_prog_cc_stdc="$ac_arg"; break else @@ -1379,7 +1381,7 @@ esac echo $ac_n "checking for function prototypes""... $ac_c" 1>&6 -echo "configure:1383: checking for function prototypes" >&5 +echo "configure:1385: checking for function prototypes" >&5 if test "$am_cv_prog_cc_stdc" != no; then echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -1392,12 +1394,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:1396: checking for ANSI C header files" >&5 +echo "configure:1398: 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 1401 "configure" +#line 1403 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -1405,7 +1407,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1409: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1411: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1422,7 +1424,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 1426 "configure" +#line 1428 "configure" #include "confdefs.h" #include <string.h> EOF @@ -1440,7 +1442,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 1444 "configure" +#line 1446 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -1461,7 +1463,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 1465 "configure" +#line 1467 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1472,7 +1474,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1476: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1499,17 +1501,17 @@ fi do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1503: checking for $ac_hdr" >&5 +echo "configure:1505: 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 1508 "configure" +#line 1510 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1515: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1538,12 +1540,12 @@ done fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1542: checking for working const" >&5 +echo "configure:1544: 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 1547 "configure" +#line 1549 "configure" #include "confdefs.h" int main() { @@ -1592,7 +1594,7 @@ ccp = (char const *const *) p; ; return 0; } EOF -if { (eval echo configure:1596: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1617,17 +1619,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:1621: checking for $ac_hdr" >&5 +echo "configure:1623: 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 1626 "configure" +#line 1628 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1631: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1633: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1654,12 +1656,12 @@ fi done echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1658: checking for ANSI C header files" >&5 +echo "configure:1660: 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 1663 "configure" +#line 1665 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -1667,7 +1669,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1671: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1684,7 +1686,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 1688 "configure" +#line 1690 "configure" #include "confdefs.h" #include <string.h> EOF @@ -1702,7 +1704,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 1706 "configure" +#line 1708 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -1723,7 +1725,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 1727 "configure" +#line 1729 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1734,7 +1736,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1758,12 +1760,12 @@ EOF fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:1762: checking return type of signal handlers" >&5 +echo "configure:1764: 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 1767 "configure" +#line 1769 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -1780,7 +1782,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:1784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -1799,12 +1801,12 @@ EOF echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1803: checking for size_t" >&5 +echo "configure:1805: 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 1808 "configure" +#line 1810 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -1835,12 +1837,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:1839: checking for $ac_func" >&5 +echo "configure:1841: 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 1844 "configure" +#line 1846 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -1863,7 +1865,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:1867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1891,19 +1893,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:1895: checking for working alloca.h" >&5 +echo "configure:1897: 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 1900 "configure" +#line 1902 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:1907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -1924,12 +1926,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:1928: checking for alloca" >&5 +echo "configure:1930: 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 1933 "configure" +#line 1935 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -1952,7 +1954,7 @@ int main() { char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:1956: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -1984,12 +1986,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:1988: checking whether alloca needs Cray hooks" >&5 +echo "configure:1990: 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 1993 "configure" +#line 1995 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -2014,12 +2016,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:2018: checking for $ac_func" >&5 +echo "configure:2020: 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 2023 "configure" +#line 2025 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2042,7 +2044,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2046: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2048: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2069,7 +2071,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2073: checking stack direction for C alloca" >&5 +echo "configure:2075: 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 @@ -2077,7 +2079,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <<EOF -#line 2081 "configure" +#line 2083 "configure" #include "confdefs.h" find_stack_direction () { @@ -2096,7 +2098,7 @@ main () exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:2100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2102: \"$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 @@ -2118,12 +2120,12 @@ EOF fi echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:2122: checking for vprintf" >&5 +echo "configure:2124: 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 2127 "configure" +#line 2129 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char vprintf(); below. */ @@ -2146,7 +2148,7 @@ vprintf(); ; return 0; } EOF -if { (eval echo configure:2150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -2170,12 +2172,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:2174: checking for _doprnt" >&5 +echo "configure:2176: 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 2179 "configure" +#line 2181 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char _doprnt(); below. */ @@ -2198,7 +2200,7 @@ _doprnt(); ; return 0; } EOF -if { (eval echo configure:2202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -2225,12 +2227,12 @@ fi for ac_func in strtol obstack xmalloc xstrdup do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2229: checking for $ac_func" >&5 +echo "configure:2231: 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 2234 "configure" +#line 2236 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2253,7 +2255,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2280,12 +2282,12 @@ done echo $ac_n "checking for getopt_long""... $ac_c" 1>&6 -echo "configure:2284: checking for getopt_long" >&5 +echo "configure:2286: 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 2289 "configure" +#line 2291 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getopt_long(); below. */ @@ -2308,7 +2310,7 @@ getopt_long(); ; return 0; } EOF -if { (eval echo configure:2312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_getopt_long=yes" else @@ -2350,12 +2352,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:2354: checking for $ac_func" >&5 +echo "configure:2356: 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 2359 "configure" +#line 2361 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2378,7 +2380,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2403,12 +2405,12 @@ fi done echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2407: checking for ANSI C header files" >&5 +echo "configure:2409: 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 2412 "configure" +#line 2414 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -2416,7 +2418,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2420: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2422: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2433,7 +2435,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 2437 "configure" +#line 2439 "configure" #include "confdefs.h" #include <string.h> EOF @@ -2451,7 +2453,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 2455 "configure" +#line 2457 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2472,7 +2474,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 2476 "configure" +#line 2478 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2483,7 +2485,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -2509,9 +2511,9 @@ fi echo $ac_n "checking ecvt declaration""... $ac_c" 1>&6 -echo "configure:2513: checking ecvt declaration" >&5 +echo "configure:2515: checking ecvt declaration" >&5 cat > conftest.$ac_ext <<EOF -#line 2515 "configure" +#line 2517 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2527,12 +2529,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:2531: checking for $ac_func" >&5 +echo "configure:2533: 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 2536 "configure" +#line 2538 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2555,7 +2557,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2584,7 +2586,7 @@ rm -f conftest* echo $ac_n "checking if stack overflow is detectable""... $ac_c" 1>&6 -echo "configure:2588: checking if stack overflow is detectable" >&5 +echo "configure:2590: 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 @@ -2594,7 +2596,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 2598 "configure" +#line 2600 "configure" #include "confdefs.h" #include <sys/time.h> #include <sys/resource.h> @@ -2607,7 +2609,7 @@ choke me /* SA_ONSTACK and/or SV_ONSTACK are not defined */ #endif ; return 0; } EOF -if { (eval echo configure:2611: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* use_stackovf=yes else @@ -2626,7 +2628,7 @@ EOF STACKOVF=stackovf.${U}o cat > conftest.$ac_ext <<EOF -#line 2630 "configure" +#line 2632 "configure" #include "confdefs.h" #include <sys/resource.h> EOF @@ -2643,7 +2645,7 @@ fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 2647 "configure" +#line 2649 "configure" #include "confdefs.h" #include <signal.h> EOF @@ -2660,7 +2662,7 @@ fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 2664 "configure" +#line 2666 "configure" #include "confdefs.h" #include <signal.h> EOF @@ -2677,7 +2679,7 @@ rm -f conftest* fi echo $ac_n "checking if changeword is wanted""... $ac_c" 1>&6 -echo "configure:2681: checking if changeword is wanted" >&5 +echo "configure:2683: 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" @@ -2695,8 +2697,95 @@ else fi +echo $ac_n "checking if support for dynamic modules is wanted""... $ac_c" 1>&6 +echo "configure:2702: 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" + use_modules=$withval +else + use_modules=no +fi + +echo "$ac_t""$use_modules" 1>&6 + +if test "$use_modules" = yes; then + LIBS="$LIBS -ldl" + ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6 +echo "configure:2717: checking for dlfcn.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 2722 "configure" +#include "confdefs.h" +#include <dlfcn.h> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2727: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + echo $ac_n "checking for dlopen in libdl""... $ac_c" 1>&6 +echo "configure:2744: checking for dlopen in libdl" >&5 +if eval "test \"`echo '$''{'ac_cv_func_dlopen_libdl'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 2749 "configure" +#include "confdefs.h" +#include <dlfcn.h> +int main() { +(void)dlopen(0, RTLD_NOW) +; return 0; } +EOF +if { (eval echo configure:2756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + ac_cv_func_dlopen_libdl=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_func_dlopen_libdl=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_func_dlopen_libdl" 1>&6 +else + echo "$ac_t""no" 1>&6 +ac_cv_func_dlopen_libdl=no +fi + + + if test "$ac_cv_func_dlopen_libdl$ac_cv_header_dlfcn_h" = yesyes; then + cat >> confdefs.h <<\EOF +#define WITH_MODULES 1 +EOF + + LDFLAGS="$LDFLAGS -rdynamic" + else + LIBS=`echo $LIBS | sed -e 's/-ldl//'` + echo "configure: warning: -ldl library not found or does not appear to work" 1>&2 + use_modules=no + fi +fi + echo $ac_n "checking if extended and fractional arithmetic is wanted""... $ac_c" 1>&6 -echo "configure:2700: checking if extended and fractional arithmetic is wanted" >&5 +echo "configure:2789: 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" @@ -2711,17 +2800,17 @@ if test "$use_gmp" = yes; then LIBS="$LIBS -lgmp" ac_safe=`echo "gmp.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gmp.h""... $ac_c" 1>&6 -echo "configure:2715: checking for gmp.h" >&5 +echo "configure:2804: 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 2720 "configure" +#line 2809 "configure" #include "confdefs.h" #include <gmp.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2725: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2814: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2738,19 +2827,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:2742: checking for mpq_init in libgmp" >&5 +echo "configure:2831: 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 2747 "configure" +#line 2836 "configure" #include "confdefs.h" #include <gmp.h> int main() { mpq_t x; (void)mpq_init(x) ; return 0; } EOF -if { (eval echo configure:2754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_mpq_init_libgmp=yes else @@ -2783,7 +2872,7 @@ fi if test "$use_gmp" != yes; then echo $ac_n "checking size of long long int""... $ac_c" 1>&6 -echo "configure:2787: checking size of long long int" >&5 +echo "configure:2876: 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 @@ -2791,7 +2880,7 @@ else ac_cv_sizeof_long_long_int=0 else cat > conftest.$ac_ext <<EOF -#line 2795 "configure" +#line 2884 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -2802,7 +2891,7 @@ main() exit(0); } EOF -if { (eval echo configure:2806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2895: \"$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 @@ -2824,7 +2913,7 @@ EOF fi echo $ac_n "checking if malloc debugging is wanted""... $ac_c" 1>&6 -echo "configure:2828: checking if malloc debugging is wanted" >&5 +echo "configure:2917: 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" @@ -2845,21 +2934,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2849: checking for inline" >&5 +echo "configure:2938: 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 2856 "configure" +#line 2945 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:2863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2952: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2885,12 +2974,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2889: checking for off_t" >&5 +echo "configure:2978: 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 2894 "configure" +#line 2983 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -2921,17 +3010,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:2925: checking for $ac_hdr" >&5 +echo "configure:3014: 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 2930 "configure" +#line 3019 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2935: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3024: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2960,12 +3049,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2964: checking for $ac_func" >&5 +echo "configure:3053: 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 2969 "configure" +#line 3058 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2988,7 +3077,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3013,7 +3102,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3017: checking for working mmap" >&5 +echo "configure:3106: 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 @@ -3021,7 +3110,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <<EOF -#line 3025 "configure" +#line 3114 "configure" #include "confdefs.h" /* Thanks to Mike Haertel and Jim Avera for this test. @@ -3161,7 +3250,7 @@ main() } EOF -if { (eval echo configure:3165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3254: \"$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 @@ -3189,17 +3278,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:3193: checking for $ac_hdr" >&5 +echo "configure:3282: 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 3198 "configure" +#line 3287 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3203: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3292: \"$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,12 +3318,12 @@ done strdup __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3233: checking for $ac_func" >&5 +echo "configure:3322: 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 3238 "configure" +#line 3327 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3257,7 +3346,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3286,12 +3375,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3290: checking for $ac_func" >&5 +echo "configure:3379: 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 3295 "configure" +#line 3384 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3314,7 +3403,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3348,19 +3437,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3352: checking for LC_MESSAGES" >&5 +echo "configure:3441: 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 3357 "configure" +#line 3446 "configure" #include "confdefs.h" #include <locale.h> int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3381,7 +3470,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3385: checking whether NLS is requested" >&5 +echo "configure:3474: 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" @@ -3401,7 +3490,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3405: checking whether included gettext is requested" >&5 +echo "configure:3494: 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" @@ -3420,17 +3509,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3424: checking for libintl.h" >&5 +echo "configure:3513: 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 3429 "configure" +#line 3518 "configure" #include "confdefs.h" #include <libintl.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3434: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3447,19 +3536,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:3451: checking for gettext in libc" >&5 +echo "configure:3540: 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 3456 "configure" +#line 3545 "configure" #include "confdefs.h" #include <libintl.h> int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3475,7 +3564,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:3479: checking for bindtextdomain in -lintl" >&5 +echo "configure:3568: 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 @@ -3483,7 +3572,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <<EOF -#line 3487 "configure" +#line 3576 "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 @@ -3494,7 +3583,7 @@ int main() { bindtextdomain() ; return 0; } EOF -if { (eval echo configure:3498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3587: \"$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 @@ -3510,7 +3599,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:3514: checking for gettext in -lintl" >&5 +echo "configure:3603: 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 @@ -3518,7 +3607,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <<EOF -#line 3522 "configure" +#line 3611 "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 @@ -3529,7 +3618,7 @@ int main() { gettext() ; return 0; } EOF -if { (eval echo configure:3533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3622: \"$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 @@ -3566,7 +3655,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:3570: checking for $ac_word" >&5 +echo "configure:3659: 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 @@ -3600,12 +3689,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3604: checking for $ac_func" >&5 +echo "configure:3693: 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 3609 "configure" +#line 3698 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3628,7 +3717,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3655,7 +3744,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:3659: checking for $ac_word" >&5 +echo "configure:3748: 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 @@ -3687,7 +3776,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:3691: checking for $ac_word" >&5 +echo "configure:3780: 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 @@ -3719,7 +3808,7 @@ else fi cat > conftest.$ac_ext <<EOF -#line 3723 "configure" +#line 3812 "configure" #include "confdefs.h" int main() { @@ -3727,7 +3816,7 @@ extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:3731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3750,7 +3839,7 @@ fi if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:3754: checking whether catgets can be used" >&5 +echo "configure:3843: 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" @@ -3763,7 +3852,7 @@ fi if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:3767: checking for main in -li" >&5 +echo "configure:3856: 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 @@ -3771,14 +3860,14 @@ else ac_save_LIBS="$LIBS" LIBS="-li $LIBS" cat > conftest.$ac_ext <<EOF -#line 3775 "configure" +#line 3864 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:3782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3871: \"$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 @@ -3806,12 +3895,12 @@ else fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:3810: checking for catgets" >&5 +echo "configure:3899: 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 3815 "configure" +#line 3904 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char catgets(); below. */ @@ -3834,7 +3923,7 @@ catgets(); ; return 0; } EOF -if { (eval echo configure:3838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_catgets=yes" else @@ -3856,7 +3945,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:3860: checking for $ac_word" >&5 +echo "configure:3949: 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 @@ -3888,7 +3977,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:3892: checking for $ac_word" >&5 +echo "configure:3981: 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 @@ -3921,7 +4010,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:3925: checking for $ac_word" >&5 +echo "configure:4014: 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 @@ -3956,7 +4045,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:3960: checking for $ac_word" >&5 +echo "configure:4049: 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 @@ -4014,7 +4103,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:4018: checking for $ac_word" >&5 +echo "configure:4107: 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 @@ -4048,7 +4137,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:4052: checking for $ac_word" >&5 +echo "configure:4141: 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 @@ -4080,7 +4169,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:4084: checking for $ac_word" >&5 +echo "configure:4173: 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 @@ -4173,7 +4262,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4177: checking for catalogs to be installed" >&5 +echo "configure:4266: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4201,17 +4290,17 @@ echo "configure:4177: 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:4205: checking for linux/version.h" >&5 +echo "configure:4294: 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 4210 "configure" +#line 4299 "configure" #include "confdefs.h" #include <linux/version.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4304: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4378,7 +4467,7 @@ ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" trap 'rm -fr `echo "Makefile acm4/Makefile intl/Makefile po/Makefile.in doc/Makefile \ -lib/Makefile src/Makefile tests/Makefile examples/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +lib/Makefile src/Makefile modules/Makefile tests/Makefile examples/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <<EOF @@ -4492,7 +4581,7 @@ EOF cat >> $CONFIG_STATUS <<EOF CONFIG_FILES=\${CONFIG_FILES-"Makefile acm4/Makefile intl/Makefile po/Makefile.in doc/Makefile \ -lib/Makefile src/Makefile tests/Makefile examples/Makefile"} +lib/Makefile src/Makefile modules/Makefile tests/Makefile examples/Makefile"} EOF cat >> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then diff --git a/configure.in b/configure.in index e3635beb..5220f6bf 100644 --- a/configure.in +++ b/configure.in @@ -8,8 +8,8 @@ AC_INIT(src/m4.c) AM_CONFIG_HEADER(config.h) AC_ARG_PROGRAM -AM_INIT_AUTOMAKE(m4,1.4h) -ALL_LINGUAS="de fr it ja nl ru sv" +AM_INIT_AUTOMAKE(m4,1.4i) +ALL_LINGUAS="de fr it ja nl pl ru sv" AC_PROG_AWK AC_PROG_CC @@ -84,6 +84,32 @@ else AC_MSG_RESULT(no) fi], [AC_MSG_RESULT(no)]) +AC_MSG_CHECKING(if support for dynamic modules is wanted) +AC_ARG_WITH(modules, +[ --with-modules add support for dynamic modules], +[use_modules=$withval], [use_modules=no]) +AC_MSG_RESULT($use_modules) + +if test "$use_modules" = yes; then + LIBS="$LIBS -ldl" + AC_CHECK_HEADER([dlfcn.h], + [AC_CACHE_CHECK([for dlopen in libdl], ac_cv_func_dlopen_libdl, + [AC_TRY_LINK([#include <dlfcn.h>], + [(void)dlopen(0, RTLD_NOW)], + ac_cv_func_dlopen_libdl=yes, + ac_cv_func_dlopen_libdl=no)])], + ac_cv_func_dlopen_libdl=no) + + if test "$ac_cv_func_dlopen_libdl$ac_cv_header_dlfcn_h" = yesyes; then + AC_DEFINE(WITH_MODULES) + LDFLAGS="$LDFLAGS -rdynamic" + else + LIBS=`echo $LIBS | sed -e 's/-ldl//'` + AC_MSG_WARN([-ldl library not found or does not appear to work]) + use_modules=no + fi +fi + AC_MSG_CHECKING(if extended and fractional arithmetic is wanted) AC_ARG_WITH(gmp, [ --with-gmp use gmp for extended and fractional arithmetic], @@ -118,7 +144,7 @@ AM_GNU_GETTEXT dnl AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl) AC_OUTPUT(Makefile acm4/Makefile intl/Makefile po/Makefile.in doc/Makefile \ -lib/Makefile src/Makefile tests/Makefile examples/Makefile, \ +lib/Makefile src/Makefile modules/Makefile tests/Makefile examples/Makefile, \ [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile; \ test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h]) @@ -1,7 +1,7 @@ ." DO NOT MODIFY THIS FILE! It was generated by helptoman 1.1.1.1. -.TH M4 1 "October 1998" "GNU m4 1.4h" "GNU User's Manual" +.TH M4 1 "October 1998" "GNU m4 1.4i" "GNU User's Manual" .SH NAME -m4 \- short documentation for m4 1.4h +m4 \- short documentation for m4 1.4i .SH SYNOPSIS .B m4 [\fIOPTION\fR]...\fI \fR[\fIFILE\fR]...\fI\fR diff --git a/doc/m4.info b/doc/m4.info index bc06f08c..87dfb445 100644 --- a/doc/m4.info +++ b/doc/m4.info @@ -27,8 +27,8 @@ translation approved by the Foundation. Indirect: m4.info-1: 973 -m4.info-2: 50059 -m4.info-3: 97908 +m4.info-2: 49992 +m4.info-3: 97841 Tag Table: (Indirect) @@ -38,80 +38,80 @@ Node: Intro7656 Node: History9264 Node: Invoking m410185 Node: Bugs17049 -Node: Manual18317 -Node: Syntax19683 -Node: Names20521 -Node: Quoted strings21134 -Node: Other tokens21718 -Node: Comments21935 -Node: Input processing22622 -Node: Macros23775 -Node: Invocation24268 -Node: Inhibiting Invocation25079 -Node: Macro Arguments28224 -Node: Quoting Arguments29539 -Node: Macro expansion30344 -Node: Definitions31007 -Node: Define31784 -Node: Arguments33338 -Node: Pseudo Arguments34819 -Node: Undefine36670 -Node: Defn37332 -Node: Pushdef38802 -Node: Indir40861 -Node: Builtin41639 -Node: Conditionals42083 -Node: Ifdef42790 -Node: Ifelse43559 -Node: Loops45341 -Node: Debugging48633 -Node: Dumpdef49211 -Node: Trace50059 -Node: Debug Levels51438 -Node: Debug Output53823 -Node: Input Control54343 -Node: Dnl54956 -Node: Changequote56082 -Node: Changecom57446 -Node: Changesyntax58732 -Node: Changeword65006 -Node: M4wrap68241 -Node: File Inclusion69443 -Node: Include69759 -Node: Search Path71778 -Node: Diversions72565 -Node: Divert73802 -Node: Undivert74934 -Node: Divnum76905 -Node: Cleardiv77450 -Node: Text handling78505 -Node: Len79225 -Node: Index79623 -Node: Regexp80208 -Node: Substr81299 -Node: Translit81919 -Node: Patsubst83362 -Node: Format85453 -Node: Arithmetic86942 -Node: Incr87399 -Node: Eval87903 -Node: UNIX commands91509 -Node: Syscmd91980 -Node: Esyscmd92693 -Node: Sysval93641 -Node: Maketemp94048 -Node: Miscellaneous95105 -Node: Errprint95536 -Node: M4exit96518 -Node: Syncoutput97316 -Node: Frozen files97908 -Node: Compatibility102827 -Node: Extensions103443 -Node: Incompatibilities105913 -Node: Other Incompat106355 -Node: Experiments108518 -Node: Answers110025 -Node: Concept index110657 -Node: Macro index118078 +Node: Manual18250 +Node: Syntax19616 +Node: Names20454 +Node: Quoted strings21067 +Node: Other tokens21651 +Node: Comments21868 +Node: Input processing22555 +Node: Macros23708 +Node: Invocation24201 +Node: Inhibiting Invocation25012 +Node: Macro Arguments28157 +Node: Quoting Arguments29472 +Node: Macro expansion30277 +Node: Definitions30940 +Node: Define31717 +Node: Arguments33271 +Node: Pseudo Arguments34752 +Node: Undefine36603 +Node: Defn37265 +Node: Pushdef38735 +Node: Indir40794 +Node: Builtin41572 +Node: Conditionals42016 +Node: Ifdef42723 +Node: Ifelse43492 +Node: Loops45274 +Node: Debugging48566 +Node: Dumpdef49144 +Node: Trace49992 +Node: Debug Levels51371 +Node: Debug Output53756 +Node: Input Control54276 +Node: Dnl54889 +Node: Changequote56015 +Node: Changecom57379 +Node: Changesyntax58665 +Node: Changeword64939 +Node: M4wrap68174 +Node: File Inclusion69376 +Node: Include69692 +Node: Search Path71711 +Node: Diversions72498 +Node: Divert73735 +Node: Undivert74867 +Node: Divnum76838 +Node: Cleardiv77383 +Node: Text handling78438 +Node: Len79158 +Node: Index79556 +Node: Regexp80141 +Node: Substr81232 +Node: Translit81852 +Node: Patsubst83295 +Node: Format85386 +Node: Arithmetic86875 +Node: Incr87332 +Node: Eval87836 +Node: UNIX commands91442 +Node: Syscmd91913 +Node: Esyscmd92626 +Node: Sysval93574 +Node: Maketemp93981 +Node: Miscellaneous95038 +Node: Errprint95469 +Node: M4exit96451 +Node: Syncoutput97249 +Node: Frozen files97841 +Node: Compatibility102760 +Node: Extensions103376 +Node: Incompatibilities105846 +Node: Other Incompat106288 +Node: Experiments108451 +Node: Answers109958 +Node: Concept index110590 +Node: Macro index118011 End Tag Table diff --git a/doc/m4.info-1 b/doc/m4.info-1 index 46fcdc7c..133dc931 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 release 1.4h. It is now to be considered stable, future + This is release 1.4i. It is now to be considered stable, future releases are only meant to fix bugs, increase speed, or improve documentation. However... @@ -457,10 +457,8 @@ say what you expected to occur; this will help us decide whether the problem was really in the documentation. Once you've got a precise problem, send e-mail to (Internet) -`bug-gnu-utils@prep.ai.mit.edu' or (UUCP) -`mit-eddie!prep.ai.mit.edu!bug-gnu-utils'. Please include the version -number of `m4' you are using. You can get this information with the -command `m4 --version'. +`bug-m4@gnu.org'. Please include the version number of `m4' you are +using. You can get this information with the command `m4 --version'. Non-bug suggestions are always welcome as well. If you have questions about things that are unclear in the documentation or are diff --git a/doc/m4.texinfo b/doc/m4.texinfo index 077a7387..0e969ff6 100644 --- a/doc/m4.texinfo +++ b/doc/m4.texinfo @@ -513,10 +513,9 @@ say what you expected to occur; this will help us decide whether the problem was really in the documentation. Once you've got a precise problem, send e-mail to (Internet) -@file{bug-gnu-utils@@prep.ai.mit.edu} or (UUCP) -@file{mit-eddie!prep.ai.mit.edu!bug-gnu-utils}. Please include the -version number of @code{m4} you are using. You can get this information -with the command @samp{m4 --version}. +@file{bug-m4@@gnu.org}. Please include the version number of @code{m4} +you are using. You can get this information with the command @samp{m4 +--version}. Non-bug suggestions are always welcome as well. If you have questions about things that are unclear in the documentation or are just obscure diff --git a/doc/stamp-vti b/doc/stamp-vti index c2e9c7e1..52950002 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,3 +1,3 @@ -@set UPDATED 8 September 1998 -@set EDITION 1.4h -@set VERSION 1.4h +@set UPDATED 4 October 1998 +@set EDITION 1.4i +@set VERSION 1.4i diff --git a/doc/version.texi b/doc/version.texi index c2e9c7e1..52950002 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,3 +1,3 @@ -@set UPDATED 8 September 1998 -@set EDITION 1.4h -@set VERSION 1.4h +@set UPDATED 4 October 1998 +@set EDITION 1.4i +@set VERSION 1.4i diff --git a/examples/Makefile.am b/examples/Makefile.am index 18891610..45ad8cfc 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1,15 +1,12 @@ -EXTRA_DIST = $(pkgdata_DATA) $(TESTS) defs +EXTRA_DIST = $(pkgdata_DATA) pkgdata_DATA = capitalize.m4 comments.m4 ddivert.m4 debug.m4 esyscmd.m4 \ exp.m4 file.m4 foreach.m4 forloop.m4 fstab.m4 hanoi.m4 incl-test.m4 \ include.m4 indir.m4 misc.m4 multiquotes.m4 patsubst.m4 pushpop.m4 \ regexp.m4 reverse.m4 stackovf.sh sync-lines.m4 sysv-args.m4 trace.m4 \ - translit.m4 undivert.incl undivert.m4 wrap.m4 iso8859.m4 - -TESTS = comments.test ddivert.test debug.test iso8859.test \ + translit.m4 undivert.incl undivert.m4 wrap.m4 iso8859.m4 \ + \ + comments.test ddivert.test debug.test iso8859.test \ reverse.test sysv-args.test wrap.test all: - -defs: $(top_srcdir)/tests/defs - cp $(top_srcdir)/tests/defs $@ diff --git a/examples/Makefile.in b/examples/Makefile.in index 629253a6..2b97153e 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -88,15 +88,15 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ -EXTRA_DIST = $(pkgdata_DATA) $(TESTS) defs +EXTRA_DIST = $(pkgdata_DATA) pkgdata_DATA = capitalize.m4 comments.m4 ddivert.m4 debug.m4 esyscmd.m4 \ exp.m4 file.m4 foreach.m4 forloop.m4 fstab.m4 hanoi.m4 incl-test.m4 \ include.m4 indir.m4 misc.m4 multiquotes.m4 patsubst.m4 pushpop.m4 \ regexp.m4 reverse.m4 stackovf.sh sync-lines.m4 sysv-args.m4 trace.m4 \ - translit.m4 undivert.incl undivert.m4 wrap.m4 iso8859.m4 - -TESTS = comments.test ddivert.test debug.test iso8859.test \ + translit.m4 undivert.incl undivert.m4 wrap.m4 iso8859.m4 \ + \ + comments.test ddivert.test debug.test iso8859.test \ reverse.test sysv-args.test wrap.test mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h @@ -154,35 +154,9 @@ distdir: $(DISTFILES) || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file; \ done -check-TESTS: $(TESTS) - @failed=0; all=0; \ - srcdir=$(srcdir); export srcdir; \ - for tst in $(TESTS); do \ - if test -f $$tst; then dir=.; \ - else dir="$(srcdir)"; fi; \ - if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \ - all=`expr $$all + 1`; \ - echo "PASS: $$tst"; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - failed=`expr $$failed + 1`; \ - echo "FAIL: $$tst"; \ - fi; \ - done; \ - if test "$$failed" -eq 0; then \ - banner="All $$all tests passed"; \ - else \ - banner="$$failed of $$all tests failed"; \ - fi; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes"; \ - test "$$failed" -eq 0 info: dvi: check: all - $(MAKE) $(AM_MAKEFLAGS) check-TESTS installcheck: install-exec: @$(NORMAL_INSTALL) @@ -221,18 +195,14 @@ maintainer-clean: maintainer-clean-generic distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -.PHONY: uninstall-pkgdataDATA install-pkgdataDATA tags distdir \ -check-TESTS info dvi installcheck install-exec install-data install \ -uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +.PHONY: uninstall-pkgdataDATA install-pkgdataDATA tags distdir info dvi \ +installcheck install-exec install-data install uninstall all \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean all: -defs: $(top_srcdir)/tests/defs - cp $(top_srcdir)/tests/defs $@ - # 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. .NOEXPORT: diff --git a/examples/comments.test b/examples/comments.test index 63161dc2..276a8976 100755 --- a/examples/comments.test +++ b/examples/comments.test @@ -19,6 +19,6 @@ Macro foo expansion Macro foo expansion EOF -M4PATH=$srcdir $M4 -d in >out +M4PATH=$srcdir:$srcdir/../examples $M4 -d in >out $CMP -s out ok diff --git a/examples/ddivert.test b/examples/ddivert.test index 5db82e90..491c4c65 100755 --- a/examples/ddivert.test +++ b/examples/ddivert.test @@ -13,6 +13,6 @@ Text diverted a first time. Text diverted a second time. EOF -M4PATH=$srcdir $M4 -d in >out +M4PATH=$srcdir:$srcdir/../examples $M4 -d in >out $CMP -s out ok diff --git a/examples/debug.test b/examples/debug.test index 0260641e..fd410d24 100755 --- a/examples/debug.test +++ b/examples/debug.test @@ -27,7 +27,7 @@ m4trace: -1- countdown(`0') -> ??? m4trace: -1- countdown(...) -> `0 ifelse(eval(0 > 0), 1, `countdown(decr(0))', `Liftoff')' EOF -M4PATH=$srcdir $M4 -d in >out 2>err +M4PATH=$srcdir:$srcdir/../examples $M4 -d in >out 2>err sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err $CMP -s out ok && $CMP -s err okerr diff --git a/examples/defs b/examples/defs deleted file mode 100644 index cf97e3b3..00000000 --- a/examples/defs +++ /dev/null @@ -1,54 +0,0 @@ -# -*- ksh -*- -# Defines for GNU m4 testing environment. -# Erick Branderhorst <Erick.Branderhorst@asml.nl> - -# Ensure $srcdir set correctly. -test -f ${srcdir}/defs || { - echo "defs: installation error" 1>&2 - exit 1 -} - -# If srcdir is relative, we need to modify it. -case "$srcdir" in - /*) - ;; - - *) - srcdir="../$srcdir" - ;; -esac - -rm -rf testSubDir > /dev/null 2>&1 -mkdir testSubDir -cd testSubDir - -# Build appropriate environment in test directory. Eg create -# configure.in, touch all necessary files, etc. - -# nothing yet - -# See how redirections should work. User can set VERBOSE to see all -# output. -test -z "$VERBOSE" && { - exec > /dev/null 2>&1 -} - -# User can set MAKE to choose which make to use. Must use GNU make. -test -z "$MAKE" && MAKE=make - -echo "=== Running test $0" - -# See how GNU m4 should be run. No options as default. -test -z "$M4" && M4=../../src/m4 - -# See how cmp should be run. -test -z "$CMP" && CMP=cmp - -# Setting nls related vars. Override them in the test when needed. -LANGUAGE=C -export LANGUAGE -LC_ALL=C -export LC_ALL -LANG=C -export LANG - diff --git a/examples/iso8859.test b/examples/iso8859.test index 3cca92e1..5128f3fc 100755 --- a/examples/iso8859.test +++ b/examples/iso8859.test @@ -28,6 +28,6 @@ Comparing strings: MATCH This will be seen. EOF -M4PATH=$srcdir $M4 -d in >out +M4PATH=$srcdir:$srcdir/../examples $M4 -d in >out $CMP -s out ok diff --git a/examples/reverse.test b/examples/reverse.test index 63b4cefa..6f4a0ed0 100755 --- a/examples/reverse.test +++ b/examples/reverse.test @@ -15,6 +15,6 @@ cat <<\EOF >ok `hej, med, dig' => dig, med, hej EOF -M4PATH=$srcdir $M4 -d in >out +M4PATH=$srcdir:$srcdir/../examples $M4 -d in >out $CMP -s out ok diff --git a/examples/sysv-args.test b/examples/sysv-args.test index ceb68c9a..1ad2d805 100755 --- a/examples/sysv-args.test +++ b/examples/sysv-args.test @@ -47,7 +47,7 @@ m4trace: -1- concat m4trace: -1- concat EOF -M4PATH=$srcdir $M4 in >out 2>err +M4PATH=$srcdir:$srcdir/../examples $M4 in >out 2>err sed -e "s, ../../src/m4:, m4:," err >sederr && mv sederr err $CMP -s out ok && $CMP -s err okerr diff --git a/examples/wrap.test b/examples/wrap.test index a6bba3c2..03064eec 100755 --- a/examples/wrap.test +++ b/examples/wrap.test @@ -17,6 +17,6 @@ Wrapper no. 3 Wrapper no. 4 EOF -M4PATH=$srcdir $M4 -d in >out +M4PATH=$srcdir:$srcdir/../examples $M4 -d in >out $CMP -s out ok diff --git a/modules/Makefile.am b/modules/Makefile.am new file mode 100644 index 00000000..01ef5c23 --- /dev/null +++ b/modules/Makefile.am @@ -0,0 +1,9 @@ +noinst_PROGRAMS = test.so time.so + +test_so_SOURCES = test.c +time_so_SOURCES = time.c + +EXTRA_DIST = test.m4 time.m4 + +INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib +LDFLAGS = -shared diff --git a/modules/Makefile.in b/modules/Makefile.in new file mode 100644 index 00000000..06248f02 --- /dev/null +++ b/modules/Makefile.in @@ -0,0 +1,300 @@ +# Makefile.in generated automatically by automake 1.3b from Makefile.am + +# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +SHELL = /bin/sh + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CPP = @CPP@ +DATADIRNAME = @DATADIRNAME@ +GENCAT = @GENCAT@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GT_NO = @GT_NO@ +GT_YES = @GT_YES@ +INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTOBJEXT = @INSTOBJEXT@ +INTLDEPS = @INTLDEPS@ +INTLLIBS = @INTLLIBS@ +INTLOBJS = @INTLOBJS@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PERL = @PERL@ +POFILES = @POFILES@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +STACKOVF = @STACKOVF@ +U = @U@ +USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +l = @l@ + +noinst_PROGRAMS = test.so time.so + +test_so_SOURCES = test.c +time_so_SOURCES = time.c + +EXTRA_DIST = test.m4 time.m4 + +INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib +LDFLAGS = -shared +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) + + +DEFS = @DEFS@ -I. -I$(srcdir) -I.. +CPPFLAGS = @CPPFLAGS@ +LIBS = @LIBS@ +test_so_OBJECTS = test.o +test_so_LDADD = $(LDADD) +test_so_DEPENDENCIES = +test_so_LDFLAGS = +time_so_OBJECTS = time.o +time_so_LDADD = $(LDADD) +time_so_DEPENDENCIES = +time_so_LDFLAGS = +CFLAGS = @CFLAGS@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +DIST_COMMON = README Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP = --best +DEP_FILES = .deps/test.P .deps/time.P +SOURCES = $(test_so_SOURCES) $(time_so_SOURCES) +OBJECTS = $(test_so_OBJECTS) $(time_so_OBJECTS) + +all: Makefile $(PROGRAMS) + +.SUFFIXES: +.SUFFIXES: .S .c .o .s +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu modules/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +mostlyclean-noinstPROGRAMS: + +clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + +distclean-noinstPROGRAMS: + +maintainer-clean-noinstPROGRAMS: + +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< + +mostlyclean-compile: + -rm -f *.o core *.core + +clean-compile: + +distclean-compile: + -rm -f *.tab.c + +maintainer-clean-compile: + +test.so: $(test_so_OBJECTS) $(test_so_DEPENDENCIES) + @rm -f test.so + $(LINK) $(test_so_LDFLAGS) $(test_so_OBJECTS) $(test_so_LDADD) $(LIBS) + +time.so: $(time_so_OBJECTS) $(time_so_DEPENDENCIES) + @rm -f time.so + $(LINK) $(time_so_LDFLAGS) $(time_so_OBJECTS) $(time_so_LDADD) $(LIBS) + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = modules + +distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu modules/Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file; \ + done + +DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) + +-include $(DEP_FILES) + +mostlyclean-depend: + +clean-depend: + +distclean-depend: + +maintainer-clean-depend: + -rm -rf .deps + +%.o: %.c + @echo '$(COMPILE) -c $<'; \ + $(COMPILE) -Wp,-MD,.deps/$(*F).P -c $< + +%.lo: %.c + @echo '$(LTCOMPILE) -c $<'; \ + $(LTCOMPILE) -Wp,-MD,.deps/$(*F).p -c $< + @-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \ + < .deps/$(*F).p > .deps/$(*F).P + @-rm -f .deps/$(*F).p +info: +dvi: +check: all +installcheck: +install-exec: + @$(NORMAL_INSTALL) + +install-data: + @$(NORMAL_INSTALL) + +install: install-exec install-data all + @: + +uninstall: + +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install +installdirs: + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean: mostlyclean-noinstPROGRAMS mostlyclean-compile \ + mostlyclean-tags mostlyclean-depend mostlyclean-generic + +clean: clean-noinstPROGRAMS clean-compile clean-tags clean-depend \ + clean-generic mostlyclean + +distclean: distclean-noinstPROGRAMS distclean-compile distclean-tags \ + distclean-depend distclean-generic clean + -rm -f config.status + +maintainer-clean: maintainer-clean-noinstPROGRAMS \ + maintainer-clean-compile maintainer-clean-tags \ + maintainer-clean-depend maintainer-clean-generic \ + distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +.PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ +clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ +mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile tags mostlyclean-tags distclean-tags \ +clean-tags maintainer-clean-tags distdir mostlyclean-depend \ +distclean-depend clean-depend maintainer-clean-depend info dvi \ +installcheck install-exec install-data install uninstall all \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# 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. +.NOEXPORT: diff --git a/modules/README b/modules/README new file mode 100644 index 00000000..93e7bbb1 --- /dev/null +++ b/modules/README @@ -0,0 +1,62 @@ +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, and might change or +disappear altogether in future versions. Currently it has only been +certified to work under Linux 2.0. + +Dynamic modules are only available if GNU m4 was configured with +--with-modules and if the dlopen(3) interface is available in the +operating system. + +Implementation details are in ../src/module.c + +A module is a compiled shared object, i.e., modules are written in C and +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. + +A module extends GNU m4 by defining new builtins, It can define builtins +with the same names as existing builtins, which will then be +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, quasi non-existent. + +Each module should include the two header files ../src/m4.h and +../src/builtin.h. These will include <ctype.h>, <stdio.h>, +../lib/obstack.h and ../config.h. + +Each module *must* define the symbol "m4_macro_table" as a pointer to a +table of "struct builtin" (defined in m4.h). The table ends with an +entry with name == NULL. The builtins described in the table will be +defined by GNU m4 as were they normal builtins. + +If a module defines the symbol "m4_init_module", it is supposed to be a +function with a prototype of "void m4_init_module(struct obstack *obs)", +and it will be called as soon as the module is loaded. Any non-finished +object left on the obstack will be the expansion of the call of the +builtin "loadmodule". The obstack pointer might be NULL (in the future). + +If a module defines the symbol "m4_finish_module", it is supposed to be +a function with a prototype of "void m4_finish_module(void)", and it +will be called just before GNU m4 exits. This will allow a module to +clean up before exit. There is no way of communicating information to +the user, as GNU m4 exits immeidately afterwards. + +No other symbols will be used by GNU m4. Other external symbols within +the module are private and will not be accessible to GNU m4 or to other +modules. + +Modules are allowed to call external functions already defined within +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. + +To try the demos, compile with `make' and run them with the commands as: + + M4MODPATH=`pwd` ../src/m4 time.m4 diff --git a/modules/test.c b/modules/test.c new file mode 100644 index 00000000..1a8a8092 --- /dev/null +++ b/modules/test.c @@ -0,0 +1,58 @@ +/* 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. +*/ + +#include <m4.h> /* These are obligatory */ +#include <builtin.h> + +module_init_t m4_init_module; /* initialisation function */ +module_finish_t m4_finish_module; /* cleanup function */ + +DECLARE(test); /* declare test as implementing + a builtin */ + +#undef DECLARE + +/* The table of builtins defined by this module - just one */ + +builtin m4_macro_table[] = +{ + /* name GNUext macros blind function */ + { "test", FALSE, FALSE, FALSE, test }, + { 0, FALSE, FALSE, FALSE, 0 }, +}; + +void +m4_init_module(struct obstack *obs) +{ + char *s = "Test module loaded."; + obstack_grow (obs, s, strlen(s)); +} + +void +m4_finish_module(void) +{ + return; +} + +/* The functions for builtins can be static */ +static void +test (struct obstack *obs, int argc, token_data **argv) +{ + char *s = "Test module called"; + obstack_grow (obs, s, strlen(s)); +} diff --git a/modules/test.m4 b/modules/test.m4 new file mode 100644 index 00000000..f8486578 --- /dev/null +++ b/modules/test.m4 @@ -0,0 +1,3 @@ +loadmodule(`test.so') +test +Dumpdef: dumpdef(`test') diff --git a/modules/time.c b/modules/time.c new file mode 100644 index 00000000..5f98e8a7 --- /dev/null +++ b/modules/time.c @@ -0,0 +1,193 @@ +/* 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. +*/ + +#include <m4.h> +#include <builtin.h> + +#include <time.h> + +DECLARE(m4_currenttime); +DECLARE(m4_ctime); +DECLARE(m4_gmtime); +DECLARE(m4_localtime); +DECLARE(m4_mktime); +DECLARE(m4_strftime); + +#undef DECLARE + +builtin m4_macro_table[] = +{ + /* name GNUext macros blind function */ + { "currenttime", TRUE, FALSE, FALSE, m4_currenttime }, + { "ctime", TRUE, FALSE, FALSE, m4_ctime }, + { "gmtime", TRUE, FALSE, TRUE, m4_gmtime }, + { "localtime", TRUE, FALSE, TRUE, m4_localtime }, + { "mktime", TRUE, FALSE, TRUE, m4_mktime }, + { "strftime", TRUE, FALSE, TRUE, m4_strftime }, + { 0, FALSE, FALSE, FALSE, 0 }, +}; + + + +static void +m4_currenttime (struct obstack *obs, int argc, token_data **argv) +{ + char buf[64]; + time_t now; + int l; + + if (bad_argc (argv[0], argc, 1, 1)) + return; + + now = time(0L); + l = sprintf(buf, "%ld", now); + + obstack_grow (obs, buf, l); +} + +static void +m4_ctime (struct obstack *obs, int argc, token_data **argv) +{ + char buf[64]; + time_t t; + int l; + + if (bad_argc (argv[0], argc, 1, 2)) + return; + + if (argc == 2) + numeric_arg(argv[0], ARG(1), (int *)&t); + else + t = time(0L); + + obstack_grow (obs, ctime(&t), 24); +} + +static void +format_tm(struct obstack *obs, struct tm *tm) +{ + shipout_int(obs, tm->tm_sec); + obstack_1grow(obs, ','); + + shipout_int(obs, tm->tm_min); + obstack_1grow(obs, ','); + + shipout_int(obs, tm->tm_hour); + obstack_1grow(obs, ','); + + shipout_int(obs, tm->tm_mday); + obstack_1grow(obs, ','); + + shipout_int(obs, tm->tm_mon); + obstack_1grow(obs, ','); + + shipout_int(obs, tm->tm_year); + obstack_1grow(obs, ','); + + shipout_int(obs, tm->tm_wday); + obstack_1grow(obs, ','); + + shipout_int(obs, tm->tm_yday); + obstack_1grow(obs, ','); + + shipout_int(obs, tm->tm_isdst); +} + +static void +m4_gmtime (struct obstack *obs, int argc, token_data **argv) +{ + time_t t; + struct tm *tm; + + if (bad_argc (argv[0], argc, 2, 2)) + return; + + if (!numeric_arg (argv[0], ARG (1), (int *)&t)) + return; + + format_tm(obs, gmtime(&t)); +} + +static void +m4_localtime (struct obstack *obs, int argc, token_data **argv) +{ + time_t t; + struct tm *tm; + + if (bad_argc (argv[0], argc, 2, 2)) + return; + + if (!numeric_arg (argv[0], ARG (1), (int *)&t)) + return; + + format_tm(obs, localtime(&t)); +} + +/*-------------------------------------------. +| mktime(sec,min,hour,mday,month,year,isdst) | +`-------------------------------------------*/ + +static void +m4_mktime (struct obstack *obs, int argc, token_data **argv) +{ + struct tm tm; + time_t t; + + if (bad_argc (argv[0], argc, 7, 8)) + return; + + if (!numeric_arg (argv[0], ARG (1), &tm.tm_sec)) + return; + if (!numeric_arg (argv[0], ARG (2), &tm.tm_min)) + return; + if (!numeric_arg (argv[0], ARG (3), &tm.tm_hour)) + return; + if (!numeric_arg (argv[0], ARG (4), &tm.tm_mday)) + return; + if (!numeric_arg (argv[0], ARG (5), &tm.tm_mon)) + return; + if (!numeric_arg (argv[0], ARG (6), &tm.tm_year)) + return; + if (ARG(7) && !numeric_arg (argv[0], ARG (7), &tm.tm_isdst)) + return; + + t = mktime(&tm); + + shipout_int(obs, t); +} + +static void +m4_strftime (struct obstack *obs, int argc, token_data **argv) +{ + struct tm *tm; + time_t t; + char *buf; + int l; + + if (bad_argc (argv[0], argc, 3, 3)) + return; + + if (!numeric_arg (argv[0], ARG (2), (int *)&t)) + return; + + tm = localtime(&t); + + buf = (char *) obstack_alloc(obs, 1024); + l = strftime(buf, 1024, ARG(1), tm); + obstack_grow(obs, buf, l); +} diff --git a/modules/time.m4 b/modules/time.m4 new file mode 100644 index 00000000..e87f6bdf --- /dev/null +++ b/modules/time.m4 @@ -0,0 +1,16 @@ +loadmodule(`time.so') + +`currenttime' = currenttime +`ctime' = ctime != ctime(eval(currenttime+60*60*24)) +gmtime = gmtime(currenttime) +localtime = localtime(currenttime) +define(`q', `$1,$2,$3,$4,$5,$6,$9')dnl + +currenttime +eval(currenttime+60*60*24) +localtime(eval(currenttime+60*60*24)) +q(localtime(eval(currenttime+60*60*24))) +mktime = mktime(q(localtime(eval(currenttime+60*60*24)))) + +%A %B %d, %Y = strftime(`%A %B %d, %Y', currenttime) +%X on %x = strftime(`%X on %x', currenttime) diff --git a/po/ChangeLog b/po/ChangeLog index 77b4e9c0..caaa2cad 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,9 @@ +1998-10-04 Rene' Seindal <rene@seindal.dk> + + * pl.po: Polish translation added. + + * POTFILES.in: src/module.c added. + 1998-05-23 Erick Branderhorst <Erick.Branderhorst@asml.nl> * nl.po: Dutch translation by Erick Branderhorst. diff --git a/po/POTFILES.in b/po/POTFILES.in index 5578b784..f72955e0 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -6,6 +6,7 @@ src/freeze.c src/input.c src/m4.c src/macro.c +src/module.c src/output.c src/path.c src/stackovf.c diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c index 1dbefc60..e0c32e0a 100644 --- a/po/cat-id-tbl.c +++ b/po/cat-id-tbl.c @@ -77,7 +77,7 @@ Preprocessor features:\n\ -I, --include=DIRECTORY search this directory second for includes\n\ -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n\ -U, --undefine=NAME delete builtin NAME\n\ -#ifdef SHOW_DEPENDENCIES", 55}, + -s, --synclines generate `#line NO \"FILE\"' lines\n", 55}, {"\ \n\ Limits control:\n\ @@ -113,22 +113,20 @@ FLAGS is any of:\n\ {"\ \n\ If no FILE or if FILE is `-', standard input is read.\n", 60}, - {"\ -\n\ -Report bugs to <m4-bugs@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 create temporary file for diversion", 69}, - {"ERROR: Cannot flush diversion to temporary file", 70}, - {"ERROR: Copying inserted file", 71}, - {"ERROR: Reading inserted file", 72}, - {"Cannot stat diversion", 73}, - {"Path search for `%s' found `%s'", 74}, + {"Bad debug flags: `%s'", 61}, + {"INTERNAL ERROR: Bad code in deferred arguments", 62}, + {"INTERNAL ERROR: Bad token type in expand_token ()", 63}, + {"ERROR: EOF in argument list", 64}, + {"INTERNAL ERROR: Bad token type in expand_argument ()", 65}, + {"INTERNAL ERROR: Bad symbol type in call_macro ()", 66}, + {"ERROR: Recursion limit of %d exceeded, use -L<N> to change it", 67}, + {"ERROR: Cannot create temporary file for diversion", 68}, + {"ERROR: Cannot flush diversion to temporary file", 69}, + {"ERROR: Copying inserted file", 70}, + {"ERROR: Reading inserted file", 71}, + {"Cannot stat diversion", 72}, + {"Path search for `%s' found `%s'", 73}, + {"Module search for `%s' found `%s'", 74}, {"VMEM limit exceeded?\n", 75}, {"\ Memory bounds violation detected (SIGSEGV). Either a stack overflow\n\ Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4.3\n" -"POT-Creation-Date: 1998-09-08 09:33+0200\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\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:276 +#: src/builtin.c:317 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "Warnung: Zu wenig Argumente für eingebaute Funktion `%s'" -#: src/builtin.c:282 +#: src/builtin.c:323 #, 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:310 +#: src/builtin.c:351 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Nicht-numerisches Argument in eingebauter Funktion `%s'" -#: src/builtin.c:409 +#: src/builtin.c:450 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "INTERNER FEHLER: Falscher Datentyp des Tokens in define_macro ()" -#: src/builtin.c:579 src/builtin.c:642 src/builtin.c:1261 src/builtin.c:1285 +#: src/builtin.c:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 #, c-format msgid "Undefined name %s" msgstr "Name %s nicht definiert" -#: src/builtin.c:607 +#: src/builtin.c:673 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "INTERNER FEHLER: Eingebaute Funktion nicht in Tabelle gefunden!" -#: src/builtin.c:615 +#: src/builtin.c:681 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "INTERNER FEHLER: Falscher Datentyp des Tokens in m4_dumpdef ()" -#: src/builtin.c:666 +#: src/builtin.c:732 #, c-format msgid "Undefined macro `%s'" msgstr "Makro `%s' nicht definiert" -#: src/builtin.c:706 +#: src/builtin.c:772 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "INTERNER FEHLER: Falscher Symboltyp in m4_defn ()" -#: src/builtin.c:772 +#: src/builtin.c:838 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kann keine `pipe' für Kommando `%s' öffnen" -#: src/builtin.c:809 +#: src/builtin.c:875 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Basis in `eval' nicht in den Grenzen (Basis = %d)" -#: src/builtin.c:818 +#: src/builtin.c:884 msgid "Negative width to eval" msgstr "Negative Breite in `eval'" -#: src/builtin.c:910 +#: src/builtin.c:976 #, c-format msgid "Non-numeric argument to %s" msgstr "Nicht-numerisches Argument in %s" -#: src/builtin.c:922 +#: src/builtin.c:988 #, c-format msgid "Cannot undivert %s" msgstr "Kann Umleitung %s nicht aufheben" -#: src/builtin.c:1066 +#: src/builtin.c:1132 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Name %s nicht definiert" -#: src/builtin.c:1116 src/freeze.c:207 +#: src/builtin.c:1182 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Kann %s nicht öffnen" -#: src/builtin.c:1321 +#: src/builtin.c:1391 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debug Modus: falsche Debug Flags: `%s'" -#: src/builtin.c:1357 +#: src/builtin.c:1427 #, c-format msgid "Cannot set error file: %s" msgstr "Kann Fehlerdatei nicht vorbereiten: %s" -#: src/builtin.c:1574 +#: src/builtin.c:1644 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "WARNUNG: \\0 wird wegfallen, benutze \\& stattdessen" -#: src/builtin.c:1635 src/builtin.c:1695 src/input.c:979 +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Falscher regulärer Ausdruck `%s': %s" -#: src/builtin.c:1646 src/builtin.c:1719 +#: src/builtin.c:1716 src/builtin.c:1789 #, c-format msgid "Error matching regular expression `%s'" msgstr "Fehler beim Erkennen des regulären Ausdrucks `%s'" @@ -240,21 +240,21 @@ msgstr "NONE" msgid "ERROR: EOF in string" msgstr "FEHLER: Dateiende in Zeichenkette" -#: src/m4.c:111 +#: src/m4.c:106 msgid "ERROR: Stack overflow. (Infinite define recursion?)" msgstr "FEHLER: Keller voll. (Unendliche `define' Rekursion?)" -#: src/m4.c:138 +#: src/m4.c:133 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "`%s --help' zeigt weitere Informationen.\n" -#: src/m4.c:142 +#: src/m4.c:137 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" -#: src/m4.c:143 +#: src/m4.c:138 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:156 +#: src/m4.c:151 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:160 +#: src/m4.c:155 #, fuzzy msgid "" "\n" @@ -292,7 +292,7 @@ msgid "" " -I, --include=DIRECTORY search this directory second for includes\n" " -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" " -U, --undefine=NAME delete builtin NAME\n" -"#ifdef SHOW_DEPENDENCIES" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" "\n" "Präprozessoreigenschaften:\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:171 +#: src/m4.c:163 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:178 +#: src/m4.c:170 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:184 +#: src/m4.c:176 msgid "" "\n" "Debugging:\n" @@ -349,7 +349,7 @@ msgstr "" " -o, --error-output=DATEI leite Debug- und Verfolgungsausgaben nach " "DATEI\n" -#: src/m4.c:192 +#: src/m4.c:184 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:207 +#: src/m4.c:199 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -387,18 +387,12 @@ msgstr "" "\n" "Ohne DATEI oder wenn DATEI `-' ist, wird die Standardeingabe gelesen\n" -#: src/m4.c:211 -msgid "" -"\n" -"Report bugs to <m4-bugs@gnu.org>.\n" -msgstr "" - -#: src/m4.c:379 +#: src/m4.c:365 #, c-format msgid "Bad debug flags: `%s'" msgstr "Falsche Debug Flags: `%s'" -#: src/m4.c:458 +#: src/m4.c:444 msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "INTERNER FEHLER: Falscher Kode in zurückgestellten Argumenten" @@ -444,11 +438,16 @@ msgstr "FEHLER: Während Lesen einer eingefügten Datei" msgid "Cannot stat diversion" msgstr "Kann `stat' nicht auf Umleitung anwenden" -#: src/path.c:138 +#: src/path.c:162 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Pfad für Suche nach `%s' hat `%s' gefunden" +#: src/path.c:239 +#, 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 Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" -"POT-Creation-Date: 1998-09-08 09:33+0200\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\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:276 +#: src/builtin.c:317 #, 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:282 +#: src/builtin.c:323 #, 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:310 +#: src/builtin.c:351 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Argument non-numérique pour «%s» prédéfini" -#: src/builtin.c:409 +#: src/builtin.c:450 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "ERREUR INTERNE: Mauvais type de lexčme dans define_macro ()" -#: src/builtin.c:579 src/builtin.c:642 src/builtin.c:1261 src/builtin.c:1285 +#: src/builtin.c:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 #, c-format msgid "Undefined name %s" msgstr "Nom «%s» non-défini" -#: src/builtin.c:607 +#: src/builtin.c:673 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:615 +#: src/builtin.c:681 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:666 +#: src/builtin.c:732 #, c-format msgid "Undefined macro `%s'" msgstr "Macro «%s» non-défini" -#: src/builtin.c:706 +#: src/builtin.c:772 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "ERREUR INTERNE: Mauvais type de symbole dans m4_defn ()" -#: src/builtin.c:772 +#: src/builtin.c:838 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Incapable d'ouvrir un «pipe» pour la commande «%s»" -#: src/builtin.c:809 +#: src/builtin.c:875 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Base hors intervalle dans «eval» (base = %d)" -#: src/builtin.c:818 +#: src/builtin.c:884 msgid "Negative width to eval" msgstr "Largeur négative dans «eval»" -#: src/builtin.c:910 +#: src/builtin.c:976 #, c-format msgid "Non-numeric argument to %s" msgstr "Argument non-numérique pour %s" -#: src/builtin.c:922 +#: src/builtin.c:988 #, c-format msgid "Cannot undivert %s" msgstr "Incapble de ramener la diversion %s" -#: src/builtin.c:1066 +#: src/builtin.c:1132 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Nom «%s» non-défini" -#: src/builtin.c:1116 src/freeze.c:207 +#: src/builtin.c:1182 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Incapable d'ouvrir %s" -#: src/builtin.c:1321 +#: src/builtin.c:1391 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: mauvais indicateurs de mise-au-point: «%s»" -#: src/builtin.c:1357 +#: src/builtin.c:1427 #, c-format msgid "Cannot set error file: %s" msgstr "Incapable de préparer le fichier d'erreurs: %s" -#: src/builtin.c:1574 +#: src/builtin.c:1644 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" "ATTENTION: \\\\0 disparaîtra, utiliser \\\\& plutôt pour les remplacements" -#: src/builtin.c:1635 src/builtin.c:1695 src/input.c:979 +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Mauvaise expression réguličre «%s»: %s" -#: src/builtin.c:1646 src/builtin.c:1719 +#: src/builtin.c:1716 src/builtin.c:1789 #, c-format msgid "Error matching regular expression `%s'" msgstr "Erreur d'appariement pour l'expressio réguličre «%s»" @@ -237,21 +237,21 @@ msgstr "AUCUN" msgid "ERROR: EOF in string" msgstr "ERREUR: Fin-de-fichier dans la chaîne" -#: src/m4.c:111 +#: src/m4.c:106 msgid "ERROR: Stack overflow. (Infinite define recursion?)" msgstr "ERREUR INTERNE: Mauvais type de lexčme dans expand_token ()" -#: src/m4.c:138 +#: src/m4.c:133 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour plus d'information, essayez «%s --help».\\n\n" -#: src/m4.c:142 +#: src/m4.c:137 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPTION]... [FICHIER]...\\n\n" -#: src/m4.c:143 +#: src/m4.c:138 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:156 +#: src/m4.c:151 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:160 +#: src/m4.c:155 #, fuzzy msgid "" "\n" @@ -290,7 +290,7 @@ msgid "" " -I, --include=DIRECTORY search this directory second for includes\n" " -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" " -U, --undefine=NAME delete builtin NAME\n" -"#ifdef SHOW_DEPENDENCIES" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" "\n" "Capacités de préprocesseur:\n" @@ -300,7 +300,7 @@ msgstr "" " -s, --synclines engendrer des lignes «#line NNN " "\\\"FICHIER\\\"»\n" -#: src/m4.c:171 +#: src/m4.c:163 msgid "" "\n" "Limits control:\n" @@ -315,7 +315,7 @@ msgstr "" " -L, --nesting-limit=NOMBRE modifier la limite artificielle " "d'imbrication\n" -#: src/m4.c:178 +#: src/m4.c:170 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:184 +#: src/m4.c:176 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:192 +#: src/m4.c:184 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:207 +#: src/m4.c:199 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -383,18 +383,12 @@ msgstr "" "\n" "Si aucun FICHIER ou si FICHIER vaut «-», lit l'entrée standard.\n" -#: src/m4.c:211 -msgid "" -"\n" -"Report bugs to <m4-bugs@gnu.org>.\n" -msgstr "" - -#: src/m4.c:379 +#: src/m4.c:365 #, c-format msgid "Bad debug flags: `%s'" msgstr "Mauvais indicateurs de mise-au-point: «%s»" -#: src/m4.c:458 +#: src/m4.c:444 msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "ERREUR INTERNE: Mauvais code dans les arguments différés" @@ -440,11 +434,16 @@ 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:138 +#: src/path.c:162 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La fouille du chemin pour «%s» trouve «%s»" +#: src/path.c:239 +#, 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 Binary files differ@@ -1,6 +1,6 @@ msgid "" msgstr "" -"POT-Creation-Date: 1998-09-08 09:33+0200\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\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:276 +#: src/builtin.c:317 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "Attenzione: Troppo pochi argomenti per la funzione predefinita `%s'" -#: src/builtin.c:282 +#: src/builtin.c:323 #, 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:310 +#: src/builtin.c:351 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Argumento non numerico a funzione predefinita `%s'" -#: src/builtin.c:409 +#: src/builtin.c:450 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "ERRORE INTERNO: Tipo dato `token' errato in define_macro ()" -#: src/builtin.c:579 src/builtin.c:642 src/builtin.c:1261 src/builtin.c:1285 +#: src/builtin.c:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 #, c-format msgid "Undefined name %s" msgstr "Nome `%s' non definito" -#: src/builtin.c:607 +#: src/builtin.c:673 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "" -#: src/builtin.c:615 +#: src/builtin.c:681 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "" -#: src/builtin.c:666 +#: src/builtin.c:732 #, c-format msgid "Undefined macro `%s'" msgstr "Macro `%s' non definita" -#: src/builtin.c:706 +#: src/builtin.c:772 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "ERRORE INTERNO: Tipo simbolo errato in m4_defn ()" -#: src/builtin.c:772 +#: src/builtin.c:838 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Impossibile aprire una `pipe' per il comando `%s'" -#: src/builtin.c:809 +#: src/builtin.c:875 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Base fuori intervallo in `eval' (base = %d)" -#: src/builtin.c:818 +#: src/builtin.c:884 msgid "Negative width to eval" msgstr "Larghezza negativa in `eval'" -#: src/builtin.c:910 +#: src/builtin.c:976 #, c-format msgid "Non-numeric argument to %s" msgstr "Argumento non numerico a %s" -#: src/builtin.c:922 +#: src/builtin.c:988 #, c-format msgid "Cannot undivert %s" msgstr "Impossibile ripristinare la deviazione %s" -#: src/builtin.c:1066 +#: src/builtin.c:1132 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Nome `%s' non definito" -#: src/builtin.c:1116 src/freeze.c:207 +#: src/builtin.c:1182 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Impossibile aprire %s" -#: src/builtin.c:1321 +#: src/builtin.c:1391 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Modalitŕ di debug: indicatori di debug errati: `%s'" -#: src/builtin.c:1357 +#: src/builtin.c:1427 #, c-format msgid "Cannot set error file: %s" msgstr "Impossibile aprire l' archivio di errore: %s" -#: src/builtin.c:1574 +#: src/builtin.c:1644 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" -#: src/builtin.c:1635 src/builtin.c:1695 src/input.c:979 +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Espressione regolare errata `%s': %s" -#: src/builtin.c:1646 src/builtin.c:1719 +#: src/builtin.c:1716 src/builtin.c:1789 #, c-format msgid "Error matching regular expression `%s'" msgstr "Errore nel confronto dell' espressione regolare `%s'" @@ -231,21 +231,21 @@ msgstr "NESSUNO" msgid "ERROR: EOF in string" msgstr "ERRORE: Fine prematura di una stringa" -#: src/m4.c:111 +#: src/m4.c:106 msgid "ERROR: Stack overflow. (Infinite define recursion?)" msgstr "ERRORE: Stack overflow. (Ricorsione infinita in `define'?)" -#: src/m4.c:138 +#: src/m4.c:133 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Per ulteriori informazioni provare `%s --help'.\n" -#: src/m4.c:142 +#: src/m4.c:137 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPZIONE]... [ARCHIVIO]...\n" -#: src/m4.c:143 +#: src/m4.c:138 msgid "" "Mandatory or optional arguments to long options are mandatory or optional\n" "for short options too.\n" @@ -259,21 +259,21 @@ msgid "" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" -#: src/m4.c:156 +#: src/m4.c:151 msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n" msgstr "" -#: src/m4.c:160 +#: src/m4.c:155 msgid "" "\n" "Preprocessor features:\n" " -I, --include=DIRECTORY search this directory second for includes\n" " -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" " -U, --undefine=NAME delete builtin NAME\n" -"#ifdef SHOW_DEPENDENCIES" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" -#: src/m4.c:171 +#: src/m4.c:163 msgid "" "\n" "Limits control:\n" @@ -282,7 +282,7 @@ msgid "" " -L, --nesting-limit=NUMBER change artificial nesting limit\n" msgstr "" -#: src/m4.c:178 +#: src/m4.c:170 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:184 +#: src/m4.c:176 msgid "" "\n" "Debugging:\n" @@ -300,7 +300,7 @@ msgid "" " -o, --error-output=FILE redirect debug and trace output\n" msgstr "" -#: src/m4.c:192 +#: src/m4.c:184 msgid "" "\n" "FLAGS is any of:\n" @@ -317,24 +317,18 @@ msgid "" " V shorthand for all of the above flags\n" msgstr "" -#: src/m4.c:207 +#: src/m4.c:199 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" -#: src/m4.c:211 -msgid "" -"\n" -"Report bugs to <m4-bugs@gnu.org>.\n" -msgstr "" - -#: src/m4.c:379 +#: src/m4.c:365 #, c-format msgid "Bad debug flags: `%s'" msgstr "Indicatori di debug errati: `%s'" -#: src/m4.c:458 +#: src/m4.c:444 msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "ERRORE INTERNO: Codice errato in argomenti differiti" @@ -379,11 +373,16 @@ msgstr "ERRORE: Leggendo archivio inserito" msgid "Cannot stat diversion" msgstr "Impossibile effettuare la `stat' per la deviazione" -#: src/path.c:138 +#: src/path.c:162 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La ricerca del percorso per `%s' ha trovato `%s'" +#: src/path.c:239 +#, 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 Binary files differ@@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" -"POT-Creation-Date: 1998-09-08 09:33+0200\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\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:276 +#: src/builtin.c:317 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "·Ůąđˇ§%s ¤Ř¤Î°úżô¤¬ÉÔ¤·¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/builtin.c:282 +#: src/builtin.c:323 #, c-format msgid "Warning: Excess arguments to built-in `%s' ignored" msgstr "·Ůąđˇ§%s ¤Ř¤Î°úżô¤¬Âż˛á¤®¤Ţ¤ą (Ķ¤¨¤żĘ¬¤Ď̵»ë¤µ¤ě¤Ţ¤ą)ˇŁ" -#: src/builtin.c:310 +#: src/builtin.c:351 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "`%s' ¤Ëżô»ú¤Ç¤Ę¤¤°úżô¤¬ĹϤµ¤ě¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/builtin.c:409 +#: src/builtin.c:450 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô define_macro () Ćâ¤ÎĄČˇĽĄŻĄóĄÇˇĽĄż¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/builtin.c:579 src/builtin.c:642 src/builtin.c:1261 src/builtin.c:1285 +#: src/builtin.c:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 #, c-format msgid "Undefined name %s" msgstr "`%s' ¤ĎÄęµÁ¤µ¤ě¤Ć¤¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:607 +#: src/builtin.c:673 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§`Built-in' ¤Č¤¤¤¦ĄÓĄëĄČĄ¤ĄóĄŢĄŻĄí¤Ď¤˘¤ę¤Ţ¤»¤óˇŁ" -#: src/builtin.c:615 +#: src/builtin.c:681 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô m4_dumpdef () ¤ÎĄČˇĽĄŻĄóĄÇˇĽĄż¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/builtin.c:666 +#: src/builtin.c:732 #, c-format msgid "Undefined macro `%s'" msgstr "ĄŢĄŻĄí `%s' ¤ĎÄęµÁ¤µ¤ě¤Ć¤¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:706 +#: src/builtin.c:772 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô m4_defn () Ćâ¤ÎĄ·ĄóĄÜĄë¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/builtin.c:772 +#: src/builtin.c:838 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "ĄłĄŢĄóĄÉ `%s' ¤Ř¤ÎĄŃĄ¤Ą×¤¬ĄŞˇĽĄ×Ąó¤Ç¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:809 +#: src/builtin.c:875 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "eval ¤Î´đżô ( %d żĘˡ) ¤Î·ĺżô¤¬µöÍĆČĎ°Ďł°¤Ë¤˘¤ę¤Ţ¤ąˇŁ" -#: src/builtin.c:818 +#: src/builtin.c:884 msgid "Negative width to eval" msgstr "eval ¤Î˝ĐÎĎ·ĺżô¤¬Ééżô¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/builtin.c:910 +#: src/builtin.c:976 #, c-format msgid "Non-numeric argument to %s" msgstr "`%s' ¤Ëżô»ú¤Ç¤Ę¤¤°úżô¤¬ĹϤµ¤ě¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/builtin.c:922 +#: src/builtin.c:988 #, c-format msgid "Cannot undivert %s" msgstr "`%s' ¤ň undivert ¤Ç¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:1066 +#: src/builtin.c:1132 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "`%s' ¤ĎÄęµÁ¤µ¤ě¤Ć¤¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:1116 src/freeze.c:207 +#: src/builtin.c:1182 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "`%s' ¤ňĄŞˇĽĄ×Ąó¤Ç¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:1321 +#: src/builtin.c:1391 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "debugmode ĄŢĄŻĄí¤Ë¤Ş¤¤¤Ć %s ¤ĎÉÔŔµ¤ĘĄÇĄĐĄĂĄ°ĄŞĄ×Ą·ĄçĄó¤Ç¤ąˇŁ" -#: src/builtin.c:1357 +#: src/builtin.c:1427 #, c-format msgid "Cannot set error file: %s" msgstr "`%s' ¤ňĄ¨ĄéˇĽĄíĄ°ĄŐĄˇĄ¤Ąë¤Č¤·¤ĆĄ»ĄĂĄČ¤Ç¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:1574 +#: src/builtin.c:1644 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "·Ůąđˇ§\\0 ¤ĎµěĽ°¤ÎÍŃˡ¤Ç¤ąˇŁ\\& ¤ňÂĺ¤ď¤ę¤Ë»Č¤Ă¤Ć˛Ľ¤µ¤¤ˇŁ" -#: src/builtin.c:1635 src/builtin.c:1695 src/input.c:979 +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 #, c-format msgid "Bad regular expression `%s': %s" msgstr "`%s' : %s ¤Ďˇ˘ÉÔŔµ¤ĘŔµµ¬É˝¸˝¤Ç¤ąˇŁ" -#: src/builtin.c:1646 src/builtin.c:1719 +#: src/builtin.c:1716 src/builtin.c:1789 #, c-format msgid "Error matching regular expression `%s'" msgstr "Ŕµµ¬É˝¸˝ %s ¤ÎĄŢĄĂĄÁĄóĄ°¤ËĽşÇÔ¤·¤Ţ¤·¤żˇŁ" @@ -237,23 +237,23 @@ msgstr "¤Ę¤·" msgid "ERROR: EOF in string" msgstr "Ą¨ĄéˇĽ: ʸ»úÎóĆâ¤ËĄŐĄˇĄ¤Ąë¤Î˝ŞĂĽµąć¤¬¤˘¤ę¤Ţ¤ąˇŁ" -#: src/m4.c:111 +#: src/m4.c:106 msgid "ERROR: Stack overflow. (Infinite define recursion?)" msgstr "" "Ą¨ĄéˇĽ: ĄąĄżĄĂĄŻ¤¬ĄŞˇĽĄĐˇĽĄŐĄíˇĽ¤ňµŻ¤ł¤·¤Ć¤¤¤Ţ¤ąˇŁ\n" " (̵¸Â¤ËşĆµ˘ĹŞÄęµÁ¤ň¤·¤Ć¤¤¤Ţ¤»¤ó¤«ˇ©)" -#: src/m4.c:138 +#: src/m4.c:133 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "ľÜ¤·¤Ż¤Ď `%s --help' ¤Î˝ĐÎϤň¸ćÍ÷˛Ľ¤µ¤¤ˇŁ\n" -#: src/m4.c:142 +#: src/m4.c:137 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "»ČÍŃĘýˡ: %s [ĄŞĄ×Ą·ĄçĄó]...[ĄŐĄˇĄ¤ĄëĚľ]\n" -#: src/m4.c:143 +#: src/m4.c:138 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:156 +#: src/m4.c:151 msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n" msgstr "" "-W, --word-regexp=REGEXP ĄŢĄŻĄíĚľ¤ÎĄ·ĄóĄżĄĂĄŻĄą¤Ë REGEXP ¤ň " " Ŕµµ¬É˝¸˝¤Č¤·¤ĆÍѤ¤¤Ţ¤ąˇŁ\n" -#: src/m4.c:160 +#: src/m4.c:155 #, fuzzy msgid "" "\n" @@ -293,7 +293,7 @@ msgid "" " -I, --include=DIRECTORY search this directory second for includes\n" " -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" " -U, --undefine=NAME delete builtin NAME\n" -"#ifdef SHOW_DEPENDENCIES" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" "\n" "Ą×ĄęĄ×ĄíĄ»ĄĂĄµµˇÇ˝:\n" @@ -305,7 +305,7 @@ msgstr "" " -U, --undefine=NAME NAME ¤ÎÄęµÁ¤ňĽč¤ęľĂ¤·¤Ţ¤ąˇŁ\n" " -s, --synclines ąÔČÖąć¤ČĄŐĄˇĄ¤ĄëĚľ¤ÎąÔ¤ňŔ¸Ŕ®¤·¤Ţ¤ąˇŁ\n" -#: src/m4.c:171 +#: src/m4.c:163 msgid "" "\n" "Limits control:\n" @@ -321,7 +321,7 @@ msgstr "" " -L, --nesting-limit=NUNBER " "ĄŢĄŻĄí¤ÎĄÍĄąĄČ˛óżô¤Îľĺ¸ÂĂͤňżÍ°ŮĹŞ¤ËĘŃąą¤·¤Ţ¤ąˇŁ\n" -#: src/m4.c:178 +#: src/m4.c:170 msgid "" "\n" "Frozen state files:\n" @@ -334,7 +334,7 @@ msgstr "" " -R, --reload-state=FILE şÇ˝é¤Ë»ŘÄꤵ¤ě¤ż FILE ¤«¤é\n" " Ĺŕ·ë¤µ¤ě¤żÄęµÁ¤ňĄíˇĽĄÉ¤·¤Ţ¤ą\n" -#: src/m4.c:184 +#: src/m4.c:176 msgid "" "\n" "Debugging:\n" @@ -352,7 +352,7 @@ msgstr "" " -o, --error-output=FILE ĄÇĄĐĄĂĄ°¤ČĄČĄěˇĽĄą¤Î˝ĐÎϤň FILE ¤Ë\n" " ĄęĄŔĄ¤ĄěĄŻĄČ¤·¤Ţ¤ąˇŁ\n" -#: src/m4.c:192 +#: src/m4.c:184 msgid "" "\n" "FLAGS is any of:\n" @@ -384,7 +384,7 @@ msgstr "" " i ĆţÎĎĄŐĄˇĄ¤Ąë¤ËŔ¸¤¸¤żĘѲ˝¤ňÉ˝Ľ¨¤·¤Ţ¤ąˇŁ\n" " V ľĺµ¤ÎÁ´¤Ć¤Î FLAG ¤ň»ŘÄꤹ¤ë¤ł¤Č¤ň°ŐĚŁ¤·¤Ţ¤ąˇŁ\n" -#: src/m4.c:207 +#: src/m4.c:199 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -393,18 +393,12 @@ msgstr "" "FILE ¤¬»ŘÄꤵ¤ě¤Ć¤¤¤Ę¤¤ľěąç¤Ş¤č¤Ó»ŘÄꤵ¤ě¤żĄŐĄˇĄ¤Ąë¤¬ `-' ¤Îľěąç¤Ď\n" " ɸ˝ŕĆţÎϤ¬Ćɤ߹ţ¤Ţ¤ě¤Ţ¤ąˇŁ\n" -#: src/m4.c:211 -msgid "" -"\n" -"Report bugs to <m4-bugs@gnu.org>.\n" -msgstr "" - -#: src/m4.c:379 +#: src/m4.c:365 #, c-format msgid "Bad debug flags: `%s'" msgstr "`%s' ¤ĎÉÔŔµ¤ĘĄÇĄĐĄĂĄ°ĄŞĄ×Ą·ĄçĄó°úżô¤Ç¤ąˇŁ" -#: src/m4.c:458 +#: src/m4.c:444 msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§ĄŞĄ×Ą·ĄçĄó¤Î¸ĺ˝čÍý¤Çˇ˘ÉÔŔµĄłˇĽĄÉ¤¬¸ˇ˝Đ¤µ¤ě¤Ţ¤·¤żˇŁ" @@ -453,11 +447,16 @@ msgstr "" "divert ¤Î¤ż¤á¤ÎĄŐĄˇĄ¤Ąë¤ÎĄąĄĆˇĽĄżĄą¤ňĆŔ¤ë¤ł¤Č¤¬¤Ç¤¤Ţ¤»¤óˇŁ\n" " (stat ¤Ç¤¤Ţ¤»¤óˇŁ)" -#: src/path.c:138 +#: src/path.c:162 #, c-format msgid "Path search for `%s' found `%s'" msgstr "`%s' ¤Č¤¤¤¦ĄÇĄŁĄěĄŻĄČĄę¤«¤é `%s' ¤Č¤¤¤¦ĄŐĄˇĄ¤Ąë¤ň¸«¤Ä¤±¤Ţ¤·¤żˇŁ" +#: src/path.c:239 +#, 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 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1998-09-08 09:33+0200\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\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:276 +#: src/builtin.c:317 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "" -#: src/builtin.c:282 +#: src/builtin.c:323 #, c-format msgid "Warning: Excess arguments to built-in `%s' ignored" msgstr "" -#: src/builtin.c:310 +#: src/builtin.c:351 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "" -#: src/builtin.c:409 +#: src/builtin.c:450 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "" -#: src/builtin.c:579 src/builtin.c:642 src/builtin.c:1261 src/builtin.c:1285 +#: src/builtin.c:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 #, c-format msgid "Undefined name %s" msgstr "" -#: src/builtin.c:607 +#: src/builtin.c:673 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "" -#: src/builtin.c:615 +#: src/builtin.c:681 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "" -#: src/builtin.c:666 +#: src/builtin.c:732 #, c-format msgid "Undefined macro `%s'" msgstr "" -#: src/builtin.c:706 +#: src/builtin.c:772 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "" -#: src/builtin.c:772 +#: src/builtin.c:838 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "" -#: src/builtin.c:809 +#: src/builtin.c:875 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "" -#: src/builtin.c:818 +#: src/builtin.c:884 msgid "Negative width to eval" msgstr "" -#: src/builtin.c:910 +#: src/builtin.c:976 #, c-format msgid "Non-numeric argument to %s" msgstr "" -#: src/builtin.c:922 +#: src/builtin.c:988 #, c-format msgid "Cannot undivert %s" msgstr "" -#: src/builtin.c:1066 +#: src/builtin.c:1132 #, c-format msgid "Undefined syntax code %c" msgstr "" -#: src/builtin.c:1116 src/freeze.c:207 +#: src/builtin.c:1182 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "" -#: src/builtin.c:1321 +#: src/builtin.c:1391 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "" -#: src/builtin.c:1357 +#: src/builtin.c:1427 #, c-format msgid "Cannot set error file: %s" msgstr "" -#: src/builtin.c:1574 +#: src/builtin.c:1644 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" -#: src/builtin.c:1635 src/builtin.c:1695 src/input.c:979 +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 #, c-format msgid "Bad regular expression `%s': %s" msgstr "" -#: src/builtin.c:1646 src/builtin.c:1719 +#: src/builtin.c:1716 src/builtin.c:1789 #, c-format msgid "Error matching regular expression `%s'" msgstr "" @@ -231,21 +231,21 @@ msgstr "" msgid "ERROR: EOF in string" msgstr "" -#: src/m4.c:111 +#: src/m4.c:106 msgid "ERROR: Stack overflow. (Infinite define recursion?)" msgstr "" -#: src/m4.c:138 +#: src/m4.c:133 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: src/m4.c:142 +#: src/m4.c:137 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" -#: src/m4.c:143 +#: src/m4.c:138 msgid "" "Mandatory or optional arguments to long options are mandatory or optional\n" "for short options too.\n" @@ -259,21 +259,21 @@ msgid "" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" -#: src/m4.c:156 +#: src/m4.c:151 msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n" msgstr "" -#: src/m4.c:160 +#: src/m4.c:155 msgid "" "\n" "Preprocessor features:\n" " -I, --include=DIRECTORY search this directory second for includes\n" " -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" " -U, --undefine=NAME delete builtin NAME\n" -"#ifdef SHOW_DEPENDENCIES" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" -#: src/m4.c:171 +#: src/m4.c:163 msgid "" "\n" "Limits control:\n" @@ -282,7 +282,7 @@ msgid "" " -L, --nesting-limit=NUMBER change artificial nesting limit\n" msgstr "" -#: src/m4.c:178 +#: src/m4.c:170 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:184 +#: src/m4.c:176 msgid "" "\n" "Debugging:\n" @@ -300,7 +300,7 @@ msgid "" " -o, --error-output=FILE redirect debug and trace output\n" msgstr "" -#: src/m4.c:192 +#: src/m4.c:184 msgid "" "\n" "FLAGS is any of:\n" @@ -317,24 +317,18 @@ msgid "" " V shorthand for all of the above flags\n" msgstr "" -#: src/m4.c:207 +#: src/m4.c:199 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" -#: src/m4.c:211 -msgid "" -"\n" -"Report bugs to <m4-bugs@gnu.org>.\n" -msgstr "" - -#: src/m4.c:379 +#: src/m4.c:365 #, c-format msgid "Bad debug flags: `%s'" msgstr "" -#: src/m4.c:458 +#: src/m4.c:444 msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "" @@ -379,11 +373,16 @@ msgstr "" msgid "Cannot stat diversion" msgstr "" -#: src/path.c:138 +#: src/path.c:162 #, c-format msgid "Path search for `%s' found `%s'" msgstr "" +#: src/path.c:239 +#, 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 Binary files differ@@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" -"POT-Creation-Date: 1998-09-08 09:33+0200\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\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:276 +#: src/builtin.c:317 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "Let op: Te weinig argument voor ingebouwde functie `%s'" -#: src/builtin.c:282 +#: src/builtin.c:323 #, 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:310 +#: src/builtin.c:351 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Niet numeriek argument voor ingebouwde functie `%s'" -#: src/builtin.c:409 +#: src/builtin.c:450 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "INTERNE FOUT: Onjuist teken data type in define_macro ()" -#: src/builtin.c:579 src/builtin.c:642 src/builtin.c:1261 src/builtin.c:1285 +#: src/builtin.c:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 #, c-format msgid "Undefined name %s" msgstr "Ongedefinieerde naam %s" -#: src/builtin.c:607 +#: src/builtin.c:673 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "INTERNE FOUT: Ingebouwde functie niet gevonden in functie tabel!" -#: src/builtin.c:615 +#: src/builtin.c:681 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "INTERNE FOUT: Onjuist teken data type in m4_dumpdef ()" -#: src/builtin.c:666 +#: src/builtin.c:732 #, c-format msgid "Undefined macro `%s'" msgstr "Ongedefinieerde macro `%s'" -#: src/builtin.c:706 +#: src/builtin.c:772 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "INTERNE FOUT: Onjuist symbool type in m4_defn ()" -#: src/builtin.c:772 +#: src/builtin.c:838 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan geen pijp openen voor commando `%s'" -#: src/builtin.c:809 +#: src/builtin.c:875 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Radix in evaluatie buiten bereik (radix = %d)" -#: src/builtin.c:818 +#: src/builtin.c:884 msgid "Negative width to eval" msgstr "Negatieve breedte te evalueren" -#: src/builtin.c:910 +#: src/builtin.c:976 #, c-format msgid "Non-numeric argument to %s" msgstr "Niet numeriek argument voor %s" -#: src/builtin.c:922 +#: src/builtin.c:988 #, c-format msgid "Cannot undivert %s" msgstr "Cannot undivert %s" -#: src/builtin.c:1066 +#: src/builtin.c:1132 #, c-format msgid "Undefined syntax code %c" msgstr "Ongedefinieerde syntax code %c" -#: src/builtin.c:1116 src/freeze.c:207 +#: src/builtin.c:1182 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Kan %s niet openen" -#: src/builtin.c:1321 +#: src/builtin.c:1391 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: onjuiste debug vlaggen: `%s'" -#: src/builtin.c:1357 +#: src/builtin.c:1427 #, c-format msgid "Cannot set error file: %s" msgstr "Kan fout bestand niet instellen: %s" -#: src/builtin.c:1574 +#: src/builtin.c:1644 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "LET OP: \\0 zal verdwijnen, gebruik hiervoor \\& als vervanging" -#: src/builtin.c:1635 src/builtin.c:1695 src/input.c:979 +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Onjuiste reguliere expressie `%s': %s" -#: src/builtin.c:1646 src/builtin.c:1719 +#: src/builtin.c:1716 src/builtin.c:1789 #, c-format msgid "Error matching regular expression `%s'" msgstr "Fout overeenkomen reguliere expressies `%s'" @@ -233,21 +233,21 @@ msgstr "GEEN" msgid "ERROR: EOF in string" msgstr "FOUT: Einde van bestand teken in string" -#: src/m4.c:111 +#: src/m4.c:106 msgid "ERROR: Stack overflow. (Infinite define recursion?)" msgstr "FOUT: Stapel overflow. (Infinite define recursion?)" -#: src/m4.c:138 +#: src/m4.c:133 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' voor meer informatie.\n" -#: src/m4.c:142 +#: src/m4.c:137 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" -#: src/m4.c:143 +#: src/m4.c:138 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:156 +#: src/m4.c:151 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:160 +#: src/m4.c:155 #, fuzzy msgid "" "\n" @@ -285,7 +285,7 @@ msgid "" " -I, --include=DIRECTORY search this directory second for includes\n" " -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" " -U, --undefine=NAME delete builtin NAME\n" -"#ifdef SHOW_DEPENDENCIES" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" "\n" "Voorbewerkings features:\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:171 +#: src/m4.c:163 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:178 +#: src/m4.c:170 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:184 +#: src/m4.c:176 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:192 +#: src/m4.c:184 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:207 +#: src/m4.c:199 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -379,20 +379,12 @@ msgstr "" "\n" "Als geen BESTAND of als BESTAND `-' is, standaard invoer wordt gelezen.\n" -#: src/m4.c:211 -msgid "" -"\n" -"Report bugs to <m4-bugs@gnu.org>.\n" -msgstr "" -"\n" -"Meld fouten via <m4-bugs@gnu.org>.\n" - -#: src/m4.c:379 +#: src/m4.c:365 #, c-format msgid "Bad debug flags: `%s'" msgstr "Onjuiste debug vlaggen: `%s'" -#: src/m4.c:458 +#: src/m4.c:444 msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "INTERNE FOUT: Onjuiste code in afgeleide argumenten" @@ -438,11 +430,16 @@ msgstr "FOUT: Lezen ingevoegd bestand" msgid "Cannot stat diversion" msgstr "Cannot stat diversion" -#: src/path.c:138 +#: src/path.c:162 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Zoeken naar `%s' via PATH levert `%s'" +#: src/path.c:239 +#, 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 @@ -469,3 +466,10 @@ msgstr "INTERNE FOUT: Ongeldige mode voor symbol_lookup ()" #, c-format msgid "Name `%s' is unknown\n" msgstr "Naam `%s' is niet bekend\n" + +#~ msgid "" +#~ "\n" +#~ "Report bugs to <m4-bugs@gnu.org>.\n" +#~ msgstr "" +#~ "\n" +#~ "Meld fouten via <m4-bugs@gnu.org>.\n" diff --git a/po/pl.gmo b/po/pl.gmo Binary files differnew file mode 100644 index 00000000..4bb38992 --- /dev/null +++ b/po/pl.gmo diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 00000000..8cdf9481 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,500 @@ +# Polish translations for the GNU m4 messages. +# Copyright (C) 1998 Free Software Foundation, Inc. +# Rafał Maszkowski <rzm@icm.edu.pl>, 1998. +# +msgid "" +msgstr "" +"Project-Id-Version: m4 1.4.3\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: src/builtin.c:317 +#, c-format +msgid "Warning: Too few arguments to built-in `%s'" +msgstr "Uwaga: Za mało argumentów dla wbodowanego `%s'" + +#: src/builtin.c:323 +#, 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:351 +#, c-format +msgid "Non-numeric argument to built-in `%s'" +msgstr "Nienumeryczny argument do built-in `%s'" + +#: src/builtin.c:450 +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:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 +#, c-format +msgid "Undefined name %s" +msgstr "Niezdefiniowana nazwa %s" + +#: src/builtin.c:673 +msgid "INTERNAL ERROR: Builtin not found in builtin table!" +msgstr "BŁˇD WEWNĘTRZNY: Wbudowane nie znalezione w tablicy wbudowanych!" + +#: src/builtin.c:681 +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:732 +#, c-format +msgid "Undefined macro `%s'" +msgstr "Niezdefiniowane makro `%s'" + +#: src/builtin.c:772 +msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" +msgstr "BŁˇD WEWNETRZNY: Zły typ symbolu w m4_defn ()" + +#: src/builtin.c:838 +#, c-format +msgid "Cannot open pipe to command `%s'" +msgstr "Nie mogę otworzyć potoku do komendy `%s'" + +#: src/builtin.c:875 +#, c-format +msgid "Radix in eval out of range (radix = %d)" +msgstr "Baza w eval poza zakresem (radix = %d)" + +#: src/builtin.c:884 +msgid "Negative width to eval" +msgstr "Ujemna długo¶ć w eval" + +#: src/builtin.c:976 +#, c-format +msgid "Non-numeric argument to %s" +msgstr "Nienumeryczny argument dla %s" + +#: src/builtin.c:988 +#, c-format +msgid "Cannot undivert %s" +msgstr "Nie mogę przetowrzyć z powrotem %s" + +#: src/builtin.c:1132 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Niezdefiniowana nazwa %s" + +#: src/builtin.c:1182 src/freeze.c:207 +#, c-format +msgid "Cannot open %s" +msgstr "Nie mogę otworzyć %s" + +#: src/builtin.c:1391 +#, c-format +msgid "Debugmode: bad debug flags: `%s'" +msgstr "Tryb debugowania: złe flagi debugowania: `%s'" + +#: src/builtin.c:1427 +#, c-format +msgid "Cannot set error file: %s" +msgstr "Nie mogę ustawić pliku błędów: %s" + +#: src/builtin.c:1644 +msgid "WARNING: \\0 will disappear, use \\& instead in replacements" +msgstr "UWAGA: \\0 zniknie, w podstawieniach użyj zamiast tego \\&" + +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 +#, c-format +msgid "Bad regular expression `%s': %s" +msgstr "Błędne wyrażenie regularne `%s': %s" + +#: src/builtin.c:1716 src/builtin.c:1789 +#, c-format +msgid "Error matching regular expression `%s'" +msgstr "Bł±d dopasowania do wyrażenia regularnego `%s'" + +#: src/debug.c:379 +msgid "INTERNAL ERROR: Builtin not found in builtin table! (trace_pre ())" +msgstr "" +"BŁˇD WEWNĘTRZNY: Wbudowane nie znalezione w tablicy wbudowanych! (trace_pre " +"())" + +#: src/debug.c:387 +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 +#, 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 +#, c-format +msgid "Bad expression in eval: %s" +msgstr "Błędne wyrażenie w eval: %s" + +#: src/eval.c:308 +#, 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 +#, c-format +msgid "Bad expression in eval (excess input): %s" +msgstr "Błędne wyrażenie w eval (nadmiarowe dane): %s" + +#: src/eval.c:318 +#, c-format +msgid "Divide by zero in eval: %s" +msgstr "Dzielenie przez zero w eval: %s" + +#: src/eval.c:323 +#, c-format +msgid "Modulo by zero in eval: %s" +msgstr "Modulo zero w eval: %s" + +#: src/eval.c:328 +msgid "INTERNAL ERROR: Bad error code in evaluate ()" +msgstr "BŁˇD WEWNĘTRZNY: Błędny kod błędu w evaluate ()" + +#: src/eval.c:582 +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 +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 +msgid "INTERNAL ERROR: Bad operator in mult_term ()" +msgstr "BŁˇD WEWNĘTRZNY: Błędny opertaotr w mult_term ()" + +#: src/freeze.c:115 +msgid "INTERNAL ERROR: Built-in not found in builtin table!" +msgstr "BŁˇD WEWNĘTRZNY: Wbudowane nie znalezione w tablicy wbudowanych!" + +#: src/freeze.c:128 +msgid "INTERNAL ERROR: Bad token data type in freeze_one_symbol ()" +msgstr "BŁˇD WEWNĘTRZNY: Błędny typ danych tokenu w freeze_one_symbol ()" + +#: src/freeze.c:159 +msgid "Expecting line feed in frozen file" +msgstr "Oczekiwany line fedd w pliku zamrożonym" + +#: src/freeze.c:161 +#, c-format +msgid "Expecting character `%c' in frozen file" +msgstr "Oczekiwany znak `%c' w pliku zamrożonym" + +#: src/freeze.c:218 +msgid "Ill-formated frozen file" +msgstr "¬le sformatowy plik zamrożony" + +#: src/freeze.c:273 src/freeze.c:289 +msgid "Premature end of frozen file" +msgstr "Przedwczesny koniec pliku zamrożonego" + +#: src/freeze.c:323 +#, c-format +msgid "`%s' from frozen file not found in builtin table!" +msgstr "`%s' z pliku zamrożonego nie znalezione w tablicy wbudowanych!" + +#: src/input.c:306 +#, c-format +msgid "Input reverted to %s, line %d" +msgstr "Dane wej¶ciowe wycofane do %s, linia %d" + +#: src/input.c:334 +#, c-format +msgid "Input read from %s" +msgstr "Dane wej¶ciowe przeczytane z %s" + +#: src/input.c:494 +msgid "INTERNAL ERROR: Recursive push_string!" +msgstr "BŁˇD WEWNĘTRZNY: Rekursywny push_string!" + +#: src/input.c:611 +msgid "INTERNAL ERROR: Bad call to init_macro_token ()" +msgstr "BŁˇD WEWNĘTRZNY: Błędne wywołanie init_macro_token ()" + +#: src/input.c:651 +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:688 +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:791 +msgid "NONE" +msgstr "ŻADEN" + +#: src/input.c:1130 src/input.c:1157 +msgid "ERROR: EOF in string" +msgstr "BŁˇD: EOF w łańcuchu" + +#: src/m4.c:106 +msgid "ERROR: Stack overflow. (Infinite define recursion?)" +msgstr "BŁˇD: Przepełnienie stosu. (Nieskończona rekursja definicji?)" + +#: src/m4.c:133 +#, 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 +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Użycie: %s [OPCJA]... [PLIK]...\n" + +#: src/m4.c:138 +msgid "" +"Mandatory or optional arguments to long options are mandatory or optional\n" +"for short options too.\n" +"\n" +"Operation modes:\n" +" --help display this help and exit\n" +" --version output version information and exit\n" +" -e, --interactive unbuffer output, ignore interrupts\n" +" -E, --fatal-warnings stop execution after first warning\n" +" -Q, --quiet, --silent suppress some warnings for builtins\n" +" -P, --prefix-builtins force a `m4_' prefix to all builtins\n" +msgstr "" +"Argumenty obowi±zkowe lub opcjonalne dla opcji długich s± obowi±zkowe lub\n" +"opcjonalne również dla krótkich.\n" +"\n" +"Tryby pracy:\n" +" --help wy¶wietl ten opis i zakończ\n" +" --version wy¶wietl informację o wersji i zakończ\n" +" -e, --intercative nie buforuj wyj¶cia, ignoruj przerwania\n" +" -E, --fatal-warnings zatrzymaj się po pierwszym ostrzżeniu\n" +" -Q, --quiet, --silent nie pokazuj niektórych ostrzeżeń dla " +"wbudowanych\n" +" -P, --prefix-builtins dodaj zawsze `m4_' przez wszystkimi " +"wbudowanymi\n" + +#: src/m4.c:151 +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 +msgid "" +"\n" +"Preprocessor features:\n" +" -I, --include=DIRECTORY search this directory second for includes\n" +" -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" +" -U, --undefine=NAME delete builtin NAME\n" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" +msgstr "" +"\n" +"Wła¶ciwo¶ci preprocesora:\n" +" -I, --include=KATALOG szukaj includes w tym KATALOGu\n" +" -D, --define=NAZWA[=WARTO¦Ć] wprowadĽ NAZWĘ z WARTO¦CIˇ lub pust±\n" +" -U, --undefine=NAZWA skasuj wbudowan± NAZWĘ\n" +" -s, --synclines generuj linie `#line NR \"PLIK\"\n" + +#: src/m4.c:163 +msgid "" +"\n" +"Limits control:\n" +" -G, --traditional suppress all GNU extensions\n" +" -H, --hashsize=PRIME set symbol lookup hash table size\n" +" -L, --nesting-limit=NUMBER change artificial nesting limit\n" +msgstr "" +"\n" +"Sterowanie ograniczeniami:\n" +" -G, --traditional wył±cz wszystkie rozszrzenia GNU\n" +" -H, --hashzize=PIERWSZA ustaw rozmiar tablicy mieszaj±cej dla " +"symboli\n" +" -L, --nesting-limit=LICZBA zmień sztuczny limit zagłebień\n" + +#: src/m4.c:170 +msgid "" +"\n" +"Frozen state files:\n" +" -F, --freeze-state=FILE produce a frozen state on FILE at end\n" +" -R, --reload-state=FILE reload a frozen state from FILE at start\n" +msgstr "" +"\n" +"Zamrożone pliki stanu:\n" +" -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 +msgid "" +"\n" +"Debugging:\n" +" -d, --debug=[FLAGS] set debug level (no FLAGS implies `aeq')\n" +" -t, --trace=NAME trace NAME when it will be defined\n" +" -l, --arglength=NUM restrict macro tracing size\n" +" -o, --error-output=FILE redirect debug and trace output\n" +msgstr "" +"\n" +"Debugowanie:\n" +" -d, --debug=[FLAGI] ustaw poziom debugowania (bez FLAG: `aeg')\n" +" -t, --trace=NAZWA ¶ledĽ NAZWĘ, kiedy będzie zdefiniowana\n" +" -l, --arglength=ILE ogranicz rozmiar ¶ledzenia makr\n" +" -o, --error-output=PLIK przekieruj wyniki debugowania i ¶ledzenia\n" + +#: src/m4.c:184 +msgid "" +"\n" +"FLAGS is any of:\n" +" t trace for all macro calls, not only traceon'ed\n" +" a show actual arguments\n" +" e show expansion\n" +" q quote values as necessary, with a or e flag\n" +" c show before collect, after collect and after call\n" +" x add a unique macro call id, useful with c flag\n" +" f say current input file name\n" +" l say current input line number\n" +" p show results of path searches\n" +" i show changes in input files\n" +" V shorthand for all of the above flags\n" +msgstr "" +"\n" +"FLAGI mog± być następuj±ce:\n" +" t ¶ledĽ wszystkie wywołania makr, nie tylko te z traceon\n" +" a pokaż wła¶ciwe argumenty\n" +" e pokaż rozwinięcie\n" +" q zabezpiecz znaki specjalne, z flag± a lub e\n" +" c pokaż przez zebraniem, po zebraniu i po wywołaniu\n" +" x dodaj unikalny identfikator wywołania makra, pożyteczne z flag± c\n" +" f podaj nazwę bież±cego pliku wej¶ciowego\n" +" l podaj numer bież±cej linii\n" +" p pokaż wyniki przeszukiwań ¶cieżek\n" +" i pokaż zmiany plików wej¶ciowych\n" +" V skrót do wszystkich powyższych flag\n" + +#: src/m4.c:199 +msgid "" +"\n" +"If no FILE or if FILE is `-', standard input is read.\n" +msgstr "" +"\n" +"Jeżeli brak PLIKu lub PLIK to `-', czytane jest std. wej¶cie.\n" + +#: src/m4.c:365 +#, c-format +msgid "Bad debug flags: `%s'" +msgstr "Błędne flagi debugowania: `%s'" + +#: src/m4.c:444 +msgid "INTERNAL ERROR: Bad code in deferred arguments" +msgstr "BŁˇD WEWNĘTRZNY: Błędny kod w odłożonych argumentach" + +#: src/macro.c:92 +msgid "INTERNAL ERROR: Bad token type in expand_token ()" +msgstr "BŁˇD WEWNĘTRZNY: Błędny typ tokena w expand_token ()" + +#: src/macro.c:158 +msgid "ERROR: EOF in argument list" +msgstr "BŁˇD: EOF w li¶cie argumentów" + +#: src/macro.c:176 +msgid "INTERNAL ERROR: Bad token type in expand_argument ()" +msgstr "BŁˇD WEWNĘTRZNY: Błędny typ tokena w expand_argument ()" + +#: src/macro.c:253 +msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" +msgstr "BŁˇD WEWNĘTRZNY: Błędny symbol w call_macro ()" + +#: src/macro.c:282 +#, c-format +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/output.c:198 +msgid "ERROR: Cannot create temporary file for diversion" +msgstr "BŁˇD: Nie mogę utworzyć plików tymczasowych dla przetwarzania" + +#: src/output.c:208 +msgid "ERROR: Cannot flush diversion to temporary file" +msgstr "BŁˇD: Nie mogę zapisac zmian przetwarzania do pliku tymczasowego" + +#: src/output.c:292 +msgid "ERROR: Copying inserted file" +msgstr "BŁˇD: Kopiowanie włożonego pliku" + +#: src/output.c:473 +msgid "ERROR: Reading inserted file" +msgstr "BŁˇD: Czytanie włożonego pliku" + +#: src/output.c:572 +msgid "Cannot stat diversion" +msgstr "Nie mogę zrobić stat na danych przetwarzanych" + +#: src/path.c:162 +#, c-format +msgid "Path search for `%s' found `%s'" +msgstr "Przeszukanie ¶cieżki dla `%s' znalazło `%s'" + +#: src/path.c:239 +#, 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 +msgid "VMEM limit exceeded?\n" +msgstr "przekroczony limit VMEM\n" + +#: src/stackovf.c:190 +msgid "" +"Memory bounds violation detected (SIGSEGV). Either a stack overflow\n" +"occurred, or there is a bug in " +msgstr "" +"Wykryto pogwałcenie ograniczeń adresów pamięci (SIGSEGV). Albo doszło do\n" +"przepełnienia stosu albo jest bł±d w " + +#: src/stackovf.c:195 +msgid ". Check for possible infinite recursion.\n" +msgstr ". SprawdĽ czy nie doszło do nieskończonej rekursji.\n" + +#: src/symtab.c:190 +msgid "INTERNAL ERROR: Illegal mode to symbol_lookup ()" +msgstr "BŁˇD WEWNĘTRZNY: Nielegalny tryb w symbol_lookup ()" + +#: src/symtab.c:243 +#, c-format +msgid "Name `%s' is unknown\n" +msgstr "Nazwa `%s' jest nieznana\n" + +#~ msgid "Bad regular expression: `%s': %s" +#~ msgstr "Złe wyrażenie regularne: `%s': %s" + +#~ msgid "INTERNAL ERROR: Input stack botch in pop_input ()" +#~ msgstr "BŁˇD WEWNĘTRZNY: Bł±d stosu wej¶ciowego w pop_input ()" + +#~ msgid "%s: option `%s' is ambiguous\n" +#~ msgstr "%s: opcja `%s' jest niejednoznaczna\n" + +#~ msgid "%s: option `--%s' doesn't allow an argument\n" +#~ msgstr "%s: opcja `--%s' nie może mieć argumentu\n" + +#~ msgid "%s: option `%c%s' doesn't allow an argument\n" +#~ msgstr "%s: opcja `%c%s' nie może mieć argumentu\n" + +#~ msgid "%s: option `%s' requires an argument\n" +#~ msgstr "%s: opcja `%s' wymaga argumentu\n" + +#~ msgid "%s: unrecognized option `--%s'\n" +#~ msgstr "%s: nierozpoznana opcja --%s'\n" + +#~ msgid "%s: unrecognized option `%c%s'\n" +#~ msgstr "%s: nierozpoznana opcja %c%s'\n" + +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: nielegalna opcja -- %c\n" + +#~ msgid "%s: invalid option -- %c\n" +#~ msgstr "%s: błędna opcja -- %c\n" + +#~ msgid "%s: option requires an argument -- %c\n" +#~ msgstr "%s: opcja wymaga argumentu -- %c\n" + +#~ msgid "No previous regular expression" +#~ msgstr "Brak uprzedniego wyrażenia regularnego" + +#~ msgid "Memory exhausted" +#~ msgstr "Pamięć wyczerpana" Binary files differ@@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4.3\n" -"POT-Creation-Date: 1998-09-08 09:33+0200\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\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:276 +#: src/builtin.c:317 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: óĚÉŰËĎÍ ÍÁĚĎ ÁŇÇŐÍĹÎÔĎ× ÄĚŃ ×ÓÔŇĎĹÎÎĎĘ ĚĹËÓĹÍŮ '%s'" -#: src/builtin.c:282 +#: src/builtin.c:323 #, c-format msgid "Warning: Excess arguments to built-in `%s' ignored" msgstr "" "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: éÚÂŮÔĎŢÎŮĹ ÁŇÇŐÍĹÎÔŮ ÄĚŃ ×ÓÔŇĎĹÎÎĎĘ ĚĹËÓĹÍŮ '%s' " "ĐŇĎÉÇÎĎŇÉŇĎ×ÁÎŮ" -#: src/builtin.c:310 +#: src/builtin.c:351 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "îĹ ŢÉÓĚĎ×ĎĘ ÁŇÇŐÍĹÎÔ ÄĚŃ ×ÓÔŇĎĹÎÎĎĘ ĚĹËÓĹÍŮ '%s'" -#: src/builtin.c:409 +#: src/builtin.c:450 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ĚĹËÓĹÍŮ × define_macro ()" -#: src/builtin.c:579 src/builtin.c:642 src/builtin.c:1261 src/builtin.c:1285 +#: src/builtin.c:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 #, c-format msgid "Undefined name %s" msgstr "éÍŃ %s ÎĹĎĐŇĹÄĹĚĹÎĎ" -#: src/builtin.c:607 +#: src/builtin.c:673 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "÷îőôňĺîîńń ďűéâëá: ÷ÓÔŇĎĹÎÎÁŃ ĚĹËÓĹÍÁ ÎĹ ÎÁĘÄĹÎÁ!" -#: src/builtin.c:615 +#: src/builtin.c:681 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ĚĹËÓĹÍŮ × m4_dumpdef ()" -#: src/builtin.c:666 +#: src/builtin.c:732 #, c-format msgid "Undefined macro `%s'" msgstr "îĹĎĐŇĹÄĹĚĹÎÎŮĘ ÍÁËŇĎÓ '%s'" -#: src/builtin.c:706 +#: src/builtin.c:772 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ÓÉÍ×ĎĚÁ × m4_defn ()" -#: src/builtin.c:772 +#: src/builtin.c:838 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ËÁÎÁĚ ÄĚŃ ËĎÍÍÁÎÄŮ '%s'" -#: src/builtin.c:809 +#: src/builtin.c:875 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "ňÁÄÉËÓ × ×ŮŇÁÖĹÎÉÉ ×ŮČĎÄÉÔ ÚÁ ĐŇĹÄĹĚŮ (radix = %d)" -#: src/builtin.c:818 +#: src/builtin.c:884 msgid "Negative width to eval" msgstr "ďÔŇÉĂÁÔĹĚŘÎÁŃ ŰÉŇÉÎÁ" -#: src/builtin.c:910 +#: src/builtin.c:976 #, c-format msgid "Non-numeric argument to %s" msgstr "îĹ ŢÉÓĚĎ×ĎĘ ÁŇÇŐÍĹÎÔ ÄĚŃ %s" -#: src/builtin.c:922 +#: src/builtin.c:988 #, c-format msgid "Cannot undivert %s" msgstr "îĹ×ĎÚÍĎÖÎĎ ×ĹŇÎŐÔŘ ×Ů×ĎÄ ÉÚ %s" -#: src/builtin.c:1066 +#: src/builtin.c:1132 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "éÍŃ %s ÎĹĎĐŇĹÄĹĚĹÎĎ" -#: src/builtin.c:1116 src/freeze.c:207 +#: src/builtin.c:1182 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s" -#: src/builtin.c:1321 +#: src/builtin.c:1391 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "ňĹÖÉÍ ĎÔĚÁÄËÉ: ÎĹ×ĹŇÎŮĘ ĆĚÁÇ ĎÔĚÁÄËÉ: '%s'" -#: src/builtin.c:1357 +#: src/builtin.c:1427 #, c-format msgid "Cannot set error file: %s" msgstr "îĹ×ĎÚÍĎÖÎĎ ÎÁÚÎÁŢÉÔŘ ĆÁĘĚ ĎŰÉÂĎË %s" -#: src/builtin.c:1574 +#: src/builtin.c:1644 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "đňĺäőđňĺöäĺîéĺ: \\0 ÉÓŢĹÚÎĹÔ, ÉÓĐĎĚŘÚŐĘÔĹ \\& × ÚÁÍĹÎÁČ" -#: src/builtin.c:1635 src/builtin.c:1695 src/input.c:979 +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 #, c-format msgid "Bad regular expression `%s': %s" msgstr "îĹ×ĹŇÎĎĹ ŇĹÇŐĚŃŇÎĎĹ ×ŮŇÁÖĹÎÉĹ: '%s': %s" -#: src/builtin.c:1646 src/builtin.c:1719 +#: src/builtin.c:1716 src/builtin.c:1789 #, c-format msgid "Error matching regular expression `%s'" msgstr "ďŰÉÂËÁ ÓĎĐĎÓÔÁ×ĚĹÎÉŃ ŇĹÇŐĚŃŇÎĎÇĎ ×ŮŇÁÖĹÎÉŃ '%s'" @@ -231,21 +231,21 @@ msgstr "îéţĺçď" msgid "ERROR: EOF in string" msgstr "ďűéâëá: ëĎÎĹĂ ĆÁĘĚÁ × ÓÔŇĎËĹ" -#: src/m4.c:111 +#: src/m4.c:106 msgid "ERROR: Stack overflow. (Infinite define recursion?)" msgstr "ďűéâëá: đĹŇĹĐĎĚÎĹÎÉĹ ÓÔĹËÁ. (âĹÓËĎÎĹŢÎĎĹ ŇĹËŐŇÓÉ×ÎĎĹ ĎĐŇĹÄĹĚĹÎÉĹ?)" -#: src/m4.c:138 +#: src/m4.c:133 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "đĎĐŇĎÂŐĘÔĹ '%s --help' ÄĚŃ ÉÎĆĎŇÍÁĂÉÉ.\n" -#: src/m4.c:142 +#: src/m4.c:137 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "éÓĐĎĚŘÚĎ×ÁÎÉĹ: %s [OPTION]... [FILE]...\n" -#: src/m4.c:143 +#: src/m4.c:138 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:156 +#: src/m4.c:151 msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n" msgstr "" " -W, --word-regexp=REGEXP ÉÓĐĎĚŘÚĎ×ÁÔŘ REGEXP ÄĚŃ ÓÉÎÔÁËÓÉÓÁ ÉÍĹÎ " "ÍÁËŇĎÓĎ×\n" -#: src/m4.c:160 +#: src/m4.c:155 #, fuzzy msgid "" "\n" @@ -286,7 +286,7 @@ msgid "" " -I, --include=DIRECTORY search this directory second for includes\n" " -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" " -U, --undefine=NAME delete builtin NAME\n" -"#ifdef SHOW_DEPENDENCIES" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" "\n" "ďĐĂÉÉ ĐŇĹĐŇĎĂĹÓÓĎŇÁ:\n" @@ -295,7 +295,7 @@ msgstr "" " -U, --undefine=NAME ŐÄÁĚÉÔŘ ×ÓÔŇĎĹÎÎŐŔ ĆŐÎËĂÉŔ NAME\n" " -s, --synclines ÇĹÎĹŇÉŇĎ×ÁÔŘ ÓÔŇĎËÉ `#line NO \"FILE\"'\n" -#: src/m4.c:171 +#: src/m4.c:163 msgid "" "\n" "Limits control:\n" @@ -311,7 +311,7 @@ msgstr "" " -L, --nesting-limit=NUMBER ÉÚÍĹÎÉÔŘ ĐŇĹÄĹĚ ÇĚŐÂÉÎŮ ÉÎÔĹĚĹËÔŐÁĚŘÎĎÇĎ " "ĐĎÉÓËÁ\n" -#: src/m4.c:178 +#: src/m4.c:170 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:184 +#: src/m4.c:176 msgid "" "\n" "Debugging:\n" @@ -341,7 +341,7 @@ msgstr "" " -o, --error-output=FILE ĐĹŇĹÎÁĐŇÁ×ÉÔŘ ĎÔĚÁÄĎŢÎŮĘ É ÔŇÁÓÓÉŇĎ×ĎŢÎŮĘ " "×Ů×ĎÄ × ĆÁĘĚ FILE\n" -#: src/m4.c:192 +#: src/m4.c:184 msgid "" "\n" "FLAGS is any of:\n" @@ -372,7 +372,7 @@ msgstr "" " i ĐĎËÁÚŮ×ÁÔŘ ÉÚÍĹÎĹÎÉŃ ×Ď ×ČĎÄÎŮČ ĆÁĘĚÁČ\n" " V ÓĎËŇÁÝĹÎÉĹ ÄĚŃ ×ÓĹČ ĆĚÁÇĎ× ×ÍĹÓÔĹ\n" -#: src/m4.c:207 +#: src/m4.c:199 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -380,18 +380,12 @@ msgstr "" "\n" "ĺÓĚÉ FILE ÎĹ ÓŐÝĹÓÔ×ŐĹÔ ÉĚÉ FILE ÜÔĎ `-', ÉÓĐĎĚŘÚŐĹÔÓŃ ÓÔÁÎÄÁŇÔÎŮĘ ×ČĎÄ.\n" -#: src/m4.c:211 -msgid "" -"\n" -"Report bugs to <m4-bugs@gnu.org>.\n" -msgstr "" - -#: src/m4.c:379 +#: src/m4.c:365 #, c-format msgid "Bad debug flags: `%s'" msgstr "îĹ×ĹŇÎŮĘ ĆĚÁÇ ĎÔĚÁÄËÉ: '%s'" -#: src/m4.c:458 +#: src/m4.c:444 msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ËĎÄ × ËĎÓ×ĹÎÎŮČ ÁŇÇŐÍĹÎÔÁČ" @@ -437,11 +431,16 @@ msgstr "ďűéâëá: ţÉÔÁŔ ×ÓÔÁ×ĚĹÎÎŮĘ ĆÁĘĚ" msgid "Cannot stat diversion" msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎÄÓŢÉÔÁÔŘ ŇÁÚ×ĹÔ×ĚĹÎÉĹ" -#: src/path.c:138 +#: src/path.c:162 #, c-format msgid "Path search for `%s' found `%s'" msgstr "đŐÔŘ ĐĎÉÓËÁ ÄĚŃ `%s' ÎÁĘÄĹÎ `%s'" +#: src/path.c:239 +#, 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 Binary files differ@@ -1,120 +1,120 @@ # Swedish messages for m4 # Copyright (C) 1996 Free Software Foundation, Inc. # <Jan.Djarv@mbox200.swipnet.se>, 1996. -# $Revision: 1.1.1.3 $ +# $Revision: 1.1.1.4 $ # msgid "" msgstr "" "Project-Id-Version: m4 1.4.3\n" -"POT-Creation-Date: 1998-09-08 09:33+0200\n" -"PO-Revision-Date: $Date: 2000/02/17 03:07:20 $\n" +"POT-Creation-Date: 1998-10-04 01:31+0200\n" +"PO-Revision-Date: $Date: 2000/02/17 03:09:09 $\n" "Last-Translator: Jan Djärv <Jan.Djarv@mbox200.swipnet.se>\n" "Language-Team: Swedish <sv@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" -#: src/builtin.c:276 +#: src/builtin.c:317 #, 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:282 +#: src/builtin.c:323 #, fuzzy, c-format msgid "Warning: Excess arguments to built-in `%s' ignored" msgstr "Varning: Överskottsargument till inbyggt makro \"%s\" ignorerade" -#: src/builtin.c:310 +#: src/builtin.c:351 #, fuzzy, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Ickenumeriskt argument till inbyggt makro \"%s\"" -#: src/builtin.c:409 +#: src/builtin.c:450 #, fuzzy msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "INTERNT FEL: Otillĺten lexikalisk datatyp i define_macro ()" -#: src/builtin.c:579 src/builtin.c:642 src/builtin.c:1261 src/builtin.c:1285 +#: src/builtin.c:645 src/builtin.c:708 src/builtin.c:1331 src/builtin.c:1355 #, fuzzy, c-format msgid "Undefined name %s" msgstr "Odefinierat namn \"%s\"" -#: src/builtin.c:607 +#: src/builtin.c:673 #, fuzzy msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "INTERNT FEL: Inbyggt makro finns inte i tabellen!" -#: src/builtin.c:615 +#: src/builtin.c:681 #, fuzzy msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "INTERNT FEL: Otillĺten lexikalisk datatyp i m4_dumpdef ()" -#: src/builtin.c:666 +#: src/builtin.c:732 #, fuzzy, c-format msgid "Undefined macro `%s'" msgstr "Odefinierat makro \"%s\"" -#: src/builtin.c:706 +#: src/builtin.c:772 #, fuzzy msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "INTERNT FEL: Otillĺten symboltyp i m4_defn ()" -#: src/builtin.c:772 +#: src/builtin.c:838 #, fuzzy, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan inte skapa rör till kommandot \"%s\"" -#: src/builtin.c:809 +#: src/builtin.c:875 #, fuzzy, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Otillĺten bas i \"eval\" (bas = %d)" -#: src/builtin.c:818 +#: src/builtin.c:884 #, fuzzy msgid "Negative width to eval" msgstr "Negativ bredd till \"eval\"" -#: src/builtin.c:910 +#: src/builtin.c:976 #, fuzzy, c-format msgid "Non-numeric argument to %s" msgstr "Ickenumeriskt argument till %s" -#: src/builtin.c:922 +#: src/builtin.c:988 #, fuzzy, c-format msgid "Cannot undivert %s" msgstr "Kan inte ĺterleda %s" -#: src/builtin.c:1066 +#: src/builtin.c:1132 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Odefinierat namn \"%s\"" -#: src/builtin.c:1116 src/freeze.c:207 +#: src/builtin.c:1182 src/freeze.c:207 #, fuzzy, c-format msgid "Cannot open %s" msgstr "Kan inte öppna %s" -#: src/builtin.c:1321 +#: src/builtin.c:1391 #, fuzzy, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Felsökningsläge: okänd flagga: \"%s\"" -#: src/builtin.c:1357 +#: src/builtin.c:1427 #, fuzzy, c-format msgid "Cannot set error file: %s" msgstr "Kan inte sätta felutskriftsfil: %s" -#: src/builtin.c:1574 +#: src/builtin.c:1644 #, 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:1635 src/builtin.c:1695 src/input.c:979 +#: src/builtin.c:1705 src/builtin.c:1765 src/input.c:979 #, fuzzy, c-format msgid "Bad regular expression `%s': %s" msgstr "Otillĺtet reguljäruttryck \"%s\": %s" -#: src/builtin.c:1646 src/builtin.c:1719 +#: src/builtin.c:1716 src/builtin.c:1789 #, fuzzy, c-format msgid "Error matching regular expression `%s'" msgstr "Reguljäruttrycket \"%s\" matchar inte" @@ -254,22 +254,22 @@ msgstr "INGET" msgid "ERROR: EOF in string" msgstr "FEL: Filslut i sträng" -#: src/m4.c:111 +#: src/m4.c:106 #, fuzzy msgid "ERROR: Stack overflow. (Infinite define recursion?)" msgstr "FEL: Stacken flödar över. (Oändlig rekursion?)" -#: src/m4.c:138 +#: src/m4.c:133 #, 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:142 +#: src/m4.c:137 #, fuzzy, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Användning: %s [FLAGGA]... [FIL]...\n" -#: src/m4.c:143 +#: src/m4.c:138 #, 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:156 +#: src/m4.c:151 #, 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:160 +#: src/m4.c:155 #, fuzzy msgid "" "\n" @@ -308,7 +308,7 @@ msgid "" " -I, --include=DIRECTORY search this directory second for includes\n" " -D, --define=NAME[=VALUE] enter NAME has having VALUE, or empty\n" " -U, --undefine=NAME delete builtin NAME\n" -"#ifdef SHOW_DEPENDENCIES" +" -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" "\n" "Förprocessorstyrning:\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:171 +#: src/m4.c:163 #, 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:178 +#: src/m4.c:170 #, 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:184 +#: src/m4.c:176 #, fuzzy msgid "" "\n" @@ -364,7 +364,7 @@ msgstr "" " -o, --error-output=FIL avled felsöknings och spĺrutskrifter till " "FIL\n" -#: src/m4.c:192 +#: src/m4.c:184 #, 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:207 +#: src/m4.c:199 #, fuzzy msgid "" "\n" @@ -404,18 +404,12 @@ msgstr "" "\n" "Om ingen FIL anges eller om FIL är `-', sĺ läses standard in.\n" -#: src/m4.c:211 -msgid "" -"\n" -"Report bugs to <m4-bugs@gnu.org>.\n" -msgstr "" - -#: src/m4.c:379 +#: src/m4.c:365 #, fuzzy, c-format msgid "Bad debug flags: `%s'" msgstr "Okänd felsökningsflagga \"%s\"" -#: src/m4.c:458 +#: src/m4.c:444 #, fuzzy msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "INTERNT FEL: Otillĺten kod i argument" @@ -470,11 +464,16 @@ msgstr "FEL: Läsning av insatt fil" msgid "Cannot stat diversion" msgstr "Kan inte ta status pĺ avledningen" -#: src/path.c:138 +#: src/path.c:162 #, fuzzy, c-format msgid "Path search for `%s' found `%s'" msgstr "\"%s\" hittades som \"%s\" i sökvägen" +#: src/path.c:239 +#, 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 53aa39ae..bdbfda57 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -8,8 +8,9 @@ bin_PROGRAMS = m4 INCLUDES = -I$(top_srcdir)/lib -m4_SOURCES = m4.c m4.h builtin.c debug.c eval.c numb.c numb.h format.c \ - freeze.c input.c macro.c output.c path.c symtab.c stackovf.c +m4_SOURCES = m4.c m4.h builtin.c builtin.h debug.c eval.c numb.c numb.h \ + format.c freeze.c input.c macro.c output.c path.c symtab.c \ + stackovf.c module.c m4_LDADD = ../lib/libm4.a @INTLLIBS@ diff --git a/src/Makefile.in b/src/Makefile.in index de5840c9..75c5dd0b 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -98,8 +98,9 @@ bin_PROGRAMS = m4 INCLUDES = -I$(top_srcdir)/lib -m4_SOURCES = m4.c m4.h builtin.c debug.c eval.c numb.c numb.h format.c \ - freeze.c input.c macro.c output.c path.c symtab.c stackovf.c +m4_SOURCES = m4.c m4.h builtin.c builtin.h debug.c eval.c numb.c numb.h \ + format.c freeze.c input.c macro.c output.c path.c symtab.c \ + stackovf.c module.c m4_LDADD = ../lib/libm4.a @INTLLIBS@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -114,7 +115,7 @@ 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 +stackovf$U.o module$U.o m4_DEPENDENCIES = ../lib/libm4.a m4_LDFLAGS = COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -226,6 +227,8 @@ m4_.c: m4.c $(ANSI2KNR) $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/m4.c; then echo $(srcdir)/m4.c; else echo m4.c; fi` | $(ANSI2KNR) > m4_.c macro_.c: macro.c $(ANSI2KNR) $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/macro.c; then echo $(srcdir)/macro.c; else echo macro.c; fi` | $(ANSI2KNR) > macro_.c +module_.c: module.c $(ANSI2KNR) + $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/module.c; then echo $(srcdir)/module.c; else echo module.c; fi` | $(ANSI2KNR) > module_.c numb_.c: numb.c $(ANSI2KNR) $(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/numb.c; then echo $(srcdir)/numb.c; else echo numb.c; fi` | $(ANSI2KNR) > numb_.c output_.c: output.c $(ANSI2KNR) @@ -237,7 +240,7 @@ stackovf_.c: stackovf.c $(ANSI2KNR) 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 debug_.o eval_.o format_.o freeze_.o input_.o m4_.o macro_.o \ -numb_.o output_.o path_.o stackovf_.o symtab_.o : $(ANSI2KNR) +module_.o numb_.o output_.o path_.o stackovf_.o symtab_.o : $(ANSI2KNR) tags: TAGS @@ -275,7 +278,8 @@ distdir: $(DISTFILES) || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file; \ done -builtin.o: builtin.c m4.h ../config.h ../lib/obstack.h ../lib/regex.h +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 format.o: format.c m4.h ../config.h ../lib/obstack.h @@ -283,6 +287,7 @@ freeze.o: freeze.c m4.h ../config.h ../lib/obstack.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 macro.o: macro.c m4.h ../config.h ../lib/obstack.h +module.o: module.c m4.h ../config.h ../lib/obstack.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 941c799d..d83b0def 100644 --- a/src/builtin.c +++ b/src/builtin.c @@ -1,5 +1,5 @@ /* GNU m4 -- A simple macro processor - Copyright (C) 1989, 90, 91, 92, 93, 94 Free Software Foundation, Inc. + Copyright (C) 1989, 90, 91, 92, 93, 94, 98 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 @@ -20,20 +20,16 @@ expansion of user defined macros. */ #include "m4.h" +#include "builtin.h" extern FILE *popen (); #include "regex.h" -#define ARG(i) (argc > (i) ? TOKEN_DATA_TEXT (argv[i]) : "") - /* Initialisation of builtin and predefined macros. The table "builtin_tab" is both used for initialisation, and by the "builtin" builtin. */ -#define DECLARE(name) \ - static void name __P ((struct obstack *, int, token_data **)) - DECLARE (m4___file__); DECLARE (m4___line__); DECLARE (m4_builtin); @@ -63,6 +59,9 @@ DECLARE (m4_incr); DECLARE (m4_index); DECLARE (m4_indir); DECLARE (m4_len); +#ifdef WITH_MODULES +DECLARE (m4_loadmodule); +#endif /* WITH_MODULES */ DECLARE (m4_m4exit); DECLARE (m4_m4wrap); DECLARE (m4_maketemp); @@ -119,6 +118,9 @@ builtin_tab[] = { "index", FALSE, FALSE, TRUE, m4_index }, { "indir", TRUE, FALSE, FALSE, m4_indir }, { "len", FALSE, FALSE, TRUE, m4_len }, +#ifdef WITH_MODULES + { "loadmodule", TRUE, FALSE, TRUE, m4_loadmodule }, +#endif /* WITH_MODULES */ { "m4exit", FALSE, FALSE, FALSE, m4_m4exit }, { "m4wrap", FALSE, FALSE, FALSE, m4_m4wrap }, { "maketemp", FALSE, FALSE, TRUE, m4_maketemp }, @@ -149,7 +151,23 @@ predefined_tab[] = { NULL, NULL, NULL }, }; + +/*------------------------------------------------------------------. +| If dynamic modules are enabled, more builtin tables can be active | +| at a time. This implements a list of tables of builtins. | +`------------------------------------------------------------------*/ + +struct builtin_table +{ + struct builtin_table *next; + builtin *table; +}; + +typedef struct builtin_table builtin_table; + +static builtin_table *builtin_tables = NULL; + /*----------------------------------------. | Find the builtin, which lives on ADDR. | `----------------------------------------*/ @@ -157,11 +175,13 @@ predefined_tab[] = const builtin * find_builtin_by_addr (builtin_func *func) { + const builtin_table *bt; const builtin *bp; - for (bp = &builtin_tab[0]; bp->name != NULL; bp++) - if (bp->func == func) - return bp; + for (bt = builtin_tables; bt != NULL; bt = bt->next) + for (bp = bt->table; bp->name != NULL; bp++) + if (bp->func == func) + return bp; return NULL; } @@ -172,13 +192,16 @@ find_builtin_by_addr (builtin_func *func) const builtin * find_builtin_by_name (const char *name) { + const builtin_table *bt; const builtin *bp; - for (bp = &builtin_tab[0]; bp->name != NULL; bp++) - if (strcmp (bp->name, name) == 0) - return bp; + for (bt = builtin_tables; bt != NULL; bt = bt->next) + for (bp = bt->table; bp->name != NULL; bp++) + if (strcmp (bp->name, name) == 0) + return bp; return NULL; } + /*-------------------------------------------------------------------------. | Install a builtin macro with name NAME, bound to the C function given in | @@ -200,6 +223,37 @@ define_builtin (const char *name, const builtin *bp, symbol_lookup mode, SYMBOL_TRACED (sym) = traced; } +/*------------------------------. +| Install a new builtin_table. | +`------------------------------*/ + +static void +install_builtin_table (builtin *table) +{ + builtin_table *bt; + const builtin *bp; + char *string; + + bt = (builtin_table *)xmalloc(sizeof(struct builtin_table)); + bt->next = builtin_tables; + bt->table = table; + builtin_tables = bt; + + 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); +} + + /*-------------------------------------------------------------------------. | Define a predefined or user-defined macro, with name NAME, and expansion | | TEXT. MODE destinguishes between the "define" and the "pushdef" case. | @@ -226,22 +280,9 @@ define_user_macro (const char *name, const char *text, symbol_lookup mode) void builtin_init (void) { - const builtin *bp; const predefined *pp; - char *string; - for (bp = &builtin_tab[0]; 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); + install_builtin_table (builtin_tab); for (pp = &predefined_tab[0]; pp->func != NULL; pp++) if (no_gnu_extensions) @@ -264,7 +305,7 @@ builtin_init (void) | applicable. | `------------------------------------------------------------------------*/ -static boolean +boolean bad_argc (token_data *name, int argc, int min, int max) { boolean isbad = FALSE; @@ -290,7 +331,7 @@ bad_argc (token_data *name, int argc, int min, int max) | If the conversion fails, print error message for macro MACRO. Return | | TRUE iff conversion succeeds. | `--------------------------------------------------------------------------*/ -static const char * +const char * skip_space (const char *arg) { while (IS_SPACE(*arg)) @@ -298,7 +339,7 @@ skip_space (const char *arg) return arg; } -static boolean +boolean numeric_arg (token_data *macro, const char *arg, int *valuep) { char *endp; @@ -319,7 +360,7 @@ numeric_arg (token_data *macro, const char *arg, int *valuep) | expanding to numbers. | `----------------------------------------------------------------------*/ -static void +void shipout_int (struct obstack *obs, int val) { char buf[128]; @@ -439,6 +480,31 @@ m4_popdef (struct obstack *obs, int argc, token_data **argv) return; lookup_symbol (ARG (1), SYMBOL_POPDEF); } + + +/*-------------------------------------. +| Loading external module at runtime. | +`-------------------------------------*/ + +#ifdef WITH_MODULES + +static void +m4_loadmodule (struct obstack *obs, int argc, token_data **argv) +{ + builtin *bp; + + if (bad_argc (argv[0], argc, 2, 2)) + return; + + bp = module_load (ARG (1), obs); + + if (bp != NULL) + install_builtin_table(bp); +} + + +#endif /* WITH_MODULES */ + /*---------------------. | Conditionals of m4. | @@ -1206,6 +1272,10 @@ m4_m4exit (struct obstack *obs, int argc, token_data **argv) if (argc == 2 && !numeric_arg (argv[0], ARG (1), &exit_code)) exit_code = 0; +#ifdef WITH_MODULES + module_unload_all(); +#endif /* WITH_MODULES */ + exit (exit_code); } diff --git a/src/builtin.h b/src/builtin.h new file mode 100644 index 00000000..89088513 --- /dev/null +++ b/src/builtin.h @@ -0,0 +1,39 @@ +/* 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. +*/ + +/* Declarations for builtin macros. */ + +#ifndef BUILTIN_H +#define BUILTIN_H 1 + +#include <m4.h> + +#define ARG(i) (argc > (i) ? TOKEN_DATA_TEXT (argv[i]) : "") + +#define DECLARE(name) \ + static void name __P ((struct obstack *, int, token_data **)) + + + +boolean bad_argc (token_data *name, int argc, int min, int max); +const char *skip_space (const char *arg); + +boolean numeric_arg (token_data *macro, const char *arg, int *valuep); +void shipout_int (struct obstack *obs, int val); + +#endif /* BUILTIN_H */ @@ -219,6 +219,9 @@ static const struct option long_options[] = {"hashsize", required_argument, NULL, 'H'}, {"include", required_argument, NULL, 'I'}, {"interactive", no_argument, NULL, 'e'}, +#ifdef WITH_MODULES + {"module", required_argument, NULL, 'M'}, +#endif /* WITH_MODULES */ {"nesting-limit", required_argument, NULL, 'L'}, {"prefix-builtins", no_argument, NULL, 'P'}, {"quiet", no_argument, NULL, 'Q'}, @@ -262,8 +265,13 @@ main (int argc, char *const *argv, char *const *envp) textdomain(PACKAGE); #endif - include_init (); debug_init (); + include_init (); + +#ifdef WITH_MODULES + module_init (); +#endif /* WITH_MODULES */ + #ifdef USE_STACKOVF setup_stackovf_trap (argv, envp, stackovf_handler); #endif @@ -328,7 +336,6 @@ main (int argc, char *const *argv, char *const *envp) case 'I': add_include_directory (optarg); break; - case 'L': nesting_limit = atoi (optarg); break; @@ -492,5 +499,9 @@ main (int argc, char *const *argv, char *const *envp) undivert_all (); } +#ifdef WITH_MODULES + module_unload_all(); +#endif /* WITH_MODULES */ + exit (EXIT_SUCCESS); } @@ -536,6 +536,28 @@ void format __P ((struct obstack *, int, token_data **)); void produce_frozen_state __P ((const char *)); void reload_frozen_state __P ((const char *)); + + +/* File: module.c --- dynamic modules */ + +typedef void module_init_t (struct obstack *obs); +typedef void module_finish_t (void); + +#ifdef WITH_MODULES + +typedef voidstar module_func (const char *); + +void module_init (void); +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 */ + /* Debugging the memory allocator. */ @@ -551,6 +573,7 @@ void reload_frozen_state __P ((const char *)); # define DEBUG_MACRO # define DEBUG_SYM # define DEBUG_INCL +# define DEBUG_MODULE #endif #endif /* M4_H */ diff --git a/src/module.c b/src/module.c new file mode 100644 index 00000000..fb42884c --- /dev/null +++ b/src/module.c @@ -0,0 +1,206 @@ +/* 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. +*/ + +#include "m4.h" + +#ifdef WITH_MODULES + +#define DEBUG_MODULES +#undef DEBUG_MODULES + +/* + * This file implements dynamic modules in GNU m4. A module is a + * 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. + * + * A m4 module need only define one external symbol, called + * `m4_macro_table'. This symbol should point to a table of `struct + * builtin' exactly as the one in builtin.c. This table is pushed on a + * list of builtin tables and each definition therein is added to the + * 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). + * + * To load a module, use `loadmodule(modulename.so)', where .so is the + * normal extention for shared object files. 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 + * m4_loadmodule(). This pointer should be a builtin*, which is + * installed using install_builtin_table(). + * + * When a module is loaded, the function "void m4_init_module(struct + * obstack *obs)" is called, if defined. Any non NULL return value of + * this function will be the expansion of "loadmodule". Before program + * exit, all modules are unloaded and the function "void + * m4_finish_module(void)" is called, if defined. + * + * There is no way to unload a module unless at program exit. It is + * safe to load the same module several times, it has no effect. + **/ + +#include <dlfcn.h> + +/* This list is used to check for repeated loading of the same modules. */ + +struct module_list { + struct module_list *next; + char *modname; + void *handle; +}; + +typedef struct module_list module_list; + +static module_list *modules; + +/* + * Initialisation. Currently the module search path in path.c is + * initialised from M4MODPATH. Only absolute path names are accepted to + * prevent the path search of the dlopen library from finding wrong + * files. + */ +void +module_init (void) +{ + module_env_init (); +} + +/* + * Attempt to load a module with a absolute file name. It is used as a + * callback from module_search() in path.c. + */ +voidstar +module_try_load (const char *modname) +{ + return dlopen (modname, RTLD_NOW); +} + + +/* + * Load a module. Modname can be a absolute file name or, if relative, + * is is searched in the module path. Return value is the value of the + * symbol `m4_macro_table' in the module. The module is unloaded in + * case of error. The builtins from the module are installed in the + * symbol table by the caller, m4_loadmodule() in builtin.c. + */ + +struct builtin * +module_load (const char *modname, struct obstack *obs) +{ + void *handle; + struct module_list *list; + + builtin *btab; + module_init_t *init_func; + + handle = module_search(modname, module_try_load); + if (handle == NULL) + { + M4ERROR ((1, 0, _("Error: cannot find module `%s'"), modname)); + } + + for (list = modules; list != NULL; list = list->next) + if (list->handle == handle) + { +#ifdef DEBUG_MODULES + DEBUG_MESSAGE1("module %s handle already seen", modname); +#endif /* DEBUG_MODULES */ + dlclose(handle); + return NULL; + } + + btab = (builtin *) dlsym (handle, "m4_macro_table"); + if (btab == NULL) { +#ifdef DEBUG_MODULES + DEBUG_MESSAGE1("module %s no symbol m4_macro_table", modname); +#endif /* DEBUG_MODULES */ + dlclose(handle); + return NULL; + } + + list = xmalloc (sizeof (struct module_list)); + list->next = modules; + list->modname = xstrdup(modname); + list->handle = handle; + modules = list; + +#ifdef DEBUG_MODULES + DEBUG_MESSAGE1("module %s loaded ok", modname); +#endif /* DEBUG_MODULES */ + + init_func = (module_init_t *) dlsym (handle, "m4_init_module"); + if (init_func != NULL) + { + (*init_func)(obs); + +#ifdef DEBUG_MODULES + DEBUG_MESSAGE1("module %s init hook called", modname); +#endif /* DEBUG_MODULES */ + } + + return btab; +} + +void +module_unload_all(void) +{ + struct module_list *next; + module_finish_t *finish_func; + + while (modules != NULL) + { + finish_func = (module_finish_t *) dlsym (modules->handle, + "m4_finish_module"); + if (finish_func != NULL) + { + (*finish_func)(); + +#ifdef DEBUG_MODULES + DEBUG_MESSAGE1("module %s finish hook called", modules->modname); +#endif /* DEBUG_MODULES */ + } + + dlclose(modules->handle); + +#ifdef DEBUG_MODULES + DEBUG_MESSAGE1("module %s unloaded", modules->modname); +#endif /* DEBUG_MODULES */ + + next = modules->next; + xfree(modules); + modules = next; + } +} + + + +#endif /* WITH_MODULES */ @@ -1,5 +1,5 @@ /* GNU m4 -- A simple macro processor - Copyright (C) 1989, 90, 91, 92, 93 Free Software Foundation, Inc. + Copyright (C) 1989, 90, 91, 92, 93, 98 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 @@ -29,29 +29,64 @@ struct includes typedef struct includes includes; -static includes *dir_list; /* the list of path directories */ -static includes *dir_list_end; /* the end of same */ -static int dir_max_length; /* length of longest directory name */ +struct include_list +{ + 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 */ + +#ifdef WITH_MODULES +static include_list modpath; /* the list of module directories */ +#endif /* WITH_MODULES */ void include_init (void) { - dir_list = NULL; - dir_list_end = NULL; - dir_max_length = 0; + 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 */ } -void -include_env_init (void) +static void +include_directory (struct include_list *list, const char *dir) { - char *path; - char *path_end; + includes *incl; - if (no_gnu_extensions) - return; + if (*dir == '\0') + dir = "."; + + incl = (includes *) xmalloc (sizeof (struct includes)); + incl->next = NULL; + incl->len = strlen (dir); + incl->dir = xstrdup (dir); + + if (incl->len > list->max_length) /* remember len of longest directory */ + list->max_length = incl->len; + + if (list->list_end == NULL) + list->list = incl; + else + list->list_end->next = incl; + list->list_end = incl; +} + +static void +env_init (struct include_list *list, char *path, boolean abs) +{ + char *path_end; - path = getenv ("M4PATH"); if (path == NULL) return; @@ -60,36 +95,32 @@ include_env_init (void) path_end = strchr (path, ':'); if (path_end) *path_end = '\0'; - add_include_directory (path); + if (!abs || *path == '/') + include_directory (list, path); path = path_end + 1; } while (path_end); } + +/* Functions for normal input path search */ + void -add_include_directory (const char *dir) +include_env_init (void) { - includes *incl; - if (no_gnu_extensions) return; - if (*dir == '\0') - dir = "."; - - incl = (includes *) xmalloc (sizeof (struct includes)); - incl->next = NULL; - incl->len = strlen (dir); - incl->dir = xstrdup (dir); + env_init (&dirpath, getenv ("M4PATH"), FALSE); +} - if (incl->len > dir_max_length) /* remember len of longest directory */ - dir_max_length = incl->len; +void +add_include_directory (const char *dir) +{ + if (no_gnu_extensions) + return; - if (dir_list_end == NULL) - dir_list = incl; - else - dir_list_end->next = incl; - dir_list_end = incl; + include_directory (&dirpath, dir); #ifdef DEBUG_INCL fprintf (stderr, "add_include_directory (%s);\n", dir); @@ -112,9 +143,9 @@ path_search (const char *dir) if (*dir == '/' || no_gnu_extensions) return NULL; - name = (char *) xmalloc (dir_max_length + 1 + strlen (dir) + 1); + name = (char *) xmalloc (dirpath.max_length + 1 + strlen (dir) + 1); - for (incl = dir_list; incl != NULL; incl = incl->next) + for (incl = dirpath.list; incl != NULL; incl = incl->next) { strncpy (name, incl->dir, incl->len); name[incl->len] = '/'; @@ -144,8 +175,74 @@ include_dump (void) includes *incl; fprintf (stderr, "include_dump:\n"); - for (incl = dir_list; incl != NULL; incl = incl->next) + for (incl = dirpath.list; incl != NULL; incl = incl->next) fprintf (stderr, "\t%s\n", incl->dir); } #endif /* DEBUG_INCL */ + + +/* Functions for module search path */ + +#ifdef WITH_MODULES + +void +module_env_init (void) +{ + if (no_gnu_extensions) + return; + + 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 7aed6dc3..d16044d7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -2,34 +2,92 @@ # Ty Coon, President of Vice # The previous line is needed by `./esyscmd.1.test' -EXTRA_DIST = get-them foo incl.m4 stamp-TESTS $(TESTS) defs m4wrap.1.test +EXTRA_DIST = get-them run-test foo incl.m4 stamp-TESTS \ + defs $(GENERATED_TESTS) -TESTS = $(OTHER_TESTS) $(GENERATED_TESTS) +TESTS = $(GENERATED_TESTS) $(OTHER_TESTS) GENERATED_TESTS = \ - argument.1.test argument.2.test argument.3.test argument.4.test \ - changeco.1.test changeco.2.test changequ.1.test changequ.2.test \ - changequ.3.test changesy.1.test changesy.2.test changesy.3.test \ - changesy.4.test changesy.5.test changesy.6.test changesy.7.test \ - cleardiv.1.test cleardiv.2.test define.1.test define.2.test \ - defn.1.test defn.2.test divert.1.test divert.2.test divnum.1.test \ - dnl.1.test dumpdef.1.test errprint.1.test errprint.2.test \ - esyscmd.1.test eval.1.test eval.2.test format.1.test ifdef.1.test \ - ifelse.1.test ifelse.2.test include.1.test include.2.test \ - include.3.test incr.1.test index.1.test indir.1.test len.1.test \ - loops.1.test loops.2.test m4exit.1.test patsubst.1.test \ - patsubst.2.test pseudoar.1.test pseudoar.2.test pseudoar.3.test \ - pseudoar.4.test pseudoar.5.test pushdef.1.test pushdef.2.test \ - regexp.1.test regexp.2.test substr.1.test sysval.1.test trace.1.test \ - translit.1.test undefine.1.test undivert.1.test undivert.2.test \ - undivert.3.test + gentest/argument.1.m4 \ + gentest/argument.2.m4 \ + gentest/argument.3.m4 \ + gentest/argument.4.m4 \ + gentest/changeco.1.m4 \ + gentest/changeco.2.m4 \ + gentest/changequ.1.m4 \ + gentest/changequ.2.m4 \ + gentest/changequ.3.m4 \ + gentest/changesy.1.m4 \ + gentest/changesy.2.m4 \ + gentest/changesy.3.m4 \ + gentest/changesy.4.m4 \ + gentest/changesy.5.m4 \ + gentest/changesy.6.m4 \ + gentest/changesy.7.m4 \ + gentest/cleardiv.1.m4 \ + gentest/cleardiv.2.m4 \ + gentest/define.1.m4 \ + gentest/define.2.m4 \ + gentest/defn.1.m4 \ + gentest/defn.2.m4 \ + gentest/divert.1.m4 \ + gentest/divert.2.m4 \ + gentest/divnum.1.m4 \ + gentest/dnl.1.m4 \ + gentest/dumpdef.1.m4 \ + gentest/errprint.1.m4 \ + gentest/errprint.2.m4 \ + gentest/esyscmd.1.m4 \ + gentest/eval.1.m4 \ + gentest/eval.2.m4 \ + gentest/format.1.m4 \ + gentest/ifdef.1.m4 \ + gentest/ifelse.1.m4 \ + gentest/ifelse.2.m4 \ + gentest/include.1.m4 \ + gentest/include.2.m4 \ + gentest/include.3.m4 \ + gentest/incr.1.m4 \ + gentest/index.1.m4 \ + gentest/indir.1.m4 \ + gentest/len.1.m4 \ + gentest/loops.1.m4 \ + gentest/loops.2.m4 \ + gentest/m4exit.1.m4 \ + gentest/m4wrap.1.m4 \ + gentest/patsubst.1.m4 \ + gentest/patsubst.2.m4 \ + gentest/pseudoar.1.m4 \ + gentest/pseudoar.2.m4 \ + gentest/pseudoar.3.m4 \ + gentest/pseudoar.4.m4 \ + gentest/pseudoar.5.m4 \ + gentest/pushdef.1.m4 \ + gentest/pushdef.2.m4 \ + gentest/regexp.1.m4 \ + gentest/regexp.2.m4 \ + gentest/substr.1.m4 \ + gentest/sysval.1.m4 \ + gentest/trace.1.m4 \ + gentest/translit.1.m4 \ + gentest/undefine.1.m4 \ + gentest/undivert.1.m4 \ + gentest/undivert.2.m4 \ + gentest/undivert.3.m4 + +OTHER_TESTS = \ + ../examples/comments.test \ + ../examples/ddivert.test \ + ../examples/debug.test \ + ../examples/iso8859.test \ + ../examples/reverse.test \ + ../examples/sysv-args.test \ + ../examples/wrap.test -OTHER_TESTS = all: stamp-TESTS stamp-TESTS: $(srcdir)/get-them $(top_srcdir)/doc/m4.texinfo cd $(srcdir) \ - && rm -f *.[0-9].test \ && AWK=$(AWK) $(srcdir)/get-them $(top_srcdir)/doc/m4.texinfo \ && > $@ diff --git a/tests/Makefile.in b/tests/Makefile.in index e8f24129..412f67dd 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -92,29 +92,87 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ -EXTRA_DIST = get-them foo incl.m4 stamp-TESTS $(TESTS) defs m4wrap.1.test +EXTRA_DIST = get-them run-test foo incl.m4 stamp-TESTS \ + defs $(GENERATED_TESTS) -TESTS = $(OTHER_TESTS) $(GENERATED_TESTS) +TESTS = $(GENERATED_TESTS) $(OTHER_TESTS) GENERATED_TESTS = \ - argument.1.test argument.2.test argument.3.test argument.4.test \ - changeco.1.test changeco.2.test changequ.1.test changequ.2.test \ - changequ.3.test changesy.1.test changesy.2.test changesy.3.test \ - changesy.4.test changesy.5.test changesy.6.test changesy.7.test \ - cleardiv.1.test cleardiv.2.test define.1.test define.2.test \ - defn.1.test defn.2.test divert.1.test divert.2.test divnum.1.test \ - dnl.1.test dumpdef.1.test errprint.1.test errprint.2.test \ - esyscmd.1.test eval.1.test eval.2.test format.1.test ifdef.1.test \ - ifelse.1.test ifelse.2.test include.1.test include.2.test \ - include.3.test incr.1.test index.1.test indir.1.test len.1.test \ - loops.1.test loops.2.test m4exit.1.test patsubst.1.test \ - patsubst.2.test pseudoar.1.test pseudoar.2.test pseudoar.3.test \ - pseudoar.4.test pseudoar.5.test pushdef.1.test pushdef.2.test \ - regexp.1.test regexp.2.test substr.1.test sysval.1.test trace.1.test \ - translit.1.test undefine.1.test undivert.1.test undivert.2.test \ - undivert.3.test - -OTHER_TESTS = + gentest/argument.1.m4 \ + gentest/argument.2.m4 \ + gentest/argument.3.m4 \ + gentest/argument.4.m4 \ + gentest/changeco.1.m4 \ + gentest/changeco.2.m4 \ + gentest/changequ.1.m4 \ + gentest/changequ.2.m4 \ + gentest/changequ.3.m4 \ + gentest/changesy.1.m4 \ + gentest/changesy.2.m4 \ + gentest/changesy.3.m4 \ + gentest/changesy.4.m4 \ + gentest/changesy.5.m4 \ + gentest/changesy.6.m4 \ + gentest/changesy.7.m4 \ + gentest/cleardiv.1.m4 \ + gentest/cleardiv.2.m4 \ + gentest/define.1.m4 \ + gentest/define.2.m4 \ + gentest/defn.1.m4 \ + gentest/defn.2.m4 \ + gentest/divert.1.m4 \ + gentest/divert.2.m4 \ + gentest/divnum.1.m4 \ + gentest/dnl.1.m4 \ + gentest/dumpdef.1.m4 \ + gentest/errprint.1.m4 \ + gentest/errprint.2.m4 \ + gentest/esyscmd.1.m4 \ + gentest/eval.1.m4 \ + gentest/eval.2.m4 \ + gentest/format.1.m4 \ + gentest/ifdef.1.m4 \ + gentest/ifelse.1.m4 \ + gentest/ifelse.2.m4 \ + gentest/include.1.m4 \ + gentest/include.2.m4 \ + gentest/include.3.m4 \ + gentest/incr.1.m4 \ + gentest/index.1.m4 \ + gentest/indir.1.m4 \ + gentest/len.1.m4 \ + gentest/loops.1.m4 \ + gentest/loops.2.m4 \ + gentest/m4exit.1.m4 \ + gentest/m4wrap.1.m4 \ + gentest/patsubst.1.m4 \ + gentest/patsubst.2.m4 \ + gentest/pseudoar.1.m4 \ + gentest/pseudoar.2.m4 \ + gentest/pseudoar.3.m4 \ + gentest/pseudoar.4.m4 \ + gentest/pseudoar.5.m4 \ + gentest/pushdef.1.m4 \ + gentest/pushdef.2.m4 \ + gentest/regexp.1.m4 \ + gentest/regexp.2.m4 \ + gentest/substr.1.m4 \ + gentest/sysval.1.m4 \ + gentest/trace.1.m4 \ + gentest/translit.1.m4 \ + gentest/undefine.1.m4 \ + gentest/undivert.1.m4 \ + gentest/undivert.2.m4 \ + gentest/undivert.3.m4 + +OTHER_TESTS = \ + ../examples/comments.test \ + ../examples/ddivert.test \ + ../examples/debug.test \ + ../examples/iso8859.test \ + ../examples/reverse.test \ + ../examples/sysv-args.test \ + ../examples/wrap.test mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -144,6 +202,7 @@ distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) subdir = tests distdir: $(DISTFILES) + $(mkinstalldirs) $(distdir)/gentest @for file in $(DISTFILES); do \ d=$(srcdir); \ test -f $(distdir)/$$file \ @@ -226,7 +285,6 @@ all: stamp-TESTS stamp-TESTS: $(srcdir)/get-them $(top_srcdir)/doc/m4.texinfo cd $(srcdir) \ - && rm -f *.[0-9].test \ && AWK=$(AWK) $(srcdir)/get-them $(top_srcdir)/doc/m4.texinfo \ && > $@ @@ -13,6 +13,10 @@ case "$srcdir" in /*) ;; + .) + srcdir=".." + ;; + *) srcdir="../$srcdir" ;; diff --git a/tests/argument.1.test b/tests/gentest/argument.1.m4 index 9398608f..04909dc9 100755 --- a/tests/argument.1.test +++ b/tests/gentest/argument.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# argument.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1037 +# gentest/argument.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1036 . ${srcdir}/defs diff --git a/tests/argument.2.test b/tests/gentest/argument.2.m4 index abd434f3..59814143 100755 --- a/tests/argument.2.test +++ b/tests/gentest/argument.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# argument.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1047 +# gentest/argument.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1046 . ${srcdir}/defs diff --git a/tests/argument.3.test b/tests/gentest/argument.3.m4 index 0231981b..3dae6ca9 100755 --- a/tests/argument.3.test +++ b/tests/gentest/argument.3.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# argument.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1067 +# gentest/argument.3.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1066 . ${srcdir}/defs diff --git a/tests/argument.4.test b/tests/gentest/argument.4.m4 index a0c5cbfd..39389759 100755 --- a/tests/argument.4.test +++ b/tests/gentest/argument.4.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# argument.4.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1077 +# gentest/argument.4.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1076 . ${srcdir}/defs diff --git a/tests/changeco.1.test b/tests/gentest/changeco.1.m4 index d1a60b0c..533b931b 100755 --- a/tests/changeco.1.test +++ b/tests/gentest/changeco.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changeco.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1960 +# gentest/changeco.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1959 . ${srcdir}/defs diff --git a/tests/changeco.2.test b/tests/gentest/changeco.2.m4 index 21854f26..dfd0aa1d 100755 --- a/tests/changeco.2.test +++ b/tests/gentest/changeco.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changeco.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1981 +# gentest/changeco.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1980 . ${srcdir}/defs diff --git a/tests/changequ.1.test b/tests/gentest/changequ.1.m4 index 4e6f1fa6..7022cec9 100755 --- a/tests/changequ.1.test +++ b/tests/gentest/changequ.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changequ.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1896 +# gentest/changequ.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1895 . ${srcdir}/defs diff --git a/tests/changequ.2.test b/tests/gentest/changequ.2.m4 index 45fd0dbe..5eba166b 100755 --- a/tests/changequ.2.test +++ b/tests/gentest/changequ.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changequ.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1908 +# gentest/changequ.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1907 . ${srcdir}/defs diff --git a/tests/changequ.3.test b/tests/gentest/changequ.3.m4 index d9432142..6174e994 100755 --- a/tests/changequ.3.test +++ b/tests/gentest/changequ.3.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changequ.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1920 +# gentest/changequ.3.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1919 . ${srcdir}/defs diff --git a/tests/changesy.1.test b/tests/gentest/changesy.1.m4 index 76512aae..c608a21f 100755 --- a/tests/changesy.1.test +++ b/tests/gentest/changesy.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changesy.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2126 +# gentest/changesy.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2125 . ${srcdir}/defs diff --git a/tests/changesy.2.test b/tests/gentest/changesy.2.m4 index d34dbb29..55a99375 100755 --- a/tests/changesy.2.test +++ b/tests/gentest/changesy.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changesy.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2142 +# gentest/changesy.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2141 . ${srcdir}/defs diff --git a/tests/changesy.3.test b/tests/gentest/changesy.3.m4 index 15a51f77..8f86a03a 100755 --- a/tests/changesy.3.test +++ b/tests/gentest/changesy.3.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changesy.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2159 +# gentest/changesy.3.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2158 . ${srcdir}/defs diff --git a/tests/changesy.4.test b/tests/gentest/changesy.4.m4 index 5dcde934..9ee5b7d1 100755 --- a/tests/changesy.4.test +++ b/tests/gentest/changesy.4.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changesy.4.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2178 +# gentest/changesy.4.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2177 . ${srcdir}/defs diff --git a/tests/changesy.5.test b/tests/gentest/changesy.5.m4 index 1156668f..2035d2b9 100755 --- a/tests/changesy.5.test +++ b/tests/gentest/changesy.5.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changesy.5.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2202 +# gentest/changesy.5.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2201 . ${srcdir}/defs diff --git a/tests/changesy.6.test b/tests/gentest/changesy.6.m4 index cae2ee23..88cac7a4 100755 --- a/tests/changesy.6.test +++ b/tests/gentest/changesy.6.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changesy.6.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2224 +# gentest/changesy.6.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2223 . ${srcdir}/defs diff --git a/tests/changesy.7.test b/tests/gentest/changesy.7.m4 index 9d4b4b08..7a366945 100755 --- a/tests/changesy.7.test +++ b/tests/gentest/changesy.7.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# changesy.7.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2235 +# gentest/changesy.7.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2234 . ${srcdir}/defs diff --git a/tests/cleardiv.1.test b/tests/gentest/cleardiv.1.m4 index 40f09405..36cba76a 100755 --- a/tests/cleardiv.1.test +++ b/tests/gentest/cleardiv.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# cleardiv.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2739 +# gentest/cleardiv.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2738 . ${srcdir}/defs diff --git a/tests/cleardiv.2.test b/tests/gentest/cleardiv.2.m4 index 1f5df3ac..e44667a9 100755 --- a/tests/cleardiv.2.test +++ b/tests/gentest/cleardiv.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# cleardiv.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2754 +# gentest/cleardiv.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2753 . ${srcdir}/defs diff --git a/tests/define.1.test b/tests/gentest/define.1.m4 index cffdbacb..17f30775 100755 --- a/tests/define.1.test +++ b/tests/gentest/define.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# define.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 988 +# gentest/define.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 987 . ${srcdir}/defs diff --git a/tests/define.2.test b/tests/gentest/define.2.m4 index e4df34eb..62e2ea0e 100755 --- a/tests/define.2.test +++ b/tests/gentest/define.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# define.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1008 +# gentest/define.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1007 . ${srcdir}/defs diff --git a/tests/defn.1.test b/tests/gentest/defn.1.m4 index bf54769c..c3f06939 100755 --- a/tests/defn.1.test +++ b/tests/gentest/defn.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# defn.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1231 +# gentest/defn.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1230 . ${srcdir}/defs diff --git a/tests/defn.2.test b/tests/gentest/defn.2.m4 index 33ea48bd..0422980b 100755 --- a/tests/defn.2.test +++ b/tests/gentest/defn.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# defn.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1251 +# gentest/defn.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1250 . ${srcdir}/defs diff --git a/tests/divert.1.test b/tests/gentest/divert.1.m4 index 3a2a82ac..acfc17d7 100755 --- a/tests/divert.1.test +++ b/tests/gentest/divert.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# divert.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2581 +# gentest/divert.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2580 . ${srcdir}/defs diff --git a/tests/divert.2.test b/tests/gentest/divert.2.m4 index 2f22d845..13075ff7 100755 --- a/tests/divert.2.test +++ b/tests/gentest/divert.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# divert.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2601 +# gentest/divert.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2600 . ${srcdir}/defs diff --git a/tests/divnum.1.test b/tests/gentest/divnum.1.m4 index c1c2638d..4f49f918 100755 --- a/tests/divnum.1.test +++ b/tests/gentest/divnum.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# divnum.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2708 +# gentest/divnum.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2707 . ${srcdir}/defs diff --git a/tests/dnl.1.test b/tests/gentest/dnl.1.m4 index ecfa0077..5d0d7632 100755 --- a/tests/dnl.1.test +++ b/tests/gentest/dnl.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# dnl.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1858 +# gentest/dnl.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1857 . ${srcdir}/defs diff --git a/tests/dumpdef.1.test b/tests/gentest/dumpdef.1.m4 index 45a21ddd..bc31e1df 100755 --- a/tests/dumpdef.1.test +++ b/tests/gentest/dumpdef.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# dumpdef.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1661 +# gentest/dumpdef.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1660 . ${srcdir}/defs diff --git a/tests/errprint.1.test b/tests/gentest/errprint.1.m4 index b1d6145c..107ef789 100755 --- a/tests/errprint.1.test +++ b/tests/gentest/errprint.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# errprint.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3427 +# gentest/errprint.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3426 . ${srcdir}/defs diff --git a/tests/errprint.2.test b/tests/gentest/errprint.2.m4 index 8f44ca0a..5259782d 100755 --- a/tests/errprint.2.test +++ b/tests/gentest/errprint.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# errprint.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3452 +# gentest/errprint.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3451 . ${srcdir}/defs diff --git a/tests/esyscmd.1.test b/tests/gentest/esyscmd.1.m4 index b32c6ced..856620e4 100755 --- a/tests/esyscmd.1.test +++ b/tests/gentest/esyscmd.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# esyscmd.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3316 +# gentest/esyscmd.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3315 . ${srcdir}/defs diff --git a/tests/eval.1.test b/tests/gentest/eval.1.m4 index ef9a3ca3..b3d38cc3 100755 --- a/tests/eval.1.test +++ b/tests/gentest/eval.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# eval.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3200 +# gentest/eval.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3199 . ${srcdir}/defs diff --git a/tests/eval.2.test b/tests/gentest/eval.2.m4 index 374b7039..bd394eb4 100755 --- a/tests/eval.2.test +++ b/tests/gentest/eval.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# eval.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3231 +# gentest/eval.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3230 . ${srcdir}/defs diff --git a/tests/format.1.test b/tests/gentest/format.1.m4 index 0434ff23..ddfdb7f6 100755 --- a/tests/format.1.test +++ b/tests/gentest/format.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# format.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3036 +# gentest/format.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3035 . ${srcdir}/defs diff --git a/tests/ifdef.1.test b/tests/gentest/ifdef.1.m4 index 9cb0935b..721608c0 100755 --- a/tests/ifdef.1.test +++ b/tests/gentest/ifdef.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# ifdef.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1441 +# gentest/ifdef.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1440 . ${srcdir}/defs diff --git a/tests/ifelse.1.test b/tests/gentest/ifelse.1.m4 index 7942a0c2..0d6fbcf0 100755 --- a/tests/ifelse.1.test +++ b/tests/gentest/ifelse.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# ifelse.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1479 +# gentest/ifelse.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1478 . ${srcdir}/defs diff --git a/tests/ifelse.2.test b/tests/gentest/ifelse.2.m4 index d2049f5d..0cf36999 100755 --- a/tests/ifelse.2.test +++ b/tests/gentest/ifelse.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# ifelse.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1498 +# gentest/ifelse.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1497 . ${srcdir}/defs diff --git a/tests/include.1.test b/tests/gentest/include.1.m4 index 535a1292..e2912c84 100755 --- a/tests/include.1.test +++ b/tests/gentest/include.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# include.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2455 +# gentest/include.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2454 . ${srcdir}/defs diff --git a/tests/include.2.test b/tests/gentest/include.2.m4 index 1e0c428f..15a2ea64 100755 --- a/tests/include.2.test +++ b/tests/gentest/include.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# include.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2475 +# gentest/include.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2474 . ${srcdir}/defs diff --git a/tests/include.3.test b/tests/gentest/include.3.m4 index edf228d0..0f286a81 100755 --- a/tests/include.3.test +++ b/tests/gentest/include.3.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# include.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2490 +# gentest/include.3.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2489 . ${srcdir}/defs diff --git a/tests/incr.1.test b/tests/gentest/incr.1.m4 index d20be4df..16035bd3 100755 --- a/tests/incr.1.test +++ b/tests/gentest/incr.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# incr.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3106 +# gentest/incr.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3105 . ${srcdir}/defs diff --git a/tests/index.1.test b/tests/gentest/index.1.m4 index 1cee65fa..28771378 100755 --- a/tests/index.1.test +++ b/tests/gentest/index.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# index.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2822 +# gentest/index.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2821 . ${srcdir}/defs diff --git a/tests/indir.1.test b/tests/gentest/indir.1.m4 index 3cbc0511..e1714a5b 100755 --- a/tests/indir.1.test +++ b/tests/gentest/indir.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# indir.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1370 +# gentest/indir.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1369 . ${srcdir}/defs diff --git a/tests/len.1.test b/tests/gentest/len.1.m4 index a60bb1b0..1fa71023 100755 --- a/tests/len.1.test +++ b/tests/gentest/len.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# len.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2796 +# gentest/len.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2795 . ${srcdir}/defs diff --git a/tests/loops.1.test b/tests/gentest/loops.1.m4 index 3a872fc9..791e2560 100755 --- a/tests/loops.1.test +++ b/tests/gentest/loops.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# loops.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1535 +# gentest/loops.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1534 . ${srcdir}/defs diff --git a/tests/loops.2.test b/tests/gentest/loops.2.m4 index 35e4db17..88c305f5 100755 --- a/tests/loops.2.test +++ b/tests/gentest/loops.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# loops.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1547 +# gentest/loops.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1546 . ${srcdir}/defs diff --git a/tests/m4exit.1.test b/tests/gentest/m4exit.1.m4 index c721d434..7ba446b1 100755 --- a/tests/m4exit.1.test +++ b/tests/gentest/m4exit.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# m4exit.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3475 +# gentest/m4exit.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3474 . ${srcdir}/defs diff --git a/tests/m4wrap.1.test b/tests/gentest/m4wrap.1.m4 index 1a27ac3c..a8315641 100755 --- a/tests/m4wrap.1.test +++ b/tests/gentest/m4wrap.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# m4wrap.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2396 +# gentest/m4wrap.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2395 . ${srcdir}/defs diff --git a/tests/patsubst.1.test b/tests/gentest/patsubst.1.m4 index 152d961d..1b39ecba 100755 --- a/tests/patsubst.1.test +++ b/tests/gentest/patsubst.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# patsubst.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2984 +# gentest/patsubst.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2983 . ${srcdir}/defs diff --git a/tests/patsubst.2.test b/tests/gentest/patsubst.2.m4 index 47ce0b77..f8644359 100755 --- a/tests/patsubst.2.test +++ b/tests/gentest/patsubst.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# patsubst.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3001 +# gentest/patsubst.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3000 . ${srcdir}/defs diff --git a/tests/pseudoar.1.test b/tests/gentest/pseudoar.1.m4 index 060af181..29721fa1 100755 --- a/tests/pseudoar.1.test +++ b/tests/gentest/pseudoar.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# pseudoar.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1101 +# gentest/pseudoar.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1100 . ${srcdir}/defs diff --git a/tests/pseudoar.2.test b/tests/gentest/pseudoar.2.m4 index 765e73b2..47231cf4 100755 --- a/tests/pseudoar.2.test +++ b/tests/gentest/pseudoar.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# pseudoar.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1115 +# gentest/pseudoar.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1114 . ${srcdir}/defs diff --git a/tests/pseudoar.3.test b/tests/gentest/pseudoar.3.m4 index ef7bae06..997641f3 100755 --- a/tests/pseudoar.3.test +++ b/tests/gentest/pseudoar.3.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# pseudoar.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1126 +# gentest/pseudoar.3.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1125 . ${srcdir}/defs diff --git a/tests/pseudoar.4.test b/tests/gentest/pseudoar.4.m4 index b95fade9..68b7b6ef 100755 --- a/tests/pseudoar.4.test +++ b/tests/gentest/pseudoar.4.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# pseudoar.4.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1136 +# gentest/pseudoar.4.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1135 . ${srcdir}/defs diff --git a/tests/pseudoar.5.test b/tests/gentest/pseudoar.5.m4 index c739ef51..8c01d6f7 100755 --- a/tests/pseudoar.5.test +++ b/tests/gentest/pseudoar.5.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# pseudoar.5.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1156 +# gentest/pseudoar.5.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1155 . ${srcdir}/defs diff --git a/tests/pushdef.1.test b/tests/gentest/pushdef.1.m4 index fecfa31a..ac11f585 100755 --- a/tests/pushdef.1.test +++ b/tests/gentest/pushdef.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# pushdef.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1295 +# gentest/pushdef.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1294 . ${srcdir}/defs diff --git a/tests/pushdef.2.test b/tests/gentest/pushdef.2.m4 index d391e5da..07eb0c79 100755 --- a/tests/pushdef.2.test +++ b/tests/gentest/pushdef.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# pushdef.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1319 +# gentest/pushdef.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1318 . ${srcdir}/defs diff --git a/tests/regexp.1.test b/tests/gentest/regexp.1.m4 index a83a2228..d27cf8e7 100755 --- a/tests/regexp.1.test +++ b/tests/gentest/regexp.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# regexp.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2854 +# gentest/regexp.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2853 . ${srcdir}/defs diff --git a/tests/regexp.2.test b/tests/gentest/regexp.2.m4 index 6ed53dd8..a75bdc6f 100755 --- a/tests/regexp.2.test +++ b/tests/gentest/regexp.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# regexp.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2866 +# gentest/regexp.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2865 . ${srcdir}/defs diff --git a/tests/substr.1.test b/tests/gentest/substr.1.m4 index ebfc000f..6354c598 100755 --- a/tests/substr.1.test +++ b/tests/gentest/substr.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# substr.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2892 +# gentest/substr.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2891 . ${srcdir}/defs diff --git a/tests/sysval.1.test b/tests/gentest/sysval.1.m4 index e79a0ef5..f1ffeb7b 100755 --- a/tests/sysval.1.test +++ b/tests/gentest/sysval.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# sysval.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3347 +# gentest/sysval.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 3346 . ${srcdir}/defs diff --git a/tests/trace.1.test b/tests/gentest/trace.1.m4 index 7d103f7f..eae2a55e 100755 --- a/tests/trace.1.test +++ b/tests/gentest/trace.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# trace.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1706 +# gentest/trace.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1705 . ${srcdir}/defs diff --git a/tests/translit.1.test b/tests/gentest/translit.1.m4 index 51a4396a..4ac2bd7a 100755 --- a/tests/translit.1.test +++ b/tests/gentest/translit.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# translit.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2933 +# gentest/translit.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2932 . ${srcdir}/defs diff --git a/tests/undefine.1.test b/tests/gentest/undefine.1.m4 index e2450f79..cd7db2ad 100755 --- a/tests/undefine.1.test +++ b/tests/gentest/undefine.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# undefine.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1187 +# gentest/undefine.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 1186 . ${srcdir}/defs diff --git a/tests/undivert.1.test b/tests/gentest/undivert.1.m4 index 10c6625e..db869a32 100755 --- a/tests/undivert.1.test +++ b/tests/gentest/undivert.1.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# undivert.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2632 +# gentest/undivert.1.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2631 . ${srcdir}/defs diff --git a/tests/undivert.2.test b/tests/gentest/undivert.2.m4 index d49f7fc4..0663e0dd 100755 --- a/tests/undivert.2.test +++ b/tests/gentest/undivert.2.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# undivert.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2656 +# gentest/undivert.2.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2655 . ${srcdir}/defs diff --git a/tests/undivert.3.test b/tests/gentest/undivert.3.m4 index 146374d9..d0b92cae 100755 --- a/tests/undivert.3.test +++ b/tests/gentest/undivert.3.m4 @@ -1,7 +1,7 @@ #!/bin/sh -# undivert.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2682 +# gentest/undivert.3.m4 is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2681 . ${srcdir}/defs diff --git a/tests/get-them b/tests/get-them index ca42991a..e42ec152 100755 --- a/tests/get-them +++ b/tests/get-them @@ -6,6 +6,8 @@ FILE=${1-/dev/null} +rm -f gentest/*.m4 2>/dev/null + ${AWK-gawk} ' BEGIN { @@ -51,7 +53,7 @@ BEGIN { error_flag = 0; i = 0; include_flag = 0; - file = sprintf("%s.%d.test", node, seq); + file = sprintf("gentest/%s.%d.m4", node, seq); printf ("#!/bin/sh\n\n") > file; printf ("# %s is part of the GNU m4 testsuite\n", file) >> file; printf ("# generated from example in %s line %d\n\n", FILENAME, NR) >>file; @@ -109,4 +111,4 @@ function printthem(thearray, thecounter, thefile) { ' $FILE >/dev/null -chmod +x *.[0-9].test +chmod +x gentest/*.m4 diff --git a/tests/run-test b/tests/run-test new file mode 100755 index 00000000..c5223163 --- /dev/null +++ b/tests/run-test @@ -0,0 +1,29 @@ +#!/bin/sh +# Run a test manually +# Copyright (C) 1998 Free Software Foundation, Inc. + +srcdir=. +export srcdir + +if sh "$@"; then + echo "Test succeeded" +else + echo "TEST FAILED" + + if cmp testSubDir/ok testSubDir/out 2>/dev/null; then + : + else + echo "stdout mosmatch" + diff -c testSubDir/ok testSubDir/out + fi + + msgerr="" + if test -e testSubDir/err; then + if cmp testSubDir/okerr testSubDir/err 2>/dev/null; then + : + else + echo "stderr mismatch" + diff -c testSubDir/okerr testSubDir/err + fi + fi +fi |