diff options
author | Jeff Bailey <jbailey@raspberryginger.com> | 2000-02-17 03:09:56 +0000 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2007-10-05 15:07:58 -0600 |
commit | 24fc956437e057bd446aed93f2403115b726e598 (patch) | |
tree | fb0a586ea4e54d1a7490e8fbeec405f699dfce6b | |
parent | 1a7d2d7e8eef1bbea46f9d303667d0047ace69b9 (diff) | |
download | m4-24fc956437e057bd446aed93f2403115b726e598.tar.gz |
Import of m4-1.4lm4-1.4l
128 files changed, 2092 insertions, 937 deletions
@@ -1,3 +1,68 @@ +1998-11-15 Rene' Seindal <rene@seindal.dk> + + * Prerelease 1.4l. + + * modules/stdlib.c: New module `stdlib' defining some standard + functions: getcwd, getlogin, getpid, getppid, getuid, getpwnam, + getpwuid, hostname, rand, srand, getenv, setenv, unsetenv, uname. + + * src/builtin.c (shipout_string): New convenience function for + builtins and modules. + + * src/module.c (module_load): Tentative support for + shl_load/shl_findsym, but I cannot test it. Copied from MetaHTML. + + * Makefile.am (SUBDIRS): Directory modules added if configured. + + * modules/Makefile.am: Now correctly compiles and installs + modules in pkglibexecdir. + + * src/m4.h: WITH_MODULES defined iff HAVE_DLOPEN or USE_SHL_LOAD. + These two are now initialised by autoconf macros. + + * src/path.c (module_env_init): MODULE_PATH is always on the + search path. + + * src/Makefile.am: Now generated pathconf.h which defined the + default MODULE_PATH. + + * configure.in (pkglibexecdir): Added defintion of pkglibexecdir, + where modules are installed. + + * acm4/modules.m4: Enhanced with code from MetaHTML, contributed + by Brian J. Fox <bfox@datawave.net>. This change allow modules to + build and install automatically, and it is prepared for other + interfacec than dlopen(). + + * src/builtin.c (predefined_tab): Added __m4_version__ for the + current version of GNU m4. It is a GNU extension. + +1998-11-14 Rene' Seindal <rene@seindal.dk> + + * tests/Makefile.am (GENERATED_TESTS): Added new + generated-tests/changesy.8.test + + * doc/m4.texinfo (Changesyntax): Documentation for escape + syntax class. + + * src/macro.c (expand_token): Check for escaped macro call before + symbol table lookup. + + * src/builtin.c (m4_changesyntax): Added `@' flag to define escape + characters + + * src/input.c: New static variable use_macro_escape, which is TRUE + iff some character has code SYNTAX_ESCAPE + (input_init): Added initialisation of use_macro_escape. + (check_use_macro_escape): New function to synchronise + use_macro_escape with the syntax table. + (set_quotes): Added call to check_use_macro_escape() + (set_comment): Do. + (set_syntax): Do. + (next_token): Added new case for IS_ESCAPE. + + * src/m4.h (SYNTAX_ESCAPE): Defined as simple syntax category. + 1998-10-13 René Seindal <rene@seindal.dk> * Prerelease 1.4k. diff --git a/Makefile.am b/Makefile.am index a9bf5a89..73f3a079 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,11 +1,12 @@ AUTOMAKE_OPTIONS = 1.3b gnits -SUBDIRS = acm4 intl po lib src doc tests examples # modules +SUBDIRS = acm4 intl po lib src doc tests examples @MODULES_DIR@ # 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/stdlib.c modules/stdlib.m4 \ modules/README # Tag before making distribution. Also, don't make a distribution if diff --git a/Makefile.in b/Makefile.in index 900aed89..2b46fd8d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -57,12 +57,17 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ +DASH_SHARED = @DASH_SHARED@ DATADIRNAME = @DATADIRNAME@ +DLLDFLAGS = @DLLDFLAGS@ +GCC_FPIC = @GCC_FPIC@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -75,36 +80,44 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODULES_DIR = @MODULES_DIR@ +MODULE_O = @MODULE_O@ +MODULE_PATH = @MODULE_PATH@ MSGFMT = @MSGFMT@ +OS_NAME = @OS_NAME@ PACKAGE = @PACKAGE@ PERL = @PERL@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SHARED_EXT = @SHARED_EXT@ +SHARED_LD = @SHARED_LD@ STACKOVF = @STACKOVF@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ +pkglibexecdir = @pkglibexecdir@ AUTOMAKE_OPTIONS = 1.3b gnits -SUBDIRS = acm4 intl po lib src doc tests examples # modules +SUBDIRS = acm4 intl po lib src doc tests examples @MODULES_DIR@ # 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/stdlib.c modules/stdlib.m4 \ modules/README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = DIST_COMMON = README ABOUT-NLS AUTHORS BACKLOG COPYING ChangeLog \ -INSTALL Makefile.am Makefile.in NEWS THANKS TODO acconfig.h \ -acinclude.m4 aclocal.m4 config.guess config.h.in config.sub configure \ -configure.in install-sh missing mkinstalldirs stamp-h.in +INSTALL Makefile.am Makefile.in NEWS README-alpha THANKS TODO \ +acconfig.h acinclude.m4 aclocal.m4 config.guess config.h.in config.sub \ +configure configure.in install-sh missing mkinstalldirs stamp-h.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) @@ -1,6 +1,23 @@ GNU m4 NEWS - History of user-visible changes. -*-indented-text-*- Copyright (C) 1992, 1993, 1994, 1998 Free Software Foundation, Inc. +Version beta 1.4l - November 1998, by Rene' Seindal + +* GNU m4 now has and escape syntax category. If a character is marked as + an escape, words are only recognised as macros if preceded by an escape + character. It is a bit like -P, but dynamic: it can be turned on and + off. The GNU m4 web-site on http://www.seindal.dk/rene/gnu/ is + maintained with this feature - the m4 source is available on the site. + +* The module interface is improved, thanks to "Brian J. Fox" + <bfox@datawave.net>, who have contributed some code from Meta-HTML. The + modules now build automatically and installs properly, by default in + /usr/local/libexec/m4. There is a preliminary, untested support for + shl_load(). + +* There is now a __m4_version__ macro that expands to the current version + number. + Version beta 1.4k - November 1998, by Erick Branderhorst and Rene' Seindal * GNU m4 now uses gettext to support internationalization. @@ -7,8 +7,6 @@ running shell commands, doing arithmetic, etc. Autoconf needs GNU GNU `m4' has been originally written by René Seindal, from Denmark. -This release is a development release. Lastest 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. @@ -29,8 +27,7 @@ gmp v2 library. 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. See file -`modules/README' for a more detailed description. +See file `modules/README' for a more detailed description. By using `./configure --enable-changeword', you get an experimental feature which allows for changing the syntax of what is a "word" in diff --git a/README-alpha b/README-alpha new file mode 100644 index 00000000..4ed792df --- /dev/null +++ b/README-alpha @@ -0,0 +1,12 @@ +This is a alpha version of GNU m4. + +Please see the file TODO for a list of open problems and known bugs. + +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, ... + +GNU m4 has a web-site at http://www.seindal.dk/rene/gnu/ @@ -23,6 +23,7 @@ Bernhard Daeubler daeb@physik.uni-ulm.de Bill Bumgarner bbum@thoughtport.com Bjorn R. Bjornsson brb@falcon.is Brendan Kehoe brendan@cygnus.com +Brian J. Fox bfox@datawave.net Brian D. Carlstrom bdc@clark.lcs.mit.edu David J. MacKenzie djm@uunet.uu.net Erez Zadok ezk@cs.columbia.edu @@ -42,9 +42,6 @@ for any of these ideas or if you have others to add. * Module specific issues - + The module directory should be made to build automatically if - configured. - + Use libtool to build modules for portability. + Support for other DL interfaces besides dlopen, such as dld and @@ -3,6 +3,9 @@ Francois Pinard <pinard@iro.umontreal.ca>, 1993. */ +/* Define to the installdir for modules. */ +#undef MODULE_PATH + /* Define to 1 if the changeword(REGEXP) functionnality is wanted. */ #undef ENABLE_CHANGEWORD @@ -39,7 +42,10 @@ #undef WITH_GMP /* Define to 1 if the -ldl library should be used . */ -#undef WITH_MODULES +#undef HAVE_DLOPEN + +/* Define to 1 if the -ldld library should be used . */ +#undef USE_SHL_LOAD /* Define to 1 if NLS is requested. */ #undef ENABLE_NLS diff --git a/acinclude.m4 b/acinclude.m4 index 13b38d0f..b2d102b5 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -446,6 +446,7 @@ AC_DEFUN(AM_WITH_GMP, AC_CHECK_SIZEOF(long long int, 0) fi ]) + AC_DEFUN(AM_WITH_MODULES, [AC_MSG_CHECKING(if support for dynamic modules is wanted) AC_ARG_WITH(modules, @@ -454,22 +455,72 @@ AC_DEFUN(AM_WITH_MODULES, 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 + AC_CHECK_FUNCS(dlopen dlsym dlclose) + if test "$ac_cv_func_dlopen" = yes; then + MODULE_O=module.o + MODULES_DIR=modules + fi + + AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=true) + if test "$HAVE_LIBDL" = true; then + LIBS="$LIBS -ldl" + MODULE_O=module.o + MODULES_DIR=modules + AC_DEFINE(HAVE_DLOPEN,1) + fi + + dnl Default extension for shared libraries. + SHARED_EXT=.so + + dnl Maybe this is a system using shl_load and shl_findsym? + if test "${MODULES_DIR}" = ""; then + AC_CHECK_LIB(dld, shl_load, HAVE_LIBDLD=true) + if test "$HAVE_LIBDLD" = true; then + LIBS="$LIBS -ldld" + MODULE_O=module.o + MODULES_DIR=modules + SHARED_EXT=.O + AC_DEFINE(USE_SHL_LOAD,1) + fi fi + + if test "$MODULES_DIR"; then + SHARED_LD=ld + DASH_SHARED="" + case "$host_os" in + sunos4*) DASH_SHARED=-Bdynamic ;; + linux*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;; + winnt*) SHARED_LD=./make-dll; SHARED_EXT=.dll; DLLDFLAGS=-rdynamic ;; + osf*) DASH_SHARED=-shared; SHARED_LD=$CC ;; + irix*) DASH_SHARED=-shared; SHARED_LD=$CC ;; + bsdi*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;; + freebsd*) DASH_SHARED=-Bshareable; SHARED_LD='$(LD) 2>/dev/null';; + solaris*) + # If both the GNU compiler and linker are installed, then we need + # to add special options in order to compile the modules. + if test "$GCC" = "yes"; then + DASH_SHARED=-shared; GCC_FPIC=-fpic; + SHARED_LD='$(CC)'; DLLDFLAGS="-Xlinker -E"; + else + DASH_SHARED=-G; + fi + ;; + aix*) DLLDFLAGS="-bexpall -brtl" ;; + + hpux*) DASH_SHARED="-b -E" GCC_FPIC=-fpic DLLDFLAGS="-Xlinker -E" ;; + esac + fi + + AC_SUBST(SHARED_LD) + AC_SUBST(DASH_SHARED) + AC_SUBST(MODULE_O) + AC_SUBST(MODULES_DIR) + AC_SUBST(DLLDFLAGS) + AC_SUBST(SHARED_EXT) + AC_SUBST(OS_NAME) + AC_SUBST(GCC_FPIC) + + MODULE_PATH="${pkglibexecdir}" + AC_SUBST(MODULE_PATH) fi ]) @@ -458,6 +458,7 @@ AC_DEFUN(AM_WITH_GMP, AC_CHECK_SIZEOF(long long int, 0) fi ]) + AC_DEFUN(AM_WITH_MODULES, [AC_MSG_CHECKING(if support for dynamic modules is wanted) AC_ARG_WITH(modules, @@ -466,23 +467,73 @@ AC_DEFUN(AM_WITH_MODULES, 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 + AC_CHECK_FUNCS(dlopen dlsym dlclose) + if test "$ac_cv_func_dlopen" = yes; then + MODULE_O=module.o + MODULES_DIR=modules + fi + + AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=true) + if test "$HAVE_LIBDL" = true; then + LIBS="$LIBS -ldl" + MODULE_O=module.o + MODULES_DIR=modules + AC_DEFINE(HAVE_DLOPEN,1) + fi + + dnl Default extension for shared libraries. + SHARED_EXT=.so + + dnl Maybe this is a system using shl_load and shl_findsym? + if test "${MODULES_DIR}" = ""; then + AC_CHECK_LIB(dld, shl_load, HAVE_LIBDLD=true) + if test "$HAVE_LIBDLD" = true; then + LIBS="$LIBS -ldld" + MODULE_O=module.o + MODULES_DIR=modules + SHARED_EXT=.O + AC_DEFINE(USE_SHL_LOAD,1) + fi fi + + if test "$MODULES_DIR"; then + SHARED_LD=ld + DASH_SHARED="" + case "$host_os" in + sunos4*) DASH_SHARED=-Bdynamic ;; + linux*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;; + winnt*) SHARED_LD=./make-dll; SHARED_EXT=.dll; DLLDFLAGS=-rdynamic ;; + osf*) DASH_SHARED=-shared; SHARED_LD=$CC ;; + irix*) DASH_SHARED=-shared; SHARED_LD=$CC ;; + bsdi*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;; + freebsd*) DASH_SHARED=-Bshareable; SHARED_LD='$(LD) 2>/dev/null';; + solaris*) + # If both the GNU compiler and linker are installed, then we need + # to add special options in order to compile the modules. + if test "$GCC" = "yes"; then + DASH_SHARED=-shared; GCC_FPIC=-fpic; + SHARED_LD='$(CC)'; DLLDFLAGS="-Xlinker -E"; + else + DASH_SHARED=-G; + fi + ;; + aix*) DLLDFLAGS="-bexpall -brtl" ;; + + hpux*) DASH_SHARED="-b -E" GCC_FPIC=-fpic DLLDFLAGS="-Xlinker -E" ;; + esac + fi + + AC_SUBST(SHARED_LD) + AC_SUBST(DASH_SHARED) + AC_SUBST(MODULE_O) + AC_SUBST(MODULES_DIR) + AC_SUBST(DLLDFLAGS) + AC_SUBST(SHARED_EXT) + AC_SUBST(OS_NAME) + AC_SUBST(GCC_FPIC) + + MODULE_PATH="${pkglibexecdir}" + AC_SUBST(MODULE_PATH) fi ]) diff --git a/acm4/Makefile.in b/acm4/Makefile.in index 378ff68c..6755a6c9 100644 --- a/acm4/Makefile.in +++ b/acm4/Makefile.in @@ -57,12 +57,17 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ +DASH_SHARED = @DASH_SHARED@ DATADIRNAME = @DATADIRNAME@ +DLLDFLAGS = @DLLDFLAGS@ +GCC_FPIC = @GCC_FPIC@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -75,18 +80,25 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODULES_DIR = @MODULES_DIR@ +MODULE_O = @MODULE_O@ +MODULE_PATH = @MODULE_PATH@ MSGFMT = @MSGFMT@ +OS_NAME = @OS_NAME@ PACKAGE = @PACKAGE@ PERL = @PERL@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SHARED_EXT = @SHARED_EXT@ +SHARED_LD = @SHARED_LD@ STACKOVF = @STACKOVF@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ +pkglibexecdir = @pkglibexecdir@ EXTRA_DIST = $(ACINCLUDES_M4) diff --git a/acm4/modules.m4 b/acm4/modules.m4 index c4a47b76..8f6e647e 100644 --- a/acm4/modules.m4 +++ b/acm4/modules.m4 @@ -1,3 +1,4 @@ + AC_DEFUN(AM_WITH_MODULES, [AC_MSG_CHECKING(if support for dynamic modules is wanted) AC_ARG_WITH(modules, @@ -6,22 +7,72 @@ AC_DEFUN(AM_WITH_MODULES, 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 + AC_CHECK_FUNCS(dlopen dlsym dlclose) + if test "$ac_cv_func_dlopen" = yes; then + MODULE_O=module.o + MODULES_DIR=modules + fi + + AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=true) + if test "$HAVE_LIBDL" = true; then + LIBS="$LIBS -ldl" + MODULE_O=module.o + MODULES_DIR=modules + AC_DEFINE(HAVE_DLOPEN,1) + fi + + dnl Default extension for shared libraries. + SHARED_EXT=.so + + dnl Maybe this is a system using shl_load and shl_findsym? + if test "${MODULES_DIR}" = ""; then + AC_CHECK_LIB(dld, shl_load, HAVE_LIBDLD=true) + if test "$HAVE_LIBDLD" = true; then + LIBS="$LIBS -ldld" + MODULE_O=module.o + MODULES_DIR=modules + SHARED_EXT=.O + AC_DEFINE(USE_SHL_LOAD,1) + fi fi + + if test "$MODULES_DIR"; then + SHARED_LD=ld + DASH_SHARED="" + case "$host_os" in + sunos4*) DASH_SHARED=-Bdynamic ;; + linux*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;; + winnt*) SHARED_LD=./make-dll; SHARED_EXT=.dll; DLLDFLAGS=-rdynamic ;; + osf*) DASH_SHARED=-shared; SHARED_LD=$CC ;; + irix*) DASH_SHARED=-shared; SHARED_LD=$CC ;; + bsdi*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;; + freebsd*) DASH_SHARED=-Bshareable; SHARED_LD='$(LD) 2>/dev/null';; + solaris*) + # If both the GNU compiler and linker are installed, then we need + # to add special options in order to compile the modules. + if test "$GCC" = "yes"; then + DASH_SHARED=-shared; GCC_FPIC=-fpic; + SHARED_LD='$(CC)'; DLLDFLAGS="-Xlinker -E"; + else + DASH_SHARED=-G; + fi + ;; + aix*) DLLDFLAGS="-bexpall -brtl" ;; + + hpux*) DASH_SHARED="-b -E" GCC_FPIC=-fpic DLLDFLAGS="-Xlinker -E" ;; + esac + fi + + AC_SUBST(SHARED_LD) + AC_SUBST(DASH_SHARED) + AC_SUBST(MODULE_O) + AC_SUBST(MODULES_DIR) + AC_SUBST(DLLDFLAGS) + AC_SUBST(SHARED_EXT) + AC_SUBST(OS_NAME) + AC_SUBST(GCC_FPIC) + + MODULE_PATH="${pkglibexecdir}" + AC_SUBST(MODULE_PATH) fi ]) diff --git a/config.h.in b/config.h.in index 6b4845df..e27d16a6 100644 --- a/config.h.in +++ b/config.h.in @@ -102,7 +102,10 @@ #undef WITH_GMP /* Define to 1 if the -ldl library should be used . */ -#undef WITH_MODULES +#undef HAVE_DLOPEN + +/* Define to 1 if the -ldld library should be used . */ +#undef USE_SHL_LOAD /* Define to 1 if NLS is requested. */ #undef ENABLE_NLS @@ -137,6 +140,15 @@ /* Define if you have the dcgettext function. */ #undef HAVE_DCGETTEXT +/* Define if you have the dlclose function. */ +#undef HAVE_DLCLOSE + +/* Define if you have the dlopen function. */ +#undef HAVE_DLOPEN + +/* Define if you have the dlsym function. */ +#undef HAVE_DLSYM + /* Define if you have the doprnt function. */ #undef HAVE_DOPRNT @@ -708,7 +708,7 @@ fi PACKAGE=m4 -VERSION=1.4k +VERSION=1.4l 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; } @@ -792,12 +792,43 @@ fi ALL_LINGUAS="de fr it ja nl pl ru sv" +pkglibexecdir='${libexecdir}'/$PACKAGE + + + +# Make sure we can run config.sub. +if $ac_config_sub sun4 >/dev/null 2>&1; then : +else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } +fi + +echo $ac_n "checking host system type""... $ac_c" 1>&6 +echo "configure:806: checking host system type" >&5 + +host_alias=$host +case "$host_alias" in +NONE) + case $nonopt in + NONE) + if host_alias=`$ac_config_guess`; then : + else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } + fi ;; + *) host_alias=$nonopt ;; + esac ;; +esac + +host=`$ac_config_sub $host_alias` +host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$host" 1>&6 + + 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:801: checking for $ac_word" >&5 +echo "configure:832: 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 @@ -828,7 +859,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:832: checking for $ac_word" >&5 +echo "configure:863: 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 @@ -857,7 +888,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:861: checking for $ac_word" >&5 +echo "configure:892: 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 @@ -905,7 +936,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:909: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:940: 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. @@ -915,11 +946,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 919 "configure" +#line 950 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:954: \"$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 @@ -939,12 +970,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:943: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:974: 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:948: checking whether we are using GNU C" >&5 +echo "configure:979: 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 @@ -953,7 +984,7 @@ else yes; #endif EOF -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 +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:988: \"$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 @@ -968,7 +999,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:972: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1003: 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 @@ -1006,7 +1037,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:1010: checking for a BSD compatible install" >&5 +echo "configure:1041: 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 @@ -1056,7 +1087,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:1060: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1091: 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 @@ -1085,7 +1116,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:1089: checking for $ac_word" >&5 +echo "configure:1120: 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 @@ -1114,7 +1145,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:1118: checking for $ac_word" >&5 +echo "configure:1149: 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 @@ -1144,7 +1175,7 @@ fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1148: checking how to run the C preprocessor" >&5 +echo "configure:1179: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1159,13 +1190,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 1163 "configure" +#line 1194 "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:1169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1176,13 +1207,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1180 "configure" +#line 1211 "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:1186: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1217: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1205,9 +1236,9 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:1209: checking for AIX" >&5 +echo "configure:1240: checking for AIX" >&5 cat > conftest.$ac_ext <<EOF -#line 1211 "configure" +#line 1242 "configure" #include "confdefs.h" #ifdef _AIX yes @@ -1229,7 +1260,7 @@ rm -f conftest* echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1233: checking for POSIXized ISC" >&5 +echo "configure:1264: 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 @@ -1251,17 +1282,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:1255: checking for minix/config.h" >&5 +echo "configure:1286: 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 1260 "configure" +#line 1291 "configure" #include "confdefs.h" #include <minix/config.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1265: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1302,7 +1333,7 @@ fi echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 -echo "configure:1306: checking for ${CC-cc} option to accept ANSI C" >&5 +echo "configure:1337: 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 @@ -1318,7 +1349,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 1322 "configure" +#line 1353 "configure" #include "confdefs.h" #include <stdarg.h> #include <stdio.h> @@ -1355,7 +1386,7 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } EOF -if { (eval echo configure:1359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_prog_cc_stdc="$ac_arg"; break else @@ -1381,7 +1412,7 @@ esac echo $ac_n "checking for function prototypes""... $ac_c" 1>&6 -echo "configure:1385: checking for function prototypes" >&5 +echo "configure:1416: checking for function prototypes" >&5 if test "$am_cv_prog_cc_stdc" != no; then echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -1394,12 +1425,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:1398: checking for ANSI C header files" >&5 +echo "configure:1429: 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 1403 "configure" +#line 1434 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -1407,7 +1438,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1411: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1442: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1424,7 +1455,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 1428 "configure" +#line 1459 "configure" #include "confdefs.h" #include <string.h> EOF @@ -1442,7 +1473,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 1446 "configure" +#line 1477 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -1463,7 +1494,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 1467 "configure" +#line 1498 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1474,7 +1505,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1501,17 +1532,17 @@ fi do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1505: checking for $ac_hdr" >&5 +echo "configure:1536: 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 1510 "configure" +#line 1541 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1515: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1546: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1540,12 +1571,12 @@ done fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1544: checking for working const" >&5 +echo "configure:1575: 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 1549 "configure" +#line 1580 "configure" #include "confdefs.h" int main() { @@ -1594,7 +1625,7 @@ ccp = (char const *const *) p; ; return 0; } EOF -if { (eval echo configure:1598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1619,17 +1650,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:1623: checking for $ac_hdr" >&5 +echo "configure:1654: 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 1628 "configure" +#line 1659 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1633: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1664: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1656,12 +1687,12 @@ fi done echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1660: checking for ANSI C header files" >&5 +echo "configure:1691: 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 1665 "configure" +#line 1696 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -1669,7 +1700,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1704: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1686,7 +1717,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 1690 "configure" +#line 1721 "configure" #include "confdefs.h" #include <string.h> EOF @@ -1704,7 +1735,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 1708 "configure" +#line 1739 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -1725,7 +1756,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 1729 "configure" +#line 1760 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1736,7 +1767,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1760,12 +1791,12 @@ EOF fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:1764: checking return type of signal handlers" >&5 +echo "configure:1795: 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 1769 "configure" +#line 1800 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -1782,7 +1813,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:1786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -1801,12 +1832,12 @@ EOF echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1805: checking for size_t" >&5 +echo "configure:1836: 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 1810 "configure" +#line 1841 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -1837,12 +1868,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:1841: checking for $ac_func" >&5 +echo "configure:1872: 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 1846 "configure" +#line 1877 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -1865,7 +1896,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:1869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1893,19 +1924,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:1897: checking for working alloca.h" >&5 +echo "configure:1928: 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 1902 "configure" +#line 1933 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:1909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -1926,12 +1957,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:1930: checking for alloca" >&5 +echo "configure:1961: 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 1935 "configure" +#line 1966 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -1954,7 +1985,7 @@ int main() { char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:1958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -1986,12 +2017,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:1990: checking whether alloca needs Cray hooks" >&5 +echo "configure:2021: 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 1995 "configure" +#line 2026 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -2016,12 +2047,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:2020: checking for $ac_func" >&5 +echo "configure:2051: 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 2025 "configure" +#line 2056 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2044,7 +2075,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2048: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2071,7 +2102,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2075: checking stack direction for C alloca" >&5 +echo "configure:2106: 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 @@ -2079,7 +2110,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <<EOF -#line 2083 "configure" +#line 2114 "configure" #include "confdefs.h" find_stack_direction () { @@ -2098,7 +2129,7 @@ main () exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:2102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2133: \"$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 @@ -2120,12 +2151,12 @@ EOF fi echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:2124: checking for vprintf" >&5 +echo "configure:2155: 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 2129 "configure" +#line 2160 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char vprintf(); below. */ @@ -2148,7 +2179,7 @@ vprintf(); ; return 0; } EOF -if { (eval echo configure:2152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -2172,12 +2203,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:2176: checking for _doprnt" >&5 +echo "configure:2207: 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 2181 "configure" +#line 2212 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char _doprnt(); below. */ @@ -2200,7 +2231,7 @@ _doprnt(); ; return 0; } EOF -if { (eval echo configure:2204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -2227,12 +2258,12 @@ fi for ac_func in strtol obstack xmalloc xstrdup do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2231: checking for $ac_func" >&5 +echo "configure:2262: 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 2236 "configure" +#line 2267 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2255,7 +2286,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2282,12 +2313,12 @@ done echo $ac_n "checking for getopt_long""... $ac_c" 1>&6 -echo "configure:2286: checking for getopt_long" >&5 +echo "configure:2317: 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 2291 "configure" +#line 2322 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getopt_long(); below. */ @@ -2310,7 +2341,7 @@ getopt_long(); ; return 0; } EOF -if { (eval echo configure:2314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_getopt_long=yes" else @@ -2352,12 +2383,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:2356: checking for $ac_func" >&5 +echo "configure:2387: 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 2361 "configure" +#line 2392 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2380,7 +2411,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2405,12 +2436,12 @@ fi done echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2409: checking for ANSI C header files" >&5 +echo "configure:2440: 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 2414 "configure" +#line 2445 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -2418,7 +2449,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2422: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2453: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2435,7 +2466,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 2439 "configure" +#line 2470 "configure" #include "confdefs.h" #include <string.h> EOF @@ -2453,7 +2484,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 2457 "configure" +#line 2488 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2474,7 +2505,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 2478 "configure" +#line 2509 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2485,7 +2516,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:2489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -2511,9 +2542,9 @@ fi echo $ac_n "checking ecvt declaration""... $ac_c" 1>&6 -echo "configure:2515: checking ecvt declaration" >&5 +echo "configure:2546: checking ecvt declaration" >&5 cat > conftest.$ac_ext <<EOF -#line 2517 "configure" +#line 2548 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2529,12 +2560,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:2533: checking for $ac_func" >&5 +echo "configure:2564: 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 2538 "configure" +#line 2569 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2557,7 +2588,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:2561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2586,7 +2617,7 @@ rm -f conftest* echo $ac_n "checking if stack overflow is detectable""... $ac_c" 1>&6 -echo "configure:2590: checking if stack overflow is detectable" >&5 +echo "configure:2621: 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 @@ -2596,7 +2627,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 2600 "configure" +#line 2631 "configure" #include "confdefs.h" #include <sys/time.h> #include <sys/resource.h> @@ -2609,7 +2640,7 @@ choke me /* SA_ONSTACK and/or SV_ONSTACK are not defined */ #endif ; return 0; } EOF -if { (eval echo configure:2613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* use_stackovf=yes else @@ -2628,7 +2659,7 @@ EOF STACKOVF=stackovf.${U}o cat > conftest.$ac_ext <<EOF -#line 2632 "configure" +#line 2663 "configure" #include "confdefs.h" #include <sys/resource.h> EOF @@ -2645,7 +2676,7 @@ fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 2649 "configure" +#line 2680 "configure" #include "confdefs.h" #include <signal.h> EOF @@ -2662,7 +2693,7 @@ fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 2666 "configure" +#line 2697 "configure" #include "confdefs.h" #include <signal.h> EOF @@ -2679,7 +2710,7 @@ rm -f conftest* fi echo $ac_n "checking if changeword is wanted""... $ac_c" 1>&6 -echo "configure:2683: checking if changeword is wanted" >&5 +echo "configure:2714: 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" @@ -2698,7 +2729,7 @@ 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 +echo "configure:2733: 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" @@ -2710,82 +2741,213 @@ 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 + for ac_func in dlopen dlsym dlclose +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:2748: 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 2722 "configure" +#line 2753 "configure" #include "confdefs.h" -#include <dlfcn.h> +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } EOF -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 +if { (eval echo configure:2776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + eval "ac_cv_func_$ac_func=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" + eval "ac_cv_func_$ac_func=no" fi rm -f conftest* fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = 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 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + + if test "$ac_cv_func_dlopen" = yes; then + MODULE_O=module.o + MODULES_DIR=modules + fi + + echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 +echo "configure:2806: checking for dlopen in -ldl" >&5 +ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext <<EOF -#line 2749 "configure" + ac_save_LIBS="$LIBS" +LIBS="-ldl $LIBS" +cat > conftest.$ac_ext <<EOF +#line 2814 "configure" #include "confdefs.h" -#include <dlfcn.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen(); + int main() { -(void)dlopen(0, RTLD_NOW) +dlopen() ; return 0; } EOF -if { (eval echo configure:2756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* - ac_cv_func_dlopen_libdl=yes + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_func_dlopen_libdl=no + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* -fi +LIBS="$ac_save_LIBS" -echo "$ac_t""$ac_cv_func_dlopen_libdl" 1>&6 +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + HAVE_LIBDL=true 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 + if test "$HAVE_LIBDL" = true; then + LIBS="$LIBS -ldl" + MODULE_O=module.o + MODULES_DIR=modules cat >> confdefs.h <<\EOF -#define WITH_MODULES 1 +#define HAVE_DLOPEN 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 + + SHARED_EXT=.so + + if test "${MODULES_DIR}" = ""; then + echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 +echo "configure:2859: checking for shl_load in -ldld" >&5 +ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldld $LIBS" +cat > conftest.$ac_ext <<EOF +#line 2867 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load(); + +int main() { +shl_load() +; return 0; } +EOF +if { (eval echo configure:2878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + HAVE_LIBDLD=true +else + echo "$ac_t""no" 1>&6 +fi + + if test "$HAVE_LIBDLD" = true; then + LIBS="$LIBS -ldld" + MODULE_O=module.o + MODULES_DIR=modules + SHARED_EXT=.O + cat >> confdefs.h <<\EOF +#define USE_SHL_LOAD 1 +EOF + + fi + fi + + if test "$MODULES_DIR"; then + SHARED_LD=ld + DASH_SHARED="" + case "$host_os" in + sunos4*) DASH_SHARED=-Bdynamic ;; + linux*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;; + winnt*) SHARED_LD=./make-dll; SHARED_EXT=.dll; DLLDFLAGS=-rdynamic ;; + osf*) DASH_SHARED=-shared; SHARED_LD=$CC ;; + irix*) DASH_SHARED=-shared; SHARED_LD=$CC ;; + bsdi*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;; + freebsd*) DASH_SHARED=-Bshareable; SHARED_LD='$(LD) 2>/dev/null';; + solaris*) + # If both the GNU compiler and linker are installed, then we need + # to add special options in order to compile the modules. + if test "$GCC" = "yes"; then + DASH_SHARED=-shared; GCC_FPIC=-fpic; + SHARED_LD='$(CC)'; DLLDFLAGS="-Xlinker -E"; + else + DASH_SHARED=-G; + fi + ;; + aix*) DLLDFLAGS="-bexpall -brtl" ;; + + hpux*) DASH_SHARED="-b -E" GCC_FPIC=-fpic DLLDFLAGS="-Xlinker -E" ;; + esac + fi + + + + + + + + + + + MODULE_PATH="${pkglibexecdir}" + fi echo $ac_n "checking if extended and fractional arithmetic is wanted""... $ac_c" 1>&6 -echo "configure:2789: checking if extended and fractional arithmetic is wanted" >&5 +echo "configure:2951: 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" @@ -2800,17 +2962,17 @@ fi LIBS="$LIBS -lgmp" ac_safe=`echo "gmp.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gmp.h""... $ac_c" 1>&6 -echo "configure:2804: checking for gmp.h" >&5 +echo "configure:2966: 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 2809 "configure" +#line 2971 "configure" #include "confdefs.h" #include <gmp.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2814: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2827,19 +2989,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:2831: checking for mpq_init in libgmp" >&5 +echo "configure:2993: 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 2836 "configure" +#line 2998 "configure" #include "confdefs.h" #include <gmp.h> int main() { mpq_t x; (void)mpq_init(x) ; return 0; } EOF -if { (eval echo configure:2843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_mpq_init_libgmp=yes else @@ -2872,7 +3034,7 @@ EOF if test "$use_gmp" != yes; then echo $ac_n "checking size of long long int""... $ac_c" 1>&6 -echo "configure:2876: checking size of long long int" >&5 +echo "configure:3038: 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 @@ -2880,7 +3042,7 @@ else ac_cv_sizeof_long_long_int=0 else cat > conftest.$ac_ext <<EOF -#line 2884 "configure" +#line 3046 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -2891,7 +3053,7 @@ main() exit(0); } EOF -if { (eval echo configure:2895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3057: \"$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 @@ -2914,7 +3076,7 @@ EOF echo $ac_n "checking if malloc debugging is wanted""... $ac_c" 1>&6 -echo "configure:2918: checking if malloc debugging is wanted" >&5 +echo "configure:3080: 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" @@ -2935,21 +3097,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2939: checking for inline" >&5 +echo "configure:3101: 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 2946 "configure" +#line 3108 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:2953: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3115: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2975,12 +3137,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2979: checking for off_t" >&5 +echo "configure:3141: 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 2984 "configure" +#line 3146 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3011,17 +3173,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:3015: checking for $ac_hdr" >&5 +echo "configure:3177: 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 3020 "configure" +#line 3182 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3025: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3187: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3050,12 +3212,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3054: checking for $ac_func" >&5 +echo "configure:3216: 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 3059 "configure" +#line 3221 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3078,7 +3240,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3103,7 +3265,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3107: checking for working mmap" >&5 +echo "configure:3269: 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 @@ -3111,7 +3273,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <<EOF -#line 3115 "configure" +#line 3277 "configure" #include "confdefs.h" /* Thanks to Mike Haertel and Jim Avera for this test. @@ -3251,7 +3413,7 @@ main() } EOF -if { (eval echo configure:3255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3417: \"$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 @@ -3279,17 +3441,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:3283: checking for $ac_hdr" >&5 +echo "configure:3445: 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 3288 "configure" +#line 3450 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3293: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3319,12 +3481,12 @@ done strdup __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3323: checking for $ac_func" >&5 +echo "configure:3485: 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 3328 "configure" +#line 3490 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3347,7 +3509,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3376,12 +3538,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3380: checking for $ac_func" >&5 +echo "configure:3542: 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 3385 "configure" +#line 3547 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3404,7 +3566,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3438,19 +3600,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3442: checking for LC_MESSAGES" >&5 +echo "configure:3604: 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 3447 "configure" +#line 3609 "configure" #include "confdefs.h" #include <locale.h> int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3471,7 +3633,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3475: checking whether NLS is requested" >&5 +echo "configure:3637: 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" @@ -3491,7 +3653,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3495: checking whether included gettext is requested" >&5 +echo "configure:3657: 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" @@ -3510,17 +3672,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3514: checking for libintl.h" >&5 +echo "configure:3676: 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 3519 "configure" +#line 3681 "configure" #include "confdefs.h" #include <libintl.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3686: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3537,19 +3699,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:3541: checking for gettext in libc" >&5 +echo "configure:3703: 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 3546 "configure" +#line 3708 "configure" #include "confdefs.h" #include <libintl.h> int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3565,7 +3727,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:3569: checking for bindtextdomain in -lintl" >&5 +echo "configure:3731: 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 @@ -3573,7 +3735,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <<EOF -#line 3577 "configure" +#line 3739 "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 @@ -3584,7 +3746,7 @@ int main() { bindtextdomain() ; return 0; } EOF -if { (eval echo configure:3588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3750: \"$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 @@ -3600,7 +3762,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:3604: checking for gettext in -lintl" >&5 +echo "configure:3766: 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 @@ -3608,7 +3770,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <<EOF -#line 3612 "configure" +#line 3774 "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 @@ -3619,7 +3781,7 @@ int main() { gettext() ; return 0; } EOF -if { (eval echo configure:3623: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3785: \"$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 @@ -3656,7 +3818,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:3660: checking for $ac_word" >&5 +echo "configure:3822: 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 @@ -3690,12 +3852,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3694: checking for $ac_func" >&5 +echo "configure:3856: 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 3699 "configure" +#line 3861 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3718,7 +3880,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3745,7 +3907,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:3749: checking for $ac_word" >&5 +echo "configure:3911: 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 @@ -3777,7 +3939,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:3781: checking for $ac_word" >&5 +echo "configure:3943: 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 @@ -3809,7 +3971,7 @@ else fi cat > conftest.$ac_ext <<EOF -#line 3813 "configure" +#line 3975 "configure" #include "confdefs.h" int main() { @@ -3817,7 +3979,7 @@ extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:3821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3840,7 +4002,7 @@ fi if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:3844: checking whether catgets can be used" >&5 +echo "configure:4006: 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" @@ -3853,7 +4015,7 @@ fi if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:3857: checking for main in -li" >&5 +echo "configure:4019: 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 @@ -3861,14 +4023,14 @@ else ac_save_LIBS="$LIBS" LIBS="-li $LIBS" cat > conftest.$ac_ext <<EOF -#line 3865 "configure" +#line 4027 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:3872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4034: \"$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 @@ -3896,12 +4058,12 @@ else fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:3900: checking for catgets" >&5 +echo "configure:4062: 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 3905 "configure" +#line 4067 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char catgets(); below. */ @@ -3924,7 +4086,7 @@ catgets(); ; return 0; } EOF -if { (eval echo configure:3928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_catgets=yes" else @@ -3946,7 +4108,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:3950: checking for $ac_word" >&5 +echo "configure:4112: 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 @@ -3978,7 +4140,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:3982: checking for $ac_word" >&5 +echo "configure:4144: 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 @@ -4011,7 +4173,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:4015: checking for $ac_word" >&5 +echo "configure:4177: 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 @@ -4046,7 +4208,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:4050: checking for $ac_word" >&5 +echo "configure:4212: 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 @@ -4104,7 +4266,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:4108: checking for $ac_word" >&5 +echo "configure:4270: 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 @@ -4138,7 +4300,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:4142: checking for $ac_word" >&5 +echo "configure:4304: 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 @@ -4170,7 +4332,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:4174: checking for $ac_word" >&5 +echo "configure:4336: 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 @@ -4263,7 +4425,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4267: checking for catalogs to be installed" >&5 +echo "configure:4429: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4291,17 +4453,17 @@ echo "configure:4267: 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:4295: checking for linux/version.h" >&5 +echo "configure:4457: 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 4300 "configure" +#line 4462 "configure" #include "confdefs.h" #include <linux/version.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4305: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4467: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4509,6 +4671,12 @@ s%@AUTOMAKE@%$AUTOMAKE%g s%@AUTOHEADER@%$AUTOHEADER%g s%@MAKEINFO@%$MAKEINFO%g s%@SET_MAKE@%$SET_MAKE%g +s%@pkglibexecdir@%$pkglibexecdir%g +s%@host@%$host%g +s%@host_alias@%$host_alias%g +s%@host_cpu@%$host_cpu%g +s%@host_vendor@%$host_vendor%g +s%@host_os@%$host_os%g s%@AWK@%$AWK%g s%@CC@%$CC%g s%@RANLIB@%$RANLIB%g @@ -4519,6 +4687,15 @@ s%@ANSI2KNR@%$ANSI2KNR%g s%@ALLOCA@%$ALLOCA%g s%@LIBOBJS@%$LIBOBJS%g s%@STACKOVF@%$STACKOVF%g +s%@SHARED_LD@%$SHARED_LD%g +s%@DASH_SHARED@%$DASH_SHARED%g +s%@MODULE_O@%$MODULE_O%g +s%@MODULES_DIR@%$MODULES_DIR%g +s%@DLLDFLAGS@%$DLLDFLAGS%g +s%@SHARED_EXT@%$SHARED_EXT%g +s%@OS_NAME@%$OS_NAME%g +s%@GCC_FPIC@%$GCC_FPIC%g +s%@MODULE_PATH@%$MODULE_PATH%g s%@USE_NLS@%$USE_NLS%g s%@MSGFMT@%$MSGFMT%g s%@GMSGFMT@%$GMSGFMT%g diff --git a/configure.in b/configure.in index d894cce7..3ce8879e 100644 --- a/configure.in +++ b/configure.in @@ -8,9 +8,14 @@ AC_INIT(src/m4.c) AM_CONFIG_HEADER(config.h) AC_ARG_PROGRAM -AM_INIT_AUTOMAKE(m4,1.4k) +AM_INIT_AUTOMAKE(m4,1.4l) ALL_LINGUAS="de fr it ja nl pl ru sv" +pkglibexecdir='${libexecdir}'/$PACKAGE +AC_SUBST(pkglibexecdir) + +AC_CANONICAL_HOST + AC_PROG_AWK AC_PROG_CC AC_PROG_INSTALL diff --git a/doc/Makefile.in b/doc/Makefile.in index fc2a11a8..b269b55c 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -57,12 +57,17 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ +DASH_SHARED = @DASH_SHARED@ DATADIRNAME = @DATADIRNAME@ +DLLDFLAGS = @DLLDFLAGS@ +GCC_FPIC = @GCC_FPIC@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -75,17 +80,24 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODULES_DIR = @MODULES_DIR@ +MODULE_O = @MODULE_O@ +MODULE_PATH = @MODULE_PATH@ MSGFMT = @MSGFMT@ +OS_NAME = @OS_NAME@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SHARED_EXT = @SHARED_EXT@ +SHARED_LD = @SHARED_LD@ STACKOVF = @STACKOVF@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ +pkglibexecdir = @pkglibexecdir@ info_TEXINFOS = m4.texinfo diff --git a/doc/m4.info b/doc/m4.info index 4050b0e3..b50ce0bf 100644 --- a/doc/m4.info +++ b/doc/m4.info @@ -27,91 +27,91 @@ translation approved by the Foundation. Indirect: m4.info-1: 973 -m4.info-2: 49988 -m4.info-3: 97906 +m4.info-2: 50118 +m4.info-3: 99015 Tag Table: (Indirect) Node: Top973 -Node: Preliminaries6931 -Node: Intro7656 -Node: History9264 -Node: Invoking m410179 -Node: Bugs17044 -Node: Manual18245 -Node: Syntax19612 -Node: Names20450 -Node: Quoted strings21063 -Node: Other tokens21647 -Node: Comments21864 -Node: Input processing22551 -Node: Macros23704 -Node: Invocation24197 -Node: Inhibiting Invocation25008 -Node: Macro Arguments28153 -Node: Quoting Arguments29468 -Node: Macro expansion30273 -Node: Definitions30936 -Node: Define31713 -Node: Arguments33267 -Node: Pseudo Arguments34748 -Node: Undefine36599 -Node: Defn37261 -Node: Pushdef38731 -Node: Indir40790 -Node: Builtin41568 -Node: Conditionals42012 -Node: Ifdef42719 -Node: Ifelse43488 -Node: Loops45270 -Node: Debugging48562 -Node: Dumpdef49140 -Node: Trace49988 -Node: Debug Levels51367 -Node: Debug Output53753 -Node: Input Control54273 -Node: Dnl54886 -Node: Changequote56012 -Node: Changecom57376 -Node: Changesyntax58662 -Node: Changeword64932 -Node: M4wrap68167 -Node: File Inclusion69369 -Node: Include69685 -Node: Search Path71704 -Node: Diversions72491 -Node: Divert73728 -Node: Undivert74860 -Node: Divnum76831 -Node: Cleardiv77376 -Node: Text handling78431 -Node: Len79151 -Node: Index79549 -Node: Regexp80134 -Node: Substr81225 -Node: Translit81845 -Node: Patsubst83288 -Node: Format85379 -Node: Arithmetic86941 -Node: Incr87398 -Node: Eval87902 -Node: UNIX commands91508 -Node: Syscmd91979 -Node: Esyscmd92692 -Node: Sysval93640 -Node: Maketemp94045 -Node: Miscellaneous95103 -Node: Errprint95534 -Node: M4exit96516 -Node: Syncoutput97314 -Node: Frozen files97906 -Node: Compatibility102825 -Node: Extensions103441 -Node: Incompatibilities105911 -Node: Other Incompat106353 -Node: Experiments108518 -Node: Answers110025 -Node: Concept index110657 -Node: Macro index118078 +Node: Preliminaries7061 +Node: Intro7786 +Node: History9394 +Node: Invoking m410309 +Node: Bugs17174 +Node: Manual18375 +Node: Syntax19742 +Node: Names20580 +Node: Quoted strings21193 +Node: Other tokens21777 +Node: Comments21994 +Node: Input processing22681 +Node: Macros23834 +Node: Invocation24327 +Node: Inhibiting Invocation25138 +Node: Macro Arguments28283 +Node: Quoting Arguments29598 +Node: Macro expansion30403 +Node: Definitions31066 +Node: Define31843 +Node: Arguments33397 +Node: Pseudo Arguments34878 +Node: Undefine36729 +Node: Defn37391 +Node: Pushdef38861 +Node: Indir40920 +Node: Builtin41698 +Node: Conditionals42142 +Node: Ifdef42849 +Node: Ifelse43618 +Node: Loops45400 +Node: Debugging48692 +Node: Dumpdef49270 +Node: Trace50118 +Node: Debug Levels51497 +Node: Debug Output53883 +Node: Input Control54403 +Node: Dnl55016 +Node: Changequote56142 +Node: Changecom57506 +Node: Changesyntax58792 +Node: Changeword66041 +Node: M4wrap69276 +Node: File Inclusion70478 +Node: Include70794 +Node: Search Path72813 +Node: Diversions73600 +Node: Divert74837 +Node: Undivert75969 +Node: Divnum77940 +Node: Cleardiv78485 +Node: Text handling79540 +Node: Len80260 +Node: Index80658 +Node: Regexp81243 +Node: Substr82334 +Node: Translit82954 +Node: Patsubst84397 +Node: Format86488 +Node: Arithmetic88050 +Node: Incr88507 +Node: Eval89011 +Node: UNIX commands92617 +Node: Syscmd93088 +Node: Esyscmd93801 +Node: Sysval94749 +Node: Maketemp95154 +Node: Miscellaneous96212 +Node: Errprint96643 +Node: M4exit97625 +Node: Syncoutput98423 +Node: Frozen files99015 +Node: Compatibility103934 +Node: Extensions104550 +Node: Incompatibilities107020 +Node: Other Incompat107462 +Node: Experiments109627 +Node: Answers111134 +Node: Concept index111766 +Node: Macro index119187 End Tag Table diff --git a/doc/m4.info-1 b/doc/m4.info-1 index 935bd1e3..30964413 100644 --- a/doc/m4.info-1 +++ b/doc/m4.info-1 @@ -42,9 +42,11 @@ 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.4k. It is now to be considered stable, future -releases are only meant to fix bugs, increase speed, or improve -documentation. However... + This is BETA release 1.4l. This is a development release, and is as +such prone to bugs, crashes, unforeseen features, incomplete +documentation, ... therefore, use at your own peril. In case of +problems, please do not hesitate to report them (see the README file in +the distribution). * Menu: diff --git a/doc/m4.info-2 b/doc/m4.info-2 index 7dd516ee..5d87818f 100644 --- a/doc/m4.info-2 +++ b/doc/m4.info-2 @@ -353,6 +353,10 @@ operating system decided, now you do. "Active" Characters that themselves, alone, form macro names. No default. +"Escape" + Characters that must precede macro names for them to be + recognised. No default. + Each character can, besides the basic syntax category, have some syntax attributes. These are: @@ -405,6 +409,9 @@ characters are given the syntax code. `O' Other +`@' + Escape + `A' Active @@ -462,6 +469,40 @@ changing the syntax categories we can avoid it. It is not yet possible to redefine the `$' used to indicate macro arguments in user defined macros. + Macro calls can be given a TeX- or texinfo like syntax using an +escape. If one or more characters are defined as escapes macro names +are only recognised if preceded by an escape character. + + If the escape is not followed by what is normally a word (a letter +optionally followed by letters and/or numerals), that single character +is returned as a macro name. + + As always, words without a macro definition cause no error message. +They and the escape character are simply output. + + define(`foo', `bar') + => + changesyntax(`@@') + => + foo + =>foo + @foo + =>bar + @changesyntax(`@\', `O@') + => + foo + =>foo + @foo + =>@foo + \foo + =>bar + define(`#', `No comment') + =>define(#, No comment) + \define(`#', `No comment') + => + \# \foo # Comment \foo + =>No comment bar # Comment \foo + Active characters are known from TeX. In `m4' a active character is always seen as a one-letter word, and so, if it has a macro definition, the macro will be called. diff --git a/doc/m4.texinfo b/doc/m4.texinfo index a5ae162a..dcc6a2da 100644 --- a/doc/m4.texinfo +++ b/doc/m4.texinfo @@ -7,6 +7,8 @@ @include version.texi +@set beta + @ifinfo @format START-INFO-DIR-ENTRY @@ -86,9 +88,19 @@ subsequent changes by Fran@,{c}ois Pinard and other volunteers on the Internet. All names and email addresses can be found in the file @file{THANKS} from the GNU @code{m4} distribution. +@ifclear beta This is release @value{VERSION}. It is now to be considered stable, future releases are only meant to fix bugs, increase speed, or improve documentation. However@dots{} +@end ifclear + +@ifset beta +This is BETA release @value{VERSION}. This is a development release, +and is as such prone to bugs, crashes, unforeseen features, incomplete +documentation, @dots{} therefore, use at your own peril. In case of +problems, please do not hesitate to report them (see the README file in +the distribution). +@end ifset @menu * Preliminaries:: Introduction and preliminaries @@ -2043,6 +2055,10 @@ Default is all characters expect those in the categories above. @item Active Characters that themselves, alone, form macro names. No default. +@item Escape +Characters that must precede macro names for them to be recognised. No +default. + @end table @noindent @@ -2100,6 +2116,8 @@ Close parenthesis Argument separator @item O Other +@item @@ +Escape @item A Active @item L @@ -2164,6 +2182,42 @@ test(a, b, c) It is not yet possible to redefine the @samp{$} used to indicate macro arguments in user defined macros. +Macro calls can be given a @TeX{}- or texinfo like syntax using an +escape. If one or more characters are defined as escapes macro names +are only recognised if preceded by an escape character. + +If the escape is not followed by what is normally a word (a letter +optionally followed by letters and/or numerals), that single character +is returned as a macro name. + +As always, words without a macro definition cause no error message. +They and the escape character are simply output. + +@example +define(`foo', `bar') +@result{} +changesyntax(`@@@@') +@result{} +foo +@result{}foo +@@foo +@result{}bar +@@changesyntax(`@@\', `O@@') +@result{} +foo +@result{}foo +@@foo +@result{}@@foo +\foo +@result{}bar +define(`#', `No comment') +@result{}define(#, No comment) +\define(`#', `No comment') +@result{} +\# \foo # Comment \foo +@result{}No comment bar # Comment \foo +@end example + Active characters are known from @TeX{}. In @code{m4} a active character is always seen as a one-letter word, and so, if it has a macro definition, the macro will be called. diff --git a/doc/stamp-vti b/doc/stamp-vti index 1363e26e..ad9a762f 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,3 +1,3 @@ -@set UPDATED 11 October 1998 -@set EDITION 1.4k -@set VERSION 1.4k +@set UPDATED 14 November 1998 +@set EDITION 1.4l +@set VERSION 1.4l diff --git a/doc/version.texi b/doc/version.texi index 1363e26e..ad9a762f 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,3 +1,3 @@ -@set UPDATED 11 October 1998 -@set EDITION 1.4k -@set VERSION 1.4k +@set UPDATED 14 November 1998 +@set EDITION 1.4l +@set VERSION 1.4l diff --git a/examples/Makefile.in b/examples/Makefile.in index e43dfe10..75e40c51 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -57,12 +57,17 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ +DASH_SHARED = @DASH_SHARED@ DATADIRNAME = @DATADIRNAME@ +DLLDFLAGS = @DLLDFLAGS@ +GCC_FPIC = @GCC_FPIC@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -75,18 +80,25 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODULES_DIR = @MODULES_DIR@ +MODULE_O = @MODULE_O@ +MODULE_PATH = @MODULE_PATH@ MSGFMT = @MSGFMT@ +OS_NAME = @OS_NAME@ PACKAGE = @PACKAGE@ PERL = @PERL@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SHARED_EXT = @SHARED_EXT@ +SHARED_LD = @SHARED_LD@ STACKOVF = @STACKOVF@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ +pkglibexecdir = @pkglibexecdir@ EXTRA_DIST = $(pkgdata_DATA) $(TESTS) defs mktests.sh diff --git a/lib/Makefile.in b/lib/Makefile.in index 4f6e7de1..a670c0fa 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -57,12 +57,17 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ +DASH_SHARED = @DASH_SHARED@ DATADIRNAME = @DATADIRNAME@ +DLLDFLAGS = @DLLDFLAGS@ +GCC_FPIC = @GCC_FPIC@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -75,18 +80,25 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODULES_DIR = @MODULES_DIR@ +MODULE_O = @MODULE_O@ +MODULE_PATH = @MODULE_PATH@ MSGFMT = @MSGFMT@ +OS_NAME = @OS_NAME@ PACKAGE = @PACKAGE@ PERL = @PERL@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SHARED_EXT = @SHARED_EXT@ +SHARED_LD = @SHARED_LD@ STACKOVF = @STACKOVF@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ +pkglibexecdir = @pkglibexecdir@ noinst_LIBRARIES = libm4.a diff --git a/modules/Makefile.am b/modules/Makefile.am index 01ef5c23..d3103f14 100644 --- a/modules/Makefile.am +++ b/modules/Makefile.am @@ -1,9 +1,9 @@ -noinst_PROGRAMS = test.so time.so +pkglibexec_PROGRAMS = test time stdlib -test_so_SOURCES = test.c -time_so_SOURCES = time.c - -EXTRA_DIST = test.m4 time.m4 +noinst_DATA = test.m4 time.m4 stdlib.m4 INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib -LDFLAGS = -shared + +CFLAGS = @GCC_FPIC@ +LD = @SHARED_LD@ +LDFLAGS = @DASH_SHARED@ diff --git a/modules/Makefile.in b/modules/Makefile.in index d4b9b5be..5527d879 100644 --- a/modules/Makefile.in +++ b/modules/Makefile.in @@ -57,12 +57,17 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ +DASH_SHARED = @DASH_SHARED@ DATADIRNAME = @DATADIRNAME@ +DLLDFLAGS = @DLLDFLAGS@ +GCC_FPIC = @GCC_FPIC@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -75,48 +80,63 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODULES_DIR = @MODULES_DIR@ +MODULE_O = @MODULE_O@ +MODULE_PATH = @MODULE_PATH@ MSGFMT = @MSGFMT@ +OS_NAME = @OS_NAME@ PACKAGE = @PACKAGE@ PERL = @PERL@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SHARED_EXT = @SHARED_EXT@ +SHARED_LD = @SHARED_LD@ STACKOVF = @STACKOVF@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ +pkglibexecdir = @pkglibexecdir@ -noinst_PROGRAMS = test.so time.so +pkglibexec_PROGRAMS = test time stdlib -test_so_SOURCES = test.c -time_so_SOURCES = time.c - -EXTRA_DIST = test.m4 time.m4 +noinst_DATA = test.m4 time.m4 stdlib.m4 INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib -LDFLAGS = -shared + +CFLAGS = @GCC_FPIC@ +LD = @SHARED_LD@ +LDFLAGS = @DASH_SHARED@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = -PROGRAMS = $(noinst_PROGRAMS) +PROGRAMS = $(pkglibexec_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@ +test_SOURCES = test.c +test_OBJECTS = test.o +test_LDADD = $(LDADD) +test_DEPENDENCIES = +test_LDFLAGS = +time_SOURCES = time.c +time_OBJECTS = time.o +time_LDADD = $(LDADD) +time_DEPENDENCIES = +time_LDFLAGS = +stdlib_SOURCES = stdlib.c +stdlib_OBJECTS = stdlib.o +stdlib_LDADD = $(LDADD) +stdlib_DEPENDENCIES = +stdlib_LDFLAGS = COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +DATA = $(noinst_DATA) + DIST_COMMON = README Makefile.am Makefile.in TODO @@ -124,30 +144,48 @@ 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) +SOURCES = test.c time.c stdlib.c +OBJECTS = test.o time.o stdlib.o -all: Makefile $(PROGRAMS) +all: Makefile $(PROGRAMS) $(DATA) .SUFFIXES: .SUFFIXES: .S .c .o .s $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu modules/Makefile + cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps modules/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status -mostlyclean-noinstPROGRAMS: +mostlyclean-pkglibexecPROGRAMS: + +clean-pkglibexecPROGRAMS: + -test -z "$(pkglibexec_PROGRAMS)" || rm -f $(pkglibexec_PROGRAMS) + +distclean-pkglibexecPROGRAMS: -clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) +maintainer-clean-pkglibexecPROGRAMS: -distclean-noinstPROGRAMS: +install-pkglibexecPROGRAMS: $(pkglibexec_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir) + @list='$(pkglibexec_PROGRAMS)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + else :; fi; \ + done -maintainer-clean-noinstPROGRAMS: +uninstall-pkglibexecPROGRAMS: + @$(NORMAL_UNINSTALL) + list='$(pkglibexec_PROGRAMS)'; for p in $$list; do \ + rm -f $(DESTDIR)$(pkglibexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + done + +.c.o: + $(COMPILE) -c $< .s.o: $(COMPILE) -c $< @@ -165,13 +203,17 @@ distclean-compile: 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) +test: $(test_OBJECTS) $(test_DEPENDENCIES) + @rm -f test + $(LINK) $(test_LDFLAGS) $(test_OBJECTS) $(test_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) +time: $(time_OBJECTS) $(time_DEPENDENCIES) + @rm -f time + $(LINK) $(time_LDFLAGS) $(time_OBJECTS) $(time_LDADD) $(LIBS) + +stdlib: $(stdlib_OBJECTS) $(stdlib_DEPENDENCIES) + @rm -f stdlib + $(LINK) $(stdlib_LDFLAGS) $(stdlib_OBJECTS) $(stdlib_LDADD) $(LIBS) tags: TAGS @@ -203,46 +245,17 @@ 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: +install-exec: install-pkglibexecPROGRAMS @$(NORMAL_INSTALL) install-data: @@ -251,11 +264,12 @@ install-data: install: install-exec install-data all @: -uninstall: +uninstall: uninstall-pkglibexecPROGRAMS install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install installdirs: + $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir) mostlyclean-generic: @@ -267,31 +281,30 @@ distclean-generic: -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 +mostlyclean: mostlyclean-pkglibexecPROGRAMS mostlyclean-compile \ + mostlyclean-tags mostlyclean-generic -clean: clean-noinstPROGRAMS clean-compile clean-tags clean-depend \ - clean-generic mostlyclean +clean: clean-pkglibexecPROGRAMS clean-compile clean-tags clean-generic \ + mostlyclean -distclean: distclean-noinstPROGRAMS distclean-compile distclean-tags \ - distclean-depend distclean-generic clean +distclean: distclean-pkglibexecPROGRAMS distclean-compile \ + distclean-tags distclean-generic clean -rm -f config.status -maintainer-clean: maintainer-clean-noinstPROGRAMS \ +maintainer-clean: maintainer-clean-pkglibexecPROGRAMS \ maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-depend maintainer-clean-generic \ - distclean + 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 \ +.PHONY: mostlyclean-pkglibexecPROGRAMS distclean-pkglibexecPROGRAMS \ +clean-pkglibexecPROGRAMS maintainer-clean-pkglibexecPROGRAMS \ +uninstall-pkglibexecPROGRAMS install-pkglibexecPROGRAMS \ 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 \ +clean-tags maintainer-clean-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 diff --git a/modules/README b/modules/README index 93e7bbb1..50155b7c 100644 --- a/modules/README +++ b/modules/README @@ -2,9 +2,8 @@ This directory contains demonstration modules for GNU m4. Nothing in this directory is built by default. -Dynamic modules is a experimental feature of GNU m4, and might change or -disappear altogether in future versions. Currently it has only been -certified to work under Linux 2.0. +Dynamic modules is a experimental feature of GNU m4. 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 @@ -17,13 +16,16 @@ then compiled. The compiled file can then be loaded into a running m4 process by calling the builtin "loadmodule". This will give GNU m4 access to any system feature with a C interface. +Modules are searched for in M4MODPATH, if set, and in a module directory +defined at configure time, default /usr/local/libexec/m4. + 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. +wanting. Each module should include the two header files ../src/m4.h and ../src/builtin.h. These will include <ctype.h>, <stdio.h>, @@ -60,3 +62,4 @@ 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/TODO b/modules/TODO new file mode 100644 index 00000000..c5d7ec4d --- /dev/null +++ b/modules/TODO @@ -0,0 +1,3 @@ +The file src/m4.h will have to be split to have an installable m4defs.h +suitable for modules. Modules should be compilable without have the m4 +source available. diff --git a/modules/stdlib.c b/modules/stdlib.c new file mode 100644 index 00000000..6ba8556d --- /dev/null +++ b/modules/stdlib.c @@ -0,0 +1,293 @@ +/* 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 <pwd.h> +#include <stdlib.h> +#include <unistd.h> +#include <time.h> +#include <sys/utsname.h> +#include <sys/types.h> + +DECLARE(m4_getcwd); +DECLARE(m4_getlogin); +DECLARE(m4_getpid); +DECLARE(m4_getppid); +DECLARE(m4_getuid); +DECLARE(m4_getpwnam); +DECLARE(m4_getpwuid); +DECLARE(m4_hostname); +DECLARE(m4_rand); +DECLARE(m4_srand); +DECLARE(m4_getenv); +DECLARE(m4_setenv); +DECLARE(m4_unsetenv); +DECLARE(m4_uname); + +#undef DECLARE + +builtin m4_macro_table[] = +{ + /* name GNUext macros blind function */ + { "getcwd", TRUE, FALSE, FALSE, m4_getcwd }, + { "getenv", TRUE, FALSE, TRUE, m4_getenv }, + { "setenv", TRUE, FALSE, TRUE, m4_setenv }, + { "unsetenv", TRUE, FALSE, TRUE, m4_unsetenv }, + { "getlogin", TRUE, FALSE, FALSE, m4_getlogin }, + { "getpid", TRUE, FALSE, FALSE, m4_getpid }, + { "getppid", TRUE, FALSE, FALSE, m4_getppid }, + { "getpwnam", TRUE, FALSE, TRUE, m4_getpwnam }, + { "getpwuid", TRUE, FALSE, TRUE, m4_getpwuid }, + { "getuid", TRUE, FALSE, FALSE, m4_getuid }, + { "hostname", TRUE, FALSE, FALSE, m4_hostname }, + { "rand", TRUE, FALSE, FALSE, m4_rand }, + { "srand", TRUE, FALSE, FALSE, m4_srand }, + { "uname", TRUE, FALSE, FALSE, m4_uname }, + { 0, FALSE, FALSE, FALSE, 0 }, +}; + + + +static void +m4_getcwd (struct obstack *obs, int argc, token_data **argv) +{ + char buf[1024]; + char *bp; + int l; + + if (bad_argc (argv[0], argc, 1, 1)) + return; + + bp = getcwd(buf, sizeof buf); + + if (bp != NULL) /* in case of error return null string */ + shipout_string (obs, buf, 0 , FALSE); +} + +static void +m4_getenv (struct obstack *obs, int argc, token_data **argv) +{ + char *env; + + if (bad_argc (argv[0], argc, 2, 2)) + return; + + env = getenv(ARG(1)); + + if (env != NULL) + shipout_string (obs, env, 0, FALSE); +} + +static void +m4_setenv (struct obstack *obs, int argc, token_data **argv) +{ + char *env; + int overwrite = 1; + + if (bad_argc (argv[0], argc, 3, 4)) + return; + + if (argc == 4) + if (!numeric_arg(argv[0], ARG(3), &overwrite)) + return; + + setenv(ARG(1), ARG(2), overwrite); +} + +static void +m4_unsetenv (struct obstack *obs, int argc, token_data **argv) +{ + char *env; + + if (bad_argc (argv[0], argc, 2, 2)) + return; + + unsetenv(ARG(1)); +} + +static void +m4_getlogin (struct obstack *obs, int argc, token_data **argv) +{ + char *login; + + if (bad_argc (argv[0], argc, 1, 1)) + return; + + login = getlogin(); + + if (login != NULL) + shipout_string (obs, login, 0, FALSE); +} + +static void +m4_getpid (struct obstack *obs, int argc, token_data **argv) +{ + if (bad_argc (argv[0], argc, 1, 1)) + return; + + shipout_int(obs, getpid()); +} + +static void +m4_getppid (struct obstack *obs, int argc, token_data **argv) +{ + if (bad_argc (argv[0], argc, 1, 1)) + return; + + shipout_int(obs, getppid()); +} + +static void +m4_getpwnam (struct obstack *obs, int argc, token_data **argv) +{ + struct passwd *pw; + + if (bad_argc (argv[0], argc, 2, 2)) + return; + + pw = getpwnam(ARG(1)); + + if (pw != NULL) + { + shipout_string (obs, pw->pw_name, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, pw->pw_passwd, 0, TRUE); + obstack_1grow (obs, ','); + shipout_int(obs, pw->pw_uid); + obstack_1grow (obs, ','); + shipout_int(obs, pw->pw_gid); + obstack_1grow (obs, ','); + shipout_string (obs, pw->pw_gecos, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, pw->pw_dir, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, pw->pw_shell, 0, TRUE); + } +} + +static void +m4_getpwuid (struct obstack *obs, int argc, token_data **argv) +{ + struct passwd *pw; + int uid; + + if (bad_argc (argv[0], argc, 2, 2)) + return; + + if (!numeric_arg(argv[0], ARG(1), &uid)) + return; + + pw = getpwuid(uid); + + if (pw != NULL) + { + shipout_string (obs, pw->pw_name, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, pw->pw_passwd, 0, TRUE); + obstack_1grow (obs, ','); + shipout_int(obs, pw->pw_uid); + obstack_1grow (obs, ','); + shipout_int(obs, pw->pw_gid); + obstack_1grow (obs, ','); + shipout_string (obs, pw->pw_gecos, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, pw->pw_dir, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, pw->pw_shell, 0, TRUE); + } +} + +static void +m4_hostname (struct obstack *obs, int argc, token_data **argv) +{ + char buf[1024]; + + if (bad_argc (argv[0], argc, 1, 1)) + return; + + if (gethostname(buf, sizeof buf) < 0) + return; + + shipout_string (obs, buf, 0, FALSE); +} + +static void +m4_rand (struct obstack *obs, int argc, token_data **argv) +{ + int i; + + if (bad_argc (argv[0], argc, 1, 1)) + return; + + shipout_int(obs, rand()); +} + +static void +m4_srand (struct obstack *obs, int argc, token_data **argv) +{ + char buf[64]; + int seed; + + if (bad_argc (argv[0], argc, 1, 2)) + return; + + if (argc == 1) + seed = time(0L) * getpid(); + else + { + if (!numeric_arg(argv[0], ARG(1), &seed)) + return; + } + + srand(seed); +} + +static void +m4_uname (struct obstack *obs, int argc, token_data **argv) +{ + struct utsname ut; + + if (bad_argc (argv[0], argc, 1, 1)) + return; + + if (uname(&ut) == 0) + { + shipout_string (obs, ut.sysname, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, ut.nodename, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, ut.release, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, ut.machine, 0, TRUE); + obstack_1grow (obs, ','); + shipout_string (obs, ut.domainname, 0, TRUE); + } +} + +static void +m4_getuid (struct obstack *obs, int argc, token_data **argv) +{ + int i; + + if (bad_argc (argv[0], argc, 1, 1)) + return; + + shipout_int(obs, getuid()); +} diff --git a/modules/stdlib.m4 b/modules/stdlib.m4 new file mode 100644 index 00000000..a023643d --- /dev/null +++ b/modules/stdlib.m4 @@ -0,0 +1,41 @@ +loadmodule(`stdlib') + +`getenv - 'getenv(PATH) + +setenv TEST=??? setenv(`TEST', `???') +getenv TEST - getenv(`TEST') + +setenv TEST=Second test setenv(`TEST', `Second test') +getenv TEST - getenv(`TEST') + +unsetenv TEST unsetenv(`TEST') +getenv TEST - getenv(`TEST') + + + +`getlogin - 'getlogin +`getcwd = 'getcwd +`getpid - 'getpid +`getppid - 'getppid + +syscmd(`ps ajx|grep m4') + +`getuid - 'getuid + +user root - getpwnam(`root') +user sync - getpwnam(`sync') +user rene - getpwnam(`rene') + +uid 5 - getpwuid(5) +me - getpwuid(getuid) + +`hostname = 'hostname + +`rand' - rand,rand,rand,rand +`srand' srand +`rand' - rand,rand,rand,rand +`srand' srand +`rand' - rand,rand,rand,rand + +`uname - ' uname + diff --git a/modules/test.m4 b/modules/test.m4 index f8486578..a411306c 100644 --- a/modules/test.m4 +++ b/modules/test.m4 @@ -1,3 +1,3 @@ -loadmodule(`test.so') +loadmodule(`test') test Dumpdef: dumpdef(`test') diff --git a/modules/time.m4 b/modules/time.m4 index e87f6bdf..21a4b7be 100644 --- a/modules/time.m4 +++ b/modules/time.m4 @@ -1,4 +1,4 @@ -loadmodule(`time.so') +loadmodule(`time') `currenttime' = currenttime `ctime' = ctime != ctime(eval(currenttime+60*60*24)) Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4.3\n" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" "PO-Revision-Date: 1996-09-30 10:38 GMT+0100\n" "Last-Translator: Martin von Löwis <martin@mira.isdn.cs.tu-berlin.de>\n" "Language-Team: German <de@li.org>\n" @@ -14,102 +14,102 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" -#: src/builtin.c:328 +#: src/builtin.c:329 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "Warnung: Zu wenig Argumente für eingebaute Funktion `%s'" -#: src/builtin.c:334 +#: src/builtin.c:335 #, 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:362 +#: src/builtin.c:363 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Nicht-numerisches Argument in eingebauter Funktion `%s'" -#: src/builtin.c:461 +#: src/builtin.c:474 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "INTERNER FEHLER: Falscher Datentyp des Tokens in define_macro ()" -#: src/builtin.c:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, c-format msgid "Undefined name %s" msgstr "Name %s nicht definiert" -#: src/builtin.c:684 +#: src/builtin.c:697 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "INTERNER FEHLER: Eingebaute Funktion nicht in Tabelle gefunden!" -#: src/builtin.c:692 +#: src/builtin.c:705 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "INTERNER FEHLER: Falscher Datentyp des Tokens in m4_dumpdef ()" -#: src/builtin.c:743 +#: src/builtin.c:756 #, c-format msgid "Undefined macro `%s'" msgstr "Makro `%s' nicht definiert" -#: src/builtin.c:783 +#: src/builtin.c:794 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "INTERNER FEHLER: Falscher Symboltyp in m4_defn ()" -#: src/builtin.c:849 +#: src/builtin.c:860 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kann keine `pipe' für Kommando `%s' öffnen" -#: src/builtin.c:886 +#: src/builtin.c:897 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Basis in `eval' nicht in den Grenzen (Basis = %d)" -#: src/builtin.c:895 +#: src/builtin.c:906 msgid "Negative width to eval" msgstr "Negative Breite in `eval'" -#: src/builtin.c:987 +#: src/builtin.c:998 #, c-format msgid "Non-numeric argument to %s" msgstr "Nicht-numerisches Argument in %s" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, c-format msgid "Cannot undivert %s" msgstr "Kann Umleitung %s nicht aufheben" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Name %s nicht definiert" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Kann %s nicht öffnen" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debug Modus: falsche Debug Flags: `%s'" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, c-format msgid "Cannot set error file: %s" msgstr "Kann Fehlerdatei nicht vorbereiten: %s" -#: src/builtin.c:1657 +#: src/builtin.c:1671 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "WARNUNG: \\0 wird wegfallen, benutze \\& stattdessen" -#: src/builtin.c:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Falscher regulärer Ausdruck `%s': %s" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, c-format msgid "Error matching regular expression `%s'" msgstr "Fehler beim Erkennen des regulären Ausdrucks `%s'" @@ -202,41 +202,41 @@ msgstr "" "`%s' aus eingefrorener Datei nicht in Tabelle der eingebauten Funktionen " "gefunden!" -#: src/input.c:309 +#: src/input.c:315 #, c-format msgid "Input reverted to %s, line %d" msgstr "Eingabe zurückgenommen zu %s, Zeile %d" -#: src/input.c:337 +#: src/input.c:343 #, c-format msgid "Input read from %s" msgstr "Eingabe gelesen von %s" -#: src/input.c:497 +#: src/input.c:503 msgid "INTERNAL ERROR: Recursive push_string!" msgstr "INTERNER FEHLER: Rekursives push_string!" -#: src/input.c:614 +#: src/input.c:620 msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "INTERNER FEHLER: Falscher Aufruf von init_macro_token ()" -#: src/input.c:654 +#: src/input.c:660 msgid "INTERNAL ERROR: Input stack botch in next_char ()" msgstr "" "INTERNER FEHLER: Kellerspeicher der Eingabe durcheinander in next_char ()" -#: src/input.c:691 +#: src/input.c:697 msgid "INTERNAL ERROR: Input stack botch in peek_input ()" msgstr "" "INTERNER FEHLER: Kellerspeicher der Eingabe durcheinander in peek_input ()" # This is the name of the input file when there is no current input file. # Is this ever printed in a message? -#: src/input.c:794 +#: src/input.c:800 msgid "NONE" msgstr "NONE" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 msgid "ERROR: EOF in string" msgstr "FEHLER: Dateiende in Zeichenkette" @@ -396,29 +396,29 @@ msgstr "Falsche Debug Flags: `%s'" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "INTERNER FEHLER: Falscher Kode in zurückgestellten Argumenten" -#: src/macro.c:93 +#: src/macro.c:97 msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "INTERNER FEHLER: Falscher Datentyp des Tokens in expands_token ()" -#: src/macro.c:159 +#: src/macro.c:163 msgid "ERROR: EOF in argument list" msgstr "FEHLER: Dateiende in Argumentliste" -#: src/macro.c:178 +#: src/macro.c:182 msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "INTERNER FEHLER: Falscher Typ des Tokens in expand_argument ()" -#: src/macro.c:255 +#: src/macro.c:259 msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "INTERNER FEHLER: Falsche Symboltyp in call_macro ()" -#: src/macro.c:284 +#: src/macro.c:288 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it" msgstr "" "FEHLER: Grenze der Rekursion von %d überschritten, benutze -L<N> zur Änderung" -#: src/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -443,12 +443,12 @@ msgstr "FEHLER: Während Lesen einer eingefügten Datei" msgid "Cannot stat diversion" msgstr "Kann `stat' nicht auf Umleitung anwenden" -#: src/path.c:166 +#: src/path.c:170 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Pfad für Suche nach `%s' hat `%s' gefunden" -#: src/path.c:248 +#: src/path.c:253 #, fuzzy, c-format msgid "Module search for `%s' found `%s'" msgstr "Pfad für Suche nach `%s' hat `%s' gefunden" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst <Erick.Branderhorst@asml.nl>\n" "Language-Team: dutch <nl@li.org>\n" @@ -15,102 +15,102 @@ msgstr "" "Content-Type: text/plain; charset=\n" "Content-Transfer-Encoding: 8-bit\n" -#: src/builtin.c:328 +#: src/builtin.c:329 #, 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:334 +#: src/builtin.c:335 #, 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:362 +#: src/builtin.c:363 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Argument non-numérique pour «%s» prédéfini" -#: src/builtin.c:461 +#: src/builtin.c:474 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "ERREUR INTERNE: Mauvais type de lexčme dans define_macro ()" -#: src/builtin.c:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, c-format msgid "Undefined name %s" msgstr "Nom «%s» non-défini" -#: src/builtin.c:684 +#: src/builtin.c:697 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:692 +#: src/builtin.c:705 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:743 +#: src/builtin.c:756 #, c-format msgid "Undefined macro `%s'" msgstr "Macro «%s» non-défini" -#: src/builtin.c:783 +#: src/builtin.c:794 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "ERREUR INTERNE: Mauvais type de symbole dans m4_defn ()" -#: src/builtin.c:849 +#: src/builtin.c:860 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Incapable d'ouvrir un «pipe» pour la commande «%s»" -#: src/builtin.c:886 +#: src/builtin.c:897 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Base hors intervalle dans «eval» (base = %d)" -#: src/builtin.c:895 +#: src/builtin.c:906 msgid "Negative width to eval" msgstr "Largeur négative dans «eval»" -#: src/builtin.c:987 +#: src/builtin.c:998 #, c-format msgid "Non-numeric argument to %s" msgstr "Argument non-numérique pour %s" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, c-format msgid "Cannot undivert %s" msgstr "Incapble de ramener la diversion %s" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Nom «%s» non-défini" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Incapable d'ouvrir %s" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: mauvais indicateurs de mise-au-point: «%s»" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, c-format msgid "Cannot set error file: %s" msgstr "Incapable de préparer le fichier d'erreurs: %s" -#: src/builtin.c:1657 +#: src/builtin.c:1671 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" "ATTENTION: \\\\0 disparaîtra, utiliser \\\\& plutôt pour les remplacements" -#: src/builtin.c:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Mauvaise expression réguličre «%s»: %s" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, c-format msgid "Error matching regular expression `%s'" msgstr "Erreur d'appariement pour l'expressio réguličre «%s»" @@ -203,37 +203,37 @@ msgid "`%s' from frozen file not found in builtin table!" msgstr "" "«%s» dans le fichier figé est introuvable dans la table des prédéfinis!" -#: src/input.c:309 +#: src/input.c:315 #, c-format msgid "Input reverted to %s, line %d" msgstr "Entrée reprise de %s, ligne %d" -#: src/input.c:337 +#: src/input.c:343 #, c-format msgid "Input read from %s" msgstr "Entrée lue de %s" -#: src/input.c:497 +#: src/input.c:503 msgid "INTERNAL ERROR: Recursive push_string!" msgstr "ERREUR INTERNE: Utilisation récursive de push_string!" -#: src/input.c:614 +#: src/input.c:620 msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "ERREUR INTERNE: Mauvais appel ŕ init_macro_token ()" -#: src/input.c:654 +#: src/input.c:660 msgid "INTERNAL ERROR: Input stack botch in next_char ()" msgstr "ERREUR INTERNE: Pile d'entrée douteuse dans next_char ()" -#: src/input.c:691 +#: src/input.c:697 msgid "INTERNAL ERROR: Input stack botch in peek_input ()" msgstr "ERREUR INTERNE: Pile d'entrée douteuse dans peek_input ()" -#: src/input.c:794 +#: src/input.c:800 msgid "NONE" msgstr "AUCUN" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 msgid "ERROR: EOF in string" msgstr "ERREUR: Fin-de-fichier dans la chaîne" @@ -392,29 +392,29 @@ msgstr "Mauvais indicateurs de mise-au-point: «%s»" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "ERREUR INTERNE: Mauvais code dans les arguments différés" -#: src/macro.c:93 +#: src/macro.c:97 msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "ERREUR: Débordement de pile. (Récursion hors contrôle sur «define»?)" -#: src/macro.c:159 +#: src/macro.c:163 msgid "ERROR: EOF in argument list" msgstr "ERREUR: Fin-de-fichier dans la liste d'arguments" -#: src/macro.c:178 +#: src/macro.c:182 msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "" "ERREUR INTERNE: Mauvais type de données pour lexčme dans expand_argument ()" -#: src/macro.c:255 +#: src/macro.c:259 msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "ERREUR INTERNE: Mauvais type de symbole dans call_macro ()" -#: src/macro.c:284 +#: src/macro.c:288 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it" msgstr "ERREUR: Limite de récursion %d dépassée, la changer par -L<N>" -#: src/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -439,12 +439,12 @@ 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:166 +#: src/path.c:170 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La fouille du chemin pour «%s» trouve «%s»" -#: src/path.c:248 +#: src/path.c:253 #, fuzzy, c-format msgid "Module search for `%s' found `%s'" msgstr "La fouille du chemin pour «%s» trouve «%s»" Binary files differ@@ -1,6 +1,6 @@ msgid "" msgstr "" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" "Version: \n" "Date: 1995-06-30 21:00:12+0200\n" "From: Ulrich Drepper <drepper@myware>\n" @@ -12,103 +12,103 @@ msgstr "" "Files: ../lib/regex.c ../lib/xmalloc.c\n" "Update on Fri Jun 30 21:00:27 MET 1995 \n" -#: src/builtin.c:328 +#: src/builtin.c:329 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "Attenzione: Troppo pochi argomenti per la funzione predefinita `%s'" -#: src/builtin.c:334 +#: src/builtin.c:335 #, 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:362 +#: src/builtin.c:363 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Argumento non numerico a funzione predefinita `%s'" -#: src/builtin.c:461 +#: src/builtin.c:474 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "ERRORE INTERNO: Tipo dato `token' errato in define_macro ()" -#: src/builtin.c:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, c-format msgid "Undefined name %s" msgstr "Nome `%s' non definito" -#: src/builtin.c:684 +#: src/builtin.c:697 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "" -#: src/builtin.c:692 +#: src/builtin.c:705 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "" -#: src/builtin.c:743 +#: src/builtin.c:756 #, c-format msgid "Undefined macro `%s'" msgstr "Macro `%s' non definita" -#: src/builtin.c:783 +#: src/builtin.c:794 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "ERRORE INTERNO: Tipo simbolo errato in m4_defn ()" -#: src/builtin.c:849 +#: src/builtin.c:860 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Impossibile aprire una `pipe' per il comando `%s'" -#: src/builtin.c:886 +#: src/builtin.c:897 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Base fuori intervallo in `eval' (base = %d)" -#: src/builtin.c:895 +#: src/builtin.c:906 msgid "Negative width to eval" msgstr "Larghezza negativa in `eval'" -#: src/builtin.c:987 +#: src/builtin.c:998 #, c-format msgid "Non-numeric argument to %s" msgstr "Argumento non numerico a %s" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, c-format msgid "Cannot undivert %s" msgstr "Impossibile ripristinare la deviazione %s" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Nome `%s' non definito" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Impossibile aprire %s" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Modalitŕ di debug: indicatori di debug errati: `%s'" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, c-format msgid "Cannot set error file: %s" msgstr "Impossibile aprire l' archivio di errore: %s" -#: src/builtin.c:1657 +#: src/builtin.c:1671 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" -#: src/builtin.c:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Espressione regolare errata `%s': %s" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, c-format msgid "Error matching regular expression `%s'" msgstr "Errore nel confronto dell' espressione regolare `%s'" @@ -197,37 +197,37 @@ msgstr "Fine prematura dell' archivio congelato" msgid "`%s' from frozen file not found in builtin table!" msgstr "" -#: src/input.c:309 +#: src/input.c:315 #, c-format msgid "Input reverted to %s, line %d" msgstr "Ingresso ripristinato su %s, linea %d" -#: src/input.c:337 +#: src/input.c:343 #, c-format msgid "Input read from %s" msgstr "Errore di lettura da %s" -#: src/input.c:497 +#: src/input.c:503 msgid "INTERNAL ERROR: Recursive push_string!" msgstr "ERRORE INTERNO: Utilizzo ricorsivo di push_string!" -#: src/input.c:614 +#: src/input.c:620 msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "ERRORE INTERNO: Chiamata errata a init_macro_token ()" -#: src/input.c:654 +#: src/input.c:660 msgid "INTERNAL ERROR: Input stack botch in next_char ()" msgstr "ERRORE INTERNO: Stack di ingresso corrotto in next_char ()" -#: src/input.c:691 +#: src/input.c:697 msgid "INTERNAL ERROR: Input stack botch in peek_input ()" msgstr "ERRORE INTERNO: Stack di ingresso corrotto in peek_input ()" -#: src/input.c:794 +#: src/input.c:800 msgid "NONE" msgstr "NESSUNO" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 msgid "ERROR: EOF in string" msgstr "ERRORE: Fine prematura di una stringa" @@ -332,28 +332,28 @@ msgstr "Indicatori di debug errati: `%s'" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "ERRORE INTERNO: Codice errato in argomenti differiti" -#: src/macro.c:93 +#: src/macro.c:97 msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "ERRORE INTERNO: Tipo `token' errato in expand_token ()" -#: src/macro.c:159 +#: src/macro.c:163 msgid "ERROR: EOF in argument list" msgstr "ERRORE: Fine prematura della lista di argomenti" -#: src/macro.c:178 +#: src/macro.c:182 msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "" -#: src/macro.c:255 +#: src/macro.c:259 msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "ERRORE INTERNO: Tipo simbolo errato in call_macro ()" -#: src/macro.c:284 +#: src/macro.c:288 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it" msgstr "" -#: src/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -378,12 +378,12 @@ msgstr "ERRORE: Leggendo archivio inserito" msgid "Cannot stat diversion" msgstr "Impossibile effettuare la `stat' per la deviazione" -#: src/path.c:166 +#: src/path.c:170 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La ricerca del percorso per `%s' ha trovato `%s'" -#: src/path.c:248 +#: src/path.c:253 #, fuzzy, c-format msgid "Module search for `%s' found `%s'" msgstr "La ricerca del percorso per `%s' ha trovato `%s'" Binary files differ@@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita <matusita@sra.co.jp>\n" "Language-Team: Japanese <ja@li.org>\n" @@ -13,101 +13,101 @@ msgstr "" "Content-Type: text/plain; charset=EUC\n" "Content-Transfer-Encoding: 8-bit\n" -#: src/builtin.c:328 +#: src/builtin.c:329 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "·Ůąđˇ§%s ¤Ř¤Î°úżô¤¬ÉÔ¤·¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/builtin.c:334 +#: src/builtin.c:335 #, c-format msgid "Warning: Excess arguments to built-in `%s' ignored" msgstr "·Ůąđˇ§%s ¤Ř¤Î°úżô¤¬Âż˛á¤®¤Ţ¤ą (Ķ¤¨¤żĘ¬¤Ď̵»ë¤µ¤ě¤Ţ¤ą)ˇŁ" -#: src/builtin.c:362 +#: src/builtin.c:363 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "`%s' ¤Ëżô»ú¤Ç¤Ę¤¤°úżô¤¬ĹϤµ¤ě¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/builtin.c:461 +#: src/builtin.c:474 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô define_macro () Ćâ¤ÎĄČˇĽĄŻĄóĄÇˇĽĄż¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/builtin.c:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, c-format msgid "Undefined name %s" msgstr "`%s' ¤ĎÄęµÁ¤µ¤ě¤Ć¤¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:684 +#: src/builtin.c:697 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§`Built-in' ¤Č¤¤¤¦ĄÓĄëĄČĄ¤ĄóĄŢĄŻĄí¤Ď¤˘¤ę¤Ţ¤»¤óˇŁ" -#: src/builtin.c:692 +#: src/builtin.c:705 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô m4_dumpdef () ¤ÎĄČˇĽĄŻĄóĄÇˇĽĄż¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/builtin.c:743 +#: src/builtin.c:756 #, c-format msgid "Undefined macro `%s'" msgstr "ĄŢĄŻĄí `%s' ¤ĎÄęµÁ¤µ¤ě¤Ć¤¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:783 +#: src/builtin.c:794 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô m4_defn () Ćâ¤ÎĄ·ĄóĄÜĄë¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/builtin.c:849 +#: src/builtin.c:860 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "ĄłĄŢĄóĄÉ `%s' ¤Ř¤ÎĄŃĄ¤Ą×¤¬ĄŞˇĽĄ×Ąó¤Ç¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:886 +#: src/builtin.c:897 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "eval ¤Î´đżô ( %d żĘˡ) ¤Î·ĺżô¤¬µöÍĆČĎ°Ďł°¤Ë¤˘¤ę¤Ţ¤ąˇŁ" -#: src/builtin.c:895 +#: src/builtin.c:906 msgid "Negative width to eval" msgstr "eval ¤Î˝ĐÎĎ·ĺżô¤¬Ééżô¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/builtin.c:987 +#: src/builtin.c:998 #, c-format msgid "Non-numeric argument to %s" msgstr "`%s' ¤Ëżô»ú¤Ç¤Ę¤¤°úżô¤¬ĹϤµ¤ě¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, c-format msgid "Cannot undivert %s" msgstr "`%s' ¤ň undivert ¤Ç¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "`%s' ¤ĎÄęµÁ¤µ¤ě¤Ć¤¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "`%s' ¤ňĄŞˇĽĄ×Ąó¤Ç¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "debugmode ĄŢĄŻĄí¤Ë¤Ş¤¤¤Ć %s ¤ĎÉÔŔµ¤ĘĄÇĄĐĄĂĄ°ĄŞĄ×Ą·ĄçĄó¤Ç¤ąˇŁ" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, c-format msgid "Cannot set error file: %s" msgstr "`%s' ¤ňĄ¨ĄéˇĽĄíĄ°ĄŐĄˇĄ¤Ąë¤Č¤·¤ĆĄ»ĄĂĄČ¤Ç¤¤Ţ¤»¤óˇŁ" -#: src/builtin.c:1657 +#: src/builtin.c:1671 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "·Ůąđˇ§\\0 ¤ĎµěĽ°¤ÎÍŃˡ¤Ç¤ąˇŁ\\& ¤ňÂĺ¤ď¤ę¤Ë»Č¤Ă¤Ć˛Ľ¤µ¤¤ˇŁ" -#: src/builtin.c:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, c-format msgid "Bad regular expression `%s': %s" msgstr "`%s' : %s ¤Ďˇ˘ÉÔŔµ¤ĘŔµµ¬É˝¸˝¤Ç¤ąˇŁ" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, c-format msgid "Error matching regular expression `%s'" msgstr "Ŕµµ¬É˝¸˝ %s ¤ÎĄŢĄĂĄÁĄóĄ°¤ËĽşÇÔ¤·¤Ţ¤·¤żˇŁ" @@ -203,37 +203,37 @@ msgstr "Ĺŕ·ëĄŐĄˇĄ¤Ąë¤Î EOF ¤¬Á᤯Íč˛á¤®¤Ć¤¤¤Ţ¤ąˇŁ" msgid "`%s' from frozen file not found in builtin table!" msgstr "Ĺŕ·ëĄŐĄˇĄ¤Ąë¤Î %s ¤ĎĄÓĄëĄČĄ¤ĄóĄłĄŢĄóĄÉ¤ÎĄĆˇĽĄÖĄë¤Ë¤Ď¤˘¤ę¤Ţ¤»¤óˇŁ" -#: src/input.c:309 +#: src/input.c:315 #, c-format msgid "Input reverted to %s, line %d" msgstr "ĄŐĄˇĄ¤Ąë %s, %d ąÔĚܤ«¤éĆţÎϤ·Äľ¤·¤Ţ¤ąˇŁ" -#: src/input.c:337 +#: src/input.c:343 #, c-format msgid "Input read from %s" msgstr "%s ¤«¤é¤ÎĆţÎϤňĆɤ߹ţ¤ß¤Ţ¤ąˇŁ" -#: src/input.c:497 +#: src/input.c:503 msgid "INTERNAL ERROR: Recursive push_string!" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§şĆµ˘ĹޤËʸ»úÎó¤ň push ¤·¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/input.c:614 +#: src/input.c:620 msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô init_macro_token () ¤¬ÉÔŔµ¤Ë¸Ć¤Đ¤ě¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/input.c:654 +#: src/input.c:660 msgid "INTERNAL ERROR: Input stack botch in next_char ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô next_char () Ćâ¤ÇĄąĄżĄĂĄŻ¤ÎĆţÎϤ˼şÇÔ¤·¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/input.c:691 +#: src/input.c:697 msgid "INTERNAL ERROR: Input stack botch in peek_input ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô peek_input () Ćâ¤ÇĄąĄżĄĂĄŻ¤ÎĆţÎϤ˼şÇÔ¤·¤Ć¤¤¤Ţ¤ąˇŁ" -#: src/input.c:794 +#: src/input.c:800 msgid "NONE" msgstr "¤Ę¤·" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 msgid "ERROR: EOF in string" msgstr "Ą¨ĄéˇĽ: ʸ»úÎóĆâ¤ËĄŐĄˇĄ¤Ąë¤Î˝ŞĂĽµąć¤¬¤˘¤ę¤Ţ¤ąˇŁ" @@ -402,30 +402,30 @@ msgstr "`%s' ¤ĎÉÔŔµ¤ĘĄÇĄĐĄĂĄ°ĄŞĄ×Ą·ĄçĄó°úżô¤Ç¤ąˇŁ" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§ĄŞĄ×Ą·ĄçĄó¤Î¸ĺ˝čÍý¤Çˇ˘ÉÔŔµĄłˇĽĄÉ¤¬¸ˇ˝Đ¤µ¤ě¤Ţ¤·¤żˇŁ" -#: src/macro.c:93 +#: src/macro.c:97 msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô expand_token () Ćâ¤ÎĄČˇĽĄŻĄó¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/macro.c:159 +#: src/macro.c:163 msgid "ERROR: EOF in argument list" msgstr "Ą¨ĄéˇĽ: °úżôĄęĄąĄČĆâ¤ËĄŐĄˇĄ¤Ąë¤Î˝ŞĂĽµąć¤¬¤˘¤ę¤Ţ¤ąˇŁ" -#: src/macro.c:178 +#: src/macro.c:182 msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô expand_argument () ¤ÎĄČˇĽĄŻĄó¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/macro.c:255 +#: src/macro.c:259 msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "ĆâÉôĄ¨ĄéˇĽˇ§´Řżô call_macro () Ćâ¤ÎĄ·ĄóĄÜĄë¤ÎĽďÎबÉÔŔµ¤Ç¤ąˇŁ" -#: src/macro.c:284 +#: src/macro.c:288 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it" msgstr "" "Ą¨ĄéˇĽˇ§şĆµ˘ĹŞÄęµÁ¤ÎĄÍĄąĄČ¤¬»ŘÄꤵ¤ě¤żĂÍ %d ¤ňĶ¤¨¤Ć¤¤¤Ţ¤ąˇŁ\n" " -L<żô»ú> ĄŞĄ×Ą·ĄçĄó¤ňÍѤ¤¤ĆĄÍĄąĄČżô¤Îľĺ¸Â¤ňÁý¤ä¤·¤Ć˛Ľ¤µ¤¤ˇŁ" -#: src/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -452,12 +452,12 @@ msgstr "" "divert ¤Î¤ż¤á¤ÎĄŐĄˇĄ¤Ąë¤ÎĄąĄĆˇĽĄżĄą¤ňĆŔ¤ë¤ł¤Č¤¬¤Ç¤¤Ţ¤»¤óˇŁ\n" " (stat ¤Ç¤¤Ţ¤»¤óˇŁ)" -#: src/path.c:166 +#: src/path.c:170 #, c-format msgid "Path search for `%s' found `%s'" msgstr "`%s' ¤Č¤¤¤¦ĄÇĄŁĄěĄŻĄČĄę¤«¤é `%s' ¤Č¤¤¤¦ĄŐĄˇĄ¤Ąë¤ň¸«¤Ä¤±¤Ţ¤·¤żˇŁ" -#: src/path.c:248 +#: src/path.c:253 #, fuzzy, c-format msgid "Module search for `%s' found `%s'" msgstr "`%s' ¤Č¤¤¤¦ĄÇĄŁĄěĄŻĄČĄę¤«¤é `%s' ¤Č¤¤¤¦ĄŐĄˇĄ¤Ąë¤ň¸«¤Ä¤±¤Ţ¤·¤żˇŁ" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -14,101 +14,101 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" -#: src/builtin.c:328 +#: src/builtin.c:329 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "" -#: src/builtin.c:334 +#: src/builtin.c:335 #, c-format msgid "Warning: Excess arguments to built-in `%s' ignored" msgstr "" -#: src/builtin.c:362 +#: src/builtin.c:363 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "" -#: src/builtin.c:461 +#: src/builtin.c:474 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "" -#: src/builtin.c:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, c-format msgid "Undefined name %s" msgstr "" -#: src/builtin.c:684 +#: src/builtin.c:697 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "" -#: src/builtin.c:692 +#: src/builtin.c:705 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "" -#: src/builtin.c:743 +#: src/builtin.c:756 #, c-format msgid "Undefined macro `%s'" msgstr "" -#: src/builtin.c:783 +#: src/builtin.c:794 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "" -#: src/builtin.c:849 +#: src/builtin.c:860 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "" -#: src/builtin.c:886 +#: src/builtin.c:897 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "" -#: src/builtin.c:895 +#: src/builtin.c:906 msgid "Negative width to eval" msgstr "" -#: src/builtin.c:987 +#: src/builtin.c:998 #, c-format msgid "Non-numeric argument to %s" msgstr "" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, c-format msgid "Cannot undivert %s" msgstr "" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, c-format msgid "Undefined syntax code %c" msgstr "" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, c-format msgid "Cannot set error file: %s" msgstr "" -#: src/builtin.c:1657 +#: src/builtin.c:1671 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" -#: src/builtin.c:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, c-format msgid "Bad regular expression `%s': %s" msgstr "" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, c-format msgid "Error matching regular expression `%s'" msgstr "" @@ -197,37 +197,37 @@ msgstr "" msgid "`%s' from frozen file not found in builtin table!" msgstr "" -#: src/input.c:309 +#: src/input.c:315 #, c-format msgid "Input reverted to %s, line %d" msgstr "" -#: src/input.c:337 +#: src/input.c:343 #, c-format msgid "Input read from %s" msgstr "" -#: src/input.c:497 +#: src/input.c:503 msgid "INTERNAL ERROR: Recursive push_string!" msgstr "" -#: src/input.c:614 +#: src/input.c:620 msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "" -#: src/input.c:654 +#: src/input.c:660 msgid "INTERNAL ERROR: Input stack botch in next_char ()" msgstr "" -#: src/input.c:691 +#: src/input.c:697 msgid "INTERNAL ERROR: Input stack botch in peek_input ()" msgstr "" -#: src/input.c:794 +#: src/input.c:800 msgid "NONE" msgstr "" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 msgid "ERROR: EOF in string" msgstr "" @@ -332,28 +332,28 @@ msgstr "" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "" -#: src/macro.c:93 +#: src/macro.c:97 msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "" -#: src/macro.c:159 +#: src/macro.c:163 msgid "ERROR: EOF in argument list" msgstr "" -#: src/macro.c:178 +#: src/macro.c:182 msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "" -#: src/macro.c:255 +#: src/macro.c:259 msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "" -#: src/macro.c:284 +#: src/macro.c:288 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it" msgstr "" -#: src/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -378,12 +378,12 @@ msgstr "" msgid "Cannot stat diversion" msgstr "" -#: src/path.c:166 +#: src/path.c:170 #, c-format msgid "Path search for `%s' found `%s'" msgstr "" -#: src/path.c:248 +#: src/path.c:253 #, c-format msgid "Module search for `%s' found `%s'" msgstr "" Binary files differ@@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst <Erick.Branderhorst@asml.nl>\n" "Language-Team: dutch <nl@li.org>\n" @@ -13,102 +13,102 @@ msgstr "" "Content-Type: text/plain; charset=\n" "Content-Transfer-Encoding: 8-bit\n" -#: src/builtin.c:328 +#: src/builtin.c:329 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "Let op: Te weinig argument voor ingebouwde functie `%s'" -#: src/builtin.c:334 +#: src/builtin.c:335 #, 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:362 +#: src/builtin.c:363 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Niet numeriek argument voor ingebouwde functie `%s'" -#: src/builtin.c:461 +#: src/builtin.c:474 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "INTERNE FOUT: Onjuist teken data type in define_macro ()" -#: src/builtin.c:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, c-format msgid "Undefined name %s" msgstr "Ongedefinieerde naam %s" -#: src/builtin.c:684 +#: src/builtin.c:697 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "INTERNE FOUT: Ingebouwde functie niet gevonden in functie tabel!" -#: src/builtin.c:692 +#: src/builtin.c:705 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "INTERNE FOUT: Onjuist teken data type in m4_dumpdef ()" -#: src/builtin.c:743 +#: src/builtin.c:756 #, c-format msgid "Undefined macro `%s'" msgstr "Ongedefinieerde macro `%s'" -#: src/builtin.c:783 +#: src/builtin.c:794 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "INTERNE FOUT: Onjuist symbool type in m4_defn ()" -#: src/builtin.c:849 +#: src/builtin.c:860 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan geen pijp openen voor commando `%s'" -#: src/builtin.c:886 +#: src/builtin.c:897 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Radix in evaluatie buiten bereik (radix = %d)" -#: src/builtin.c:895 +#: src/builtin.c:906 msgid "Negative width to eval" msgstr "Negatieve breedte te evalueren" -#: src/builtin.c:987 +#: src/builtin.c:998 #, c-format msgid "Non-numeric argument to %s" msgstr "Niet numeriek argument voor %s" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, c-format msgid "Cannot undivert %s" msgstr "Cannot undivert %s" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, c-format msgid "Undefined syntax code %c" msgstr "Ongedefinieerde syntax code %c" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Kan %s niet openen" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: onjuiste debug vlaggen: `%s'" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, c-format msgid "Cannot set error file: %s" msgstr "Kan fout bestand niet instellen: %s" -#: src/builtin.c:1657 +#: src/builtin.c:1671 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "LET OP: \\0 zal verdwijnen, gebruik hiervoor \\& als vervanging" -#: src/builtin.c:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Onjuiste reguliere expressie `%s': %s" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, c-format msgid "Error matching regular expression `%s'" msgstr "Fout overeenkomen reguliere expressies `%s'" @@ -199,37 +199,37 @@ msgstr "Voorbarig einde van gefixeerd bestand" msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' van gefixeerd bestand niet gevonden in functie tabel!" -#: src/input.c:309 +#: src/input.c:315 #, c-format msgid "Input reverted to %s, line %d" msgstr "Invoer reverted naar %s, lijn %d" -#: src/input.c:337 +#: src/input.c:343 #, c-format msgid "Input read from %s" msgstr "Invoer gelezen vanuit %s" -#: src/input.c:497 +#: src/input.c:503 msgid "INTERNAL ERROR: Recursive push_string!" msgstr "INTERNE FOUT: Recursieve push_string!" -#: src/input.c:614 +#: src/input.c:620 msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "INTERNE FOUT: Onjuiste aanroep naar init_macro_token ()" -#: src/input.c:654 +#: src/input.c:660 msgid "INTERNAL ERROR: Input stack botch in next_char ()" msgstr "INTERNE FOUT: Invoer stapel botch in next_char ()" -#: src/input.c:691 +#: src/input.c:697 msgid "INTERNAL ERROR: Input stack botch in peek_input ()" msgstr "INTERNE FOUT: Invoer stapel botch in peek_input ()" -#: src/input.c:794 +#: src/input.c:800 msgid "NONE" msgstr "GEEN" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 msgid "ERROR: EOF in string" msgstr "FOUT: Einde van bestand teken in string" @@ -388,29 +388,29 @@ msgstr "Onjuiste debug vlaggen: `%s'" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "INTERNE FOUT: Onjuiste code in afgeleide argumenten" -#: src/macro.c:93 +#: src/macro.c:97 msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "INTERNE FOUT: Onjuist teken type in expand_token ()" -#: src/macro.c:159 +#: src/macro.c:163 msgid "ERROR: EOF in argument list" msgstr "FOUT: Einde van bestand teken in argumentenlijst" -#: src/macro.c:178 +#: src/macro.c:182 msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "INTERNE FOUT: Onjuist teken type in expand_argument ()" -#: src/macro.c:255 +#: src/macro.c:259 msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "INTERNE FOUT: Onjuist symbool type in call_macro ()" -#: src/macro.c:284 +#: src/macro.c:288 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it" msgstr "" "FOUT: Recursie limiet of %d overschreden, gebruik -L<N> om dit te wijzigen" -#: src/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -435,12 +435,12 @@ msgstr "FOUT: Lezen ingevoegd bestand" msgid "Cannot stat diversion" msgstr "Cannot stat diversion" -#: src/path.c:166 +#: src/path.c:170 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Zoeken naar `%s' via PATH levert `%s'" -#: src/path.c:248 +#: src/path.c:253 #, fuzzy, c-format msgid "Module search for `%s' found `%s'" msgstr "Zoeken naar `%s' via PATH levert `%s'" Binary files differ@@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4.3\n" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" "PO-Revision-Date: 1998-08-05 17:30+0200\n" "Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n" "Language-Team: Polish <pl@li.org>\n" @@ -13,101 +13,101 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8-bit\n" -#: src/builtin.c:328 +#: src/builtin.c:329 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "Uwaga: Za mało argumentów dla wbodowanego `%s'" -#: src/builtin.c:334 +#: src/builtin.c:335 #, 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:362 +#: src/builtin.c:363 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Nienumeryczny argument do built-in `%s'" -#: src/builtin.c:461 +#: src/builtin.c:474 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:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, c-format msgid "Undefined name %s" msgstr "Niezdefiniowana nazwa %s" -#: src/builtin.c:684 +#: src/builtin.c:697 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "BŁˇD WEWNĘTRZNY: Wbudowane nie znalezione w tablicy wbudowanych!" -#: src/builtin.c:692 +#: src/builtin.c:705 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:743 +#: src/builtin.c:756 #, c-format msgid "Undefined macro `%s'" msgstr "Niezdefiniowane makro `%s'" -#: src/builtin.c:783 +#: src/builtin.c:794 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "BŁˇD WEWNETRZNY: Zły typ symbolu w m4_defn ()" -#: src/builtin.c:849 +#: src/builtin.c:860 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Nie mogę otworzyć potoku do komendy `%s'" -#: src/builtin.c:886 +#: src/builtin.c:897 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Baza w eval poza zakresem (radix = %d)" -#: src/builtin.c:895 +#: src/builtin.c:906 msgid "Negative width to eval" msgstr "Ujemna długo¶ć w eval" -#: src/builtin.c:987 +#: src/builtin.c:998 #, c-format msgid "Non-numeric argument to %s" msgstr "Nienumeryczny argument dla %s" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, c-format msgid "Cannot undivert %s" msgstr "Nie mogę przetowrzyć z powrotem %s" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Niezdefiniowana nazwa %s" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "Nie mogę otworzyć %s" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Tryb debugowania: złe flagi debugowania: `%s'" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, c-format msgid "Cannot set error file: %s" msgstr "Nie mogę ustawić pliku błędów: %s" -#: src/builtin.c:1657 +#: src/builtin.c:1671 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "UWAGA: \\0 zniknie, w podstawieniach użyj zamiast tego \\&" -#: src/builtin.c:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, c-format msgid "Bad regular expression `%s': %s" msgstr "Błędne wyrażenie regularne `%s': %s" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, c-format msgid "Error matching regular expression `%s'" msgstr "Bł±d dopasowania do wyrażenia regularnego `%s'" @@ -198,37 +198,37 @@ msgstr "Przedwczesny koniec pliku zamrożonego" msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' z pliku zamrożonego nie znalezione w tablicy wbudowanych!" -#: src/input.c:309 +#: src/input.c:315 #, c-format msgid "Input reverted to %s, line %d" msgstr "Dane wej¶ciowe wycofane do %s, linia %d" -#: src/input.c:337 +#: src/input.c:343 #, c-format msgid "Input read from %s" msgstr "Dane wej¶ciowe przeczytane z %s" -#: src/input.c:497 +#: src/input.c:503 msgid "INTERNAL ERROR: Recursive push_string!" msgstr "BŁˇD WEWNĘTRZNY: Rekursywny push_string!" -#: src/input.c:614 +#: src/input.c:620 msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "BŁˇD WEWNĘTRZNY: Błędne wywołanie init_macro_token ()" -#: src/input.c:654 +#: src/input.c:660 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:691 +#: src/input.c:697 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:794 +#: src/input.c:800 msgid "NONE" msgstr "ŻADEN" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 msgid "ERROR: EOF in string" msgstr "BŁˇD: EOF w łańcuchu" @@ -382,28 +382,28 @@ msgstr "Błędne flagi debugowania: `%s'" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "BŁˇD WEWNĘTRZNY: Błędny kod w odłożonych argumentach" -#: src/macro.c:93 +#: src/macro.c:97 msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "BŁˇD WEWNĘTRZNY: Błędny typ tokena w expand_token ()" -#: src/macro.c:159 +#: src/macro.c:163 msgid "ERROR: EOF in argument list" msgstr "BŁˇD: EOF w li¶cie argumentów" -#: src/macro.c:178 +#: src/macro.c:182 msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "BŁˇD WEWNĘTRZNY: Błędny typ tokena w expand_argument ()" -#: src/macro.c:255 +#: src/macro.c:259 msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "BŁˇD WEWNĘTRZNY: Błędny symbol w call_macro ()" -#: src/macro.c:284 +#: src/macro.c:288 #, 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/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -428,12 +428,12 @@ msgstr "BŁˇD: Czytanie włożonego pliku" msgid "Cannot stat diversion" msgstr "Nie mogę zrobić stat na danych przetwarzanych" -#: src/path.c:166 +#: src/path.c:170 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Przeszukanie ¶cieżki dla `%s' znalazło `%s'" -#: src/path.c:248 +#: src/path.c:253 #, fuzzy, c-format msgid "Module search for `%s' found `%s'" msgstr "Przeszukanie ¶cieżki dla `%s' znalazło `%s'" Binary files differ@@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4.3\n" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" "PO-Revision-Date: 1997-07-12 20:58\n" "Last-Translator: Denis Y. Pershin <dyp@siblug.org>\n" "Language-Team: Russian <ru@li.org>\n" @@ -12,103 +12,103 @@ msgstr "" "Content-Type: text/plain; charset=koi8-r\n" "Content-Transfer-Encoding: 8-bit\n" -#: src/builtin.c:328 +#: src/builtin.c:329 #, c-format msgid "Warning: Too few arguments to built-in `%s'" msgstr "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: óĚÉŰËĎÍ ÍÁĚĎ ÁŇÇŐÍĹÎÔĎ× ÄĚŃ ×ÓÔŇĎĹÎÎĎĘ ĚĹËÓĹÍŮ '%s'" -#: src/builtin.c:334 +#: src/builtin.c:335 #, c-format msgid "Warning: Excess arguments to built-in `%s' ignored" msgstr "" "đŇĹÄŐĐŇĹÖÄĹÎÉĹ: éÚÂŮÔĎŢÎŮĹ ÁŇÇŐÍĹÎÔŮ ÄĚŃ ×ÓÔŇĎĹÎÎĎĘ ĚĹËÓĹÍŮ '%s' " "ĐŇĎÉÇÎĎŇÉŇĎ×ÁÎŮ" -#: src/builtin.c:362 +#: src/builtin.c:363 #, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "îĹ ŢÉÓĚĎ×ĎĘ ÁŇÇŐÍĹÎÔ ÄĚŃ ×ÓÔŇĎĹÎÎĎĘ ĚĹËÓĹÍŮ '%s'" -#: src/builtin.c:461 +#: src/builtin.c:474 msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ĚĹËÓĹÍŮ × define_macro ()" -#: src/builtin.c:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, c-format msgid "Undefined name %s" msgstr "éÍŃ %s ÎĹĎĐŇĹÄĹĚĹÎĎ" -#: src/builtin.c:684 +#: src/builtin.c:697 msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "÷îőôňĺîîńń ďűéâëá: ÷ÓÔŇĎĹÎÎÁŃ ĚĹËÓĹÍÁ ÎĹ ÎÁĘÄĹÎÁ!" -#: src/builtin.c:692 +#: src/builtin.c:705 msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ĚĹËÓĹÍŮ × m4_dumpdef ()" -#: src/builtin.c:743 +#: src/builtin.c:756 #, c-format msgid "Undefined macro `%s'" msgstr "îĹĎĐŇĹÄĹĚĹÎÎŮĘ ÍÁËŇĎÓ '%s'" -#: src/builtin.c:783 +#: src/builtin.c:794 msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ÓÉÍ×ĎĚÁ × m4_defn ()" -#: src/builtin.c:849 +#: src/builtin.c:860 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ ËÁÎÁĚ ÄĚŃ ËĎÍÍÁÎÄŮ '%s'" -#: src/builtin.c:886 +#: src/builtin.c:897 #, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "ňÁÄÉËÓ × ×ŮŇÁÖĹÎÉÉ ×ŮČĎÄÉÔ ÚÁ ĐŇĹÄĹĚŮ (radix = %d)" -#: src/builtin.c:895 +#: src/builtin.c:906 msgid "Negative width to eval" msgstr "ďÔŇÉĂÁÔĹĚŘÎÁŃ ŰÉŇÉÎÁ" -#: src/builtin.c:987 +#: src/builtin.c:998 #, c-format msgid "Non-numeric argument to %s" msgstr "îĹ ŢÉÓĚĎ×ĎĘ ÁŇÇŐÍĹÎÔ ÄĚŃ %s" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, c-format msgid "Cannot undivert %s" msgstr "îĹ×ĎÚÍĎÖÎĎ ×ĹŇÎŐÔŘ ×Ů×ĎÄ ÉÚ %s" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "éÍŃ %s ÎĹĎĐŇĹÄĹĚĹÎĎ" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, c-format msgid "Cannot open %s" msgstr "îĹ×ĎÚÍĎÖÎĎ ĎÔËŇŮÔŘ %s" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "ňĹÖÉÍ ĎÔĚÁÄËÉ: ÎĹ×ĹŇÎŮĘ ĆĚÁÇ ĎÔĚÁÄËÉ: '%s'" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, c-format msgid "Cannot set error file: %s" msgstr "îĹ×ĎÚÍĎÖÎĎ ÎÁÚÎÁŢÉÔŘ ĆÁĘĚ ĎŰÉÂĎË %s" -#: src/builtin.c:1657 +#: src/builtin.c:1671 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "đňĺäőđňĺöäĺîéĺ: \\0 ÉÓŢĹÚÎĹÔ, ÉÓĐĎĚŘÚŐĘÔĹ \\& × ÚÁÍĹÎÁČ" -#: src/builtin.c:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, c-format msgid "Bad regular expression `%s': %s" msgstr "îĹ×ĹŇÎĎĹ ŇĹÇŐĚŃŇÎĎĹ ×ŮŇÁÖĹÎÉĹ: '%s': %s" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, c-format msgid "Error matching regular expression `%s'" msgstr "ďŰÉÂËÁ ÓĎĐĎÓÔÁ×ĚĹÎÉŃ ŇĹÇŐĚŃŇÎĎÇĎ ×ŮŇÁÖĹÎÉŃ '%s'" @@ -197,37 +197,37 @@ msgstr "đŇĹÖÄĹ×ŇĹÍĹÎÎŮĘ ËĎÎĹĂ ĆÁĘĚÁ-ĎÂŇÁÚÁ ĐÁÍŃÔÉ" msgid "`%s' from frozen file not found in builtin table!" msgstr "'%s' ÉÚ ĆÁĘĚÁ-ĎÂŇÁÚÁ ĐÁÍŃÔÉ ÎĹ ÎÁĘÄĹÎÁ ×Ď ×ÓÔŇĎĹÎÎĎĘ ÔÁÂĚÉĂĹ!" -#: src/input.c:309 +#: src/input.c:315 #, c-format msgid "Input reverted to %s, line %d" msgstr "÷×ĎÄ ĐĹŇĹÎÁĐŇÁ×ĚĹÎ × %s , ÓÔŇĎËÁ %d" -#: src/input.c:337 +#: src/input.c:343 #, c-format msgid "Input read from %s" msgstr "÷×ĎÄ ÉÚ %s" -#: src/input.c:497 +#: src/input.c:503 msgid "INTERNAL ERROR: Recursive push_string!" msgstr "÷îőôňĺîîńń ďűéâëá: ňĹËŐŇÓÉ×ÎÁŃ push_string!" -#: src/input.c:614 +#: src/input.c:620 msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ×ŮÚĎ× init_macro_token ()" -#: src/input.c:654 +#: src/input.c:660 msgid "INTERNAL ERROR: Input stack botch in next_char ()" msgstr "÷îőôňĺîîńń ďűéâëá: ďŰÉÂËÁ ×ČĎÄÎĎÇĎ ÓÔĹËÁ × next_char ()" -#: src/input.c:691 +#: src/input.c:697 msgid "INTERNAL ERROR: Input stack botch in peek_input ()" msgstr "÷îőôňĺîîńń ďűéâëá: ďŰÉÂËÁ ×ČĎÄÎĎÇĎ ÓÔĹËÁ × peek_input ()" -#: src/input.c:794 +#: src/input.c:800 msgid "NONE" msgstr "îéţĺçď" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 msgid "ERROR: EOF in string" msgstr "ďűéâëá: ëĎÎĹĂ ĆÁĘĚÁ × ÓÔŇĎËĹ" @@ -389,29 +389,29 @@ msgstr "îĹ×ĹŇÎŮĘ ĆĚÁÇ ĎÔĚÁÄËÉ: '%s'" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ËĎÄ × ËĎÓ×ĹÎÎŮČ ÁŇÇŐÍĹÎÔÁČ" -#: src/macro.c:93 +#: src/macro.c:97 msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ĚĹËÓĹÍŮ × expand_token ()" -#: src/macro.c:159 +#: src/macro.c:163 msgid "ERROR: EOF in argument list" msgstr "ďűéâëá: ëĎÎĹĂ ĆÁĘĚÁ × ÓĐÉÓËĹ ÁŇÇŐÍĹÎÔĎ×" -#: src/macro.c:178 +#: src/macro.c:182 msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ĚĹËÓĹÍŮ × expand_argument ()" -#: src/macro.c:255 +#: src/macro.c:259 msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "÷îőôňĺîîńń ďűéâëá: îĹ×ĹŇÎŮĘ ÔÉĐ ÓÉÍ×ĎĚÁ × call_macro ()" -#: src/macro.c:284 +#: src/macro.c:288 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it" msgstr "" "ďűéâëá: ěÉÍÉÔ ŇĹËŐŇÓÉÉ %d ÉÓŢĹŇĐÁÎ, ÉÓĐĎĚŘÚŐĘÔĹ -L<N> ŢÔĎÂŮ ÉÚÍĹÎÉÔŘ ĹÇĎ" -#: src/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -436,12 +436,12 @@ msgstr "ďűéâëá: ţÉÔÁŔ ×ÓÔÁ×ĚĹÎÎŮĘ ĆÁĘĚ" msgid "Cannot stat diversion" msgstr "îĹ×ĎÚÍĎÖÎĎ ĐĎÄÓŢÉÔÁÔŘ ŇÁÚ×ĹÔ×ĚĹÎÉĹ" -#: src/path.c:166 +#: src/path.c:170 #, c-format msgid "Path search for `%s' found `%s'" msgstr "đŐÔŘ ĐĎÉÓËÁ ÄĚŃ `%s' ÎÁĘÄĹÎ `%s'" -#: src/path.c:248 +#: src/path.c:253 #, fuzzy, c-format msgid "Module search for `%s' found `%s'" msgstr "đŐÔŘ ĐĎÉÓËÁ ÄĚŃ `%s' ÎÁĘÄĹÎ `%s'" 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.6 $ +# $Revision: 1.1.1.7 $ # msgid "" msgstr "" "Project-Id-Version: m4 1.4.3\n" -"POT-Creation-Date: 1998-10-13 12:23+0200\n" -"PO-Revision-Date: $Date: 2000/02/17 03:09:46 $\n" +"POT-Creation-Date: 1998-11-15 15:55+0100\n" +"PO-Revision-Date: $Date: 2000/02/17 03:09:57 $\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:328 +#: src/builtin.c:329 #, 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:334 +#: src/builtin.c:335 #, fuzzy, c-format msgid "Warning: Excess arguments to built-in `%s' ignored" msgstr "Varning: Överskottsargument till inbyggt makro \"%s\" ignorerade" -#: src/builtin.c:362 +#: src/builtin.c:363 #, fuzzy, c-format msgid "Non-numeric argument to built-in `%s'" msgstr "Ickenumeriskt argument till inbyggt makro \"%s\"" -#: src/builtin.c:461 +#: src/builtin.c:474 #, fuzzy msgid "INTERNAL ERROR: Bad token data type in define_macro ()" msgstr "INTERNT FEL: Otillĺten lexikalisk datatyp i define_macro ()" -#: src/builtin.c:656 src/builtin.c:719 src/builtin.c:1344 src/builtin.c:1368 +#: src/builtin.c:669 src/builtin.c:732 src/builtin.c:1358 src/builtin.c:1382 #, fuzzy, c-format msgid "Undefined name %s" msgstr "Odefinierat namn \"%s\"" -#: src/builtin.c:684 +#: src/builtin.c:697 #, fuzzy msgid "INTERNAL ERROR: Builtin not found in builtin table!" msgstr "INTERNT FEL: Inbyggt makro finns inte i tabellen!" -#: src/builtin.c:692 +#: src/builtin.c:705 #, fuzzy msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" msgstr "INTERNT FEL: Otillĺten lexikalisk datatyp i m4_dumpdef ()" -#: src/builtin.c:743 +#: src/builtin.c:756 #, fuzzy, c-format msgid "Undefined macro `%s'" msgstr "Odefinierat makro \"%s\"" -#: src/builtin.c:783 +#: src/builtin.c:794 #, fuzzy msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" msgstr "INTERNT FEL: Otillĺten symboltyp i m4_defn ()" -#: src/builtin.c:849 +#: src/builtin.c:860 #, fuzzy, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan inte skapa rör till kommandot \"%s\"" -#: src/builtin.c:886 +#: src/builtin.c:897 #, fuzzy, c-format msgid "Radix in eval out of range (radix = %d)" msgstr "Otillĺten bas i \"eval\" (bas = %d)" -#: src/builtin.c:895 +#: src/builtin.c:906 #, fuzzy msgid "Negative width to eval" msgstr "Negativ bredd till \"eval\"" -#: src/builtin.c:987 +#: src/builtin.c:998 #, fuzzy, c-format msgid "Non-numeric argument to %s" msgstr "Ickenumeriskt argument till %s" -#: src/builtin.c:999 +#: src/builtin.c:1010 #, fuzzy, c-format msgid "Cannot undivert %s" msgstr "Kan inte ĺterleda %s" -#: src/builtin.c:1143 +#: src/builtin.c:1158 #, fuzzy, c-format msgid "Undefined syntax code %c" msgstr "Odefinierat namn \"%s\"" -#: src/builtin.c:1194 src/freeze.c:207 +#: src/builtin.c:1209 src/freeze.c:207 #, fuzzy, c-format msgid "Cannot open %s" msgstr "Kan inte öppna %s" -#: src/builtin.c:1404 +#: src/builtin.c:1418 #, fuzzy, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Felsökningsläge: okänd flagga: \"%s\"" -#: src/builtin.c:1440 +#: src/builtin.c:1454 #, fuzzy, c-format msgid "Cannot set error file: %s" msgstr "Kan inte sätta felutskriftsfil: %s" -#: src/builtin.c:1657 +#: src/builtin.c:1671 #, 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:1718 src/builtin.c:1778 src/input.c:982 +#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010 #, fuzzy, c-format msgid "Bad regular expression `%s': %s" msgstr "Otillĺtet reguljäruttryck \"%s\": %s" -#: src/builtin.c:1729 src/builtin.c:1802 +#: src/builtin.c:1743 src/builtin.c:1816 #, fuzzy, c-format msgid "Error matching regular expression `%s'" msgstr "Reguljäruttrycket \"%s\" matchar inte" @@ -214,42 +214,42 @@ msgstr "För tidigt filslut i fryst fil" msgid "`%s' from frozen file not found in builtin table!" msgstr "\"%s\" frĺn fryst fil hittades inte i tabellen för inbyggda makron!" -#: src/input.c:309 +#: src/input.c:315 #, fuzzy, c-format msgid "Input reverted to %s, line %d" msgstr "Indata ĺtergĺr till %s, rad %d" -#: src/input.c:337 +#: src/input.c:343 #, fuzzy, c-format msgid "Input read from %s" msgstr "Indata läses frĺn %s" -#: src/input.c:497 +#: src/input.c:503 #, fuzzy msgid "INTERNAL ERROR: Recursive push_string!" msgstr "INTERNT FEL: Rekursiv push_string!" -#: src/input.c:614 +#: src/input.c:620 #, fuzzy msgid "INTERNAL ERROR: Bad call to init_macro_token ()" msgstr "INTERNT FEL: Otillĺtet anrop till init_macro_token ()" -#: src/input.c:654 +#: src/input.c:660 #, fuzzy msgid "INTERNAL ERROR: Input stack botch in next_char ()" msgstr "INTERNT FEL: Instacken havererade i next_char ()" -#: src/input.c:691 +#: src/input.c:697 #, fuzzy msgid "INTERNAL ERROR: Input stack botch in peek_input ()" msgstr "INTERNT FEL: Instacken havererade i peek_input ()" -#: src/input.c:794 +#: src/input.c:800 #, fuzzy msgid "NONE" msgstr "INGET" -#: src/input.c:1133 src/input.c:1160 +#: src/input.c:1190 src/input.c:1217 #, fuzzy msgid "ERROR: EOF in string" msgstr "FEL: Filslut i sträng" @@ -414,32 +414,32 @@ msgstr "Okänd felsökningsflagga \"%s\"" msgid "INTERNAL ERROR: Bad code in deferred arguments" msgstr "INTERNT FEL: Otillĺten kod i argument" -#: src/macro.c:93 +#: src/macro.c:97 #, fuzzy msgid "INTERNAL ERROR: Bad token type in expand_token ()" msgstr "INTERNT FEL: Otillĺten lexikalisk datatyp i expand_token ()" -#: src/macro.c:159 +#: src/macro.c:163 #, fuzzy msgid "ERROR: EOF in argument list" msgstr "FEL: Filslut i argumentlistan" -#: src/macro.c:178 +#: src/macro.c:182 #, fuzzy msgid "INTERNAL ERROR: Bad token type in expand_argument ()" msgstr "INTERNT FEL: Otillĺten lexikalisk datatyp i expand_argument ()" -#: src/macro.c:255 +#: src/macro.c:259 #, fuzzy msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" msgstr "INTERNT FEL: Otillĺten symboltyp i call_macro ()" -#: src/macro.c:284 +#: src/macro.c:288 #, fuzzy, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it" msgstr "FEL: Rekursionsgräns %d överskriden, använd -L<N> för att ändra" -#: src/module.c:129 +#: src/module.c:148 #, c-format msgid "Error: cannot find module `%s'" msgstr "" @@ -469,12 +469,12 @@ msgstr "FEL: Läsning av insatt fil" msgid "Cannot stat diversion" msgstr "Kan inte ta status pĺ avledningen" -#: src/path.c:166 +#: src/path.c:170 #, fuzzy, c-format msgid "Path search for `%s' found `%s'" msgstr "\"%s\" hittades som \"%s\" i sökvägen" -#: src/path.c:248 +#: src/path.c:253 #, fuzzy, c-format msgid "Module search for `%s' found `%s'" msgstr "\"%s\" hittades som \"%s\" i sökvägen" diff --git a/src/Makefile.am b/src/Makefile.am index bdbfda57..e659e068 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,6 +4,8 @@ LIBS = @LIBS@ CFLAGS = -Wall @CFLAGS@ +MODULE_PATH=@MODULE_PATH@ + bin_PROGRAMS = m4 INCLUDES = -I$(top_srcdir)/lib @@ -13,5 +15,11 @@ m4_SOURCES = m4.c m4.h builtin.c builtin.h debug.c eval.c numb.c numb.h \ stackovf.c module.c m4_LDADD = ../lib/libm4.a @INTLLIBS@ +m4_LDFLAGS = @DLLDFLAGS@ + +path.o: path.c pathconf.h +pathconf.h: Makefile + @echo "#define MODULE_PATH \"${MODULE_PATH}\"" >pathconf.h +EXTRA_DIST = diff --git a/src/Makefile.in b/src/Makefile.in index 75c5dd0b..8062d856 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -57,12 +57,17 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ +DASH_SHARED = @DASH_SHARED@ DATADIRNAME = @DATADIRNAME@ +DLLDFLAGS = @DLLDFLAGS@ +GCC_FPIC = @GCC_FPIC@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -75,18 +80,24 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODULES_DIR = @MODULES_DIR@ +MODULE_O = @MODULE_O@ MSGFMT = @MSGFMT@ +OS_NAME = @OS_NAME@ PACKAGE = @PACKAGE@ PERL = @PERL@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SHARED_EXT = @SHARED_EXT@ +SHARED_LD = @SHARED_LD@ STACKOVF = @STACKOVF@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ +pkglibexecdir = @pkglibexecdir@ AUTOMAKE_OPTIONS = ansi2knr @@ -94,6 +105,8 @@ LIBS = @LIBS@ CFLAGS = -Wall @CFLAGS@ +MODULE_PATH=@MODULE_PATH@ + bin_PROGRAMS = m4 INCLUDES = -I$(top_srcdir)/lib @@ -103,6 +116,9 @@ m4_SOURCES = m4.c m4.h builtin.c builtin.h debug.c eval.c numb.c numb.h \ stackovf.c module.c m4_LDADD = ../lib/libm4.a @INTLLIBS@ +m4_LDFLAGS = @DLLDFLAGS@ + +EXTRA_DIST = mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -117,7 +133,6 @@ m4_OBJECTS = m4$U.o builtin$U.o debug$U.o eval$U.o numb$U.o format$U.o \ freeze$U.o input$U.o macro$U.o output$U.o path$U.o symtab$U.o \ stackovf$U.o module$U.o m4_DEPENDENCIES = ../lib/libm4.a -m4_LDFLAGS = COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = Makefile.am Makefile.in ansi2knr.1 ansi2knr.c @@ -290,7 +305,7 @@ 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 +path.o: path.c m4.h ../config.h ../lib/obstack.h pathconf.h stackovf.o: stackovf.c m4.h ../config.h ../lib/obstack.h symtab.o: symtab.c m4.h ../config.h ../lib/obstack.h @@ -354,6 +369,11 @@ mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean +path.o: path.c pathconf.h + +pathconf.h: Makefile + @echo "#define MODULE_PATH \"${MODULE_PATH}\"" >pathconf.h + # 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/src/builtin.c b/src/builtin.c index a06b62b1..27665811 100644 --- a/src/builtin.c +++ b/src/builtin.c @@ -148,6 +148,7 @@ predefined_tab[] = { { "unix", "__unix__", "" }, { NULL, "__gnu__", "" }, + { NULL, "__m4_version__", VERSION }, { NULL, NULL, NULL }, }; @@ -380,6 +381,22 @@ shipout_int (struct obstack *obs, int val) obstack_grow (obs, buf, strlen (buf)); } +void +shipout_string (struct obstack *obs, const char *s, int len, boolean quoted) +{ + if (s == NULL) + s = ""; + + if (len == 0) + len = strlen(s); + + if (quoted) + obstack_grow (obs, lquote.string, lquote.length); + obstack_grow (obs, s, len); + if (quoted) + obstack_grow (obs, rquote.string, rquote.length); +} + /*----------------------------------------------------------------------. | Print ARGC arguments from the table ARGV to obstack OBS, separated by | | SEP, and quoted by the current quotes, if QUOTED is TRUE. | @@ -396,12 +413,8 @@ dump_args (struct obstack *obs, int argc, token_data **argv, { if (i > 1) obstack_grow (obs, sep, len); - if (quoted) - obstack_grow (obs, lquote.string, lquote.length); - obstack_grow (obs, TOKEN_DATA_TEXT (argv[i]), - strlen (TOKEN_DATA_TEXT (argv[i]))); - if (quoted) - obstack_grow (obs, rquote.string, rquote.length); + + shipout_string(obs, TOKEN_DATA_TEXT (argv[i]), 0, quoted); } } @@ -766,9 +779,7 @@ m4_defn (struct obstack *obs, int argc, token_data **argv) switch (SYMBOL_TYPE (s)) { case TOKEN_TEXT: - obstack_grow (obs, lquote.string, lquote.length); - obstack_grow (obs, SYMBOL_TEXT (s), strlen (SYMBOL_TEXT (s))); - obstack_grow (obs, rquote.string, rquote.length); + shipout_string(obs, SYMBOL_TEXT (s), 0, TRUE); break; case TOKEN_FUNC: @@ -1135,6 +1146,10 @@ m4_changesyntax (struct obstack *obs, int argc, token_data **argv) code = SYNTAX_ACTIVE; break; + case '@': + code = SYNTAX_ESCAPE; + break; + case '\0': code = -1; break; @@ -1232,7 +1247,7 @@ m4_maketemp (struct obstack *obs, int argc, token_data **argv) if (bad_argc (argv[0], argc, 2, 2)) return; mktemp (ARG (1)); - obstack_grow (obs, ARG (1), strlen (ARG (1))); + shipout_string (obs, ARG (1), 0, FALSE); } /*----------------------------------------. @@ -1253,9 +1268,8 @@ m4___file__ (struct obstack *obs, int argc, token_data **argv) { if (bad_argc (argv[0], argc, 1, 1)) return; - obstack_grow (obs, lquote.string, lquote.length); - obstack_grow (obs, current_file, strlen (current_file)); - obstack_grow (obs, rquote.string, rquote.length); + + shipout_string (obs, current_file, 0, TRUE); } static void @@ -1302,7 +1316,7 @@ static void m4_m4wrap (struct obstack *obs, int argc, token_data **argv) { if (no_gnu_extensions) - obstack_grow (obs, ARG (1), strlen (ARG (1))); + shipout_string (obs, ARG (1), 0, FALSE); else dump_args (obs, argc, argv, " ", FALSE); obstack_1grow (obs, '\0'); @@ -1867,8 +1881,7 @@ expand_user_macro (struct obstack *obs, symbol *sym, text = endp; } if (i < argc) - obstack_grow (obs, TOKEN_DATA_TEXT (argv[i]), - strlen (TOKEN_DATA_TEXT (argv[i]))); + shipout_string (obs, TOKEN_DATA_TEXT (argv[i]), 0, FALSE); break; case '#': /* number of arguments */ diff --git a/src/builtin.h b/src/builtin.h index 89088513..9c7b260b 100644 --- a/src/builtin.h +++ b/src/builtin.h @@ -35,5 +35,6 @@ 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); +void shipout_string (struct obstack *obs, const char *s, int len, boolean quoted); #endif /* BUILTIN_H */ diff --git a/src/input.c b/src/input.c index 8979ea07..fbc72f4d 100644 --- a/src/input.c +++ b/src/input.c @@ -76,7 +76,9 @@ SYNTAX_CLOSE Close list of macro arguments SYNTAX_COMMA Separates macro arguments SYNTAX_DOLLAR *Indicates macro argument in user macros + SYNTAX_ACTIVE This caracter is a macro name by itself + SYNTAX_ESCAPE Use this character to prefix all macro names SYNTAX_ALPHA Alphabetic characters (can start macro names) SYNTAX_NUM Numeric characters SYNTAX_ALNUM Alphanumeric characters (can form macro names) @@ -113,6 +115,7 @@ SYNTAX_IGNORE *Filtered out below next_token () SYNTAX_BCOMM Reads all until SYNTAX_ECOMM + SYNTAX_ESCAPE Reads macro name iff set, else next SYNTAX_ALPHA Reads macro name SYNTAX_LQUOTE Reads all until balanced SYNTAX_RQUOTE @@ -236,6 +239,9 @@ STRING ecomm; /* TRUE iff strlen(bcomm) == strlen(ecomm) == 1 */ static boolean single_comments; +/* TRUE iff some character has SYNTAX_ESCAPE */ +static boolean use_macro_escape; + #ifdef ENABLE_CHANGEWORD #define DEFAULT_WORD_REGEXP "[_a-zA-Z][_a-zA-Z0-9]*" @@ -821,6 +827,8 @@ input_init (void) ecomm.length = strlen (ecomm.string); single_comments = TRUE; + use_macro_escape = FALSE; + #ifdef ENABLE_CHANGEWORD if (user_word_regexp) set_word_regexp (user_word_regexp); @@ -854,8 +862,19 @@ input_init (void) set_syntax_internal(SYNTAX_ECOMM, ecomm.string[0]); } - +static void +check_use_macro_escape (void) +{ + int ch; + + use_macro_escape = FALSE; + for (ch = 256; --ch >= 0; ) + if (IS_ESCAPE(ch)) + use_macro_escape = TRUE; +} + + /*---------------------------------------------------------------------. | Functions for setting quotes and comment delimiters. Used by | | m4_changecom () and m4_changequote (). Both functions overrides the | @@ -885,6 +904,9 @@ set_quotes (const char *lq, const char *rq) set_syntax_internal(SYNTAX_LQUOTE, lquote.string[0]); set_syntax_internal(SYNTAX_RQUOTE, rquote.string[0]); } + + if (use_macro_escape) + check_use_macro_escape(); } void @@ -910,6 +932,9 @@ set_comment (const char *bc, const char *ec) set_syntax_internal(SYNTAX_BCOMM, bcomm.string[0]); set_syntax_internal(SYNTAX_ECOMM, ecomm.string[0]); } + + if (use_macro_escape) + check_use_macro_escape(); } /*-------------------------------------------. @@ -955,6 +980,9 @@ set_syntax (int code, const char *chars) else for (ch = 256; --ch > 0; ) set_syntax_internal (code, ch); + + if (use_macro_escape || code == SYNTAX_ESCAPE) + check_use_macro_escape(); } #ifdef ENABLE_CHANGEWORD @@ -1048,7 +1076,7 @@ next_token (token_data *td) } (void) next_char (); - if (IS_BCOMM(ch)) /* COMMENT, SHORT DELIM */ + if (IS_BCOMM(ch)) /* COMMENT, SHORT DELIM */ { obstack_1grow (&token_stack, ch); while ((ch = next_char ()) != CHAR_EOF && !IS_ECOMM(ch)) @@ -1067,6 +1095,34 @@ next_token (token_data *td) obstack_grow (&token_stack, ecomm.string, ecomm.length); type = TOKEN_STRING; } + else if (IS_ESCAPE(ch)) /* ESCAPED WORD */ + { + obstack_1grow (&token_stack, ch); + if ((ch = next_char ()) != CHAR_EOF) + { + if (IS_ALPHA(ch)) + { + obstack_1grow (&token_stack, ch); + while ((ch = next_char ()) != CHAR_EOF && (IS_ALNUM(ch))) + { + obstack_1grow (&token_stack, ch); + } + + if (ch != CHAR_EOF) + unget_input(ch); + } + else + { + obstack_1grow (&token_stack, ch); + } + + type = TOKEN_WORD; + } + else + { + type = TOKEN_SIMPLE; /* escape before eof */ + } + } else if ( #ifdef ENABLE_CHANGEWORD default_word_regexp && @@ -1080,7 +1136,8 @@ next_token (token_data *td) } if (ch != CHAR_EOF) unget_input(ch); - type = TOKEN_WORD; + + type = use_macro_escape ? TOKEN_STRING : TOKEN_WORD; } #ifdef ENABLE_CHANGEWORD @@ -369,6 +369,7 @@ extern unsigned short syntax_table[256]; #define SYNTAX_COMMA (0x0005) #define SYNTAX_DOLLAR (0x0006) /* not used yet */ #define SYNTAX_ACTIVE (0x0007) +#define SYNTAX_ESCAPE (0x0008) /* These are values to be assigned to syntax table entries, but they are used as bit masks with IS_ALNUM.*/ @@ -397,6 +398,7 @@ extern unsigned short syntax_table[256]; #define IS_DOLLAR(ch) ((syntax_table[(int)(ch)]&SYNTAX_VALUE) == SYNTAX_DOLLAR) #define IS_ACTIVE(ch) ((syntax_table[(int)(ch)]&SYNTAX_VALUE) == SYNTAX_ACTIVE) +#define IS_ESCAPE(ch) ((syntax_table[(int)(ch)]&SYNTAX_VALUE) == SYNTAX_ESCAPE) #define IS_ALPHA(ch) ((syntax_table[(int)(ch)]&SYNTAX_VALUE) == SYNTAX_ALPHA) #define IS_NUM(ch) ((syntax_table[(int)(ch)]&SYNTAX_VALUE) == SYNTAX_NUM) #define IS_ALNUM(ch) (((syntax_table[(int)(ch)]) & SYNTAX_ALNUM) != 0) @@ -544,6 +546,10 @@ void reload_frozen_state __P ((const char *)); typedef void module_init_t (struct obstack *obs); typedef void module_finish_t (void); +#if defined(HAVE_DLOPEN) || defined(USE_SHL_LOAD) +#define WITH_MODULES +#endif + #ifdef WITH_MODULES typedef voidstar module_func (const char *); diff --git a/src/macro.c b/src/macro.c index c85fa00f..a3e6a9ff 100644 --- a/src/macro.c +++ b/src/macro.c @@ -56,6 +56,7 @@ static void expand_token (struct obstack *obs, token_type t, token_data *td) { symbol *sym; + char *text = TOKEN_DATA_TEXT (td); switch (t) { /* TOKSW */ @@ -66,11 +67,14 @@ expand_token (struct obstack *obs, token_type t, token_data *td) case TOKEN_SIMPLE: case TOKEN_STRING: case TOKEN_SPACE: - shipout_text (obs, TOKEN_DATA_TEXT (td), strlen (TOKEN_DATA_TEXT (td))); + shipout_text (obs, text, strlen (text)); break; case TOKEN_WORD: - sym = lookup_symbol (TOKEN_DATA_TEXT (td), SYMBOL_LOOKUP); + if (IS_ESCAPE(*text)) + text++; + + sym = lookup_symbol (text, SYMBOL_LOOKUP); if (sym == NULL || SYMBOL_TYPE (sym) == TOKEN_VOID || (SYMBOL_TYPE (sym) == TOKEN_FUNC && SYMBOL_BLIND_NO_ARGS (sym) diff --git a/src/module.c b/src/module.c index 6005061d..356727a1 100644 --- a/src/module.c +++ b/src/module.c @@ -68,7 +68,12 @@ * safe to load the same module several times, it has no effect. **/ -#include <dlfcn.h> +#if defined (USE_SHL_LOAD) +# include <dl.h> +#else +# include <dlfcn.h> +#endif + /* This list is used to check for repeated loading of the same modules. */ @@ -101,10 +106,24 @@ module_init (void) voidstar module_try_load (const char *modname) { +#if defined (USE_SHL_LOAD) + return shl_load (modname, BIND_IMMEDIATE, 0L); +#else return dlopen (modname, RTLD_NOW); +#endif } +void +module_unload(voidstar handle) +{ +#if defined (USE_SHL_LOAD) + shl_unload (handle); +#else + dlclose (handle); +#endif +} + /* * 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 @@ -135,16 +154,23 @@ module_load (const char *modname, struct obstack *obs) #ifdef DEBUG_MODULES DEBUG_MESSAGE1("module %s handle already seen", modname); #endif /* DEBUG_MODULES */ - dlclose(handle); + module_unload(handle); return NULL; } + +#if defined (USE_SHL_LOAD) + /* XXX TYPE_PROCEDURE is probably wrong here, as it is a data pointer */ + shl_findsym (&handle, "m4_macro_table", TYPE_PROCEDURE, (voidstar)&btab); +#else btab = (builtin *) dlsym (handle, "m4_macro_table"); +#endif + if (btab == NULL) { #ifdef DEBUG_MODULES DEBUG_MESSAGE1("module %s no symbol m4_macro_table", modname); #endif /* DEBUG_MODULES */ - dlclose(handle); + module_unload(handle); return NULL; } @@ -158,7 +184,14 @@ module_load (const char *modname, struct obstack *obs) DEBUG_MESSAGE1("module %s loaded ok", modname); #endif /* DEBUG_MODULES */ + +#if defined (USE_SHL_LOAD) + shl_findsym (&handle, "m4_init_module", TYPE_PROCEDURE, + (voidstar)&init_func); +#else init_func = (module_init_t *) dlsym (handle, "m4_init_module"); +#endif + if (init_func != NULL) { (*init_func)(obs); @@ -190,7 +223,7 @@ module_unload_all(void) #endif /* DEBUG_MODULES */ } - dlclose(modules->handle); + module_unload(modules->handle); #ifdef DEBUG_MODULES DEBUG_MESSAGE1("module %s unloaded", modules->modname); @@ -205,3 +238,4 @@ module_unload_all(void) #endif /* WITH_MODULES */ + @@ -20,6 +20,10 @@ #include "m4.h" +#ifdef WITH_MODULES +#include "pathconf.h" +#endif /* WITH_MODULES */ + struct includes { struct includes *next; /* next directory to search */ @@ -201,6 +205,7 @@ module_env_init (void) if (no_gnu_extensions) return; + include_directory (&modpath, MODULE_PATH); env_init (&modpath, getenv ("M4MODPATH"), TRUE); } diff --git a/tests/Makefile.am b/tests/Makefile.am index be655ef0..61992cd9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -24,6 +24,7 @@ GENERATED_TESTS = \ generated-tests/changesy.5.test \ generated-tests/changesy.6.test \ generated-tests/changesy.7.test \ + generated-tests/changesy.8.test \ generated-tests/cleardiv.1.test \ generated-tests/cleardiv.2.test \ generated-tests/define.1.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index d5e11296..8bf81208 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -61,12 +61,17 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ +DASH_SHARED = @DASH_SHARED@ DATADIRNAME = @DATADIRNAME@ +DLLDFLAGS = @DLLDFLAGS@ +GCC_FPIC = @GCC_FPIC@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -79,18 +84,25 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODULES_DIR = @MODULES_DIR@ +MODULE_O = @MODULE_O@ +MODULE_PATH = @MODULE_PATH@ MSGFMT = @MSGFMT@ +OS_NAME = @OS_NAME@ PACKAGE = @PACKAGE@ PERL = @PERL@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SHARED_EXT = @SHARED_EXT@ +SHARED_LD = @SHARED_LD@ STACKOVF = @STACKOVF@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ +pkglibexecdir = @pkglibexecdir@ EXTRA_DIST = get-them run-test mkconfig.sh foo incl.m4 stamp-TESTS \ defs $(TESTS) $(OTHER_FILES) @@ -114,6 +126,7 @@ GENERATED_TESTS = \ generated-tests/changesy.5.test \ generated-tests/changesy.6.test \ generated-tests/changesy.7.test \ + generated-tests/changesy.8.test \ generated-tests/cleardiv.1.test \ generated-tests/cleardiv.2.test \ generated-tests/define.1.test \ diff --git a/tests/generated-tests/argument.1.test b/tests/generated-tests/argument.1.test index 25b1d819..0e4cd98d 100755 --- a/tests/generated-tests/argument.1.test +++ b/tests/generated-tests/argument.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/argument.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1030 +# generated from example in ../doc/m4.texinfo line 1042 . ${srcdir}/defs diff --git a/tests/generated-tests/argument.2.test b/tests/generated-tests/argument.2.test index c077ec2a..e54dc0dd 100755 --- a/tests/generated-tests/argument.2.test +++ b/tests/generated-tests/argument.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/argument.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1040 +# generated from example in ../doc/m4.texinfo line 1052 . ${srcdir}/defs diff --git a/tests/generated-tests/argument.3.test b/tests/generated-tests/argument.3.test index 2a514172..9ab64cf3 100755 --- a/tests/generated-tests/argument.3.test +++ b/tests/generated-tests/argument.3.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/argument.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1060 +# generated from example in ../doc/m4.texinfo line 1072 . ${srcdir}/defs diff --git a/tests/generated-tests/argument.4.test b/tests/generated-tests/argument.4.test index 2459f966..5597ef6a 100755 --- a/tests/generated-tests/argument.4.test +++ b/tests/generated-tests/argument.4.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/argument.4.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1070 +# generated from example in ../doc/m4.texinfo line 1082 . ${srcdir}/defs diff --git a/tests/generated-tests/changeco.1.test b/tests/generated-tests/changeco.1.test index cc95cdbc..063a9ea2 100755 --- a/tests/generated-tests/changeco.1.test +++ b/tests/generated-tests/changeco.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/changeco.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1953 +# generated from example in ../doc/m4.texinfo line 1965 . ${srcdir}/defs diff --git a/tests/generated-tests/changeco.2.test b/tests/generated-tests/changeco.2.test index 4e4fc01b..55c2f6bf 100755 --- a/tests/generated-tests/changeco.2.test +++ b/tests/generated-tests/changeco.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/changeco.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1974 +# generated from example in ../doc/m4.texinfo line 1986 . ${srcdir}/defs diff --git a/tests/generated-tests/changequ.1.test b/tests/generated-tests/changequ.1.test index b66db9cf..edf29d0c 100755 --- a/tests/generated-tests/changequ.1.test +++ b/tests/generated-tests/changequ.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/changequ.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1889 +# generated from example in ../doc/m4.texinfo line 1901 . ${srcdir}/defs diff --git a/tests/generated-tests/changequ.2.test b/tests/generated-tests/changequ.2.test index 6ae416a9..be91487d 100755 --- a/tests/generated-tests/changequ.2.test +++ b/tests/generated-tests/changequ.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/changequ.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1901 +# generated from example in ../doc/m4.texinfo line 1913 . ${srcdir}/defs diff --git a/tests/generated-tests/changequ.3.test b/tests/generated-tests/changequ.3.test index baed4cdb..4f604779 100755 --- a/tests/generated-tests/changequ.3.test +++ b/tests/generated-tests/changequ.3.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/changequ.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1913 +# generated from example in ../doc/m4.texinfo line 1925 . ${srcdir}/defs diff --git a/tests/generated-tests/changesy.1.test b/tests/generated-tests/changesy.1.test index 7e925d10..6d4b4f93 100755 --- a/tests/generated-tests/changesy.1.test +++ b/tests/generated-tests/changesy.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/changesy.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2119 +# generated from example in ../doc/m4.texinfo line 2137 . ${srcdir}/defs diff --git a/tests/generated-tests/changesy.2.test b/tests/generated-tests/changesy.2.test index af4aa27c..e75f05e6 100755 --- a/tests/generated-tests/changesy.2.test +++ b/tests/generated-tests/changesy.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/changesy.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2135 +# generated from example in ../doc/m4.texinfo line 2153 . ${srcdir}/defs diff --git a/tests/generated-tests/changesy.3.test b/tests/generated-tests/changesy.3.test index 6229d772..6381878e 100755 --- a/tests/generated-tests/changesy.3.test +++ b/tests/generated-tests/changesy.3.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/changesy.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2152 +# generated from example in ../doc/m4.texinfo line 2170 . ${srcdir}/defs diff --git a/tests/generated-tests/changesy.4.test b/tests/generated-tests/changesy.4.test index 64572a97..df422cf2 100755 --- a/tests/generated-tests/changesy.4.test +++ b/tests/generated-tests/changesy.4.test @@ -1,22 +1,36 @@ #!/bin/sh # generated-tests/changesy.4.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2171 +# generated from example in ../doc/m4.texinfo line 2196 . ${srcdir}/defs cat <<\EOF >in -define(`@', `TEST') -@ -changesyntax(`A@') -@ +define(`foo', `bar') +changesyntax(`@@') +foo +@foo +@changesyntax(`@\', `O@') +foo +@foo +\foo +define(`#', `No comment') +\define(`#', `No comment') +\# \foo # Comment \foo EOF cat <<\EOF >ok -@ -TEST +foo +bar + +foo +@foo +bar +define(#, No comment) + +No comment bar # Comment \foo EOF $M4 -d in >out diff --git a/tests/generated-tests/changesy.5.test b/tests/generated-tests/changesy.5.test index 83608521..67729fe2 100755 --- a/tests/generated-tests/changesy.5.test +++ b/tests/generated-tests/changesy.5.test @@ -1,28 +1,22 @@ #!/bin/sh # generated-tests/changesy.5.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2195 +# generated from example in ../doc/m4.texinfo line 2225 . ${srcdir}/defs cat <<\EOF >in -define(`test', `TEST') -changesyntax(`L<', `R>') -<test> -`test> -changequote(<[>, `]') -<test> -[test] +define(`@', `TEST') +@ +changesyntax(`A@') +@ EOF cat <<\EOF >ok +@ -test -test - -<TEST> -test +TEST EOF $M4 -d in >out diff --git a/tests/generated-tests/changesy.6.test b/tests/generated-tests/changesy.6.test index 14066fec..3672095a 100755 --- a/tests/generated-tests/changesy.6.test +++ b/tests/generated-tests/changesy.6.test @@ -1,18 +1,28 @@ #!/bin/sh # generated-tests/changesy.6.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2217 +# generated from example in ../doc/m4.texinfo line 2249 . ${srcdir}/defs cat <<\EOF >in -changesyntax(`({<', `)}>', `,;:', `O(,)') -eval{2**4-1; 2 : 8> +define(`test', `TEST') +changesyntax(`L<', `R>') +<test> +`test> +changequote(<[>, `]') +<test> +[test] EOF cat <<\EOF >ok -00001111 + +test +test + +<TEST> +test EOF $M4 -d in >out diff --git a/tests/generated-tests/changesy.7.test b/tests/generated-tests/changesy.7.test index 9e70c202..63fc848b 100755 --- a/tests/generated-tests/changesy.7.test +++ b/tests/generated-tests/changesy.7.test @@ -1,26 +1,18 @@ #!/bin/sh # generated-tests/changesy.7.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2228 +# generated from example in ../doc/m4.texinfo line 2271 . ${srcdir}/defs cat <<\EOF >in -define(`test', `==$1==') -changequote(`<<', `>>') -changesyntax(<<L[>>, <<R]>>) -test(<<testing]>>) -test([testing>>]) -test([<<testing>>]) +changesyntax(`({<', `)}>', `,;:', `O(,)') +eval{2**4-1; 2 : 8> EOF cat <<\EOF >ok - - -==testing]== -==testing>>== -==testing== +00001111 EOF $M4 -d in >out diff --git a/tests/generated-tests/changesy.8.test b/tests/generated-tests/changesy.8.test new file mode 100755 index 00000000..a087f85a --- /dev/null +++ b/tests/generated-tests/changesy.8.test @@ -0,0 +1,29 @@ +#!/bin/sh + +# generated-tests/changesy.8.test is part of the GNU m4 testsuite +# generated from example in ../doc/m4.texinfo line 2282 + +. ${srcdir}/defs + +cat <<\EOF >in +define(`test', `==$1==') +changequote(`<<', `>>') +changesyntax(<<L[>>, <<R]>>) +test(<<testing]>>) +test([testing>>]) +test([<<testing>>]) +EOF + +cat <<\EOF >ok + + + +==testing]== +==testing>>== +==testing== +EOF + +$M4 -d in >out + +$CMP -s out ok + diff --git a/tests/generated-tests/cleardiv.1.test b/tests/generated-tests/cleardiv.1.test index c7dc0655..df66a07b 100755 --- a/tests/generated-tests/cleardiv.1.test +++ b/tests/generated-tests/cleardiv.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/cleardiv.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2732 +# generated from example in ../doc/m4.texinfo line 2786 . ${srcdir}/defs diff --git a/tests/generated-tests/cleardiv.2.test b/tests/generated-tests/cleardiv.2.test index 23324698..b52be5c6 100755 --- a/tests/generated-tests/cleardiv.2.test +++ b/tests/generated-tests/cleardiv.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/cleardiv.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2747 +# generated from example in ../doc/m4.texinfo line 2801 . ${srcdir}/defs diff --git a/tests/generated-tests/define.1.test b/tests/generated-tests/define.1.test index eefece84..e90c466a 100755 --- a/tests/generated-tests/define.1.test +++ b/tests/generated-tests/define.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/define.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 981 +# generated from example in ../doc/m4.texinfo line 993 . ${srcdir}/defs diff --git a/tests/generated-tests/define.2.test b/tests/generated-tests/define.2.test index 1b18fe06..fbd55149 100755 --- a/tests/generated-tests/define.2.test +++ b/tests/generated-tests/define.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/define.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1001 +# generated from example in ../doc/m4.texinfo line 1013 . ${srcdir}/defs diff --git a/tests/generated-tests/defn.1.test b/tests/generated-tests/defn.1.test index 1922b358..d9e02cfb 100755 --- a/tests/generated-tests/defn.1.test +++ b/tests/generated-tests/defn.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/defn.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1224 +# generated from example in ../doc/m4.texinfo line 1236 . ${srcdir}/defs diff --git a/tests/generated-tests/defn.2.test b/tests/generated-tests/defn.2.test index 0cac7363..6c9f827f 100755 --- a/tests/generated-tests/defn.2.test +++ b/tests/generated-tests/defn.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/defn.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1244 +# generated from example in ../doc/m4.texinfo line 1256 . ${srcdir}/defs diff --git a/tests/generated-tests/divert.1.test b/tests/generated-tests/divert.1.test index 83d5d9a2..fb826ba4 100755 --- a/tests/generated-tests/divert.1.test +++ b/tests/generated-tests/divert.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/divert.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2574 +# generated from example in ../doc/m4.texinfo line 2628 . ${srcdir}/defs diff --git a/tests/generated-tests/divert.2.test b/tests/generated-tests/divert.2.test index f5cd9f8c..c4c3db67 100755 --- a/tests/generated-tests/divert.2.test +++ b/tests/generated-tests/divert.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/divert.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2594 +# generated from example in ../doc/m4.texinfo line 2648 . ${srcdir}/defs diff --git a/tests/generated-tests/divnum.1.test b/tests/generated-tests/divnum.1.test index ddcb689e..d5abd49b 100755 --- a/tests/generated-tests/divnum.1.test +++ b/tests/generated-tests/divnum.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/divnum.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2701 +# generated from example in ../doc/m4.texinfo line 2755 . ${srcdir}/defs diff --git a/tests/generated-tests/dnl.1.test b/tests/generated-tests/dnl.1.test index b80528d5..1017a958 100755 --- a/tests/generated-tests/dnl.1.test +++ b/tests/generated-tests/dnl.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/dnl.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1851 +# generated from example in ../doc/m4.texinfo line 1863 . ${srcdir}/defs diff --git a/tests/generated-tests/dumpdef.1.test b/tests/generated-tests/dumpdef.1.test index 677a5974..16e17a24 100755 --- a/tests/generated-tests/dumpdef.1.test +++ b/tests/generated-tests/dumpdef.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/dumpdef.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1654 +# generated from example in ../doc/m4.texinfo line 1666 . ${srcdir}/defs diff --git a/tests/generated-tests/errprint.1.test b/tests/generated-tests/errprint.1.test index d89d95b8..06aebc01 100755 --- a/tests/generated-tests/errprint.1.test +++ b/tests/generated-tests/errprint.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/errprint.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3420 +# generated from example in ../doc/m4.texinfo line 3474 . ${srcdir}/defs diff --git a/tests/generated-tests/errprint.2.test b/tests/generated-tests/errprint.2.test index e7e6946b..80c37d84 100755 --- a/tests/generated-tests/errprint.2.test +++ b/tests/generated-tests/errprint.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/errprint.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3445 +# generated from example in ../doc/m4.texinfo line 3499 . ${srcdir}/defs diff --git a/tests/generated-tests/esyscmd.1.test b/tests/generated-tests/esyscmd.1.test index 0f4135d5..db142303 100755 --- a/tests/generated-tests/esyscmd.1.test +++ b/tests/generated-tests/esyscmd.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/esyscmd.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3309 +# generated from example in ../doc/m4.texinfo line 3363 . ${srcdir}/defs diff --git a/tests/generated-tests/eval.1.test b/tests/generated-tests/eval.1.test index 73fd306b..309176b2 100755 --- a/tests/generated-tests/eval.1.test +++ b/tests/generated-tests/eval.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/eval.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3193 +# generated from example in ../doc/m4.texinfo line 3247 . ${srcdir}/defs diff --git a/tests/generated-tests/eval.2.test b/tests/generated-tests/eval.2.test index 443672d1..569e80a2 100755 --- a/tests/generated-tests/eval.2.test +++ b/tests/generated-tests/eval.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/eval.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3224 +# generated from example in ../doc/m4.texinfo line 3278 . ${srcdir}/defs diff --git a/tests/generated-tests/format.1.test b/tests/generated-tests/format.1.test index 52fc5029..8c6a3d3c 100755 --- a/tests/generated-tests/format.1.test +++ b/tests/generated-tests/format.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/format.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3029 +# generated from example in ../doc/m4.texinfo line 3083 . ${srcdir}/defs diff --git a/tests/generated-tests/ifdef.1.test b/tests/generated-tests/ifdef.1.test index 559745fa..f6b98443 100755 --- a/tests/generated-tests/ifdef.1.test +++ b/tests/generated-tests/ifdef.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/ifdef.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1434 +# generated from example in ../doc/m4.texinfo line 1446 . ${srcdir}/defs diff --git a/tests/generated-tests/ifelse.1.test b/tests/generated-tests/ifelse.1.test index 82b2770c..d8eb6109 100755 --- a/tests/generated-tests/ifelse.1.test +++ b/tests/generated-tests/ifelse.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/ifelse.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1472 +# generated from example in ../doc/m4.texinfo line 1484 . ${srcdir}/defs diff --git a/tests/generated-tests/ifelse.2.test b/tests/generated-tests/ifelse.2.test index 9181abd0..b21a6c1c 100755 --- a/tests/generated-tests/ifelse.2.test +++ b/tests/generated-tests/ifelse.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/ifelse.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1491 +# generated from example in ../doc/m4.texinfo line 1503 . ${srcdir}/defs diff --git a/tests/generated-tests/include.1.test b/tests/generated-tests/include.1.test index cd8274bd..536bf87e 100755 --- a/tests/generated-tests/include.1.test +++ b/tests/generated-tests/include.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/include.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2448 +# generated from example in ../doc/m4.texinfo line 2502 . ${srcdir}/defs diff --git a/tests/generated-tests/include.2.test b/tests/generated-tests/include.2.test index 94446fd7..464ff063 100755 --- a/tests/generated-tests/include.2.test +++ b/tests/generated-tests/include.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/include.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2468 +# generated from example in ../doc/m4.texinfo line 2522 . ${srcdir}/defs diff --git a/tests/generated-tests/include.3.test b/tests/generated-tests/include.3.test index 1cb768d9..3deb2d1f 100755 --- a/tests/generated-tests/include.3.test +++ b/tests/generated-tests/include.3.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/include.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2483 +# generated from example in ../doc/m4.texinfo line 2537 . ${srcdir}/defs diff --git a/tests/generated-tests/incr.1.test b/tests/generated-tests/incr.1.test index f07ddf7c..5a57f9fa 100755 --- a/tests/generated-tests/incr.1.test +++ b/tests/generated-tests/incr.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/incr.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3099 +# generated from example in ../doc/m4.texinfo line 3153 . ${srcdir}/defs diff --git a/tests/generated-tests/index.1.test b/tests/generated-tests/index.1.test index 11768455..ffc42ae4 100755 --- a/tests/generated-tests/index.1.test +++ b/tests/generated-tests/index.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/index.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2815 +# generated from example in ../doc/m4.texinfo line 2869 . ${srcdir}/defs diff --git a/tests/generated-tests/indir.1.test b/tests/generated-tests/indir.1.test index c37cc49b..2d2114a0 100755 --- a/tests/generated-tests/indir.1.test +++ b/tests/generated-tests/indir.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/indir.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1363 +# generated from example in ../doc/m4.texinfo line 1375 . ${srcdir}/defs diff --git a/tests/generated-tests/len.1.test b/tests/generated-tests/len.1.test index dac41506..a5491fe4 100755 --- a/tests/generated-tests/len.1.test +++ b/tests/generated-tests/len.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/len.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2789 +# generated from example in ../doc/m4.texinfo line 2843 . ${srcdir}/defs diff --git a/tests/generated-tests/loops.1.test b/tests/generated-tests/loops.1.test index 880f95d9..324f23f2 100755 --- a/tests/generated-tests/loops.1.test +++ b/tests/generated-tests/loops.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/loops.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1528 +# generated from example in ../doc/m4.texinfo line 1540 . ${srcdir}/defs diff --git a/tests/generated-tests/loops.2.test b/tests/generated-tests/loops.2.test index 7b537032..d6018cf6 100755 --- a/tests/generated-tests/loops.2.test +++ b/tests/generated-tests/loops.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/loops.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1540 +# generated from example in ../doc/m4.texinfo line 1552 . ${srcdir}/defs diff --git a/tests/generated-tests/m4exit.1.test b/tests/generated-tests/m4exit.1.test index 78aba0fd..55993847 100755 --- a/tests/generated-tests/m4exit.1.test +++ b/tests/generated-tests/m4exit.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/m4exit.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3468 +# generated from example in ../doc/m4.texinfo line 3522 . ${srcdir}/defs diff --git a/tests/generated-tests/m4wrap.1.test b/tests/generated-tests/m4wrap.1.test index 0f9419dd..d80441ff 100755 --- a/tests/generated-tests/m4wrap.1.test +++ b/tests/generated-tests/m4wrap.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/m4wrap.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2389 +# generated from example in ../doc/m4.texinfo line 2443 . ${srcdir}/defs diff --git a/tests/generated-tests/patsubst.1.test b/tests/generated-tests/patsubst.1.test index 4f04ac25..1b830230 100755 --- a/tests/generated-tests/patsubst.1.test +++ b/tests/generated-tests/patsubst.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/patsubst.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2977 +# generated from example in ../doc/m4.texinfo line 3031 . ${srcdir}/defs diff --git a/tests/generated-tests/patsubst.2.test b/tests/generated-tests/patsubst.2.test index d651a184..bd56088f 100755 --- a/tests/generated-tests/patsubst.2.test +++ b/tests/generated-tests/patsubst.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/patsubst.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2994 +# generated from example in ../doc/m4.texinfo line 3048 . ${srcdir}/defs diff --git a/tests/generated-tests/pseudoar.1.test b/tests/generated-tests/pseudoar.1.test index de5cabc2..0a61695a 100755 --- a/tests/generated-tests/pseudoar.1.test +++ b/tests/generated-tests/pseudoar.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/pseudoar.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1094 +# generated from example in ../doc/m4.texinfo line 1106 . ${srcdir}/defs diff --git a/tests/generated-tests/pseudoar.2.test b/tests/generated-tests/pseudoar.2.test index b8418771..78b0ba10 100755 --- a/tests/generated-tests/pseudoar.2.test +++ b/tests/generated-tests/pseudoar.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/pseudoar.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1108 +# generated from example in ../doc/m4.texinfo line 1120 . ${srcdir}/defs diff --git a/tests/generated-tests/pseudoar.3.test b/tests/generated-tests/pseudoar.3.test index 26f6ebb3..7143e5d1 100755 --- a/tests/generated-tests/pseudoar.3.test +++ b/tests/generated-tests/pseudoar.3.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/pseudoar.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1119 +# generated from example in ../doc/m4.texinfo line 1131 . ${srcdir}/defs diff --git a/tests/generated-tests/pseudoar.4.test b/tests/generated-tests/pseudoar.4.test index 8622426f..55b8ed50 100755 --- a/tests/generated-tests/pseudoar.4.test +++ b/tests/generated-tests/pseudoar.4.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/pseudoar.4.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1129 +# generated from example in ../doc/m4.texinfo line 1141 . ${srcdir}/defs diff --git a/tests/generated-tests/pseudoar.5.test b/tests/generated-tests/pseudoar.5.test index 1ed05635..8e517665 100755 --- a/tests/generated-tests/pseudoar.5.test +++ b/tests/generated-tests/pseudoar.5.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/pseudoar.5.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1149 +# generated from example in ../doc/m4.texinfo line 1161 . ${srcdir}/defs diff --git a/tests/generated-tests/pushdef.1.test b/tests/generated-tests/pushdef.1.test index 09d5f945..f31313f5 100755 --- a/tests/generated-tests/pushdef.1.test +++ b/tests/generated-tests/pushdef.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/pushdef.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1288 +# generated from example in ../doc/m4.texinfo line 1300 . ${srcdir}/defs diff --git a/tests/generated-tests/pushdef.2.test b/tests/generated-tests/pushdef.2.test index 091c27e1..1f0df47c 100755 --- a/tests/generated-tests/pushdef.2.test +++ b/tests/generated-tests/pushdef.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/pushdef.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1312 +# generated from example in ../doc/m4.texinfo line 1324 . ${srcdir}/defs diff --git a/tests/generated-tests/regexp.1.test b/tests/generated-tests/regexp.1.test index df471907..287622a5 100755 --- a/tests/generated-tests/regexp.1.test +++ b/tests/generated-tests/regexp.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/regexp.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2847 +# generated from example in ../doc/m4.texinfo line 2901 . ${srcdir}/defs diff --git a/tests/generated-tests/regexp.2.test b/tests/generated-tests/regexp.2.test index 22cb99c6..6422e4df 100755 --- a/tests/generated-tests/regexp.2.test +++ b/tests/generated-tests/regexp.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/regexp.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2859 +# generated from example in ../doc/m4.texinfo line 2913 . ${srcdir}/defs diff --git a/tests/generated-tests/substr.1.test b/tests/generated-tests/substr.1.test index 4ad45539..6c37a2c2 100755 --- a/tests/generated-tests/substr.1.test +++ b/tests/generated-tests/substr.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/substr.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2885 +# generated from example in ../doc/m4.texinfo line 2939 . ${srcdir}/defs diff --git a/tests/generated-tests/sysval.1.test b/tests/generated-tests/sysval.1.test index 5cb177f1..ec5c933c 100755 --- a/tests/generated-tests/sysval.1.test +++ b/tests/generated-tests/sysval.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/sysval.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 3340 +# generated from example in ../doc/m4.texinfo line 3394 . ${srcdir}/defs diff --git a/tests/generated-tests/trace.1.test b/tests/generated-tests/trace.1.test index 9acf3a12..9d7a93f2 100755 --- a/tests/generated-tests/trace.1.test +++ b/tests/generated-tests/trace.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/trace.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1699 +# generated from example in ../doc/m4.texinfo line 1711 . ${srcdir}/defs diff --git a/tests/generated-tests/translit.1.test b/tests/generated-tests/translit.1.test index da6710c7..a1a658eb 100755 --- a/tests/generated-tests/translit.1.test +++ b/tests/generated-tests/translit.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/translit.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2926 +# generated from example in ../doc/m4.texinfo line 2980 . ${srcdir}/defs diff --git a/tests/generated-tests/undefine.1.test b/tests/generated-tests/undefine.1.test index bac0cd29..e63acc6a 100755 --- a/tests/generated-tests/undefine.1.test +++ b/tests/generated-tests/undefine.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/undefine.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 1180 +# generated from example in ../doc/m4.texinfo line 1192 . ${srcdir}/defs diff --git a/tests/generated-tests/undivert.1.test b/tests/generated-tests/undivert.1.test index 18c904ba..0b66b3ae 100755 --- a/tests/generated-tests/undivert.1.test +++ b/tests/generated-tests/undivert.1.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/undivert.1.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2625 +# generated from example in ../doc/m4.texinfo line 2679 . ${srcdir}/defs diff --git a/tests/generated-tests/undivert.2.test b/tests/generated-tests/undivert.2.test index 44485600..442cf02e 100755 --- a/tests/generated-tests/undivert.2.test +++ b/tests/generated-tests/undivert.2.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/undivert.2.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2649 +# generated from example in ../doc/m4.texinfo line 2703 . ${srcdir}/defs diff --git a/tests/generated-tests/undivert.3.test b/tests/generated-tests/undivert.3.test index a85a9d0c..31164ec5 100755 --- a/tests/generated-tests/undivert.3.test +++ b/tests/generated-tests/undivert.3.test @@ -1,7 +1,7 @@ #!/bin/sh # generated-tests/undivert.3.test is part of the GNU m4 testsuite -# generated from example in ../doc/m4.texinfo line 2675 +# generated from example in ../doc/m4.texinfo line 2729 . ${srcdir}/defs |