From MAILER-DAEMON Thu Sep 04 08:02:45 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19usmL-0003ya-Vf for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 07:59:57 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19uslX-0003eo-TK for m4-patches@gnu.org; Thu, 04 Sep 2003 07:59:07 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19uslK-0003bB-Kl for m4-patches@gnu.org; Thu, 04 Sep 2003 07:58:55 -0400 Received: from [66.111.4.25] (helo=mail.messagingengine.com) by monty-python.gnu.org with esmtp (Exim 4.22) id 19uskx-0003PB-5e for m4-patches@gnu.org; Thu, 04 Sep 2003 07:58:31 -0400 Received: from www.fastmail.fm (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id CDEA6177CFA for ; Thu, 4 Sep 2003 07:58:29 -0400 (EDT) Received: from 10.202.2.132 ([10.202.2.132] helo=www.fastmail.fm) by messagingengine.com with SMTP; Thu, 04 Sep 2003 07:58:29 -0400 Received: by www.fastmail.fm (Postfix, from userid 99) id B96FD3A5A5; Thu, 4 Sep 2003 07:58:28 -0400 (EDT) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1062676708127560" MIME-Version: 1.0 From: "Gary V. Vaughan" To: "M4 Patches" Date: Thu, 04 Sep 2003 11:58:28 +0000 X-Epoch: 1062676709 X-Sasl-enc: PKkn6q6qhHUh5kQslvdyQQ X-Mailer: MIME::Lite 1.2 (F2.71; T1.001; A1.51; B2.12; Q2.03) Message-Id: <20030904115828.B96FD3A5A5@www.fastmail.fm> Subject: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 11:59:56 -0000 This is a multi-part message in MIME format. --_----------=_1062676708127560 Content-Disposition: inline Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="ISO-8859-1" Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --_----------=_1062676708127560 Content-Disposition: attachment; filename="50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch" Content-Transfer-Encoding: base64 Content-Type: application/unknown; name="50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch" SW5kZXg6IENoYW5nZUxvZwpmcm9tICBHYXJ5IFYuIFZhdWdoYW4gIDxnYXJ5 QGdudS5vcmc+CgoJKiBib290c3RyYXA6IENWUyBhdXRvcmVjb25mIGxlYXZl cyBmaWxlIGRyb3BwaW5ncy4gIFJlbW92ZQoJYWNsb2NhbC5tNHQgaW5jYXNl IGF1dG9yZWNvbmYgZG9lc24ndC4KCkluZGV4OiBib290c3RyYXAKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvbTQvbTQvYm9v dHN0cmFwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE3CmRpZmYgLXUgLXAg LXUgLXIxLjE3IGJvb3RzdHJhcAotLS0gYm9vdHN0cmFwIDQgTm92IDIwMDIg MTY6MzE6MDQgLTAwMDAgMS4xNworKysgYm9vdHN0cmFwIDQgU2VwIDIwMDMg MTE6MzQ6MTIgLTAwMDAKQEAgLTEwLDQgKzEwLDYgQEAgYXV0b3JlY29uZiAt ZnZpCiAgICR7QVdLLWF3a30gLWYgLi9nZW5lcmF0ZS5hd2sgLi4vZG9jL200 LnRleGluZm8gPiBnZW5lcmF0ZWQuYXQKICkKIAorcm0gLWYgLi9hY2xvY2Fs Lm00dAorCiBleGl0IDAK --_----------=_1062676708127560-- From MAILER-DAEMON Thu Sep 04 08:41:08 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19utPs-0004Dh-KW for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 08:40:48 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19utOz-0003mS-Il for m4-patches@gnu.org; Thu, 04 Sep 2003 08:39:53 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19utO7-00038B-Qt for m4-patches@gnu.org; Thu, 04 Sep 2003 08:39:04 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19utNU-0002lK-UH for m4-patches@gnu.org; Thu, 04 Sep 2003 08:38:21 -0400 Received: (qmail 10603 invoked from network); 4 Sep 2003 12:05:00 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 4 Sep 2003 12:05:00 -0000 Received: (qmail 6458 invoked from network); 4 Sep 2003 11:41:48 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 4 Sep 2003 11:41:48 -0000 Message-ID: <3F572500.308@gnu.org> Date: Thu, 04 Sep 2003 12:41:52 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------000209060106020400000109" Subject: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 12:40:46 -0000 This is a multi-part message in MIME format. --------------000209060106020400000109 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------000209060106020400000109 Content-Type: text/plain; name="50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch" Index: ChangeLog from Gary V. Vaughan * bootstrap: CVS autoreconf leaves file droppings. Remove aclocal.m4t incase autoreconf doesn't. Index: bootstrap =================================================================== RCS file: /cvsroot/m4/m4/bootstrap,v retrieving revision 1.17 diff -u -p -u -r1.17 bootstrap --- bootstrap 4 Nov 2002 16:31:04 -0000 1.17 +++ bootstrap 4 Sep 2003 11:34:12 -0000 @@ -10,4 +10,6 @@ autoreconf -fvi ${AWK-awk} -f ./generate.awk ../doc/m4.texinfo > generated.at ) +rm -f ./aclocal.m4t + exit 0 --------------000209060106020400000109-- From MAILER-DAEMON Thu Sep 04 09:10:15 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19utsM-0005CB-MD for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 09:10:14 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19utsK-0005BM-4E for m4-patches@gnu.org; Thu, 04 Sep 2003 09:10:12 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19utsH-0005Ac-S8 for m4-patches@gnu.org; Thu, 04 Sep 2003 09:10:10 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19utsH-0005AG-2N for m4-patches@gnu.org; Thu, 04 Sep 2003 09:10:09 -0400 Received: (qmail 24965 invoked from network); 4 Sep 2003 13:36:49 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 4 Sep 2003 13:36:49 -0000 Received: (qmail 4729 invoked from network); 4 Sep 2003 13:13:37 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 4 Sep 2003 13:13:37 -0000 Message-ID: <3F573A85.2000801@gnu.org> Date: Thu, 04 Sep 2003 14:13:41 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------040800050601070601070909" Subject: FYI: 51-gary-vpath-build-fixes.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 13:10:13 -0000 This is a multi-part message in MIME format. --------------040800050601070601070909 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------040800050601070601070909 Content-Type: text/plain; name="51-gary-vpath-build-fixes.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="51-gary-vpath-build-fixes.patch" Index: ChangeLog from Gary V. Vaughan * config/Makefile.am (MAINTAINERCLEANFILES, ACLOCAL_MACROS) (STANDARD_TOOLS, SPECIFIC_MACROS): Needed `$(srcdir)/' for VPATH builds to work. (SPECIFIC_TOOLS): New variable. Moved mkstamp to here. (EXTRA_DIST): Use it. Index: config/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/config/Makefile.am,v retrieving revision 1.13 diff -u -p -u -r1.13 Makefile.am --- config/Makefile.am 4 Nov 2002 17:39:32 -0000 1.13 +++ config/Makefile.am 4 Sep 2003 13:07:35 -0000 @@ -20,44 +20,54 @@ ## Written by Akim Demaille MAINTAINERCLEANFILES = \ -Makefile.in \ -ltmain.sh \ -texinfo.tex \ +$(srcdir)/Makefile.in \ +$(srcdir)/ltmain.sh \ +$(srcdir)/texinfo.tex \ $(ACLOCAL_MACROS) \ $(STANDARD_TOOLS) ACLOCAL_MACROS = \ -dmalloc.m4 \ -gettext.m4 \ -iconv.m4 \ -lib-ld.m4 \ -lib-link.m4 \ -lib-prefix.m4 \ -libtool.m4 \ -ltdl.m4 \ -options.m4 \ -progtest.m4 \ -protos.m4 \ -regex.m4 +$(srcdir)/codeset.m4 \ +$(srcdir)/gettext.m4 \ +$(srcdir)/glibc21.m4 \ +$(srcdir)/iconv.m4 \ +$(srcdir)/intdiv0.m4 \ +$(srcdir)/inttypes-pri.m4 \ +$(srcdir)/inttypes.m4 \ +$(srcdir)/inttypes_h.m4 \ +$(srcdir)/iscposix.m4 \ +$(srcdir)/lcmessage.m4 \ +$(srcdir)/lib-ld.m4 \ +$(srcdir)/lib-link.m4 \ +$(srcdir)/lib-prefix.m4 \ +$(srcdir)/progtest.m4 \ +$(srcdir)/stdint_h.m4 \ +$(srcdir)/uintmax_t.m4 \ +$(srcdir)/ulonglong.m4 STANDARD_TOOLS = \ -compile \ -config.guess \ -config.sub \ -depcomp \ -install-sh \ -mdate-sh \ -missing \ -mkinstalldirs +$(srcdir)/compile \ +$(srcdir)/config.guess \ +$(srcdir)/config.rpath \ +$(srcdir)/config.sub \ +$(srcdir)/depcomp \ +$(srcdir)/install-sh \ +$(srcdir)/mdate-sh \ +$(srcdir)/missing \ +$(srcdir)/mkinstalldirs SPECIFIC_MACROS = \ -debug.m4 \ -error.m4 \ -gmp.m4 \ -gnu-obstack.m4 \ -stackovf.m4 +$(srcdir)/debug.m4 \ +$(srcdir)/error.m4 \ +$(srcdir)/gmp.m4 \ +$(srcdir)/gnu-obstack.m4 \ +$(srcdir)/regex.m4 \ +$(srcdir)/stackovf.m4 + +SPECIFIC_TOOLS = \ +$(srcdir)/mkstamp spy: @echo $($(SPIED)) -EXTRA_DIST = mkstamp $(SPECIFIC_MACROS) $(ACLOCAL_MACROS) +EXTRA_DIST = $(ACLOCAL_MACROS) $(SPECIFIC_MACROS) $(SPECIFIC_TOOLS) --------------040800050601070601070909-- From MAILER-DAEMON Thu Sep 04 09:28:54 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19uu73-0001v9-0N for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 09:25:25 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19uu5l-0001SY-1F for m4-patches@gnu.org; Thu, 04 Sep 2003 09:24:05 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19uu1O-0000DD-Es for m4-patches@gnu.org; Thu, 04 Sep 2003 09:19:35 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19utwc-0006Yr-Kv for m4-patches@gnu.org; Thu, 04 Sep 2003 09:14:40 -0400 Received: (qmail 23408 invoked from network); 4 Sep 2003 13:41:17 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 4 Sep 2003 13:41:17 -0000 Received: (qmail 12708 invoked from network); 4 Sep 2003 13:18:05 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 4 Sep 2003 13:18:05 -0000 Message-ID: <3F573B92.6010602@gnu.org> Date: Thu, 04 Sep 2003 14:18:10 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------040809070807090500070802" Subject: FYI: 51-gary-vpath-build-fixes.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 13:25:23 -0000 This is a multi-part message in MIME format. --------------040809070807090500070802 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------040809070807090500070802 Content-Type: text/plain; name="51-gary-vpath-build-fixes.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="51-gary-vpath-build-fixes.patch" Index: ChangeLog from Gary V. Vaughan * config/Makefile.am (MAINTAINERCLEANFILES, ACLOCAL_MACROS) (STANDARD_TOOLS, SPECIFIC_MACROS): Needed `$(srcdir)/' for VPATH builds to work. (SPECIFIC_TOOLS): New variable. Moved mkstamp to here. (EXTRA_DIST): Use it. Index: config/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/config/Makefile.am,v retrieving revision 1.13 diff -u -p -u -r1.13 Makefile.am --- config/Makefile.am 4 Nov 2002 17:39:32 -0000 1.13 +++ config/Makefile.am 4 Sep 2003 13:07:35 -0000 @@ -20,44 +20,54 @@ ## Written by Akim Demaille MAINTAINERCLEANFILES = \ -Makefile.in \ -ltmain.sh \ -texinfo.tex \ +$(srcdir)/Makefile.in \ +$(srcdir)/ltmain.sh \ +$(srcdir)/texinfo.tex \ $(ACLOCAL_MACROS) \ $(STANDARD_TOOLS) ACLOCAL_MACROS = \ -dmalloc.m4 \ -gettext.m4 \ -iconv.m4 \ -lib-ld.m4 \ -lib-link.m4 \ -lib-prefix.m4 \ -libtool.m4 \ -ltdl.m4 \ -options.m4 \ -progtest.m4 \ -protos.m4 \ -regex.m4 +$(srcdir)/codeset.m4 \ +$(srcdir)/gettext.m4 \ +$(srcdir)/glibc21.m4 \ +$(srcdir)/iconv.m4 \ +$(srcdir)/intdiv0.m4 \ +$(srcdir)/inttypes-pri.m4 \ +$(srcdir)/inttypes.m4 \ +$(srcdir)/inttypes_h.m4 \ +$(srcdir)/iscposix.m4 \ +$(srcdir)/lcmessage.m4 \ +$(srcdir)/lib-ld.m4 \ +$(srcdir)/lib-link.m4 \ +$(srcdir)/lib-prefix.m4 \ +$(srcdir)/progtest.m4 \ +$(srcdir)/stdint_h.m4 \ +$(srcdir)/uintmax_t.m4 \ +$(srcdir)/ulonglong.m4 STANDARD_TOOLS = \ -compile \ -config.guess \ -config.sub \ -depcomp \ -install-sh \ -mdate-sh \ -missing \ -mkinstalldirs +$(srcdir)/compile \ +$(srcdir)/config.guess \ +$(srcdir)/config.rpath \ +$(srcdir)/config.sub \ +$(srcdir)/depcomp \ +$(srcdir)/install-sh \ +$(srcdir)/mdate-sh \ +$(srcdir)/missing \ +$(srcdir)/mkinstalldirs SPECIFIC_MACROS = \ -debug.m4 \ -error.m4 \ -gmp.m4 \ -gnu-obstack.m4 \ -stackovf.m4 +$(srcdir)/debug.m4 \ +$(srcdir)/error.m4 \ +$(srcdir)/gmp.m4 \ +$(srcdir)/gnu-obstack.m4 \ +$(srcdir)/regex.m4 \ +$(srcdir)/stackovf.m4 + +SPECIFIC_TOOLS = \ +$(srcdir)/mkstamp spy: @echo $($(SPIED)) -EXTRA_DIST = mkstamp $(SPECIFIC_MACROS) $(ACLOCAL_MACROS) +EXTRA_DIST = $(ACLOCAL_MACROS) $(SPECIFIC_MACROS) $(SPECIFIC_TOOLS) --------------040809070807090500070802-- From MAILER-DAEMON Thu Sep 04 10:14:23 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19uusC-0005vg-GV for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 10:14:08 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19uurm-0005ch-Cx for m4-patches@gnu.org; Thu, 04 Sep 2003 10:13:42 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19uuq3-0004ce-TR for m4-patches@gnu.org; Thu, 04 Sep 2003 10:12:25 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19uupg-0004Jm-Ki for m4-patches@gnu.org; Thu, 04 Sep 2003 10:11:32 -0400 Received: (qmail 11879 invoked from network); 4 Sep 2003 14:38:12 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 4 Sep 2003 14:38:12 -0000 Received: (qmail 23262 invoked from network); 4 Sep 2003 14:15:00 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 4 Sep 2003 14:15:00 -0000 Message-ID: <3F5748E8.4010002@gnu.org> Date: Thu, 04 Sep 2003 15:15:04 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------030601010408090701000009" Subject: FYI: 52-gary-isolate-externally-maintained-files.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 14:14:03 -0000 This is a multi-part message in MIME format. --------------030601010408090701000009 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------030601010408090701000009 Content-Type: text/plain; name="52-gary-isolate-externally-maintained-files.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="52-gary-isolate-externally-maintained-files.patch" Index: ChangeLog from Gary V. Vaughan GNU M4 currently builds with a number of files adapted from upstream sources. Recently the gnulib project on savannah.gnu.org has pulled together a great many of these externally maintained files. This delta is the beginnings of isolating those files maintained in gnulib to make it easy to synchronise M4 with the upstream files prior to releases. * Makefile.am (ACLOCAL_AMFLAGS): Mention gnulib/m4 macro directory. (SUBDIRS): Added new gnulib subdirectory. * configure.ac (AC_CONFIG_FILES): Add new gnulib tree Makefiles. * config/stdbool.m4: Moved from here... * gnulib/m4/stdbool.m4: ...to here. * m4/stdbool_.h: Moved from here... * gnulib/lib/stdbool_.h: ...to here. * gnulib/Makefile.am: New file. Make sure the gnulib tree is distributed. * m4/Makefile.am: Adjust gnulib/modules/stdbool:Makefile.am based code to work with new stdbool_.h location. (gnulib_srcdir): New. 2003-09-04 Gary V. Vaughan Index: Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/Makefile.am,v retrieving revision 1.11 diff -u -p -u -r1.11 Makefile.am --- Makefile.am 29 Aug 2003 16:55:55 -0000 1.11 +++ Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -1,6 +1,6 @@ ## Makefile.am -- Process this file with automake to produce Makefile.in= ## -## Copyright (C) 2000 Free Software Foundation +## Copyright (C) 2000, 2003 Free Software Foundation ## ## 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 @@ -19,14 +19,14 @@ ## ## Written by Gary V. Vaughan =20 -EXTRA_DIST =3D config/config.rpath bootstrap +EXTRA_DIST =3D bootstrap =20 auxdir =3D $(top_srcdir)/$(ac_aux_dir) =20 ## There is currently no means with Automake not to run aclocal. -ACLOCAL_AMFLAGS =3D -I config +ACLOCAL_AMFLAGS =3D -I config -I gnulib/m4 =20 -SUBDIRS =3D po config m4 modules src tests examples doc . +SUBDIRS =3D po gnulib config m4 modules src tests examples doc . MAINTAINERCLEANFILES =3D ABOUT-NLS COPYING INSTALL Makefile.in aclocal.m= 4 \ config-h.in configure ltmain.sh stamp-h.in \ po/cat-id-tbl.c po/m4.pot po/stamp-cat-id Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.13 diff -u -p -u -r1.13 configure.ac --- configure.ac 29 Aug 2003 17:44:47 -0000 1.13 +++ configure.ac 4 Sep 2003 13:59:53 -0000 @@ -212,7 +212,16 @@ AM_CONDITIONAL([USE_GMP], [test "x$USE_G ## -------- ## ## Outputs. ## ## -------- ## -AC_CONFIG_FILES(Makefile config/Makefile doc/Makefile m4/Makefile - m4/system.h:m4/system_.h src/Makefile modules/Makefile - tests/Makefile tests/atlocal examples/Makefile) +AC_CONFIG_FILES([Makefile + config/Makefile + doc/Makefile + examples/Makefile + gnulib/Makefile + m4/Makefile + m4/system.h:m4/system_.h + modules/Makefile + src/Makefile + tests/Makefile + tests/atlocal +]) AC_OUTPUT Index: config/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/config/Makefile.am,v retrieving revision 1.14 diff -u -p -u -r1.14 Makefile.am --- config/Makefile.am 4 Sep 2003 13:12:16 -0000 1.14 +++ config/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -35,7 +35,7 @@ $(srcdir)/intdiv0.m4 \ $(srcdir)/inttypes-pri.m4 \ $(srcdir)/inttypes.m4 \ $(srcdir)/inttypes_h.m4 \ -$(srcdir)/iscposix.m4 \ +$(srcdir)/isc-posix.m4 \ $(srcdir)/lcmessage.m4 \ $(srcdir)/lib-ld.m4 \ $(srcdir)/lib-link.m4 \ Index: config/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/stdbool.m4 diff -N config/stdbool.m4 --- config/stdbool.m4 29 Aug 2003 16:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,89 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# Prepare for substituting if it is not supported. - -AC_DEFUN([AM_STDBOOL_H], -[ - AC_REQUIRE([AC_HEADER_STDBOOL]) - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" =3D yes; then - STDBOOL_H=3D'' - else - STDBOOL_H=3D'stdbool.h' - fi - AC_SUBST([STDBOOL_H]) - - if test "$ac_cv_type__Bool" =3D yes; then - HAVE__BOOL=3D1 - else - HAVE__BOOL=3D0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf -# have this macro built-in. - -AC_DEFUN([AC_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_TRY_COMPILE( - [ - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: false is not defined" - #endif - #if true !=3D 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true =3D=3D 1 ? 1 : -1]; - char b[false =3D=3D 0 ? 1 : -1]; - char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; - char d[(bool) -0.5 =3D=3D true ? 1 : -1]; - bool e =3D &s; - char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - ], - [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], - [ac_cv_header_stdbool_h=3Dyes], - [ac_cv_header_stdbool_h=3Dno])]) - AC_CHECK_TYPES([_Bool]) - if test $ac_cv_header_stdbool_h =3D yes; then - AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) - fi]) Index: gnulib/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/Makefile.am diff -N gnulib/Makefile.am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -0,0 +1,31 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in= +## +## Copyright (C) 2003 Free Software Foundation +## +## 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 of the License, 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; see the file COPYING. If not, write to +## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +## Boston, MA 02111-1307, USA. +## +## Written by Gary V. Vaughan + +gnulib_macrodir =3D $(srcdir)/m4 +gnulib_srcdir =3D $(srcdir)/lib + +GNULIB_SRCS =3D \ +$(gnulib_srcdir)/stdbool_.h + +GNULIB_MACROS =3D \ +$(gnulib_macrodir)/stdbool.m4 + +EXTRA_DIST =3D $(GNULIB_SRCS) $(GNULIB_MACROS) \ No newline at end of file Index: gnulib/m4/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/stdbool.m4 diff -N gnulib/m4/stdbool.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/stdbool.m4 4 Sep 2003 13:59:53 -0000 @@ -0,0 +1,89 @@ +# Check for stdbool.h that conforms to C99. + +# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([AM_STDBOOL_H], +[ + AC_REQUIRE([AC_HEADER_STDBOOL]) + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" =3D yes; then + STDBOOL_H=3D'' + else + STDBOOL_H=3D'stdbool.h' + fi + AC_SUBST([STDBOOL_H]) + + if test "$ac_cv_type__Bool" =3D yes; then + HAVE__BOOL=3D1 + else + HAVE__BOOL=3D0 + fi + AC_SUBST([HAVE__BOOL]) +]) + +# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf +# have this macro built-in. + +AC_DEFUN([AC_HEADER_STDBOOL], + [AC_CACHE_CHECK([for stdbool.h that conforms to C99], + [ac_cv_header_stdbool_h], + [AC_TRY_COMPILE( + [ + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: false is not defined" + #endif + #if true !=3D 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true =3D=3D 1 ? 1 : -1]; + char b[false =3D=3D 0 ? 1 : -1]; + char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; + char d[(bool) -0.5 =3D=3D true ? 1 : -1]; + bool e =3D &s; + char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + ], + [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], + [ac_cv_header_stdbool_h=3Dyes], + [ac_cv_header_stdbool_h=3Dno])]) + AC_CHECK_TYPES([_Bool]) + if test $ac_cv_header_stdbool_h =3D yes; then + AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) + fi]) Index: m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.19 diff -u -p -u -r1.19 Makefile.am --- m4/Makefile.am 29 Aug 2003 18:33:38 -0000 1.19 +++ m4/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -52,17 +52,21 @@ dist-hook: rm -f $(distdir)/system.h =20 =20 -# ------------------------------------------------------------ # -# Taken from gnulib/modules/stdbool:Makefile.am. Do not edit. # -# ------------------------------------------------------------ # +gnulib_srcdir =3D $(top_srcdir)/gnulib/lib + + +# ------------------------------------------------ # +# Adapted from gnulib/modules/stdbool:Makefile.am. # +# ------------------------------------------------ # =20 BUILT_SOURCES +=3D $(STDBOOL_H) -EXTRA_DIST +=3D stdbool_.h +MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t + +pkginc_HEADERS +=3D $(STDBOOL_H) =20 # We need the following in order to create an when the syste= m # doesn't have one that works. all-local $(lib_OBJECTS): $(STDBOOL_H) -stdbool.h: stdbool_.h - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool_.h > $@= -t +stdbool.h: $(gnulib_srcdir)/stdbool_.h + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(gnulib_srcdir)/stdbool_= =2Eh > $@-t mv $@-t $@ -MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t Index: m4/stdbool_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/stdbool_.h diff -N m4/stdbool_.h --- m4/stdbool_.h 29 Aug 2003 16:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,92 +0,0 @@ -/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - 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 Foundatio= n, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _STDBOOL_H -#define _STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) =3D=3D 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be us= ed. - - - You cannot assume that _Bool is a typedef; it might be a macro.= - - - In C99, casts and automatic conversions to '_Bool' or 'bool' ar= e - performed in such a way that every nonzero value gets converted= - to 'true', and zero gets converted to 'false'. This doesn't wo= rk - with this substitute. With this substitute, only the values 0 = and 1 - give the expected result when converted to _Bool' or 'bool'. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the sam= e - definitions below, but temporarily we have to #undef them. */ -#ifdef __BEOS__ -# undef false -# undef true -#endif - -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false =3D 0, true =3D 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#ifndef __cplusplus -# if !@HAVE__BOOL@ -# if defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ =3D=3D 1) - /* Avoid stupid "warning: _Bool is a keyword in ISO C99". */ -# define _Bool signed char -enum { false =3D 0, true =3D 1 }; -# else -typedef enum { _Bool_must_promote_to_int =3D -1, false =3D 0, true =3D 1= } _Bool; -# endif -# endif -#else -typedef bool _Bool; -#endif -#define bool _Bool - -/* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 -#define __bool_true_false_are_defined 1 - -#endif /* _STDBOOL_H */ Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.28 diff -u -p -u -r1.28 cs.po --- po/cs.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/cs.po 4 Sep 2003 13:59:53 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -154,120 +154,104 @@ msgstr "" msgid "No previous regular expression" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - # , c-format -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Jm=E9no %s nen=ED definov=E1no" - -# , c-format -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Vstup =E8ten z %s, =F8=E1dku %d" =20 # , c-format -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Vstup =E8ten z %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=AE=C1DN=DD" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "CHYBA: EOF v =F8et=ECzci" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "CHYBA: EOF v seznamu argument=F9" =20 # , c-format -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "CHYBA: p=F8ekro=E8en limit pro rekurzi (%d), zm=EC=F2te jej pomo= c=ED -L" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +# , c-format +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +# , c-format +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +# , c-format +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 # , c-format -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt: %s" =20 -# , c-format -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - # , c-format -#: m4/module.c:377 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -# , c-format -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 # , c-format -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -# , c-format -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 #: m4/output.c:287 @@ -285,33 +269,27 @@ msgstr "CHYBA: odlo=BEen=FD v=FDstup nelze zap msgid "copying inserted file" msgstr "CHYBA: p=F8i zapisov=E1n=ED vlo=BEen=E9ho souboru" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "CHYBA: p=F8i =E8ten=ED vlo=BEen=E9ho souboru" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Chyba p=F8i vol=E1n=ED funkce stat pro soubor obsahuj=EDc=ED odl= o=BEen=FD v=FDstup" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 # , c-format -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Hled=E1n soubor `%s', nalezen soubor `%s'" =20 # , c-format -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Jm=E9no `%s' nen=ED zn=E1mo\n" - -# , c-format #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -360,72 +338,78 @@ msgid "Warning: %s: modulo by zero: %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Syntaktick=FD k=F3d %c nen=ED definov=E1n" + +# , c-format +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Lad=EDc=ED m=F3d: =B9patn=E9 lad=EDc=ED volby: `%s'" =20 # , c-format -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Chybov=FD soubor %s nelze pou=BE=EDt" =20 # , c-format -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=A9patn=FD regul=E1rn=ED v=FDraz `%s': %s" =20 # , c-format -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 # , c-format -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Rouru do p=F8=EDkazu `%s' nelze otev=F8=EDt" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "VAROV=C1N=CD: \\0 zmiz=ED, p=F8i nahrazov=E1n=ED pou=BEijte \\&"= =20 # , c-format -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Chyba p=F8i vol=E1n=ED makra undivert pro %s" =20 # , c-format -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "%s nelze otev=F8=EDt" @@ -436,49 +420,49 @@ msgstr "%s nelze otev=F8=EDt" msgid "Loss of precision in eval: %s" msgstr "=A9patn=FD v=FDraz v makru eval: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Ve zmrazen=E9m souboru o=E8ek=E1v=E1n LF" =20 # , c-format -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Ve zmrazen=E9m souboru o=E8ek=E1v=E1n znak `%c'" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "P=F8ed=E8asn=FD konec zmrazen=E9ho souboru" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=A9patn=FD form=E1t zmrazen=E9ho souboru" =20 # , c-format -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' ze zmrazen=E9ho souboru nenalezeno v tabulce vestav=ECn=FDc= h maker!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "CHYBA: P=F8ete=E8en=ED z=E1sobn=EDku. (nekone=E8n=E1 rekurze mak= ra define?)" =20 # , c-format -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "V=EDce informac=ED z=EDsk=E1te p=F8=EDkazem `%s --help'.\n" =20 # , c-format -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Pou=BEit=ED: %s [P=D8EP=CDNA=C8]... [SOUBOR]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -507,15 +491,16 @@ msgstr "" " -P, --prefix-builtins v=B9echna vestav=ECn=E1 makra budou m=ED= t prefix " "`m4_'\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -533,7 +518,7 @@ msgstr "" " -U, --undefine=3DMAKRO sma=BEe vestav=ECn=E9 MAKRO\n" " -s, --synclines vlo=BE=ED =F8=E1dky tvaru `#line =C8=CD= SLO \"SOUBOR\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -548,7 +533,7 @@ msgstr "" "symbol=F9\n" " -L, --nesting-limit=3D=C8=CDSLO nastav=ED limit pro vno=F8en=E1 v= ol=E1n=ED maker\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -560,7 +545,7 @@ msgstr "" " -F, --freeze-state=3DSOUBOR p=F8i ukon=E8en=ED ulo=BE=ED zmrazen=FD= stav do SOUBORU\n" " -R, --reload-state=3DSOUBOR p=F8i startu na=E8te zmrazen=FD stav = ze SOUBORU\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -579,7 +564,7 @@ msgstr "" " -o, --error-output=3DSOUBOR p=F8esm=ECruje v=FDstup lad=ECn=ED a = sledov=E1n=ED do " "SOUBORU\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -609,7 +594,7 @@ msgstr "" " i vyp=ED=B9e informace o ka=BEd=E9 zm=ECn=EC vstupn=EDho souboru\n"= " V zkratka pro v=B9echny v=FD=B9e uveden=E9 volby\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -618,7 +603,7 @@ msgstr "" "Jestli=BEe SOUBOR nen=ED zad=E1n, nebo je SOUBOR `-', pak je =E8ten sta= ndardn=ED " "vstup.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -627,31 +612,31 @@ msgstr "" "Chyby v programu oznamujte na adrese (anglicky).\n" "P=F8ipom=EDnky k p=F8ekladu zas=EDlejte na adresu (=E8esky)= =2E\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 # , c-format -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=A9patn=E9 lad=EDc=ED volby: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -675,8 +660,18 @@ msgid ". Check for possible infinite re msgstr ". Prov=EC=F8te, zda se nejedn=E1 o nekone=E8nou rekurzi.\n" =20 # , c-format -#~ msgid "Undefined syntax code %c" -#~ msgstr "Syntaktick=FD k=F3d %c nen=ED definov=E1n" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Jm=E9no %s nen=ED definov=E1no" + +# , c-format +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +# , c-format +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Jm=E9no `%s' nen=ED zn=E1mo\n" =20 #, fuzzy #~ msgid "" Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.28 diff -u -p -u -r1.28 de.po --- po/de.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/de.po 4 Sep 2003 13:59:53 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -71,7 +71,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -152,112 +152,97 @@ msgstr "" msgid "No previous regular expression" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Name %s nicht definiert" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Eingabe zur=FCckgenommen zu %s, Zeile %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Eingabe gelesen von %s" =20 # This is the name of the input file when there is no current input file= =2E # Is this ever printed in a message? -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "NONE" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FEHLER: Dateiende in Zeichenkette" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FEHLER: Dateiende in Argumentliste" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L zur = =C4nderung" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEHLER: Kann Modul =BB%s=AB nicht finden: %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 #: m4/output.c:287 @@ -275,30 +260,25 @@ msgstr "FEHLER: Kann Umleitung nicht in=20 msgid "copying inserted file" msgstr "FEHLER: W=E4hrend Kopieren einer eingef=FCgten Datei" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FEHLER: W=E4hrend Lesen einer eingef=FCgten Datei" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Kann `stat' nicht auf Umleitung anwenden" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Pfad f=FCr Suche nach =BB%s=AB hat =BB%s=AB gefunden" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Name =BB%s=AB ist unbekannt\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -339,62 +319,67 @@ msgstr "Name %s nicht definiert" msgid "Warning: %s: modulo by zero: %s" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Syntaxzeichen %c nicht definiert." + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmodus: falsche Debug Flags: =BB%s=AB" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kann Fehlerdatei nicht vorbereiten: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Falscher regul=E4rer Ausdruck =BB%s=AB: %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kann keine `pipe' f=FCr Kommando =BB%s=AB =F6ffnen" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "WARNUNG: \\0 wird wegfallen, benutze \\& stattdessen" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Name %s nicht definiert" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Kann Umleitung %s nicht aufheben" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kann %s nicht =F6ffnen" @@ -404,47 +389,47 @@ msgstr "Kann %s nicht =F6ffnen" msgid "Loss of precision in eval: %s" msgstr "Falscher Ausdruck in `eval': %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Erwarte Zeilenumbruch in eingefrorener Datei" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Erwarte Zeichen =BB%c=AB in eingefrorener Datei" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Vorzeitiges Ende der eingefrorenen Datei" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Fehlerhafte eingefrorene Datei" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "" "=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebauten Funkt= ionen " "gefunden!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEHLER: Keller voll. (Unendliche `define' Rekursion?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BB%s --help=AB zeigt weitere Informationen.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -473,12 +458,13 @@ msgstr "" " -P, --prefix-builtins erzwinge `m4_' Pr=E4fix f=FCr eingebaute= " "Funktionen\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, fuzzy, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" "\n" "Dynamisches Laden:\n" @@ -486,7 +472,7 @@ msgstr "" "hinzu\n" " -M, --load-module=3DMODULE lade dynamisches MODULE aus M4M= ODPATH\n" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -503,7 +489,7 @@ msgstr "" " -U, --undefine=3DNAME l=F6sche eingebaute Funktion NAME\n" " -s, --synclines erzeuge `#line NR \"DATEI\"' Zeilen\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -518,7 +504,7 @@ msgstr "" " -L, --nesting-limit=3DNUMMER setze k=FCnstliche Grenze f=FCr " "Schachtelungstiefe\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -532,7 +518,7 @@ msgstr "" " -R, --reload-state=3DDATEI lade zu Beginn Zustand von eingefroren= er " "DATEI\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -550,7 +536,7 @@ msgstr "" " -o, --error-output=3DDATEI leite Debug- und Verfolgungsausgaben n= ach " "DATEI\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -580,7 +566,7 @@ msgstr "" " i gebe Ver=E4nderungen der Eingabedatei aus\n" " V Kurzform f=FCr alle Flags oben zusammen\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -588,7 +574,7 @@ msgstr "" "\n" "Ohne DATEI oder wenn DATEI `-' ist, wird die Standardeingabe gelesen\n"= =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -596,30 +582,30 @@ msgstr "" "\n" "Probleme und Fehler an .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, fuzzy, c-format msgid "failed to add search directory `%s'" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen" =20 -#: src/main.c:309 +#: src/main.c:323 #, fuzzy, c-format msgid "failed to add search directory `%s': %s" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen: %s" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Falsche Debug Flags: =BB%s=AB" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -641,8 +627,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Untersuche auf m=F6gliche unendliche Rekursion.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Syntaxzeichen %c nicht definiert." +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Name %s nicht definiert" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Name =BB%s=AB ist unbekannt\n" =20 #, fuzzy #~ msgid "" Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.28 diff -u -p -u -r1.28 el.po --- po/el.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/el.po 4 Sep 2003 13:59:53 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,111 +150,96 @@ msgstr "" msgid "No previous regular expression" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=C7 =E5=DF=F3=EF=E4=EF=F2 =E5=F0=E1=ED=E1=F6=DD=F1=E8=E7=EA=E5 =F3= =F4=EF %s, =E3=F1=E1=EC=EC=DE %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "=C7 =E5=DF=F3=EF=E4=EF=F2 =E1=ED=E1=E3=ED=FE=F3=F4=E7=EA=E5 =E1=F0= =FC =F4=EF %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=CA=C1=CD=C5=CD=C1" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=EF =E1=EB=F6=E1=F1=E9=E8=EC=E7=F4= =E9=EA=FC" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=E7 =EB=DF=F3=F4=E1 =EF=F1=E9=F3=EC= =DC=F4=F9=ED" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE=F2 %d = =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7 =F4=EF= =F5 -L =E3=E9=E1 =ED=E1 =F4=EF " "=E1=EB=EB=DC=EE=E5=F4=E5" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s': %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 #: m4/output.c:287 @@ -272,30 +257,25 @@ msgstr "=D3=D6=C1=CB=CC=C1: =C1=E4=F5=ED=E1=EC=DF=E1= =E1=F0=EF=F3=F4=EF=EB=DE=F2 =E1=EB=EB=E1=E3 msgid "copying inserted file" msgstr "=D3=D6=C1=CB=CC=C1: =C1=ED=F4=E9=E3=F1=E1=E3=DE =E5=E9=F3=E5=F1=F7= =EF=EC=DD=ED=EF=F5 =E1=F1=F7=E5=DF=EF=F5" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=D3=D6=C1=CB=CC=C1: =C1=ED=DC=E3=ED=F9=F3=E7 =E5=E9=F3=E5=F1=F7=EF= =EC=DD=ED=EF=F5 =E1=F1=F7=E5=DF=EF=F5" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F0=F1=EF=F3=F0=DD=EB=E1=F3=E7=F2 =F4=EF= =F5 =E1=F1=F7=E5=DF=EF=F5 =F4=E7=F2 =E1=EB=EB=E1=E3=DE=F2" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=CF =DD=EB=E5=E3=F7=EF=F2 =EC=EF=ED=EF=F0=E1=F4=E9=EF=FD =E3=E9=E1= =F4=EF `%s' =E2=F1=DE=EA=E5 `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "=D4=EF =FC=ED=EF=EC=E1 `%s' =E5=DF=ED=E1=E9 =DC=E3=ED=F9=F3=F4=EF= \n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,64 +316,69 @@ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC= =E1 %s" msgid "Warning: %s: modulo by zero: %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF=F2 =EA=FE=E4=E9=EA=E1=F2 =F3=FD=ED= =F4=E1=EE=E7=F2 %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "=CA=E1=F4=DC=F3=F4=E1=F3=E7 =E1=F0=EF=F3=F6=E1=EB=EC=DC=F4=F9=F3= =E7=F2: =EB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E1=F0=EF=F3=F6=E1=EB=EC=DC= =F4=F9=F3=E7=F2: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F1=FD=E8=EC=E9=F3=E7=F2 =F4=EF=F5 =E1=F1= =F7=E5=DF=EF=F5 =F3=F6=E1=EB=EC=DC=F4=F9=ED: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=CB=DC=E8=EF=F2 =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `= %s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1=F4=EF=F2 =F3=F9=EB= =DE=ED=F9=F3=E7=F2 =F3=F4=E7=ED =E5=ED=F4=EF=EB=DE `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" "=D0=D1=CF=C5=C9=C4=CF=D0=CF=C9=C7=D3=C7: =D4=EF \\0 =E8=E1 =E5=EE=E1=F6= =E1=ED=E9=F3=F4=E5=DF, =EA=DC=ED=E5=F4=E5 =F7=F1=DE=F3=E7 =F4=EF=F5 \\& =E1= =ED=F4=DF=E8=E5=F4=E1 =F3=F4=E9=F2 " "=E1=ED=F4=E9=EA=E1=F4=E1=F3=F4=DC=F3=E5=E9=F2" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E5=F0=E1=ED=E1=F6=EF=F1=DC=F2 =F4=EF=F5= %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1=F4=EF=F2 =F4=EF=F5= %s" @@ -403,45 +388,45 @@ msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC= =E1=F4=EF=F2 =F4=EF=F5 %s" msgid "Loss of precision in eval: %s" msgstr "=CB=DC=E8=EF=F2 =DD=EA=F6=F1=E1=F3=E7 =F3=F4=E7=ED =E1=F0=EF=F4=DF= =EC=E7=F3=E7: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=C1=ED=E1=EC=E5=ED=FC=F4=E1=ED `line feed' =F3=F4=EF =F0=E1=E3=F9= =EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=C1=ED=E1=EC=E5=ED=FC=F4=E1=ED =F7=E1=F1=E1=EA=F4=DE=F1=E1=F2 `%= c' =F3=F4=EF =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=D0=F1=FC=F9=F1=EF =F4=DD=EB=EF=F2 =F0=E1=E3=F9=EC=DD=ED=EF=F5 =E1= =F1=F7=E5=DF=EF=F5" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=CA=E1=EA=FC-=EC=EF=F1=F6=EF=F0=EF=E9=E7=EC=DD=ED=EF =F0=E1=E3=F9= =EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=F4=EF `%s' =E1=F0=FC =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF= =E4=E5 =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF=ED =F0=DF=ED=E1=EA=E1 =E5=F3=F9=E4= =EF=EC=E7=EC=DD=ED=F9=ED" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=D3=D6=C1=CB=CC=C1: =D5=F0=E5=F1=F7=E5=DF=EB=E7=F3=E7 =F3=F4=EF=DF= =E2=E1=F2. (=C1=ED=E1=E4=F1=EF=EC=DE =E1=F0=E5=DF=F1=EF=F5 =E2=DC=E8=EF=F5= =F2;)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=C4=EF=EA=E9=EC=DC=F3=F4=E5 `%s --help' =E3=E9=E1 =F0=E5=F1=E9=F3= =F3=FC=F4=E5=F1=E7 =E2=EF=DE=E8=E5=E9=E1.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=D7=F1=DE=F3=E7: %s [=C5=D0=C9=CB=CF=C3=C7]... [=C1=D1=D7=C5=C9=CF= ]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -472,15 +457,16 @@ msgstr "" " -P, --prefix-builtins =E5=F0=E9=E2=EF=EB=DE =F0=F1=EF=E8=DD=EC= =E1=F4=EF=F2 `m4_' =F3=E5 =FC=EB=E1 =F4=E1 " "=E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=E1\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -498,7 +484,7 @@ msgstr "" " -s, --synclines =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =E3=F1=E1= =EC=EC=FE=ED `#line =C1=D1=C9=C8=CC=CF=D3 \"=C1=D1=D7=C5=C9=CF" "\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -512,7 +498,7 @@ msgstr "" " -H, --hashsize=3D=D0=D1=D9=D4=CF=D3 =EF=F1=E9=F3=EC=FC=F2 =EC=E5= =E3=DD=E8=EF=F5=F2 =F0=DF=ED=E1=EA=E1 =E1=ED=E1=E6=DE=F4=E7=F3=E7=F2 =F3=F5= =EC=E2=FC=EB=EF=F5\n" " -L, --nesting-limit=3D=C1=D1=C9=C8=CC=CF=D3 =E1=EB=EB=E1=E3=DE =F4=E5= =F7=ED=E7=F4=EF=FD =EF=F1=DF=EF=F5 =F6=F9=EB=E9=E1=F3=EC=FE=ED\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -526,7 +512,7 @@ msgstr "" " -R, --reload-state=3DARXEIO =F6=FC=F1=F4=F9=EC=E1 =EE=E1=ED=DC =F0= =E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =E1=F0=FC =C1=D1=D7= =C5=C9=CF " "=F3=F4=E7=ED =E5=EA=EA=DF=ED=E7=F3=E7\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -544,7 +530,7 @@ msgstr "" " -o, --error-output=3D=C1=D1=D7=C5=C9=CF =E5=F0=E1=ED=E1=EA=E1=F4=E5= =FD=E8=F5=ED=F3=E7 =E5=EE=FC=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7= =F2 =EA=E1=E9 " "=E1=ED=DF=F7=ED=E5=F5=F3=E7=F2\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -576,7 +562,7 @@ msgstr "" " i =E5=EC=F6=DC=ED=E9=F3=E7 =E1=EB=EB=E1=E3=FE=ED =F3=F4=E1 =E1=F1=F7= =E5=DF=E1 =E5=E9=F3=FC=E4=EF=F5\n" " V =F3=F5=ED=F4=EF=EC=EF=E3=F1=E1=F6=DF=E1 =E3=E9=E1 =FC=EB=E5=F2 =F4= =E9=F2 =F0=E1=F1=E1=F0=DC=ED=F9 =F3=E7=EC=E1=DF=E5=F2\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -585,7 +571,7 @@ msgstr "" "=D7=F9=F1=DF=F2 =C1=D1=D7=C5=C9=CF, =DE =FC=F4=E1=ED =F4=EF =E1=F1=F7=E5= =DF=EF =E5=DF=ED=E1=E9 =F4=EF -, =E1=ED=DC=E3=ED=F9=F3=E7 =E1=F0=FC =F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE " "=E5=DF=F3=EF=E4=EF.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -593,30 +579,30 @@ msgstr "" "\n" "=C1=ED=E1=F6=DD=F1=E1=F4=E5 =F3=F6=DC=EB=EC=E1=F4=E1 =F3=F4=EF .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=CB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E5=EA=F3=F6=E1=EB=EC=DC=F4= =F9=F3=E7=F2: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -639,8 +625,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8=E1=ED=DE =E5=F0'= =DC=F0=E5=E9=F1=EF =E1=ED=E1=E4=F1=EF=EC=DE.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF=F2 =EA=FE=E4=E9=EA=E1=F2 =F3=FD= =ED=F4=E1=EE=E7=F2 %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7= =F2 =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "=D4=EF =FC=ED=EF=EC=E1 `%s' =E5=DF=ED=E1=E9 =DC=E3=ED=F9=F3=F4= =EF\n" =20 #, fuzzy #~ msgid "" Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.28 diff -u -p -u -r1.28 fr.po --- po/fr.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/fr.po 4 Sep 2003 13:59:54 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -71,7 +71,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -152,111 +152,96 @@ msgstr "" msgid "No previous regular expression" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Nom =AB%s=BB non-d=E9fini" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Entr=E9e reprise de %s, ligne %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Entr=E9e lue de %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "AUCUN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "ERREUR: Fin-de-fichier dans la cha=EEne" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "ERREUR: Fin-de-fichier dans la liste d'arguments" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "ERREUR: Limite de r=E9cursion %d d=E9pass=E9e, la changer par -L= " =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Incapable d'ouvrir %s" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -272,30 +257,25 @@ msgstr "ERREUR: Incapable de vider la di msgid "copying inserted file" msgstr "ERREUR: Pendant la copie du fichier ins=E9r=E9" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "ERREUR: Pendant la lecture d'un fichier ins=E9r=E9" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Incapable d'op=E9rer =ABstat=BB pour la diversion" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La fouille du chemin pour =AB%s=BB trouve =AB%s=BB" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Le nom =AB%s=BB est inconnu\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,62 +316,67 @@ msgstr "Nom =AB%s=BB non-d=E9fini" msgid "Warning: %s: modulo by zero: %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Nom =AB%s=BB non-d=E9fini" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Mauvaise expression r=E9guli=E8re =AB%s=BB: %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Incapable d'ouvrir un =ABpipe=BB pour la commande =AB%s=BB" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "ATTENTION: \\\\0 dispara=EEtra, utiliser \\\\& plut=F4t pour les= remplacements" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Incapble de ramener la diversion %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Incapable d'ouvrir %s" @@ -401,45 +386,45 @@ msgstr "Incapable d'ouvrir %s" msgid "Loss of precision in eval: %s" msgstr "Mauvaise expression dans =ABeval=BB: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Fin-de-ligne attendue du fichier fig=E9" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Caract=E8re =AB%c=BB attendu du fichier fig=E9" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Fin pr=E9matur=E9e de fichier fig=E9" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Fichier fig=E9 difforme" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=AB%s=BB dans le fichier fig=E9 est introuvable dans la table de= s pr=E9d=E9finis!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERREUR INTERNE: Mauvais type de lex=E8me dans expand_token ()" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour plus d'information, essayez =AB%s --help=BB.\\n\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPTION]... [FICHIER]...\\n\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -467,15 +452,16 @@ msgstr "" " -Q, --quiet, --silent inhiber certains diagnostics pr=E9d=E9fi= nis\n" " -P, --prefix-builtins pr=E9fixer tous les pr=E9d=E9finis par =AB= m4_=BB\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -492,7 +478,7 @@ msgstr "" " -U, --undefine=3DNOM =E9liminer le NOM pr=E9d=E9fini\n" " -s, --synclines engendrer des lignes =AB#line NNN \\\"FI= CHIER\\\"=BB\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -507,7 +493,7 @@ msgstr "" " -L, --nesting-limit=3DNOMBRE modifier la limite artificielle " "d'imbrication\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -519,7 +505,7 @@ msgstr "" " -F, --freeze-state=3DFICHIER produire un FICHIER fig=E9 =E0 la fin\= n" " -R, --reload-state=3DFICHIER recharger un FICHIER fig=E9 au d=E9par= t\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -536,7 +522,7 @@ msgstr "" " -o, --error-output=3DFICHIER rediriger la sortie de trace et mise-a= u-" "point\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -566,7 +552,7 @@ msgstr "" " i afficher les modifications dans les fichiers d'entr=E9e\n" " V abbr=E9viation commode pour toutes les options pr=E9c=E9dentes =E0= la fois\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -574,36 +560,36 @@ msgstr "" "\n" "Si aucun FICHIER ou si FICHIER vaut =AB-=BB, lit l'entr=E9e standard.\n= " =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -626,8 +612,15 @@ msgid ". Check for possible infinite re msgstr ". V=E9rifier une r=E9cursion hors contr=F4le.\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "Nom =AB%s=BB non-d=E9fini" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Le nom =AB%s=BB est inconnu\n" =20 #, fuzzy #~ msgid "" Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.29 diff -u -p -u -r1.29 it.po --- po/it.po 12 Jun 2003 16:31:59 -0000 1.29 +++ po/it.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,111 +150,96 @@ msgstr "" msgid "No previous regular expression" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Nome `%s' non definito" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Ingresso ripristinato su %s, linea %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Errore di lettura da %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "NESSUNO" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "ERRORE: Fine prematura di una stringa" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "ERRORE: Fine prematura della lista di argomenti" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Impossibile aprire %s" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Impossibile aprire l' archivio di errore: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Impossibile aprire l' archivio di errore: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -270,30 +255,25 @@ msgstr "ERRORE: Impossibile terminare la msgid "copying inserted file" msgstr "ERRORE: Copiando archivio inserito" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "ERRORE: Leggendo archivio inserito" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Impossibile effettuare la `stat' per la deviazione" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La ricerca del percorso per `%s' ha trovato `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Il nome `%s' sconosciuto\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -334,62 +314,67 @@ msgstr "Nome `%s' non definito" msgid "Warning: %s: modulo by zero: %s" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Nome `%s' non definito" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Modalit di debug: indicatori di debug errati: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Impossibile aprire l' archivio di errore: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Espressione regolare errata `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Impossibile aprire una `pipe' per il comando `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Nome `%s' non definito" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Impossibile ripristinare la deviazione %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Impossibile aprire %s" @@ -399,45 +384,45 @@ msgstr "Impossibile aprire %s" msgid "Loss of precision in eval: %s" msgstr "Espressione errata in `eval': %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Atteso il carattere di fine linea in archivio congelato" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Atteso il carattere `%c' in archivio congelato" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Fine prematura dell' archivio congelato" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Archivio congelato malformato" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERRORE: Stack overflow. (Ricorsione infinita in `define'?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Per ulteriori informazioni provare `%s --help'.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPZIONE]... [ARCHIVIO]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" "for short options too.\n" @@ -453,15 +438,16 @@ msgid "" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -471,7 +457,7 @@ msgid "" " -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" =20 -#: src/main.c:119 +#: src/main.c:128 msgid "" "\n" "Limits control:\n" @@ -479,7 +465,7 @@ msgid "" " -L, --nesting-limit=3DNUMBER change artificial nesting limit\n" msgstr "" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -487,7 +473,7 @@ msgid "" " -R, --reload-state=3DFILE reload a frozen state from FILE at sta= rt\n" msgstr "" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -497,7 +483,7 @@ msgid "" " -o, --error-output=3DFILE redirect debug and trace output\n" msgstr "" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -514,42 +500,42 @@ msgid "" " V shorthand for all of the above flags\n" msgstr "" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Indicatori di debug errati: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -570,8 +556,15 @@ msgid ". Check for possible infinite re msgstr ". Controllare una possibile ricorsione infinita.\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "Nome `%s' non definito" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Impossibile aprire l' archivio di errore: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Il nome `%s' sconosciuto\n" =20 #, fuzzy #~ msgid "" Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.28 diff -u -p -u -r1.28 ja.po --- po/ja.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/ja.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -69,7 +69,7 @@ msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5= =D7=A5=B7=A5=E7=A5=F3=CC=BE=A4 msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -150,113 +150,98 @@ msgstr "" msgid "No previous regular expression" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD=A4=AC=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4= =A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=A5=D5=A5=A1=A5=A4=A5=EB %s, %d =B9=D4=CC=DC=A4=AB=A4=E9=C6=FE=CE= =CF=A4=B7=C4=BE=A4=B7=A4=DE=A4=B9=A1=A3" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "%s =A4=AB=A4=E9=A4=CE=C6=FE=CE=CF=A4=F2=C6=C9=A4=DF=B9=FE=A4=DF=A4= =DE=A4=B9=A1=A3" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=A4=CA=A4=B7" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=A5=A8=A5=E9=A1=BC: =CA=B8=BB=FA=CE=F3=C6=E2=A4=CB=A5=D5=A5=A1=A5= =A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE=A4=B9=A1=A3= " =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=A5=A8=A5=E9=A1=BC: =B0=FA=BF=F4=A5=EA=A5=B9=A5=C8=C6=E2=A4=CB=A5= =D5=A5=A1=A5=A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE= =A4=B9=A1=A3" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=A5=A8=A5=E9=A1=BC=A1=A7=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=CE=A5=CD=A5=B9= =A5=C8=A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=C3=CD %d =A4=F2=C4=B6=A4=A8=A4= =C6=A4=A4=A4=DE=A4=B9=A1=A3\n" " -L<=BF=F4=BB=FA> =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=F2=CD=D1=A4=A4= =A4=C6=A5=CD=A5=B9=A5=C8=BF=F4=A4=CE=BE=E5=B8=C2=A4=F2=C1=FD=A4=E4=A4=B7=A4= =C6=B2=BC=A4=B5=A4=A4=A1=A3" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -272,32 +257,27 @@ msgstr "=A5=A8=A5=E9=A1=BC: =A5=C6=A5=F3=A5=DD=A5=E9= =A5=EA=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB div msgid "copying inserted file" msgstr "=A5=A8=A5=E9=A1=BC: =C1=DE=C6=FE=A4=B5=A4=EC=A4=EB=A4=D9=A4=AD=A5= =D5=A5=A1=A5=A4=A5=EB=A4=F2=A5=B3=A5=D4=A1=BC=C3=E6=A4=C7=A4=B9=A1=A3" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=A5=A8=A5=E9=A1=BC: =C1=DE=C6=FE=A4=B5=A4=EC=A4=EB=A4=D9=A4=AD=A5= =D5=A5=A1=A5=A4=A5=EB=A4=F2=A5=EA=A1=BC=A5=C9=C3=E6=A4=C7=A4=B9=A1=A3" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "" "divert =A4=CE=A4=BF=A4=E1=A4=CE=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE=A5=B9=A5=C6= =A1=BC=A5=BF=A5=B9=A4=F2=C6=C0=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4= =BB=A4=F3=A1=A3\n" " (stat =A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3)" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "`%s' =A4=C8=A4=A4=A4=A6=A5=C7=A5=A3=A5=EC=A5=AF=A5=C8=A5=EA=A4=AB= =A4=E9 `%s' =A4=C8=A4=A4=A4=A6=A5=D5=A5=A1=A5=A4=A5=EB=A4=F2=B8=AB=A4=C4=A4= =B1=A4=DE=A4=B7=A4=BF=A1=A3" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -338,62 +318,67 @@ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4= =A4=A4=DE=A4=BB=A4=F3=A1=A3" msgid "Warning: %s: modulo by zero: %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "debugmode =A5=DE=A5=AF=A5=ED=A4=CB=A4=AA=A4=A4=A4=C6 %s =A4=CF=C9= =D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=C7= =A4=B9=A1=A3" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "`%s' : %s =A4=CF=A1=A2=C9=D4=C0=B5=A4=CA=C0=B5=B5=AC=C9=BD=B8=BD= =A4=C7=A4=B9=A1=A3" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD %s =A4=CE=A5=DE=A5=C3=A5=C1=A5=F3=A5=B0= =A4=CB=BC=BA=C7=D4=A4=B7=A4=DE=A4=B7=A4=BF=A1=A3" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=A5=B3=A5=DE=A5=F3=A5=C9 `%s' =A4=D8=A4=CE=A5=D1=A5=A4=A5=D7=A4=AC= =A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "=B7=D9=B9=F0=A1=A7\\0 =A4=CF=B5=EC=BC=B0=A4=CE=CD=D1=CB=A1=A4=C7= =A4=B9=A1=A3\\& =A4=F2=C2=E5=A4=EF=A4=EA=A4=CB=BB=C8=A4=C3=A4=C6=B2=BC=A4= =B5=A4=A4=A1=A3" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "`%s' =A4=F2 undivert =A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -403,47 +388,47 @@ msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4= =AD=A4=DE=A4=BB=A4=F3=A1=A3" msgid "Loss of precision in eval: %s" msgstr "eval =A4=C7 %s =A4=C8=A4=A4=A4=A6=C9=D4=C0=B5=A4=CA=BC=B0=A4=AC=CD= =D1=A4=A4=A4=E9=A4=EC=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=C6=E2=A4=C7=B2=FE=B9=D4=A5=B3= =A1=BC=A5=C9=A4=F2=B4=FC=C2=D4=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=C6=E2=A4=C7=CA=B8=BB=FA `%c= ' =A4=F2=B4=FC=C2=D4=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE EOF =A4=AC=C1=E1=A4=AF= =CD=E8=B2=E1=A4=AE=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=C6=E2=C9=F4=A5=A8=A5=E9=A1=BC=A1=A7=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4= =A5=EB=A4=CE=A5=D5=A5=A9=A1=BC=A5=DE=A5=C3=A5=C8=A4=AC=C9=D4=C0=B5=A4=C7=A4= =B9=A1=A3" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE %s =A4=CF=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=A5=C6=A1=BC=A5=D6=A5=EB=A4= =CB=A4=CF=A4=A2=A4=EA=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "" "=A5=A8=A5=E9=A1=BC: =A5=B9=A5=BF=A5=C3=A5=AF=A4=AC=A5=AA=A1=BC=A5=D0=A1= =BC=A5=D5=A5=ED=A1=BC=A4=F2=B5=AF=A4=B3=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3= \n" " (=CC=B5=B8=C2=A4=CB=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=F2=A4=B7=A4= =C6=A4=A4=A4=DE=A4=BB=A4=F3=A4=AB=A1=A9)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BE=DC=A4=B7=A4=AF=A4=CF `%s --help' =A4=CE=BD=D0=CE=CF=A4=F2=B8= =E6=CD=F7=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=BB=C8=CD=D1=CA=FD=CB=A1: %s [=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3]...= [=A5=D5=A5=A1=A5=A4=A5=EB=CC=BE]\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -469,15 +454,16 @@ msgstr "" " -Q, --quiet, --silent =A4=A4=A4=AF=A4=C4=A4=AB=A4=CE=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=B7=D9=B9=F0=A4=F2=CD=DE=C0= =A9=A4=B7=A4=DE=A4=B9=A1=A3\n" " -P, --prefix-builtins =C1=B4=A4=C6=A4=CE=A5=D3=A5=EB=A5=C8=A5=A4= =A5=F3=A5=DE=A5=AF=A5=ED=A4=CB `m4_' =A4=C8=A4=A4=A4=A6=C0=DC=C6=AC=BC=AD= =A4=F2 =B6=AF=C0=A9=C5=AA=A4=CB=C4=C9=B2=C3= =A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -496,7 +482,7 @@ msgstr "" " -U, --undefine=3DNAME NAME =A4=CE=C4=EA=B5=C1=A4=F2=BC=E8=A4= =EA=BE=C3=A4=B7=A4=DE=A4=B9=A1=A3\n" " -s, --synclines =B9=D4=C8=D6=B9=E6=A4=C8=A5=D5=A5=A1=A5= =A4=A5=EB=CC=BE=A4=CE=B9=D4=A4=F2=C0=B8=C0=AE=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -511,7 +497,7 @@ msgstr "" " =A5=BB=A5=C3=A5=C8=A4=B7=A4=DE=A4=B9=A1= =A3\n" " -L, --nesting-limit=3DNUNBER =A5=DE=A5=AF=A5=ED=A4=CE=A5=CD=A5=B9=A5= =C8=B2=F3=BF=F4=A4=CE=BE=E5=B8=C2=C3=CD=A4=F2=BF=CD=B0=D9=C5=AA=A4=CB=CA=D1= =B9=B9=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -523,7 +509,7 @@ msgstr "" " -R, --reload-state=3DFILE =BA=C7=BD=E9=A4=CB=BB=D8=C4=EA=A4=B5=A4= =EC=A4=BF FILE =A4=AB=A4=E9\n" " =C5=E0=B7=EB=A4=B5=A4=EC=A4=BF=C4=EA=B5= =C1=A4=F2=A5=ED=A1=BC=A5=C9=A4=B7=A4=DE=A4=B9\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -541,7 +527,7 @@ msgstr "" " -o, --error-output=3DFILE =A5=C7=A5=D0=A5=C3=A5=B0=A4=C8=A5=C8=A5= =EC=A1=BC=A5=B9=A4=CE=BD=D0=CE=CF=A4=F2 FILE =A4=CB\n" " =A5=EA=A5=C0=A5=A4=A5=EC=A5=AF=A5=C8=A4= =B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -573,7 +559,7 @@ msgstr "" " i =C6=FE=CE=CF=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB=C0=B8=A4=B8=A4=BF=CA=D1= =B2=BD=A4=F2=C9=BD=BC=A8=A4=B7=A4=DE=A4=B9=A1=A3\n" " V =BE=E5=B5=AD=A4=CE=C1=B4=A4=C6=A4=CE FLAG =A4=F2=BB=D8=C4=EA=A4=B9= =A4=EB=A4=B3=A4=C8=A4=F2=B0=D5=CC=A3=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -582,36 +568,36 @@ msgstr "" "FILE =A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=BE=EC=B9=E7= =A4=AA=A4=E8=A4=D3=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=A5=D5=A5=A1=A5=A4=A5=EB=A4= =AC `-' =A4=CE=BE=EC=B9=E7=A4=CF\n" " =C9=B8=BD=E0=C6=FE=CE=CF=A4=AC=C6=C9=A4=DF=B9=FE=A4=DE=A4=EC=A4= =DE=A4=B9=A1=A3\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "`%s' =A4=CF=C9=D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7= =A5=B7=A5=E7=A5=F3=B0=FA=BF=F4=A4=C7=A4=B9=A1=A3" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -635,8 +621,15 @@ msgid ". Check for possible infinite re msgstr ". =CC=B5=B8=C2=A4=CE=BA=C6=B5=A2=B8=C6=A4=D3=BD=D0=A4=B7=A4=AC=B9= =D4=A4=EF=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=A4=AB=A4=C9=A4=A6=A4=AB=A5=C1=A5=A7= =A5=C3=A5=AF=A4=B7=A4=C6=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4= =F3=A1=A3" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5= =EB=A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3= " + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4= =F3=A1=A3\n" =20 #, fuzzy #~ msgid "" Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.28 diff -u -p -u -r1.28 nl.po --- po/nl.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/nl.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,112 +150,97 @@ msgstr "" msgid "No previous regular expression" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Ongedefinieerde naam %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Invoer reverted naar %s, lijn %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Invoer gelezen vanuit %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "GEEN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FOUT: Einde van bestand teken in string" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FOUT: Einde van bestand teken in argumentenlijst" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FOUT: Recursie limiet of %d overschreden, gebruik -L om dit te wijzi= gen" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Kan %s niet openen" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Kan fout bestand niet instellen: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Kan fout bestand niet instellen: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -271,30 +256,25 @@ msgstr "FOUT: Kan diversion niet flushen msgid "copying inserted file" msgstr "FOUT: Kopieren ingevoegde bestanden" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FOUT: Lezen ingevoegd bestand" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Cannot stat diversion" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Zoeken naar `%s' via PATH levert `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Naam `%s' is niet bekend\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -335,62 +315,67 @@ msgstr "Ongedefinieerde naam %s" msgid "Warning: %s: modulo by zero: %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Ongedefinieerde syntax code %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: onjuiste debug vlaggen: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kan fout bestand niet instellen: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Onjuiste reguliere expressie `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan geen pijp openen voor commando `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "LET OP: \\0 zal verdwijnen, gebruik hiervoor \\& als vervanging"= =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Cannot undivert %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kan %s niet openen" @@ -400,45 +385,45 @@ msgstr "Kan %s niet openen" msgid "Loss of precision in eval: %s" msgstr "Onjuist expressie in evaluatie: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Verwacht nieuwe regel in gefixeerd bestand" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Verwacht karakter `%c' in gefixeerd bestand" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Voorbarig einde van gefixeerd bestand" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Slecht geformateerd gefixeerd bestand" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' van gefixeerd bestand niet gevonden in functie tabel!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FOUT: Stapel overflow. (Infinite define recursion?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' voor meer informatie.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -467,15 +452,16 @@ msgstr "" " -P, --prefix-builtins forceer een `m4_' voorvoegsel voor alle = \n" " ingebouwde functies\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -494,7 +480,7 @@ msgstr "" " -U, --undefine=3DNAME verwijder ingebouwde functie NAME\n" " -s, --synclines genereer `#line NO \"FILE\"' regel\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -508,7 +494,7 @@ msgstr "" " -H, --hashsize=3DPRIME stel symbolen opzoek hash tabel groott= e\n" " -L, --nesting-limit=3DNUMBER verander kunstmatige nesting limiet\n"= =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -522,7 +508,7 @@ msgstr "" " -R, --reload-state=3DFILE herlaad een gefixeerde staat van BESTA= ND\n" " aan het begin\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -539,7 +525,7 @@ msgstr "" " -l, --arglength=3DNUM restrict macro traceer grootte\n" " -o, --error-output=3DFILE redirect debug en traceer uitvoer\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -569,7 +555,7 @@ msgstr "" " i show changes in input files\n" " V shorthand for all of the above flags\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -577,7 +563,7 @@ msgstr "" "\n" "Als geen BESTAND of als BESTAND `-' is, standaard invoer wordt gelezen.= \n" =20 -#: src/main.c:159 +#: src/main.c:168 #, fuzzy msgid "" "\n" @@ -586,30 +572,30 @@ msgstr "" "\n" "Meld fouten via .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Onjuiste debug vlaggen: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -631,8 +617,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Kontroleer voor mogelijk oneindige recusie.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Ongedefinieerde syntax code %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Ongedefinieerde naam %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Kan fout bestand niet instellen: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Naam `%s' is niet bekend\n" =20 #, fuzzy #~ msgid "" Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.28 diff -u -p -u -r1.28 pl.po --- po/pl.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/pl.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,109 +150,94 @@ msgstr "" msgid "No previous regular expression" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Niezdefiniowana nazwa %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Dane wej=B6ciowe wycofane do %s, linia %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Dane wej=B6ciowe przeczytane z %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=AFADEN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "B=A3=A1D: EOF w =B3a=F1cuchu" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "B=A3=A1D: EOF w li=B6cie argument=F3w" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "B=A3=A1D: Osi=B1gni=EAty limit rekursji %d, u=BFyj -L =BFeby = go zmieni=E6" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BF=E6 modu=B3u `%s': %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 #: m4/output.c:287 @@ -270,30 +255,25 @@ msgstr "B=A3=A1D: Nie mog=EA zapisac zmian prz msgid "copying inserted file" msgstr "B=A3=A1D: Kopiowanie w=B3o=BFonego pliku" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "B=A3=A1D: Czytanie w=B3o=BFonego pliku" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Nie mog=EA zrobi=E6 stat na danych przetwarzanych" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Przeszukanie =B6cie=BFki dla `%s' znalaz=B3o `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Nazwa `%s' jest nieznana\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -334,62 +314,68 @@ msgstr "Niezdefiniowana nazwa %s" msgid "Warning: %s: modulo by zero: %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:220 +# hm - rzm +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Niezdefiniowany kod sk=B3adniowy %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Tryb debugowania: z=B3e flagi debugowania: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Nie mog=EA ustawi=E6 pliku b=B3=EAd=F3w: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "B=B3=EAdne wyra=BFenie regularne `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Nie mog=EA otworzy=E6 potoku do komendy `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "UWAGA: \\0 zniknie, w podstawieniach u=BFyj zamiast tego \\&" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Nie mog=EA przetowrzy=E6 z powrotem %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Nie mog=EA otworzy=E6 %s" @@ -399,45 +385,45 @@ msgstr "Nie mog=EA otworzy=E6 %s" msgid "Loss of precision in eval: %s" msgstr "B=B3=EAdne wyra=BFenie w eval: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Oczekiwany line fedd w pliku zamro=BFonym" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Oczekiwany znak `%c' w pliku zamro=BFonym" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Przedwczesny koniec pliku zamro=BFonego" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=ACle sformatowy plik zamro=BFony" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' z pliku zamro=BFonego nie znalezione w tablicy wbudowanych!= " =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "B=A3=A1D: Przepe=B3nienie stosu. (Niesko=F1czona rekursja defin= icji?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Spr=F3buj `%s --help' =BFeby dowiedzie=E6 si=EA wi=EAcej.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Sk=B3adnia: %s [OPCJA]... [PLIK]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -466,15 +452,16 @@ msgstr "" " -P, --prefix-builtins dodaj zawsze `m4_' przez wszystkimi " "wbudowanymi\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -490,7 +477,7 @@ msgstr "" " -U, --undefine=3DNAZWA skasuj wbudowan=B1 NAZW=CA\n" " -s, --synclines generuj linie `#line NR \"PLIK\"\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -505,7 +492,7 @@ msgstr "" "symboli\n" " -L, --nesting-limit=3DLICZBA zmie=F1 sztuczny limit zag=B3ebie=F1\n= " =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -517,7 +504,7 @@ msgstr "" " -F, --freeze-state=3DPLIK zapisz zamro=BFony PLIK stanu na ko=F1= cu\n" " -R, --reload-state=3DPLIK za=B3aduj zamro=BFony PLIK stanu na po= cz=B1tku\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -533,7 +520,7 @@ msgstr "" " -l, --arglength=3DILE ogranicz rozmiar =B6ledzenia makr\n" " -o, --error-output=3DPLIK przekieruj wyniki debugowania i =B6led= zenia\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -563,7 +550,7 @@ msgstr "" " i poka=BF zmiany plik=F3w wej=B6ciowych\n" " V skr=F3t do wszystkich powy=BFszych flag\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -571,7 +558,7 @@ msgstr "" "\n" "Je=BFeli brak PLIKu lub PLIK to `-', czytane jest std. wej=B6cie.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -579,30 +566,30 @@ msgstr "" "\n" "Raporty o b=B3=EAdach wysy=B3aj do bug-m4@gnu.org.\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "B=B3=EAdne flagi debugowania: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -624,9 +611,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Sprawd=BC czy nie dosz=B3o do niesko=F1czonej rekursji.\n" =20 -# hm - rzm -#~ msgid "Undefined syntax code %c" -#~ msgstr "Niezdefiniowany kod sk=B3adniowy %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Niezdefiniowana nazwa %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Nazwa `%s' jest nieznana\n" =20 #, fuzzy #~ msgid "" Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.28 diff -u -p -u -r1.28 ru.po --- po/ru.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/ru.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -69,7 +69,7 @@ msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE= =C1=DE=CE=C1\n" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" @@ -150,110 +150,95 @@ msgstr "" msgid "No previous regular expression" msgstr "=EE=C5=D4 =D0=D2=C5=C4=DB=C5=C4=D3=D4=D7=D5=C0=DD=C5=C7=CF =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=F7=D7=CF=C4 =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=CC=C5=CE =D7 %s , =D3= =D4=D2=CF=CB=C1 %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "=F7=D7=CF=C4 =C9=DA %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=EE=E9=FE=E5=E7=EF" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D4=D2= =CF=CB=C5" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D0=C9= =D3=CB=C5 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d =C9=D3=DE= =C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF=C2=D9 = =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE: %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 #: m4/output.c:287 @@ -272,30 +257,25 @@ msgstr "=EF=FB=E9=E2=EB=E1: =EF=DB=C9=C2=CB=C1 =DA=C1= =D0=C9=D3=C9 =D2=C1=DA=D7=C5=D4=D7=CC=C5=CE msgid "copying inserted file" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=D0=C9=D2=D5=C0 =D7=D3=D4=C1=D7=CC=C5=CE= =CE=D9=CA =C6=C1=CA=CC" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=EF=FB=E9=E2=EB=E1: =FE=C9=D4=C1=C0 =D7=D3=D4=C1=D7=CC=C5=CE=CE=D9= =CA =C6=C1=CA=CC" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D0=CF=C4=D3=DE=C9=D4=C1=D4=D8 =D2= =C1=DA=D7=C5=D4=D7=CC=C5=CE=C9=D1" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=F0=D5=D4=D8 =D0=CF=C9=D3=CB=C1 =C4=CC=D1 `%s' =CE=C1=CA=C4=C5=CE= `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "=E9=CD=D1 `%s' =CE=C5=C9=DA=D7=C5=D3=D4=CE=CF\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,62 +316,67 @@ msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5= =CE=CF" msgid "Warning: %s: modulo by zero: %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "=EE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CE=D9=CA =D3=C9=CE=D4=C1=CB=D3= =C9=DE=C5=D3=CB=C9=CA =CB=CF=C4 %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "=F2=C5=D6=C9=CD =CF=D4=CC=C1=C4=CB=C9: =CE=C5=D7=C5=D2=CE=D9=CA = =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CE=C1=DA=CE=C1=DE=C9=D4=D8 =C6=C1= =CA=CC =CF=DB=C9=C2=CF=CB %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D2=C5=C7=D5=CC=D1=D2=CE=CF=C5 =D7=D9=D2= =C1=D6=C5=CE=C9=C5: '%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=EF=DB=C9=C2=CB=C1 =D3=CF=D0=CF=D3=D4=C1=D7=CC=C5=CE=C9=D1 =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1 '%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2=D9=D4=D8 =CB=C1=CE=C1= =CC =C4=CC=D1 =CB=CF=CD=CD=C1=CE=C4=D9 '%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "=F0=F2=E5=E4=F5=F0=F2=E5=F6=E4=E5=EE=E9=E5: \\0 =C9=D3=DE=C5=DA=CE= =C5=D4, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 \\& =D7 =DA=C1=CD=C5=CE=C1=C8" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D7=C5=D2=CE=D5=D4=D8 =D7=D9=D7=CF= =C4 =C9=DA %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2=D9=D4=D8 %s" @@ -401,45 +386,45 @@ msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2= =D9=D4=D8 %s" msgid "Loss of precision in eval: %s" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D7=D9=D2=C1=D6=C5=CE=C9=C5: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=EF=D6=C9=C4=C1=C5=D4=D3=D1 =D0=C5=D2=C5=D7=CF=C4 =D3=D4=D2=CF=CB= =C9 =D7 =C6=C1=CA=CC=C5-=CF=C2=D2=C1=DA=C5 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=EF=D6=C9=C4=C1=C5=D4=D3=D1 =D3=C9=CD=D7=CF=CC '%c' =D7 =C6=C1=CA= =CC=C5-=CF=C2=D2=C1=DA=C5 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=F0=D2=C5=D6=C4=C5=D7=D2=C5=CD=C5=CE=CE=D9=CA =CB=CF=CE=C5=C3 =C6= =C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CF=D2=CD=C1=D4 =C6=C1=CA=CC=C1-=CF=C2= =D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "'%s' =C9=DA =C6=C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9= =CE=C5 =CE=C1=CA=C4=C5=CE=C1 =D7=CF =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA =D4=C1= =C2=CC=C9=C3=C5!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=EF=FB=E9=E2=EB=E1: =F0=C5=D2=C5=D0=CF=CC=CE=C5=CE=C9=C5 =D3=D4=C5= =CB=C1. (=E2=C5=D3=CB=CF=CE=C5=DE=CE=CF=C5 =D2=C5=CB=D5=D2=D3=C9=D7=CE=CF= =C5 =CF=D0=D2=C5=C4=C5=CC=C5=CE=C9=C5?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=F0=CF=D0=D2=CF=C2=D5=CA=D4=C5 '%s --help' =C4=CC=D1 =C9=CE=C6=CF= =D2=CD=C1=C3=C9=C9.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=E9=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE=C9=C5: %s [OPTION]... [FILE]..= =2E\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -469,15 +454,16 @@ msgstr "" " -P, --prefix-builtins =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C6= =C9=CB=D3 `m4_' =C4=CC=D1 =D7=D3=C5=C8 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 " "=C6=D5=CE=CB=C3=C9=CA\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -493,7 +479,7 @@ msgstr "" " -U, --undefine=3DNAME =D5=C4=C1=CC=C9=D4=D8 =D7=D3=D4=D2=CF=C5= =CE=CE=D5=C0 =C6=D5=CE=CB=C3=C9=C0 NAME\n" " -s, --synclines =C7=C5=CE=C5=D2=C9=D2=CF=D7=C1=D4=D8 =D3= =D4=D2=CF=CB=C9 `#line NO \"FILE\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -509,7 +495,7 @@ msgstr "" " -L, --nesting-limit=3DNUMBER =C9=DA=CD=C5=CE=C9=D4=D8 =D0=D2=C5=C4=C5= =CC =C7=CC=D5=C2=C9=CE=D9 =C9=CE=D4=C5=CC=C5=CB=D4=D5=C1=CC=D8=CE=CF=C7=CF= " "=D0=CF=C9=D3=CB=C1\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -521,7 +507,7 @@ msgstr "" " -F, --freeze-state=3DFILE =D7 =CB=CF=CE=C3=C5 =D3=CF=DA=C4=C1=D4= =D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" " -R, --reload-state=3DFILE =D7 =CE=C1=DE=C1=CC=C5 =DA=C1=C7=D2=D5= =D6=C1=D4=D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -539,7 +525,7 @@ msgstr "" " -o, --error-output=3DFILE =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=C9=D4=D8= =CF=D4=CC=C1=C4=CF=DE=CE=D9=CA =C9 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CF=DE=CE=D9= =CA " "=D7=D9=D7=CF=C4 =D7 =C6=C1=CA=CC FILE\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -570,7 +556,7 @@ msgstr "" " i =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =C9=DA=CD=C5=CE=C5=CE=C9=D1 =D7=CF= =D7=C8=CF=C4=CE=D9=C8 =C6=C1=CA=CC=C1=C8\n" " V =D3=CF=CB=D2=C1=DD=C5=CE=C9=C5 =C4=CC=D1 =D7=D3=C5=C8 =C6=CC=C1=C7= =CF=D7 =D7=CD=C5=D3=D4=C5\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -578,7 +564,7 @@ msgstr "" "\n" "=E5=D3=CC=C9 FILE =CE=C5 =D3=D5=DD=C5=D3=D4=D7=D5=C5=D4 =C9=CC=C9 FILE = =DC=D4=CF `-', =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D3=D4=C1=CE=C4=C1=D2= =D4=CE=D9=CA =D7=C8=CF=C4.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -586,30 +572,30 @@ msgstr "" "\n" "=F0=CF=D3=D9=CC=C1=CA=D4=C5 =CF=D4=DE=C5=D4=D9 =CF=C2 =CF=DB=C9=C2=CB=C1= =C8 =CE=C1 .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s= '" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -631,8 +617,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". =F0=D2=CF=D7=C5=D2=CB=C1 =CE=C1 =D7=CF=DA=CD=CF=D6=CE=D5=C0 =C2= =C5=D3=CB=CF=CE=C5=DE=CE=D5=C0 =D2=C5=CB=D5=D2=D3=C9=C0.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "=EE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CE=D9=CA =D3=C9=CE=D4=C1=CB= =D3=C9=DE=C5=D3=CB=C9=CA =CB=CF=C4 %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4= =C5=CE" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "=E9=CD=D1 `%s' =CE=C5=C9=DA=D7=C5=D3=D4=CE=CF\n" =20 #, fuzzy #~ msgid "" Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.29 diff -u -p -u -r1.29 sv.po --- po/sv.po 12 Jun 2003 16:31:59 -0000 1.29 +++ po/sv.po 4 Sep 2003 13:59:54 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -70,7 +70,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -151,109 +151,94 @@ msgstr "" msgid "No previous regular expression" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Odefinierat namn \"%s\"" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Indata =E5terg=E5r till %s, rad %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Indata l=E4ses fr=E5n %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "INGET" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FEL: Filslut i str=E4ng" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FEL: Filslut i argumentlistan" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "FEL: Rekursionsgr=E4ns %d =F6verskriden, anv=E4nd -L f=F6r at= t =E4ndra" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEL: kan inte hitta modul \"%s\": %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 #: m4/output.c:287 @@ -271,30 +256,25 @@ msgstr "FEL: Kan inte skriva avledningen msgid "copying inserted file" msgstr "FEL: Kopiering av insatt fil" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FEL: L=E4sning av insatt fil" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Kan inte ta status p=E5 avledningen" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "\"%s\" hittades som \"%s\" i s=F6kv=E4gen" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Namnet \"%s\" =E4r ok=E4nt\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -335,62 +315,67 @@ msgstr "Odefinierat namn \"%s\"" msgid "Warning: %s: modulo by zero: %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Odefinierad syntaxkod %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Fels=F6kningsl=E4ge: ok=E4nd flagga: \"%s\"" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kan inte s=E4tta felutskriftsfil: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Otill=E5tet regulj=E4ruttryck \"%s\": %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan inte skapa r=F6r till kommandot \"%s\"" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "VARNING: \\0 kommer att f=F6rsvinna, anv=E4nd \\& i ers=E4ttning= ar" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Kan inte =E5terleda %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kan inte =F6ppna %s" @@ -400,45 +385,45 @@ msgstr "Kan inte =F6ppna %s" msgid "Loss of precision in eval: %s" msgstr "Otill=E5tet uttryck i \"eval\": %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Nyrad f=F6rv=E4ntas i fryst fil" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Tecknet \"%c\" f=F6rv=E4ntas i fryst fil" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "F=F6r tidigt filslut i fryst fil" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Korrupt fryst fil" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "\"%s\" fr=E5n fryst fil hittades inte i tabellen f=F6r inbyggda = makron!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEL: Stacken fl=F6dar =F6ver. (O=E4ndlig definitionsrekursion?)"= =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "F=F6rs=F6k med \"%s --help\" f=F6r mer information.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Anv=E4ndning: %s [FLAGGA]... [FIL]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -466,15 +451,16 @@ msgstr "" "makron\n" " -P, --prefix-builtins alla inbyggda makron b=F6rjar med `m4_'\= n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -490,7 +476,7 @@ msgstr "" " -U, --undefine=3DNAMN ta bort inbyggt makro\n" " -s, --synclines generera `#line NNN \"FIL\"' rader\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -504,7 +490,7 @@ msgstr "" " -H, --hashsize=3DPRIMTAL s=E4tt storlek p=E5 symboltabellen\n" " -L, --nesting-limit=3DANTAL =E4ndra artificiell n=E4stningsniv=E5\= n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -516,7 +502,7 @@ msgstr "" " -F, --freeze-state=3DFIL spara fryst tillst=E5nd i FIL vid avsl= ut\n" " -R, --reload-state=3DFIL l=E4s fryst tillst=E5nd fr=E5n FIL vid= start\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -534,7 +520,7 @@ msgstr "" " -o, --error-output=3DFIL avled fels=F6knings och sp=E5rutskrift= er till " "FIL\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -564,7 +550,7 @@ msgstr "" " i visa byten av infil\n" " V f=F6rkortning f=F6r alla ovanst=E5ende flaggor\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -572,7 +558,7 @@ msgstr "" "\n" "Om ingen FIL anges eller om FIL =E4r `-', s=E5 l=E4ses standard in.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -581,30 +567,30 @@ msgstr "" "Rapportera fel till .\n" "Rapportera fel p=E5 =F6vers=E4ttningen till .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Ok=E4nd fels=F6kningsflagga \"%s\"" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -626,8 +612,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Kontrollera om o=E4ndlig rekursion f=F6rekommer.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Odefinierad syntaxkod %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Odefinierat namn \"%s\"" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "FEL: kan inte hitta modul \"%s\"" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Namnet \"%s\" =E4r ok=E4nt\n" =20 #, fuzzy #~ msgid "" --------------030601010408090701000009-- From MAILER-DAEMON Thu Sep 04 10:16:46 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19uuuF-0007Q0-Cl for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 10:16:15 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19uuty-0007G7-Go for m4-patches@gnu.org; Thu, 04 Sep 2003 10:15:58 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19uusu-0006dA-Ns for m4-patches@gnu.org; Thu, 04 Sep 2003 10:15:36 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19uus5-0005pD-M9 for m4-patches@gnu.org; Thu, 04 Sep 2003 10:14:01 -0400 Received: (qmail 2118 invoked from network); 4 Sep 2003 14:40:39 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 4 Sep 2003 14:40:39 -0000 Received: (qmail 25753 invoked from network); 4 Sep 2003 14:17:27 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 4 Sep 2003 14:17:27 -0000 Message-ID: <3F57497B.5030305@gnu.org> Date: Thu, 04 Sep 2003 15:17:31 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------060709070304000308010608" Subject: FYI: 52-gary-isolate-externally-maintained-files.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 14:16:11 -0000 This is a multi-part message in MIME format. --------------060709070304000308010608 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------060709070304000308010608 Content-Type: text/plain; name="52-gary-isolate-externally-maintained-files.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="52-gary-isolate-externally-maintained-files.patch" Index: ChangeLog from Gary V. Vaughan GNU M4 currently builds with a number of files adapted from upstream sources. Recently the gnulib project on savannah.gnu.org has pulled together a great many of these externally maintained files. This delta is the beginnings of isolating those files maintained in gnulib to make it easy to synchronise M4 with the upstream files prior to releases. * Makefile.am (ACLOCAL_AMFLAGS): Mention gnulib/m4 macro directory. (SUBDIRS): Added new gnulib subdirectory. * configure.ac (AC_CONFIG_FILES): Add new gnulib tree Makefiles. * config/stdbool.m4: Moved from here... * gnulib/m4/stdbool.m4: ...to here. * m4/stdbool_.h: Moved from here... * gnulib/lib/stdbool_.h: ...to here. * gnulib/Makefile.am: New file. Make sure the gnulib tree is distributed. * m4/Makefile.am: Adjust gnulib/modules/stdbool:Makefile.am based code to work with new stdbool_.h location. (gnulib_srcdir): New. 2003-09-04 Gary V. Vaughan Index: Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/Makefile.am,v retrieving revision 1.11 diff -u -p -u -r1.11 Makefile.am --- Makefile.am 29 Aug 2003 16:55:55 -0000 1.11 +++ Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -1,6 +1,6 @@ ## Makefile.am -- Process this file with automake to produce Makefile.in= ## -## Copyright (C) 2000 Free Software Foundation +## Copyright (C) 2000, 2003 Free Software Foundation ## ## 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 @@ -19,14 +19,14 @@ ## ## Written by Gary V. Vaughan =20 -EXTRA_DIST =3D config/config.rpath bootstrap +EXTRA_DIST =3D bootstrap =20 auxdir =3D $(top_srcdir)/$(ac_aux_dir) =20 ## There is currently no means with Automake not to run aclocal. -ACLOCAL_AMFLAGS =3D -I config +ACLOCAL_AMFLAGS =3D -I config -I gnulib/m4 =20 -SUBDIRS =3D po config m4 modules src tests examples doc . +SUBDIRS =3D po gnulib config m4 modules src tests examples doc . MAINTAINERCLEANFILES =3D ABOUT-NLS COPYING INSTALL Makefile.in aclocal.m= 4 \ config-h.in configure ltmain.sh stamp-h.in \ po/cat-id-tbl.c po/m4.pot po/stamp-cat-id Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.13 diff -u -p -u -r1.13 configure.ac --- configure.ac 29 Aug 2003 17:44:47 -0000 1.13 +++ configure.ac 4 Sep 2003 13:59:53 -0000 @@ -212,7 +212,16 @@ AM_CONDITIONAL([USE_GMP], [test "x$USE_G ## -------- ## ## Outputs. ## ## -------- ## -AC_CONFIG_FILES(Makefile config/Makefile doc/Makefile m4/Makefile - m4/system.h:m4/system_.h src/Makefile modules/Makefile - tests/Makefile tests/atlocal examples/Makefile) +AC_CONFIG_FILES([Makefile + config/Makefile + doc/Makefile + examples/Makefile + gnulib/Makefile + m4/Makefile + m4/system.h:m4/system_.h + modules/Makefile + src/Makefile + tests/Makefile + tests/atlocal +]) AC_OUTPUT Index: config/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/config/Makefile.am,v retrieving revision 1.14 diff -u -p -u -r1.14 Makefile.am --- config/Makefile.am 4 Sep 2003 13:12:16 -0000 1.14 +++ config/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -35,7 +35,7 @@ $(srcdir)/intdiv0.m4 \ $(srcdir)/inttypes-pri.m4 \ $(srcdir)/inttypes.m4 \ $(srcdir)/inttypes_h.m4 \ -$(srcdir)/iscposix.m4 \ +$(srcdir)/isc-posix.m4 \ $(srcdir)/lcmessage.m4 \ $(srcdir)/lib-ld.m4 \ $(srcdir)/lib-link.m4 \ Index: config/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/stdbool.m4 diff -N config/stdbool.m4 --- config/stdbool.m4 29 Aug 2003 16:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,89 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# Prepare for substituting if it is not supported. - -AC_DEFUN([AM_STDBOOL_H], -[ - AC_REQUIRE([AC_HEADER_STDBOOL]) - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" =3D yes; then - STDBOOL_H=3D'' - else - STDBOOL_H=3D'stdbool.h' - fi - AC_SUBST([STDBOOL_H]) - - if test "$ac_cv_type__Bool" =3D yes; then - HAVE__BOOL=3D1 - else - HAVE__BOOL=3D0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf -# have this macro built-in. - -AC_DEFUN([AC_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_TRY_COMPILE( - [ - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: false is not defined" - #endif - #if true !=3D 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true =3D=3D 1 ? 1 : -1]; - char b[false =3D=3D 0 ? 1 : -1]; - char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; - char d[(bool) -0.5 =3D=3D true ? 1 : -1]; - bool e =3D &s; - char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - ], - [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], - [ac_cv_header_stdbool_h=3Dyes], - [ac_cv_header_stdbool_h=3Dno])]) - AC_CHECK_TYPES([_Bool]) - if test $ac_cv_header_stdbool_h =3D yes; then - AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) - fi]) Index: gnulib/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/Makefile.am diff -N gnulib/Makefile.am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -0,0 +1,31 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in= +## +## Copyright (C) 2003 Free Software Foundation +## +## 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 of the License, 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; see the file COPYING. If not, write to +## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +## Boston, MA 02111-1307, USA. +## +## Written by Gary V. Vaughan + +gnulib_macrodir =3D $(srcdir)/m4 +gnulib_srcdir =3D $(srcdir)/lib + +GNULIB_SRCS =3D \ +$(gnulib_srcdir)/stdbool_.h + +GNULIB_MACROS =3D \ +$(gnulib_macrodir)/stdbool.m4 + +EXTRA_DIST =3D $(GNULIB_SRCS) $(GNULIB_MACROS) \ No newline at end of file Index: gnulib/m4/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/stdbool.m4 diff -N gnulib/m4/stdbool.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/stdbool.m4 4 Sep 2003 13:59:53 -0000 @@ -0,0 +1,89 @@ +# Check for stdbool.h that conforms to C99. + +# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([AM_STDBOOL_H], +[ + AC_REQUIRE([AC_HEADER_STDBOOL]) + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" =3D yes; then + STDBOOL_H=3D'' + else + STDBOOL_H=3D'stdbool.h' + fi + AC_SUBST([STDBOOL_H]) + + if test "$ac_cv_type__Bool" =3D yes; then + HAVE__BOOL=3D1 + else + HAVE__BOOL=3D0 + fi + AC_SUBST([HAVE__BOOL]) +]) + +# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf +# have this macro built-in. + +AC_DEFUN([AC_HEADER_STDBOOL], + [AC_CACHE_CHECK([for stdbool.h that conforms to C99], + [ac_cv_header_stdbool_h], + [AC_TRY_COMPILE( + [ + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: false is not defined" + #endif + #if true !=3D 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true =3D=3D 1 ? 1 : -1]; + char b[false =3D=3D 0 ? 1 : -1]; + char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; + char d[(bool) -0.5 =3D=3D true ? 1 : -1]; + bool e =3D &s; + char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + ], + [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], + [ac_cv_header_stdbool_h=3Dyes], + [ac_cv_header_stdbool_h=3Dno])]) + AC_CHECK_TYPES([_Bool]) + if test $ac_cv_header_stdbool_h =3D yes; then + AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) + fi]) Index: m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.19 diff -u -p -u -r1.19 Makefile.am --- m4/Makefile.am 29 Aug 2003 18:33:38 -0000 1.19 +++ m4/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -52,17 +52,21 @@ dist-hook: rm -f $(distdir)/system.h =20 =20 -# ------------------------------------------------------------ # -# Taken from gnulib/modules/stdbool:Makefile.am. Do not edit. # -# ------------------------------------------------------------ # +gnulib_srcdir =3D $(top_srcdir)/gnulib/lib + + +# ------------------------------------------------ # +# Adapted from gnulib/modules/stdbool:Makefile.am. # +# ------------------------------------------------ # =20 BUILT_SOURCES +=3D $(STDBOOL_H) -EXTRA_DIST +=3D stdbool_.h +MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t + +pkginc_HEADERS +=3D $(STDBOOL_H) =20 # We need the following in order to create an when the syste= m # doesn't have one that works. all-local $(lib_OBJECTS): $(STDBOOL_H) -stdbool.h: stdbool_.h - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool_.h > $@= -t +stdbool.h: $(gnulib_srcdir)/stdbool_.h + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(gnulib_srcdir)/stdbool_= =2Eh > $@-t mv $@-t $@ -MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t Index: m4/stdbool_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/stdbool_.h diff -N m4/stdbool_.h --- m4/stdbool_.h 29 Aug 2003 16:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,92 +0,0 @@ -/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - 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 Foundatio= n, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _STDBOOL_H -#define _STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) =3D=3D 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be us= ed. - - - You cannot assume that _Bool is a typedef; it might be a macro.= - - - In C99, casts and automatic conversions to '_Bool' or 'bool' ar= e - performed in such a way that every nonzero value gets converted= - to 'true', and zero gets converted to 'false'. This doesn't wo= rk - with this substitute. With this substitute, only the values 0 = and 1 - give the expected result when converted to _Bool' or 'bool'. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the sam= e - definitions below, but temporarily we have to #undef them. */ -#ifdef __BEOS__ -# undef false -# undef true -#endif - -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false =3D 0, true =3D 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#ifndef __cplusplus -# if !@HAVE__BOOL@ -# if defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ =3D=3D 1) - /* Avoid stupid "warning: _Bool is a keyword in ISO C99". */ -# define _Bool signed char -enum { false =3D 0, true =3D 1 }; -# else -typedef enum { _Bool_must_promote_to_int =3D -1, false =3D 0, true =3D 1= } _Bool; -# endif -# endif -#else -typedef bool _Bool; -#endif -#define bool _Bool - -/* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 -#define __bool_true_false_are_defined 1 - -#endif /* _STDBOOL_H */ Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.28 diff -u -p -u -r1.28 cs.po --- po/cs.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/cs.po 4 Sep 2003 13:59:53 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -154,120 +154,104 @@ msgstr "" msgid "No previous regular expression" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - # , c-format -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Jm=E9no %s nen=ED definov=E1no" - -# , c-format -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Vstup =E8ten z %s, =F8=E1dku %d" =20 # , c-format -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Vstup =E8ten z %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=AE=C1DN=DD" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "CHYBA: EOF v =F8et=ECzci" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "CHYBA: EOF v seznamu argument=F9" =20 # , c-format -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "CHYBA: p=F8ekro=E8en limit pro rekurzi (%d), zm=EC=F2te jej pomo= c=ED -L" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +# , c-format +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +# , c-format +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +# , c-format +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 # , c-format -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt: %s" =20 -# , c-format -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - # , c-format -#: m4/module.c:377 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -# , c-format -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 # , c-format -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -# , c-format -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 #: m4/output.c:287 @@ -285,33 +269,27 @@ msgstr "CHYBA: odlo=BEen=FD v=FDstup nelze zap msgid "copying inserted file" msgstr "CHYBA: p=F8i zapisov=E1n=ED vlo=BEen=E9ho souboru" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "CHYBA: p=F8i =E8ten=ED vlo=BEen=E9ho souboru" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Chyba p=F8i vol=E1n=ED funkce stat pro soubor obsahuj=EDc=ED odl= o=BEen=FD v=FDstup" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 # , c-format -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Hled=E1n soubor `%s', nalezen soubor `%s'" =20 # , c-format -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Jm=E9no `%s' nen=ED zn=E1mo\n" - -# , c-format #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -360,72 +338,78 @@ msgid "Warning: %s: modulo by zero: %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Syntaktick=FD k=F3d %c nen=ED definov=E1n" + +# , c-format +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Lad=EDc=ED m=F3d: =B9patn=E9 lad=EDc=ED volby: `%s'" =20 # , c-format -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Chybov=FD soubor %s nelze pou=BE=EDt" =20 # , c-format -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=A9patn=FD regul=E1rn=ED v=FDraz `%s': %s" =20 # , c-format -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 # , c-format -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Rouru do p=F8=EDkazu `%s' nelze otev=F8=EDt" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "VAROV=C1N=CD: \\0 zmiz=ED, p=F8i nahrazov=E1n=ED pou=BEijte \\&"= =20 # , c-format -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Chyba p=F8i vol=E1n=ED makra undivert pro %s" =20 # , c-format -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "%s nelze otev=F8=EDt" @@ -436,49 +420,49 @@ msgstr "%s nelze otev=F8=EDt" msgid "Loss of precision in eval: %s" msgstr "=A9patn=FD v=FDraz v makru eval: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Ve zmrazen=E9m souboru o=E8ek=E1v=E1n LF" =20 # , c-format -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Ve zmrazen=E9m souboru o=E8ek=E1v=E1n znak `%c'" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "P=F8ed=E8asn=FD konec zmrazen=E9ho souboru" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=A9patn=FD form=E1t zmrazen=E9ho souboru" =20 # , c-format -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' ze zmrazen=E9ho souboru nenalezeno v tabulce vestav=ECn=FDc= h maker!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "CHYBA: P=F8ete=E8en=ED z=E1sobn=EDku. (nekone=E8n=E1 rekurze mak= ra define?)" =20 # , c-format -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "V=EDce informac=ED z=EDsk=E1te p=F8=EDkazem `%s --help'.\n" =20 # , c-format -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Pou=BEit=ED: %s [P=D8EP=CDNA=C8]... [SOUBOR]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -507,15 +491,16 @@ msgstr "" " -P, --prefix-builtins v=B9echna vestav=ECn=E1 makra budou m=ED= t prefix " "`m4_'\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -533,7 +518,7 @@ msgstr "" " -U, --undefine=3DMAKRO sma=BEe vestav=ECn=E9 MAKRO\n" " -s, --synclines vlo=BE=ED =F8=E1dky tvaru `#line =C8=CD= SLO \"SOUBOR\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -548,7 +533,7 @@ msgstr "" "symbol=F9\n" " -L, --nesting-limit=3D=C8=CDSLO nastav=ED limit pro vno=F8en=E1 v= ol=E1n=ED maker\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -560,7 +545,7 @@ msgstr "" " -F, --freeze-state=3DSOUBOR p=F8i ukon=E8en=ED ulo=BE=ED zmrazen=FD= stav do SOUBORU\n" " -R, --reload-state=3DSOUBOR p=F8i startu na=E8te zmrazen=FD stav = ze SOUBORU\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -579,7 +564,7 @@ msgstr "" " -o, --error-output=3DSOUBOR p=F8esm=ECruje v=FDstup lad=ECn=ED a = sledov=E1n=ED do " "SOUBORU\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -609,7 +594,7 @@ msgstr "" " i vyp=ED=B9e informace o ka=BEd=E9 zm=ECn=EC vstupn=EDho souboru\n"= " V zkratka pro v=B9echny v=FD=B9e uveden=E9 volby\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -618,7 +603,7 @@ msgstr "" "Jestli=BEe SOUBOR nen=ED zad=E1n, nebo je SOUBOR `-', pak je =E8ten sta= ndardn=ED " "vstup.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -627,31 +612,31 @@ msgstr "" "Chyby v programu oznamujte na adrese (anglicky).\n" "P=F8ipom=EDnky k p=F8ekladu zas=EDlejte na adresu (=E8esky)= =2E\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 # , c-format -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=A9patn=E9 lad=EDc=ED volby: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -675,8 +660,18 @@ msgid ". Check for possible infinite re msgstr ". Prov=EC=F8te, zda se nejedn=E1 o nekone=E8nou rekurzi.\n" =20 # , c-format -#~ msgid "Undefined syntax code %c" -#~ msgstr "Syntaktick=FD k=F3d %c nen=ED definov=E1n" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Jm=E9no %s nen=ED definov=E1no" + +# , c-format +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +# , c-format +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Jm=E9no `%s' nen=ED zn=E1mo\n" =20 #, fuzzy #~ msgid "" Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.28 diff -u -p -u -r1.28 de.po --- po/de.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/de.po 4 Sep 2003 13:59:53 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -71,7 +71,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -152,112 +152,97 @@ msgstr "" msgid "No previous regular expression" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Name %s nicht definiert" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Eingabe zur=FCckgenommen zu %s, Zeile %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Eingabe gelesen von %s" =20 # This is the name of the input file when there is no current input file= =2E # Is this ever printed in a message? -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "NONE" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FEHLER: Dateiende in Zeichenkette" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FEHLER: Dateiende in Argumentliste" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L zur = =C4nderung" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEHLER: Kann Modul =BB%s=AB nicht finden: %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 #: m4/output.c:287 @@ -275,30 +260,25 @@ msgstr "FEHLER: Kann Umleitung nicht in=20 msgid "copying inserted file" msgstr "FEHLER: W=E4hrend Kopieren einer eingef=FCgten Datei" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FEHLER: W=E4hrend Lesen einer eingef=FCgten Datei" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Kann `stat' nicht auf Umleitung anwenden" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Pfad f=FCr Suche nach =BB%s=AB hat =BB%s=AB gefunden" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Name =BB%s=AB ist unbekannt\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -339,62 +319,67 @@ msgstr "Name %s nicht definiert" msgid "Warning: %s: modulo by zero: %s" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Syntaxzeichen %c nicht definiert." + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmodus: falsche Debug Flags: =BB%s=AB" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kann Fehlerdatei nicht vorbereiten: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Falscher regul=E4rer Ausdruck =BB%s=AB: %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kann keine `pipe' f=FCr Kommando =BB%s=AB =F6ffnen" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "WARNUNG: \\0 wird wegfallen, benutze \\& stattdessen" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Name %s nicht definiert" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Kann Umleitung %s nicht aufheben" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kann %s nicht =F6ffnen" @@ -404,47 +389,47 @@ msgstr "Kann %s nicht =F6ffnen" msgid "Loss of precision in eval: %s" msgstr "Falscher Ausdruck in `eval': %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Erwarte Zeilenumbruch in eingefrorener Datei" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Erwarte Zeichen =BB%c=AB in eingefrorener Datei" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Vorzeitiges Ende der eingefrorenen Datei" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Fehlerhafte eingefrorene Datei" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "" "=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebauten Funkt= ionen " "gefunden!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEHLER: Keller voll. (Unendliche `define' Rekursion?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BB%s --help=AB zeigt weitere Informationen.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -473,12 +458,13 @@ msgstr "" " -P, --prefix-builtins erzwinge `m4_' Pr=E4fix f=FCr eingebaute= " "Funktionen\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, fuzzy, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" "\n" "Dynamisches Laden:\n" @@ -486,7 +472,7 @@ msgstr "" "hinzu\n" " -M, --load-module=3DMODULE lade dynamisches MODULE aus M4M= ODPATH\n" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -503,7 +489,7 @@ msgstr "" " -U, --undefine=3DNAME l=F6sche eingebaute Funktion NAME\n" " -s, --synclines erzeuge `#line NR \"DATEI\"' Zeilen\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -518,7 +504,7 @@ msgstr "" " -L, --nesting-limit=3DNUMMER setze k=FCnstliche Grenze f=FCr " "Schachtelungstiefe\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -532,7 +518,7 @@ msgstr "" " -R, --reload-state=3DDATEI lade zu Beginn Zustand von eingefroren= er " "DATEI\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -550,7 +536,7 @@ msgstr "" " -o, --error-output=3DDATEI leite Debug- und Verfolgungsausgaben n= ach " "DATEI\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -580,7 +566,7 @@ msgstr "" " i gebe Ver=E4nderungen der Eingabedatei aus\n" " V Kurzform f=FCr alle Flags oben zusammen\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -588,7 +574,7 @@ msgstr "" "\n" "Ohne DATEI oder wenn DATEI `-' ist, wird die Standardeingabe gelesen\n"= =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -596,30 +582,30 @@ msgstr "" "\n" "Probleme und Fehler an .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, fuzzy, c-format msgid "failed to add search directory `%s'" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen" =20 -#: src/main.c:309 +#: src/main.c:323 #, fuzzy, c-format msgid "failed to add search directory `%s': %s" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen: %s" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Falsche Debug Flags: =BB%s=AB" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -641,8 +627,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Untersuche auf m=F6gliche unendliche Rekursion.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Syntaxzeichen %c nicht definiert." +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Name %s nicht definiert" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Name =BB%s=AB ist unbekannt\n" =20 #, fuzzy #~ msgid "" Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.28 diff -u -p -u -r1.28 el.po --- po/el.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/el.po 4 Sep 2003 13:59:53 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,111 +150,96 @@ msgstr "" msgid "No previous regular expression" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=C7 =E5=DF=F3=EF=E4=EF=F2 =E5=F0=E1=ED=E1=F6=DD=F1=E8=E7=EA=E5 =F3= =F4=EF %s, =E3=F1=E1=EC=EC=DE %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "=C7 =E5=DF=F3=EF=E4=EF=F2 =E1=ED=E1=E3=ED=FE=F3=F4=E7=EA=E5 =E1=F0= =FC =F4=EF %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=CA=C1=CD=C5=CD=C1" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=EF =E1=EB=F6=E1=F1=E9=E8=EC=E7=F4= =E9=EA=FC" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=E7 =EB=DF=F3=F4=E1 =EF=F1=E9=F3=EC= =DC=F4=F9=ED" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE=F2 %d = =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7 =F4=EF= =F5 -L =E3=E9=E1 =ED=E1 =F4=EF " "=E1=EB=EB=DC=EE=E5=F4=E5" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s': %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 #: m4/output.c:287 @@ -272,30 +257,25 @@ msgstr "=D3=D6=C1=CB=CC=C1: =C1=E4=F5=ED=E1=EC=DF=E1= =E1=F0=EF=F3=F4=EF=EB=DE=F2 =E1=EB=EB=E1=E3 msgid "copying inserted file" msgstr "=D3=D6=C1=CB=CC=C1: =C1=ED=F4=E9=E3=F1=E1=E3=DE =E5=E9=F3=E5=F1=F7= =EF=EC=DD=ED=EF=F5 =E1=F1=F7=E5=DF=EF=F5" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=D3=D6=C1=CB=CC=C1: =C1=ED=DC=E3=ED=F9=F3=E7 =E5=E9=F3=E5=F1=F7=EF= =EC=DD=ED=EF=F5 =E1=F1=F7=E5=DF=EF=F5" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F0=F1=EF=F3=F0=DD=EB=E1=F3=E7=F2 =F4=EF= =F5 =E1=F1=F7=E5=DF=EF=F5 =F4=E7=F2 =E1=EB=EB=E1=E3=DE=F2" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=CF =DD=EB=E5=E3=F7=EF=F2 =EC=EF=ED=EF=F0=E1=F4=E9=EF=FD =E3=E9=E1= =F4=EF `%s' =E2=F1=DE=EA=E5 `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "=D4=EF =FC=ED=EF=EC=E1 `%s' =E5=DF=ED=E1=E9 =DC=E3=ED=F9=F3=F4=EF= \n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,64 +316,69 @@ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC= =E1 %s" msgid "Warning: %s: modulo by zero: %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF=F2 =EA=FE=E4=E9=EA=E1=F2 =F3=FD=ED= =F4=E1=EE=E7=F2 %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "=CA=E1=F4=DC=F3=F4=E1=F3=E7 =E1=F0=EF=F3=F6=E1=EB=EC=DC=F4=F9=F3= =E7=F2: =EB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E1=F0=EF=F3=F6=E1=EB=EC=DC= =F4=F9=F3=E7=F2: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F1=FD=E8=EC=E9=F3=E7=F2 =F4=EF=F5 =E1=F1= =F7=E5=DF=EF=F5 =F3=F6=E1=EB=EC=DC=F4=F9=ED: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=CB=DC=E8=EF=F2 =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `= %s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1=F4=EF=F2 =F3=F9=EB= =DE=ED=F9=F3=E7=F2 =F3=F4=E7=ED =E5=ED=F4=EF=EB=DE `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" "=D0=D1=CF=C5=C9=C4=CF=D0=CF=C9=C7=D3=C7: =D4=EF \\0 =E8=E1 =E5=EE=E1=F6= =E1=ED=E9=F3=F4=E5=DF, =EA=DC=ED=E5=F4=E5 =F7=F1=DE=F3=E7 =F4=EF=F5 \\& =E1= =ED=F4=DF=E8=E5=F4=E1 =F3=F4=E9=F2 " "=E1=ED=F4=E9=EA=E1=F4=E1=F3=F4=DC=F3=E5=E9=F2" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E5=F0=E1=ED=E1=F6=EF=F1=DC=F2 =F4=EF=F5= %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1=F4=EF=F2 =F4=EF=F5= %s" @@ -403,45 +388,45 @@ msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC= =E1=F4=EF=F2 =F4=EF=F5 %s" msgid "Loss of precision in eval: %s" msgstr "=CB=DC=E8=EF=F2 =DD=EA=F6=F1=E1=F3=E7 =F3=F4=E7=ED =E1=F0=EF=F4=DF= =EC=E7=F3=E7: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=C1=ED=E1=EC=E5=ED=FC=F4=E1=ED `line feed' =F3=F4=EF =F0=E1=E3=F9= =EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=C1=ED=E1=EC=E5=ED=FC=F4=E1=ED =F7=E1=F1=E1=EA=F4=DE=F1=E1=F2 `%= c' =F3=F4=EF =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=D0=F1=FC=F9=F1=EF =F4=DD=EB=EF=F2 =F0=E1=E3=F9=EC=DD=ED=EF=F5 =E1= =F1=F7=E5=DF=EF=F5" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=CA=E1=EA=FC-=EC=EF=F1=F6=EF=F0=EF=E9=E7=EC=DD=ED=EF =F0=E1=E3=F9= =EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=F4=EF `%s' =E1=F0=FC =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF= =E4=E5 =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF=ED =F0=DF=ED=E1=EA=E1 =E5=F3=F9=E4= =EF=EC=E7=EC=DD=ED=F9=ED" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=D3=D6=C1=CB=CC=C1: =D5=F0=E5=F1=F7=E5=DF=EB=E7=F3=E7 =F3=F4=EF=DF= =E2=E1=F2. (=C1=ED=E1=E4=F1=EF=EC=DE =E1=F0=E5=DF=F1=EF=F5 =E2=DC=E8=EF=F5= =F2;)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=C4=EF=EA=E9=EC=DC=F3=F4=E5 `%s --help' =E3=E9=E1 =F0=E5=F1=E9=F3= =F3=FC=F4=E5=F1=E7 =E2=EF=DE=E8=E5=E9=E1.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=D7=F1=DE=F3=E7: %s [=C5=D0=C9=CB=CF=C3=C7]... [=C1=D1=D7=C5=C9=CF= ]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -472,15 +457,16 @@ msgstr "" " -P, --prefix-builtins =E5=F0=E9=E2=EF=EB=DE =F0=F1=EF=E8=DD=EC= =E1=F4=EF=F2 `m4_' =F3=E5 =FC=EB=E1 =F4=E1 " "=E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=E1\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -498,7 +484,7 @@ msgstr "" " -s, --synclines =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =E3=F1=E1= =EC=EC=FE=ED `#line =C1=D1=C9=C8=CC=CF=D3 \"=C1=D1=D7=C5=C9=CF" "\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -512,7 +498,7 @@ msgstr "" " -H, --hashsize=3D=D0=D1=D9=D4=CF=D3 =EF=F1=E9=F3=EC=FC=F2 =EC=E5= =E3=DD=E8=EF=F5=F2 =F0=DF=ED=E1=EA=E1 =E1=ED=E1=E6=DE=F4=E7=F3=E7=F2 =F3=F5= =EC=E2=FC=EB=EF=F5\n" " -L, --nesting-limit=3D=C1=D1=C9=C8=CC=CF=D3 =E1=EB=EB=E1=E3=DE =F4=E5= =F7=ED=E7=F4=EF=FD =EF=F1=DF=EF=F5 =F6=F9=EB=E9=E1=F3=EC=FE=ED\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -526,7 +512,7 @@ msgstr "" " -R, --reload-state=3DARXEIO =F6=FC=F1=F4=F9=EC=E1 =EE=E1=ED=DC =F0= =E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =E1=F0=FC =C1=D1=D7= =C5=C9=CF " "=F3=F4=E7=ED =E5=EA=EA=DF=ED=E7=F3=E7\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -544,7 +530,7 @@ msgstr "" " -o, --error-output=3D=C1=D1=D7=C5=C9=CF =E5=F0=E1=ED=E1=EA=E1=F4=E5= =FD=E8=F5=ED=F3=E7 =E5=EE=FC=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7= =F2 =EA=E1=E9 " "=E1=ED=DF=F7=ED=E5=F5=F3=E7=F2\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -576,7 +562,7 @@ msgstr "" " i =E5=EC=F6=DC=ED=E9=F3=E7 =E1=EB=EB=E1=E3=FE=ED =F3=F4=E1 =E1=F1=F7= =E5=DF=E1 =E5=E9=F3=FC=E4=EF=F5\n" " V =F3=F5=ED=F4=EF=EC=EF=E3=F1=E1=F6=DF=E1 =E3=E9=E1 =FC=EB=E5=F2 =F4= =E9=F2 =F0=E1=F1=E1=F0=DC=ED=F9 =F3=E7=EC=E1=DF=E5=F2\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -585,7 +571,7 @@ msgstr "" "=D7=F9=F1=DF=F2 =C1=D1=D7=C5=C9=CF, =DE =FC=F4=E1=ED =F4=EF =E1=F1=F7=E5= =DF=EF =E5=DF=ED=E1=E9 =F4=EF -, =E1=ED=DC=E3=ED=F9=F3=E7 =E1=F0=FC =F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE " "=E5=DF=F3=EF=E4=EF.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -593,30 +579,30 @@ msgstr "" "\n" "=C1=ED=E1=F6=DD=F1=E1=F4=E5 =F3=F6=DC=EB=EC=E1=F4=E1 =F3=F4=EF .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=CB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E5=EA=F3=F6=E1=EB=EC=DC=F4= =F9=F3=E7=F2: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -639,8 +625,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8=E1=ED=DE =E5=F0'= =DC=F0=E5=E9=F1=EF =E1=ED=E1=E4=F1=EF=EC=DE.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF=F2 =EA=FE=E4=E9=EA=E1=F2 =F3=FD= =ED=F4=E1=EE=E7=F2 %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7= =F2 =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "=D4=EF =FC=ED=EF=EC=E1 `%s' =E5=DF=ED=E1=E9 =DC=E3=ED=F9=F3=F4= =EF\n" =20 #, fuzzy #~ msgid "" Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.28 diff -u -p -u -r1.28 fr.po --- po/fr.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/fr.po 4 Sep 2003 13:59:54 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -71,7 +71,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -152,111 +152,96 @@ msgstr "" msgid "No previous regular expression" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Nom =AB%s=BB non-d=E9fini" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Entr=E9e reprise de %s, ligne %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Entr=E9e lue de %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "AUCUN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "ERREUR: Fin-de-fichier dans la cha=EEne" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "ERREUR: Fin-de-fichier dans la liste d'arguments" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "ERREUR: Limite de r=E9cursion %d d=E9pass=E9e, la changer par -L= " =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Incapable d'ouvrir %s" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -272,30 +257,25 @@ msgstr "ERREUR: Incapable de vider la di msgid "copying inserted file" msgstr "ERREUR: Pendant la copie du fichier ins=E9r=E9" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "ERREUR: Pendant la lecture d'un fichier ins=E9r=E9" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Incapable d'op=E9rer =ABstat=BB pour la diversion" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La fouille du chemin pour =AB%s=BB trouve =AB%s=BB" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Le nom =AB%s=BB est inconnu\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,62 +316,67 @@ msgstr "Nom =AB%s=BB non-d=E9fini" msgid "Warning: %s: modulo by zero: %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Nom =AB%s=BB non-d=E9fini" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Mauvaise expression r=E9guli=E8re =AB%s=BB: %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Incapable d'ouvrir un =ABpipe=BB pour la commande =AB%s=BB" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "ATTENTION: \\\\0 dispara=EEtra, utiliser \\\\& plut=F4t pour les= remplacements" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Incapble de ramener la diversion %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Incapable d'ouvrir %s" @@ -401,45 +386,45 @@ msgstr "Incapable d'ouvrir %s" msgid "Loss of precision in eval: %s" msgstr "Mauvaise expression dans =ABeval=BB: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Fin-de-ligne attendue du fichier fig=E9" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Caract=E8re =AB%c=BB attendu du fichier fig=E9" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Fin pr=E9matur=E9e de fichier fig=E9" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Fichier fig=E9 difforme" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=AB%s=BB dans le fichier fig=E9 est introuvable dans la table de= s pr=E9d=E9finis!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERREUR INTERNE: Mauvais type de lex=E8me dans expand_token ()" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour plus d'information, essayez =AB%s --help=BB.\\n\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPTION]... [FICHIER]...\\n\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -467,15 +452,16 @@ msgstr "" " -Q, --quiet, --silent inhiber certains diagnostics pr=E9d=E9fi= nis\n" " -P, --prefix-builtins pr=E9fixer tous les pr=E9d=E9finis par =AB= m4_=BB\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -492,7 +478,7 @@ msgstr "" " -U, --undefine=3DNOM =E9liminer le NOM pr=E9d=E9fini\n" " -s, --synclines engendrer des lignes =AB#line NNN \\\"FI= CHIER\\\"=BB\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -507,7 +493,7 @@ msgstr "" " -L, --nesting-limit=3DNOMBRE modifier la limite artificielle " "d'imbrication\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -519,7 +505,7 @@ msgstr "" " -F, --freeze-state=3DFICHIER produire un FICHIER fig=E9 =E0 la fin\= n" " -R, --reload-state=3DFICHIER recharger un FICHIER fig=E9 au d=E9par= t\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -536,7 +522,7 @@ msgstr "" " -o, --error-output=3DFICHIER rediriger la sortie de trace et mise-a= u-" "point\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -566,7 +552,7 @@ msgstr "" " i afficher les modifications dans les fichiers d'entr=E9e\n" " V abbr=E9viation commode pour toutes les options pr=E9c=E9dentes =E0= la fois\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -574,36 +560,36 @@ msgstr "" "\n" "Si aucun FICHIER ou si FICHIER vaut =AB-=BB, lit l'entr=E9e standard.\n= " =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -626,8 +612,15 @@ msgid ". Check for possible infinite re msgstr ". V=E9rifier une r=E9cursion hors contr=F4le.\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "Nom =AB%s=BB non-d=E9fini" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Le nom =AB%s=BB est inconnu\n" =20 #, fuzzy #~ msgid "" Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.29 diff -u -p -u -r1.29 it.po --- po/it.po 12 Jun 2003 16:31:59 -0000 1.29 +++ po/it.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,111 +150,96 @@ msgstr "" msgid "No previous regular expression" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Nome `%s' non definito" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Ingresso ripristinato su %s, linea %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Errore di lettura da %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "NESSUNO" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "ERRORE: Fine prematura di una stringa" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "ERRORE: Fine prematura della lista di argomenti" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Impossibile aprire %s" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Impossibile aprire l' archivio di errore: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Impossibile aprire l' archivio di errore: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -270,30 +255,25 @@ msgstr "ERRORE: Impossibile terminare la msgid "copying inserted file" msgstr "ERRORE: Copiando archivio inserito" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "ERRORE: Leggendo archivio inserito" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Impossibile effettuare la `stat' per la deviazione" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La ricerca del percorso per `%s' ha trovato `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Il nome `%s' sconosciuto\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -334,62 +314,67 @@ msgstr "Nome `%s' non definito" msgid "Warning: %s: modulo by zero: %s" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Nome `%s' non definito" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Modalit di debug: indicatori di debug errati: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Impossibile aprire l' archivio di errore: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Espressione regolare errata `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Impossibile aprire una `pipe' per il comando `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Nome `%s' non definito" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Impossibile ripristinare la deviazione %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Impossibile aprire %s" @@ -399,45 +384,45 @@ msgstr "Impossibile aprire %s" msgid "Loss of precision in eval: %s" msgstr "Espressione errata in `eval': %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Atteso il carattere di fine linea in archivio congelato" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Atteso il carattere `%c' in archivio congelato" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Fine prematura dell' archivio congelato" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Archivio congelato malformato" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERRORE: Stack overflow. (Ricorsione infinita in `define'?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Per ulteriori informazioni provare `%s --help'.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPZIONE]... [ARCHIVIO]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" "for short options too.\n" @@ -453,15 +438,16 @@ msgid "" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -471,7 +457,7 @@ msgid "" " -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" =20 -#: src/main.c:119 +#: src/main.c:128 msgid "" "\n" "Limits control:\n" @@ -479,7 +465,7 @@ msgid "" " -L, --nesting-limit=3DNUMBER change artificial nesting limit\n" msgstr "" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -487,7 +473,7 @@ msgid "" " -R, --reload-state=3DFILE reload a frozen state from FILE at sta= rt\n" msgstr "" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -497,7 +483,7 @@ msgid "" " -o, --error-output=3DFILE redirect debug and trace output\n" msgstr "" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -514,42 +500,42 @@ msgid "" " V shorthand for all of the above flags\n" msgstr "" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Indicatori di debug errati: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -570,8 +556,15 @@ msgid ". Check for possible infinite re msgstr ". Controllare una possibile ricorsione infinita.\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "Nome `%s' non definito" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Impossibile aprire l' archivio di errore: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Il nome `%s' sconosciuto\n" =20 #, fuzzy #~ msgid "" Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.28 diff -u -p -u -r1.28 ja.po --- po/ja.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/ja.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -69,7 +69,7 @@ msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5= =D7=A5=B7=A5=E7=A5=F3=CC=BE=A4 msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -150,113 +150,98 @@ msgstr "" msgid "No previous regular expression" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD=A4=AC=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4= =A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=A5=D5=A5=A1=A5=A4=A5=EB %s, %d =B9=D4=CC=DC=A4=AB=A4=E9=C6=FE=CE= =CF=A4=B7=C4=BE=A4=B7=A4=DE=A4=B9=A1=A3" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "%s =A4=AB=A4=E9=A4=CE=C6=FE=CE=CF=A4=F2=C6=C9=A4=DF=B9=FE=A4=DF=A4= =DE=A4=B9=A1=A3" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=A4=CA=A4=B7" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=A5=A8=A5=E9=A1=BC: =CA=B8=BB=FA=CE=F3=C6=E2=A4=CB=A5=D5=A5=A1=A5= =A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE=A4=B9=A1=A3= " =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=A5=A8=A5=E9=A1=BC: =B0=FA=BF=F4=A5=EA=A5=B9=A5=C8=C6=E2=A4=CB=A5= =D5=A5=A1=A5=A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE= =A4=B9=A1=A3" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=A5=A8=A5=E9=A1=BC=A1=A7=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=CE=A5=CD=A5=B9= =A5=C8=A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=C3=CD %d =A4=F2=C4=B6=A4=A8=A4= =C6=A4=A4=A4=DE=A4=B9=A1=A3\n" " -L<=BF=F4=BB=FA> =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=F2=CD=D1=A4=A4= =A4=C6=A5=CD=A5=B9=A5=C8=BF=F4=A4=CE=BE=E5=B8=C2=A4=F2=C1=FD=A4=E4=A4=B7=A4= =C6=B2=BC=A4=B5=A4=A4=A1=A3" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -272,32 +257,27 @@ msgstr "=A5=A8=A5=E9=A1=BC: =A5=C6=A5=F3=A5=DD=A5=E9= =A5=EA=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB div msgid "copying inserted file" msgstr "=A5=A8=A5=E9=A1=BC: =C1=DE=C6=FE=A4=B5=A4=EC=A4=EB=A4=D9=A4=AD=A5= =D5=A5=A1=A5=A4=A5=EB=A4=F2=A5=B3=A5=D4=A1=BC=C3=E6=A4=C7=A4=B9=A1=A3" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=A5=A8=A5=E9=A1=BC: =C1=DE=C6=FE=A4=B5=A4=EC=A4=EB=A4=D9=A4=AD=A5= =D5=A5=A1=A5=A4=A5=EB=A4=F2=A5=EA=A1=BC=A5=C9=C3=E6=A4=C7=A4=B9=A1=A3" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "" "divert =A4=CE=A4=BF=A4=E1=A4=CE=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE=A5=B9=A5=C6= =A1=BC=A5=BF=A5=B9=A4=F2=C6=C0=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4= =BB=A4=F3=A1=A3\n" " (stat =A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3)" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "`%s' =A4=C8=A4=A4=A4=A6=A5=C7=A5=A3=A5=EC=A5=AF=A5=C8=A5=EA=A4=AB= =A4=E9 `%s' =A4=C8=A4=A4=A4=A6=A5=D5=A5=A1=A5=A4=A5=EB=A4=F2=B8=AB=A4=C4=A4= =B1=A4=DE=A4=B7=A4=BF=A1=A3" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -338,62 +318,67 @@ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4= =A4=A4=DE=A4=BB=A4=F3=A1=A3" msgid "Warning: %s: modulo by zero: %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "debugmode =A5=DE=A5=AF=A5=ED=A4=CB=A4=AA=A4=A4=A4=C6 %s =A4=CF=C9= =D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=C7= =A4=B9=A1=A3" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "`%s' : %s =A4=CF=A1=A2=C9=D4=C0=B5=A4=CA=C0=B5=B5=AC=C9=BD=B8=BD= =A4=C7=A4=B9=A1=A3" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD %s =A4=CE=A5=DE=A5=C3=A5=C1=A5=F3=A5=B0= =A4=CB=BC=BA=C7=D4=A4=B7=A4=DE=A4=B7=A4=BF=A1=A3" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=A5=B3=A5=DE=A5=F3=A5=C9 `%s' =A4=D8=A4=CE=A5=D1=A5=A4=A5=D7=A4=AC= =A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "=B7=D9=B9=F0=A1=A7\\0 =A4=CF=B5=EC=BC=B0=A4=CE=CD=D1=CB=A1=A4=C7= =A4=B9=A1=A3\\& =A4=F2=C2=E5=A4=EF=A4=EA=A4=CB=BB=C8=A4=C3=A4=C6=B2=BC=A4= =B5=A4=A4=A1=A3" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "`%s' =A4=F2 undivert =A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -403,47 +388,47 @@ msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4= =AD=A4=DE=A4=BB=A4=F3=A1=A3" msgid "Loss of precision in eval: %s" msgstr "eval =A4=C7 %s =A4=C8=A4=A4=A4=A6=C9=D4=C0=B5=A4=CA=BC=B0=A4=AC=CD= =D1=A4=A4=A4=E9=A4=EC=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=C6=E2=A4=C7=B2=FE=B9=D4=A5=B3= =A1=BC=A5=C9=A4=F2=B4=FC=C2=D4=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=C6=E2=A4=C7=CA=B8=BB=FA `%c= ' =A4=F2=B4=FC=C2=D4=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE EOF =A4=AC=C1=E1=A4=AF= =CD=E8=B2=E1=A4=AE=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=C6=E2=C9=F4=A5=A8=A5=E9=A1=BC=A1=A7=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4= =A5=EB=A4=CE=A5=D5=A5=A9=A1=BC=A5=DE=A5=C3=A5=C8=A4=AC=C9=D4=C0=B5=A4=C7=A4= =B9=A1=A3" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE %s =A4=CF=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=A5=C6=A1=BC=A5=D6=A5=EB=A4= =CB=A4=CF=A4=A2=A4=EA=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "" "=A5=A8=A5=E9=A1=BC: =A5=B9=A5=BF=A5=C3=A5=AF=A4=AC=A5=AA=A1=BC=A5=D0=A1= =BC=A5=D5=A5=ED=A1=BC=A4=F2=B5=AF=A4=B3=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3= \n" " (=CC=B5=B8=C2=A4=CB=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=F2=A4=B7=A4= =C6=A4=A4=A4=DE=A4=BB=A4=F3=A4=AB=A1=A9)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BE=DC=A4=B7=A4=AF=A4=CF `%s --help' =A4=CE=BD=D0=CE=CF=A4=F2=B8= =E6=CD=F7=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=BB=C8=CD=D1=CA=FD=CB=A1: %s [=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3]...= [=A5=D5=A5=A1=A5=A4=A5=EB=CC=BE]\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -469,15 +454,16 @@ msgstr "" " -Q, --quiet, --silent =A4=A4=A4=AF=A4=C4=A4=AB=A4=CE=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=B7=D9=B9=F0=A4=F2=CD=DE=C0= =A9=A4=B7=A4=DE=A4=B9=A1=A3\n" " -P, --prefix-builtins =C1=B4=A4=C6=A4=CE=A5=D3=A5=EB=A5=C8=A5=A4= =A5=F3=A5=DE=A5=AF=A5=ED=A4=CB `m4_' =A4=C8=A4=A4=A4=A6=C0=DC=C6=AC=BC=AD= =A4=F2 =B6=AF=C0=A9=C5=AA=A4=CB=C4=C9=B2=C3= =A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -496,7 +482,7 @@ msgstr "" " -U, --undefine=3DNAME NAME =A4=CE=C4=EA=B5=C1=A4=F2=BC=E8=A4= =EA=BE=C3=A4=B7=A4=DE=A4=B9=A1=A3\n" " -s, --synclines =B9=D4=C8=D6=B9=E6=A4=C8=A5=D5=A5=A1=A5= =A4=A5=EB=CC=BE=A4=CE=B9=D4=A4=F2=C0=B8=C0=AE=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -511,7 +497,7 @@ msgstr "" " =A5=BB=A5=C3=A5=C8=A4=B7=A4=DE=A4=B9=A1= =A3\n" " -L, --nesting-limit=3DNUNBER =A5=DE=A5=AF=A5=ED=A4=CE=A5=CD=A5=B9=A5= =C8=B2=F3=BF=F4=A4=CE=BE=E5=B8=C2=C3=CD=A4=F2=BF=CD=B0=D9=C5=AA=A4=CB=CA=D1= =B9=B9=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -523,7 +509,7 @@ msgstr "" " -R, --reload-state=3DFILE =BA=C7=BD=E9=A4=CB=BB=D8=C4=EA=A4=B5=A4= =EC=A4=BF FILE =A4=AB=A4=E9\n" " =C5=E0=B7=EB=A4=B5=A4=EC=A4=BF=C4=EA=B5= =C1=A4=F2=A5=ED=A1=BC=A5=C9=A4=B7=A4=DE=A4=B9\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -541,7 +527,7 @@ msgstr "" " -o, --error-output=3DFILE =A5=C7=A5=D0=A5=C3=A5=B0=A4=C8=A5=C8=A5= =EC=A1=BC=A5=B9=A4=CE=BD=D0=CE=CF=A4=F2 FILE =A4=CB\n" " =A5=EA=A5=C0=A5=A4=A5=EC=A5=AF=A5=C8=A4= =B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -573,7 +559,7 @@ msgstr "" " i =C6=FE=CE=CF=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB=C0=B8=A4=B8=A4=BF=CA=D1= =B2=BD=A4=F2=C9=BD=BC=A8=A4=B7=A4=DE=A4=B9=A1=A3\n" " V =BE=E5=B5=AD=A4=CE=C1=B4=A4=C6=A4=CE FLAG =A4=F2=BB=D8=C4=EA=A4=B9= =A4=EB=A4=B3=A4=C8=A4=F2=B0=D5=CC=A3=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -582,36 +568,36 @@ msgstr "" "FILE =A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=BE=EC=B9=E7= =A4=AA=A4=E8=A4=D3=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=A5=D5=A5=A1=A5=A4=A5=EB=A4= =AC `-' =A4=CE=BE=EC=B9=E7=A4=CF\n" " =C9=B8=BD=E0=C6=FE=CE=CF=A4=AC=C6=C9=A4=DF=B9=FE=A4=DE=A4=EC=A4= =DE=A4=B9=A1=A3\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "`%s' =A4=CF=C9=D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7= =A5=B7=A5=E7=A5=F3=B0=FA=BF=F4=A4=C7=A4=B9=A1=A3" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -635,8 +621,15 @@ msgid ". Check for possible infinite re msgstr ". =CC=B5=B8=C2=A4=CE=BA=C6=B5=A2=B8=C6=A4=D3=BD=D0=A4=B7=A4=AC=B9= =D4=A4=EF=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=A4=AB=A4=C9=A4=A6=A4=AB=A5=C1=A5=A7= =A5=C3=A5=AF=A4=B7=A4=C6=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4= =F3=A1=A3" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5= =EB=A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3= " + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4= =F3=A1=A3\n" =20 #, fuzzy #~ msgid "" Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.28 diff -u -p -u -r1.28 nl.po --- po/nl.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/nl.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,112 +150,97 @@ msgstr "" msgid "No previous regular expression" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Ongedefinieerde naam %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Invoer reverted naar %s, lijn %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Invoer gelezen vanuit %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "GEEN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FOUT: Einde van bestand teken in string" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FOUT: Einde van bestand teken in argumentenlijst" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FOUT: Recursie limiet of %d overschreden, gebruik -L om dit te wijzi= gen" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Kan %s niet openen" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Kan fout bestand niet instellen: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Kan fout bestand niet instellen: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -271,30 +256,25 @@ msgstr "FOUT: Kan diversion niet flushen msgid "copying inserted file" msgstr "FOUT: Kopieren ingevoegde bestanden" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FOUT: Lezen ingevoegd bestand" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Cannot stat diversion" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Zoeken naar `%s' via PATH levert `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Naam `%s' is niet bekend\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -335,62 +315,67 @@ msgstr "Ongedefinieerde naam %s" msgid "Warning: %s: modulo by zero: %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Ongedefinieerde syntax code %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: onjuiste debug vlaggen: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kan fout bestand niet instellen: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Onjuiste reguliere expressie `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan geen pijp openen voor commando `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "LET OP: \\0 zal verdwijnen, gebruik hiervoor \\& als vervanging"= =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Cannot undivert %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kan %s niet openen" @@ -400,45 +385,45 @@ msgstr "Kan %s niet openen" msgid "Loss of precision in eval: %s" msgstr "Onjuist expressie in evaluatie: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Verwacht nieuwe regel in gefixeerd bestand" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Verwacht karakter `%c' in gefixeerd bestand" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Voorbarig einde van gefixeerd bestand" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Slecht geformateerd gefixeerd bestand" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' van gefixeerd bestand niet gevonden in functie tabel!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FOUT: Stapel overflow. (Infinite define recursion?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' voor meer informatie.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -467,15 +452,16 @@ msgstr "" " -P, --prefix-builtins forceer een `m4_' voorvoegsel voor alle = \n" " ingebouwde functies\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -494,7 +480,7 @@ msgstr "" " -U, --undefine=3DNAME verwijder ingebouwde functie NAME\n" " -s, --synclines genereer `#line NO \"FILE\"' regel\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -508,7 +494,7 @@ msgstr "" " -H, --hashsize=3DPRIME stel symbolen opzoek hash tabel groott= e\n" " -L, --nesting-limit=3DNUMBER verander kunstmatige nesting limiet\n"= =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -522,7 +508,7 @@ msgstr "" " -R, --reload-state=3DFILE herlaad een gefixeerde staat van BESTA= ND\n" " aan het begin\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -539,7 +525,7 @@ msgstr "" " -l, --arglength=3DNUM restrict macro traceer grootte\n" " -o, --error-output=3DFILE redirect debug en traceer uitvoer\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -569,7 +555,7 @@ msgstr "" " i show changes in input files\n" " V shorthand for all of the above flags\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -577,7 +563,7 @@ msgstr "" "\n" "Als geen BESTAND of als BESTAND `-' is, standaard invoer wordt gelezen.= \n" =20 -#: src/main.c:159 +#: src/main.c:168 #, fuzzy msgid "" "\n" @@ -586,30 +572,30 @@ msgstr "" "\n" "Meld fouten via .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Onjuiste debug vlaggen: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -631,8 +617,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Kontroleer voor mogelijk oneindige recusie.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Ongedefinieerde syntax code %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Ongedefinieerde naam %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Kan fout bestand niet instellen: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Naam `%s' is niet bekend\n" =20 #, fuzzy #~ msgid "" Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.28 diff -u -p -u -r1.28 pl.po --- po/pl.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/pl.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,109 +150,94 @@ msgstr "" msgid "No previous regular expression" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Niezdefiniowana nazwa %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Dane wej=B6ciowe wycofane do %s, linia %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Dane wej=B6ciowe przeczytane z %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=AFADEN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "B=A3=A1D: EOF w =B3a=F1cuchu" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "B=A3=A1D: EOF w li=B6cie argument=F3w" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "B=A3=A1D: Osi=B1gni=EAty limit rekursji %d, u=BFyj -L =BFeby = go zmieni=E6" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BF=E6 modu=B3u `%s': %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 #: m4/output.c:287 @@ -270,30 +255,25 @@ msgstr "B=A3=A1D: Nie mog=EA zapisac zmian prz msgid "copying inserted file" msgstr "B=A3=A1D: Kopiowanie w=B3o=BFonego pliku" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "B=A3=A1D: Czytanie w=B3o=BFonego pliku" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Nie mog=EA zrobi=E6 stat na danych przetwarzanych" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Przeszukanie =B6cie=BFki dla `%s' znalaz=B3o `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Nazwa `%s' jest nieznana\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -334,62 +314,68 @@ msgstr "Niezdefiniowana nazwa %s" msgid "Warning: %s: modulo by zero: %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:220 +# hm - rzm +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Niezdefiniowany kod sk=B3adniowy %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Tryb debugowania: z=B3e flagi debugowania: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Nie mog=EA ustawi=E6 pliku b=B3=EAd=F3w: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "B=B3=EAdne wyra=BFenie regularne `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Nie mog=EA otworzy=E6 potoku do komendy `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "UWAGA: \\0 zniknie, w podstawieniach u=BFyj zamiast tego \\&" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Nie mog=EA przetowrzy=E6 z powrotem %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Nie mog=EA otworzy=E6 %s" @@ -399,45 +385,45 @@ msgstr "Nie mog=EA otworzy=E6 %s" msgid "Loss of precision in eval: %s" msgstr "B=B3=EAdne wyra=BFenie w eval: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Oczekiwany line fedd w pliku zamro=BFonym" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Oczekiwany znak `%c' w pliku zamro=BFonym" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Przedwczesny koniec pliku zamro=BFonego" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=ACle sformatowy plik zamro=BFony" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' z pliku zamro=BFonego nie znalezione w tablicy wbudowanych!= " =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "B=A3=A1D: Przepe=B3nienie stosu. (Niesko=F1czona rekursja defin= icji?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Spr=F3buj `%s --help' =BFeby dowiedzie=E6 si=EA wi=EAcej.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Sk=B3adnia: %s [OPCJA]... [PLIK]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -466,15 +452,16 @@ msgstr "" " -P, --prefix-builtins dodaj zawsze `m4_' przez wszystkimi " "wbudowanymi\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -490,7 +477,7 @@ msgstr "" " -U, --undefine=3DNAZWA skasuj wbudowan=B1 NAZW=CA\n" " -s, --synclines generuj linie `#line NR \"PLIK\"\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -505,7 +492,7 @@ msgstr "" "symboli\n" " -L, --nesting-limit=3DLICZBA zmie=F1 sztuczny limit zag=B3ebie=F1\n= " =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -517,7 +504,7 @@ msgstr "" " -F, --freeze-state=3DPLIK zapisz zamro=BFony PLIK stanu na ko=F1= cu\n" " -R, --reload-state=3DPLIK za=B3aduj zamro=BFony PLIK stanu na po= cz=B1tku\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -533,7 +520,7 @@ msgstr "" " -l, --arglength=3DILE ogranicz rozmiar =B6ledzenia makr\n" " -o, --error-output=3DPLIK przekieruj wyniki debugowania i =B6led= zenia\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -563,7 +550,7 @@ msgstr "" " i poka=BF zmiany plik=F3w wej=B6ciowych\n" " V skr=F3t do wszystkich powy=BFszych flag\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -571,7 +558,7 @@ msgstr "" "\n" "Je=BFeli brak PLIKu lub PLIK to `-', czytane jest std. wej=B6cie.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -579,30 +566,30 @@ msgstr "" "\n" "Raporty o b=B3=EAdach wysy=B3aj do bug-m4@gnu.org.\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "B=B3=EAdne flagi debugowania: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -624,9 +611,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Sprawd=BC czy nie dosz=B3o do niesko=F1czonej rekursji.\n" =20 -# hm - rzm -#~ msgid "Undefined syntax code %c" -#~ msgstr "Niezdefiniowany kod sk=B3adniowy %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Niezdefiniowana nazwa %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Nazwa `%s' jest nieznana\n" =20 #, fuzzy #~ msgid "" Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.28 diff -u -p -u -r1.28 ru.po --- po/ru.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/ru.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -69,7 +69,7 @@ msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE= =C1=DE=CE=C1\n" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" @@ -150,110 +150,95 @@ msgstr "" msgid "No previous regular expression" msgstr "=EE=C5=D4 =D0=D2=C5=C4=DB=C5=C4=D3=D4=D7=D5=C0=DD=C5=C7=CF =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=F7=D7=CF=C4 =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=CC=C5=CE =D7 %s , =D3= =D4=D2=CF=CB=C1 %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "=F7=D7=CF=C4 =C9=DA %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=EE=E9=FE=E5=E7=EF" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D4=D2= =CF=CB=C5" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D0=C9= =D3=CB=C5 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d =C9=D3=DE= =C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF=C2=D9 = =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE: %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 #: m4/output.c:287 @@ -272,30 +257,25 @@ msgstr "=EF=FB=E9=E2=EB=E1: =EF=DB=C9=C2=CB=C1 =DA=C1= =D0=C9=D3=C9 =D2=C1=DA=D7=C5=D4=D7=CC=C5=CE msgid "copying inserted file" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=D0=C9=D2=D5=C0 =D7=D3=D4=C1=D7=CC=C5=CE= =CE=D9=CA =C6=C1=CA=CC" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=EF=FB=E9=E2=EB=E1: =FE=C9=D4=C1=C0 =D7=D3=D4=C1=D7=CC=C5=CE=CE=D9= =CA =C6=C1=CA=CC" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D0=CF=C4=D3=DE=C9=D4=C1=D4=D8 =D2= =C1=DA=D7=C5=D4=D7=CC=C5=CE=C9=D1" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=F0=D5=D4=D8 =D0=CF=C9=D3=CB=C1 =C4=CC=D1 `%s' =CE=C1=CA=C4=C5=CE= `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "=E9=CD=D1 `%s' =CE=C5=C9=DA=D7=C5=D3=D4=CE=CF\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,62 +316,67 @@ msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5= =CE=CF" msgid "Warning: %s: modulo by zero: %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "=EE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CE=D9=CA =D3=C9=CE=D4=C1=CB=D3= =C9=DE=C5=D3=CB=C9=CA =CB=CF=C4 %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "=F2=C5=D6=C9=CD =CF=D4=CC=C1=C4=CB=C9: =CE=C5=D7=C5=D2=CE=D9=CA = =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CE=C1=DA=CE=C1=DE=C9=D4=D8 =C6=C1= =CA=CC =CF=DB=C9=C2=CF=CB %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D2=C5=C7=D5=CC=D1=D2=CE=CF=C5 =D7=D9=D2= =C1=D6=C5=CE=C9=C5: '%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=EF=DB=C9=C2=CB=C1 =D3=CF=D0=CF=D3=D4=C1=D7=CC=C5=CE=C9=D1 =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1 '%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2=D9=D4=D8 =CB=C1=CE=C1= =CC =C4=CC=D1 =CB=CF=CD=CD=C1=CE=C4=D9 '%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "=F0=F2=E5=E4=F5=F0=F2=E5=F6=E4=E5=EE=E9=E5: \\0 =C9=D3=DE=C5=DA=CE= =C5=D4, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 \\& =D7 =DA=C1=CD=C5=CE=C1=C8" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D7=C5=D2=CE=D5=D4=D8 =D7=D9=D7=CF= =C4 =C9=DA %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2=D9=D4=D8 %s" @@ -401,45 +386,45 @@ msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2= =D9=D4=D8 %s" msgid "Loss of precision in eval: %s" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D7=D9=D2=C1=D6=C5=CE=C9=C5: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=EF=D6=C9=C4=C1=C5=D4=D3=D1 =D0=C5=D2=C5=D7=CF=C4 =D3=D4=D2=CF=CB= =C9 =D7 =C6=C1=CA=CC=C5-=CF=C2=D2=C1=DA=C5 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=EF=D6=C9=C4=C1=C5=D4=D3=D1 =D3=C9=CD=D7=CF=CC '%c' =D7 =C6=C1=CA= =CC=C5-=CF=C2=D2=C1=DA=C5 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=F0=D2=C5=D6=C4=C5=D7=D2=C5=CD=C5=CE=CE=D9=CA =CB=CF=CE=C5=C3 =C6= =C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CF=D2=CD=C1=D4 =C6=C1=CA=CC=C1-=CF=C2= =D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "'%s' =C9=DA =C6=C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9= =CE=C5 =CE=C1=CA=C4=C5=CE=C1 =D7=CF =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA =D4=C1= =C2=CC=C9=C3=C5!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=EF=FB=E9=E2=EB=E1: =F0=C5=D2=C5=D0=CF=CC=CE=C5=CE=C9=C5 =D3=D4=C5= =CB=C1. (=E2=C5=D3=CB=CF=CE=C5=DE=CE=CF=C5 =D2=C5=CB=D5=D2=D3=C9=D7=CE=CF= =C5 =CF=D0=D2=C5=C4=C5=CC=C5=CE=C9=C5?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=F0=CF=D0=D2=CF=C2=D5=CA=D4=C5 '%s --help' =C4=CC=D1 =C9=CE=C6=CF= =D2=CD=C1=C3=C9=C9.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=E9=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE=C9=C5: %s [OPTION]... [FILE]..= =2E\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -469,15 +454,16 @@ msgstr "" " -P, --prefix-builtins =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C6= =C9=CB=D3 `m4_' =C4=CC=D1 =D7=D3=C5=C8 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 " "=C6=D5=CE=CB=C3=C9=CA\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -493,7 +479,7 @@ msgstr "" " -U, --undefine=3DNAME =D5=C4=C1=CC=C9=D4=D8 =D7=D3=D4=D2=CF=C5= =CE=CE=D5=C0 =C6=D5=CE=CB=C3=C9=C0 NAME\n" " -s, --synclines =C7=C5=CE=C5=D2=C9=D2=CF=D7=C1=D4=D8 =D3= =D4=D2=CF=CB=C9 `#line NO \"FILE\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -509,7 +495,7 @@ msgstr "" " -L, --nesting-limit=3DNUMBER =C9=DA=CD=C5=CE=C9=D4=D8 =D0=D2=C5=C4=C5= =CC =C7=CC=D5=C2=C9=CE=D9 =C9=CE=D4=C5=CC=C5=CB=D4=D5=C1=CC=D8=CE=CF=C7=CF= " "=D0=CF=C9=D3=CB=C1\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -521,7 +507,7 @@ msgstr "" " -F, --freeze-state=3DFILE =D7 =CB=CF=CE=C3=C5 =D3=CF=DA=C4=C1=D4= =D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" " -R, --reload-state=3DFILE =D7 =CE=C1=DE=C1=CC=C5 =DA=C1=C7=D2=D5= =D6=C1=D4=D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -539,7 +525,7 @@ msgstr "" " -o, --error-output=3DFILE =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=C9=D4=D8= =CF=D4=CC=C1=C4=CF=DE=CE=D9=CA =C9 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CF=DE=CE=D9= =CA " "=D7=D9=D7=CF=C4 =D7 =C6=C1=CA=CC FILE\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -570,7 +556,7 @@ msgstr "" " i =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =C9=DA=CD=C5=CE=C5=CE=C9=D1 =D7=CF= =D7=C8=CF=C4=CE=D9=C8 =C6=C1=CA=CC=C1=C8\n" " V =D3=CF=CB=D2=C1=DD=C5=CE=C9=C5 =C4=CC=D1 =D7=D3=C5=C8 =C6=CC=C1=C7= =CF=D7 =D7=CD=C5=D3=D4=C5\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -578,7 +564,7 @@ msgstr "" "\n" "=E5=D3=CC=C9 FILE =CE=C5 =D3=D5=DD=C5=D3=D4=D7=D5=C5=D4 =C9=CC=C9 FILE = =DC=D4=CF `-', =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D3=D4=C1=CE=C4=C1=D2= =D4=CE=D9=CA =D7=C8=CF=C4.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -586,30 +572,30 @@ msgstr "" "\n" "=F0=CF=D3=D9=CC=C1=CA=D4=C5 =CF=D4=DE=C5=D4=D9 =CF=C2 =CF=DB=C9=C2=CB=C1= =C8 =CE=C1 .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s= '" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -631,8 +617,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". =F0=D2=CF=D7=C5=D2=CB=C1 =CE=C1 =D7=CF=DA=CD=CF=D6=CE=D5=C0 =C2= =C5=D3=CB=CF=CE=C5=DE=CE=D5=C0 =D2=C5=CB=D5=D2=D3=C9=C0.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "=EE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CE=D9=CA =D3=C9=CE=D4=C1=CB= =D3=C9=DE=C5=D3=CB=C9=CA =CB=CF=C4 %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4= =C5=CE" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "=E9=CD=D1 `%s' =CE=C5=C9=DA=D7=C5=D3=D4=CE=CF\n" =20 #, fuzzy #~ msgid "" Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.29 diff -u -p -u -r1.29 sv.po --- po/sv.po 12 Jun 2003 16:31:59 -0000 1.29 +++ po/sv.po 4 Sep 2003 13:59:54 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -70,7 +70,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -151,109 +151,94 @@ msgstr "" msgid "No previous regular expression" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Odefinierat namn \"%s\"" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Indata =E5terg=E5r till %s, rad %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Indata l=E4ses fr=E5n %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "INGET" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FEL: Filslut i str=E4ng" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FEL: Filslut i argumentlistan" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "FEL: Rekursionsgr=E4ns %d =F6verskriden, anv=E4nd -L f=F6r at= t =E4ndra" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEL: kan inte hitta modul \"%s\": %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 #: m4/output.c:287 @@ -271,30 +256,25 @@ msgstr "FEL: Kan inte skriva avledningen msgid "copying inserted file" msgstr "FEL: Kopiering av insatt fil" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FEL: L=E4sning av insatt fil" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Kan inte ta status p=E5 avledningen" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "\"%s\" hittades som \"%s\" i s=F6kv=E4gen" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Namnet \"%s\" =E4r ok=E4nt\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -335,62 +315,67 @@ msgstr "Odefinierat namn \"%s\"" msgid "Warning: %s: modulo by zero: %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Odefinierad syntaxkod %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Fels=F6kningsl=E4ge: ok=E4nd flagga: \"%s\"" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kan inte s=E4tta felutskriftsfil: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Otill=E5tet regulj=E4ruttryck \"%s\": %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan inte skapa r=F6r till kommandot \"%s\"" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "VARNING: \\0 kommer att f=F6rsvinna, anv=E4nd \\& i ers=E4ttning= ar" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Kan inte =E5terleda %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kan inte =F6ppna %s" @@ -400,45 +385,45 @@ msgstr "Kan inte =F6ppna %s" msgid "Loss of precision in eval: %s" msgstr "Otill=E5tet uttryck i \"eval\": %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Nyrad f=F6rv=E4ntas i fryst fil" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Tecknet \"%c\" f=F6rv=E4ntas i fryst fil" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "F=F6r tidigt filslut i fryst fil" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Korrupt fryst fil" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "\"%s\" fr=E5n fryst fil hittades inte i tabellen f=F6r inbyggda = makron!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEL: Stacken fl=F6dar =F6ver. (O=E4ndlig definitionsrekursion?)"= =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "F=F6rs=F6k med \"%s --help\" f=F6r mer information.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Anv=E4ndning: %s [FLAGGA]... [FIL]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -466,15 +451,16 @@ msgstr "" "makron\n" " -P, --prefix-builtins alla inbyggda makron b=F6rjar med `m4_'\= n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -490,7 +476,7 @@ msgstr "" " -U, --undefine=3DNAMN ta bort inbyggt makro\n" " -s, --synclines generera `#line NNN \"FIL\"' rader\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -504,7 +490,7 @@ msgstr "" " -H, --hashsize=3DPRIMTAL s=E4tt storlek p=E5 symboltabellen\n" " -L, --nesting-limit=3DANTAL =E4ndra artificiell n=E4stningsniv=E5\= n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -516,7 +502,7 @@ msgstr "" " -F, --freeze-state=3DFIL spara fryst tillst=E5nd i FIL vid avsl= ut\n" " -R, --reload-state=3DFIL l=E4s fryst tillst=E5nd fr=E5n FIL vid= start\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -534,7 +520,7 @@ msgstr "" " -o, --error-output=3DFIL avled fels=F6knings och sp=E5rutskrift= er till " "FIL\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -564,7 +550,7 @@ msgstr "" " i visa byten av infil\n" " V f=F6rkortning f=F6r alla ovanst=E5ende flaggor\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -572,7 +558,7 @@ msgstr "" "\n" "Om ingen FIL anges eller om FIL =E4r `-', s=E5 l=E4ses standard in.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -581,30 +567,30 @@ msgstr "" "Rapportera fel till .\n" "Rapportera fel p=E5 =F6vers=E4ttningen till .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Ok=E4nd fels=F6kningsflagga \"%s\"" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -626,8 +612,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Kontrollera om o=E4ndlig rekursion f=F6rekommer.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Odefinierad syntaxkod %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Odefinierat namn \"%s\"" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "FEL: kan inte hitta modul \"%s\"" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Namnet \"%s\" =E4r ok=E4nt\n" =20 #, fuzzy #~ msgid "" --------------060709070304000308010608-- From MAILER-DAEMON Thu Sep 04 10:23:48 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19uv0K-0004F8-DF for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 10:22:32 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19uuzs-0003fC-FG for m4-patches@gnu.org; Thu, 04 Sep 2003 10:22:04 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19uuxz-0001a6-IQ for m4-patches@gnu.org; Thu, 04 Sep 2003 10:21:33 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19uuxe-0001GN-2z for m4-patches@gnu.org; Thu, 04 Sep 2003 10:19:46 -0400 Received: (qmail 13532 invoked from network); 4 Sep 2003 14:39:45 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 4 Sep 2003 14:39:45 -0000 Received: (qmail 24386 invoked from network); 4 Sep 2003 14:16:33 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 4 Sep 2003 14:16:33 -0000 Message-ID: <3F574945.10406@gnu.org> Date: Thu, 04 Sep 2003 15:16:37 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------000308000603090706020708" Subject: FYI: 52-gary-isolate-externally-maintained-files.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 14:22:25 -0000 This is a multi-part message in MIME format. --------------000308000603090706020708 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------000308000603090706020708 Content-Type: text/plain; name="52-gary-isolate-externally-maintained-files.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="52-gary-isolate-externally-maintained-files.patch" Index: ChangeLog from Gary V. Vaughan GNU M4 currently builds with a number of files adapted from upstream sources. Recently the gnulib project on savannah.gnu.org has pulled together a great many of these externally maintained files. This delta is the beginnings of isolating those files maintained in gnulib to make it easy to synchronise M4 with the upstream files prior to releases. * Makefile.am (ACLOCAL_AMFLAGS): Mention gnulib/m4 macro directory. (SUBDIRS): Added new gnulib subdirectory. * configure.ac (AC_CONFIG_FILES): Add new gnulib tree Makefiles. * config/stdbool.m4: Moved from here... * gnulib/m4/stdbool.m4: ...to here. * m4/stdbool_.h: Moved from here... * gnulib/lib/stdbool_.h: ...to here. * gnulib/Makefile.am: New file. Make sure the gnulib tree is distributed. * m4/Makefile.am: Adjust gnulib/modules/stdbool:Makefile.am based code to work with new stdbool_.h location. (gnulib_srcdir): New. 2003-09-04 Gary V. Vaughan Index: Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/Makefile.am,v retrieving revision 1.11 diff -u -p -u -r1.11 Makefile.am --- Makefile.am 29 Aug 2003 16:55:55 -0000 1.11 +++ Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -1,6 +1,6 @@ ## Makefile.am -- Process this file with automake to produce Makefile.in= ## -## Copyright (C) 2000 Free Software Foundation +## Copyright (C) 2000, 2003 Free Software Foundation ## ## 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 @@ -19,14 +19,14 @@ ## ## Written by Gary V. Vaughan =20 -EXTRA_DIST =3D config/config.rpath bootstrap +EXTRA_DIST =3D bootstrap =20 auxdir =3D $(top_srcdir)/$(ac_aux_dir) =20 ## There is currently no means with Automake not to run aclocal. -ACLOCAL_AMFLAGS =3D -I config +ACLOCAL_AMFLAGS =3D -I config -I gnulib/m4 =20 -SUBDIRS =3D po config m4 modules src tests examples doc . +SUBDIRS =3D po gnulib config m4 modules src tests examples doc . MAINTAINERCLEANFILES =3D ABOUT-NLS COPYING INSTALL Makefile.in aclocal.m= 4 \ config-h.in configure ltmain.sh stamp-h.in \ po/cat-id-tbl.c po/m4.pot po/stamp-cat-id Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.13 diff -u -p -u -r1.13 configure.ac --- configure.ac 29 Aug 2003 17:44:47 -0000 1.13 +++ configure.ac 4 Sep 2003 13:59:53 -0000 @@ -212,7 +212,16 @@ AM_CONDITIONAL([USE_GMP], [test "x$USE_G ## -------- ## ## Outputs. ## ## -------- ## -AC_CONFIG_FILES(Makefile config/Makefile doc/Makefile m4/Makefile - m4/system.h:m4/system_.h src/Makefile modules/Makefile - tests/Makefile tests/atlocal examples/Makefile) +AC_CONFIG_FILES([Makefile + config/Makefile + doc/Makefile + examples/Makefile + gnulib/Makefile + m4/Makefile + m4/system.h:m4/system_.h + modules/Makefile + src/Makefile + tests/Makefile + tests/atlocal +]) AC_OUTPUT Index: config/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/config/Makefile.am,v retrieving revision 1.14 diff -u -p -u -r1.14 Makefile.am --- config/Makefile.am 4 Sep 2003 13:12:16 -0000 1.14 +++ config/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -35,7 +35,7 @@ $(srcdir)/intdiv0.m4 \ $(srcdir)/inttypes-pri.m4 \ $(srcdir)/inttypes.m4 \ $(srcdir)/inttypes_h.m4 \ -$(srcdir)/iscposix.m4 \ +$(srcdir)/isc-posix.m4 \ $(srcdir)/lcmessage.m4 \ $(srcdir)/lib-ld.m4 \ $(srcdir)/lib-link.m4 \ Index: config/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/stdbool.m4 diff -N config/stdbool.m4 --- config/stdbool.m4 29 Aug 2003 16:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,89 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# Prepare for substituting if it is not supported. - -AC_DEFUN([AM_STDBOOL_H], -[ - AC_REQUIRE([AC_HEADER_STDBOOL]) - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" =3D yes; then - STDBOOL_H=3D'' - else - STDBOOL_H=3D'stdbool.h' - fi - AC_SUBST([STDBOOL_H]) - - if test "$ac_cv_type__Bool" =3D yes; then - HAVE__BOOL=3D1 - else - HAVE__BOOL=3D0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf -# have this macro built-in. - -AC_DEFUN([AC_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_TRY_COMPILE( - [ - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: false is not defined" - #endif - #if true !=3D 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true =3D=3D 1 ? 1 : -1]; - char b[false =3D=3D 0 ? 1 : -1]; - char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; - char d[(bool) -0.5 =3D=3D true ? 1 : -1]; - bool e =3D &s; - char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - ], - [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], - [ac_cv_header_stdbool_h=3Dyes], - [ac_cv_header_stdbool_h=3Dno])]) - AC_CHECK_TYPES([_Bool]) - if test $ac_cv_header_stdbool_h =3D yes; then - AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) - fi]) Index: gnulib/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/Makefile.am diff -N gnulib/Makefile.am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -0,0 +1,31 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in= +## +## Copyright (C) 2003 Free Software Foundation +## +## 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 of the License, 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; see the file COPYING. If not, write to +## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +## Boston, MA 02111-1307, USA. +## +## Written by Gary V. Vaughan + +gnulib_macrodir =3D $(srcdir)/m4 +gnulib_srcdir =3D $(srcdir)/lib + +GNULIB_SRCS =3D \ +$(gnulib_srcdir)/stdbool_.h + +GNULIB_MACROS =3D \ +$(gnulib_macrodir)/stdbool.m4 + +EXTRA_DIST =3D $(GNULIB_SRCS) $(GNULIB_MACROS) \ No newline at end of file Index: gnulib/m4/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/stdbool.m4 diff -N gnulib/m4/stdbool.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/stdbool.m4 4 Sep 2003 13:59:53 -0000 @@ -0,0 +1,89 @@ +# Check for stdbool.h that conforms to C99. + +# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([AM_STDBOOL_H], +[ + AC_REQUIRE([AC_HEADER_STDBOOL]) + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" =3D yes; then + STDBOOL_H=3D'' + else + STDBOOL_H=3D'stdbool.h' + fi + AC_SUBST([STDBOOL_H]) + + if test "$ac_cv_type__Bool" =3D yes; then + HAVE__BOOL=3D1 + else + HAVE__BOOL=3D0 + fi + AC_SUBST([HAVE__BOOL]) +]) + +# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf +# have this macro built-in. + +AC_DEFUN([AC_HEADER_STDBOOL], + [AC_CACHE_CHECK([for stdbool.h that conforms to C99], + [ac_cv_header_stdbool_h], + [AC_TRY_COMPILE( + [ + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: false is not defined" + #endif + #if true !=3D 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true =3D=3D 1 ? 1 : -1]; + char b[false =3D=3D 0 ? 1 : -1]; + char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; + char d[(bool) -0.5 =3D=3D true ? 1 : -1]; + bool e =3D &s; + char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + ], + [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], + [ac_cv_header_stdbool_h=3Dyes], + [ac_cv_header_stdbool_h=3Dno])]) + AC_CHECK_TYPES([_Bool]) + if test $ac_cv_header_stdbool_h =3D yes; then + AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) + fi]) Index: m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.19 diff -u -p -u -r1.19 Makefile.am --- m4/Makefile.am 29 Aug 2003 18:33:38 -0000 1.19 +++ m4/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -52,17 +52,21 @@ dist-hook: rm -f $(distdir)/system.h =20 =20 -# ------------------------------------------------------------ # -# Taken from gnulib/modules/stdbool:Makefile.am. Do not edit. # -# ------------------------------------------------------------ # +gnulib_srcdir =3D $(top_srcdir)/gnulib/lib + + +# ------------------------------------------------ # +# Adapted from gnulib/modules/stdbool:Makefile.am. # +# ------------------------------------------------ # =20 BUILT_SOURCES +=3D $(STDBOOL_H) -EXTRA_DIST +=3D stdbool_.h +MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t + +pkginc_HEADERS +=3D $(STDBOOL_H) =20 # We need the following in order to create an when the syste= m # doesn't have one that works. all-local $(lib_OBJECTS): $(STDBOOL_H) -stdbool.h: stdbool_.h - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool_.h > $@= -t +stdbool.h: $(gnulib_srcdir)/stdbool_.h + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(gnulib_srcdir)/stdbool_= =2Eh > $@-t mv $@-t $@ -MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t Index: m4/stdbool_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/stdbool_.h diff -N m4/stdbool_.h --- m4/stdbool_.h 29 Aug 2003 16:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,92 +0,0 @@ -/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - 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 Foundatio= n, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _STDBOOL_H -#define _STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) =3D=3D 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be us= ed. - - - You cannot assume that _Bool is a typedef; it might be a macro.= - - - In C99, casts and automatic conversions to '_Bool' or 'bool' ar= e - performed in such a way that every nonzero value gets converted= - to 'true', and zero gets converted to 'false'. This doesn't wo= rk - with this substitute. With this substitute, only the values 0 = and 1 - give the expected result when converted to _Bool' or 'bool'. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the sam= e - definitions below, but temporarily we have to #undef them. */ -#ifdef __BEOS__ -# undef false -# undef true -#endif - -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false =3D 0, true =3D 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#ifndef __cplusplus -# if !@HAVE__BOOL@ -# if defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ =3D=3D 1) - /* Avoid stupid "warning: _Bool is a keyword in ISO C99". */ -# define _Bool signed char -enum { false =3D 0, true =3D 1 }; -# else -typedef enum { _Bool_must_promote_to_int =3D -1, false =3D 0, true =3D 1= } _Bool; -# endif -# endif -#else -typedef bool _Bool; -#endif -#define bool _Bool - -/* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 -#define __bool_true_false_are_defined 1 - -#endif /* _STDBOOL_H */ Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.28 diff -u -p -u -r1.28 cs.po --- po/cs.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/cs.po 4 Sep 2003 13:59:53 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -154,120 +154,104 @@ msgstr "" msgid "No previous regular expression" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - # , c-format -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Jm=E9no %s nen=ED definov=E1no" - -# , c-format -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Vstup =E8ten z %s, =F8=E1dku %d" =20 # , c-format -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Vstup =E8ten z %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=AE=C1DN=DD" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "CHYBA: EOF v =F8et=ECzci" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "CHYBA: EOF v seznamu argument=F9" =20 # , c-format -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "CHYBA: p=F8ekro=E8en limit pro rekurzi (%d), zm=EC=F2te jej pomo= c=ED -L" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +# , c-format +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +# , c-format +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +# , c-format +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 # , c-format -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt: %s" =20 -# , c-format -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - # , c-format -#: m4/module.c:377 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -# , c-format -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 # , c-format -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -# , c-format -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 #: m4/output.c:287 @@ -285,33 +269,27 @@ msgstr "CHYBA: odlo=BEen=FD v=FDstup nelze zap msgid "copying inserted file" msgstr "CHYBA: p=F8i zapisov=E1n=ED vlo=BEen=E9ho souboru" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "CHYBA: p=F8i =E8ten=ED vlo=BEen=E9ho souboru" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Chyba p=F8i vol=E1n=ED funkce stat pro soubor obsahuj=EDc=ED odl= o=BEen=FD v=FDstup" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 # , c-format -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Hled=E1n soubor `%s', nalezen soubor `%s'" =20 # , c-format -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Jm=E9no `%s' nen=ED zn=E1mo\n" - -# , c-format #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -360,72 +338,78 @@ msgid "Warning: %s: modulo by zero: %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Syntaktick=FD k=F3d %c nen=ED definov=E1n" + +# , c-format +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Lad=EDc=ED m=F3d: =B9patn=E9 lad=EDc=ED volby: `%s'" =20 # , c-format -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Chybov=FD soubor %s nelze pou=BE=EDt" =20 # , c-format -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=A9patn=FD regul=E1rn=ED v=FDraz `%s': %s" =20 # , c-format -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 # , c-format -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Rouru do p=F8=EDkazu `%s' nelze otev=F8=EDt" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "VAROV=C1N=CD: \\0 zmiz=ED, p=F8i nahrazov=E1n=ED pou=BEijte \\&"= =20 # , c-format -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Chyba p=F8i vol=E1n=ED makra undivert pro %s" =20 # , c-format -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "%s nelze otev=F8=EDt" @@ -436,49 +420,49 @@ msgstr "%s nelze otev=F8=EDt" msgid "Loss of precision in eval: %s" msgstr "=A9patn=FD v=FDraz v makru eval: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Ve zmrazen=E9m souboru o=E8ek=E1v=E1n LF" =20 # , c-format -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Ve zmrazen=E9m souboru o=E8ek=E1v=E1n znak `%c'" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "P=F8ed=E8asn=FD konec zmrazen=E9ho souboru" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=A9patn=FD form=E1t zmrazen=E9ho souboru" =20 # , c-format -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' ze zmrazen=E9ho souboru nenalezeno v tabulce vestav=ECn=FDc= h maker!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "CHYBA: P=F8ete=E8en=ED z=E1sobn=EDku. (nekone=E8n=E1 rekurze mak= ra define?)" =20 # , c-format -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "V=EDce informac=ED z=EDsk=E1te p=F8=EDkazem `%s --help'.\n" =20 # , c-format -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Pou=BEit=ED: %s [P=D8EP=CDNA=C8]... [SOUBOR]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -507,15 +491,16 @@ msgstr "" " -P, --prefix-builtins v=B9echna vestav=ECn=E1 makra budou m=ED= t prefix " "`m4_'\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -533,7 +518,7 @@ msgstr "" " -U, --undefine=3DMAKRO sma=BEe vestav=ECn=E9 MAKRO\n" " -s, --synclines vlo=BE=ED =F8=E1dky tvaru `#line =C8=CD= SLO \"SOUBOR\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -548,7 +533,7 @@ msgstr "" "symbol=F9\n" " -L, --nesting-limit=3D=C8=CDSLO nastav=ED limit pro vno=F8en=E1 v= ol=E1n=ED maker\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -560,7 +545,7 @@ msgstr "" " -F, --freeze-state=3DSOUBOR p=F8i ukon=E8en=ED ulo=BE=ED zmrazen=FD= stav do SOUBORU\n" " -R, --reload-state=3DSOUBOR p=F8i startu na=E8te zmrazen=FD stav = ze SOUBORU\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -579,7 +564,7 @@ msgstr "" " -o, --error-output=3DSOUBOR p=F8esm=ECruje v=FDstup lad=ECn=ED a = sledov=E1n=ED do " "SOUBORU\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -609,7 +594,7 @@ msgstr "" " i vyp=ED=B9e informace o ka=BEd=E9 zm=ECn=EC vstupn=EDho souboru\n"= " V zkratka pro v=B9echny v=FD=B9e uveden=E9 volby\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -618,7 +603,7 @@ msgstr "" "Jestli=BEe SOUBOR nen=ED zad=E1n, nebo je SOUBOR `-', pak je =E8ten sta= ndardn=ED " "vstup.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -627,31 +612,31 @@ msgstr "" "Chyby v programu oznamujte na adrese (anglicky).\n" "P=F8ipom=EDnky k p=F8ekladu zas=EDlejte na adresu (=E8esky)= =2E\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 # , c-format -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=A9patn=E9 lad=EDc=ED volby: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -675,8 +660,18 @@ msgid ". Check for possible infinite re msgstr ". Prov=EC=F8te, zda se nejedn=E1 o nekone=E8nou rekurzi.\n" =20 # , c-format -#~ msgid "Undefined syntax code %c" -#~ msgstr "Syntaktick=FD k=F3d %c nen=ED definov=E1n" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Jm=E9no %s nen=ED definov=E1no" + +# , c-format +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +# , c-format +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Jm=E9no `%s' nen=ED zn=E1mo\n" =20 #, fuzzy #~ msgid "" Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.28 diff -u -p -u -r1.28 de.po --- po/de.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/de.po 4 Sep 2003 13:59:53 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -71,7 +71,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -152,112 +152,97 @@ msgstr "" msgid "No previous regular expression" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Name %s nicht definiert" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Eingabe zur=FCckgenommen zu %s, Zeile %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Eingabe gelesen von %s" =20 # This is the name of the input file when there is no current input file= =2E # Is this ever printed in a message? -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "NONE" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FEHLER: Dateiende in Zeichenkette" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FEHLER: Dateiende in Argumentliste" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L zur = =C4nderung" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEHLER: Kann Modul =BB%s=AB nicht finden: %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 #: m4/output.c:287 @@ -275,30 +260,25 @@ msgstr "FEHLER: Kann Umleitung nicht in=20 msgid "copying inserted file" msgstr "FEHLER: W=E4hrend Kopieren einer eingef=FCgten Datei" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FEHLER: W=E4hrend Lesen einer eingef=FCgten Datei" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Kann `stat' nicht auf Umleitung anwenden" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Pfad f=FCr Suche nach =BB%s=AB hat =BB%s=AB gefunden" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Name =BB%s=AB ist unbekannt\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -339,62 +319,67 @@ msgstr "Name %s nicht definiert" msgid "Warning: %s: modulo by zero: %s" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Syntaxzeichen %c nicht definiert." + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmodus: falsche Debug Flags: =BB%s=AB" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kann Fehlerdatei nicht vorbereiten: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Falscher regul=E4rer Ausdruck =BB%s=AB: %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kann keine `pipe' f=FCr Kommando =BB%s=AB =F6ffnen" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "WARNUNG: \\0 wird wegfallen, benutze \\& stattdessen" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Name %s nicht definiert" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Kann Umleitung %s nicht aufheben" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kann %s nicht =F6ffnen" @@ -404,47 +389,47 @@ msgstr "Kann %s nicht =F6ffnen" msgid "Loss of precision in eval: %s" msgstr "Falscher Ausdruck in `eval': %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Erwarte Zeilenumbruch in eingefrorener Datei" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Erwarte Zeichen =BB%c=AB in eingefrorener Datei" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Vorzeitiges Ende der eingefrorenen Datei" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Fehlerhafte eingefrorene Datei" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "" "=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebauten Funkt= ionen " "gefunden!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEHLER: Keller voll. (Unendliche `define' Rekursion?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BB%s --help=AB zeigt weitere Informationen.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -473,12 +458,13 @@ msgstr "" " -P, --prefix-builtins erzwinge `m4_' Pr=E4fix f=FCr eingebaute= " "Funktionen\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, fuzzy, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" "\n" "Dynamisches Laden:\n" @@ -486,7 +472,7 @@ msgstr "" "hinzu\n" " -M, --load-module=3DMODULE lade dynamisches MODULE aus M4M= ODPATH\n" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -503,7 +489,7 @@ msgstr "" " -U, --undefine=3DNAME l=F6sche eingebaute Funktion NAME\n" " -s, --synclines erzeuge `#line NR \"DATEI\"' Zeilen\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -518,7 +504,7 @@ msgstr "" " -L, --nesting-limit=3DNUMMER setze k=FCnstliche Grenze f=FCr " "Schachtelungstiefe\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -532,7 +518,7 @@ msgstr "" " -R, --reload-state=3DDATEI lade zu Beginn Zustand von eingefroren= er " "DATEI\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -550,7 +536,7 @@ msgstr "" " -o, --error-output=3DDATEI leite Debug- und Verfolgungsausgaben n= ach " "DATEI\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -580,7 +566,7 @@ msgstr "" " i gebe Ver=E4nderungen der Eingabedatei aus\n" " V Kurzform f=FCr alle Flags oben zusammen\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -588,7 +574,7 @@ msgstr "" "\n" "Ohne DATEI oder wenn DATEI `-' ist, wird die Standardeingabe gelesen\n"= =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -596,30 +582,30 @@ msgstr "" "\n" "Probleme und Fehler an .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, fuzzy, c-format msgid "failed to add search directory `%s'" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen" =20 -#: src/main.c:309 +#: src/main.c:323 #, fuzzy, c-format msgid "failed to add search directory `%s': %s" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen: %s" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Falsche Debug Flags: =BB%s=AB" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -641,8 +627,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Untersuche auf m=F6gliche unendliche Rekursion.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Syntaxzeichen %c nicht definiert." +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Name %s nicht definiert" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Name =BB%s=AB ist unbekannt\n" =20 #, fuzzy #~ msgid "" Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.28 diff -u -p -u -r1.28 el.po --- po/el.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/el.po 4 Sep 2003 13:59:53 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,111 +150,96 @@ msgstr "" msgid "No previous regular expression" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=C7 =E5=DF=F3=EF=E4=EF=F2 =E5=F0=E1=ED=E1=F6=DD=F1=E8=E7=EA=E5 =F3= =F4=EF %s, =E3=F1=E1=EC=EC=DE %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "=C7 =E5=DF=F3=EF=E4=EF=F2 =E1=ED=E1=E3=ED=FE=F3=F4=E7=EA=E5 =E1=F0= =FC =F4=EF %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=CA=C1=CD=C5=CD=C1" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=EF =E1=EB=F6=E1=F1=E9=E8=EC=E7=F4= =E9=EA=FC" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=E7 =EB=DF=F3=F4=E1 =EF=F1=E9=F3=EC= =DC=F4=F9=ED" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE=F2 %d = =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7 =F4=EF= =F5 -L =E3=E9=E1 =ED=E1 =F4=EF " "=E1=EB=EB=DC=EE=E5=F4=E5" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s': %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 #: m4/output.c:287 @@ -272,30 +257,25 @@ msgstr "=D3=D6=C1=CB=CC=C1: =C1=E4=F5=ED=E1=EC=DF=E1= =E1=F0=EF=F3=F4=EF=EB=DE=F2 =E1=EB=EB=E1=E3 msgid "copying inserted file" msgstr "=D3=D6=C1=CB=CC=C1: =C1=ED=F4=E9=E3=F1=E1=E3=DE =E5=E9=F3=E5=F1=F7= =EF=EC=DD=ED=EF=F5 =E1=F1=F7=E5=DF=EF=F5" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=D3=D6=C1=CB=CC=C1: =C1=ED=DC=E3=ED=F9=F3=E7 =E5=E9=F3=E5=F1=F7=EF= =EC=DD=ED=EF=F5 =E1=F1=F7=E5=DF=EF=F5" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F0=F1=EF=F3=F0=DD=EB=E1=F3=E7=F2 =F4=EF= =F5 =E1=F1=F7=E5=DF=EF=F5 =F4=E7=F2 =E1=EB=EB=E1=E3=DE=F2" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=CF =DD=EB=E5=E3=F7=EF=F2 =EC=EF=ED=EF=F0=E1=F4=E9=EF=FD =E3=E9=E1= =F4=EF `%s' =E2=F1=DE=EA=E5 `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "=D4=EF =FC=ED=EF=EC=E1 `%s' =E5=DF=ED=E1=E9 =DC=E3=ED=F9=F3=F4=EF= \n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,64 +316,69 @@ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC= =E1 %s" msgid "Warning: %s: modulo by zero: %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF=F2 =EA=FE=E4=E9=EA=E1=F2 =F3=FD=ED= =F4=E1=EE=E7=F2 %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "=CA=E1=F4=DC=F3=F4=E1=F3=E7 =E1=F0=EF=F3=F6=E1=EB=EC=DC=F4=F9=F3= =E7=F2: =EB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E1=F0=EF=F3=F6=E1=EB=EC=DC= =F4=F9=F3=E7=F2: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F1=FD=E8=EC=E9=F3=E7=F2 =F4=EF=F5 =E1=F1= =F7=E5=DF=EF=F5 =F3=F6=E1=EB=EC=DC=F4=F9=ED: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=CB=DC=E8=EF=F2 =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `= %s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1=F4=EF=F2 =F3=F9=EB= =DE=ED=F9=F3=E7=F2 =F3=F4=E7=ED =E5=ED=F4=EF=EB=DE `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" "=D0=D1=CF=C5=C9=C4=CF=D0=CF=C9=C7=D3=C7: =D4=EF \\0 =E8=E1 =E5=EE=E1=F6= =E1=ED=E9=F3=F4=E5=DF, =EA=DC=ED=E5=F4=E5 =F7=F1=DE=F3=E7 =F4=EF=F5 \\& =E1= =ED=F4=DF=E8=E5=F4=E1 =F3=F4=E9=F2 " "=E1=ED=F4=E9=EA=E1=F4=E1=F3=F4=DC=F3=E5=E9=F2" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E5=F0=E1=ED=E1=F6=EF=F1=DC=F2 =F4=EF=F5= %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1=F4=EF=F2 =F4=EF=F5= %s" @@ -403,45 +388,45 @@ msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC= =E1=F4=EF=F2 =F4=EF=F5 %s" msgid "Loss of precision in eval: %s" msgstr "=CB=DC=E8=EF=F2 =DD=EA=F6=F1=E1=F3=E7 =F3=F4=E7=ED =E1=F0=EF=F4=DF= =EC=E7=F3=E7: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=C1=ED=E1=EC=E5=ED=FC=F4=E1=ED `line feed' =F3=F4=EF =F0=E1=E3=F9= =EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=C1=ED=E1=EC=E5=ED=FC=F4=E1=ED =F7=E1=F1=E1=EA=F4=DE=F1=E1=F2 `%= c' =F3=F4=EF =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=D0=F1=FC=F9=F1=EF =F4=DD=EB=EF=F2 =F0=E1=E3=F9=EC=DD=ED=EF=F5 =E1= =F1=F7=E5=DF=EF=F5" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=CA=E1=EA=FC-=EC=EF=F1=F6=EF=F0=EF=E9=E7=EC=DD=ED=EF =F0=E1=E3=F9= =EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=F4=EF `%s' =E1=F0=FC =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF= =E4=E5 =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF=ED =F0=DF=ED=E1=EA=E1 =E5=F3=F9=E4= =EF=EC=E7=EC=DD=ED=F9=ED" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=D3=D6=C1=CB=CC=C1: =D5=F0=E5=F1=F7=E5=DF=EB=E7=F3=E7 =F3=F4=EF=DF= =E2=E1=F2. (=C1=ED=E1=E4=F1=EF=EC=DE =E1=F0=E5=DF=F1=EF=F5 =E2=DC=E8=EF=F5= =F2;)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=C4=EF=EA=E9=EC=DC=F3=F4=E5 `%s --help' =E3=E9=E1 =F0=E5=F1=E9=F3= =F3=FC=F4=E5=F1=E7 =E2=EF=DE=E8=E5=E9=E1.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=D7=F1=DE=F3=E7: %s [=C5=D0=C9=CB=CF=C3=C7]... [=C1=D1=D7=C5=C9=CF= ]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -472,15 +457,16 @@ msgstr "" " -P, --prefix-builtins =E5=F0=E9=E2=EF=EB=DE =F0=F1=EF=E8=DD=EC= =E1=F4=EF=F2 `m4_' =F3=E5 =FC=EB=E1 =F4=E1 " "=E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=E1\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -498,7 +484,7 @@ msgstr "" " -s, --synclines =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =E3=F1=E1= =EC=EC=FE=ED `#line =C1=D1=C9=C8=CC=CF=D3 \"=C1=D1=D7=C5=C9=CF" "\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -512,7 +498,7 @@ msgstr "" " -H, --hashsize=3D=D0=D1=D9=D4=CF=D3 =EF=F1=E9=F3=EC=FC=F2 =EC=E5= =E3=DD=E8=EF=F5=F2 =F0=DF=ED=E1=EA=E1 =E1=ED=E1=E6=DE=F4=E7=F3=E7=F2 =F3=F5= =EC=E2=FC=EB=EF=F5\n" " -L, --nesting-limit=3D=C1=D1=C9=C8=CC=CF=D3 =E1=EB=EB=E1=E3=DE =F4=E5= =F7=ED=E7=F4=EF=FD =EF=F1=DF=EF=F5 =F6=F9=EB=E9=E1=F3=EC=FE=ED\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -526,7 +512,7 @@ msgstr "" " -R, --reload-state=3DARXEIO =F6=FC=F1=F4=F9=EC=E1 =EE=E1=ED=DC =F0= =E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =E1=F0=FC =C1=D1=D7= =C5=C9=CF " "=F3=F4=E7=ED =E5=EA=EA=DF=ED=E7=F3=E7\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -544,7 +530,7 @@ msgstr "" " -o, --error-output=3D=C1=D1=D7=C5=C9=CF =E5=F0=E1=ED=E1=EA=E1=F4=E5= =FD=E8=F5=ED=F3=E7 =E5=EE=FC=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7= =F2 =EA=E1=E9 " "=E1=ED=DF=F7=ED=E5=F5=F3=E7=F2\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -576,7 +562,7 @@ msgstr "" " i =E5=EC=F6=DC=ED=E9=F3=E7 =E1=EB=EB=E1=E3=FE=ED =F3=F4=E1 =E1=F1=F7= =E5=DF=E1 =E5=E9=F3=FC=E4=EF=F5\n" " V =F3=F5=ED=F4=EF=EC=EF=E3=F1=E1=F6=DF=E1 =E3=E9=E1 =FC=EB=E5=F2 =F4= =E9=F2 =F0=E1=F1=E1=F0=DC=ED=F9 =F3=E7=EC=E1=DF=E5=F2\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -585,7 +571,7 @@ msgstr "" "=D7=F9=F1=DF=F2 =C1=D1=D7=C5=C9=CF, =DE =FC=F4=E1=ED =F4=EF =E1=F1=F7=E5= =DF=EF =E5=DF=ED=E1=E9 =F4=EF -, =E1=ED=DC=E3=ED=F9=F3=E7 =E1=F0=FC =F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE " "=E5=DF=F3=EF=E4=EF.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -593,30 +579,30 @@ msgstr "" "\n" "=C1=ED=E1=F6=DD=F1=E1=F4=E5 =F3=F6=DC=EB=EC=E1=F4=E1 =F3=F4=EF .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=CB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E5=EA=F3=F6=E1=EB=EC=DC=F4= =F9=F3=E7=F2: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -639,8 +625,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8=E1=ED=DE =E5=F0'= =DC=F0=E5=E9=F1=EF =E1=ED=E1=E4=F1=EF=EC=DE.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF=F2 =EA=FE=E4=E9=EA=E1=F2 =F3=FD= =ED=F4=E1=EE=E7=F2 %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7= =F2 =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "=D4=EF =FC=ED=EF=EC=E1 `%s' =E5=DF=ED=E1=E9 =DC=E3=ED=F9=F3=F4= =EF\n" =20 #, fuzzy #~ msgid "" Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.28 diff -u -p -u -r1.28 fr.po --- po/fr.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/fr.po 4 Sep 2003 13:59:54 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -71,7 +71,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -152,111 +152,96 @@ msgstr "" msgid "No previous regular expression" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Nom =AB%s=BB non-d=E9fini" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Entr=E9e reprise de %s, ligne %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Entr=E9e lue de %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "AUCUN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "ERREUR: Fin-de-fichier dans la cha=EEne" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "ERREUR: Fin-de-fichier dans la liste d'arguments" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "ERREUR: Limite de r=E9cursion %d d=E9pass=E9e, la changer par -L= " =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Incapable d'ouvrir %s" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -272,30 +257,25 @@ msgstr "ERREUR: Incapable de vider la di msgid "copying inserted file" msgstr "ERREUR: Pendant la copie du fichier ins=E9r=E9" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "ERREUR: Pendant la lecture d'un fichier ins=E9r=E9" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Incapable d'op=E9rer =ABstat=BB pour la diversion" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La fouille du chemin pour =AB%s=BB trouve =AB%s=BB" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Le nom =AB%s=BB est inconnu\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,62 +316,67 @@ msgstr "Nom =AB%s=BB non-d=E9fini" msgid "Warning: %s: modulo by zero: %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Nom =AB%s=BB non-d=E9fini" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Mauvaise expression r=E9guli=E8re =AB%s=BB: %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Incapable d'ouvrir un =ABpipe=BB pour la commande =AB%s=BB" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "ATTENTION: \\\\0 dispara=EEtra, utiliser \\\\& plut=F4t pour les= remplacements" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Incapble de ramener la diversion %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Incapable d'ouvrir %s" @@ -401,45 +386,45 @@ msgstr "Incapable d'ouvrir %s" msgid "Loss of precision in eval: %s" msgstr "Mauvaise expression dans =ABeval=BB: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Fin-de-ligne attendue du fichier fig=E9" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Caract=E8re =AB%c=BB attendu du fichier fig=E9" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Fin pr=E9matur=E9e de fichier fig=E9" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Fichier fig=E9 difforme" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=AB%s=BB dans le fichier fig=E9 est introuvable dans la table de= s pr=E9d=E9finis!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERREUR INTERNE: Mauvais type de lex=E8me dans expand_token ()" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour plus d'information, essayez =AB%s --help=BB.\\n\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPTION]... [FICHIER]...\\n\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -467,15 +452,16 @@ msgstr "" " -Q, --quiet, --silent inhiber certains diagnostics pr=E9d=E9fi= nis\n" " -P, --prefix-builtins pr=E9fixer tous les pr=E9d=E9finis par =AB= m4_=BB\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -492,7 +478,7 @@ msgstr "" " -U, --undefine=3DNOM =E9liminer le NOM pr=E9d=E9fini\n" " -s, --synclines engendrer des lignes =AB#line NNN \\\"FI= CHIER\\\"=BB\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -507,7 +493,7 @@ msgstr "" " -L, --nesting-limit=3DNOMBRE modifier la limite artificielle " "d'imbrication\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -519,7 +505,7 @@ msgstr "" " -F, --freeze-state=3DFICHIER produire un FICHIER fig=E9 =E0 la fin\= n" " -R, --reload-state=3DFICHIER recharger un FICHIER fig=E9 au d=E9par= t\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -536,7 +522,7 @@ msgstr "" " -o, --error-output=3DFICHIER rediriger la sortie de trace et mise-a= u-" "point\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -566,7 +552,7 @@ msgstr "" " i afficher les modifications dans les fichiers d'entr=E9e\n" " V abbr=E9viation commode pour toutes les options pr=E9c=E9dentes =E0= la fois\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -574,36 +560,36 @@ msgstr "" "\n" "Si aucun FICHIER ou si FICHIER vaut =AB-=BB, lit l'entr=E9e standard.\n= " =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -626,8 +612,15 @@ msgid ". Check for possible infinite re msgstr ". V=E9rifier une r=E9cursion hors contr=F4le.\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "Nom =AB%s=BB non-d=E9fini" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Le nom =AB%s=BB est inconnu\n" =20 #, fuzzy #~ msgid "" Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.29 diff -u -p -u -r1.29 it.po --- po/it.po 12 Jun 2003 16:31:59 -0000 1.29 +++ po/it.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,111 +150,96 @@ msgstr "" msgid "No previous regular expression" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Nome `%s' non definito" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Ingresso ripristinato su %s, linea %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Errore di lettura da %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "NESSUNO" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "ERRORE: Fine prematura di una stringa" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "ERRORE: Fine prematura della lista di argomenti" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Impossibile aprire %s" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Impossibile aprire l' archivio di errore: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Impossibile aprire l' archivio di errore: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -270,30 +255,25 @@ msgstr "ERRORE: Impossibile terminare la msgid "copying inserted file" msgstr "ERRORE: Copiando archivio inserito" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "ERRORE: Leggendo archivio inserito" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Impossibile effettuare la `stat' per la deviazione" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La ricerca del percorso per `%s' ha trovato `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Il nome `%s' sconosciuto\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -334,62 +314,67 @@ msgstr "Nome `%s' non definito" msgid "Warning: %s: modulo by zero: %s" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Nome `%s' non definito" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Modalit di debug: indicatori di debug errati: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Impossibile aprire l' archivio di errore: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Espressione regolare errata `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Impossibile aprire una `pipe' per il comando `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Nome `%s' non definito" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Impossibile ripristinare la deviazione %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Impossibile aprire %s" @@ -399,45 +384,45 @@ msgstr "Impossibile aprire %s" msgid "Loss of precision in eval: %s" msgstr "Espressione errata in `eval': %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Atteso il carattere di fine linea in archivio congelato" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Atteso il carattere `%c' in archivio congelato" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Fine prematura dell' archivio congelato" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Archivio congelato malformato" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERRORE: Stack overflow. (Ricorsione infinita in `define'?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Per ulteriori informazioni provare `%s --help'.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPZIONE]... [ARCHIVIO]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" "for short options too.\n" @@ -453,15 +438,16 @@ msgid "" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -471,7 +457,7 @@ msgid "" " -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" =20 -#: src/main.c:119 +#: src/main.c:128 msgid "" "\n" "Limits control:\n" @@ -479,7 +465,7 @@ msgid "" " -L, --nesting-limit=3DNUMBER change artificial nesting limit\n" msgstr "" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -487,7 +473,7 @@ msgid "" " -R, --reload-state=3DFILE reload a frozen state from FILE at sta= rt\n" msgstr "" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -497,7 +483,7 @@ msgid "" " -o, --error-output=3DFILE redirect debug and trace output\n" msgstr "" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -514,42 +500,42 @@ msgid "" " V shorthand for all of the above flags\n" msgstr "" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Indicatori di debug errati: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -570,8 +556,15 @@ msgid ". Check for possible infinite re msgstr ". Controllare una possibile ricorsione infinita.\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "Nome `%s' non definito" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Impossibile aprire l' archivio di errore: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Il nome `%s' sconosciuto\n" =20 #, fuzzy #~ msgid "" Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.28 diff -u -p -u -r1.28 ja.po --- po/ja.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/ja.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -69,7 +69,7 @@ msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5= =D7=A5=B7=A5=E7=A5=F3=CC=BE=A4 msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -150,113 +150,98 @@ msgstr "" msgid "No previous regular expression" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD=A4=AC=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4= =A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=A5=D5=A5=A1=A5=A4=A5=EB %s, %d =B9=D4=CC=DC=A4=AB=A4=E9=C6=FE=CE= =CF=A4=B7=C4=BE=A4=B7=A4=DE=A4=B9=A1=A3" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "%s =A4=AB=A4=E9=A4=CE=C6=FE=CE=CF=A4=F2=C6=C9=A4=DF=B9=FE=A4=DF=A4= =DE=A4=B9=A1=A3" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=A4=CA=A4=B7" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=A5=A8=A5=E9=A1=BC: =CA=B8=BB=FA=CE=F3=C6=E2=A4=CB=A5=D5=A5=A1=A5= =A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE=A4=B9=A1=A3= " =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=A5=A8=A5=E9=A1=BC: =B0=FA=BF=F4=A5=EA=A5=B9=A5=C8=C6=E2=A4=CB=A5= =D5=A5=A1=A5=A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE= =A4=B9=A1=A3" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=A5=A8=A5=E9=A1=BC=A1=A7=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=CE=A5=CD=A5=B9= =A5=C8=A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=C3=CD %d =A4=F2=C4=B6=A4=A8=A4= =C6=A4=A4=A4=DE=A4=B9=A1=A3\n" " -L<=BF=F4=BB=FA> =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=F2=CD=D1=A4=A4= =A4=C6=A5=CD=A5=B9=A5=C8=BF=F4=A4=CE=BE=E5=B8=C2=A4=F2=C1=FD=A4=E4=A4=B7=A4= =C6=B2=BC=A4=B5=A4=A4=A1=A3" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -272,32 +257,27 @@ msgstr "=A5=A8=A5=E9=A1=BC: =A5=C6=A5=F3=A5=DD=A5=E9= =A5=EA=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB div msgid "copying inserted file" msgstr "=A5=A8=A5=E9=A1=BC: =C1=DE=C6=FE=A4=B5=A4=EC=A4=EB=A4=D9=A4=AD=A5= =D5=A5=A1=A5=A4=A5=EB=A4=F2=A5=B3=A5=D4=A1=BC=C3=E6=A4=C7=A4=B9=A1=A3" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=A5=A8=A5=E9=A1=BC: =C1=DE=C6=FE=A4=B5=A4=EC=A4=EB=A4=D9=A4=AD=A5= =D5=A5=A1=A5=A4=A5=EB=A4=F2=A5=EA=A1=BC=A5=C9=C3=E6=A4=C7=A4=B9=A1=A3" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "" "divert =A4=CE=A4=BF=A4=E1=A4=CE=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE=A5=B9=A5=C6= =A1=BC=A5=BF=A5=B9=A4=F2=C6=C0=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4= =BB=A4=F3=A1=A3\n" " (stat =A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3)" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "`%s' =A4=C8=A4=A4=A4=A6=A5=C7=A5=A3=A5=EC=A5=AF=A5=C8=A5=EA=A4=AB= =A4=E9 `%s' =A4=C8=A4=A4=A4=A6=A5=D5=A5=A1=A5=A4=A5=EB=A4=F2=B8=AB=A4=C4=A4= =B1=A4=DE=A4=B7=A4=BF=A1=A3" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -338,62 +318,67 @@ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4= =A4=A4=DE=A4=BB=A4=F3=A1=A3" msgid "Warning: %s: modulo by zero: %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "debugmode =A5=DE=A5=AF=A5=ED=A4=CB=A4=AA=A4=A4=A4=C6 %s =A4=CF=C9= =D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=C7= =A4=B9=A1=A3" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "`%s' : %s =A4=CF=A1=A2=C9=D4=C0=B5=A4=CA=C0=B5=B5=AC=C9=BD=B8=BD= =A4=C7=A4=B9=A1=A3" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD %s =A4=CE=A5=DE=A5=C3=A5=C1=A5=F3=A5=B0= =A4=CB=BC=BA=C7=D4=A4=B7=A4=DE=A4=B7=A4=BF=A1=A3" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=A5=B3=A5=DE=A5=F3=A5=C9 `%s' =A4=D8=A4=CE=A5=D1=A5=A4=A5=D7=A4=AC= =A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "=B7=D9=B9=F0=A1=A7\\0 =A4=CF=B5=EC=BC=B0=A4=CE=CD=D1=CB=A1=A4=C7= =A4=B9=A1=A3\\& =A4=F2=C2=E5=A4=EF=A4=EA=A4=CB=BB=C8=A4=C3=A4=C6=B2=BC=A4= =B5=A4=A4=A1=A3" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "`%s' =A4=F2 undivert =A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -403,47 +388,47 @@ msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4= =AD=A4=DE=A4=BB=A4=F3=A1=A3" msgid "Loss of precision in eval: %s" msgstr "eval =A4=C7 %s =A4=C8=A4=A4=A4=A6=C9=D4=C0=B5=A4=CA=BC=B0=A4=AC=CD= =D1=A4=A4=A4=E9=A4=EC=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=C6=E2=A4=C7=B2=FE=B9=D4=A5=B3= =A1=BC=A5=C9=A4=F2=B4=FC=C2=D4=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=C6=E2=A4=C7=CA=B8=BB=FA `%c= ' =A4=F2=B4=FC=C2=D4=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE EOF =A4=AC=C1=E1=A4=AF= =CD=E8=B2=E1=A4=AE=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=C6=E2=C9=F4=A5=A8=A5=E9=A1=BC=A1=A7=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4= =A5=EB=A4=CE=A5=D5=A5=A9=A1=BC=A5=DE=A5=C3=A5=C8=A4=AC=C9=D4=C0=B5=A4=C7=A4= =B9=A1=A3" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE %s =A4=CF=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=A5=C6=A1=BC=A5=D6=A5=EB=A4= =CB=A4=CF=A4=A2=A4=EA=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "" "=A5=A8=A5=E9=A1=BC: =A5=B9=A5=BF=A5=C3=A5=AF=A4=AC=A5=AA=A1=BC=A5=D0=A1= =BC=A5=D5=A5=ED=A1=BC=A4=F2=B5=AF=A4=B3=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3= \n" " (=CC=B5=B8=C2=A4=CB=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=F2=A4=B7=A4= =C6=A4=A4=A4=DE=A4=BB=A4=F3=A4=AB=A1=A9)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BE=DC=A4=B7=A4=AF=A4=CF `%s --help' =A4=CE=BD=D0=CE=CF=A4=F2=B8= =E6=CD=F7=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=BB=C8=CD=D1=CA=FD=CB=A1: %s [=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3]...= [=A5=D5=A5=A1=A5=A4=A5=EB=CC=BE]\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -469,15 +454,16 @@ msgstr "" " -Q, --quiet, --silent =A4=A4=A4=AF=A4=C4=A4=AB=A4=CE=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=B7=D9=B9=F0=A4=F2=CD=DE=C0= =A9=A4=B7=A4=DE=A4=B9=A1=A3\n" " -P, --prefix-builtins =C1=B4=A4=C6=A4=CE=A5=D3=A5=EB=A5=C8=A5=A4= =A5=F3=A5=DE=A5=AF=A5=ED=A4=CB `m4_' =A4=C8=A4=A4=A4=A6=C0=DC=C6=AC=BC=AD= =A4=F2 =B6=AF=C0=A9=C5=AA=A4=CB=C4=C9=B2=C3= =A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -496,7 +482,7 @@ msgstr "" " -U, --undefine=3DNAME NAME =A4=CE=C4=EA=B5=C1=A4=F2=BC=E8=A4= =EA=BE=C3=A4=B7=A4=DE=A4=B9=A1=A3\n" " -s, --synclines =B9=D4=C8=D6=B9=E6=A4=C8=A5=D5=A5=A1=A5= =A4=A5=EB=CC=BE=A4=CE=B9=D4=A4=F2=C0=B8=C0=AE=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -511,7 +497,7 @@ msgstr "" " =A5=BB=A5=C3=A5=C8=A4=B7=A4=DE=A4=B9=A1= =A3\n" " -L, --nesting-limit=3DNUNBER =A5=DE=A5=AF=A5=ED=A4=CE=A5=CD=A5=B9=A5= =C8=B2=F3=BF=F4=A4=CE=BE=E5=B8=C2=C3=CD=A4=F2=BF=CD=B0=D9=C5=AA=A4=CB=CA=D1= =B9=B9=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -523,7 +509,7 @@ msgstr "" " -R, --reload-state=3DFILE =BA=C7=BD=E9=A4=CB=BB=D8=C4=EA=A4=B5=A4= =EC=A4=BF FILE =A4=AB=A4=E9\n" " =C5=E0=B7=EB=A4=B5=A4=EC=A4=BF=C4=EA=B5= =C1=A4=F2=A5=ED=A1=BC=A5=C9=A4=B7=A4=DE=A4=B9\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -541,7 +527,7 @@ msgstr "" " -o, --error-output=3DFILE =A5=C7=A5=D0=A5=C3=A5=B0=A4=C8=A5=C8=A5= =EC=A1=BC=A5=B9=A4=CE=BD=D0=CE=CF=A4=F2 FILE =A4=CB\n" " =A5=EA=A5=C0=A5=A4=A5=EC=A5=AF=A5=C8=A4= =B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -573,7 +559,7 @@ msgstr "" " i =C6=FE=CE=CF=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB=C0=B8=A4=B8=A4=BF=CA=D1= =B2=BD=A4=F2=C9=BD=BC=A8=A4=B7=A4=DE=A4=B9=A1=A3\n" " V =BE=E5=B5=AD=A4=CE=C1=B4=A4=C6=A4=CE FLAG =A4=F2=BB=D8=C4=EA=A4=B9= =A4=EB=A4=B3=A4=C8=A4=F2=B0=D5=CC=A3=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -582,36 +568,36 @@ msgstr "" "FILE =A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=BE=EC=B9=E7= =A4=AA=A4=E8=A4=D3=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=A5=D5=A5=A1=A5=A4=A5=EB=A4= =AC `-' =A4=CE=BE=EC=B9=E7=A4=CF\n" " =C9=B8=BD=E0=C6=FE=CE=CF=A4=AC=C6=C9=A4=DF=B9=FE=A4=DE=A4=EC=A4= =DE=A4=B9=A1=A3\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "`%s' =A4=CF=C9=D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7= =A5=B7=A5=E7=A5=F3=B0=FA=BF=F4=A4=C7=A4=B9=A1=A3" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -635,8 +621,15 @@ msgid ". Check for possible infinite re msgstr ". =CC=B5=B8=C2=A4=CE=BA=C6=B5=A2=B8=C6=A4=D3=BD=D0=A4=B7=A4=AC=B9= =D4=A4=EF=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=A4=AB=A4=C9=A4=A6=A4=AB=A5=C1=A5=A7= =A5=C3=A5=AF=A4=B7=A4=C6=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4= =F3=A1=A3" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5= =EB=A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3= " + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4= =F3=A1=A3\n" =20 #, fuzzy #~ msgid "" Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.28 diff -u -p -u -r1.28 nl.po --- po/nl.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/nl.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,112 +150,97 @@ msgstr "" msgid "No previous regular expression" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Ongedefinieerde naam %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Invoer reverted naar %s, lijn %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Invoer gelezen vanuit %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "GEEN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FOUT: Einde van bestand teken in string" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FOUT: Einde van bestand teken in argumentenlijst" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FOUT: Recursie limiet of %d overschreden, gebruik -L om dit te wijzi= gen" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Kan %s niet openen" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Kan fout bestand niet instellen: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Kan fout bestand niet instellen: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -271,30 +256,25 @@ msgstr "FOUT: Kan diversion niet flushen msgid "copying inserted file" msgstr "FOUT: Kopieren ingevoegde bestanden" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FOUT: Lezen ingevoegd bestand" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Cannot stat diversion" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Zoeken naar `%s' via PATH levert `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Naam `%s' is niet bekend\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -335,62 +315,67 @@ msgstr "Ongedefinieerde naam %s" msgid "Warning: %s: modulo by zero: %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Ongedefinieerde syntax code %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: onjuiste debug vlaggen: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kan fout bestand niet instellen: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Onjuiste reguliere expressie `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan geen pijp openen voor commando `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "LET OP: \\0 zal verdwijnen, gebruik hiervoor \\& als vervanging"= =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Cannot undivert %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kan %s niet openen" @@ -400,45 +385,45 @@ msgstr "Kan %s niet openen" msgid "Loss of precision in eval: %s" msgstr "Onjuist expressie in evaluatie: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Verwacht nieuwe regel in gefixeerd bestand" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Verwacht karakter `%c' in gefixeerd bestand" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Voorbarig einde van gefixeerd bestand" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Slecht geformateerd gefixeerd bestand" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' van gefixeerd bestand niet gevonden in functie tabel!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FOUT: Stapel overflow. (Infinite define recursion?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' voor meer informatie.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -467,15 +452,16 @@ msgstr "" " -P, --prefix-builtins forceer een `m4_' voorvoegsel voor alle = \n" " ingebouwde functies\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -494,7 +480,7 @@ msgstr "" " -U, --undefine=3DNAME verwijder ingebouwde functie NAME\n" " -s, --synclines genereer `#line NO \"FILE\"' regel\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -508,7 +494,7 @@ msgstr "" " -H, --hashsize=3DPRIME stel symbolen opzoek hash tabel groott= e\n" " -L, --nesting-limit=3DNUMBER verander kunstmatige nesting limiet\n"= =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -522,7 +508,7 @@ msgstr "" " -R, --reload-state=3DFILE herlaad een gefixeerde staat van BESTA= ND\n" " aan het begin\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -539,7 +525,7 @@ msgstr "" " -l, --arglength=3DNUM restrict macro traceer grootte\n" " -o, --error-output=3DFILE redirect debug en traceer uitvoer\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -569,7 +555,7 @@ msgstr "" " i show changes in input files\n" " V shorthand for all of the above flags\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -577,7 +563,7 @@ msgstr "" "\n" "Als geen BESTAND of als BESTAND `-' is, standaard invoer wordt gelezen.= \n" =20 -#: src/main.c:159 +#: src/main.c:168 #, fuzzy msgid "" "\n" @@ -586,30 +572,30 @@ msgstr "" "\n" "Meld fouten via .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Onjuiste debug vlaggen: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -631,8 +617,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Kontroleer voor mogelijk oneindige recusie.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Ongedefinieerde syntax code %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Ongedefinieerde naam %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Kan fout bestand niet instellen: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Naam `%s' is niet bekend\n" =20 #, fuzzy #~ msgid "" Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.28 diff -u -p -u -r1.28 pl.po --- po/pl.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/pl.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,109 +150,94 @@ msgstr "" msgid "No previous regular expression" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Niezdefiniowana nazwa %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Dane wej=B6ciowe wycofane do %s, linia %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Dane wej=B6ciowe przeczytane z %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=AFADEN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "B=A3=A1D: EOF w =B3a=F1cuchu" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "B=A3=A1D: EOF w li=B6cie argument=F3w" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "B=A3=A1D: Osi=B1gni=EAty limit rekursji %d, u=BFyj -L =BFeby = go zmieni=E6" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BF=E6 modu=B3u `%s': %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 #: m4/output.c:287 @@ -270,30 +255,25 @@ msgstr "B=A3=A1D: Nie mog=EA zapisac zmian prz msgid "copying inserted file" msgstr "B=A3=A1D: Kopiowanie w=B3o=BFonego pliku" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "B=A3=A1D: Czytanie w=B3o=BFonego pliku" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Nie mog=EA zrobi=E6 stat na danych przetwarzanych" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Przeszukanie =B6cie=BFki dla `%s' znalaz=B3o `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Nazwa `%s' jest nieznana\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -334,62 +314,68 @@ msgstr "Niezdefiniowana nazwa %s" msgid "Warning: %s: modulo by zero: %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:220 +# hm - rzm +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Niezdefiniowany kod sk=B3adniowy %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Tryb debugowania: z=B3e flagi debugowania: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Nie mog=EA ustawi=E6 pliku b=B3=EAd=F3w: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "B=B3=EAdne wyra=BFenie regularne `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Nie mog=EA otworzy=E6 potoku do komendy `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "UWAGA: \\0 zniknie, w podstawieniach u=BFyj zamiast tego \\&" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Nie mog=EA przetowrzy=E6 z powrotem %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Nie mog=EA otworzy=E6 %s" @@ -399,45 +385,45 @@ msgstr "Nie mog=EA otworzy=E6 %s" msgid "Loss of precision in eval: %s" msgstr "B=B3=EAdne wyra=BFenie w eval: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Oczekiwany line fedd w pliku zamro=BFonym" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Oczekiwany znak `%c' w pliku zamro=BFonym" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Przedwczesny koniec pliku zamro=BFonego" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=ACle sformatowy plik zamro=BFony" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' z pliku zamro=BFonego nie znalezione w tablicy wbudowanych!= " =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "B=A3=A1D: Przepe=B3nienie stosu. (Niesko=F1czona rekursja defin= icji?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Spr=F3buj `%s --help' =BFeby dowiedzie=E6 si=EA wi=EAcej.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Sk=B3adnia: %s [OPCJA]... [PLIK]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -466,15 +452,16 @@ msgstr "" " -P, --prefix-builtins dodaj zawsze `m4_' przez wszystkimi " "wbudowanymi\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -490,7 +477,7 @@ msgstr "" " -U, --undefine=3DNAZWA skasuj wbudowan=B1 NAZW=CA\n" " -s, --synclines generuj linie `#line NR \"PLIK\"\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -505,7 +492,7 @@ msgstr "" "symboli\n" " -L, --nesting-limit=3DLICZBA zmie=F1 sztuczny limit zag=B3ebie=F1\n= " =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -517,7 +504,7 @@ msgstr "" " -F, --freeze-state=3DPLIK zapisz zamro=BFony PLIK stanu na ko=F1= cu\n" " -R, --reload-state=3DPLIK za=B3aduj zamro=BFony PLIK stanu na po= cz=B1tku\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -533,7 +520,7 @@ msgstr "" " -l, --arglength=3DILE ogranicz rozmiar =B6ledzenia makr\n" " -o, --error-output=3DPLIK przekieruj wyniki debugowania i =B6led= zenia\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -563,7 +550,7 @@ msgstr "" " i poka=BF zmiany plik=F3w wej=B6ciowych\n" " V skr=F3t do wszystkich powy=BFszych flag\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -571,7 +558,7 @@ msgstr "" "\n" "Je=BFeli brak PLIKu lub PLIK to `-', czytane jest std. wej=B6cie.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -579,30 +566,30 @@ msgstr "" "\n" "Raporty o b=B3=EAdach wysy=B3aj do bug-m4@gnu.org.\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "B=B3=EAdne flagi debugowania: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -624,9 +611,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Sprawd=BC czy nie dosz=B3o do niesko=F1czonej rekursji.\n" =20 -# hm - rzm -#~ msgid "Undefined syntax code %c" -#~ msgstr "Niezdefiniowany kod sk=B3adniowy %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Niezdefiniowana nazwa %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Nazwa `%s' jest nieznana\n" =20 #, fuzzy #~ msgid "" Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.28 diff -u -p -u -r1.28 ru.po --- po/ru.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/ru.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -69,7 +69,7 @@ msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE= =C1=DE=CE=C1\n" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" @@ -150,110 +150,95 @@ msgstr "" msgid "No previous regular expression" msgstr "=EE=C5=D4 =D0=D2=C5=C4=DB=C5=C4=D3=D4=D7=D5=C0=DD=C5=C7=CF =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=F7=D7=CF=C4 =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=CC=C5=CE =D7 %s , =D3= =D4=D2=CF=CB=C1 %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "=F7=D7=CF=C4 =C9=DA %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=EE=E9=FE=E5=E7=EF" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D4=D2= =CF=CB=C5" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D0=C9= =D3=CB=C5 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d =C9=D3=DE= =C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF=C2=D9 = =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE: %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 #: m4/output.c:287 @@ -272,30 +257,25 @@ msgstr "=EF=FB=E9=E2=EB=E1: =EF=DB=C9=C2=CB=C1 =DA=C1= =D0=C9=D3=C9 =D2=C1=DA=D7=C5=D4=D7=CC=C5=CE msgid "copying inserted file" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=D0=C9=D2=D5=C0 =D7=D3=D4=C1=D7=CC=C5=CE= =CE=D9=CA =C6=C1=CA=CC" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=EF=FB=E9=E2=EB=E1: =FE=C9=D4=C1=C0 =D7=D3=D4=C1=D7=CC=C5=CE=CE=D9= =CA =C6=C1=CA=CC" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D0=CF=C4=D3=DE=C9=D4=C1=D4=D8 =D2= =C1=DA=D7=C5=D4=D7=CC=C5=CE=C9=D1" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=F0=D5=D4=D8 =D0=CF=C9=D3=CB=C1 =C4=CC=D1 `%s' =CE=C1=CA=C4=C5=CE= `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "=E9=CD=D1 `%s' =CE=C5=C9=DA=D7=C5=D3=D4=CE=CF\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,62 +316,67 @@ msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5= =CE=CF" msgid "Warning: %s: modulo by zero: %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "=EE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CE=D9=CA =D3=C9=CE=D4=C1=CB=D3= =C9=DE=C5=D3=CB=C9=CA =CB=CF=C4 %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "=F2=C5=D6=C9=CD =CF=D4=CC=C1=C4=CB=C9: =CE=C5=D7=C5=D2=CE=D9=CA = =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CE=C1=DA=CE=C1=DE=C9=D4=D8 =C6=C1= =CA=CC =CF=DB=C9=C2=CF=CB %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D2=C5=C7=D5=CC=D1=D2=CE=CF=C5 =D7=D9=D2= =C1=D6=C5=CE=C9=C5: '%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=EF=DB=C9=C2=CB=C1 =D3=CF=D0=CF=D3=D4=C1=D7=CC=C5=CE=C9=D1 =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1 '%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2=D9=D4=D8 =CB=C1=CE=C1= =CC =C4=CC=D1 =CB=CF=CD=CD=C1=CE=C4=D9 '%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "=F0=F2=E5=E4=F5=F0=F2=E5=F6=E4=E5=EE=E9=E5: \\0 =C9=D3=DE=C5=DA=CE= =C5=D4, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 \\& =D7 =DA=C1=CD=C5=CE=C1=C8" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D7=C5=D2=CE=D5=D4=D8 =D7=D9=D7=CF= =C4 =C9=DA %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2=D9=D4=D8 %s" @@ -401,45 +386,45 @@ msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2= =D9=D4=D8 %s" msgid "Loss of precision in eval: %s" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D7=D9=D2=C1=D6=C5=CE=C9=C5: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=EF=D6=C9=C4=C1=C5=D4=D3=D1 =D0=C5=D2=C5=D7=CF=C4 =D3=D4=D2=CF=CB= =C9 =D7 =C6=C1=CA=CC=C5-=CF=C2=D2=C1=DA=C5 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=EF=D6=C9=C4=C1=C5=D4=D3=D1 =D3=C9=CD=D7=CF=CC '%c' =D7 =C6=C1=CA= =CC=C5-=CF=C2=D2=C1=DA=C5 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=F0=D2=C5=D6=C4=C5=D7=D2=C5=CD=C5=CE=CE=D9=CA =CB=CF=CE=C5=C3 =C6= =C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CF=D2=CD=C1=D4 =C6=C1=CA=CC=C1-=CF=C2= =D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "'%s' =C9=DA =C6=C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9= =CE=C5 =CE=C1=CA=C4=C5=CE=C1 =D7=CF =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA =D4=C1= =C2=CC=C9=C3=C5!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=EF=FB=E9=E2=EB=E1: =F0=C5=D2=C5=D0=CF=CC=CE=C5=CE=C9=C5 =D3=D4=C5= =CB=C1. (=E2=C5=D3=CB=CF=CE=C5=DE=CE=CF=C5 =D2=C5=CB=D5=D2=D3=C9=D7=CE=CF= =C5 =CF=D0=D2=C5=C4=C5=CC=C5=CE=C9=C5?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=F0=CF=D0=D2=CF=C2=D5=CA=D4=C5 '%s --help' =C4=CC=D1 =C9=CE=C6=CF= =D2=CD=C1=C3=C9=C9.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=E9=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE=C9=C5: %s [OPTION]... [FILE]..= =2E\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -469,15 +454,16 @@ msgstr "" " -P, --prefix-builtins =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C6= =C9=CB=D3 `m4_' =C4=CC=D1 =D7=D3=C5=C8 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 " "=C6=D5=CE=CB=C3=C9=CA\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -493,7 +479,7 @@ msgstr "" " -U, --undefine=3DNAME =D5=C4=C1=CC=C9=D4=D8 =D7=D3=D4=D2=CF=C5= =CE=CE=D5=C0 =C6=D5=CE=CB=C3=C9=C0 NAME\n" " -s, --synclines =C7=C5=CE=C5=D2=C9=D2=CF=D7=C1=D4=D8 =D3= =D4=D2=CF=CB=C9 `#line NO \"FILE\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -509,7 +495,7 @@ msgstr "" " -L, --nesting-limit=3DNUMBER =C9=DA=CD=C5=CE=C9=D4=D8 =D0=D2=C5=C4=C5= =CC =C7=CC=D5=C2=C9=CE=D9 =C9=CE=D4=C5=CC=C5=CB=D4=D5=C1=CC=D8=CE=CF=C7=CF= " "=D0=CF=C9=D3=CB=C1\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -521,7 +507,7 @@ msgstr "" " -F, --freeze-state=3DFILE =D7 =CB=CF=CE=C3=C5 =D3=CF=DA=C4=C1=D4= =D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" " -R, --reload-state=3DFILE =D7 =CE=C1=DE=C1=CC=C5 =DA=C1=C7=D2=D5= =D6=C1=D4=D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -539,7 +525,7 @@ msgstr "" " -o, --error-output=3DFILE =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=C9=D4=D8= =CF=D4=CC=C1=C4=CF=DE=CE=D9=CA =C9 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CF=DE=CE=D9= =CA " "=D7=D9=D7=CF=C4 =D7 =C6=C1=CA=CC FILE\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -570,7 +556,7 @@ msgstr "" " i =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =C9=DA=CD=C5=CE=C5=CE=C9=D1 =D7=CF= =D7=C8=CF=C4=CE=D9=C8 =C6=C1=CA=CC=C1=C8\n" " V =D3=CF=CB=D2=C1=DD=C5=CE=C9=C5 =C4=CC=D1 =D7=D3=C5=C8 =C6=CC=C1=C7= =CF=D7 =D7=CD=C5=D3=D4=C5\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -578,7 +564,7 @@ msgstr "" "\n" "=E5=D3=CC=C9 FILE =CE=C5 =D3=D5=DD=C5=D3=D4=D7=D5=C5=D4 =C9=CC=C9 FILE = =DC=D4=CF `-', =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D3=D4=C1=CE=C4=C1=D2= =D4=CE=D9=CA =D7=C8=CF=C4.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -586,30 +572,30 @@ msgstr "" "\n" "=F0=CF=D3=D9=CC=C1=CA=D4=C5 =CF=D4=DE=C5=D4=D9 =CF=C2 =CF=DB=C9=C2=CB=C1= =C8 =CE=C1 .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s= '" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -631,8 +617,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". =F0=D2=CF=D7=C5=D2=CB=C1 =CE=C1 =D7=CF=DA=CD=CF=D6=CE=D5=C0 =C2= =C5=D3=CB=CF=CE=C5=DE=CE=D5=C0 =D2=C5=CB=D5=D2=D3=C9=C0.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "=EE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CE=D9=CA =D3=C9=CE=D4=C1=CB= =D3=C9=DE=C5=D3=CB=C9=CA =CB=CF=C4 %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4= =C5=CE" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "=E9=CD=D1 `%s' =CE=C5=C9=DA=D7=C5=D3=D4=CE=CF\n" =20 #, fuzzy #~ msgid "" Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.29 diff -u -p -u -r1.29 sv.po --- po/sv.po 12 Jun 2003 16:31:59 -0000 1.29 +++ po/sv.po 4 Sep 2003 13:59:54 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -70,7 +70,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -151,109 +151,94 @@ msgstr "" msgid "No previous regular expression" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Odefinierat namn \"%s\"" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Indata =E5terg=E5r till %s, rad %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Indata l=E4ses fr=E5n %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "INGET" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FEL: Filslut i str=E4ng" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FEL: Filslut i argumentlistan" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "FEL: Rekursionsgr=E4ns %d =F6verskriden, anv=E4nd -L f=F6r at= t =E4ndra" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEL: kan inte hitta modul \"%s\": %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 #: m4/output.c:287 @@ -271,30 +256,25 @@ msgstr "FEL: Kan inte skriva avledningen msgid "copying inserted file" msgstr "FEL: Kopiering av insatt fil" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FEL: L=E4sning av insatt fil" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Kan inte ta status p=E5 avledningen" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "\"%s\" hittades som \"%s\" i s=F6kv=E4gen" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Namnet \"%s\" =E4r ok=E4nt\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -335,62 +315,67 @@ msgstr "Odefinierat namn \"%s\"" msgid "Warning: %s: modulo by zero: %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Odefinierad syntaxkod %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Fels=F6kningsl=E4ge: ok=E4nd flagga: \"%s\"" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kan inte s=E4tta felutskriftsfil: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Otill=E5tet regulj=E4ruttryck \"%s\": %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan inte skapa r=F6r till kommandot \"%s\"" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "VARNING: \\0 kommer att f=F6rsvinna, anv=E4nd \\& i ers=E4ttning= ar" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Kan inte =E5terleda %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kan inte =F6ppna %s" @@ -400,45 +385,45 @@ msgstr "Kan inte =F6ppna %s" msgid "Loss of precision in eval: %s" msgstr "Otill=E5tet uttryck i \"eval\": %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Nyrad f=F6rv=E4ntas i fryst fil" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Tecknet \"%c\" f=F6rv=E4ntas i fryst fil" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "F=F6r tidigt filslut i fryst fil" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Korrupt fryst fil" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "\"%s\" fr=E5n fryst fil hittades inte i tabellen f=F6r inbyggda = makron!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEL: Stacken fl=F6dar =F6ver. (O=E4ndlig definitionsrekursion?)"= =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "F=F6rs=F6k med \"%s --help\" f=F6r mer information.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Anv=E4ndning: %s [FLAGGA]... [FIL]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -466,15 +451,16 @@ msgstr "" "makron\n" " -P, --prefix-builtins alla inbyggda makron b=F6rjar med `m4_'\= n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -490,7 +476,7 @@ msgstr "" " -U, --undefine=3DNAMN ta bort inbyggt makro\n" " -s, --synclines generera `#line NNN \"FIL\"' rader\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -504,7 +490,7 @@ msgstr "" " -H, --hashsize=3DPRIMTAL s=E4tt storlek p=E5 symboltabellen\n" " -L, --nesting-limit=3DANTAL =E4ndra artificiell n=E4stningsniv=E5\= n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -516,7 +502,7 @@ msgstr "" " -F, --freeze-state=3DFIL spara fryst tillst=E5nd i FIL vid avsl= ut\n" " -R, --reload-state=3DFIL l=E4s fryst tillst=E5nd fr=E5n FIL vid= start\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -534,7 +520,7 @@ msgstr "" " -o, --error-output=3DFIL avled fels=F6knings och sp=E5rutskrift= er till " "FIL\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -564,7 +550,7 @@ msgstr "" " i visa byten av infil\n" " V f=F6rkortning f=F6r alla ovanst=E5ende flaggor\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -572,7 +558,7 @@ msgstr "" "\n" "Om ingen FIL anges eller om FIL =E4r `-', s=E5 l=E4ses standard in.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -581,30 +567,30 @@ msgstr "" "Rapportera fel till .\n" "Rapportera fel p=E5 =F6vers=E4ttningen till .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Ok=E4nd fels=F6kningsflagga \"%s\"" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -626,8 +612,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Kontrollera om o=E4ndlig rekursion f=F6rekommer.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Odefinierad syntaxkod %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Odefinierat namn \"%s\"" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "FEL: kan inte hitta modul \"%s\"" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Namnet \"%s\" =E4r ok=E4nt\n" =20 #, fuzzy #~ msgid "" --------------000308000603090706020708-- From MAILER-DAEMON Thu Sep 04 10:46:24 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19uvLV-0002NU-EJ for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 10:44:25 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19uvKY-0001fQ-Em for m4-patches@gnu.org; Thu, 04 Sep 2003 10:43:26 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19uvJs-0001DM-QT for m4-patches@gnu.org; Thu, 04 Sep 2003 10:43:19 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19uvJ9-0000mP-3h for m4-patches@gnu.org; Thu, 04 Sep 2003 10:41:59 -0400 Received: (qmail 14205 invoked from network); 4 Sep 2003 14:41:55 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 4 Sep 2003 14:41:55 -0000 Received: (qmail 1696 invoked from network); 4 Sep 2003 14:18:43 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 4 Sep 2003 14:18:43 -0000 Message-ID: <3F5749C7.1000202@gnu.org> Date: Thu, 04 Sep 2003 15:18:47 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------060601090801090908060900" Subject: FYI: 52-gary-isolate-externally-maintained-files.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 14:44:19 -0000 This is a multi-part message in MIME format. --------------060601090801090908060900 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------060601090801090908060900 Content-Type: text/plain; name="52-gary-isolate-externally-maintained-files.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="52-gary-isolate-externally-maintained-files.patch" Index: ChangeLog from Gary V. Vaughan GNU M4 currently builds with a number of files adapted from upstream sources. Recently the gnulib project on savannah.gnu.org has pulled together a great many of these externally maintained files. This delta is the beginnings of isolating those files maintained in gnulib to make it easy to synchronise M4 with the upstream files prior to releases. * Makefile.am (ACLOCAL_AMFLAGS): Mention gnulib/m4 macro directory. (SUBDIRS): Added new gnulib subdirectory. * configure.ac (AC_CONFIG_FILES): Add new gnulib tree Makefiles. * config/stdbool.m4: Moved from here... * gnulib/m4/stdbool.m4: ...to here. * m4/stdbool_.h: Moved from here... * gnulib/lib/stdbool_.h: ...to here. * gnulib/Makefile.am: New file. Make sure the gnulib tree is distributed. * m4/Makefile.am: Adjust gnulib/modules/stdbool:Makefile.am based code to work with new stdbool_.h location. (gnulib_srcdir): New. 2003-09-04 Gary V. Vaughan Index: Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/Makefile.am,v retrieving revision 1.11 diff -u -p -u -r1.11 Makefile.am --- Makefile.am 29 Aug 2003 16:55:55 -0000 1.11 +++ Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -1,6 +1,6 @@ ## Makefile.am -- Process this file with automake to produce Makefile.in= ## -## Copyright (C) 2000 Free Software Foundation +## Copyright (C) 2000, 2003 Free Software Foundation ## ## 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 @@ -19,14 +19,14 @@ ## ## Written by Gary V. Vaughan =20 -EXTRA_DIST =3D config/config.rpath bootstrap +EXTRA_DIST =3D bootstrap =20 auxdir =3D $(top_srcdir)/$(ac_aux_dir) =20 ## There is currently no means with Automake not to run aclocal. -ACLOCAL_AMFLAGS =3D -I config +ACLOCAL_AMFLAGS =3D -I config -I gnulib/m4 =20 -SUBDIRS =3D po config m4 modules src tests examples doc . +SUBDIRS =3D po gnulib config m4 modules src tests examples doc . MAINTAINERCLEANFILES =3D ABOUT-NLS COPYING INSTALL Makefile.in aclocal.m= 4 \ config-h.in configure ltmain.sh stamp-h.in \ po/cat-id-tbl.c po/m4.pot po/stamp-cat-id Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.13 diff -u -p -u -r1.13 configure.ac --- configure.ac 29 Aug 2003 17:44:47 -0000 1.13 +++ configure.ac 4 Sep 2003 13:59:53 -0000 @@ -212,7 +212,16 @@ AM_CONDITIONAL([USE_GMP], [test "x$USE_G ## -------- ## ## Outputs. ## ## -------- ## -AC_CONFIG_FILES(Makefile config/Makefile doc/Makefile m4/Makefile - m4/system.h:m4/system_.h src/Makefile modules/Makefile - tests/Makefile tests/atlocal examples/Makefile) +AC_CONFIG_FILES([Makefile + config/Makefile + doc/Makefile + examples/Makefile + gnulib/Makefile + m4/Makefile + m4/system.h:m4/system_.h + modules/Makefile + src/Makefile + tests/Makefile + tests/atlocal +]) AC_OUTPUT Index: config/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/config/Makefile.am,v retrieving revision 1.14 diff -u -p -u -r1.14 Makefile.am --- config/Makefile.am 4 Sep 2003 13:12:16 -0000 1.14 +++ config/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -35,7 +35,7 @@ $(srcdir)/intdiv0.m4 \ $(srcdir)/inttypes-pri.m4 \ $(srcdir)/inttypes.m4 \ $(srcdir)/inttypes_h.m4 \ -$(srcdir)/iscposix.m4 \ +$(srcdir)/isc-posix.m4 \ $(srcdir)/lcmessage.m4 \ $(srcdir)/lib-ld.m4 \ $(srcdir)/lib-link.m4 \ Index: config/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/stdbool.m4 diff -N config/stdbool.m4 --- config/stdbool.m4 29 Aug 2003 16:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,89 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# Prepare for substituting if it is not supported. - -AC_DEFUN([AM_STDBOOL_H], -[ - AC_REQUIRE([AC_HEADER_STDBOOL]) - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" =3D yes; then - STDBOOL_H=3D'' - else - STDBOOL_H=3D'stdbool.h' - fi - AC_SUBST([STDBOOL_H]) - - if test "$ac_cv_type__Bool" =3D yes; then - HAVE__BOOL=3D1 - else - HAVE__BOOL=3D0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf -# have this macro built-in. - -AC_DEFUN([AC_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_TRY_COMPILE( - [ - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: false is not defined" - #endif - #if true !=3D 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true =3D=3D 1 ? 1 : -1]; - char b[false =3D=3D 0 ? 1 : -1]; - char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; - char d[(bool) -0.5 =3D=3D true ? 1 : -1]; - bool e =3D &s; - char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - ], - [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], - [ac_cv_header_stdbool_h=3Dyes], - [ac_cv_header_stdbool_h=3Dno])]) - AC_CHECK_TYPES([_Bool]) - if test $ac_cv_header_stdbool_h =3D yes; then - AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) - fi]) Index: gnulib/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/Makefile.am diff -N gnulib/Makefile.am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -0,0 +1,31 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in= +## +## Copyright (C) 2003 Free Software Foundation +## +## 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 of the License, 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; see the file COPYING. If not, write to +## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +## Boston, MA 02111-1307, USA. +## +## Written by Gary V. Vaughan + +gnulib_macrodir =3D $(srcdir)/m4 +gnulib_srcdir =3D $(srcdir)/lib + +GNULIB_SRCS =3D \ +$(gnulib_srcdir)/stdbool_.h + +GNULIB_MACROS =3D \ +$(gnulib_macrodir)/stdbool.m4 + +EXTRA_DIST =3D $(GNULIB_SRCS) $(GNULIB_MACROS) \ No newline at end of file Index: gnulib/m4/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/stdbool.m4 diff -N gnulib/m4/stdbool.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/stdbool.m4 4 Sep 2003 13:59:53 -0000 @@ -0,0 +1,89 @@ +# Check for stdbool.h that conforms to C99. + +# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([AM_STDBOOL_H], +[ + AC_REQUIRE([AC_HEADER_STDBOOL]) + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" =3D yes; then + STDBOOL_H=3D'' + else + STDBOOL_H=3D'stdbool.h' + fi + AC_SUBST([STDBOOL_H]) + + if test "$ac_cv_type__Bool" =3D yes; then + HAVE__BOOL=3D1 + else + HAVE__BOOL=3D0 + fi + AC_SUBST([HAVE__BOOL]) +]) + +# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf +# have this macro built-in. + +AC_DEFUN([AC_HEADER_STDBOOL], + [AC_CACHE_CHECK([for stdbool.h that conforms to C99], + [ac_cv_header_stdbool_h], + [AC_TRY_COMPILE( + [ + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: false is not defined" + #endif + #if true !=3D 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true =3D=3D 1 ? 1 : -1]; + char b[false =3D=3D 0 ? 1 : -1]; + char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; + char d[(bool) -0.5 =3D=3D true ? 1 : -1]; + bool e =3D &s; + char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + ], + [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], + [ac_cv_header_stdbool_h=3Dyes], + [ac_cv_header_stdbool_h=3Dno])]) + AC_CHECK_TYPES([_Bool]) + if test $ac_cv_header_stdbool_h =3D yes; then + AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) + fi]) Index: m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.19 diff -u -p -u -r1.19 Makefile.am --- m4/Makefile.am 29 Aug 2003 18:33:38 -0000 1.19 +++ m4/Makefile.am 4 Sep 2003 13:59:53 -0000 @@ -52,17 +52,21 @@ dist-hook: rm -f $(distdir)/system.h =20 =20 -# ------------------------------------------------------------ # -# Taken from gnulib/modules/stdbool:Makefile.am. Do not edit. # -# ------------------------------------------------------------ # +gnulib_srcdir =3D $(top_srcdir)/gnulib/lib + + +# ------------------------------------------------ # +# Adapted from gnulib/modules/stdbool:Makefile.am. # +# ------------------------------------------------ # =20 BUILT_SOURCES +=3D $(STDBOOL_H) -EXTRA_DIST +=3D stdbool_.h +MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t + +pkginc_HEADERS +=3D $(STDBOOL_H) =20 # We need the following in order to create an when the syste= m # doesn't have one that works. all-local $(lib_OBJECTS): $(STDBOOL_H) -stdbool.h: stdbool_.h - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool_.h > $@= -t +stdbool.h: $(gnulib_srcdir)/stdbool_.h + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(gnulib_srcdir)/stdbool_= =2Eh > $@-t mv $@-t $@ -MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t Index: m4/stdbool_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/stdbool_.h diff -N m4/stdbool_.h --- m4/stdbool_.h 29 Aug 2003 16:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,92 +0,0 @@ -/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - 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 Foundatio= n, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _STDBOOL_H -#define _STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) =3D=3D 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be us= ed. - - - You cannot assume that _Bool is a typedef; it might be a macro.= - - - In C99, casts and automatic conversions to '_Bool' or 'bool' ar= e - performed in such a way that every nonzero value gets converted= - to 'true', and zero gets converted to 'false'. This doesn't wo= rk - with this substitute. With this substitute, only the values 0 = and 1 - give the expected result when converted to _Bool' or 'bool'. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the sam= e - definitions below, but temporarily we have to #undef them. */ -#ifdef __BEOS__ -# undef false -# undef true -#endif - -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false =3D 0, true =3D 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#ifndef __cplusplus -# if !@HAVE__BOOL@ -# if defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ =3D=3D 1) - /* Avoid stupid "warning: _Bool is a keyword in ISO C99". */ -# define _Bool signed char -enum { false =3D 0, true =3D 1 }; -# else -typedef enum { _Bool_must_promote_to_int =3D -1, false =3D 0, true =3D 1= } _Bool; -# endif -# endif -#else -typedef bool _Bool; -#endif -#define bool _Bool - -/* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 -#define __bool_true_false_are_defined 1 - -#endif /* _STDBOOL_H */ Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.28 diff -u -p -u -r1.28 cs.po --- po/cs.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/cs.po 4 Sep 2003 13:59:53 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -154,120 +154,104 @@ msgstr "" msgid "No previous regular expression" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - # , c-format -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Jm=E9no %s nen=ED definov=E1no" - -# , c-format -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Vstup =E8ten z %s, =F8=E1dku %d" =20 # , c-format -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Vstup =E8ten z %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=AE=C1DN=DD" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "CHYBA: EOF v =F8et=ECzci" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "CHYBA: EOF v seznamu argument=F9" =20 # , c-format -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "CHYBA: p=F8ekro=E8en limit pro rekurzi (%d), zm=EC=F2te jej pomo= c=ED -L" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +# , c-format +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +# , c-format +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +# , c-format +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 # , c-format -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt: %s" =20 -# , c-format -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - # , c-format -#: m4/module.c:377 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -# , c-format -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 # , c-format -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "CHYBA: modul `%s' nelze nal=E9zt" - -# , c-format -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 #: m4/output.c:287 @@ -285,33 +269,27 @@ msgstr "CHYBA: odlo=BEen=FD v=FDstup nelze zap msgid "copying inserted file" msgstr "CHYBA: p=F8i zapisov=E1n=ED vlo=BEen=E9ho souboru" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "CHYBA: p=F8i =E8ten=ED vlo=BEen=E9ho souboru" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Chyba p=F8i vol=E1n=ED funkce stat pro soubor obsahuj=EDc=ED odl= o=BEen=FD v=FDstup" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 # , c-format -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Hled=E1n soubor `%s', nalezen soubor `%s'" =20 # , c-format -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Jm=E9no `%s' nen=ED zn=E1mo\n" - -# , c-format #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -360,72 +338,78 @@ msgid "Warning: %s: modulo by zero: %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Syntaktick=FD k=F3d %c nen=ED definov=E1n" + +# , c-format +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Lad=EDc=ED m=F3d: =B9patn=E9 lad=EDc=ED volby: `%s'" =20 # , c-format -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Chybov=FD soubor %s nelze pou=BE=EDt" =20 # , c-format -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=A9patn=FD regul=E1rn=ED v=FDraz `%s': %s" =20 # , c-format -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 # , c-format -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Rouru do p=F8=EDkazu `%s' nelze otev=F8=EDt" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "VAROV=C1N=CD: \\0 zmiz=ED, p=F8i nahrazov=E1n=ED pou=BEijte \\&"= =20 # , c-format -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Jm=E9no %s nen=ED definov=E1no" =20 # , c-format -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Chyba p=F8i vol=E1n=ED makra undivert pro %s" =20 # , c-format -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "%s nelze otev=F8=EDt" @@ -436,49 +420,49 @@ msgstr "%s nelze otev=F8=EDt" msgid "Loss of precision in eval: %s" msgstr "=A9patn=FD v=FDraz v makru eval: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Ve zmrazen=E9m souboru o=E8ek=E1v=E1n LF" =20 # , c-format -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Ve zmrazen=E9m souboru o=E8ek=E1v=E1n znak `%c'" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "P=F8ed=E8asn=FD konec zmrazen=E9ho souboru" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=A9patn=FD form=E1t zmrazen=E9ho souboru" =20 # , c-format -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' ze zmrazen=E9ho souboru nenalezeno v tabulce vestav=ECn=FDc= h maker!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "CHYBA: P=F8ete=E8en=ED z=E1sobn=EDku. (nekone=E8n=E1 rekurze mak= ra define?)" =20 # , c-format -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "V=EDce informac=ED z=EDsk=E1te p=F8=EDkazem `%s --help'.\n" =20 # , c-format -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Pou=BEit=ED: %s [P=D8EP=CDNA=C8]... [SOUBOR]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -507,15 +491,16 @@ msgstr "" " -P, --prefix-builtins v=B9echna vestav=ECn=E1 makra budou m=ED= t prefix " "`m4_'\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -533,7 +518,7 @@ msgstr "" " -U, --undefine=3DMAKRO sma=BEe vestav=ECn=E9 MAKRO\n" " -s, --synclines vlo=BE=ED =F8=E1dky tvaru `#line =C8=CD= SLO \"SOUBOR\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -548,7 +533,7 @@ msgstr "" "symbol=F9\n" " -L, --nesting-limit=3D=C8=CDSLO nastav=ED limit pro vno=F8en=E1 v= ol=E1n=ED maker\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -560,7 +545,7 @@ msgstr "" " -F, --freeze-state=3DSOUBOR p=F8i ukon=E8en=ED ulo=BE=ED zmrazen=FD= stav do SOUBORU\n" " -R, --reload-state=3DSOUBOR p=F8i startu na=E8te zmrazen=FD stav = ze SOUBORU\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -579,7 +564,7 @@ msgstr "" " -o, --error-output=3DSOUBOR p=F8esm=ECruje v=FDstup lad=ECn=ED a = sledov=E1n=ED do " "SOUBORU\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -609,7 +594,7 @@ msgstr "" " i vyp=ED=B9e informace o ka=BEd=E9 zm=ECn=EC vstupn=EDho souboru\n"= " V zkratka pro v=B9echny v=FD=B9e uveden=E9 volby\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -618,7 +603,7 @@ msgstr "" "Jestli=BEe SOUBOR nen=ED zad=E1n, nebo je SOUBOR `-', pak je =E8ten sta= ndardn=ED " "vstup.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -627,31 +612,31 @@ msgstr "" "Chyby v programu oznamujte na adrese (anglicky).\n" "P=F8ipom=EDnky k p=F8ekladu zas=EDlejte na adresu (=E8esky)= =2E\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 # , c-format -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=A9patn=E9 lad=EDc=ED volby: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -675,8 +660,18 @@ msgid ". Check for possible infinite re msgstr ". Prov=EC=F8te, zda se nejedn=E1 o nekone=E8nou rekurzi.\n" =20 # , c-format -#~ msgid "Undefined syntax code %c" -#~ msgstr "Syntaktick=FD k=F3d %c nen=ED definov=E1n" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Jm=E9no %s nen=ED definov=E1no" + +# , c-format +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "CHYBA: modul `%s' nelze nal=E9zt" + +# , c-format +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Jm=E9no `%s' nen=ED zn=E1mo\n" =20 #, fuzzy #~ msgid "" Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.28 diff -u -p -u -r1.28 de.po --- po/de.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/de.po 4 Sep 2003 13:59:53 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -71,7 +71,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -152,112 +152,97 @@ msgstr "" msgid "No previous regular expression" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Name %s nicht definiert" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Eingabe zur=FCckgenommen zu %s, Zeile %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Eingabe gelesen von %s" =20 # This is the name of the input file when there is no current input file= =2E # Is this ever printed in a message? -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "NONE" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FEHLER: Dateiende in Zeichenkette" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FEHLER: Dateiende in Argumentliste" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L zur = =C4nderung" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEHLER: Kann Modul =BB%s=AB nicht finden: %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 #: m4/output.c:287 @@ -275,30 +260,25 @@ msgstr "FEHLER: Kann Umleitung nicht in=20 msgid "copying inserted file" msgstr "FEHLER: W=E4hrend Kopieren einer eingef=FCgten Datei" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FEHLER: W=E4hrend Lesen einer eingef=FCgten Datei" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Kann `stat' nicht auf Umleitung anwenden" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Pfad f=FCr Suche nach =BB%s=AB hat =BB%s=AB gefunden" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Name =BB%s=AB ist unbekannt\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -339,62 +319,67 @@ msgstr "Name %s nicht definiert" msgid "Warning: %s: modulo by zero: %s" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Name %s nicht definiert" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Syntaxzeichen %c nicht definiert." + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmodus: falsche Debug Flags: =BB%s=AB" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kann Fehlerdatei nicht vorbereiten: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Falscher regul=E4rer Ausdruck =BB%s=AB: %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kann keine `pipe' f=FCr Kommando =BB%s=AB =F6ffnen" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "WARNUNG: \\0 wird wegfallen, benutze \\& stattdessen" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Name %s nicht definiert" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Kann Umleitung %s nicht aufheben" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kann %s nicht =F6ffnen" @@ -404,47 +389,47 @@ msgstr "Kann %s nicht =F6ffnen" msgid "Loss of precision in eval: %s" msgstr "Falscher Ausdruck in `eval': %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Erwarte Zeilenumbruch in eingefrorener Datei" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Erwarte Zeichen =BB%c=AB in eingefrorener Datei" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Vorzeitiges Ende der eingefrorenen Datei" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Fehlerhafte eingefrorene Datei" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "" "=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebauten Funkt= ionen " "gefunden!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEHLER: Keller voll. (Unendliche `define' Rekursion?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BB%s --help=AB zeigt weitere Informationen.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -473,12 +458,13 @@ msgstr "" " -P, --prefix-builtins erzwinge `m4_' Pr=E4fix f=FCr eingebaute= " "Funktionen\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, fuzzy, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" "\n" "Dynamisches Laden:\n" @@ -486,7 +472,7 @@ msgstr "" "hinzu\n" " -M, --load-module=3DMODULE lade dynamisches MODULE aus M4M= ODPATH\n" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -503,7 +489,7 @@ msgstr "" " -U, --undefine=3DNAME l=F6sche eingebaute Funktion NAME\n" " -s, --synclines erzeuge `#line NR \"DATEI\"' Zeilen\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -518,7 +504,7 @@ msgstr "" " -L, --nesting-limit=3DNUMMER setze k=FCnstliche Grenze f=FCr " "Schachtelungstiefe\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -532,7 +518,7 @@ msgstr "" " -R, --reload-state=3DDATEI lade zu Beginn Zustand von eingefroren= er " "DATEI\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -550,7 +536,7 @@ msgstr "" " -o, --error-output=3DDATEI leite Debug- und Verfolgungsausgaben n= ach " "DATEI\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -580,7 +566,7 @@ msgstr "" " i gebe Ver=E4nderungen der Eingabedatei aus\n" " V Kurzform f=FCr alle Flags oben zusammen\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -588,7 +574,7 @@ msgstr "" "\n" "Ohne DATEI oder wenn DATEI `-' ist, wird die Standardeingabe gelesen\n"= =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -596,30 +582,30 @@ msgstr "" "\n" "Probleme und Fehler an .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, fuzzy, c-format msgid "failed to add search directory `%s'" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen" =20 -#: src/main.c:309 +#: src/main.c:323 #, fuzzy, c-format msgid "failed to add search directory `%s': %s" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen: %s" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Falsche Debug Flags: =BB%s=AB" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -641,8 +627,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Untersuche auf m=F6gliche unendliche Rekursion.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Syntaxzeichen %c nicht definiert." +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Name %s nicht definiert" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Name =BB%s=AB ist unbekannt\n" =20 #, fuzzy #~ msgid "" Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.28 diff -u -p -u -r1.28 el.po --- po/el.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/el.po 4 Sep 2003 13:59:53 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,111 +150,96 @@ msgstr "" msgid "No previous regular expression" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=C7 =E5=DF=F3=EF=E4=EF=F2 =E5=F0=E1=ED=E1=F6=DD=F1=E8=E7=EA=E5 =F3= =F4=EF %s, =E3=F1=E1=EC=EC=DE %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "=C7 =E5=DF=F3=EF=E4=EF=F2 =E1=ED=E1=E3=ED=FE=F3=F4=E7=EA=E5 =E1=F0= =FC =F4=EF %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=CA=C1=CD=C5=CD=C1" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=EF =E1=EB=F6=E1=F1=E9=E8=EC=E7=F4= =E9=EA=FC" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=E7 =EB=DF=F3=F4=E1 =EF=F1=E9=F3=EC= =DC=F4=F9=ED" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE=F2 %d = =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7 =F4=EF= =F5 -L =E3=E9=E1 =ED=E1 =F4=EF " "=E1=EB=EB=DC=EE=E5=F4=E5" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s': %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 #: m4/output.c:287 @@ -272,30 +257,25 @@ msgstr "=D3=D6=C1=CB=CC=C1: =C1=E4=F5=ED=E1=EC=DF=E1= =E1=F0=EF=F3=F4=EF=EB=DE=F2 =E1=EB=EB=E1=E3 msgid "copying inserted file" msgstr "=D3=D6=C1=CB=CC=C1: =C1=ED=F4=E9=E3=F1=E1=E3=DE =E5=E9=F3=E5=F1=F7= =EF=EC=DD=ED=EF=F5 =E1=F1=F7=E5=DF=EF=F5" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=D3=D6=C1=CB=CC=C1: =C1=ED=DC=E3=ED=F9=F3=E7 =E5=E9=F3=E5=F1=F7=EF= =EC=DD=ED=EF=F5 =E1=F1=F7=E5=DF=EF=F5" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F0=F1=EF=F3=F0=DD=EB=E1=F3=E7=F2 =F4=EF= =F5 =E1=F1=F7=E5=DF=EF=F5 =F4=E7=F2 =E1=EB=EB=E1=E3=DE=F2" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=CF =DD=EB=E5=E3=F7=EF=F2 =EC=EF=ED=EF=F0=E1=F4=E9=EF=FD =E3=E9=E1= =F4=EF `%s' =E2=F1=DE=EA=E5 `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "=D4=EF =FC=ED=EF=EC=E1 `%s' =E5=DF=ED=E1=E9 =DC=E3=ED=F9=F3=F4=EF= \n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,64 +316,69 @@ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC= =E1 %s" msgid "Warning: %s: modulo by zero: %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF=F2 =EA=FE=E4=E9=EA=E1=F2 =F3=FD=ED= =F4=E1=EE=E7=F2 %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "=CA=E1=F4=DC=F3=F4=E1=F3=E7 =E1=F0=EF=F3=F6=E1=EB=EC=DC=F4=F9=F3= =E7=F2: =EB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E1=F0=EF=F3=F6=E1=EB=EC=DC= =F4=F9=F3=E7=F2: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F1=FD=E8=EC=E9=F3=E7=F2 =F4=EF=F5 =E1=F1= =F7=E5=DF=EF=F5 =F3=F6=E1=EB=EC=DC=F4=F9=ED: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=CB=DC=E8=EF=F2 =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `= %s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1=F4=EF=F2 =F3=F9=EB= =DE=ED=F9=F3=E7=F2 =F3=F4=E7=ED =E5=ED=F4=EF=EB=DE `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" "=D0=D1=CF=C5=C9=C4=CF=D0=CF=C9=C7=D3=C7: =D4=EF \\0 =E8=E1 =E5=EE=E1=F6= =E1=ED=E9=F3=F4=E5=DF, =EA=DC=ED=E5=F4=E5 =F7=F1=DE=F3=E7 =F4=EF=F5 \\& =E1= =ED=F4=DF=E8=E5=F4=E1 =F3=F4=E9=F2 " "=E1=ED=F4=E9=EA=E1=F4=E1=F3=F4=DC=F3=E5=E9=F2" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E5=F0=E1=ED=E1=F6=EF=F1=DC=F2 =F4=EF=F5= %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1=F4=EF=F2 =F4=EF=F5= %s" @@ -403,45 +388,45 @@ msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC= =E1=F4=EF=F2 =F4=EF=F5 %s" msgid "Loss of precision in eval: %s" msgstr "=CB=DC=E8=EF=F2 =DD=EA=F6=F1=E1=F3=E7 =F3=F4=E7=ED =E1=F0=EF=F4=DF= =EC=E7=F3=E7: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=C1=ED=E1=EC=E5=ED=FC=F4=E1=ED `line feed' =F3=F4=EF =F0=E1=E3=F9= =EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=C1=ED=E1=EC=E5=ED=FC=F4=E1=ED =F7=E1=F1=E1=EA=F4=DE=F1=E1=F2 `%= c' =F3=F4=EF =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=D0=F1=FC=F9=F1=EF =F4=DD=EB=EF=F2 =F0=E1=E3=F9=EC=DD=ED=EF=F5 =E1= =F1=F7=E5=DF=EF=F5" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=CA=E1=EA=FC-=EC=EF=F1=F6=EF=F0=EF=E9=E7=EC=DD=ED=EF =F0=E1=E3=F9= =EC=DD=ED=EF =E1=F1=F7=E5=DF=EF" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=F4=EF `%s' =E1=F0=FC =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF= =E4=E5 =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF=ED =F0=DF=ED=E1=EA=E1 =E5=F3=F9=E4= =EF=EC=E7=EC=DD=ED=F9=ED" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=D3=D6=C1=CB=CC=C1: =D5=F0=E5=F1=F7=E5=DF=EB=E7=F3=E7 =F3=F4=EF=DF= =E2=E1=F2. (=C1=ED=E1=E4=F1=EF=EC=DE =E1=F0=E5=DF=F1=EF=F5 =E2=DC=E8=EF=F5= =F2;)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=C4=EF=EA=E9=EC=DC=F3=F4=E5 `%s --help' =E3=E9=E1 =F0=E5=F1=E9=F3= =F3=FC=F4=E5=F1=E7 =E2=EF=DE=E8=E5=E9=E1.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=D7=F1=DE=F3=E7: %s [=C5=D0=C9=CB=CF=C3=C7]... [=C1=D1=D7=C5=C9=CF= ]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -472,15 +457,16 @@ msgstr "" " -P, --prefix-builtins =E5=F0=E9=E2=EF=EB=DE =F0=F1=EF=E8=DD=EC= =E1=F4=EF=F2 `m4_' =F3=E5 =FC=EB=E1 =F4=E1 " "=E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=E1\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -498,7 +484,7 @@ msgstr "" " -s, --synclines =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =E3=F1=E1= =EC=EC=FE=ED `#line =C1=D1=C9=C8=CC=CF=D3 \"=C1=D1=D7=C5=C9=CF" "\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -512,7 +498,7 @@ msgstr "" " -H, --hashsize=3D=D0=D1=D9=D4=CF=D3 =EF=F1=E9=F3=EC=FC=F2 =EC=E5= =E3=DD=E8=EF=F5=F2 =F0=DF=ED=E1=EA=E1 =E1=ED=E1=E6=DE=F4=E7=F3=E7=F2 =F3=F5= =EC=E2=FC=EB=EF=F5\n" " -L, --nesting-limit=3D=C1=D1=C9=C8=CC=CF=D3 =E1=EB=EB=E1=E3=DE =F4=E5= =F7=ED=E7=F4=EF=FD =EF=F1=DF=EF=F5 =F6=F9=EB=E9=E1=F3=EC=FE=ED\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -526,7 +512,7 @@ msgstr "" " -R, --reload-state=3DARXEIO =F6=FC=F1=F4=F9=EC=E1 =EE=E1=ED=DC =F0= =E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =E1=F0=FC =C1=D1=D7= =C5=C9=CF " "=F3=F4=E7=ED =E5=EA=EA=DF=ED=E7=F3=E7\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -544,7 +530,7 @@ msgstr "" " -o, --error-output=3D=C1=D1=D7=C5=C9=CF =E5=F0=E1=ED=E1=EA=E1=F4=E5= =FD=E8=F5=ED=F3=E7 =E5=EE=FC=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7= =F2 =EA=E1=E9 " "=E1=ED=DF=F7=ED=E5=F5=F3=E7=F2\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -576,7 +562,7 @@ msgstr "" " i =E5=EC=F6=DC=ED=E9=F3=E7 =E1=EB=EB=E1=E3=FE=ED =F3=F4=E1 =E1=F1=F7= =E5=DF=E1 =E5=E9=F3=FC=E4=EF=F5\n" " V =F3=F5=ED=F4=EF=EC=EF=E3=F1=E1=F6=DF=E1 =E3=E9=E1 =FC=EB=E5=F2 =F4= =E9=F2 =F0=E1=F1=E1=F0=DC=ED=F9 =F3=E7=EC=E1=DF=E5=F2\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -585,7 +571,7 @@ msgstr "" "=D7=F9=F1=DF=F2 =C1=D1=D7=C5=C9=CF, =DE =FC=F4=E1=ED =F4=EF =E1=F1=F7=E5= =DF=EF =E5=DF=ED=E1=E9 =F4=EF -, =E1=ED=DC=E3=ED=F9=F3=E7 =E1=F0=FC =F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE " "=E5=DF=F3=EF=E4=EF.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -593,30 +579,30 @@ msgstr "" "\n" "=C1=ED=E1=F6=DD=F1=E1=F4=E5 =F3=F6=DC=EB=EC=E1=F4=E1 =F3=F4=EF .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=CB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E5=EA=F3=F6=E1=EB=EC=DC=F4= =F9=F3=E7=F2: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -639,8 +625,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8=E1=ED=DE =E5=F0'= =DC=F0=E5=E9=F1=EF =E1=ED=E1=E4=F1=EF=EC=DE.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF=F2 =EA=FE=E4=E9=EA=E1=F2 =F3=FD= =ED=F4=E1=EE=E7=F2 %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "=CC=E7 =EF=F1=E9=F3=EC=DD=ED=EF =FC=ED=EF=EC=E1 %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7= =F2 =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "=D4=EF =FC=ED=EF=EC=E1 `%s' =E5=DF=ED=E1=E9 =DC=E3=ED=F9=F3=F4= =EF\n" =20 #, fuzzy #~ msgid "" Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.28 diff -u -p -u -r1.28 fr.po --- po/fr.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/fr.po 4 Sep 2003 13:59:54 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -71,7 +71,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -152,111 +152,96 @@ msgstr "" msgid "No previous regular expression" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Nom =AB%s=BB non-d=E9fini" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Entr=E9e reprise de %s, ligne %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Entr=E9e lue de %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "AUCUN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "ERREUR: Fin-de-fichier dans la cha=EEne" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "ERREUR: Fin-de-fichier dans la liste d'arguments" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "ERREUR: Limite de r=E9cursion %d d=E9pass=E9e, la changer par -L= " =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Incapable d'ouvrir %s" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -272,30 +257,25 @@ msgstr "ERREUR: Incapable de vider la di msgid "copying inserted file" msgstr "ERREUR: Pendant la copie du fichier ins=E9r=E9" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "ERREUR: Pendant la lecture d'un fichier ins=E9r=E9" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Incapable d'op=E9rer =ABstat=BB pour la diversion" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La fouille du chemin pour =AB%s=BB trouve =AB%s=BB" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Le nom =AB%s=BB est inconnu\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,62 +316,67 @@ msgstr "Nom =AB%s=BB non-d=E9fini" msgid "Warning: %s: modulo by zero: %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Nom =AB%s=BB non-d=E9fini" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Mauvaise expression r=E9guli=E8re =AB%s=BB: %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Incapable d'ouvrir un =ABpipe=BB pour la commande =AB%s=BB" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "ATTENTION: \\\\0 dispara=EEtra, utiliser \\\\& plut=F4t pour les= remplacements" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Nom =AB%s=BB non-d=E9fini" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Incapble de ramener la diversion %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Incapable d'ouvrir %s" @@ -401,45 +386,45 @@ msgstr "Incapable d'ouvrir %s" msgid "Loss of precision in eval: %s" msgstr "Mauvaise expression dans =ABeval=BB: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Fin-de-ligne attendue du fichier fig=E9" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Caract=E8re =AB%c=BB attendu du fichier fig=E9" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Fin pr=E9matur=E9e de fichier fig=E9" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Fichier fig=E9 difforme" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=AB%s=BB dans le fichier fig=E9 est introuvable dans la table de= s pr=E9d=E9finis!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERREUR INTERNE: Mauvais type de lex=E8me dans expand_token ()" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour plus d'information, essayez =AB%s --help=BB.\\n\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPTION]... [FICHIER]...\\n\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -467,15 +452,16 @@ msgstr "" " -Q, --quiet, --silent inhiber certains diagnostics pr=E9d=E9fi= nis\n" " -P, --prefix-builtins pr=E9fixer tous les pr=E9d=E9finis par =AB= m4_=BB\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -492,7 +478,7 @@ msgstr "" " -U, --undefine=3DNOM =E9liminer le NOM pr=E9d=E9fini\n" " -s, --synclines engendrer des lignes =AB#line NNN \\\"FI= CHIER\\\"=BB\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -507,7 +493,7 @@ msgstr "" " -L, --nesting-limit=3DNOMBRE modifier la limite artificielle " "d'imbrication\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -519,7 +505,7 @@ msgstr "" " -F, --freeze-state=3DFICHIER produire un FICHIER fig=E9 =E0 la fin\= n" " -R, --reload-state=3DFICHIER recharger un FICHIER fig=E9 au d=E9par= t\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -536,7 +522,7 @@ msgstr "" " -o, --error-output=3DFICHIER rediriger la sortie de trace et mise-a= u-" "point\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -566,7 +552,7 @@ msgstr "" " i afficher les modifications dans les fichiers d'entr=E9e\n" " V abbr=E9viation commode pour toutes les options pr=E9c=E9dentes =E0= la fois\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -574,36 +560,36 @@ msgstr "" "\n" "Si aucun FICHIER ou si FICHIER vaut =AB-=BB, lit l'entr=E9e standard.\n= " =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -626,8 +612,15 @@ msgid ". Check for possible infinite re msgstr ". V=E9rifier une r=E9cursion hors contr=F4le.\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "Nom =AB%s=BB non-d=E9fini" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Le nom =AB%s=BB est inconnu\n" =20 #, fuzzy #~ msgid "" Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.29 diff -u -p -u -r1.29 it.po --- po/it.po 12 Jun 2003 16:31:59 -0000 1.29 +++ po/it.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,111 +150,96 @@ msgstr "" msgid "No previous regular expression" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Nome `%s' non definito" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Ingresso ripristinato su %s, linea %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Errore di lettura da %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "NESSUNO" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "ERRORE: Fine prematura di una stringa" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "ERRORE: Fine prematura della lista di argomenti" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Impossibile aprire %s" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Impossibile aprire l' archivio di errore: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Impossibile aprire l' archivio di errore: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -270,30 +255,25 @@ msgstr "ERRORE: Impossibile terminare la msgid "copying inserted file" msgstr "ERRORE: Copiando archivio inserito" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "ERRORE: Leggendo archivio inserito" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Impossibile effettuare la `stat' per la deviazione" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La ricerca del percorso per `%s' ha trovato `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Il nome `%s' sconosciuto\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -334,62 +314,67 @@ msgstr "Nome `%s' non definito" msgid "Warning: %s: modulo by zero: %s" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Nome `%s' non definito" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "Nome `%s' non definito" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Modalit di debug: indicatori di debug errati: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Impossibile aprire l' archivio di errore: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Espressione regolare errata `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Impossibile aprire una `pipe' per il comando `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Nome `%s' non definito" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Impossibile ripristinare la deviazione %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Impossibile aprire %s" @@ -399,45 +384,45 @@ msgstr "Impossibile aprire %s" msgid "Loss of precision in eval: %s" msgstr "Espressione errata in `eval': %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Atteso il carattere di fine linea in archivio congelato" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Atteso il carattere `%c' in archivio congelato" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Fine prematura dell' archivio congelato" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Archivio congelato malformato" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERRORE: Stack overflow. (Ricorsione infinita in `define'?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Per ulteriori informazioni provare `%s --help'.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPZIONE]... [ARCHIVIO]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" "for short options too.\n" @@ -453,15 +438,16 @@ msgid "" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -471,7 +457,7 @@ msgid "" " -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" =20 -#: src/main.c:119 +#: src/main.c:128 msgid "" "\n" "Limits control:\n" @@ -479,7 +465,7 @@ msgid "" " -L, --nesting-limit=3DNUMBER change artificial nesting limit\n" msgstr "" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -487,7 +473,7 @@ msgid "" " -R, --reload-state=3DFILE reload a frozen state from FILE at sta= rt\n" msgstr "" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -497,7 +483,7 @@ msgid "" " -o, --error-output=3DFILE redirect debug and trace output\n" msgstr "" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -514,42 +500,42 @@ msgid "" " V shorthand for all of the above flags\n" msgstr "" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Indicatori di debug errati: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -570,8 +556,15 @@ msgid ". Check for possible infinite re msgstr ". Controllare una possibile ricorsione infinita.\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "Nome `%s' non definito" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Impossibile aprire l' archivio di errore: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Il nome `%s' sconosciuto\n" =20 #, fuzzy #~ msgid "" Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.28 diff -u -p -u -r1.28 ja.po --- po/ja.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/ja.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -69,7 +69,7 @@ msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5= =D7=A5=B7=A5=E7=A5=F3=CC=BE=A4 msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -150,113 +150,98 @@ msgstr "" msgid "No previous regular expression" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD=A4=AC=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4= =A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=A5=D5=A5=A1=A5=A4=A5=EB %s, %d =B9=D4=CC=DC=A4=AB=A4=E9=C6=FE=CE= =CF=A4=B7=C4=BE=A4=B7=A4=DE=A4=B9=A1=A3" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "%s =A4=AB=A4=E9=A4=CE=C6=FE=CE=CF=A4=F2=C6=C9=A4=DF=B9=FE=A4=DF=A4= =DE=A4=B9=A1=A3" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=A4=CA=A4=B7" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=A5=A8=A5=E9=A1=BC: =CA=B8=BB=FA=CE=F3=C6=E2=A4=CB=A5=D5=A5=A1=A5= =A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE=A4=B9=A1=A3= " =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=A5=A8=A5=E9=A1=BC: =B0=FA=BF=F4=A5=EA=A5=B9=A5=C8=C6=E2=A4=CB=A5= =D5=A5=A1=A5=A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE= =A4=B9=A1=A3" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=A5=A8=A5=E9=A1=BC=A1=A7=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=CE=A5=CD=A5=B9= =A5=C8=A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=C3=CD %d =A4=F2=C4=B6=A4=A8=A4= =C6=A4=A4=A4=DE=A4=B9=A1=A3\n" " -L<=BF=F4=BB=FA> =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=F2=CD=D1=A4=A4= =A4=C6=A5=CD=A5=B9=A5=C8=BF=F4=A4=CE=BE=E5=B8=C2=A4=F2=C1=FD=A4=E4=A4=B7=A4= =C6=B2=BC=A4=B5=A4=A4=A1=A3" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -272,32 +257,27 @@ msgstr "=A5=A8=A5=E9=A1=BC: =A5=C6=A5=F3=A5=DD=A5=E9= =A5=EA=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB div msgid "copying inserted file" msgstr "=A5=A8=A5=E9=A1=BC: =C1=DE=C6=FE=A4=B5=A4=EC=A4=EB=A4=D9=A4=AD=A5= =D5=A5=A1=A5=A4=A5=EB=A4=F2=A5=B3=A5=D4=A1=BC=C3=E6=A4=C7=A4=B9=A1=A3" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=A5=A8=A5=E9=A1=BC: =C1=DE=C6=FE=A4=B5=A4=EC=A4=EB=A4=D9=A4=AD=A5= =D5=A5=A1=A5=A4=A5=EB=A4=F2=A5=EA=A1=BC=A5=C9=C3=E6=A4=C7=A4=B9=A1=A3" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "" "divert =A4=CE=A4=BF=A4=E1=A4=CE=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE=A5=B9=A5=C6= =A1=BC=A5=BF=A5=B9=A4=F2=C6=C0=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4= =BB=A4=F3=A1=A3\n" " (stat =A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3)" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "`%s' =A4=C8=A4=A4=A4=A6=A5=C7=A5=A3=A5=EC=A5=AF=A5=C8=A5=EA=A4=AB= =A4=E9 `%s' =A4=C8=A4=A4=A4=A6=A5=D5=A5=A1=A5=A4=A5=EB=A4=F2=B8=AB=A4=C4=A4= =B1=A4=DE=A4=B7=A4=BF=A1=A3" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -338,62 +318,67 @@ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4= =A4=A4=DE=A4=BB=A4=F3=A1=A3" msgid "Warning: %s: modulo by zero: %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, fuzzy, c-format +msgid "Undefined syntax code %c" +msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "debugmode =A5=DE=A5=AF=A5=ED=A4=CB=A4=AA=A4=A4=A4=C6 %s =A4=CF=C9= =D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=C7= =A4=B9=A1=A3" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "`%s' : %s =A4=CF=A1=A2=C9=D4=C0=B5=A4=CA=C0=B5=B5=AC=C9=BD=B8=BD= =A4=C7=A4=B9=A1=A3" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD %s =A4=CE=A5=DE=A5=C3=A5=C1=A5=F3=A5=B0= =A4=CB=BC=BA=C7=D4=A4=B7=A4=DE=A4=B7=A4=BF=A1=A3" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=A5=B3=A5=DE=A5=F3=A5=C9 `%s' =A4=D8=A4=CE=A5=D1=A5=A4=A5=D7=A4=AC= =A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "=B7=D9=B9=F0=A1=A7\\0 =A4=CF=B5=EC=BC=B0=A4=CE=CD=D1=CB=A1=A4=C7= =A4=B9=A1=A3\\& =A4=F2=C2=E5=A4=EF=A4=EA=A4=CB=BB=C8=A4=C3=A4=C6=B2=BC=A4= =B5=A4=A4=A1=A3" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "`%s' =A4=F2 undivert =A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -403,47 +388,47 @@ msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4= =AD=A4=DE=A4=BB=A4=F3=A1=A3" msgid "Loss of precision in eval: %s" msgstr "eval =A4=C7 %s =A4=C8=A4=A4=A4=A6=C9=D4=C0=B5=A4=CA=BC=B0=A4=AC=CD= =D1=A4=A4=A4=E9=A4=EC=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=C6=E2=A4=C7=B2=FE=B9=D4=A5=B3= =A1=BC=A5=C9=A4=F2=B4=FC=C2=D4=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=C6=E2=A4=C7=CA=B8=BB=FA `%c= ' =A4=F2=B4=FC=C2=D4=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE EOF =A4=AC=C1=E1=A4=AF= =CD=E8=B2=E1=A4=AE=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=C6=E2=C9=F4=A5=A8=A5=E9=A1=BC=A1=A7=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4= =A5=EB=A4=CE=A5=D5=A5=A9=A1=BC=A5=DE=A5=C3=A5=C8=A4=AC=C9=D4=C0=B5=A4=C7=A4= =B9=A1=A3" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE %s =A4=CF=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=A5=C6=A1=BC=A5=D6=A5=EB=A4= =CB=A4=CF=A4=A2=A4=EA=A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "" "=A5=A8=A5=E9=A1=BC: =A5=B9=A5=BF=A5=C3=A5=AF=A4=AC=A5=AA=A1=BC=A5=D0=A1= =BC=A5=D5=A5=ED=A1=BC=A4=F2=B5=AF=A4=B3=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3= \n" " (=CC=B5=B8=C2=A4=CB=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=F2=A4=B7=A4= =C6=A4=A4=A4=DE=A4=BB=A4=F3=A4=AB=A1=A9)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BE=DC=A4=B7=A4=AF=A4=CF `%s --help' =A4=CE=BD=D0=CE=CF=A4=F2=B8= =E6=CD=F7=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=BB=C8=CD=D1=CA=FD=CB=A1: %s [=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3]...= [=A5=D5=A5=A1=A5=A4=A5=EB=CC=BE]\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -469,15 +454,16 @@ msgstr "" " -Q, --quiet, --silent =A4=A4=A4=AF=A4=C4=A4=AB=A4=CE=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=B7=D9=B9=F0=A4=F2=CD=DE=C0= =A9=A4=B7=A4=DE=A4=B9=A1=A3\n" " -P, --prefix-builtins =C1=B4=A4=C6=A4=CE=A5=D3=A5=EB=A5=C8=A5=A4= =A5=F3=A5=DE=A5=AF=A5=ED=A4=CB `m4_' =A4=C8=A4=A4=A4=A6=C0=DC=C6=AC=BC=AD= =A4=F2 =B6=AF=C0=A9=C5=AA=A4=CB=C4=C9=B2=C3= =A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -496,7 +482,7 @@ msgstr "" " -U, --undefine=3DNAME NAME =A4=CE=C4=EA=B5=C1=A4=F2=BC=E8=A4= =EA=BE=C3=A4=B7=A4=DE=A4=B9=A1=A3\n" " -s, --synclines =B9=D4=C8=D6=B9=E6=A4=C8=A5=D5=A5=A1=A5= =A4=A5=EB=CC=BE=A4=CE=B9=D4=A4=F2=C0=B8=C0=AE=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -511,7 +497,7 @@ msgstr "" " =A5=BB=A5=C3=A5=C8=A4=B7=A4=DE=A4=B9=A1= =A3\n" " -L, --nesting-limit=3DNUNBER =A5=DE=A5=AF=A5=ED=A4=CE=A5=CD=A5=B9=A5= =C8=B2=F3=BF=F4=A4=CE=BE=E5=B8=C2=C3=CD=A4=F2=BF=CD=B0=D9=C5=AA=A4=CB=CA=D1= =B9=B9=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -523,7 +509,7 @@ msgstr "" " -R, --reload-state=3DFILE =BA=C7=BD=E9=A4=CB=BB=D8=C4=EA=A4=B5=A4= =EC=A4=BF FILE =A4=AB=A4=E9\n" " =C5=E0=B7=EB=A4=B5=A4=EC=A4=BF=C4=EA=B5= =C1=A4=F2=A5=ED=A1=BC=A5=C9=A4=B7=A4=DE=A4=B9\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -541,7 +527,7 @@ msgstr "" " -o, --error-output=3DFILE =A5=C7=A5=D0=A5=C3=A5=B0=A4=C8=A5=C8=A5= =EC=A1=BC=A5=B9=A4=CE=BD=D0=CE=CF=A4=F2 FILE =A4=CB\n" " =A5=EA=A5=C0=A5=A4=A5=EC=A5=AF=A5=C8=A4= =B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -573,7 +559,7 @@ msgstr "" " i =C6=FE=CE=CF=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB=C0=B8=A4=B8=A4=BF=CA=D1= =B2=BD=A4=F2=C9=BD=BC=A8=A4=B7=A4=DE=A4=B9=A1=A3\n" " V =BE=E5=B5=AD=A4=CE=C1=B4=A4=C6=A4=CE FLAG =A4=F2=BB=D8=C4=EA=A4=B9= =A4=EB=A4=B3=A4=C8=A4=F2=B0=D5=CC=A3=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -582,36 +568,36 @@ msgstr "" "FILE =A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=BE=EC=B9=E7= =A4=AA=A4=E8=A4=D3=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=A5=D5=A5=A1=A5=A4=A5=EB=A4= =AC `-' =A4=CE=BE=EC=B9=E7=A4=CF\n" " =C9=B8=BD=E0=C6=FE=CE=CF=A4=AC=C6=C9=A4=DF=B9=FE=A4=DE=A4=EC=A4= =DE=A4=B9=A1=A3\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "`%s' =A4=CF=C9=D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7= =A5=B7=A5=E7=A5=F3=B0=FA=BF=F4=A4=C7=A4=B9=A1=A3" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -635,8 +621,15 @@ msgid ". Check for possible infinite re msgstr ". =CC=B5=B8=C2=A4=CE=BA=C6=B5=A2=B8=C6=A4=D3=BD=D0=A4=B7=A4=AC=B9= =D4=A4=EF=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=A4=AB=A4=C9=A4=A6=A4=AB=A5=C1=A5=A7= =A5=C3=A5=AF=A4=B7=A4=C6=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 #, fuzzy -#~ msgid "Undefined syntax code %c" +#~ msgid "Warning: %s: unterminated parameter list" #~ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4= =F3=A1=A3" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5= =EB=A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3= " + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "`%s' =A4=CF=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4=A4=DE=A4=BB=A4= =F3=A1=A3\n" =20 #, fuzzy #~ msgid "" Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.28 diff -u -p -u -r1.28 nl.po --- po/nl.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/nl.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,112 +150,97 @@ msgstr "" msgid "No previous regular expression" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Ongedefinieerde naam %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Invoer reverted naar %s, lijn %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Invoer gelezen vanuit %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "GEEN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FOUT: Einde van bestand teken in string" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FOUT: Einde van bestand teken in argumentenlijst" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FOUT: Recursie limiet of %d overschreden, gebruik -L om dit te wijzi= gen" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "" + +#: m4/module.c:231 +#, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, c-format +msgid "cannot unload module `%s': %s" +msgstr "" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:277 +#: m4/module.c:388 +#, c-format +msgid "module `%s' has no entry points" +msgstr "" + +#: m4/module.c:400 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Kan %s niet openen" =20 -#: m4/module.c:287 +#: m4/module.c:432 #, c-format -msgid "module `%s' has no entry points" +msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:377 +#: m4/module.c:493 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Kan fout bestand niet instellen: %s" =20 -#: m4/module.c:405 -#, fuzzy, c-format -msgid "cannot close modules: %s" -msgstr "Kan fout bestand niet instellen: %s" - -#: m4/module.c:422 -#, c-format -msgid "Warning: cannot load module `%s': %s" -msgstr "" - -#: m4/module.c:509 -msgid "module not loaded" -msgstr "" - -#: m4/module.c:520 -#, c-format -msgid "cannot unload module `%s': %s" -msgstr "" - -#: m4/module.c:559 -#, c-format -msgid "cannot unload all modules: %s" -msgstr "" - #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" @@ -271,30 +256,25 @@ msgstr "FOUT: Kan diversion niet flushen msgid "copying inserted file" msgstr "FOUT: Kopieren ingevoegde bestanden" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FOUT: Lezen ingevoegd bestand" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Cannot stat diversion" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Zoeken naar `%s' via PATH levert `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Naam `%s' is niet bekend\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -335,62 +315,67 @@ msgstr "Ongedefinieerde naam %s" msgid "Warning: %s: modulo by zero: %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Ongedefinieerde naam %s" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Ongedefinieerde syntax code %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Debugmode: onjuiste debug vlaggen: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kan fout bestand niet instellen: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Onjuiste reguliere expressie `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan geen pijp openen voor commando `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "LET OP: \\0 zal verdwijnen, gebruik hiervoor \\& als vervanging"= =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Ongedefinieerde naam %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Cannot undivert %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kan %s niet openen" @@ -400,45 +385,45 @@ msgstr "Kan %s niet openen" msgid "Loss of precision in eval: %s" msgstr "Onjuist expressie in evaluatie: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Verwacht nieuwe regel in gefixeerd bestand" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Verwacht karakter `%c' in gefixeerd bestand" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Voorbarig einde van gefixeerd bestand" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Slecht geformateerd gefixeerd bestand" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' van gefixeerd bestand niet gevonden in functie tabel!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FOUT: Stapel overflow. (Infinite define recursion?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' voor meer informatie.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -467,15 +452,16 @@ msgstr "" " -P, --prefix-builtins forceer een `m4_' voorvoegsel voor alle = \n" " ingebouwde functies\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 #, fuzzy msgid "" "\n" @@ -494,7 +480,7 @@ msgstr "" " -U, --undefine=3DNAME verwijder ingebouwde functie NAME\n" " -s, --synclines genereer `#line NO \"FILE\"' regel\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -508,7 +494,7 @@ msgstr "" " -H, --hashsize=3DPRIME stel symbolen opzoek hash tabel groott= e\n" " -L, --nesting-limit=3DNUMBER verander kunstmatige nesting limiet\n"= =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -522,7 +508,7 @@ msgstr "" " -R, --reload-state=3DFILE herlaad een gefixeerde staat van BESTA= ND\n" " aan het begin\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -539,7 +525,7 @@ msgstr "" " -l, --arglength=3DNUM restrict macro traceer grootte\n" " -o, --error-output=3DFILE redirect debug en traceer uitvoer\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -569,7 +555,7 @@ msgstr "" " i show changes in input files\n" " V shorthand for all of the above flags\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -577,7 +563,7 @@ msgstr "" "\n" "Als geen BESTAND of als BESTAND `-' is, standaard invoer wordt gelezen.= \n" =20 -#: src/main.c:159 +#: src/main.c:168 #, fuzzy msgid "" "\n" @@ -586,30 +572,30 @@ msgstr "" "\n" "Meld fouten via .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Onjuiste debug vlaggen: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -631,8 +617,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Kontroleer voor mogelijk oneindige recusie.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Ongedefinieerde syntax code %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Ongedefinieerde naam %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "Kan fout bestand niet instellen: %s" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Naam `%s' is niet bekend\n" =20 #, fuzzy #~ msgid "" Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.28 diff -u -p -u -r1.28 pl.po --- po/pl.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/pl.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -69,7 +69,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -150,109 +150,94 @@ msgstr "" msgid "No previous regular expression" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Niezdefiniowana nazwa %s" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Dane wej=B6ciowe wycofane do %s, linia %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Dane wej=B6ciowe przeczytane z %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=AFADEN" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "B=A3=A1D: EOF w =B3a=F1cuchu" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "B=A3=A1D: EOF w li=B6cie argument=F3w" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "B=A3=A1D: Osi=B1gni=EAty limit rekursji %d, u=BFyj -L =BFeby = go zmieni=E6" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BF=E6 modu=B3u `%s': %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 #: m4/output.c:287 @@ -270,30 +255,25 @@ msgstr "B=A3=A1D: Nie mog=EA zapisac zmian prz msgid "copying inserted file" msgstr "B=A3=A1D: Kopiowanie w=B3o=BFonego pliku" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "B=A3=A1D: Czytanie w=B3o=BFonego pliku" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Nie mog=EA zrobi=E6 stat na danych przetwarzanych" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Przeszukanie =B6cie=BFki dla `%s' znalaz=B3o `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Nazwa `%s' jest nieznana\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -334,62 +314,68 @@ msgstr "Niezdefiniowana nazwa %s" msgid "Warning: %s: modulo by zero: %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/gnu.c:220 +# hm - rzm +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Niezdefiniowany kod sk=B3adniowy %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Tryb debugowania: z=B3e flagi debugowania: `%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Nie mog=EA ustawi=E6 pliku b=B3=EAd=F3w: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "B=B3=EAdne wyra=BFenie regularne `%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Nie mog=EA otworzy=E6 potoku do komendy `%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "UWAGA: \\0 zniknie, w podstawieniach u=BFyj zamiast tego \\&" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Niezdefiniowana nazwa %s" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Nie mog=EA przetowrzy=E6 z powrotem %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Nie mog=EA otworzy=E6 %s" @@ -399,45 +385,45 @@ msgstr "Nie mog=EA otworzy=E6 %s" msgid "Loss of precision in eval: %s" msgstr "B=B3=EAdne wyra=BFenie w eval: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Oczekiwany line fedd w pliku zamro=BFonym" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Oczekiwany znak `%c' w pliku zamro=BFonym" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "Przedwczesny koniec pliku zamro=BFonego" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=ACle sformatowy plik zamro=BFony" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' z pliku zamro=BFonego nie znalezione w tablicy wbudowanych!= " =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "B=A3=A1D: Przepe=B3nienie stosu. (Niesko=F1czona rekursja defin= icji?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Spr=F3buj `%s --help' =BFeby dowiedzie=E6 si=EA wi=EAcej.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Sk=B3adnia: %s [OPCJA]... [PLIK]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -466,15 +452,16 @@ msgstr "" " -P, --prefix-builtins dodaj zawsze `m4_' przez wszystkimi " "wbudowanymi\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -490,7 +477,7 @@ msgstr "" " -U, --undefine=3DNAZWA skasuj wbudowan=B1 NAZW=CA\n" " -s, --synclines generuj linie `#line NR \"PLIK\"\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -505,7 +492,7 @@ msgstr "" "symboli\n" " -L, --nesting-limit=3DLICZBA zmie=F1 sztuczny limit zag=B3ebie=F1\n= " =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -517,7 +504,7 @@ msgstr "" " -F, --freeze-state=3DPLIK zapisz zamro=BFony PLIK stanu na ko=F1= cu\n" " -R, --reload-state=3DPLIK za=B3aduj zamro=BFony PLIK stanu na po= cz=B1tku\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -533,7 +520,7 @@ msgstr "" " -l, --arglength=3DILE ogranicz rozmiar =B6ledzenia makr\n" " -o, --error-output=3DPLIK przekieruj wyniki debugowania i =B6led= zenia\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -563,7 +550,7 @@ msgstr "" " i poka=BF zmiany plik=F3w wej=B6ciowych\n" " V skr=F3t do wszystkich powy=BFszych flag\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -571,7 +558,7 @@ msgstr "" "\n" "Je=BFeli brak PLIKu lub PLIK to `-', czytane jest std. wej=B6cie.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -579,30 +566,30 @@ msgstr "" "\n" "Raporty o b=B3=EAdach wysy=B3aj do bug-m4@gnu.org.\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "B=B3=EAdne flagi debugowania: `%s'" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -624,9 +611,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Sprawd=BC czy nie dosz=B3o do niesko=F1czonej rekursji.\n" =20 -# hm - rzm -#~ msgid "Undefined syntax code %c" -#~ msgstr "Niezdefiniowany kod sk=B3adniowy %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Niezdefiniowana nazwa %s" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Nazwa `%s' jest nieznana\n" =20 #, fuzzy #~ msgid "" Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.28 diff -u -p -u -r1.28 ru.po --- po/ru.po 12 Jun 2003 16:31:59 -0000 1.28 +++ po/ru.po 4 Sep 2003 13:59:54 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -69,7 +69,7 @@ msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE= =C1=DE=CE=C1\n" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" @@ -150,110 +150,95 @@ msgstr "" msgid "No previous regular expression" msgstr "=EE=C5=D4 =D0=D2=C5=C4=DB=C5=C4=D3=D4=D7=D5=C0=DD=C5=C7=CF =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "=F7=D7=CF=C4 =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=CC=C5=CE =D7 %s , =D3= =D4=D2=CF=CB=C1 %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "=F7=D7=CF=C4 =C9=DA %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "=EE=E9=FE=E5=E7=EF" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D4=D2= =CF=CB=C5" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D0=C9= =D3=CB=C5 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d =C9=D3=DE= =C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF=C2=D9 = =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE: %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 #: m4/output.c:287 @@ -272,30 +257,25 @@ msgstr "=EF=FB=E9=E2=EB=E1: =EF=DB=C9=C2=CB=C1 =DA=C1= =D0=C9=D3=C9 =D2=C1=DA=D7=C5=D4=D7=CC=C5=CE msgid "copying inserted file" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=D0=C9=D2=D5=C0 =D7=D3=D4=C1=D7=CC=C5=CE= =CE=D9=CA =C6=C1=CA=CC" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "=EF=FB=E9=E2=EB=E1: =FE=C9=D4=C1=C0 =D7=D3=D4=C1=D7=CC=C5=CE=CE=D9= =CA =C6=C1=CA=CC" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D0=CF=C4=D3=DE=C9=D4=C1=D4=D8 =D2= =C1=DA=D7=C5=D4=D7=CC=C5=CE=C9=D1" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=F0=D5=D4=D8 =D0=CF=C9=D3=CB=C1 =C4=CC=D1 `%s' =CE=C1=CA=C4=C5=CE= `%s'" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "=E9=CD=D1 `%s' =CE=C5=C9=DA=D7=C5=D3=D4=CE=CF\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -336,62 +316,67 @@ msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5= =CE=CF" msgid "Warning: %s: modulo by zero: %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "=EE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CE=D9=CA =D3=C9=CE=D4=C1=CB=D3= =C9=DE=C5=D3=CB=C9=CA =CB=CF=C4 %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "=F2=C5=D6=C9=CD =CF=D4=CC=C1=C4=CB=C9: =CE=C5=D7=C5=D2=CE=D9=CA = =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s'" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CE=C1=DA=CE=C1=DE=C9=D4=D8 =C6=C1= =CA=CC =CF=DB=C9=C2=CF=CB %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D2=C5=C7=D5=CC=D1=D2=CE=CF=C5 =D7=D9=D2= =C1=D6=C5=CE=C9=C5: '%s': %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "=EF=DB=C9=C2=CB=C1 =D3=CF=D0=CF=D3=D4=C1=D7=CC=C5=CE=C9=D1 =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1 '%s'" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2=D9=D4=D8 =CB=C1=CE=C1= =CC =C4=CC=D1 =CB=CF=CD=CD=C1=CE=C4=D9 '%s'" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "=F0=F2=E5=E4=F5=F0=F2=E5=F6=E4=E5=EE=E9=E5: \\0 =C9=D3=DE=C5=DA=CE= =C5=D4, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 \\& =D7 =DA=C1=CD=C5=CE=C1=C8" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D7=C5=D2=CE=D5=D4=D8 =D7=D9=D7=CF= =C4 =C9=DA %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2=D9=D4=D8 %s" @@ -401,45 +386,45 @@ msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =CF=D4=CB=D2= =D9=D4=D8 %s" msgid "Loss of precision in eval: %s" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D7=D9=D2=C1=D6=C5=CE=C9=C5: %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "=EF=D6=C9=C4=C1=C5=D4=D3=D1 =D0=C5=D2=C5=D7=CF=C4 =D3=D4=D2=CF=CB= =C9 =D7 =C6=C1=CA=CC=C5-=CF=C2=D2=C1=DA=C5 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "=EF=D6=C9=C4=C1=C5=D4=D3=D1 =D3=C9=CD=D7=CF=CC '%c' =D7 =C6=C1=CA= =CC=C5-=CF=C2=D2=C1=DA=C5 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "=F0=D2=C5=D6=C4=C5=D7=D2=C5=CD=C5=CE=CE=D9=CA =CB=CF=CE=C5=C3 =C6= =C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CF=D2=CD=C1=D4 =C6=C1=CA=CC=C1-=CF=C2= =D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "'%s' =C9=DA =C6=C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9= =CE=C5 =CE=C1=CA=C4=C5=CE=C1 =D7=CF =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA =D4=C1= =C2=CC=C9=C3=C5!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=EF=FB=E9=E2=EB=E1: =F0=C5=D2=C5=D0=CF=CC=CE=C5=CE=C9=C5 =D3=D4=C5= =CB=C1. (=E2=C5=D3=CB=CF=CE=C5=DE=CE=CF=C5 =D2=C5=CB=D5=D2=D3=C9=D7=CE=CF= =C5 =CF=D0=D2=C5=C4=C5=CC=C5=CE=C9=C5?)" =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=F0=CF=D0=D2=CF=C2=D5=CA=D4=C5 '%s --help' =C4=CC=D1 =C9=CE=C6=CF= =D2=CD=C1=C3=C9=C9.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=E9=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE=C9=C5: %s [OPTION]... [FILE]..= =2E\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -469,15 +454,16 @@ msgstr "" " -P, --prefix-builtins =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C6= =C9=CB=D3 `m4_' =C4=CC=D1 =D7=D3=C5=C8 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 " "=C6=D5=CE=CB=C3=C9=CA\n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -493,7 +479,7 @@ msgstr "" " -U, --undefine=3DNAME =D5=C4=C1=CC=C9=D4=D8 =D7=D3=D4=D2=CF=C5= =CE=CE=D5=C0 =C6=D5=CE=CB=C3=C9=C0 NAME\n" " -s, --synclines =C7=C5=CE=C5=D2=C9=D2=CF=D7=C1=D4=D8 =D3= =D4=D2=CF=CB=C9 `#line NO \"FILE\"'\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -509,7 +495,7 @@ msgstr "" " -L, --nesting-limit=3DNUMBER =C9=DA=CD=C5=CE=C9=D4=D8 =D0=D2=C5=C4=C5= =CC =C7=CC=D5=C2=C9=CE=D9 =C9=CE=D4=C5=CC=C5=CB=D4=D5=C1=CC=D8=CE=CF=C7=CF= " "=D0=CF=C9=D3=CB=C1\n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -521,7 +507,7 @@ msgstr "" " -F, --freeze-state=3DFILE =D7 =CB=CF=CE=C3=C5 =D3=CF=DA=C4=C1=D4= =D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" " -R, --reload-state=3DFILE =D7 =CE=C1=DE=C1=CC=C5 =DA=C1=C7=D2=D5= =D6=C1=D4=D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -539,7 +525,7 @@ msgstr "" " -o, --error-output=3DFILE =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=C9=D4=D8= =CF=D4=CC=C1=C4=CF=DE=CE=D9=CA =C9 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CF=DE=CE=D9= =CA " "=D7=D9=D7=CF=C4 =D7 =C6=C1=CA=CC FILE\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -570,7 +556,7 @@ msgstr "" " i =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =C9=DA=CD=C5=CE=C5=CE=C9=D1 =D7=CF= =D7=C8=CF=C4=CE=D9=C8 =C6=C1=CA=CC=C1=C8\n" " V =D3=CF=CB=D2=C1=DD=C5=CE=C9=C5 =C4=CC=D1 =D7=D3=C5=C8 =C6=CC=C1=C7= =CF=D7 =D7=CD=C5=D3=D4=C5\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -578,7 +564,7 @@ msgstr "" "\n" "=E5=D3=CC=C9 FILE =CE=C5 =D3=D5=DD=C5=D3=D4=D7=D5=C5=D4 =C9=CC=C9 FILE = =DC=D4=CF `-', =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D3=D4=C1=CE=C4=C1=D2= =D4=CE=D9=CA =D7=C8=CF=C4.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -586,30 +572,30 @@ msgstr "" "\n" "=F0=CF=D3=D9=CC=C1=CA=D4=C5 =CF=D4=DE=C5=D4=D9 =CF=C2 =CF=DB=C9=C2=CB=C1= =C8 =CE=C1 .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s= '" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -631,8 +617,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". =F0=D2=CF=D7=C5=D2=CB=C1 =CE=C1 =D7=CF=DA=CD=CF=D6=CE=D5=C0 =C2= =C5=D3=CB=CF=CE=C5=DE=CE=D5=C0 =D2=C5=CB=D5=D2=D3=C9=C0.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "=EE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CE=D9=CA =D3=C9=CE=D4=C1=CB= =D3=C9=DE=C5=D3=CB=C9=CA =CB=CF=C4 %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "=E9=CD=D1 %s =CE=C5=CF=D0=D2=C5=C4=C5=CC=C5=CE=CF" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4= =C5=CE" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "=E9=CD=D1 `%s' =CE=C5=C9=DA=D7=C5=D3=D4=CE=CF\n" =20 #, fuzzy #~ msgid "" Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.29 diff -u -p -u -r1.29 sv.po --- po/sv.po 12 Jun 2003 16:31:59 -0000 1.29 +++ po/sv.po 4 Sep 2003 13:59:54 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-06-11 17:47+0100\n" +"POT-Creation-Date: 2003-09-02 17:24+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -70,7 +70,7 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: m4/obstack.c:473 +#: m4/obstack.c:487 m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -151,109 +151,94 @@ msgstr "" msgid "No previous regular expression" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: m4/builtin.c:175 -#, c-format -msgid "Error: %s: syntax error in parameter list at char `%c'" -msgstr "" - -#: m4/builtin.c:196 -#, fuzzy, c-format -msgid "Warning: %s: unterminated parameter list" -msgstr "Odefinierat namn \"%s\"" - -#: m4/input.c:234 +#: m4/input.c:231 #, c-format msgid "Input reverted to %s, line %d" msgstr "Indata =E5terg=E5r till %s, rad %d" =20 -#: m4/input.c:262 +#: m4/input.c:259 #, c-format msgid "Input read from %s" msgstr "Indata l=E4ses fr=E5n %s" =20 -#: m4/input.c:687 +#: m4/input.c:683 msgid "NONE" msgstr "INGET" =20 -#: m4/input.c:847 m4/input.c:877 +#: m4/input.c:836 m4/input.c:866 #, fuzzy msgid "EOF in string" msgstr "FEL: Filslut i str=E4ng" =20 -#: m4/macro.c:157 +#: m4/macro.c:185 #, fuzzy msgid "EOF in argument list" msgstr "FEL: Filslut i argumentlistan" =20 -#: m4/macro.c:273 +#: m4/macro.c:231 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "FEL: Rekursionsgr=E4ns %d =F6verskriden, anv=E4nd -L f=F6r at= t =E4ndra" =20 -#: m4/macro.c:397 +#: m4/macro.c:426 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:159 -msgid "unknown error" +#: m4/module.c:123 +#, fuzzy, c-format +msgid "Warning: cannot load symbol `%s' from module `%s'" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:231 +#, fuzzy, c-format +msgid "Warning: cannot load module `%s': %s" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:258 +msgid "module not loaded" msgstr "" =20 -#: m4/module.c:178 +#: m4/module.c:269 +#, fuzzy, c-format +msgid "cannot unload module `%s': %s" +msgstr "FEL: kan inte hitta modul \"%s\"" + +#: m4/module.c:290 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:198 +#: m4/module.c:310 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:225 +#: m4/module.c:337 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEL: kan inte hitta modul \"%s\": %s" =20 -#: m4/module.c:277 -#, fuzzy, c-format -msgid "cannot open module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:287 +#: m4/module.c:388 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:313 -#, c-format -msgid "Warning: overiding stale caller data in module `%s'" -msgstr "" - -#: m4/module.c:377 -#, fuzzy, c-format -msgid "cannot close module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:405 +#: m4/module.c:400 #, fuzzy, c-format -msgid "cannot close modules: %s" +msgid "cannot open module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:422 +#: m4/module.c:432 #, fuzzy, c-format -msgid "Warning: cannot load module `%s': %s" +msgid "cannot unload all modules: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:509 -msgid "module not loaded" +#: m4/module.c:445 +msgid "unknown error" msgstr "" =20 -#: m4/module.c:520 +#: m4/module.c:493 #, fuzzy, c-format -msgid "cannot unload module `%s': %s" -msgstr "FEL: kan inte hitta modul \"%s\"" - -#: m4/module.c:559 -#, fuzzy, c-format -msgid "cannot unload all modules: %s" +msgid "cannot close module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 #: m4/output.c:287 @@ -271,30 +256,25 @@ msgstr "FEL: Kan inte skriva avledningen msgid "copying inserted file" msgstr "FEL: Kopiering av insatt fil" =20 -#: m4/output.c:578 +#: m4/output.c:581 #, fuzzy msgid "reading inserted file" msgstr "FEL: L=E4sning av insatt fil" =20 -#: m4/output.c:668 +#: m4/output.c:671 #, fuzzy msgid "cannot stat diversion" msgstr "Kan inte ta status p=E5 avledningen" =20 -#: m4/output.c:671 +#: m4/output.c:674 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:177 +#: m4/path.c:155 #, c-format msgid "Path search for `%s' found `%s'" msgstr "\"%s\" hittades som \"%s\" i s=F6kv=E4gen" =20 -#: m4/symtab.c:393 -#, c-format -msgid "Name `%s' is unknown\n" -msgstr "Namnet \"%s\" =E4r ok=E4nt\n" - #: modules/evalparse.c:787 #, fuzzy, c-format msgid "Warning: %s: radix out of range: %d" @@ -335,62 +315,67 @@ msgstr "Odefinierat namn \"%s\"" msgid "Warning: %s: modulo by zero: %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:144 +#: modules/gnu.c:147 #, c-format msgid "Undefined name %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:166 +#: modules/gnu.c:168 #, fuzzy, c-format msgid "Undefined name `%s'" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/gnu.c:220 +#: modules/gnu.c:197 src/freeze.c:548 +#, c-format +msgid "Undefined syntax code %c" +msgstr "Odefinierad syntaxkod %c" + +#: modules/gnu.c:233 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Fels=F6kningsl=E4ge: ok=E4nd flagga: \"%s\"" =20 -#: modules/gnu.c:253 +#: modules/gnu.c:266 #, c-format msgid "Cannot set error file: %s" msgstr "Kan inte s=E4tta felutskriftsfil: %s" =20 -#: modules/gnu.c:283 +#: modules/gnu.c:296 #, fuzzy, c-format msgid "%s: bad regular expression `%s': %s" msgstr "Otill=E5tet regulj=E4ruttryck \"%s\": %s" =20 -#: modules/gnu.c:325 modules/gnu.c:401 +#: modules/gnu.c:338 modules/gnu.c:411 #, fuzzy, c-format msgid "%s: error matching regular expression `%s'" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: modules/gnu.c:508 +#: modules/gnu.c:529 #, c-format msgid "Cannot open pipe to command `%s'" msgstr "Kan inte skapa r=F6r till kommandot \"%s\"" =20 -#: modules/gnu.c:576 +#: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" msgstr "VARNING: \\0 kommer att f=F6rsvinna, anv=E4nd \\& i ers=E4ttning= ar" =20 -#: modules/load.c:78 modules/m4.c:132 +#: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format msgid "Warning: cannot make module `%s' resident: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: modules/m4.c:179 modules/m4.c:214 modules/m4.c:339 modules/m4.c:605 -#: modules/m4.c:625 +#: modules/m4.c:184 modules/m4.c:208 modules/m4.c:337 modules/m4.c:401 +#: modules/m4.c:679 modules/m4.c:699 #, fuzzy, c-format msgid "Warning: %s: undefined name: %s" msgstr "Odefinierat namn \"%s\"" =20 -#: modules/m4.c:446 +#: modules/m4.c:517 #, c-format msgid "Cannot undivert %s" msgstr "Kan inte =E5terleda %s" =20 -#: modules/m4.c:505 src/freeze.c:385 +#: modules/m4.c:577 src/freeze.c:387 #, c-format msgid "Cannot open %s" msgstr "Kan inte =F6ppna %s" @@ -400,45 +385,45 @@ msgstr "Kan inte =F6ppna %s" msgid "Loss of precision in eval: %s" msgstr "Otill=E5tet uttryck i \"eval\": %s" =20 -#: src/freeze.c:274 +#: src/freeze.c:276 msgid "Expecting line feed in frozen file" msgstr "Nyrad f=F6rv=E4ntas i fryst fil" =20 -#: src/freeze.c:276 +#: src/freeze.c:278 #, c-format msgid "Expecting character `%c' in frozen file" msgstr "Tecknet \"%c\" f=F6rv=E4ntas i fryst fil" =20 -#: src/freeze.c:358 src/freeze.c:549 +#: src/freeze.c:360 src/freeze.c:537 msgid "Premature end of frozen file" msgstr "F=F6r tidigt filslut i fryst fil" =20 -#: src/freeze.c:398 src/freeze.c:440 src/freeze.c:511 src/freeze.c:529 -#: src/freeze.c:647 +#: src/freeze.c:400 src/freeze.c:442 src/freeze.c:499 src/freeze.c:517 +#: src/freeze.c:640 msgid "Ill-formated frozen file" msgstr "Korrupt fryst fil" =20 -#: src/freeze.c:496 +#: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "\"%s\" fr=E5n fryst fil hittades inte i tabellen f=F6r inbyggda = makron!" =20 -#: src/main.c:74 +#: src/main.c:83 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEL: Stacken fl=F6dar =F6ver. (O=E4ndlig definitionsrekursion?)"= =20 -#: src/main.c:86 +#: src/main.c:95 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "F=F6rs=F6k med \"%s --help\" f=F6r mer information.\n" =20 -#: src/main.c:90 +#: src/main.c:99 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Anv=E4ndning: %s [FLAGGA]... [FIL]...\n" =20 -#: src/main.c:91 +#: src/main.c:100 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -466,15 +451,16 @@ msgstr "" "makron\n" " -P, --prefix-builtins alla inbyggda makron b=F6rjar med `m4_'\= n" =20 -#: src/main.c:105 +#: src/main.c:114 +#, c-format msgid "" "\n" "Dynamic loading features:\n" " -M, --module-directory=3DDIRECTORY add DIRECTORY to the module searc= h path\n" -" -m, --load-module=3DMODULE load dynamic MODULE from M4MODPAT= H\n" +" -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:111 +#: src/main.c:120 msgid "" "\n" "Preprocessor features:\n" @@ -490,7 +476,7 @@ msgstr "" " -U, --undefine=3DNAMN ta bort inbyggt makro\n" " -s, --synclines generera `#line NNN \"FIL\"' rader\n" =20 -#: src/main.c:119 +#: src/main.c:128 #, fuzzy msgid "" "\n" @@ -504,7 +490,7 @@ msgstr "" " -H, --hashsize=3DPRIMTAL s=E4tt storlek p=E5 symboltabellen\n" " -L, --nesting-limit=3DANTAL =E4ndra artificiell n=E4stningsniv=E5\= n" =20 -#: src/main.c:125 +#: src/main.c:134 msgid "" "\n" "Frozen state files:\n" @@ -516,7 +502,7 @@ msgstr "" " -F, --freeze-state=3DFIL spara fryst tillst=E5nd i FIL vid avsl= ut\n" " -R, --reload-state=3DFIL l=E4s fryst tillst=E5nd fr=E5n FIL vid= start\n" =20 -#: src/main.c:131 +#: src/main.c:140 msgid "" "\n" "Debugging:\n" @@ -534,7 +520,7 @@ msgstr "" " -o, --error-output=3DFIL avled fels=F6knings och sp=E5rutskrift= er till " "FIL\n" =20 -#: src/main.c:139 +#: src/main.c:148 msgid "" "\n" "FLAGS is any of:\n" @@ -564,7 +550,7 @@ msgstr "" " i visa byten av infil\n" " V f=F6rkortning f=F6r alla ovanst=E5ende flaggor\n" =20 -#: src/main.c:154 +#: src/main.c:163 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -572,7 +558,7 @@ msgstr "" "\n" "Om ingen FIL anges eller om FIL =E4r `-', s=E5 l=E4ses standard in.\n" =20 -#: src/main.c:159 +#: src/main.c:168 msgid "" "\n" "Report bugs to .\n" @@ -581,30 +567,30 @@ msgstr "" "Rapportera fel till .\n" "Rapportera fel p=E5 =F6vers=E4ttningen till .\n" =20 -#: src/main.c:305 +#: src/main.c:319 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:309 +#: src/main.c:323 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:338 +#: src/main.c:352 #, c-format msgid "Bad debug flags: `%s'" msgstr "Ok=E4nd fels=F6kningsflagga \"%s\"" =20 -#: src/main.c:366 +#: src/main.c:380 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:369 -msgid "Copyright 1989-1994, 1999, 2000 Free Software Foundation, Inc." +#: src/main.c:383 +msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:372 +#: src/main.c:386 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -626,8 +612,16 @@ msgstr "" msgid ". Check for possible infinite recursion.\n" msgstr ". Kontrollera om o=E4ndlig rekursion f=F6rekommer.\n" =20 -#~ msgid "Undefined syntax code %c" -#~ msgstr "Odefinierad syntaxkod %c" +#, fuzzy +#~ msgid "Warning: %s: unterminated parameter list" +#~ msgstr "Odefinierat namn \"%s\"" + +#, fuzzy +#~ msgid "cannot close modules: %s" +#~ msgstr "FEL: kan inte hitta modul \"%s\"" + +#~ msgid "Name `%s' is unknown\n" +#~ msgstr "Namnet \"%s\" =E4r ok=E4nt\n" =20 #, fuzzy #~ msgid "" --------------060601090801090908060900-- From MAILER-DAEMON Thu Sep 04 12:15:38 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19uwky-0006S1-Iv for mharc-m4-patches@gnu.org; Thu, 04 Sep 2003 12:14:48 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19uwkT-0006AF-N1 for m4-patches@gnu.org; Thu, 04 Sep 2003 12:14:17 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19uwjn-0005s0-Im for m4-patches@gnu.org; Thu, 04 Sep 2003 12:14:08 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19uwe1-0004Nu-9L for m4-patches@gnu.org; Thu, 04 Sep 2003 12:07:38 -0400 Received: (qmail 14056 invoked from network); 4 Sep 2003 16:34:16 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 4 Sep 2003 16:34:16 -0000 Received: (qmail 2610 invoked from network); 4 Sep 2003 16:11:04 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 4 Sep 2003 16:11:04 -0000 Message-ID: <3F57641C.4050102@gnu.org> Date: Thu, 04 Sep 2003 17:11:08 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------020002050901090102050007" Subject: FYI: 53-gary-isolate-more-externally-maintained-files.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 16:14:44 -0000 This is a multi-part message in MIME format. --------------020002050901090102050007 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------020002050901090102050007 Content-Type: text/plain; name="53-gary-isolate-more-externally-maintained-files.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="53-gary-isolate-more-externally-maintained-files.patch" Index: ChangeLog from Gary V. Vaughan Migrate the obstack support into the gnulib directories for easy synchronisation with upstream files in gnulib: * config/gnu-obstack.m4: Moved from here... * config/m4-obstack.m4: ...to here. * config/Makefile.am (SPECIFIC_MACROS): Adjust. * m4/obstack.c, m4/obstack_.h: Moved from here... * gnulib/obstack.c, gnulib/obstack.h: ...to here. * po/POTFILES.in: Adjust. * gnulib/Makefile.am (GNULIB_SRCS, GNULIB_MACROS): Adjust. * m4/Makefile.am: Add a whole new section to link the obstack sources from the gnulib tree if necessary. * gnulib/m4/onceonly_2_57.m4, gnulib/m4/obstack.m4: New macros from gnulib. * config/m4-obstack.m4: Rewrite as a wrapper for gnulib/m4/obstack.m4. 2003-09-04 Gary V. Vaughan Index: config/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/config/Makefile.am,v retrieving revision 1.15 diff -u -p -u -r1.15 Makefile.am --- config/Makefile.am 4 Sep 2003 14:00:51 -0000 1.15 +++ config/Makefile.am 4 Sep 2003 16:03:10 -0000 @@ -60,7 +60,7 @@ SPECIFIC_MACROS =3D \ $(srcdir)/debug.m4 \ $(srcdir)/error.m4 \ $(srcdir)/gmp.m4 \ -$(srcdir)/gnu-obstack.m4 \ +$(srcdir)/m4-obstack.m4 \ $(srcdir)/regex.m4 \ $(srcdir)/stackovf.m4 =20 Index: config/gnu-obstack.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/gnu-obstack.m4 diff -N config/gnu-obstack.m4 --- config/gnu-obstack.m4 29 Aug 2003 18:33:38 -0000 1.15 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,77 +0,0 @@ -# -*- Autocon= f -*- -# gnu-obstack.m4 -- the libc supplied version of obstacks if available. -# -# Copyright (C) 2000, 2001, 2003 Gary V. Vaughan -# -# 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 of the License, 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; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# serial 6 - -# M4_AC_FUNC_OBSTACK -# ------------------ -# Use the libc supplied version of obstacks if available. -AC_DEFUN([M4_AC_FUNC_OBSTACK], -[AC_PREREQ(2.56)dnl We use the new compiler based header checking in 2.5= 6 -AC_CHECK_HEADERS(stddef.h string.h obstack.h, [], [], [AC_INCLUDES_DEFAU= LT]) -m4_pattern_allow([^m4_cv_func_obstack$])dnl -m4_pattern_allow([^m4_obstack_h$])dnl - -AC_ARG_WITH([included-obstack], - [AC_HELP_STRING([--with-included-obstack], - [use the obstack implementation included here])]) - -if test "x${with_included_obstack-no}" =3D xno; then - AC_CACHE_CHECK([for obstack in libc], m4_cv_func_obstack, - [AC_TRY_LINK([#include "obstack.h"], - [struct obstack *mem;obstack_free(mem,(char *) 0)],= - [m4_cv_func_obstack=3Dyes], - [m4_cv_func_obstack=3Dno])]) -else - m4_cv_func_obstack=3Dno -fi - -OBSTACK_H=3D -m4_obstack_h=3Dm4/obstack.h -rm -f $m4_obstack_h -if test $m4_cv_func_obstack =3D yes; then - - # The system provides obstack.h, `#include ' will work - INCLUDE_OBSTACK_H=3D'#include ' - AC_DEFINE(HAVE_OBSTACK, 1, [Define if libc includes obstacks.]) - -else - - # The system does not provide obstack.h, or the user has specified - # to build without it. Unfortunately we can't leave an obstack.h - # file around anywhere in the include path if the system also - # provides an implementation: So we ship m4/obstack_.h, and link - # it to m4/obstack.h here (to substitute the missing system supplied - # version). Hence, `#include ' will work. - INCLUDE_OBSTACK_H=3D'#include ' - AC_CONFIG_LINKS($m4_obstack_h:m4/obstack_.h) - - if test x"$ac_cv_header_obstack_h" !=3D xyes; then - OBSTACK_H=3Dobstack.h - fi - - # In the absence of a system implementation, we must compile our own: - AC_CHECK_HEADERS(stdlib.h, [], [], [AC_INCLUDES_DEFAULT]) - AC_LIBOBJ(obstack) - -fi -AC_SUBST(OBSTACK_H) -AC_SUBST(INCLUDE_OBSTACK_H) -])# M4_AC_FUNC_OBSTACK Index: config/m4-obstack.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/m4-obstack.m4 diff -N config/m4-obstack.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ config/m4-obstack.m4 4 Sep 2003 16:03:11 -0000 @@ -0,0 +1,84 @@ +# -*- Autocon= f -*- +# gnu-obstack.m4 -- the libc supplied version of obstacks if available. +# +# Copyright (C) 2000, 2001, 2003 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 of the License, 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; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Written by Gary V. Vaughan + +# serial 7 + +# M4_AC_FUNC_OBSTACK +# ------------------ +# Use the libc supplied version of obstacks if available. +AC_DEFUN([M4_AC_FUNC_OBSTACK], +[AC_PREREQ(2.56)dnl We use the new compiler based header checking in 2.5= 6 +AC_REQUIRE([gl_OBSTACK]) +m4_pattern_allow([^m4_cv_func_obstack$])dnl +m4_pattern_allow([^m4_obstack_c$])dnl +m4_pattern_allow([^m4_obstack_h$])dnl + +AC_CHECK_HEADERS(obstack.h, [], [], [AC_INCLUDES_DEFAULT]) + +AC_ARG_WITH([included-obstack], + [AC_HELP_STRING([--with-included-obstack], + [use the obstack implementation included here])]) + +if test "x${with_included_obstack-no}" =3D xno; then + AC_CACHE_CHECK([for obstack in libc], m4_cv_func_obstack, + [AC_TRY_LINK([#include "obstack.h"], + [struct obstack *mem;obstack_free(mem,(char *) 0)],= + [m4_cv_func_obstack=3Dyes], + [m4_cv_func_obstack=3Dno])]) +else + m4_cv_func_obstack=3Dno +fi + +OBSTACK_H=3D +OBSTACK_C=3D +m4_obstack_h=3Dm4/obstack.h +m4_obstack_c=3Dm4/obstack.c +rm -f $m4_obstack_c $m4_obstack_h +if test $m4_cv_func_obstack =3D yes; then + + # The system provides obstack.h, `#include ' will work + INCLUDE_OBSTACK_H=3D'#include ' + AC_DEFINE(HAVE_OBSTACK, 1, [Define if libc includes obstacks.]) + +else + + # The system does not provide obstack.h, or the user has specified + # to build without it. Unfortunately we can't leave an obstack.h + # file around anywhere in the include path if the system also + # provides an implementation: So we ship gnulib/lib/obstack.h, and lin= k + # it to m4/obstack.h at Make time (to substitute the missing system + # supplied version). Hence, `#include ' will work. + INCLUDE_OBSTACK_H=3D'#include ' + + if test x"$ac_cv_header_obstack_h" !=3D xyes; then + OBSTACK_H=3Dobstack.h + OBSTACK_C=3Dobstack.c + fi + + # In the absence of a system implementation, we must compile our own: + AC_LIBOBJ(obstack) + +fi +AC_SUBST(OBSTACK_H) +AC_SUBST(OBSTACK_C) +AC_SUBST(INCLUDE_OBSTACK_H) +])# M4_AC_FUNC_OBSTACK Index: gnulib/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/Makefile.am,v retrieving revision 1.1 diff -u -p -u -r1.1 Makefile.am --- gnulib/Makefile.am 4 Sep 2003 14:00:51 -0000 1.1 +++ gnulib/Makefile.am 4 Sep 2003 16:03:11 -0000 @@ -23,9 +23,13 @@ gnulib_macrodir =3D $(srcdir)/m4 gnulib_srcdir =3D $(srcdir)/lib =20 GNULIB_SRCS =3D \ +$(gnulib_srcdir)/obstack.c \ +$(gnulib_srcdir)/obstack.h \ $(gnulib_srcdir)/stdbool_.h =20 GNULIB_MACROS =3D \ +$(gnulib_macrodir)/obstack.m4 \ +$(gnulib_macrodir)/onceonly_2_57.m4 \ $(gnulib_macrodir)/stdbool.m4 =20 EXTRA_DIST =3D $(GNULIB_SRCS) $(GNULIB_MACROS) Index: gnulib/lib/obstack.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/lib/obstack.c diff -N gnulib/lib/obstack.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/lib/obstack.c 4 Sep 2003 16:03:11 -0000 @@ -0,0 +1,616 @@ +/* obstack.c - subroutines used implicitly by object stack macros + Copyright (C) 1988-1994, 1996-1999, 2000-2002 Free Software Foundatio= n, 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include "obstack.h" + +/* NOTE BEFORE MODIFYING THIS FILE: This version number must be + incremented whenever callers compiled using an old obstack.h can no + longer properly call the functions in this obstack.c. */ +#define OBSTACK_INTERFACE_VERSION 1 + +/* Comment out all this code if we are using the GNU C Library, and are = not + actually compiling the library itself, and the installed library + supports the same library interface we do. This code is part of the = GNU + C Library, but also included in many other GNU distributions. Compil= ing + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU= + program understand `configure --with-gnu-libc' and omit the object + files, it is simpler to just do this in the source for each such file= =2E */ + +#include /* Random thing to get __GNU_LIBRARY__. */ +#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 +# include +# if _GNU_OBSTACK_INTERFACE_VERSION =3D=3D OBSTACK_INTERFACE_VERSION +# define ELIDE_CODE +# endif +#endif + +#if defined _LIBC && defined USE_IN_LIBIO +# include +#endif + +#ifndef ELIDE_CODE + + +# if defined __STDC__ && __STDC__ +# define POINTER void * +# else +# define POINTER char * +# endif + +/* Determine default alignment. */ +struct fooalign {char x; double d;}; +# define DEFAULT_ALIGNMENT \ + ((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0)) +/* If malloc were really smart, it would round addresses to DEFAULT_ALIG= NMENT. + But in fact it might be less smart and round addresses to as much as + DEFAULT_ROUNDING. So we prepare for it to do that. */ +union fooround {long x; double d;}; +# define DEFAULT_ROUNDING (sizeof (union fooround)) + +/* When we copy a long block of data, this is the unit to do it with. + On some machines, copying successive ints does not work; + in such a case, redefine COPYING_UNIT to `long' (if that works) + or `char' as a last resort. */ +# ifndef COPYING_UNIT +# define COPYING_UNIT int +# endif + + +/* The functions allocating more room by calling `obstack_chunk_alloc' + jump to the handler pointed to by `obstack_alloc_failed_handler'. + This can be set to a user defined function which should either + abort gracefully or use longjump - but shouldn't return. This + variable by default points to the internal function + `print_and_abort'. */ +# if defined __STDC__ && __STDC__ +static void print_and_abort (void); +void (*obstack_alloc_failed_handler) (void) =3D print_and_abort; +# else +static void print_and_abort (); +void (*obstack_alloc_failed_handler) () =3D print_and_abort; +# endif + +/* Exit value used when `print_and_abort' is used. */ +# if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H +# include +# endif +# ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +# endif +int obstack_exit_failure =3D EXIT_FAILURE; + +/* The non-GNU-C macros copy the obstack into this global variable + to avoid multiple evaluation. */ + +struct obstack *_obstack; + +/* Define a macro that either calls functions with the traditional mallo= c/free + calling interface, or calls functions with the mmalloc/mfree interfac= e + (that adds an extra first argument), based on the state of use_extra_= arg. + For free, do not use ?:, since some compilers, like the MIPS compiler= s, + do not allow (expr) ? void : void. */ + +# if defined __STDC__ && __STDC__ +# define CALL_CHUNKFUN(h, size) \ + (((h) -> use_extra_arg) \ + ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ + : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) + +# define CALL_FREEFUN(h, old_chunk) \ + do { \ + if ((h) -> use_extra_arg) \ + (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ + else \ + (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ + } while (0) +# else +# define CALL_CHUNKFUN(h, size) \ + (((h) -> use_extra_arg) \ + ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ + : (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size))) + +# define CALL_FREEFUN(h, old_chunk) \ + do { \ + if ((h) -> use_extra_arg) \ + (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ + else \ + (*(void (*) ()) (h)->freefun) ((old_chunk)); \ + } while (0) +# endif + +=0C +/* Initialize an obstack H for use. Specify chunk size SIZE (0 means de= fault). + Objects start on multiples of ALIGNMENT (0 means use default). + CHUNKFUN is the function to use to allocate chunks, + and FREEFUN the function to free them. + + Return nonzero if successful, calls obstack_alloc_failed_handler if + allocation fails. */ + +int +_obstack_begin (h, size, alignment, chunkfun, freefun) + struct obstack *h; + int size; + int alignment; +# if defined __STDC__ && __STDC__ + POINTER (*chunkfun) (long); + void (*freefun) (void *); +# else + POINTER (*chunkfun) (); + void (*freefun) (); +# endif +{ + register struct _obstack_chunk *chunk; /* points to new chunk */ + + if (alignment =3D=3D 0) + alignment =3D (int) DEFAULT_ALIGNMENT; + if (size =3D=3D 0) + /* Default size is what GNU malloc can fit in a 4096-byte block. */= + { + /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. + Use the values for range checking, because if range checking is off, + the extra bytes won't be missed terribly, but if range checking is on + and we used a larger request, a whole extra 4096 bytes would be + allocated. + + These number are irrelevant to the new GNU malloc. I suspect it is + less sensitive to the size of the request. */ + int extra =3D ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING = - 1)) + + 4 + DEFAULT_ROUNDING - 1) + & ~(DEFAULT_ROUNDING - 1)); + size =3D 4096 - extra; + } + +# if defined __STDC__ && __STDC__ + h->chunkfun =3D (struct _obstack_chunk * (*)(void *, long)) chunkfun; + h->freefun =3D (void (*) (void *, struct _obstack_chunk *)) freefun; +# else + h->chunkfun =3D (struct _obstack_chunk * (*)()) chunkfun; + h->freefun =3D freefun; +# endif + h->chunk_size =3D size; + h->alignment_mask =3D alignment - 1; + h->use_extra_arg =3D 0; + + chunk =3D h->chunk =3D CALL_CHUNKFUN (h, h -> chunk_size); + if (!chunk) + (*obstack_alloc_failed_handler) (); + h->next_free =3D h->object_base =3D chunk->contents; + h->chunk_limit =3D chunk->limit + =3D (char *) chunk + h->chunk_size; + chunk->prev =3D 0; + /* The initial chunk now contains no empty object. */ + h->maybe_empty_object =3D 0; + h->alloc_failed =3D 0; + return 1; +} + +int +_obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg) + struct obstack *h; + int size; + int alignment; +# if defined __STDC__ && __STDC__ + POINTER (*chunkfun) (POINTER, long); + void (*freefun) (POINTER, POINTER); +# else + POINTER (*chunkfun) (); + void (*freefun) (); +# endif + POINTER arg; +{ + register struct _obstack_chunk *chunk; /* points to new chunk */ + + if (alignment =3D=3D 0) + alignment =3D (int) DEFAULT_ALIGNMENT; + if (size =3D=3D 0) + /* Default size is what GNU malloc can fit in a 4096-byte block. */= + { + /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. + Use the values for range checking, because if range checking is off, + the extra bytes won't be missed terribly, but if range checking is on + and we used a larger request, a whole extra 4096 bytes would be + allocated. + + These number are irrelevant to the new GNU malloc. I suspect it is + less sensitive to the size of the request. */ + int extra =3D ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING = - 1)) + + 4 + DEFAULT_ROUNDING - 1) + & ~(DEFAULT_ROUNDING - 1)); + size =3D 4096 - extra; + } + +# if defined __STDC__ && __STDC__ + h->chunkfun =3D (struct _obstack_chunk * (*)(void *,long)) chunkfun; + h->freefun =3D (void (*) (void *, struct _obstack_chunk *)) freefun; +# else + h->chunkfun =3D (struct _obstack_chunk * (*)()) chunkfun; + h->freefun =3D freefun; +# endif + h->chunk_size =3D size; + h->alignment_mask =3D alignment - 1; + h->extra_arg =3D arg; + h->use_extra_arg =3D 1; + + chunk =3D h->chunk =3D CALL_CHUNKFUN (h, h -> chunk_size); + if (!chunk) + (*obstack_alloc_failed_handler) (); + h->next_free =3D h->object_base =3D chunk->contents; + h->chunk_limit =3D chunk->limit + =3D (char *) chunk + h->chunk_size; + chunk->prev =3D 0; + /* The initial chunk now contains no empty object. */ + h->maybe_empty_object =3D 0; + h->alloc_failed =3D 0; + return 1; +} + +/* Allocate a new current chunk for the obstack *H + on the assumption that LENGTH bytes need to be added + to the current object, or a new object of length LENGTH allocated. + Copies any partial object from the end of the old chunk + to the beginning of the new one. */ + +void +_obstack_newchunk (h, length) + struct obstack *h; + int length; +{ + register struct _obstack_chunk *old_chunk =3D h->chunk; + register struct _obstack_chunk *new_chunk; + register long new_size; + register long obj_size =3D h->next_free - h->object_base; + register long i; + long already; + char *object_base; + + /* Compute size for new chunk. */ + new_size =3D (obj_size + length) + (obj_size >> 3) + h->alignment_mask= + 100; + if (new_size < h->chunk_size) + new_size =3D h->chunk_size; + + /* Allocate and initialize the new chunk. */ + new_chunk =3D CALL_CHUNKFUN (h, new_size); + if (!new_chunk) + (*obstack_alloc_failed_handler) (); + h->chunk =3D new_chunk; + new_chunk->prev =3D old_chunk; + new_chunk->limit =3D h->chunk_limit =3D (char *) new_chunk + new_size;= + + /* Compute an aligned object_base in the new chunk */ + object_base =3D + __INT_TO_PTR ((__PTR_TO_INT (new_chunk->contents) + h->alignment_mas= k) + & ~ (h->alignment_mask)); + + /* Move the existing object to the new chunk. + Word at a time is fast and is safe if the object + is sufficiently aligned. */ + if (h->alignment_mask + 1 >=3D DEFAULT_ALIGNMENT) + { + for (i =3D obj_size / sizeof (COPYING_UNIT) - 1; + i >=3D 0; i--) + ((COPYING_UNIT *)object_base)[i] + =3D ((COPYING_UNIT *)h->object_base)[i]; + /* We used to copy the odd few remaining bytes as one extra COPYIN= G_UNIT, + but that can cross a page boundary on a machine + which does not do strict alignment for COPYING_UNITS. */ + already =3D obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNI= T); + } + else + already =3D 0; + /* Copy remaining bytes one by one. */ + for (i =3D already; i < obj_size; i++) + object_base[i] =3D h->object_base[i]; + + /* If the object just copied was the only data in OLD_CHUNK, + free that chunk and remove it from the chain. + But not if that chunk might contain an empty object. */ + if (h->object_base =3D=3D old_chunk->contents && ! h->maybe_empty_obje= ct) + { + new_chunk->prev =3D old_chunk->prev; + CALL_FREEFUN (h, old_chunk); + } + + h->object_base =3D object_base; + h->next_free =3D h->object_base + obj_size; + /* The new chunk certainly contains no empty object yet. */ + h->maybe_empty_object =3D 0; +} + +/* Return nonzero if object OBJ has been allocated from obstack H. + This is here for debugging. + If you use it in a program, you are probably losing. */ + +# if defined __STDC__ && __STDC__ +/* Suppress -Wmissing-prototypes warning. We don't want to declare this= in + obstack.h because it is just for debugging. */ +int _obstack_allocated_p (struct obstack *h, POINTER obj); +# endif + +int +_obstack_allocated_p (h, obj) + struct obstack *h; + POINTER obj; +{ + register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ + register struct _obstack_chunk *plp; /* point to previous chunk if any= */ + + lp =3D (h)->chunk; + /* We use >=3D rather than > since the object cannot be exactly at + the beginning of the chunk but might be an empty object exactly + at the end of an adjacent chunk. */ + while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) + { + plp =3D lp->prev; + lp =3D plp; + } + return lp !=3D 0; +} +=0C +/* Free objects in obstack H, including OBJ and everything allocate + more recently than OBJ. If OBJ is zero, free everything in H. */ + +# undef obstack_free + +/* This function has two names with identical definitions. + This is the first one, called from non-ANSI code. */ + +void +_obstack_free (h, obj) + struct obstack *h; + POINTER obj; +{ + register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ + register struct _obstack_chunk *plp; /* point to previous chunk if any= */ + + lp =3D h->chunk; + /* We use >=3D because there cannot be an object at the beginning of a= chunk. + But there can be an empty object at that address + at the end of another chunk. */ + while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) + { + plp =3D lp->prev; + CALL_FREEFUN (h, lp); + lp =3D plp; + /* If we switch chunks, we can't tell whether the new current + chunk contains an empty object, so assume that it may. */ + h->maybe_empty_object =3D 1; + } + if (lp) + { + h->object_base =3D h->next_free =3D (char *) (obj); + h->chunk_limit =3D lp->limit; + h->chunk =3D lp; + } + else if (obj !=3D 0) + /* obj is not in any of the chunks! */ + abort (); +} + +/* This function is used from ANSI code. */ + +void +obstack_free (h, obj) + struct obstack *h; + POINTER obj; +{ + register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ + register struct _obstack_chunk *plp; /* point to previous chunk if any= */ + + lp =3D h->chunk; + /* We use >=3D because there cannot be an object at the beginning of a= chunk. + But there can be an empty object at that address + at the end of another chunk. */ + while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) + { + plp =3D lp->prev; + CALL_FREEFUN (h, lp); + lp =3D plp; + /* If we switch chunks, we can't tell whether the new current + chunk contains an empty object, so assume that it may. */ + h->maybe_empty_object =3D 1; + } + if (lp) + { + h->object_base =3D h->next_free =3D (char *) (obj); + h->chunk_limit =3D lp->limit; + h->chunk =3D lp; + } + else if (obj !=3D 0) + /* obj is not in any of the chunks! */ + abort (); +} +=0C +int +_obstack_memory_used (h) + struct obstack *h; +{ + register struct _obstack_chunk* lp; + register int nbytes =3D 0; + + for (lp =3D h->chunk; lp !=3D 0; lp =3D lp->prev) + { + nbytes +=3D lp->limit - (char *) lp; + } + return nbytes; +} +=0C +/* Define the error handler. */ +# ifdef _LIBC +# include +# else +# include "gettext.h" +# endif +# define _(msgid) gettext (msgid) + +# if defined _LIBC && defined USE_IN_LIBIO +# include +# define fputs(s, f) _IO_fputs (s, f) +# endif + +# ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 5) +# define __attribute__(Spec) /* empty */ +# endif +# endif + +static void +__attribute__ ((noreturn)) +print_and_abort () +{ + /* Don't change any of these strings. Yes, it would be possible to ad= d + the newline to the string and use fputs or so. But this must not + happen because the "memory exhausted" message appears in other plac= es + like this and the translation should be reused instead of creating + a very similar string which requires a separate translation. */ +# if defined _LIBC && defined USE_IN_LIBIO + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s\n", _("memory exhausted")); + else +# endif + fprintf (stderr, "%s\n", _("memory exhausted")); + exit (obstack_exit_failure); +} +=0C +# if 0 +/* These are now turned off because the applications do not use it + and it uses bcopy via obstack_grow, which causes trouble on sysV. */= + +/* Now define the functional versions of the obstack macros. + Define them to simply use the corresponding macros to do the job. */= + +# if defined __STDC__ && __STDC__ +/* These function definitions do not work with non-ANSI preprocessors; + they won't pass through the macro names in parentheses. */ + +/* The function names appear in parentheses in order to prevent + the macro-definitions of the names from being expanded there. */ + +POINTER (obstack_base) (obstack) + struct obstack *obstack; +{ + return obstack_base (obstack); +} + +POINTER (obstack_next_free) (obstack) + struct obstack *obstack; +{ + return obstack_next_free (obstack); +} + +int (obstack_object_size) (obstack) + struct obstack *obstack; +{ + return obstack_object_size (obstack); +} + +int (obstack_room) (obstack) + struct obstack *obstack; +{ + return obstack_room (obstack); +} + +int (obstack_make_room) (obstack, length) + struct obstack *obstack; + int length; +{ + return obstack_make_room (obstack, length); +} + +void (obstack_grow) (obstack, data, length) + struct obstack *obstack; + const POINTER data; + int length; +{ + obstack_grow (obstack, data, length); +} + +void (obstack_grow0) (obstack, data, length) + struct obstack *obstack; + const POINTER data; + int length; +{ + obstack_grow0 (obstack, data, length); +} + +void (obstack_1grow) (obstack, character) + struct obstack *obstack; + int character; +{ + obstack_1grow (obstack, character); +} + +void (obstack_blank) (obstack, length) + struct obstack *obstack; + int length; +{ + obstack_blank (obstack, length); +} + +void (obstack_1grow_fast) (obstack, character) + struct obstack *obstack; + int character; +{ + obstack_1grow_fast (obstack, character); +} + +void (obstack_blank_fast) (obstack, length) + struct obstack *obstack; + int length; +{ + obstack_blank_fast (obstack, length); +} + +POINTER (obstack_finish) (obstack) + struct obstack *obstack; +{ + return obstack_finish (obstack); +} + +POINTER (obstack_alloc) (obstack, length) + struct obstack *obstack; + int length; +{ + return obstack_alloc (obstack, length); +} + +POINTER (obstack_copy) (obstack, address, length) + struct obstack *obstack; + const POINTER address; + int length; +{ + return obstack_copy (obstack, address, length); +} + +POINTER (obstack_copy0) (obstack, address, length) + struct obstack *obstack; + const POINTER address; + int length; +{ + return obstack_copy0 (obstack, address, length); +} + +# endif /* __STDC__ */ + +# endif /* 0 */ + +#endif /* !ELIDE_CODE */ Index: gnulib/lib/obstack.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/lib/obstack.h diff -N gnulib/lib/obstack.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/lib/obstack.h 4 Sep 2003 16:03:12 -0000 @@ -0,0 +1,608 @@ +/* obstack.h - object stack macros + Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99,2003 Free Software F= oundation, Inc. + + This file is part of the GNU C Library. Its master source is NOT par= t of + the C library, however. The master source lives in /gd/gnu/lib. + + NOTE: The canonical source of this file is maintained with the GNU C = Library. + Bugs can be reported to bug-glibc@gnu.org. + + 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Summary: + +All the apparent functions defined here are macros. The idea +is that you would use these pre-tested macros to solve a +very specific set of problems, and they would run fast. +Caution: no side-effects in arguments please!! They may be +evaluated MANY times!! + +These macros operate a stack of objects. Each object starts life +small, and may grow to maturity. (Consider building a word syllable +by syllable.) An object can move while it is growing. Once it has +been "finished" it never changes address again. So the "top of the +stack" is typically an immature growing object, while the rest of the +stack is of mature, fixed size and fixed address objects. + +These routines grab large chunks of memory, using a function you +supply, called `obstack_chunk_alloc'. On occasion, they free chunks, +by calling `obstack_chunk_free'. You must define them and declare +them before using any obstack macros. + +Each independent stack is represented by a `struct obstack'. +Each of the obstack macros expects a pointer to such a structure +as the first argument. + +One motivation for this package is the problem of growing char strings +in symbol tables. Unless you are "fascist pig with a read-only mind" +--Gosper's immortal quote from HAKMEM item 154, out of context--you +would not like to put any arbitrary upper limit on the length of your +symbols. + +In practice this often means you will build many short symbols and a +few long symbols. At the time you are reading a symbol you don't know +how long it is. One traditional method is to read a symbol into a +buffer, realloc()ating the buffer every time you try to read a symbol +that is longer than the buffer. This is beaut, but you still will +want to copy the symbol from the buffer to a more permanent +symbol-table entry say about half the time. + +With obstacks, you can work differently. Use one obstack for all symbol= +names. As you read a symbol, grow the name in the obstack gradually. +When the name is complete, finalize it. Then, if the symbol exists alre= ady, +free the newly read name. + +The way we do this is to take a large chunk, allocating memory from +low addresses. When you want to build a symbol in the chunk you just +add chars above the current "high water mark" in the chunk. When you +have finished adding chars, because you got to the end of the symbol, +you know how long the chars are, and you can create a new object. +Mostly the chars will not burst over the highest address of the chunk, +because you would typically expect a chunk to be (say) 100 times as +long as an average object. + +In case that isn't clear, when we have enough chars to make up +the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) +so we just point to it where it lies. No moving of chars is +needed and this is the second win: potentially long strings need +never be explicitly shuffled. Once an object is formed, it does not +change its address during its lifetime. + +When the chars burst over a chunk boundary, we allocate a larger +chunk, and then copy the partly formed object from the end of the old +chunk to the beginning of the new larger chunk. We then carry on +accreting characters to the end of the object as we normally would. + +A special macro is provided to add a single char at a time to a +growing object. This allows the use of register variables, which +break the ordinary 'growth' macro. + +Summary: + We allocate large chunks. + We carve out one object at a time from the current chunk. + Once carved, an object never moves. + We are free to append data of any size to the currently + growing object. + Exactly one object is growing in an obstack at any one time. + You can run one obstack per control block. + You may have as many control blocks as you dare. + Because of the way we do it, you can `unwind' an obstack + back to a previous state. (You may remove objects much + as you would with a stack.) +*/ + + +/* Don't do the contents of this file more than once. */ + +#ifndef _OBSTACK_H +#define _OBSTACK_H 1 + +#ifdef __cplusplus +extern "C" { +#endif +=0C +/* We use subtraction of (char *) 0 instead of casting to int + because on word-addressable machines a simple cast to int + may ignore the byte-within-word field of the pointer. */ + +#ifndef __PTR_TO_INT +# define __PTR_TO_INT(P) ((P) - (char *) 0) +#endif + +#ifndef __INT_TO_PTR +# define __INT_TO_PTR(P) ((P) + (char *) 0) +#endif + +/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is + defined, as with GNU C, use that; that way we don't pollute the + namespace with 's symbols. Otherwise, if is + available, include it and use ptrdiff_t. In traditional C, long is + the best that we can do. */ + +#ifdef __PTRDIFF_TYPE__ +# define PTR_INT_TYPE __PTRDIFF_TYPE__ +#else +# ifdef HAVE_STDDEF_H +# include +# define PTR_INT_TYPE ptrdiff_t +# else +# define PTR_INT_TYPE long +# endif +#endif + +#if defined _LIBC || defined HAVE_STRING_H +# include +# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +#else +# ifdef memcpy +# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +# else +# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N)) +# endif +#endif + +struct _obstack_chunk /* Lives at front of each chunk. */ +{ + char *limit; /* 1 past end of this chunk */ + struct _obstack_chunk *prev; /* address of prior chunk or NULL */ + char contents[4]; /* objects begin here */ +}; + +struct obstack /* control current object in current chunk */ +{ + long chunk_size; /* preferred size to allocate chunks in */ + struct _obstack_chunk *chunk; /* address of current struct obstack_chu= nk */ + char *object_base; /* address of object we are building */ + char *next_free; /* where to add next char to current object */ + char *chunk_limit; /* address of char after current chunk */ + PTR_INT_TYPE temp; /* Temporary for some macros. */ + int alignment_mask; /* Mask of alignment for each object. */ +#if defined __STDC__ && __STDC__ + /* These prototypes vary based on `use_extra_arg', and we use + casts to the prototypeless function type in all assignments, + but having prototypes here quiets -Wstrict-prototypes. */ + struct _obstack_chunk *(*chunkfun) (void *, long); + void (*freefun) (void *, struct _obstack_chunk *); + void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ +#else + struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chu= nk. */ + void (*freefun) (); /* User's function to free a chunk. */ + char *extra_arg; /* first arg for chunk alloc/dealloc funcs */ +#endif + unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg = */ + unsigned maybe_empty_object:1;/* There is a possibility that the curre= nt + chunk contains a zero-length object. This + prevents freeing the chunk if we allocate + a bigger chunk to replace it. */ + unsigned alloc_failed:1; /* No longer used, as we now call the failed + handler on error, but retained for binary + compatibility. */ +}; + +/* Declare the external functions we use; they are in obstack.c. */ + +#if defined __STDC__ && __STDC__ +extern void _obstack_newchunk (struct obstack *, int); +extern void _obstack_free (struct obstack *, void *); +extern int _obstack_begin (struct obstack *, int, int, + void *(*) (long), void (*) (void *)); +extern int _obstack_begin_1 (struct obstack *, int, int, + void *(*) (void *, long), + void (*) (void *, void *), void *); +extern int _obstack_memory_used (struct obstack *); +#else +extern void _obstack_newchunk (); +extern void _obstack_free (); +extern int _obstack_begin (); +extern int _obstack_begin_1 (); +extern int _obstack_memory_used (); +#endif +=0C +#if defined __STDC__ && __STDC__ + +/* Do the function-declarations after the structs + but before defining the macros. */ + +void obstack_init (struct obstack *obstack); + +void * obstack_alloc (struct obstack *obstack, int size); + +void * obstack_copy (struct obstack *obstack, const void *address, int s= ize); +void * obstack_copy0 (struct obstack *obstack, const void *address, int = size); + +void obstack_free (struct obstack *obstack, void *block); + +void obstack_blank (struct obstack *obstack, int size); + +void obstack_grow (struct obstack *obstack, const void *data, int size);= +void obstack_grow0 (struct obstack *obstack, const void *data, int size)= ; + +void obstack_1grow (struct obstack *obstack, int data_char); +void obstack_ptr_grow (struct obstack *obstack, const void *data); +void obstack_int_grow (struct obstack *obstack, int data); + +void * obstack_finish (struct obstack *obstack); + +int obstack_object_size (struct obstack *obstack); + +int obstack_room (struct obstack *obstack); +void obstack_make_room (struct obstack *obstack, int size); +void obstack_1grow_fast (struct obstack *obstack, int data_char); +void obstack_ptr_grow_fast (struct obstack *obstack, const void *data); +void obstack_int_grow_fast (struct obstack *obstack, int data); +void obstack_blank_fast (struct obstack *obstack, int size); + +void * obstack_base (struct obstack *obstack); +void * obstack_next_free (struct obstack *obstack); +int obstack_alignment_mask (struct obstack *obstack); +int obstack_chunk_size (struct obstack *obstack); +int obstack_memory_used (struct obstack *obstack); + +#endif /* __STDC__ */ + +/* Non-ANSI C cannot really support alternative functions for these macr= os, + so we do not declare them. */ + +/* Error handler called when `obstack_chunk_alloc' failed to allocate + more memory. This can be set to a user defined function which + should either abort gracefully or use longjump - but shouldn't + return. The default action is to print a message and abort. */ +#if defined __STDC__ && __STDC__ +extern void (*obstack_alloc_failed_handler) (void); +#else +extern void (*obstack_alloc_failed_handler) (); +#endif + +/* Exit value used when `print_and_abort' is used. */ +extern int obstack_exit_failure; +=0C +/* Pointer to beginning of object being allocated or to be allocated nex= t. + Note that this might not be the final address of the object + because a new chunk might be needed to hold the final size. */ + +#define obstack_base(h) ((h)->object_base) + +/* Size for allocating ordinary chunks. */ + +#define obstack_chunk_size(h) ((h)->chunk_size) + +/* Pointer to next byte not yet allocated in current chunk. */ + +#define obstack_next_free(h) ((h)->next_free) + +/* Mask specifying low bits that should be clear in address of an object= =2E */ + +#define obstack_alignment_mask(h) ((h)->alignment_mask) + +/* To prevent prototype warnings provide complete argument list in + standard C version. */ +#if defined __STDC__ && __STDC__ + +# define obstack_init(h) \ + _obstack_begin ((h), 0, 0, \ + (void *(*) (long)) obstack_chunk_alloc, \ + (void (*) (void *)) obstack_chunk_free) + +# define obstack_begin(h, size) \ + _obstack_begin ((h), (size), 0, \ + (void *(*) (long)) obstack_chunk_alloc, \ + (void (*) (void *)) obstack_chunk_free) + +# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ + _obstack_begin ((h), (size), (alignment), \ + (void *(*) (long)) (chunkfun), \ + (void (*) (void *)) (freefun)) + +# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ + _obstack_begin_1 ((h), (size), (alignment), \ + (void *(*) (void *, long)) (chunkfun), \ + (void (*) (void *, void *)) (freefun), (arg)) + +# define obstack_chunkfun(h, newchunkfun) \ + ((h) -> chunkfun =3D (struct _obstack_chunk *(*)(void *, long)) (newch= unkfun)) + +# define obstack_freefun(h, newfreefun) \ + ((h) -> freefun =3D (void (*)(void *, struct _obstack_chunk *)) (newfr= eefun)) + +#else + +# define obstack_init(h) \ + _obstack_begin ((h), 0, 0, \ + (void *(*) ()) obstack_chunk_alloc, \ + (void (*) ()) obstack_chunk_free) + +# define obstack_begin(h, size) \ + _obstack_begin ((h), (size), 0, \ + (void *(*) ()) obstack_chunk_alloc, \ + (void (*) ()) obstack_chunk_free) + +# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ + _obstack_begin ((h), (size), (alignment), \ + (void *(*) ()) (chunkfun), \ + (void (*) ()) (freefun)) + +# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ + _obstack_begin_1 ((h), (size), (alignment), \ + (void *(*) ()) (chunkfun), \ + (void (*) ()) (freefun), (arg)) + +# define obstack_chunkfun(h, newchunkfun) \ + ((h) -> chunkfun =3D (struct _obstack_chunk *(*)()) (newchunkfun)) + +# define obstack_freefun(h, newfreefun) \ + ((h) -> freefun =3D (void (*)()) (newfreefun)) + +#endif + +#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ =3D achar) + +#define obstack_blank_fast(h,n) ((h)->next_free +=3D (n)) + +#define obstack_memory_used(h) _obstack_memory_used (h) +=0C +#if defined __GNUC__ && defined __STDC__ && __STDC__ +/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ =3D 2 and + does not implement __extension__. But that compiler doesn't define + __GNUC_MINOR__. */ +# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) +# define __extension__ +# endif + +/* For GNU C, if not -traditional, + we can define these macros to compute all args only once + without using a global variable. + Also, we can avoid using the `temp' slot, to make faster code. */ + +# define obstack_object_size(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (unsigned) (__o->next_free - __o->object_base); }) + +# define obstack_room(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (unsigned) (__o->chunk_limit - __o->next_free); }) + +# define obstack_make_room(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->chunk_limit - __o->next_free < __len) \ + _obstack_newchunk (__o, __len); \ + (void) 0; }) + +# define obstack_empty_p(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (__o->chunk->prev =3D=3D 0 && __o->next_free - __o->chunk->contents= =3D=3D 0); }) + +# define obstack_grow(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->next_free + __len > __o->chunk_limit) \ + _obstack_newchunk (__o, __len); \ + _obstack_memcpy (__o->next_free, (where), __len); \ + __o->next_free +=3D __len; \ + (void) 0; }) + +# define obstack_grow0(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->next_free + __len + 1 > __o->chunk_limit) \ + _obstack_newchunk (__o, __len + 1); \ + _obstack_memcpy (__o->next_free, (where), __len); \ + __o->next_free +=3D __len; \ + *(__o->next_free)++ =3D 0; \ + (void) 0; }) + +# define obstack_1grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + 1 > __o->chunk_limit) \ + _obstack_newchunk (__o, 1); \ + *(__o->next_free)++ =3D (datum); \ + (void) 0; }) + +/* These assume that the obstack alignment is good enough for pointers + or ints, and that the data added so far to the current object + shares that much alignment. */ + +# define obstack_ptr_grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (void *)); \ + *((void **)__o->next_free)++ =3D (datum); \ + (void) 0; }) + +# define obstack_int_grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + sizeof (int) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (int)); \ + *((int *)__o->next_free)++ =3D (datum); \ + (void) 0; }) + +# define obstack_ptr_grow_fast(h,aptr) \ + (*((void **) (h)->next_free)++ =3D (aptr)) + +# define obstack_int_grow_fast(h,aint) \ + (*((int *) (h)->next_free)++ =3D (aint)) + +# define obstack_blank(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->chunk_limit - __o->next_free < __len) \ + _obstack_newchunk (__o, __len); \ + __o->next_free +=3D __len; \ + (void) 0; }) + +# define obstack_alloc(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_blank (__h, (length)); \ + obstack_finish (__h); }) + +# define obstack_copy(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_grow (__h, (where), (length)); \ + obstack_finish (__h); }) + +# define obstack_copy0(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_grow0 (__h, (where), (length)); \ + obstack_finish (__h); }) + +/* The local variable is named __o1 to avoid a name conflict + when obstack_blank is called. */ +# define obstack_finish(OBSTACK) \ +__extension__ \ +({ struct obstack *__o1 =3D (OBSTACK); \ + void *value; \ + value =3D (void *) __o1->object_base; \ + if (__o1->next_free =3D=3D value) \ + __o1->maybe_empty_object =3D 1; \ + __o1->next_free \ + =3D __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_m= ask)\ + & ~ (__o1->alignment_mask)); \ + if (__o1->next_free - (char *)__o1->chunk \ + > __o1->chunk_limit - (char *)__o1->chunk) \ + __o1->next_free =3D __o1->chunk_limit; \ + __o1->object_base =3D __o1->next_free; \ + value; }) + +# define obstack_free(OBSTACK, OBJ) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + void *__obj =3D (OBJ); \ + if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) = \ + __o->next_free =3D __o->object_base =3D (char *)__obj; \ + else (obstack_free) (__o, __obj); }) +=0C +#else /* not __GNUC__ or not __STDC__ */ + +# define obstack_object_size(h) \ + (unsigned) ((h)->next_free - (h)->object_base) + +# define obstack_room(h) \ + (unsigned) ((h)->chunk_limit - (h)->next_free) + +# define obstack_empty_p(h) \ + ((h)->chunk->prev =3D=3D 0 && (h)->next_free - (h)->chunk->contents =3D= =3D 0) + +/* Note that the call to _obstack_newchunk is enclosed in (..., 0) + so that we can avoid having void expressions + in the arms of the conditional expression. + Casting the third operand to void was tried before, + but some compilers won't accept it. */ + +# define obstack_make_room(h,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0)) + +# define obstack_grow(h,where,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ + _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ + (h)->next_free +=3D (h)->temp) + +# define obstack_grow0(h,where,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ + _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ + (h)->next_free +=3D (h)->temp, \ + *((h)->next_free)++ =3D 0) + +# define obstack_1grow(h,datum) \ +( (((h)->next_free + 1 > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), 1), 0) : 0), \ + (*((h)->next_free)++ =3D (datum))) + +# define obstack_ptr_grow(h,datum) \ +( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ + (*((const char **) (((h)->next_free+=3Dsizeof(char *))-sizeof(char *))= ) =3D (datum))) + +# define obstack_int_grow(h,datum) \ +( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ + (*((int *) (((h)->next_free+=3Dsizeof(int))-sizeof(int))) =3D (datum))= ) + +# define obstack_ptr_grow_fast(h,aptr) \ + (*((const char **) (h)->next_free)++ =3D (aptr)) + +# define obstack_int_grow_fast(h,aint) \ + (*((int *) (h)->next_free)++ =3D (aint)) + +# define obstack_blank(h,length) \ +( (h)->temp =3D (length), \ + (((h)->chunk_limit - (h)->next_free < (h)->temp) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ + ((h)->next_free +=3D (h)->temp)) + +# define obstack_alloc(h,length) \ + (obstack_blank ((h), (length)), obstack_finish ((h))) + +# define obstack_copy(h,where,length) \ + (obstack_grow ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_copy0(h,where,length) \ + (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_finish(h) \ +( ((h)->next_free =3D=3D (h)->object_base \ + ? (((h)->maybe_empty_object =3D 1), 0) \ + : 0), \ + (h)->temp =3D __PTR_TO_INT ((h)->object_base), \ + (h)->next_free \ + =3D __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask= ) \ + & ~ ((h)->alignment_mask)), \ + (((h)->next_free - (char *) (h)->chunk \ + > (h)->chunk_limit - (char *) (h)->chunk) \ + ? ((h)->next_free =3D (h)->chunk_limit) : 0), \ + (h)->object_base =3D (h)->next_free, \ + (void *) __INT_TO_PTR ((h)->temp)) + +# if defined __STDC__ && __STDC__ +# define obstack_free(h,obj) \ +( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ + (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ + ? (int) ((h)->next_free =3D (h)->object_base \ + =3D (h)->temp + (char *) (h)->chunk) \ + : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) +# else +# define obstack_free(h,obj) \ +( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ + (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ + ? (int) ((h)->next_free =3D (h)->object_base \ + =3D (h)->temp + (char *) (h)->chunk) \ + : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0))) +# endif + +#endif /* not __GNUC__ or not __STDC__ */ + +#ifdef __cplusplus +} /* C++ */ +#endif + +#endif /* obstack.h */ Index: gnulib/m4/obstack.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/obstack.m4 diff -N gnulib/m4/obstack.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/obstack.m4 4 Sep 2003 16:03:12 -0000 @@ -0,0 +1,24 @@ +# obstack.m4 serial 1 +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +AC_DEFUN([gl_OBSTACK], +[ + dnl Prerequisites of lib/obstack.h. + AC_CHECK_HEADERS_ONCE(stddef.h string.h) + + AC_FUNC_OBSTACK + dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]). + if test $ac_cv_func_obstack =3D no; then + gl_PREREQ_OBSTACK + fi +]) + +# Prerequisites of lib/obstack.c. +AC_DEFUN([gl_PREREQ_OBSTACK], [ + AC_CHECK_HEADERS_ONCE(stdlib.h) +]) Index: gnulib/m4/onceonly_2_57.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/onceonly_2_57.m4 diff -N gnulib/m4/onceonly_2_57.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/onceonly_2_57.m4 4 Sep 2003 16:03:12 -0000 @@ -0,0 +1,86 @@ +# onceonly_2_57.m4 serial 3 +dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl This file defines some "once only" variants of standard autoconf mac= ros. +dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS +dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS +dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS +dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC +dnl The advantage is that the check for each of the headers/functions/de= cls +dnl will be put only once into the 'configure' file. It keeps the size o= f +dnl the 'configure' file down, and avoids redundant output when 'configu= re' +dnl is run. +dnl The drawback is that the checks cannot be conditionalized. If you wr= ite +dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi +dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expan= ds to +dnl empty, and the check will be inserted before the body of the AC_DEFU= Ned +dnl function. + +dnl This is like onceonly.m4, except that it uses diversions to named se= ctions +dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at= once, +dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The= +dnl size reduction is ca. 9%. + +dnl Autoconf version 2.57 or newer is recommended. +AC_PREREQ(2.54) + +# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of +# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). +AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ + : + AC_FOREACH([gl_HEADER_NAME], [$1], [ + AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, + [./-], [___])), [ + m4_divert_text([INIT_PREPARE], + [gl_header_list=3D"$gl_header_list gl_HEADER_NAME"]) + gl_HEADERS_EXPANSION + AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])), + [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> heade= r file.]) + ]) + AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, + [./-], [___]))) + ]) +]) +m4_define([gl_HEADERS_EXPANSION], [ + m4_divert_text([DEFAULTS], [gl_header_list=3D]) + AC_CHECK_HEADERS([$gl_header_list]) + m4_define([gl_HEADERS_EXPANSION], []) +]) + +# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of +# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). +AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ + : + AC_FOREACH([gl_FUNC_NAME], [$1], [ + AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ + m4_divert_text([INIT_PREPARE], + [gl_func_list=3D"$gl_func_list gl_FUNC_NAME"]) + gl_FUNCS_EXPANSION + AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])), + [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' functio= n.]) + ]) + AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) + ]) +]) +m4_define([gl_FUNCS_EXPANSION], [ + m4_divert_text([DEFAULTS], [gl_func_list=3D]) + AC_CHECK_FUNCS([$gl_func_list]) + m4_define([gl_FUNCS_EXPANSION], []) +]) + +# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of +# AC_CHECK_DECLS(DECL1, DECL2, ...). +AC_DEFUN([AC_CHECK_DECLS_ONCE], [ + : + AC_FOREACH([gl_DECL_NAME], [$1], [ + AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ + AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) + ]) + AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) + ]) +]) Index: m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.20 diff -u -p -u -r1.20 Makefile.am --- m4/Makefile.am 4 Sep 2003 14:00:51 -0000 1.20 +++ m4/Makefile.am 4 Sep 2003 16:03:12 -0000 @@ -17,10 +17,7 @@ ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ## Boston, MA 02111-1307, USA. =20 -BUILT_SOURCES =3D $(OBSTACK_H) - CLEANFILES =3D pathconf.h -MOSTLYCLEANFILES =3D obstack.h MAINTAINERCLEANFILES =3D Makefile.in =20 MODULE_PATH =3D $(pkglibexecdir) @@ -32,10 +29,10 @@ INCLUDES =3D -I$(top_builddir) -I$(top_src =20 include_HEADERS =3D m4module.h noinst_HEADERS =3D m4private.h -pkginc_HEADERS =3D error.h hash.h ltdl.h regex.h system.h $(OBSTACK_H) -EXTRA_HEADERS =3D system_.h obstack_.h +pkginc_HEADERS =3D error.h hash.h ltdl.h regex.h system.h +EXTRA_HEADERS =3D system_.h =20 -EXTRA_DIST =3D $(EXTRA_HEADERS) obstack.c +EXTRA_DIST =3D $(EXTRA_HEADERS) =20 lib_LTLIBRARIES =3D libm4.la libm4_la_SOURCES =3D builtin.c debug.c error.c hash.c \ @@ -46,23 +43,39 @@ libm4_la_LIBADD =3D $(LTLIBOBJS) $(LTLIBI module.o module.lo: $(srcdir)/module.c pathconf.h pathconf.h: Makefile @echo "#define MODULE_PATH \"${MODULE_PATH}\"" > pathconf.h +system.h: $(OBSTACK_H) =20 # This file needs to be regenerated at configure time. dist-hook: rm -f $(distdir)/system.h =20 =20 -gnulib_srcdir =3D $(top_srcdir)/gnulib/lib +# --------------------------- @ +# Adapted for gnulib obstack. # +# --------------------------- @ + +gnulib_srcdir =3D $(top_srcdir)/gnulib/lib + +BUILT_SOURCES =3D $(OBSTACK_C) $(OBSTACK_H) +DISTCLEANFILES =3D obstack.c obstack.h + +pkginc_HEADERS +=3D $(OBSTACK_H) + +all-local $(lib_OBJECTS): $(OBSTACK_C) $(OBSTACK_H) +obstack.c: $(gnulib_srcdir)/obstack.c + rm -f $@ && $(LN_S) $(gnulib_srcdir)/$@ $@ +obstack.h: $(gnulib_srcdir)/obstack.h + rm -f $@ && $(LN_S) $(gnulib_srcdir)/$@ $@ =20 =20 # ------------------------------------------------ # # Adapted from gnulib/modules/stdbool:Makefile.am. # # ------------------------------------------------ # =20 -BUILT_SOURCES +=3D $(STDBOOL_H) -MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t +BUILT_SOURCES +=3D $(STDBOOL_H) +DISTCLEANFILES +=3D stdbool.h stdbool.h-t =20 -pkginc_HEADERS +=3D $(STDBOOL_H) +pkginc_HEADERS +=3D $(STDBOOL_H) =20 # We need the following in order to create an when the syste= m # doesn't have one that works. Index: m4/obstack.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/obstack.c diff -N m4/obstack.c --- m4/obstack.c 29 Aug 2003 18:33:38 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,616 +0,0 @@ -/* obstack.c - subroutines used implicitly by object stack macros - Copyright (C) 1988-1994, 1996-1999, 2000-2002 Free Software Foundatio= n, 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 alo= ng - with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "obstack.h" - -/* NOTE BEFORE MODIFYING THIS FILE: This version number must be - incremented whenever callers compiled using an old obstack.h can no - longer properly call the functions in this obstack.c. */ -#define OBSTACK_INTERFACE_VERSION 1 - -/* Comment out all this code if we are using the GNU C Library, and are = not - actually compiling the library itself, and the installed library - supports the same library interface we do. This code is part of the = GNU - C Library, but also included in many other GNU distributions. Compil= ing - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU= - program understand `configure --with-gnu-libc' and omit the object - files, it is simpler to just do this in the source for each such file= =2E */ - -#include /* Random thing to get __GNU_LIBRARY__. */ -#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 -# include -# if _GNU_OBSTACK_INTERFACE_VERSION =3D=3D OBSTACK_INTERFACE_VERSION -# define ELIDE_CODE -# endif -#endif - -#if defined _LIBC && defined USE_IN_LIBIO -# include -#endif - -#ifndef ELIDE_CODE - - -# if defined __STDC__ && __STDC__ -# define POINTER void * -# else -# define POINTER char * -# endif - -/* Determine default alignment. */ -struct fooalign {char x; double d;}; -# define DEFAULT_ALIGNMENT \ - ((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0)) -/* If malloc were really smart, it would round addresses to DEFAULT_ALIG= NMENT. - But in fact it might be less smart and round addresses to as much as - DEFAULT_ROUNDING. So we prepare for it to do that. */ -union fooround {long x; double d;}; -# define DEFAULT_ROUNDING (sizeof (union fooround)) - -/* When we copy a long block of data, this is the unit to do it with. - On some machines, copying successive ints does not work; - in such a case, redefine COPYING_UNIT to `long' (if that works) - or `char' as a last resort. */ -# ifndef COPYING_UNIT -# define COPYING_UNIT int -# endif - - -/* The functions allocating more room by calling `obstack_chunk_alloc' - jump to the handler pointed to by `obstack_alloc_failed_handler'. - This can be set to a user defined function which should either - abort gracefully or use longjump - but shouldn't return. This - variable by default points to the internal function - `print_and_abort'. */ -# if defined __STDC__ && __STDC__ -static void print_and_abort (void); -void (*obstack_alloc_failed_handler) (void) =3D print_and_abort; -# else -static void print_and_abort (); -void (*obstack_alloc_failed_handler) () =3D print_and_abort; -# endif - -/* Exit value used when `print_and_abort' is used. */ -# if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H -# include -# endif -# ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -# endif -int obstack_exit_failure =3D EXIT_FAILURE; - -/* The non-GNU-C macros copy the obstack into this global variable - to avoid multiple evaluation. */ - -struct obstack *_obstack; - -/* Define a macro that either calls functions with the traditional mallo= c/free - calling interface, or calls functions with the mmalloc/mfree interfac= e - (that adds an extra first argument), based on the state of use_extra_= arg. - For free, do not use ?:, since some compilers, like the MIPS compiler= s, - do not allow (expr) ? void : void. */ - -# if defined __STDC__ && __STDC__ -# define CALL_CHUNKFUN(h, size) \ - (((h) -> use_extra_arg) \ - ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ - : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) - -# define CALL_FREEFUN(h, old_chunk) \ - do { \ - if ((h) -> use_extra_arg) \ - (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ - else \ - (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ - } while (0) -# else -# define CALL_CHUNKFUN(h, size) \ - (((h) -> use_extra_arg) \ - ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ - : (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size))) - -# define CALL_FREEFUN(h, old_chunk) \ - do { \ - if ((h) -> use_extra_arg) \ - (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ - else \ - (*(void (*) ()) (h)->freefun) ((old_chunk)); \ - } while (0) -# endif - -=0C -/* Initialize an obstack H for use. Specify chunk size SIZE (0 means de= fault). - Objects start on multiples of ALIGNMENT (0 means use default). - CHUNKFUN is the function to use to allocate chunks, - and FREEFUN the function to free them. - - Return nonzero if successful, calls obstack_alloc_failed_handler if - allocation fails. */ - -int -_obstack_begin (h, size, alignment, chunkfun, freefun) - struct obstack *h; - int size; - int alignment; -# if defined __STDC__ && __STDC__ - POINTER (*chunkfun) (long); - void (*freefun) (void *); -# else - POINTER (*chunkfun) (); - void (*freefun) (); -# endif -{ - register struct _obstack_chunk *chunk; /* points to new chunk */ - - if (alignment =3D=3D 0) - alignment =3D (int) DEFAULT_ALIGNMENT; - if (size =3D=3D 0) - /* Default size is what GNU malloc can fit in a 4096-byte block. */= - { - /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. - Use the values for range checking, because if range checking is off, - the extra bytes won't be missed terribly, but if range checking is on - and we used a larger request, a whole extra 4096 bytes would be - allocated. - - These number are irrelevant to the new GNU malloc. I suspect it is - less sensitive to the size of the request. */ - int extra =3D ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING = - 1)) - + 4 + DEFAULT_ROUNDING - 1) - & ~(DEFAULT_ROUNDING - 1)); - size =3D 4096 - extra; - } - -# if defined __STDC__ && __STDC__ - h->chunkfun =3D (struct _obstack_chunk * (*)(void *, long)) chunkfun; - h->freefun =3D (void (*) (void *, struct _obstack_chunk *)) freefun; -# else - h->chunkfun =3D (struct _obstack_chunk * (*)()) chunkfun; - h->freefun =3D freefun; -# endif - h->chunk_size =3D size; - h->alignment_mask =3D alignment - 1; - h->use_extra_arg =3D 0; - - chunk =3D h->chunk =3D CALL_CHUNKFUN (h, h -> chunk_size); - if (!chunk) - (*obstack_alloc_failed_handler) (); - h->next_free =3D h->object_base =3D chunk->contents; - h->chunk_limit =3D chunk->limit - =3D (char *) chunk + h->chunk_size; - chunk->prev =3D 0; - /* The initial chunk now contains no empty object. */ - h->maybe_empty_object =3D 0; - h->alloc_failed =3D 0; - return 1; -} - -int -_obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg) - struct obstack *h; - int size; - int alignment; -# if defined __STDC__ && __STDC__ - POINTER (*chunkfun) (POINTER, long); - void (*freefun) (POINTER, POINTER); -# else - POINTER (*chunkfun) (); - void (*freefun) (); -# endif - POINTER arg; -{ - register struct _obstack_chunk *chunk; /* points to new chunk */ - - if (alignment =3D=3D 0) - alignment =3D (int) DEFAULT_ALIGNMENT; - if (size =3D=3D 0) - /* Default size is what GNU malloc can fit in a 4096-byte block. */= - { - /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. - Use the values for range checking, because if range checking is off, - the extra bytes won't be missed terribly, but if range checking is on - and we used a larger request, a whole extra 4096 bytes would be - allocated. - - These number are irrelevant to the new GNU malloc. I suspect it is - less sensitive to the size of the request. */ - int extra =3D ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING = - 1)) - + 4 + DEFAULT_ROUNDING - 1) - & ~(DEFAULT_ROUNDING - 1)); - size =3D 4096 - extra; - } - -# if defined __STDC__ && __STDC__ - h->chunkfun =3D (struct _obstack_chunk * (*)(void *,long)) chunkfun; - h->freefun =3D (void (*) (void *, struct _obstack_chunk *)) freefun; -# else - h->chunkfun =3D (struct _obstack_chunk * (*)()) chunkfun; - h->freefun =3D freefun; -# endif - h->chunk_size =3D size; - h->alignment_mask =3D alignment - 1; - h->extra_arg =3D arg; - h->use_extra_arg =3D 1; - - chunk =3D h->chunk =3D CALL_CHUNKFUN (h, h -> chunk_size); - if (!chunk) - (*obstack_alloc_failed_handler) (); - h->next_free =3D h->object_base =3D chunk->contents; - h->chunk_limit =3D chunk->limit - =3D (char *) chunk + h->chunk_size; - chunk->prev =3D 0; - /* The initial chunk now contains no empty object. */ - h->maybe_empty_object =3D 0; - h->alloc_failed =3D 0; - return 1; -} - -/* Allocate a new current chunk for the obstack *H - on the assumption that LENGTH bytes need to be added - to the current object, or a new object of length LENGTH allocated. - Copies any partial object from the end of the old chunk - to the beginning of the new one. */ - -void -_obstack_newchunk (h, length) - struct obstack *h; - int length; -{ - register struct _obstack_chunk *old_chunk =3D h->chunk; - register struct _obstack_chunk *new_chunk; - register long new_size; - register long obj_size =3D h->next_free - h->object_base; - register long i; - long already; - char *object_base; - - /* Compute size for new chunk. */ - new_size =3D (obj_size + length) + (obj_size >> 3) + h->alignment_mask= + 100; - if (new_size < h->chunk_size) - new_size =3D h->chunk_size; - - /* Allocate and initialize the new chunk. */ - new_chunk =3D CALL_CHUNKFUN (h, new_size); - if (!new_chunk) - (*obstack_alloc_failed_handler) (); - h->chunk =3D new_chunk; - new_chunk->prev =3D old_chunk; - new_chunk->limit =3D h->chunk_limit =3D (char *) new_chunk + new_size;= - - /* Compute an aligned object_base in the new chunk */ - object_base =3D - __INT_TO_PTR ((__PTR_TO_INT (new_chunk->contents) + h->alignment_mas= k) - & ~ (h->alignment_mask)); - - /* Move the existing object to the new chunk. - Word at a time is fast and is safe if the object - is sufficiently aligned. */ - if (h->alignment_mask + 1 >=3D DEFAULT_ALIGNMENT) - { - for (i =3D obj_size / sizeof (COPYING_UNIT) - 1; - i >=3D 0; i--) - ((COPYING_UNIT *)object_base)[i] - =3D ((COPYING_UNIT *)h->object_base)[i]; - /* We used to copy the odd few remaining bytes as one extra COPYIN= G_UNIT, - but that can cross a page boundary on a machine - which does not do strict alignment for COPYING_UNITS. */ - already =3D obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNI= T); - } - else - already =3D 0; - /* Copy remaining bytes one by one. */ - for (i =3D already; i < obj_size; i++) - object_base[i] =3D h->object_base[i]; - - /* If the object just copied was the only data in OLD_CHUNK, - free that chunk and remove it from the chain. - But not if that chunk might contain an empty object. */ - if (h->object_base =3D=3D old_chunk->contents && ! h->maybe_empty_obje= ct) - { - new_chunk->prev =3D old_chunk->prev; - CALL_FREEFUN (h, old_chunk); - } - - h->object_base =3D object_base; - h->next_free =3D h->object_base + obj_size; - /* The new chunk certainly contains no empty object yet. */ - h->maybe_empty_object =3D 0; -} - -/* Return nonzero if object OBJ has been allocated from obstack H. - This is here for debugging. - If you use it in a program, you are probably losing. */ - -# if defined __STDC__ && __STDC__ -/* Suppress -Wmissing-prototypes warning. We don't want to declare this= in - obstack.h because it is just for debugging. */ -int _obstack_allocated_p (struct obstack *h, POINTER obj); -# endif - -int -_obstack_allocated_p (h, obj) - struct obstack *h; - POINTER obj; -{ - register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any= */ - - lp =3D (h)->chunk; - /* We use >=3D rather than > since the object cannot be exactly at - the beginning of the chunk but might be an empty object exactly - at the end of an adjacent chunk. */ - while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) - { - plp =3D lp->prev; - lp =3D plp; - } - return lp !=3D 0; -} -=0C -/* Free objects in obstack H, including OBJ and everything allocate - more recently than OBJ. If OBJ is zero, free everything in H. */ - -# undef obstack_free - -/* This function has two names with identical definitions. - This is the first one, called from non-ANSI code. */ - -void -_obstack_free (h, obj) - struct obstack *h; - POINTER obj; -{ - register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any= */ - - lp =3D h->chunk; - /* We use >=3D because there cannot be an object at the beginning of a= chunk. - But there can be an empty object at that address - at the end of another chunk. */ - while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) - { - plp =3D lp->prev; - CALL_FREEFUN (h, lp); - lp =3D plp; - /* If we switch chunks, we can't tell whether the new current - chunk contains an empty object, so assume that it may. */ - h->maybe_empty_object =3D 1; - } - if (lp) - { - h->object_base =3D h->next_free =3D (char *) (obj); - h->chunk_limit =3D lp->limit; - h->chunk =3D lp; - } - else if (obj !=3D 0) - /* obj is not in any of the chunks! */ - abort (); -} - -/* This function is used from ANSI code. */ - -void -obstack_free (h, obj) - struct obstack *h; - POINTER obj; -{ - register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any= */ - - lp =3D h->chunk; - /* We use >=3D because there cannot be an object at the beginning of a= chunk. - But there can be an empty object at that address - at the end of another chunk. */ - while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) - { - plp =3D lp->prev; - CALL_FREEFUN (h, lp); - lp =3D plp; - /* If we switch chunks, we can't tell whether the new current - chunk contains an empty object, so assume that it may. */ - h->maybe_empty_object =3D 1; - } - if (lp) - { - h->object_base =3D h->next_free =3D (char *) (obj); - h->chunk_limit =3D lp->limit; - h->chunk =3D lp; - } - else if (obj !=3D 0) - /* obj is not in any of the chunks! */ - abort (); -} -=0C -int -_obstack_memory_used (h) - struct obstack *h; -{ - register struct _obstack_chunk* lp; - register int nbytes =3D 0; - - for (lp =3D h->chunk; lp !=3D 0; lp =3D lp->prev) - { - nbytes +=3D lp->limit - (char *) lp; - } - return nbytes; -} -=0C -/* Define the error handler. */ -# ifdef _LIBC -# include -# else -# include "gettext.h" -# endif -# define _(msgid) gettext (msgid) - -# if defined _LIBC && defined USE_IN_LIBIO -# include -# define fputs(s, f) _IO_fputs (s, f) -# endif - -# ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -# endif - -static void -__attribute__ ((noreturn)) -print_and_abort () -{ - /* Don't change any of these strings. Yes, it would be possible to ad= d - the newline to the string and use fputs or so. But this must not - happen because the "memory exhausted" message appears in other plac= es - like this and the translation should be reused instead of creating - a very similar string which requires a separate translation. */ -# if defined _LIBC && defined USE_IN_LIBIO - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s\n", _("memory exhausted")); - else -# endif - fprintf (stderr, "%s\n", _("memory exhausted")); - exit (obstack_exit_failure); -} -=0C -# if 0 -/* These are now turned off because the applications do not use it - and it uses bcopy via obstack_grow, which causes trouble on sysV. */= - -/* Now define the functional versions of the obstack macros. - Define them to simply use the corresponding macros to do the job. */= - -# if defined __STDC__ && __STDC__ -/* These function definitions do not work with non-ANSI preprocessors; - they won't pass through the macro names in parentheses. */ - -/* The function names appear in parentheses in order to prevent - the macro-definitions of the names from being expanded there. */ - -POINTER (obstack_base) (obstack) - struct obstack *obstack; -{ - return obstack_base (obstack); -} - -POINTER (obstack_next_free) (obstack) - struct obstack *obstack; -{ - return obstack_next_free (obstack); -} - -int (obstack_object_size) (obstack) - struct obstack *obstack; -{ - return obstack_object_size (obstack); -} - -int (obstack_room) (obstack) - struct obstack *obstack; -{ - return obstack_room (obstack); -} - -int (obstack_make_room) (obstack, length) - struct obstack *obstack; - int length; -{ - return obstack_make_room (obstack, length); -} - -void (obstack_grow) (obstack, data, length) - struct obstack *obstack; - const POINTER data; - int length; -{ - obstack_grow (obstack, data, length); -} - -void (obstack_grow0) (obstack, data, length) - struct obstack *obstack; - const POINTER data; - int length; -{ - obstack_grow0 (obstack, data, length); -} - -void (obstack_1grow) (obstack, character) - struct obstack *obstack; - int character; -{ - obstack_1grow (obstack, character); -} - -void (obstack_blank) (obstack, length) - struct obstack *obstack; - int length; -{ - obstack_blank (obstack, length); -} - -void (obstack_1grow_fast) (obstack, character) - struct obstack *obstack; - int character; -{ - obstack_1grow_fast (obstack, character); -} - -void (obstack_blank_fast) (obstack, length) - struct obstack *obstack; - int length; -{ - obstack_blank_fast (obstack, length); -} - -POINTER (obstack_finish) (obstack) - struct obstack *obstack; -{ - return obstack_finish (obstack); -} - -POINTER (obstack_alloc) (obstack, length) - struct obstack *obstack; - int length; -{ - return obstack_alloc (obstack, length); -} - -POINTER (obstack_copy) (obstack, address, length) - struct obstack *obstack; - const POINTER address; - int length; -{ - return obstack_copy (obstack, address, length); -} - -POINTER (obstack_copy0) (obstack, address, length) - struct obstack *obstack; - const POINTER address; - int length; -{ - return obstack_copy0 (obstack, address, length); -} - -# endif /* __STDC__ */ - -# endif /* 0 */ - -#endif /* !ELIDE_CODE */ Index: m4/obstack_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/obstack_.h diff -N m4/obstack_.h --- m4/obstack_.h 29 Aug 2003 18:33:38 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,608 +0,0 @@ -/* obstack.h - object stack macros - Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99,2003 Free Software F= oundation, Inc. - - This file is part of the GNU C Library. Its master source is NOT par= t of - the C library, however. The master source lives in /gd/gnu/lib. - - NOTE: The canonical source of this file is maintained with the GNU C = Library. - Bugs can be reported to bug-glibc@gnu.org. - - 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 alo= ng - with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* Summary: - -All the apparent functions defined here are macros. The idea -is that you would use these pre-tested macros to solve a -very specific set of problems, and they would run fast. -Caution: no side-effects in arguments please!! They may be -evaluated MANY times!! - -These macros operate a stack of objects. Each object starts life -small, and may grow to maturity. (Consider building a word syllable -by syllable.) An object can move while it is growing. Once it has -been "finished" it never changes address again. So the "top of the -stack" is typically an immature growing object, while the rest of the -stack is of mature, fixed size and fixed address objects. - -These routines grab large chunks of memory, using a function you -supply, called `obstack_chunk_alloc'. On occasion, they free chunks, -by calling `obstack_chunk_free'. You must define them and declare -them before using any obstack macros. - -Each independent stack is represented by a `struct obstack'. -Each of the obstack macros expects a pointer to such a structure -as the first argument. - -One motivation for this package is the problem of growing char strings -in symbol tables. Unless you are "fascist pig with a read-only mind" ---Gosper's immortal quote from HAKMEM item 154, out of context--you -would not like to put any arbitrary upper limit on the length of your -symbols. - -In practice this often means you will build many short symbols and a -few long symbols. At the time you are reading a symbol you don't know -how long it is. One traditional method is to read a symbol into a -buffer, realloc()ating the buffer every time you try to read a symbol -that is longer than the buffer. This is beaut, but you still will -want to copy the symbol from the buffer to a more permanent -symbol-table entry say about half the time. - -With obstacks, you can work differently. Use one obstack for all symbol= -names. As you read a symbol, grow the name in the obstack gradually. -When the name is complete, finalize it. Then, if the symbol exists alre= ady, -free the newly read name. - -The way we do this is to take a large chunk, allocating memory from -low addresses. When you want to build a symbol in the chunk you just -add chars above the current "high water mark" in the chunk. When you -have finished adding chars, because you got to the end of the symbol, -you know how long the chars are, and you can create a new object. -Mostly the chars will not burst over the highest address of the chunk, -because you would typically expect a chunk to be (say) 100 times as -long as an average object. - -In case that isn't clear, when we have enough chars to make up -the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) -so we just point to it where it lies. No moving of chars is -needed and this is the second win: potentially long strings need -never be explicitly shuffled. Once an object is formed, it does not -change its address during its lifetime. - -When the chars burst over a chunk boundary, we allocate a larger -chunk, and then copy the partly formed object from the end of the old -chunk to the beginning of the new larger chunk. We then carry on -accreting characters to the end of the object as we normally would. - -A special macro is provided to add a single char at a time to a -growing object. This allows the use of register variables, which -break the ordinary 'growth' macro. - -Summary: - We allocate large chunks. - We carve out one object at a time from the current chunk. - Once carved, an object never moves. - We are free to append data of any size to the currently - growing object. - Exactly one object is growing in an obstack at any one time. - You can run one obstack per control block. - You may have as many control blocks as you dare. - Because of the way we do it, you can `unwind' an obstack - back to a previous state. (You may remove objects much - as you would with a stack.) -*/ - - -/* Don't do the contents of this file more than once. */ - -#ifndef _OBSTACK_H -#define _OBSTACK_H 1 - -#ifdef __cplusplus -extern "C" { -#endif -=0C -/* We use subtraction of (char *) 0 instead of casting to int - because on word-addressable machines a simple cast to int - may ignore the byte-within-word field of the pointer. */ - -#ifndef __PTR_TO_INT -# define __PTR_TO_INT(P) ((P) - (char *) 0) -#endif - -#ifndef __INT_TO_PTR -# define __INT_TO_PTR(P) ((P) + (char *) 0) -#endif - -/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is - defined, as with GNU C, use that; that way we don't pollute the - namespace with 's symbols. Otherwise, if is - available, include it and use ptrdiff_t. In traditional C, long is - the best that we can do. */ - -#ifdef __PTRDIFF_TYPE__ -# define PTR_INT_TYPE __PTRDIFF_TYPE__ -#else -# ifdef HAVE_STDDEF_H -# include -# define PTR_INT_TYPE ptrdiff_t -# else -# define PTR_INT_TYPE long -# endif -#endif - -#if defined _LIBC || defined HAVE_STRING_H -# include -# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) -#else -# ifdef memcpy -# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) -# else -# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N)) -# endif -#endif - -struct _obstack_chunk /* Lives at front of each chunk. */ -{ - char *limit; /* 1 past end of this chunk */ - struct _obstack_chunk *prev; /* address of prior chunk or NULL */ - char contents[4]; /* objects begin here */ -}; - -struct obstack /* control current object in current chunk */ -{ - long chunk_size; /* preferred size to allocate chunks in */ - struct _obstack_chunk *chunk; /* address of current struct obstack_chu= nk */ - char *object_base; /* address of object we are building */ - char *next_free; /* where to add next char to current object */ - char *chunk_limit; /* address of char after current chunk */ - PTR_INT_TYPE temp; /* Temporary for some macros. */ - int alignment_mask; /* Mask of alignment for each object. */ -#if defined __STDC__ && __STDC__ - /* These prototypes vary based on `use_extra_arg', and we use - casts to the prototypeless function type in all assignments, - but having prototypes here quiets -Wstrict-prototypes. */ - struct _obstack_chunk *(*chunkfun) (void *, long); - void (*freefun) (void *, struct _obstack_chunk *); - void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ -#else - struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chu= nk. */ - void (*freefun) (); /* User's function to free a chunk. */ - char *extra_arg; /* first arg for chunk alloc/dealloc funcs */ -#endif - unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg = */ - unsigned maybe_empty_object:1;/* There is a possibility that the curre= nt - chunk contains a zero-length object. This - prevents freeing the chunk if we allocate - a bigger chunk to replace it. */ - unsigned alloc_failed:1; /* No longer used, as we now call the failed - handler on error, but retained for binary - compatibility. */ -}; - -/* Declare the external functions we use; they are in obstack.c. */ - -#if defined __STDC__ && __STDC__ -extern void _obstack_newchunk (struct obstack *, int); -extern void _obstack_free (struct obstack *, void *); -extern int _obstack_begin (struct obstack *, int, int, - void *(*) (long), void (*) (void *)); -extern int _obstack_begin_1 (struct obstack *, int, int, - void *(*) (void *, long), - void (*) (void *, void *), void *); -extern int _obstack_memory_used (struct obstack *); -#else -extern void _obstack_newchunk (); -extern void _obstack_free (); -extern int _obstack_begin (); -extern int _obstack_begin_1 (); -extern int _obstack_memory_used (); -#endif -=0C -#if defined __STDC__ && __STDC__ - -/* Do the function-declarations after the structs - but before defining the macros. */ - -void obstack_init (struct obstack *obstack); - -void * obstack_alloc (struct obstack *obstack, int size); - -void * obstack_copy (struct obstack *obstack, const void *address, int s= ize); -void * obstack_copy0 (struct obstack *obstack, const void *address, int = size); - -void obstack_free (struct obstack *obstack, void *block); - -void obstack_blank (struct obstack *obstack, int size); - -void obstack_grow (struct obstack *obstack, const void *data, int size);= -void obstack_grow0 (struct obstack *obstack, const void *data, int size)= ; - -void obstack_1grow (struct obstack *obstack, int data_char); -void obstack_ptr_grow (struct obstack *obstack, const void *data); -void obstack_int_grow (struct obstack *obstack, int data); - -void * obstack_finish (struct obstack *obstack); - -int obstack_object_size (struct obstack *obstack); - -int obstack_room (struct obstack *obstack); -void obstack_make_room (struct obstack *obstack, int size); -void obstack_1grow_fast (struct obstack *obstack, int data_char); -void obstack_ptr_grow_fast (struct obstack *obstack, const void *data); -void obstack_int_grow_fast (struct obstack *obstack, int data); -void obstack_blank_fast (struct obstack *obstack, int size); - -void * obstack_base (struct obstack *obstack); -void * obstack_next_free (struct obstack *obstack); -int obstack_alignment_mask (struct obstack *obstack); -int obstack_chunk_size (struct obstack *obstack); -int obstack_memory_used (struct obstack *obstack); - -#endif /* __STDC__ */ - -/* Non-ANSI C cannot really support alternative functions for these macr= os, - so we do not declare them. */ - -/* Error handler called when `obstack_chunk_alloc' failed to allocate - more memory. This can be set to a user defined function which - should either abort gracefully or use longjump - but shouldn't - return. The default action is to print a message and abort. */ -#if defined __STDC__ && __STDC__ -extern void (*obstack_alloc_failed_handler) (void); -#else -extern void (*obstack_alloc_failed_handler) (); -#endif - -/* Exit value used when `print_and_abort' is used. */ -extern int obstack_exit_failure; -=0C -/* Pointer to beginning of object being allocated or to be allocated nex= t. - Note that this might not be the final address of the object - because a new chunk might be needed to hold the final size. */ - -#define obstack_base(h) ((h)->object_base) - -/* Size for allocating ordinary chunks. */ - -#define obstack_chunk_size(h) ((h)->chunk_size) - -/* Pointer to next byte not yet allocated in current chunk. */ - -#define obstack_next_free(h) ((h)->next_free) - -/* Mask specifying low bits that should be clear in address of an object= =2E */ - -#define obstack_alignment_mask(h) ((h)->alignment_mask) - -/* To prevent prototype warnings provide complete argument list in - standard C version. */ -#if defined __STDC__ && __STDC__ - -# define obstack_init(h) \ - _obstack_begin ((h), 0, 0, \ - (void *(*) (long)) obstack_chunk_alloc, \ - (void (*) (void *)) obstack_chunk_free) - -# define obstack_begin(h, size) \ - _obstack_begin ((h), (size), 0, \ - (void *(*) (long)) obstack_chunk_alloc, \ - (void (*) (void *)) obstack_chunk_free) - -# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ - _obstack_begin ((h), (size), (alignment), \ - (void *(*) (long)) (chunkfun), \ - (void (*) (void *)) (freefun)) - -# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ - _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) (void *, long)) (chunkfun), \ - (void (*) (void *, void *)) (freefun), (arg)) - -# define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun =3D (struct _obstack_chunk *(*)(void *, long)) (newch= unkfun)) - -# define obstack_freefun(h, newfreefun) \ - ((h) -> freefun =3D (void (*)(void *, struct _obstack_chunk *)) (newfr= eefun)) - -#else - -# define obstack_init(h) \ - _obstack_begin ((h), 0, 0, \ - (void *(*) ()) obstack_chunk_alloc, \ - (void (*) ()) obstack_chunk_free) - -# define obstack_begin(h, size) \ - _obstack_begin ((h), (size), 0, \ - (void *(*) ()) obstack_chunk_alloc, \ - (void (*) ()) obstack_chunk_free) - -# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ - _obstack_begin ((h), (size), (alignment), \ - (void *(*) ()) (chunkfun), \ - (void (*) ()) (freefun)) - -# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ - _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) ()) (chunkfun), \ - (void (*) ()) (freefun), (arg)) - -# define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun =3D (struct _obstack_chunk *(*)()) (newchunkfun)) - -# define obstack_freefun(h, newfreefun) \ - ((h) -> freefun =3D (void (*)()) (newfreefun)) - -#endif - -#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ =3D achar) - -#define obstack_blank_fast(h,n) ((h)->next_free +=3D (n)) - -#define obstack_memory_used(h) _obstack_memory_used (h) -=0C -#if defined __GNUC__ && defined __STDC__ && __STDC__ -/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ =3D 2 and - does not implement __extension__. But that compiler doesn't define - __GNUC_MINOR__. */ -# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) -# define __extension__ -# endif - -/* For GNU C, if not -traditional, - we can define these macros to compute all args only once - without using a global variable. - Also, we can avoid using the `temp' slot, to make faster code. */ - -# define obstack_object_size(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (unsigned) (__o->next_free - __o->object_base); }) - -# define obstack_room(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (unsigned) (__o->chunk_limit - __o->next_free); }) - -# define obstack_make_room(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->chunk_limit - __o->next_free < __len) \ - _obstack_newchunk (__o, __len); \ - (void) 0; }) - -# define obstack_empty_p(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (__o->chunk->prev =3D=3D 0 && __o->next_free - __o->chunk->contents= =3D=3D 0); }) - -# define obstack_grow(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->next_free + __len > __o->chunk_limit) \ - _obstack_newchunk (__o, __len); \ - _obstack_memcpy (__o->next_free, (where), __len); \ - __o->next_free +=3D __len; \ - (void) 0; }) - -# define obstack_grow0(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->next_free + __len + 1 > __o->chunk_limit) \ - _obstack_newchunk (__o, __len + 1); \ - _obstack_memcpy (__o->next_free, (where), __len); \ - __o->next_free +=3D __len; \ - *(__o->next_free)++ =3D 0; \ - (void) 0; }) - -# define obstack_1grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + 1 > __o->chunk_limit) \ - _obstack_newchunk (__o, 1); \ - *(__o->next_free)++ =3D (datum); \ - (void) 0; }) - -/* These assume that the obstack alignment is good enough for pointers - or ints, and that the data added so far to the current object - shares that much alignment. */ - -# define obstack_ptr_grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (void *)); \ - *((void **)__o->next_free)++ =3D (datum); \ - (void) 0; }) - -# define obstack_int_grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + sizeof (int) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (int)); \ - *((int *)__o->next_free)++ =3D (datum); \ - (void) 0; }) - -# define obstack_ptr_grow_fast(h,aptr) \ - (*((void **) (h)->next_free)++ =3D (aptr)) - -# define obstack_int_grow_fast(h,aint) \ - (*((int *) (h)->next_free)++ =3D (aint)) - -# define obstack_blank(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->chunk_limit - __o->next_free < __len) \ - _obstack_newchunk (__o, __len); \ - __o->next_free +=3D __len; \ - (void) 0; }) - -# define obstack_alloc(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_blank (__h, (length)); \ - obstack_finish (__h); }) - -# define obstack_copy(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_grow (__h, (where), (length)); \ - obstack_finish (__h); }) - -# define obstack_copy0(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_grow0 (__h, (where), (length)); \ - obstack_finish (__h); }) - -/* The local variable is named __o1 to avoid a name conflict - when obstack_blank is called. */ -# define obstack_finish(OBSTACK) \ -__extension__ \ -({ struct obstack *__o1 =3D (OBSTACK); \ - void *value; \ - value =3D (void *) __o1->object_base; \ - if (__o1->next_free =3D=3D value) \ - __o1->maybe_empty_object =3D 1; \ - __o1->next_free \ - =3D __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_m= ask)\ - & ~ (__o1->alignment_mask)); \ - if (__o1->next_free - (char *)__o1->chunk \ - > __o1->chunk_limit - (char *)__o1->chunk) \ - __o1->next_free =3D __o1->chunk_limit; \ - __o1->object_base =3D __o1->next_free; \ - value; }) - -# define obstack_free(OBSTACK, OBJ) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - void *__obj =3D (OBJ); \ - if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) = \ - __o->next_free =3D __o->object_base =3D (char *)__obj; \ - else (obstack_free) (__o, __obj); }) -=0C -#else /* not __GNUC__ or not __STDC__ */ - -# define obstack_object_size(h) \ - (unsigned) ((h)->next_free - (h)->object_base) - -# define obstack_room(h) \ - (unsigned) ((h)->chunk_limit - (h)->next_free) - -# define obstack_empty_p(h) \ - ((h)->chunk->prev =3D=3D 0 && (h)->next_free - (h)->chunk->contents =3D= =3D 0) - -/* Note that the call to _obstack_newchunk is enclosed in (..., 0) - so that we can avoid having void expressions - in the arms of the conditional expression. - Casting the third operand to void was tried before, - but some compilers won't accept it. */ - -# define obstack_make_room(h,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0)) - -# define obstack_grow(h,where,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ - _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ - (h)->next_free +=3D (h)->temp) - -# define obstack_grow0(h,where,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ - _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ - (h)->next_free +=3D (h)->temp, \ - *((h)->next_free)++ =3D 0) - -# define obstack_1grow(h,datum) \ -( (((h)->next_free + 1 > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), 1), 0) : 0), \ - (*((h)->next_free)++ =3D (datum))) - -# define obstack_ptr_grow(h,datum) \ -( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ - (*((const char **) (((h)->next_free+=3Dsizeof(char *))-sizeof(char *))= ) =3D (datum))) - -# define obstack_int_grow(h,datum) \ -( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ - (*((int *) (((h)->next_free+=3Dsizeof(int))-sizeof(int))) =3D (datum))= ) - -# define obstack_ptr_grow_fast(h,aptr) \ - (*((const char **) (h)->next_free)++ =3D (aptr)) - -# define obstack_int_grow_fast(h,aint) \ - (*((int *) (h)->next_free)++ =3D (aint)) - -# define obstack_blank(h,length) \ -( (h)->temp =3D (length), \ - (((h)->chunk_limit - (h)->next_free < (h)->temp) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ - ((h)->next_free +=3D (h)->temp)) - -# define obstack_alloc(h,length) \ - (obstack_blank ((h), (length)), obstack_finish ((h))) - -# define obstack_copy(h,where,length) \ - (obstack_grow ((h), (where), (length)), obstack_finish ((h))) - -# define obstack_copy0(h,where,length) \ - (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) - -# define obstack_finish(h) \ -( ((h)->next_free =3D=3D (h)->object_base \ - ? (((h)->maybe_empty_object =3D 1), 0) \ - : 0), \ - (h)->temp =3D __PTR_TO_INT ((h)->object_base), \ - (h)->next_free \ - =3D __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask= ) \ - & ~ ((h)->alignment_mask)), \ - (((h)->next_free - (char *) (h)->chunk \ - > (h)->chunk_limit - (char *) (h)->chunk) \ - ? ((h)->next_free =3D (h)->chunk_limit) : 0), \ - (h)->object_base =3D (h)->next_free, \ - (void *) __INT_TO_PTR ((h)->temp)) - -# if defined __STDC__ && __STDC__ -# define obstack_free(h,obj) \ -( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ - (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ - ? (int) ((h)->next_free =3D (h)->object_base \ - =3D (h)->temp + (char *) (h)->chunk) \ - : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) -# else -# define obstack_free(h,obj) \ -( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ - (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ - ? (int) ((h)->next_free =3D (h)->object_base \ - =3D (h)->temp + (char *) (h)->chunk) \ - : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0))) -# endif - -#endif /* not __GNUC__ or not __STDC__ */ - -#ifdef __cplusplus -} /* C++ */ -#endif - -#endif /* obstack.h */ Index: po/POTFILES.in =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/POTFILES.in,v retrieving revision 1.6 diff -u -p -u -r1.6 POTFILES.in --- po/POTFILES.in 22 Sep 2001 16:14:36 -0000 1.6 +++ po/POTFILES.in 4 Sep 2003 16:03:12 -0000 @@ -1,5 +1,4 @@ -src/getopt.c -m4/obstack.c +gnulib/lib/obstack.c m4/regex.c m4/xmalloc.c m4/builtin.c @@ -19,5 +18,6 @@ modules/mpeval.c modules/perl.c modules/traditional.c src/freeze.c +src/getopt.c src/main.c src/stackovf.c Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.29 diff -u -p -u -r1.29 cs.po --- po/cs.po 4 Sep 2003 14:00:51 -0000 1.29 +++ po/cs.po 4 Sep 2003 16:03:13 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -14,62 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -444,6 +389,61 @@ msgstr "=A9patn=FD form=E1t zmrazen=E9ho souboru #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' ze zmrazen=E9ho souboru nenalezeno v tabulce vestav=ECn=FDc= h maker!" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: src/getopt.c:864 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:882 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" =20 #: src/main.c:83 #, fuzzy Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.29 diff -u -p -u -r1.29 de.po --- po/de.po 4 Sep 2003 14:00:51 -0000 1.29 +++ po/de.po 4 Sep 2003 16:03:13 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -16,62 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -413,6 +358,61 @@ msgid "`%s' from frozen file not found i msgstr "" "=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebauten Funkt= ionen " "gefunden!" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: src/getopt.c:864 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:882 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" =20 #: src/main.c:83 #, fuzzy Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.29 diff -u -p -u -r1.29 el.po --- po/el.po 4 Sep 2003 14:00:51 -0000 1.29 +++ po/el.po 4 Sep 2003 16:03:13 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -14,62 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=3Diso-8859-7\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -410,6 +355,61 @@ msgstr "=CA=E1=EA=FC-=EC=EF=F1=F6=EF=F0=EF=E9=E7=EC=DD= =ED=EF =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=F4=EF `%s' =E1=F0=FC =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF= =E4=E5 =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF=ED =F0=DF=ED=E1=EA=E1 =E5=F3=F9=E4= =EF=EC=E7=EC=DD=ED=F9=ED" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: src/getopt.c:864 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:882 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" =20 #: src/main.c:83 #, fuzzy Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.29 diff -u -p -u -r1.29 fr.po --- po/fr.po 4 Sep 2003 14:00:52 -0000 1.29 +++ po/fr.po 4 Sep 2003 16:03:14 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -16,62 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=3D\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -408,6 +353,61 @@ msgstr "Fichier fig=E9 difforme" #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=AB%s=BB dans le fichier fig=E9 est introuvable dans la table de= s pr=E9d=E9finis!" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: src/getopt.c:864 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:882 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" =20 #: src/main.c:83 #, fuzzy Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.30 diff -u -p -u -r1.30 it.po --- po/it.po 4 Sep 2003 14:00:52 -0000 1.30 +++ po/it.po 4 Sep 2003 16:03:14 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -14,62 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -405,6 +350,61 @@ msgstr "Archivio congelato malformato" #: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" +msgstr "" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: src/getopt.c:864 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:882 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 #: src/main.c:83 Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.29 diff -u -p -u -r1.29 ja.po --- po/ja.po 4 Sep 2003 14:00:52 -0000 1.29 +++ po/ja.po 4 Sep 2003 16:03:14 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -14,62 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=3DEUC\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5= =F3=CC=BE=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `%c%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `%s' =A4=CF=B0=FA=BF=F4=A4=F2= =C9=AC=CD=D7=A4=C8=A4=B7=A4=DE=A4=B9=A1=A3\n" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "%s: --%s =A4=CF=C7=A7=BC=B1=A4=B5=A4=EC=A4=CA=A4=A4=A5=AA=A5=D7=A5= =B7=A5=E7=A5=F3=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "%s: %c%s =A4=CF=C7=A7=BC=B1=A4=B5=A4=EC=A4=CA=A4=A4=A5=AA=A5=D7=A5= =B7=A5=E7=A5=F3=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "%s: %c =A4=CF=C9=D4=C0=B5=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=C7=A4= =B9=A1=A3\n" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "%s: %c =A4=CF=CC=B5=B8=FA=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4= =C7=A4=B9=A1=A3\n" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "%s: %c =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=CB=A4=CF=B0=FA=BF=F4=A4= =AC=C9=AC=CD=D7=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:864 -#, fuzzy, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5= =F3=CC=BE=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:882 -#, fuzzy, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" @@ -410,6 +355,61 @@ msgstr "=C6=E2=C9=F4=A5=A8=A5=E9=A1=BC=A1=A7=C5=E0=B7= =EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE=A5=D5=A5=A9=A1=BC #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE %s =A4=CF=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=A5=C6=A1=BC=A5=D6=A5=EB=A4= =CB=A4=CF=A4=A2=A4=EA=A4=DE=A4=BB=A4=F3=A1=A3" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5= =F3=CC=BE=A4=C7=A4=B9=A1=A3\n" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `%c%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `%s' =A4=CF=B0=FA=BF=F4=A4=F2= =C9=AC=CD=D7=A4=C8=A4=B7=A4=DE=A4=B9=A1=A3\n" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: --%s =A4=CF=C7=A7=BC=B1=A4=B5=A4=EC=A4=CA=A4=A4=A5=AA=A5=D7=A5= =B7=A5=E7=A5=F3=A4=C7=A4=B9=A1=A3\n" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: %c%s =A4=CF=C7=A7=BC=B1=A4=B5=A4=EC=A4=CA=A4=A4=A5=AA=A5=D7=A5= =B7=A5=E7=A5=F3=A4=C7=A4=B9=A1=A3\n" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: %c =A4=CF=C9=D4=C0=B5=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=C7=A4= =B9=A1=A3\n" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: %c =A4=CF=CC=B5=B8=FA=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4= =C7=A4=B9=A1=A3\n" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: %c =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=CB=A4=CF=B0=FA=BF=F4=A4= =AC=C9=AC=CD=D7=A4=C7=A4=B9=A1=A3\n" + +#: src/getopt.c:864 +#, fuzzy, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5= =F3=CC=BE=A4=C7=A4=B9=A1=A3\n" + +#: src/getopt.c:882 +#, fuzzy, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" =20 #: src/main.c:83 #, fuzzy Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.29 diff -u -p -u -r1.29 nl.po --- po/nl.po 4 Sep 2003 14:00:52 -0000 1.29 +++ po/nl.po 4 Sep 2003 16:03:14 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -14,62 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=3D\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -407,6 +352,61 @@ msgstr "Slecht geformateerd gefixeerd be #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' van gefixeerd bestand niet gevonden in functie tabel!" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: src/getopt.c:864 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:882 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" =20 #: src/main.c:83 #, fuzzy Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.29 diff -u -p -u -r1.29 pl.po --- po/pl.po 4 Sep 2003 14:00:52 -0000 1.29 +++ po/pl.po 4 Sep 2003 16:03:15 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -14,62 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-2\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -407,6 +352,61 @@ msgstr "=ACle sformatowy plik zamro=BFony" #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' z pliku zamro=BFonego nie znalezione w tablicy wbudowanych!= " + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: src/getopt.c:864 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:882 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" =20 #: src/main.c:83 #, fuzzy Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.29 diff -u -p -u -r1.29 ru.po --- po/ru.po 4 Sep 2003 14:00:52 -0000 1.29 +++ po/ru.po 4 Sep 2003 16:03:15 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -14,62 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=3Dkoi8-r\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE=C1=DE=CE=C1\n"= - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "%s: =D5 =CF=D0=C3=C9=C9 `%c%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "%s: =D5 =CF=D0=C3=C9=C9 `%s' =C4=CF=CC=D6=C5=CE =C2=D9=D4=D8 =C1= =D2=C7=D5=CD=C5=CE=D4\n" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "%s: =CE=C5=C9=DA=D7=C5=D3=D4=CE=C1=D1 =CF=D0=C3=C9=D1 `--%s'\n" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "%s: =CE=C5=C9=DA=D7=C5=D3=D4=CE=C1=D1 =CF=D0=C3=C9=D1 '%c%s'\n" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "%s: =DA=C1=D0=D2=C5=DD=C5=CE=CE=C1=D1 =CF=D0=C3=C9=D1 -- %c\n" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "%s: =CE=C5=D7=C5=D2=CE=C1=D1 =CF=D0=C3=C9=D1 -- %c\n" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "%s: =CF=D0=C3=C9=C9 =CE=C5=CF=C2=C8=CF=C4=C9=CD =C1=D2=C7=D5=CD=C5= =CE=D4 -- %c\n" - -#: src/getopt.c:864 -#, fuzzy, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE=C1=DE=CE=C1\n"= - -#: src/getopt.c:882 -#, fuzzy, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" @@ -408,6 +353,61 @@ msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CF=D2=CD=C1=D4 = =C6=C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "'%s' =C9=DA =C6=C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9= =CE=C5 =CE=C1=CA=C4=C5=CE=C1 =D7=CF =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA =D4=C1= =C2=CC=C9=C3=C5!" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE=C1=DE=CE=C1\n"= + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: =D5 =CF=D0=C3=C9=C9 `%c%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: =D5 =CF=D0=C3=C9=C9 `%s' =C4=CF=CC=D6=C5=CE =C2=D9=D4=D8 =C1= =D2=C7=D5=CD=C5=CE=D4\n" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: =CE=C5=C9=DA=D7=C5=D3=D4=CE=C1=D1 =CF=D0=C3=C9=D1 `--%s'\n" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: =CE=C5=C9=DA=D7=C5=D3=D4=CE=C1=D1 =CF=D0=C3=C9=D1 '%c%s'\n" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: =DA=C1=D0=D2=C5=DD=C5=CE=CE=C1=D1 =CF=D0=C3=C9=D1 -- %c\n" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: =CE=C5=D7=C5=D2=CE=C1=D1 =CF=D0=C3=C9=D1 -- %c\n" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: =CF=D0=C3=C9=C9 =CE=C5=CF=C2=C8=CF=C4=C9=CD =C1=D2=C7=D5=CD=C5= =CE=D4 -- %c\n" + +#: src/getopt.c:864 +#, fuzzy, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE=C1=DE=CE=C1\n"= + +#: src/getopt.c:882 +#, fuzzy, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" =20 #: src/main.c:83 #, fuzzy Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.30 diff -u -p -u -r1.30 sv.po --- po/sv.po 4 Sep 2003 14:00:52 -0000 1.30 +++ po/sv.po 4 Sep 2003 16:03:15 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-02 17:24+0100\n" +"POT-Creation-Date: 2003-09-04 16:21+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -15,62 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" - -#: m4/obstack.c:487 m4/obstack.c:490 +#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 msgid "memory exhausted" msgstr "" =20 @@ -407,6 +352,61 @@ msgstr "Korrupt fryst fil" #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "\"%s\" fr=E5n fryst fil hittades inte i tabellen f=F6r inbyggda = makron!" + +#: src/getopt.c:677 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:702 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:707 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: src/getopt.c:725 src/getopt.c:898 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: src/getopt.c:754 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: src/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: src/getopt.c:784 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: src/getopt.c:787 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: src/getopt.c:817 src/getopt.c:947 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: src/getopt.c:864 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: src/getopt.c:882 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" =20 #: src/main.c:83 #, fuzzy --------------020002050901090102050007-- From MAILER-DAEMON Fri Sep 05 04:01:35 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19vBWP-000738-SJ for mharc-m4-patches@gnu.org; Fri, 05 Sep 2003 04:00:45 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19vBVi-0006cj-ET for m4-patches@gnu.org; Fri, 05 Sep 2003 04:00:02 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19vBTq-0005UJ-AZ for m4-patches@gnu.org; Fri, 05 Sep 2003 03:58:06 -0400 Received: from [163.5.255.10] (helo=epita.fr) by monty-python.gnu.org with esmtp (Exim 4.22) id 19vBOM-0003kX-1b; Fri, 05 Sep 2003 03:52:26 -0400 Received: from kualalumpur.lrde.epita.fr (mail@kualalumpur.lrde.epita.fr [10.223.13.1]) by epita.fr id h857qEm17272 Fri, 5 Sep 2003 09:52:14 +0200 (CEST) Received: from nostromo.lrde.epita.fr ([10.223.13.52] ident=mail) by kualalumpur.lrde.epita.fr with esmtp (Exim 3.35 #1 (Debian)) id 19vBOH-0004MX-00; Fri, 05 Sep 2003 09:52:21 +0200 Received: from akim by nostromo.lrde.epita.fr with local (Exim 3.36 #1 (Debian)) id 19vBOG-0007d3-00; Fri, 05 Sep 2003 09:52:20 +0200 To: "Gary V. Vaughan" References: <3F572500.308@gnu.org> From: Akim Demaille Date: Fri, 05 Sep 2003 09:52:20 +0200 In-Reply-To: <3F572500.308@gnu.org> (Gary V. Vaughan's message of "Thu, 04 Sep 2003 12:41:52 +0100") Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Akim Demaille Cc: m4-patches@gnu.org Subject: Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Sep 2003 08:00:44 -0000 > Index: ChangeLog > from Gary V. Vaughan > * bootstrap: CVS autoreconf leaves file droppings. Remove > aclocal.m4t incase autoreconf doesn't. > Index: bootstrap > =================================================================== > RCS file: /cvsroot/m4/m4/bootstrap,v > retrieving revision 1.17 > diff -u -p -u -r1.17 bootstrap > --- bootstrap 4 Nov 2002 16:31:04 -0000 1.17 > +++ bootstrap 4 Sep 2003 11:34:12 -0000 > @@ -10,4 +10,6 @@ autoreconf -fvi > ${AWK-awk} -f ./generate.awk ../doc/m4.texinfo > generated.at > ) > +rm -f ./aclocal.m4t > + > exit 0 Err, this would be an actual problem elsewhere. Could you trace the origin of this file? From MAILER-DAEMON Fri Sep 05 04:11:52 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19vBgo-0006c8-AE for mharc-m4-patches@gnu.org; Fri, 05 Sep 2003 04:11:30 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19vBfu-0005Yc-P2 for m4-patches@gnu.org; Fri, 05 Sep 2003 04:10:34 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19vBfe-0005LO-2Y for m4-patches@gnu.org; Fri, 05 Sep 2003 04:10:19 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.22) id 19vBf8-0004n6-Oj; Fri, 05 Sep 2003 04:09:51 -0400 Received: from [163.5.255.10] (helo=epita.fr) by mx20.gnu.org with esmtp (Exim 4.22) id 19vBQn-0006xD-16; Fri, 05 Sep 2003 03:54:57 -0400 Received: from kualalumpur.lrde.epita.fr (kualalumpur.lrde.epita.fr [10.223.13.1]) by epita.fr id h857sam17666 Fri, 5 Sep 2003 09:54:36 +0200 (CEST) Received: from nostromo.lrde.epita.fr ([10.223.13.52] ident=mail) by kualalumpur.lrde.epita.fr with esmtp (Exim 3.35 #1 (Debian)) id 19vBQU-0004Nb-00; Fri, 05 Sep 2003 09:54:38 +0200 Received: from akim by nostromo.lrde.epita.fr with local (Exim 3.36 #1 (Debian)) id 19vBQU-0007iX-00; Fri, 05 Sep 2003 09:54:38 +0200 To: "Gary V. Vaughan" References: <3F573A85.2000801@gnu.org> From: Akim Demaille Date: Fri, 05 Sep 2003 09:54:37 +0200 In-Reply-To: <3F573A85.2000801@gnu.org> (Gary V. Vaughan's message of "Thu, 04 Sep 2003 14:13:41 +0100") Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Akim Demaille Cc: m4-patches@gnu.org Subject: Re: FYI: 51-gary-vpath-build-fixes.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Sep 2003 08:11:28 -0000 > Index: ChangeLog > from Gary V. Vaughan > * config/Makefile.am (MAINTAINERCLEANFILES, ACLOCAL_MACROS) > (STANDARD_TOOLS, SPECIFIC_MACROS): Needed `$(srcdir)/' for VPATH > builds to work. > (SPECIFIC_TOOLS): New variable. Moved mkstamp to here. > (EXTRA_DIST): Use it. > Index: config/Makefile.am > =================================================================== > RCS file: /cvsroot/m4/m4/config/Makefile.am,v > retrieving revision 1.13 > diff -u -p -u -r1.13 Makefile.am > --- config/Makefile.am 4 Nov 2002 17:39:32 -0000 1.13 > +++ config/Makefile.am 4 Sep 2003 13:07:35 -0000 > @@ -20,44 +20,54 @@ > ## Written by Akim Demaille > MAINTAINERCLEANFILES = \ > -Makefile.in \ > -ltmain.sh \ > -texinfo.tex \ > +$(srcdir)/Makefile.in \ > +$(srcdir)/ltmain.sh \ > +$(srcdir)/texinfo.tex \ > $(ACLOCAL_MACROS) \ > $(STANDARD_TOOLS) > ACLOCAL_MACROS = \ > -dmalloc.m4 \ > -gettext.m4 \ > -iconv.m4 \ > -lib-ld.m4 \ > -lib-link.m4 \ > -lib-prefix.m4 \ > -libtool.m4 \ > -ltdl.m4 \ > -options.m4 \ > -progtest.m4 \ > -protos.m4 \ > -regex.m4 > +$(srcdir)/codeset.m4 \ > +$(srcdir)/gettext.m4 \ > +$(srcdir)/glibc21.m4 \ > +$(srcdir)/iconv.m4 \ > +$(srcdir)/intdiv0.m4 \ > +$(srcdir)/inttypes-pri.m4 \ > +$(srcdir)/inttypes.m4 \ > +$(srcdir)/inttypes_h.m4 \ > +$(srcdir)/iscposix.m4 \ > +$(srcdir)/lcmessage.m4 \ > +$(srcdir)/lib-ld.m4 \ > +$(srcdir)/lib-link.m4 \ > +$(srcdir)/lib-prefix.m4 \ > +$(srcdir)/progtest.m4 \ > +$(srcdir)/stdint_h.m4 \ > +$(srcdir)/uintmax_t.m4 \ > +$(srcdir)/ulonglong.m4 > STANDARD_TOOLS = \ > -compile \ > -config.guess \ > -config.sub \ > -depcomp \ > -install-sh \ > -mdate-sh \ > -missing \ > -mkinstalldirs > +$(srcdir)/compile \ > +$(srcdir)/config.guess \ > +$(srcdir)/config.rpath \ > +$(srcdir)/config.sub \ > +$(srcdir)/depcomp \ > +$(srcdir)/install-sh \ > +$(srcdir)/mdate-sh \ > +$(srcdir)/missing \ > +$(srcdir)/mkinstalldirs > SPECIFIC_MACROS = \ > -debug.m4 \ > -error.m4 \ > -gmp.m4 \ > -gnu-obstack.m4 \ > -stackovf.m4 > +$(srcdir)/debug.m4 \ > +$(srcdir)/error.m4 \ > +$(srcdir)/gmp.m4 \ > +$(srcdir)/gnu-obstack.m4 \ > +$(srcdir)/regex.m4 \ > +$(srcdir)/stackovf.m4 > + > +SPECIFIC_TOOLS = \ > +$(srcdir)/mkstamp > spy: > @echo $($(SPIED)) > -EXTRA_DIST = mkstamp $(SPECIFIC_MACROS) $(ACLOCAL_MACROS) > +EXTRA_DIST = $(ACLOCAL_MACROS) $(SPECIFIC_MACROS) $(SPECIFIC_TOOLS) I don't understand the point of this patch. What was the problem? It is exceptional in Automake to have to specify $(srcdir). Just imagine you'd have to do that for sources etc. So there must have been something else happen here. AFAICT, this patch should be useless (and reverted). From MAILER-DAEMON Fri Sep 05 07:40:58 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19vEvX-00066W-MO for mharc-m4-patches@gnu.org; Fri, 05 Sep 2003 07:38:55 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19vEvB-0005yB-IV for m4-patches@gnu.org; Fri, 05 Sep 2003 07:38:33 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19vEus-0005rf-Mf for m4-patches@gnu.org; Fri, 05 Sep 2003 07:38:15 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19vEt9-0005DW-HH for m4-patches@gnu.org; Fri, 05 Sep 2003 07:36:27 -0400 Received: (qmail 6176 invoked from network); 5 Sep 2003 12:03:03 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 5 Sep 2003 12:03:03 -0000 Received: (qmail 18697 invoked from network); 5 Sep 2003 11:39:52 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 5 Sep 2003 11:39:52 -0000 Message-ID: <3F58760F.6090704@gnu.org> Date: Fri, 05 Sep 2003 12:39:59 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Akim Demaille References: <3F573A85.2000801@gnu.org> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: m4-patches@gnu.org Subject: Reverting 51-gary-vpath-build-fixes.patch [WAS Re: FYI: 51-gary-vpath-build-fixes.patch] X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Sep 2003 11:38:53 -0000 Akim Demaille wrote: > > Index: ChangeLog > > from Gary V. Vaughan > > * config/Makefile.am (MAINTAINERCLEANFILES, ACLOCAL_MACROS) > > (STANDARD_TOOLS, SPECIFIC_MACROS): Needed `$(srcdir)/' for VPATH > > builds to work. > > (SPECIFIC_TOOLS): New variable. Moved mkstamp to here. > > (EXTRA_DIST): Use it. > > I don't understand the point of this patch. What was the problem? It > is exceptional in Automake to have to specify $(srcdir). Just imagine > you'd have to do that for sources etc. I made a whole bunch of changes, some to get `make distcheck' to work, and then broke those changes down into patches after I got it working. It must have been something else I did that got it to pass in the end. > So there must have been something else happen here. AFAICT, this > patch should be useless (and reverted). Quite right. I am a dufus =)O| Just reverted. Cheers, Gary. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ From MAILER-DAEMON Fri Sep 05 07:47:30 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19vF2a-0008CT-6n for mharc-m4-patches@gnu.org; Fri, 05 Sep 2003 07:46:12 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19vEx0-0006cq-18 for m4-patches@gnu.org; Fri, 05 Sep 2003 07:40:26 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19vEvL-00061s-Fa for m4-patches@gnu.org; Fri, 05 Sep 2003 07:38:49 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19vEt9-0005D7-Ay for m4-patches@gnu.org; Fri, 05 Sep 2003 07:36:27 -0400 Received: (qmail 18676 invoked from network); 5 Sep 2003 11:36:22 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 5 Sep 2003 11:36:22 -0000 Received: (qmail 1810 invoked from network); 5 Sep 2003 11:13:11 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 5 Sep 2003 11:13:11 -0000 Message-ID: <3F586FCE.6050507@gnu.org> Date: Fri, 05 Sep 2003 12:13:18 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Akim Demaille References: <3F572500.308@gnu.org> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: m4-patches@gnu.org Subject: Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Sep 2003 11:45:57 -0000 Salut Akim! Akim Demaille wrote: > > Index: ChangeLog > > from Gary V. Vaughan > > > * bootstrap: CVS autoreconf leaves file droppings. Remove > > aclocal.m4t incase autoreconf doesn't. > > > Index: bootstrap > > =================================================================== > > RCS file: /cvsroot/m4/m4/bootstrap,v > > retrieving revision 1.17 > > diff -u -p -u -r1.17 bootstrap > > --- bootstrap 4 Nov 2002 16:31:04 -0000 1.17 > > +++ bootstrap 4 Sep 2003 11:34:12 -0000 > > @@ -10,4 +10,6 @@ autoreconf -fvi > > ${AWK-awk} -f ./generate.awk ../doc/m4.texinfo > generated.at > > ) > > > +rm -f ./aclocal.m4t > > + > > exit 0 > > Err, this would be an actual problem elsewhere. Could you trace the > origin of this file? Indeed. I hoped the ChangeLog would be enough to alert you. I see this when I bootstrap and aclocal.m4 doesn't change: ] ./bootstrap + autoreconf -fvi autoreconf: Entering directory `.' autoreconf: running: autopoint --force Copying file config/mkinstalldirs autoreconf: running: aclocal -I config -I gnulib/m4 --output=aclocal.m4t autoreconf: `aclocal.m4' is unchanged autoreconf: configure.ac: tracing autoreconf: running: libtoolize --copy --force You should update your `aclocal.m4' by running aclocal. Putting files in AC_CONFIG_AUX_DIR, `config'. autoreconf: running: /usr/local/bin/autoconf --force autoreconf: running: /usr/local/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing autoreconf: Leaving directory `.' + cd tests + awk -f ./generate.awk ../doc/m4.texinfo + rm -f ./aclocal.m4t + exit 0 As best as I can tell, autoreconf calls aclocal to generate aclocal.m4t, and then at line 252 calls update_file, which in turn doesn't delete aclocal.m4t if it decides the update is not needed. I can't find the definition of update_file to check (I didn't look very hard) why that happens... HTH, Gary. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ From MAILER-DAEMON Fri Sep 05 08:24:09 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19vFd2-0005zi-GK for mharc-m4-patches@gnu.org; Fri, 05 Sep 2003 08:23:52 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19vFck-0005Oe-0d for m4-patches@gnu.org; Fri, 05 Sep 2003 08:23:34 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19vFbz-0004TE-Eb for m4-patches@gnu.org; Fri, 05 Sep 2003 08:22:57 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19vFaz-0003RK-Hd for m4-patches@gnu.org; Fri, 05 Sep 2003 08:21:46 -0400 Received: (qmail 11467 invoked from network); 5 Sep 2003 11:48:20 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 5 Sep 2003 11:48:20 -0000 Received: (qmail 11711 invoked from network); 5 Sep 2003 11:25:09 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 5 Sep 2003 11:25:09 -0000 Message-ID: <3F58729D.8090406@gnu.org> Date: Fri, 05 Sep 2003 12:25:17 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: autoconf-patches@gnu.org References: <3F572500.308@gnu.org> <3F586FCE.6050507@gnu.org> In-Reply-To: <3F586FCE.6050507@gnu.org> Content-Type: multipart/mixed; boundary="------------090008000009000907010503" Cc: m4-patches@gnu.org, Akim Demaille Subject: Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Sep 2003 12:23:50 -0000 This is a multi-part message in MIME format. --------------090008000009000907010503 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit I wrote: > > As best as I can tell, autoreconf calls aclocal to generate aclocal.m4t, > and then at line 252 calls update_file, which in turn doesn't delete > aclocal.m4t if it decides the update is not needed. I can't find the > definition of update_file to check (I didn't look very hard) why that > happens... Looked a bit harder... this patch works for me. Okay to commit? Cheers, Gary. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------090008000009000907010503 Content-Type: text/plain; name="1-gary-fix-file-droppings-in-update-file.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="1-gary-fix-file-droppings-in-update-file.patch" Index: ChangeLog from Gary V. Vaughan * lib/Autom4te/FileUtils.pm (update_file): Remove the source before returning if there was no difference between source and destination. Index: lib/Autom4te/FileUtils.pm =================================================================== RCS file: /cvsroot/autoconf/autoconf/lib/Autom4te/FileUtils.pm,v retrieving revision 1.3 diff -u -p -u -r1.3 FileUtils.pm --- lib/Autom4te/FileUtils.pm 21 Aug 2003 16:15:40 -0000 1.3 +++ lib/Autom4te/FileUtils.pm 5 Sep 2003 11:16:01 -0000 @@ -153,6 +153,7 @@ sub update_file ($$) { # File didn't change, so don't update its mod time. msg 'note', "`$to' is unchanged"; + unlink ($from) || fatal "cannot not remove $from: $!"; return } --------------090008000009000907010503-- From MAILER-DAEMON Fri Sep 05 09:54:07 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19vH1j-0000Al-FV for mharc-m4-patches@gnu.org; Fri, 05 Sep 2003 09:53:27 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19vH19-00086s-0C for m4-patches@gnu.org; Fri, 05 Sep 2003 09:52:51 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19vH0v-0007wj-U0 for m4-patches@gnu.org; Fri, 05 Sep 2003 09:52:40 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.22) id 19vH0K-0007Zu-CY; Fri, 05 Sep 2003 09:52:00 -0400 Received: from [163.5.255.10] (helo=epita.fr) by mx20.gnu.org with esmtp (Exim 4.22) id 19vGMR-0006hF-0v; Fri, 05 Sep 2003 09:10:47 -0400 Received: from kualalumpur.lrde.epita.fr (kualalumpur.lrde.epita.fr [10.223.13.1]) by epita.fr id h85DAPm25681 Fri, 5 Sep 2003 15:10:25 +0200 (CEST) Received: from nostromo.lrde.epita.fr ([10.223.13.52] ident=mail) by kualalumpur.lrde.epita.fr with esmtp (Exim 3.35 #1 (Debian)) id 19vGMB-0002zW-00; Fri, 05 Sep 2003 15:10:31 +0200 Received: from akim by nostromo.lrde.epita.fr with local (Exim 3.36 #1 (Debian)) id 19vGMB-00083J-00; Fri, 05 Sep 2003 15:10:31 +0200 To: "Gary V. Vaughan" References: <3F572500.308@gnu.org> <3F586FCE.6050507@gnu.org> <3F58729D.8090406@gnu.org> From: Akim Demaille Date: Fri, 05 Sep 2003 15:10:31 +0200 In-Reply-To: <3F58729D.8090406@gnu.org> (Gary V. Vaughan's message of "Fri, 05 Sep 2003 12:25:17 +0100") Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Akim Demaille Cc: m4-patches@gnu.org, autoconf-patches@gnu.org, Automake Patches Subject: Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Sep 2003 13:53:25 -0000 | I wrote: | > | > As best as I can tell, autoreconf calls aclocal to generate | > aclocal.m4t, and then at line 252 calls update_file, which in turn | > doesn't delete aclocal.m4t if it decides the update is not needed. | > I can't find the definition of update_file to check (I didn't look | > very hard) why that happens... | | Looked a bit harder... this patch works for me. Okay to commit? | | Cheers, | Gary. | -- | ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) | ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ | / )= GNU Hacker http://www.gnu.org/software/libtool \' `& | `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ | Index: ChangeLog | from Gary V. Vaughan | | * lib/Autom4te/FileUtils.pm (update_file): Remove the source before | returning if there was no difference between source and destination. | | Index: lib/Autom4te/FileUtils.pm | =================================================================== | RCS file: /cvsroot/autoconf/autoconf/lib/Autom4te/FileUtils.pm,v | retrieving revision 1.3 | diff -u -p -u -r1.3 FileUtils.pm | --- lib/Autom4te/FileUtils.pm 21 Aug 2003 16:15:40 -0000 1.3 | +++ lib/Autom4te/FileUtils.pm 5 Sep 2003 11:16:01 -0000 | @@ -153,6 +153,7 @@ sub update_file ($$) | { | # File didn't change, so don't update its mod time. | msg 'note', "`$to' is unchanged"; | + unlink ($from) || fatal "cannot not remove $from: $!"; | return | } Nope, actually the problem is elsewhere: somewhere between Autoconf and Automake, FileUtils::update_file lost this part: if (-f "$to" && compare ("$from", "$to") == 0) { # File didn't change, so don't update its mod time. verbose "`$to' is unchanged"; unlink ($from) or error "cannot not remove $from: $!"; return } in this part if (-f "$to" && compare ("$from", "$to") == 0) { # File didn't change, so don't update its mod time. msg 'note', "`$to' is unchanged"; return } so the proper fix would be in Automake::lib/Automake/FileUtils.pm, which is the automated source of Autoconf's. From MAILER-DAEMON Fri Sep 05 14:53:54 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19vLhr-0000oj-Ix for mharc-m4-patches@gnu.org; Fri, 05 Sep 2003 14:53:15 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19vLgV-0000OT-IT for m4-patches@gnu.org; Fri, 05 Sep 2003 14:51:51 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19vLeK-00080A-9N for m4-patches@gnu.org; Fri, 05 Sep 2003 14:50:39 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19vLWf-00062u-QP for m4-patches@gnu.org; Fri, 05 Sep 2003 14:41:41 -0400 Received: (qmail 19022 invoked from network); 5 Sep 2003 19:01:36 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 5 Sep 2003 19:01:36 -0000 Received: (qmail 9142 invoked from network); 5 Sep 2003 18:38:25 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 5 Sep 2003 18:38:25 -0000 Message-ID: <3F58D828.4050100@gnu.org> Date: Fri, 05 Sep 2003 19:38:32 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: m4-patches@gnu.org Content-Type: multipart/mixed; boundary="------------050408020508070806080704" Subject: FYI: 54-gary-gnulib-convenience-library.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Sep 2003 18:53:07 -0000 This is a multi-part message in MIME format. --------------050408020508070806080704 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------050408020508070806080704 Content-Type: text/plain; name="54-gary-gnulib-convenience-library.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="54-gary-gnulib-convenience-library.patch" Index: ChangeLog from Gary V. Vaughan We can't mirror the gnulib directory structure here, since we need to be able to eg. `#include ' from our source files, which is much easier if the local obstack.h is created in a directory named m4. Rather than trying to symlink everything into the m4 directory, now we build a libtool convenience library from the sources we get from gnulib and link that with libm4.la: * gnulib/config/extensions.m4: Imported from CVS gnulib. * gnulib/config/unlocked-io.m4: Ditto. * gnulib/m4/unlocked-io.h: Ditto. * gnulib/m4/obstack.m4, gnulib/m4/onceonly_2_57.m4, gnulib/m4/stdbool.m4: All moved to gnulib/config directory. * gnulib/lib/obstack.c, gnulib/lib/obstack_.h, gnulib/lib/stdbool_.h: All moved to gnulib/m4 directory. * m4/strtol.c, m4/xmalloc.c, m4/xstrdup.c, m4/xstrzdup.c: Ditto. * m4/Makefile.am: Adjust. * gnulib/Makefile.am (EXTRA_DIST): Name just the additional gnulib macros we redistribute. * gnulib/m4/Makefile.am: New file. Build libgnu.la convenience library among others. (GNULIB_SRCS, GNULIB_MACROS): Removed. * Makefile.am (ACLOCAL_AMFLAGS): Adjust. * config/m4-obstack.m4: Adjust. * po/POTFILES.in: Adjust. * configure.ac: Reformatting. Call newly imported gnulib macros. * m4/builtin.c, m4/macro.c, m4/module.c, m4/utility.c: Removed bogus calls of `#include "m4.h"'. * Makefile.am: INCLUDES has been deprecated in favour of AM_CPPFLAGS. * m4/Makefile.am: Ditto. * modules/Makefile.am: Ditto. * src/Makefile.am: Ditto. 2003-09-05 Gary V. Vaughan Index: Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/Makefile.am,v retrieving revision 1.12 diff -u -p -u -r1.12 Makefile.am --- Makefile.am 4 Sep 2003 14:00:51 -0000 1.12 +++ Makefile.am 5 Sep 2003 18:29:56 -0000 @@ -24,7 +24,7 @@ EXTRA_DIST =3D bootstrap auxdir =3D $(top_srcdir)/$(ac_aux_dir) =20 ## There is currently no means with Automake not to run aclocal. -ACLOCAL_AMFLAGS =3D -I config -I gnulib/m4 +ACLOCAL_AMFLAGS =3D -I config -I gnulib/config =20 SUBDIRS =3D po gnulib config m4 modules src tests examples doc . MAINTAINERCLEANFILES =3D ABOUT-NLS COPYING INSTALL Makefile.in aclocal.m= 4 \ Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.14 diff -u -p -u -r1.14 configure.ac --- configure.ac 4 Sep 2003 14:00:51 -0000 1.14 +++ configure.ac 5 Sep 2003 18:29:57 -0000 @@ -97,6 +97,7 @@ AM_INIT_AUTOMAKE([1.7.1 dist-bzip2]) ## C compiler checks. ## ## ------------------ ## AC_PROG_CC +jm_FUNC_GLIBC_UNLOCKED_IO AC_ISC_POSIX AM_PROG_CC_STDC AC_PROG_CPP @@ -137,7 +138,6 @@ AC_CONFIG_FILES(po/Makefile.in) =20 =20 =20 - ## ------------------------ ## ## Other external programs. ## ## ------------------------ ## @@ -148,6 +148,16 @@ AC_PROG_AWK =20 =20 =20 +## --------------------------- ## +## C compiler characteristics. ## +## --------------------------- ## +AM_C_PROTOTYPES +AC_C_CONST +AC_TYPE_SIZE_T +AC_CHECK_SIZEOF([long long int]) + + + ## ------------------------- ## ## C headers required by M4. ## ## ------------------------- ## @@ -163,15 +173,6 @@ fi AC_SUBST([INCLUDE_STDBOOL_H]) =20 =20 -## --------------------------- ## -## C compiler characteristics. ## -## --------------------------- ## -AM_C_PROTOTYPES -AC_C_CONST -AC_TYPE_SIZE_T -AC_CHECK_SIZEOF([long long int]) - - =20 ## --------------------------------- ## ## Library functions required by M4. ## @@ -217,6 +218,7 @@ AC_CONFIG_FILES([Makefile doc/Makefile examples/Makefile gnulib/Makefile + gnulib/m4/Makefile m4/Makefile m4/system.h:m4/system_.h modules/Makefile @@ -224,4 +226,5 @@ AC_CONFIG_FILES([Makefile tests/Makefile tests/atlocal ]) + AC_OUTPUT Index: config/m4-obstack.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/config/m4-obstack.m4,v retrieving revision 1.1 diff -u -p -u -r1.1 m4-obstack.m4 --- config/m4-obstack.m4 4 Sep 2003 16:04:09 -0000 1.1 +++ config/m4-obstack.m4 5 Sep 2003 18:29:57 -0000 @@ -29,8 +29,6 @@ AC_DEFUN([M4_AC_FUNC_OBSTACK], [AC_PREREQ(2.56)dnl We use the new compiler based header checking in 2.5= 6 AC_REQUIRE([gl_OBSTACK]) m4_pattern_allow([^m4_cv_func_obstack$])dnl -m4_pattern_allow([^m4_obstack_c$])dnl -m4_pattern_allow([^m4_obstack_h$])dnl =20 AC_CHECK_HEADERS(obstack.h, [], [], [AC_INCLUDES_DEFAULT]) =20 @@ -49,10 +47,6 @@ else fi =20 OBSTACK_H=3D -OBSTACK_C=3D -m4_obstack_h=3Dm4/obstack.h -m4_obstack_c=3Dm4/obstack.c -rm -f $m4_obstack_c $m4_obstack_h if test $m4_cv_func_obstack =3D yes; then =20 # The system provides obstack.h, `#include ' will work @@ -68,17 +62,12 @@ else # it to m4/obstack.h at Make time (to substitute the missing system # supplied version). Hence, `#include ' will work. INCLUDE_OBSTACK_H=3D'#include ' - - if test x"$ac_cv_header_obstack_h" !=3D xyes; then - OBSTACK_H=3Dobstack.h - OBSTACK_C=3Dobstack.c - fi + OBSTACK_H=3Dobstack.h =20 # In the absence of a system implementation, we must compile our own: AC_LIBOBJ(obstack) =20 fi AC_SUBST(OBSTACK_H) -AC_SUBST(OBSTACK_C) AC_SUBST(INCLUDE_OBSTACK_H) ])# M4_AC_FUNC_OBSTACK Index: gnulib/.cvsignore =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/.cvsignore diff -N gnulib/.cvsignore --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/.cvsignore 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,8 @@ +*.o +*.lo +*.la +obstack.h pathconf.h system.h +.deps +.libs +Makefile +Makefile.in Index: gnulib/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/Makefile.am,v retrieving revision 1.2 diff -u -p -u -r1.2 Makefile.am --- gnulib/Makefile.am 4 Sep 2003 16:04:09 -0000 1.2 +++ gnulib/Makefile.am 5 Sep 2003 18:29:57 -0000 @@ -1,6 +1,5 @@ -## Makefile.am -- Process this file with automake to produce Makefile.in= -## -## Copyright (C) 2003 Free Software Foundation +## This file is part of GNU m4 +## Copyright (C) 2003 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 @@ -19,17 +18,11 @@ ## ## Written by Gary V. Vaughan =20 -gnulib_macrodir =3D $(srcdir)/m4 -gnulib_srcdir =3D $(srcdir)/lib - -GNULIB_SRCS =3D \ -$(gnulib_srcdir)/obstack.c \ -$(gnulib_srcdir)/obstack.h \ -$(gnulib_srcdir)/stdbool_.h - -GNULIB_MACROS =3D \ -$(gnulib_macrodir)/obstack.m4 \ -$(gnulib_macrodir)/onceonly_2_57.m4 \ -$(gnulib_macrodir)/stdbool.m4 +SUBDIRS =3D m4 =20 -EXTRA_DIST =3D $(GNULIB_SRCS) $(GNULIB_MACROS) \ No newline at end of file +EXTRA_DIST =3D \ +config/extensions.m4 \ +config/obstack.m4 \ +config/onceonly_2_57.m4 \ +config/stdbool.m4 \ +config/unlocked-io.m4 Index: gnulib/config/extensions.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/extensions.m4 diff -N gnulib/config/extensions.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/extensions.m4 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,15 @@ +# gl_USE_SYSTEM_EXTENSIONS +# ------------------------ +# Enable extensions on systems that normally disable them, +# typically due to standards-conformance issues. +AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], [ + AC_REQUIRE([AC_GNU_SOURCE]) + AH_VERBATIM([__EXTENSIONS__], +[/* Enable extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif]) + AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl + AC_BEFORE([$0], [AC_RUN_IFELSE])dnl + AC_DEFINE([__EXTENSIONS__]) +]) Index: gnulib/config/obstack.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/obstack.m4 diff -N gnulib/config/obstack.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/obstack.m4 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,24 @@ +# obstack.m4 serial 1 +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +AC_DEFUN([gl_OBSTACK], +[ + dnl Prerequisites of lib/obstack.h. + AC_CHECK_HEADERS_ONCE(stddef.h string.h) + + AC_FUNC_OBSTACK + dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]). + if test $ac_cv_func_obstack =3D no; then + gl_PREREQ_OBSTACK + fi +]) + +# Prerequisites of lib/obstack.c. +AC_DEFUN([gl_PREREQ_OBSTACK], [ + AC_CHECK_HEADERS_ONCE(stdlib.h) +]) Index: gnulib/config/onceonly_2_57.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/onceonly_2_57.m4 diff -N gnulib/config/onceonly_2_57.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/onceonly_2_57.m4 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,86 @@ +# onceonly_2_57.m4 serial 3 +dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl This file defines some "once only" variants of standard autoconf mac= ros. +dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS +dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS +dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS +dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC +dnl The advantage is that the check for each of the headers/functions/de= cls +dnl will be put only once into the 'configure' file. It keeps the size o= f +dnl the 'configure' file down, and avoids redundant output when 'configu= re' +dnl is run. +dnl The drawback is that the checks cannot be conditionalized. If you wr= ite +dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi +dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expan= ds to +dnl empty, and the check will be inserted before the body of the AC_DEFU= Ned +dnl function. + +dnl This is like onceonly.m4, except that it uses diversions to named se= ctions +dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at= once, +dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The= +dnl size reduction is ca. 9%. + +dnl Autoconf version 2.57 or newer is recommended. +AC_PREREQ(2.54) + +# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of +# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). +AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ + : + AC_FOREACH([gl_HEADER_NAME], [$1], [ + AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, + [./-], [___])), [ + m4_divert_text([INIT_PREPARE], + [gl_header_list=3D"$gl_header_list gl_HEADER_NAME"]) + gl_HEADERS_EXPANSION + AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])), + [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> heade= r file.]) + ]) + AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, + [./-], [___]))) + ]) +]) +m4_define([gl_HEADERS_EXPANSION], [ + m4_divert_text([DEFAULTS], [gl_header_list=3D]) + AC_CHECK_HEADERS([$gl_header_list]) + m4_define([gl_HEADERS_EXPANSION], []) +]) + +# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of +# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). +AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ + : + AC_FOREACH([gl_FUNC_NAME], [$1], [ + AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ + m4_divert_text([INIT_PREPARE], + [gl_func_list=3D"$gl_func_list gl_FUNC_NAME"]) + gl_FUNCS_EXPANSION + AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])), + [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' functio= n.]) + ]) + AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) + ]) +]) +m4_define([gl_FUNCS_EXPANSION], [ + m4_divert_text([DEFAULTS], [gl_func_list=3D]) + AC_CHECK_FUNCS([$gl_func_list]) + m4_define([gl_FUNCS_EXPANSION], []) +]) + +# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of +# AC_CHECK_DECLS(DECL1, DECL2, ...). +AC_DEFUN([AC_CHECK_DECLS_ONCE], [ + : + AC_FOREACH([gl_DECL_NAME], [$1], [ + AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ + AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) + ]) + AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) + ]) +]) Index: gnulib/config/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/stdbool.m4 diff -N gnulib/config/stdbool.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/stdbool.m4 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,89 @@ +# Check for stdbool.h that conforms to C99. + +# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Prepare for substituting if it is not supported. + +AC_DEFUN([AM_STDBOOL_H], +[ + AC_REQUIRE([AC_HEADER_STDBOOL]) + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" =3D yes; then + STDBOOL_H=3D'' + else + STDBOOL_H=3D'stdbool.h' + fi + AC_SUBST([STDBOOL_H]) + + if test "$ac_cv_type__Bool" =3D yes; then + HAVE__BOOL=3D1 + else + HAVE__BOOL=3D0 + fi + AC_SUBST([HAVE__BOOL]) +]) + +# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf +# have this macro built-in. + +AC_DEFUN([AC_HEADER_STDBOOL], + [AC_CACHE_CHECK([for stdbool.h that conforms to C99], + [ac_cv_header_stdbool_h], + [AC_TRY_COMPILE( + [ + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: false is not defined" + #endif + #if true !=3D 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true =3D=3D 1 ? 1 : -1]; + char b[false =3D=3D 0 ? 1 : -1]; + char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; + char d[(bool) -0.5 =3D=3D true ? 1 : -1]; + bool e =3D &s; + char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + ], + [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], + [ac_cv_header_stdbool_h=3Dyes], + [ac_cv_header_stdbool_h=3Dno])]) + AC_CHECK_TYPES([_Bool]) + if test $ac_cv_header_stdbool_h =3D yes; then + AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) + fi]) Index: gnulib/config/unlocked-io.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/unlocked-io.m4 diff -N gnulib/config/unlocked-io.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/unlocked-io.m4 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,22 @@ +#serial 8 -*- autoconf -*- + +dnl From Jim Meyering. +dnl +dnl See if the glibc *_unlocked I/O macros or functions are available. +dnl Use only those *_unlocked macros or functions that are declared +dnl (because some of them were declared in Solaris 2.5.1 but were remove= d +dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to r= un +dnl on Solaris 2.6). + +AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO], +[ + dnl Persuade glibc and Solaris to declare + dnl fgets_unlocked(), fputs_unlocked() etc. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + AC_CHECK_DECLS_ONCE( + [clearerr_unlocked feof_unlocked ferror_unlocked + fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked + fread_unlocked fwrite_unlocked getc_unlocked + getchar_unlocked putc_unlocked putchar_unlocked]) +]) Index: gnulib/lib/obstack.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/lib/obstack.c diff -N gnulib/lib/obstack.c --- gnulib/lib/obstack.c 4 Sep 2003 16:04:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,616 +0,0 @@ -/* obstack.c - subroutines used implicitly by object stack macros - Copyright (C) 1988-1994, 1996-1999, 2000-2002 Free Software Foundatio= n, 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 alo= ng - with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "obstack.h" - -/* NOTE BEFORE MODIFYING THIS FILE: This version number must be - incremented whenever callers compiled using an old obstack.h can no - longer properly call the functions in this obstack.c. */ -#define OBSTACK_INTERFACE_VERSION 1 - -/* Comment out all this code if we are using the GNU C Library, and are = not - actually compiling the library itself, and the installed library - supports the same library interface we do. This code is part of the = GNU - C Library, but also included in many other GNU distributions. Compil= ing - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU= - program understand `configure --with-gnu-libc' and omit the object - files, it is simpler to just do this in the source for each such file= =2E */ - -#include /* Random thing to get __GNU_LIBRARY__. */ -#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 -# include -# if _GNU_OBSTACK_INTERFACE_VERSION =3D=3D OBSTACK_INTERFACE_VERSION -# define ELIDE_CODE -# endif -#endif - -#if defined _LIBC && defined USE_IN_LIBIO -# include -#endif - -#ifndef ELIDE_CODE - - -# if defined __STDC__ && __STDC__ -# define POINTER void * -# else -# define POINTER char * -# endif - -/* Determine default alignment. */ -struct fooalign {char x; double d;}; -# define DEFAULT_ALIGNMENT \ - ((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0)) -/* If malloc were really smart, it would round addresses to DEFAULT_ALIG= NMENT. - But in fact it might be less smart and round addresses to as much as - DEFAULT_ROUNDING. So we prepare for it to do that. */ -union fooround {long x; double d;}; -# define DEFAULT_ROUNDING (sizeof (union fooround)) - -/* When we copy a long block of data, this is the unit to do it with. - On some machines, copying successive ints does not work; - in such a case, redefine COPYING_UNIT to `long' (if that works) - or `char' as a last resort. */ -# ifndef COPYING_UNIT -# define COPYING_UNIT int -# endif - - -/* The functions allocating more room by calling `obstack_chunk_alloc' - jump to the handler pointed to by `obstack_alloc_failed_handler'. - This can be set to a user defined function which should either - abort gracefully or use longjump - but shouldn't return. This - variable by default points to the internal function - `print_and_abort'. */ -# if defined __STDC__ && __STDC__ -static void print_and_abort (void); -void (*obstack_alloc_failed_handler) (void) =3D print_and_abort; -# else -static void print_and_abort (); -void (*obstack_alloc_failed_handler) () =3D print_and_abort; -# endif - -/* Exit value used when `print_and_abort' is used. */ -# if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H -# include -# endif -# ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -# endif -int obstack_exit_failure =3D EXIT_FAILURE; - -/* The non-GNU-C macros copy the obstack into this global variable - to avoid multiple evaluation. */ - -struct obstack *_obstack; - -/* Define a macro that either calls functions with the traditional mallo= c/free - calling interface, or calls functions with the mmalloc/mfree interfac= e - (that adds an extra first argument), based on the state of use_extra_= arg. - For free, do not use ?:, since some compilers, like the MIPS compiler= s, - do not allow (expr) ? void : void. */ - -# if defined __STDC__ && __STDC__ -# define CALL_CHUNKFUN(h, size) \ - (((h) -> use_extra_arg) \ - ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ - : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) - -# define CALL_FREEFUN(h, old_chunk) \ - do { \ - if ((h) -> use_extra_arg) \ - (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ - else \ - (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ - } while (0) -# else -# define CALL_CHUNKFUN(h, size) \ - (((h) -> use_extra_arg) \ - ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ - : (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size))) - -# define CALL_FREEFUN(h, old_chunk) \ - do { \ - if ((h) -> use_extra_arg) \ - (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ - else \ - (*(void (*) ()) (h)->freefun) ((old_chunk)); \ - } while (0) -# endif - -=0C -/* Initialize an obstack H for use. Specify chunk size SIZE (0 means de= fault). - Objects start on multiples of ALIGNMENT (0 means use default). - CHUNKFUN is the function to use to allocate chunks, - and FREEFUN the function to free them. - - Return nonzero if successful, calls obstack_alloc_failed_handler if - allocation fails. */ - -int -_obstack_begin (h, size, alignment, chunkfun, freefun) - struct obstack *h; - int size; - int alignment; -# if defined __STDC__ && __STDC__ - POINTER (*chunkfun) (long); - void (*freefun) (void *); -# else - POINTER (*chunkfun) (); - void (*freefun) (); -# endif -{ - register struct _obstack_chunk *chunk; /* points to new chunk */ - - if (alignment =3D=3D 0) - alignment =3D (int) DEFAULT_ALIGNMENT; - if (size =3D=3D 0) - /* Default size is what GNU malloc can fit in a 4096-byte block. */= - { - /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. - Use the values for range checking, because if range checking is off, - the extra bytes won't be missed terribly, but if range checking is on - and we used a larger request, a whole extra 4096 bytes would be - allocated. - - These number are irrelevant to the new GNU malloc. I suspect it is - less sensitive to the size of the request. */ - int extra =3D ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING = - 1)) - + 4 + DEFAULT_ROUNDING - 1) - & ~(DEFAULT_ROUNDING - 1)); - size =3D 4096 - extra; - } - -# if defined __STDC__ && __STDC__ - h->chunkfun =3D (struct _obstack_chunk * (*)(void *, long)) chunkfun; - h->freefun =3D (void (*) (void *, struct _obstack_chunk *)) freefun; -# else - h->chunkfun =3D (struct _obstack_chunk * (*)()) chunkfun; - h->freefun =3D freefun; -# endif - h->chunk_size =3D size; - h->alignment_mask =3D alignment - 1; - h->use_extra_arg =3D 0; - - chunk =3D h->chunk =3D CALL_CHUNKFUN (h, h -> chunk_size); - if (!chunk) - (*obstack_alloc_failed_handler) (); - h->next_free =3D h->object_base =3D chunk->contents; - h->chunk_limit =3D chunk->limit - =3D (char *) chunk + h->chunk_size; - chunk->prev =3D 0; - /* The initial chunk now contains no empty object. */ - h->maybe_empty_object =3D 0; - h->alloc_failed =3D 0; - return 1; -} - -int -_obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg) - struct obstack *h; - int size; - int alignment; -# if defined __STDC__ && __STDC__ - POINTER (*chunkfun) (POINTER, long); - void (*freefun) (POINTER, POINTER); -# else - POINTER (*chunkfun) (); - void (*freefun) (); -# endif - POINTER arg; -{ - register struct _obstack_chunk *chunk; /* points to new chunk */ - - if (alignment =3D=3D 0) - alignment =3D (int) DEFAULT_ALIGNMENT; - if (size =3D=3D 0) - /* Default size is what GNU malloc can fit in a 4096-byte block. */= - { - /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. - Use the values for range checking, because if range checking is off, - the extra bytes won't be missed terribly, but if range checking is on - and we used a larger request, a whole extra 4096 bytes would be - allocated. - - These number are irrelevant to the new GNU malloc. I suspect it is - less sensitive to the size of the request. */ - int extra =3D ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING = - 1)) - + 4 + DEFAULT_ROUNDING - 1) - & ~(DEFAULT_ROUNDING - 1)); - size =3D 4096 - extra; - } - -# if defined __STDC__ && __STDC__ - h->chunkfun =3D (struct _obstack_chunk * (*)(void *,long)) chunkfun; - h->freefun =3D (void (*) (void *, struct _obstack_chunk *)) freefun; -# else - h->chunkfun =3D (struct _obstack_chunk * (*)()) chunkfun; - h->freefun =3D freefun; -# endif - h->chunk_size =3D size; - h->alignment_mask =3D alignment - 1; - h->extra_arg =3D arg; - h->use_extra_arg =3D 1; - - chunk =3D h->chunk =3D CALL_CHUNKFUN (h, h -> chunk_size); - if (!chunk) - (*obstack_alloc_failed_handler) (); - h->next_free =3D h->object_base =3D chunk->contents; - h->chunk_limit =3D chunk->limit - =3D (char *) chunk + h->chunk_size; - chunk->prev =3D 0; - /* The initial chunk now contains no empty object. */ - h->maybe_empty_object =3D 0; - h->alloc_failed =3D 0; - return 1; -} - -/* Allocate a new current chunk for the obstack *H - on the assumption that LENGTH bytes need to be added - to the current object, or a new object of length LENGTH allocated. - Copies any partial object from the end of the old chunk - to the beginning of the new one. */ - -void -_obstack_newchunk (h, length) - struct obstack *h; - int length; -{ - register struct _obstack_chunk *old_chunk =3D h->chunk; - register struct _obstack_chunk *new_chunk; - register long new_size; - register long obj_size =3D h->next_free - h->object_base; - register long i; - long already; - char *object_base; - - /* Compute size for new chunk. */ - new_size =3D (obj_size + length) + (obj_size >> 3) + h->alignment_mask= + 100; - if (new_size < h->chunk_size) - new_size =3D h->chunk_size; - - /* Allocate and initialize the new chunk. */ - new_chunk =3D CALL_CHUNKFUN (h, new_size); - if (!new_chunk) - (*obstack_alloc_failed_handler) (); - h->chunk =3D new_chunk; - new_chunk->prev =3D old_chunk; - new_chunk->limit =3D h->chunk_limit =3D (char *) new_chunk + new_size;= - - /* Compute an aligned object_base in the new chunk */ - object_base =3D - __INT_TO_PTR ((__PTR_TO_INT (new_chunk->contents) + h->alignment_mas= k) - & ~ (h->alignment_mask)); - - /* Move the existing object to the new chunk. - Word at a time is fast and is safe if the object - is sufficiently aligned. */ - if (h->alignment_mask + 1 >=3D DEFAULT_ALIGNMENT) - { - for (i =3D obj_size / sizeof (COPYING_UNIT) - 1; - i >=3D 0; i--) - ((COPYING_UNIT *)object_base)[i] - =3D ((COPYING_UNIT *)h->object_base)[i]; - /* We used to copy the odd few remaining bytes as one extra COPYIN= G_UNIT, - but that can cross a page boundary on a machine - which does not do strict alignment for COPYING_UNITS. */ - already =3D obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNI= T); - } - else - already =3D 0; - /* Copy remaining bytes one by one. */ - for (i =3D already; i < obj_size; i++) - object_base[i] =3D h->object_base[i]; - - /* If the object just copied was the only data in OLD_CHUNK, - free that chunk and remove it from the chain. - But not if that chunk might contain an empty object. */ - if (h->object_base =3D=3D old_chunk->contents && ! h->maybe_empty_obje= ct) - { - new_chunk->prev =3D old_chunk->prev; - CALL_FREEFUN (h, old_chunk); - } - - h->object_base =3D object_base; - h->next_free =3D h->object_base + obj_size; - /* The new chunk certainly contains no empty object yet. */ - h->maybe_empty_object =3D 0; -} - -/* Return nonzero if object OBJ has been allocated from obstack H. - This is here for debugging. - If you use it in a program, you are probably losing. */ - -# if defined __STDC__ && __STDC__ -/* Suppress -Wmissing-prototypes warning. We don't want to declare this= in - obstack.h because it is just for debugging. */ -int _obstack_allocated_p (struct obstack *h, POINTER obj); -# endif - -int -_obstack_allocated_p (h, obj) - struct obstack *h; - POINTER obj; -{ - register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any= */ - - lp =3D (h)->chunk; - /* We use >=3D rather than > since the object cannot be exactly at - the beginning of the chunk but might be an empty object exactly - at the end of an adjacent chunk. */ - while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) - { - plp =3D lp->prev; - lp =3D plp; - } - return lp !=3D 0; -} -=0C -/* Free objects in obstack H, including OBJ and everything allocate - more recently than OBJ. If OBJ is zero, free everything in H. */ - -# undef obstack_free - -/* This function has two names with identical definitions. - This is the first one, called from non-ANSI code. */ - -void -_obstack_free (h, obj) - struct obstack *h; - POINTER obj; -{ - register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any= */ - - lp =3D h->chunk; - /* We use >=3D because there cannot be an object at the beginning of a= chunk. - But there can be an empty object at that address - at the end of another chunk. */ - while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) - { - plp =3D lp->prev; - CALL_FREEFUN (h, lp); - lp =3D plp; - /* If we switch chunks, we can't tell whether the new current - chunk contains an empty object, so assume that it may. */ - h->maybe_empty_object =3D 1; - } - if (lp) - { - h->object_base =3D h->next_free =3D (char *) (obj); - h->chunk_limit =3D lp->limit; - h->chunk =3D lp; - } - else if (obj !=3D 0) - /* obj is not in any of the chunks! */ - abort (); -} - -/* This function is used from ANSI code. */ - -void -obstack_free (h, obj) - struct obstack *h; - POINTER obj; -{ - register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any= */ - - lp =3D h->chunk; - /* We use >=3D because there cannot be an object at the beginning of a= chunk. - But there can be an empty object at that address - at the end of another chunk. */ - while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) - { - plp =3D lp->prev; - CALL_FREEFUN (h, lp); - lp =3D plp; - /* If we switch chunks, we can't tell whether the new current - chunk contains an empty object, so assume that it may. */ - h->maybe_empty_object =3D 1; - } - if (lp) - { - h->object_base =3D h->next_free =3D (char *) (obj); - h->chunk_limit =3D lp->limit; - h->chunk =3D lp; - } - else if (obj !=3D 0) - /* obj is not in any of the chunks! */ - abort (); -} -=0C -int -_obstack_memory_used (h) - struct obstack *h; -{ - register struct _obstack_chunk* lp; - register int nbytes =3D 0; - - for (lp =3D h->chunk; lp !=3D 0; lp =3D lp->prev) - { - nbytes +=3D lp->limit - (char *) lp; - } - return nbytes; -} -=0C -/* Define the error handler. */ -# ifdef _LIBC -# include -# else -# include "gettext.h" -# endif -# define _(msgid) gettext (msgid) - -# if defined _LIBC && defined USE_IN_LIBIO -# include -# define fputs(s, f) _IO_fputs (s, f) -# endif - -# ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -# endif - -static void -__attribute__ ((noreturn)) -print_and_abort () -{ - /* Don't change any of these strings. Yes, it would be possible to ad= d - the newline to the string and use fputs or so. But this must not - happen because the "memory exhausted" message appears in other plac= es - like this and the translation should be reused instead of creating - a very similar string which requires a separate translation. */ -# if defined _LIBC && defined USE_IN_LIBIO - if (_IO_fwide (stderr, 0) > 0) - __fwprintf (stderr, L"%s\n", _("memory exhausted")); - else -# endif - fprintf (stderr, "%s\n", _("memory exhausted")); - exit (obstack_exit_failure); -} -=0C -# if 0 -/* These are now turned off because the applications do not use it - and it uses bcopy via obstack_grow, which causes trouble on sysV. */= - -/* Now define the functional versions of the obstack macros. - Define them to simply use the corresponding macros to do the job. */= - -# if defined __STDC__ && __STDC__ -/* These function definitions do not work with non-ANSI preprocessors; - they won't pass through the macro names in parentheses. */ - -/* The function names appear in parentheses in order to prevent - the macro-definitions of the names from being expanded there. */ - -POINTER (obstack_base) (obstack) - struct obstack *obstack; -{ - return obstack_base (obstack); -} - -POINTER (obstack_next_free) (obstack) - struct obstack *obstack; -{ - return obstack_next_free (obstack); -} - -int (obstack_object_size) (obstack) - struct obstack *obstack; -{ - return obstack_object_size (obstack); -} - -int (obstack_room) (obstack) - struct obstack *obstack; -{ - return obstack_room (obstack); -} - -int (obstack_make_room) (obstack, length) - struct obstack *obstack; - int length; -{ - return obstack_make_room (obstack, length); -} - -void (obstack_grow) (obstack, data, length) - struct obstack *obstack; - const POINTER data; - int length; -{ - obstack_grow (obstack, data, length); -} - -void (obstack_grow0) (obstack, data, length) - struct obstack *obstack; - const POINTER data; - int length; -{ - obstack_grow0 (obstack, data, length); -} - -void (obstack_1grow) (obstack, character) - struct obstack *obstack; - int character; -{ - obstack_1grow (obstack, character); -} - -void (obstack_blank) (obstack, length) - struct obstack *obstack; - int length; -{ - obstack_blank (obstack, length); -} - -void (obstack_1grow_fast) (obstack, character) - struct obstack *obstack; - int character; -{ - obstack_1grow_fast (obstack, character); -} - -void (obstack_blank_fast) (obstack, length) - struct obstack *obstack; - int length; -{ - obstack_blank_fast (obstack, length); -} - -POINTER (obstack_finish) (obstack) - struct obstack *obstack; -{ - return obstack_finish (obstack); -} - -POINTER (obstack_alloc) (obstack, length) - struct obstack *obstack; - int length; -{ - return obstack_alloc (obstack, length); -} - -POINTER (obstack_copy) (obstack, address, length) - struct obstack *obstack; - const POINTER address; - int length; -{ - return obstack_copy (obstack, address, length); -} - -POINTER (obstack_copy0) (obstack, address, length) - struct obstack *obstack; - const POINTER address; - int length; -{ - return obstack_copy0 (obstack, address, length); -} - -# endif /* __STDC__ */ - -# endif /* 0 */ - -#endif /* !ELIDE_CODE */ Index: gnulib/lib/obstack.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/lib/obstack.h diff -N gnulib/lib/obstack.h --- gnulib/lib/obstack.h 4 Sep 2003 16:04:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,608 +0,0 @@ -/* obstack.h - object stack macros - Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99,2003 Free Software F= oundation, Inc. - - This file is part of the GNU C Library. Its master source is NOT par= t of - the C library, however. The master source lives in /gd/gnu/lib. - - NOTE: The canonical source of this file is maintained with the GNU C = Library. - Bugs can be reported to bug-glibc@gnu.org. - - 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 alo= ng - with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* Summary: - -All the apparent functions defined here are macros. The idea -is that you would use these pre-tested macros to solve a -very specific set of problems, and they would run fast. -Caution: no side-effects in arguments please!! They may be -evaluated MANY times!! - -These macros operate a stack of objects. Each object starts life -small, and may grow to maturity. (Consider building a word syllable -by syllable.) An object can move while it is growing. Once it has -been "finished" it never changes address again. So the "top of the -stack" is typically an immature growing object, while the rest of the -stack is of mature, fixed size and fixed address objects. - -These routines grab large chunks of memory, using a function you -supply, called `obstack_chunk_alloc'. On occasion, they free chunks, -by calling `obstack_chunk_free'. You must define them and declare -them before using any obstack macros. - -Each independent stack is represented by a `struct obstack'. -Each of the obstack macros expects a pointer to such a structure -as the first argument. - -One motivation for this package is the problem of growing char strings -in symbol tables. Unless you are "fascist pig with a read-only mind" ---Gosper's immortal quote from HAKMEM item 154, out of context--you -would not like to put any arbitrary upper limit on the length of your -symbols. - -In practice this often means you will build many short symbols and a -few long symbols. At the time you are reading a symbol you don't know -how long it is. One traditional method is to read a symbol into a -buffer, realloc()ating the buffer every time you try to read a symbol -that is longer than the buffer. This is beaut, but you still will -want to copy the symbol from the buffer to a more permanent -symbol-table entry say about half the time. - -With obstacks, you can work differently. Use one obstack for all symbol= -names. As you read a symbol, grow the name in the obstack gradually. -When the name is complete, finalize it. Then, if the symbol exists alre= ady, -free the newly read name. - -The way we do this is to take a large chunk, allocating memory from -low addresses. When you want to build a symbol in the chunk you just -add chars above the current "high water mark" in the chunk. When you -have finished adding chars, because you got to the end of the symbol, -you know how long the chars are, and you can create a new object. -Mostly the chars will not burst over the highest address of the chunk, -because you would typically expect a chunk to be (say) 100 times as -long as an average object. - -In case that isn't clear, when we have enough chars to make up -the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) -so we just point to it where it lies. No moving of chars is -needed and this is the second win: potentially long strings need -never be explicitly shuffled. Once an object is formed, it does not -change its address during its lifetime. - -When the chars burst over a chunk boundary, we allocate a larger -chunk, and then copy the partly formed object from the end of the old -chunk to the beginning of the new larger chunk. We then carry on -accreting characters to the end of the object as we normally would. - -A special macro is provided to add a single char at a time to a -growing object. This allows the use of register variables, which -break the ordinary 'growth' macro. - -Summary: - We allocate large chunks. - We carve out one object at a time from the current chunk. - Once carved, an object never moves. - We are free to append data of any size to the currently - growing object. - Exactly one object is growing in an obstack at any one time. - You can run one obstack per control block. - You may have as many control blocks as you dare. - Because of the way we do it, you can `unwind' an obstack - back to a previous state. (You may remove objects much - as you would with a stack.) -*/ - - -/* Don't do the contents of this file more than once. */ - -#ifndef _OBSTACK_H -#define _OBSTACK_H 1 - -#ifdef __cplusplus -extern "C" { -#endif -=0C -/* We use subtraction of (char *) 0 instead of casting to int - because on word-addressable machines a simple cast to int - may ignore the byte-within-word field of the pointer. */ - -#ifndef __PTR_TO_INT -# define __PTR_TO_INT(P) ((P) - (char *) 0) -#endif - -#ifndef __INT_TO_PTR -# define __INT_TO_PTR(P) ((P) + (char *) 0) -#endif - -/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is - defined, as with GNU C, use that; that way we don't pollute the - namespace with 's symbols. Otherwise, if is - available, include it and use ptrdiff_t. In traditional C, long is - the best that we can do. */ - -#ifdef __PTRDIFF_TYPE__ -# define PTR_INT_TYPE __PTRDIFF_TYPE__ -#else -# ifdef HAVE_STDDEF_H -# include -# define PTR_INT_TYPE ptrdiff_t -# else -# define PTR_INT_TYPE long -# endif -#endif - -#if defined _LIBC || defined HAVE_STRING_H -# include -# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) -#else -# ifdef memcpy -# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) -# else -# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N)) -# endif -#endif - -struct _obstack_chunk /* Lives at front of each chunk. */ -{ - char *limit; /* 1 past end of this chunk */ - struct _obstack_chunk *prev; /* address of prior chunk or NULL */ - char contents[4]; /* objects begin here */ -}; - -struct obstack /* control current object in current chunk */ -{ - long chunk_size; /* preferred size to allocate chunks in */ - struct _obstack_chunk *chunk; /* address of current struct obstack_chu= nk */ - char *object_base; /* address of object we are building */ - char *next_free; /* where to add next char to current object */ - char *chunk_limit; /* address of char after current chunk */ - PTR_INT_TYPE temp; /* Temporary for some macros. */ - int alignment_mask; /* Mask of alignment for each object. */ -#if defined __STDC__ && __STDC__ - /* These prototypes vary based on `use_extra_arg', and we use - casts to the prototypeless function type in all assignments, - but having prototypes here quiets -Wstrict-prototypes. */ - struct _obstack_chunk *(*chunkfun) (void *, long); - void (*freefun) (void *, struct _obstack_chunk *); - void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ -#else - struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chu= nk. */ - void (*freefun) (); /* User's function to free a chunk. */ - char *extra_arg; /* first arg for chunk alloc/dealloc funcs */ -#endif - unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg = */ - unsigned maybe_empty_object:1;/* There is a possibility that the curre= nt - chunk contains a zero-length object. This - prevents freeing the chunk if we allocate - a bigger chunk to replace it. */ - unsigned alloc_failed:1; /* No longer used, as we now call the failed - handler on error, but retained for binary - compatibility. */ -}; - -/* Declare the external functions we use; they are in obstack.c. */ - -#if defined __STDC__ && __STDC__ -extern void _obstack_newchunk (struct obstack *, int); -extern void _obstack_free (struct obstack *, void *); -extern int _obstack_begin (struct obstack *, int, int, - void *(*) (long), void (*) (void *)); -extern int _obstack_begin_1 (struct obstack *, int, int, - void *(*) (void *, long), - void (*) (void *, void *), void *); -extern int _obstack_memory_used (struct obstack *); -#else -extern void _obstack_newchunk (); -extern void _obstack_free (); -extern int _obstack_begin (); -extern int _obstack_begin_1 (); -extern int _obstack_memory_used (); -#endif -=0C -#if defined __STDC__ && __STDC__ - -/* Do the function-declarations after the structs - but before defining the macros. */ - -void obstack_init (struct obstack *obstack); - -void * obstack_alloc (struct obstack *obstack, int size); - -void * obstack_copy (struct obstack *obstack, const void *address, int s= ize); -void * obstack_copy0 (struct obstack *obstack, const void *address, int = size); - -void obstack_free (struct obstack *obstack, void *block); - -void obstack_blank (struct obstack *obstack, int size); - -void obstack_grow (struct obstack *obstack, const void *data, int size);= -void obstack_grow0 (struct obstack *obstack, const void *data, int size)= ; - -void obstack_1grow (struct obstack *obstack, int data_char); -void obstack_ptr_grow (struct obstack *obstack, const void *data); -void obstack_int_grow (struct obstack *obstack, int data); - -void * obstack_finish (struct obstack *obstack); - -int obstack_object_size (struct obstack *obstack); - -int obstack_room (struct obstack *obstack); -void obstack_make_room (struct obstack *obstack, int size); -void obstack_1grow_fast (struct obstack *obstack, int data_char); -void obstack_ptr_grow_fast (struct obstack *obstack, const void *data); -void obstack_int_grow_fast (struct obstack *obstack, int data); -void obstack_blank_fast (struct obstack *obstack, int size); - -void * obstack_base (struct obstack *obstack); -void * obstack_next_free (struct obstack *obstack); -int obstack_alignment_mask (struct obstack *obstack); -int obstack_chunk_size (struct obstack *obstack); -int obstack_memory_used (struct obstack *obstack); - -#endif /* __STDC__ */ - -/* Non-ANSI C cannot really support alternative functions for these macr= os, - so we do not declare them. */ - -/* Error handler called when `obstack_chunk_alloc' failed to allocate - more memory. This can be set to a user defined function which - should either abort gracefully or use longjump - but shouldn't - return. The default action is to print a message and abort. */ -#if defined __STDC__ && __STDC__ -extern void (*obstack_alloc_failed_handler) (void); -#else -extern void (*obstack_alloc_failed_handler) (); -#endif - -/* Exit value used when `print_and_abort' is used. */ -extern int obstack_exit_failure; -=0C -/* Pointer to beginning of object being allocated or to be allocated nex= t. - Note that this might not be the final address of the object - because a new chunk might be needed to hold the final size. */ - -#define obstack_base(h) ((h)->object_base) - -/* Size for allocating ordinary chunks. */ - -#define obstack_chunk_size(h) ((h)->chunk_size) - -/* Pointer to next byte not yet allocated in current chunk. */ - -#define obstack_next_free(h) ((h)->next_free) - -/* Mask specifying low bits that should be clear in address of an object= =2E */ - -#define obstack_alignment_mask(h) ((h)->alignment_mask) - -/* To prevent prototype warnings provide complete argument list in - standard C version. */ -#if defined __STDC__ && __STDC__ - -# define obstack_init(h) \ - _obstack_begin ((h), 0, 0, \ - (void *(*) (long)) obstack_chunk_alloc, \ - (void (*) (void *)) obstack_chunk_free) - -# define obstack_begin(h, size) \ - _obstack_begin ((h), (size), 0, \ - (void *(*) (long)) obstack_chunk_alloc, \ - (void (*) (void *)) obstack_chunk_free) - -# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ - _obstack_begin ((h), (size), (alignment), \ - (void *(*) (long)) (chunkfun), \ - (void (*) (void *)) (freefun)) - -# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ - _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) (void *, long)) (chunkfun), \ - (void (*) (void *, void *)) (freefun), (arg)) - -# define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun =3D (struct _obstack_chunk *(*)(void *, long)) (newch= unkfun)) - -# define obstack_freefun(h, newfreefun) \ - ((h) -> freefun =3D (void (*)(void *, struct _obstack_chunk *)) (newfr= eefun)) - -#else - -# define obstack_init(h) \ - _obstack_begin ((h), 0, 0, \ - (void *(*) ()) obstack_chunk_alloc, \ - (void (*) ()) obstack_chunk_free) - -# define obstack_begin(h, size) \ - _obstack_begin ((h), (size), 0, \ - (void *(*) ()) obstack_chunk_alloc, \ - (void (*) ()) obstack_chunk_free) - -# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ - _obstack_begin ((h), (size), (alignment), \ - (void *(*) ()) (chunkfun), \ - (void (*) ()) (freefun)) - -# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ - _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) ()) (chunkfun), \ - (void (*) ()) (freefun), (arg)) - -# define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun =3D (struct _obstack_chunk *(*)()) (newchunkfun)) - -# define obstack_freefun(h, newfreefun) \ - ((h) -> freefun =3D (void (*)()) (newfreefun)) - -#endif - -#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ =3D achar) - -#define obstack_blank_fast(h,n) ((h)->next_free +=3D (n)) - -#define obstack_memory_used(h) _obstack_memory_used (h) -=0C -#if defined __GNUC__ && defined __STDC__ && __STDC__ -/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ =3D 2 and - does not implement __extension__. But that compiler doesn't define - __GNUC_MINOR__. */ -# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) -# define __extension__ -# endif - -/* For GNU C, if not -traditional, - we can define these macros to compute all args only once - without using a global variable. - Also, we can avoid using the `temp' slot, to make faster code. */ - -# define obstack_object_size(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (unsigned) (__o->next_free - __o->object_base); }) - -# define obstack_room(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (unsigned) (__o->chunk_limit - __o->next_free); }) - -# define obstack_make_room(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->chunk_limit - __o->next_free < __len) \ - _obstack_newchunk (__o, __len); \ - (void) 0; }) - -# define obstack_empty_p(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (__o->chunk->prev =3D=3D 0 && __o->next_free - __o->chunk->contents= =3D=3D 0); }) - -# define obstack_grow(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->next_free + __len > __o->chunk_limit) \ - _obstack_newchunk (__o, __len); \ - _obstack_memcpy (__o->next_free, (where), __len); \ - __o->next_free +=3D __len; \ - (void) 0; }) - -# define obstack_grow0(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->next_free + __len + 1 > __o->chunk_limit) \ - _obstack_newchunk (__o, __len + 1); \ - _obstack_memcpy (__o->next_free, (where), __len); \ - __o->next_free +=3D __len; \ - *(__o->next_free)++ =3D 0; \ - (void) 0; }) - -# define obstack_1grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + 1 > __o->chunk_limit) \ - _obstack_newchunk (__o, 1); \ - *(__o->next_free)++ =3D (datum); \ - (void) 0; }) - -/* These assume that the obstack alignment is good enough for pointers - or ints, and that the data added so far to the current object - shares that much alignment. */ - -# define obstack_ptr_grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (void *)); \ - *((void **)__o->next_free)++ =3D (datum); \ - (void) 0; }) - -# define obstack_int_grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + sizeof (int) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (int)); \ - *((int *)__o->next_free)++ =3D (datum); \ - (void) 0; }) - -# define obstack_ptr_grow_fast(h,aptr) \ - (*((void **) (h)->next_free)++ =3D (aptr)) - -# define obstack_int_grow_fast(h,aint) \ - (*((int *) (h)->next_free)++ =3D (aint)) - -# define obstack_blank(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->chunk_limit - __o->next_free < __len) \ - _obstack_newchunk (__o, __len); \ - __o->next_free +=3D __len; \ - (void) 0; }) - -# define obstack_alloc(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_blank (__h, (length)); \ - obstack_finish (__h); }) - -# define obstack_copy(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_grow (__h, (where), (length)); \ - obstack_finish (__h); }) - -# define obstack_copy0(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_grow0 (__h, (where), (length)); \ - obstack_finish (__h); }) - -/* The local variable is named __o1 to avoid a name conflict - when obstack_blank is called. */ -# define obstack_finish(OBSTACK) \ -__extension__ \ -({ struct obstack *__o1 =3D (OBSTACK); \ - void *value; \ - value =3D (void *) __o1->object_base; \ - if (__o1->next_free =3D=3D value) \ - __o1->maybe_empty_object =3D 1; \ - __o1->next_free \ - =3D __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_m= ask)\ - & ~ (__o1->alignment_mask)); \ - if (__o1->next_free - (char *)__o1->chunk \ - > __o1->chunk_limit - (char *)__o1->chunk) \ - __o1->next_free =3D __o1->chunk_limit; \ - __o1->object_base =3D __o1->next_free; \ - value; }) - -# define obstack_free(OBSTACK, OBJ) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - void *__obj =3D (OBJ); \ - if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) = \ - __o->next_free =3D __o->object_base =3D (char *)__obj; \ - else (obstack_free) (__o, __obj); }) -=0C -#else /* not __GNUC__ or not __STDC__ */ - -# define obstack_object_size(h) \ - (unsigned) ((h)->next_free - (h)->object_base) - -# define obstack_room(h) \ - (unsigned) ((h)->chunk_limit - (h)->next_free) - -# define obstack_empty_p(h) \ - ((h)->chunk->prev =3D=3D 0 && (h)->next_free - (h)->chunk->contents =3D= =3D 0) - -/* Note that the call to _obstack_newchunk is enclosed in (..., 0) - so that we can avoid having void expressions - in the arms of the conditional expression. - Casting the third operand to void was tried before, - but some compilers won't accept it. */ - -# define obstack_make_room(h,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0)) - -# define obstack_grow(h,where,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ - _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ - (h)->next_free +=3D (h)->temp) - -# define obstack_grow0(h,where,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ - _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ - (h)->next_free +=3D (h)->temp, \ - *((h)->next_free)++ =3D 0) - -# define obstack_1grow(h,datum) \ -( (((h)->next_free + 1 > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), 1), 0) : 0), \ - (*((h)->next_free)++ =3D (datum))) - -# define obstack_ptr_grow(h,datum) \ -( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ - (*((const char **) (((h)->next_free+=3Dsizeof(char *))-sizeof(char *))= ) =3D (datum))) - -# define obstack_int_grow(h,datum) \ -( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ - (*((int *) (((h)->next_free+=3Dsizeof(int))-sizeof(int))) =3D (datum))= ) - -# define obstack_ptr_grow_fast(h,aptr) \ - (*((const char **) (h)->next_free)++ =3D (aptr)) - -# define obstack_int_grow_fast(h,aint) \ - (*((int *) (h)->next_free)++ =3D (aint)) - -# define obstack_blank(h,length) \ -( (h)->temp =3D (length), \ - (((h)->chunk_limit - (h)->next_free < (h)->temp) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ - ((h)->next_free +=3D (h)->temp)) - -# define obstack_alloc(h,length) \ - (obstack_blank ((h), (length)), obstack_finish ((h))) - -# define obstack_copy(h,where,length) \ - (obstack_grow ((h), (where), (length)), obstack_finish ((h))) - -# define obstack_copy0(h,where,length) \ - (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) - -# define obstack_finish(h) \ -( ((h)->next_free =3D=3D (h)->object_base \ - ? (((h)->maybe_empty_object =3D 1), 0) \ - : 0), \ - (h)->temp =3D __PTR_TO_INT ((h)->object_base), \ - (h)->next_free \ - =3D __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask= ) \ - & ~ ((h)->alignment_mask)), \ - (((h)->next_free - (char *) (h)->chunk \ - > (h)->chunk_limit - (char *) (h)->chunk) \ - ? ((h)->next_free =3D (h)->chunk_limit) : 0), \ - (h)->object_base =3D (h)->next_free, \ - (void *) __INT_TO_PTR ((h)->temp)) - -# if defined __STDC__ && __STDC__ -# define obstack_free(h,obj) \ -( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ - (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ - ? (int) ((h)->next_free =3D (h)->object_base \ - =3D (h)->temp + (char *) (h)->chunk) \ - : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) -# else -# define obstack_free(h,obj) \ -( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ - (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ - ? (int) ((h)->next_free =3D (h)->object_base \ - =3D (h)->temp + (char *) (h)->chunk) \ - : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0))) -# endif - -#endif /* not __GNUC__ or not __STDC__ */ - -#ifdef __cplusplus -} /* C++ */ -#endif - -#endif /* obstack.h */ Index: gnulib/lib/stdbool_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/lib/stdbool_.h diff -N gnulib/lib/stdbool_.h --- gnulib/lib/stdbool_.h 4 Sep 2003 14:02:05 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,92 +0,0 @@ -/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - 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 Foundatio= n, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _STDBOOL_H -#define _STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) =3D=3D 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be us= ed. - - - You cannot assume that _Bool is a typedef; it might be a macro.= - - - In C99, casts and automatic conversions to '_Bool' or 'bool' ar= e - performed in such a way that every nonzero value gets converted= - to 'true', and zero gets converted to 'false'. This doesn't wo= rk - with this substitute. With this substitute, only the values 0 = and 1 - give the expected result when converted to _Bool' or 'bool'. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the sam= e - definitions below, but temporarily we have to #undef them. */ -#ifdef __BEOS__ -# undef false -# undef true -#endif - -/* For the sake of symbolic names in gdb, we define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false =3D 0, true =3D 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But if we do - this, values of type '_Bool' may promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -#ifndef __cplusplus -# if !@HAVE__BOOL@ -# if defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ =3D=3D 1) - /* Avoid stupid "warning: _Bool is a keyword in ISO C99". */ -# define _Bool signed char -enum { false =3D 0, true =3D 1 }; -# else -typedef enum { _Bool_must_promote_to_int =3D -1, false =3D 0, true =3D 1= } _Bool; -# endif -# endif -#else -typedef bool _Bool; -#endif -#define bool _Bool - -/* The other macros must be usable in preprocessor directives. */ -#define false 0 -#define true 1 -#define __bool_true_false_are_defined 1 - -#endif /* _STDBOOL_H */ Index: gnulib/m4/.cvsignore =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/.cvsignore diff -N gnulib/m4/.cvsignore --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/.cvsignore 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,8 @@ +*.o +*.lo +*.la +obstack.h +.deps +.libs +Makefile +Makefile.in Index: gnulib/m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/Makefile.am diff -N gnulib/m4/Makefile.am --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/Makefile.am 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,67 @@ +## This file is part of GNU m4 +## Copyright (C) 2003 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 of the License, 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; see the file COPYING. If not, write to +## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +## Boston, MA 02111-1307, USA. +## +## Written by Gary V. Vaughan + +AM_LDFLAGS =3D -no-undefined -export-dynamic +BUILT_SOURCES =3D + +noinst_LTLIBRARIES =3D libgnu.la +libgnu_la_SOURCES =3D +libgnu_la_LIBADD =3D $(LTLIBOBJS) $(LTLIBINTL) + +pkgincdir =3D $(includedir)/@PACKAGE@ +pkginc_HEADERS =3D $(OBSTACK_H) $(STDBOOL_H) +EXTRA_HEADERS =3D obstack.h stdbool.h +EXTRA_DIST =3D + +MOSTLYCLEANFILES =3D +MAINTAINERCLEANFILES =3D Makefile.in + + +# --------------------------- # +# Gnulib Makefile.am snippets # +# --------------------------- # + +## obstack: (not yet in gnulib) +BUILT_SOURCES +=3D $(OBSTACK_H) +EXTRA_DIST +=3D obstack_.h + +all-local $(lib_OBJECTS): $(OBSTACK_H) +obstack.h: obstack_.h + rm -f $@ && $(LN_S) obstack_.h $@ + +MOSTLYCLEANFILES +=3D obstack.h + + +## stdbool: +BUILT_SOURCES +=3D $(STDBOOL_H) +EXTRA_DIST +=3D stdbool_.h + +# We need the following in order to create an when the syste= m +# doesn't have one that works. +all-local $(lib_OBJECTS): $(STDBOOL_H) +stdbool.h: $(gnulib_srcdir)/stdbool_.h + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(gnulib_srcdir)/stdbool_= =2Eh > $@-t + mv $@-t $@ + +MOSTLYCLEANFILES +=3D stdbool.h stdbool.h-t + + +## unlocked-io: +libgnu_la_SOURCES +=3D unlocked-io.h Index: gnulib/m4/obstack.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/obstack.c diff -N gnulib/m4/obstack.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/obstack.c 5 Sep 2003 18:29:57 -0000 @@ -0,0 +1,616 @@ +/* obstack.c - subroutines used implicitly by object stack macros + Copyright (C) 1988-1994, 1996-1999, 2000-2002 Free Software Foundatio= n, 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include "obstack.h" + +/* NOTE BEFORE MODIFYING THIS FILE: This version number must be + incremented whenever callers compiled using an old obstack.h can no + longer properly call the functions in this obstack.c. */ +#define OBSTACK_INTERFACE_VERSION 1 + +/* Comment out all this code if we are using the GNU C Library, and are = not + actually compiling the library itself, and the installed library + supports the same library interface we do. This code is part of the = GNU + C Library, but also included in many other GNU distributions. Compil= ing + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU= + program understand `configure --with-gnu-libc' and omit the object + files, it is simpler to just do this in the source for each such file= =2E */ + +#include /* Random thing to get __GNU_LIBRARY__. */ +#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 +# include +# if _GNU_OBSTACK_INTERFACE_VERSION =3D=3D OBSTACK_INTERFACE_VERSION +# define ELIDE_CODE +# endif +#endif + +#if defined _LIBC && defined USE_IN_LIBIO +# include +#endif + +#ifndef ELIDE_CODE + + +# if defined __STDC__ && __STDC__ +# define POINTER void * +# else +# define POINTER char * +# endif + +/* Determine default alignment. */ +struct fooalign {char x; double d;}; +# define DEFAULT_ALIGNMENT \ + ((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0)) +/* If malloc were really smart, it would round addresses to DEFAULT_ALIG= NMENT. + But in fact it might be less smart and round addresses to as much as + DEFAULT_ROUNDING. So we prepare for it to do that. */ +union fooround {long x; double d;}; +# define DEFAULT_ROUNDING (sizeof (union fooround)) + +/* When we copy a long block of data, this is the unit to do it with. + On some machines, copying successive ints does not work; + in such a case, redefine COPYING_UNIT to `long' (if that works) + or `char' as a last resort. */ +# ifndef COPYING_UNIT +# define COPYING_UNIT int +# endif + + +/* The functions allocating more room by calling `obstack_chunk_alloc' + jump to the handler pointed to by `obstack_alloc_failed_handler'. + This can be set to a user defined function which should either + abort gracefully or use longjump - but shouldn't return. This + variable by default points to the internal function + `print_and_abort'. */ +# if defined __STDC__ && __STDC__ +static void print_and_abort (void); +void (*obstack_alloc_failed_handler) (void) =3D print_and_abort; +# else +static void print_and_abort (); +void (*obstack_alloc_failed_handler) () =3D print_and_abort; +# endif + +/* Exit value used when `print_and_abort' is used. */ +# if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H +# include +# endif +# ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +# endif +int obstack_exit_failure =3D EXIT_FAILURE; + +/* The non-GNU-C macros copy the obstack into this global variable + to avoid multiple evaluation. */ + +struct obstack *_obstack; + +/* Define a macro that either calls functions with the traditional mallo= c/free + calling interface, or calls functions with the mmalloc/mfree interfac= e + (that adds an extra first argument), based on the state of use_extra_= arg. + For free, do not use ?:, since some compilers, like the MIPS compiler= s, + do not allow (expr) ? void : void. */ + +# if defined __STDC__ && __STDC__ +# define CALL_CHUNKFUN(h, size) \ + (((h) -> use_extra_arg) \ + ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ + : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) + +# define CALL_FREEFUN(h, old_chunk) \ + do { \ + if ((h) -> use_extra_arg) \ + (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ + else \ + (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ + } while (0) +# else +# define CALL_CHUNKFUN(h, size) \ + (((h) -> use_extra_arg) \ + ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ + : (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size))) + +# define CALL_FREEFUN(h, old_chunk) \ + do { \ + if ((h) -> use_extra_arg) \ + (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ + else \ + (*(void (*) ()) (h)->freefun) ((old_chunk)); \ + } while (0) +# endif + +=0C +/* Initialize an obstack H for use. Specify chunk size SIZE (0 means de= fault). + Objects start on multiples of ALIGNMENT (0 means use default). + CHUNKFUN is the function to use to allocate chunks, + and FREEFUN the function to free them. + + Return nonzero if successful, calls obstack_alloc_failed_handler if + allocation fails. */ + +int +_obstack_begin (h, size, alignment, chunkfun, freefun) + struct obstack *h; + int size; + int alignment; +# if defined __STDC__ && __STDC__ + POINTER (*chunkfun) (long); + void (*freefun) (void *); +# else + POINTER (*chunkfun) (); + void (*freefun) (); +# endif +{ + register struct _obstack_chunk *chunk; /* points to new chunk */ + + if (alignment =3D=3D 0) + alignment =3D (int) DEFAULT_ALIGNMENT; + if (size =3D=3D 0) + /* Default size is what GNU malloc can fit in a 4096-byte block. */= + { + /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. + Use the values for range checking, because if range checking is off, + the extra bytes won't be missed terribly, but if range checking is on + and we used a larger request, a whole extra 4096 bytes would be + allocated. + + These number are irrelevant to the new GNU malloc. I suspect it is + less sensitive to the size of the request. */ + int extra =3D ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING = - 1)) + + 4 + DEFAULT_ROUNDING - 1) + & ~(DEFAULT_ROUNDING - 1)); + size =3D 4096 - extra; + } + +# if defined __STDC__ && __STDC__ + h->chunkfun =3D (struct _obstack_chunk * (*)(void *, long)) chunkfun; + h->freefun =3D (void (*) (void *, struct _obstack_chunk *)) freefun; +# else + h->chunkfun =3D (struct _obstack_chunk * (*)()) chunkfun; + h->freefun =3D freefun; +# endif + h->chunk_size =3D size; + h->alignment_mask =3D alignment - 1; + h->use_extra_arg =3D 0; + + chunk =3D h->chunk =3D CALL_CHUNKFUN (h, h -> chunk_size); + if (!chunk) + (*obstack_alloc_failed_handler) (); + h->next_free =3D h->object_base =3D chunk->contents; + h->chunk_limit =3D chunk->limit + =3D (char *) chunk + h->chunk_size; + chunk->prev =3D 0; + /* The initial chunk now contains no empty object. */ + h->maybe_empty_object =3D 0; + h->alloc_failed =3D 0; + return 1; +} + +int +_obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg) + struct obstack *h; + int size; + int alignment; +# if defined __STDC__ && __STDC__ + POINTER (*chunkfun) (POINTER, long); + void (*freefun) (POINTER, POINTER); +# else + POINTER (*chunkfun) (); + void (*freefun) (); +# endif + POINTER arg; +{ + register struct _obstack_chunk *chunk; /* points to new chunk */ + + if (alignment =3D=3D 0) + alignment =3D (int) DEFAULT_ALIGNMENT; + if (size =3D=3D 0) + /* Default size is what GNU malloc can fit in a 4096-byte block. */= + { + /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. + Use the values for range checking, because if range checking is off, + the extra bytes won't be missed terribly, but if range checking is on + and we used a larger request, a whole extra 4096 bytes would be + allocated. + + These number are irrelevant to the new GNU malloc. I suspect it is + less sensitive to the size of the request. */ + int extra =3D ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING = - 1)) + + 4 + DEFAULT_ROUNDING - 1) + & ~(DEFAULT_ROUNDING - 1)); + size =3D 4096 - extra; + } + +# if defined __STDC__ && __STDC__ + h->chunkfun =3D (struct _obstack_chunk * (*)(void *,long)) chunkfun; + h->freefun =3D (void (*) (void *, struct _obstack_chunk *)) freefun; +# else + h->chunkfun =3D (struct _obstack_chunk * (*)()) chunkfun; + h->freefun =3D freefun; +# endif + h->chunk_size =3D size; + h->alignment_mask =3D alignment - 1; + h->extra_arg =3D arg; + h->use_extra_arg =3D 1; + + chunk =3D h->chunk =3D CALL_CHUNKFUN (h, h -> chunk_size); + if (!chunk) + (*obstack_alloc_failed_handler) (); + h->next_free =3D h->object_base =3D chunk->contents; + h->chunk_limit =3D chunk->limit + =3D (char *) chunk + h->chunk_size; + chunk->prev =3D 0; + /* The initial chunk now contains no empty object. */ + h->maybe_empty_object =3D 0; + h->alloc_failed =3D 0; + return 1; +} + +/* Allocate a new current chunk for the obstack *H + on the assumption that LENGTH bytes need to be added + to the current object, or a new object of length LENGTH allocated. + Copies any partial object from the end of the old chunk + to the beginning of the new one. */ + +void +_obstack_newchunk (h, length) + struct obstack *h; + int length; +{ + register struct _obstack_chunk *old_chunk =3D h->chunk; + register struct _obstack_chunk *new_chunk; + register long new_size; + register long obj_size =3D h->next_free - h->object_base; + register long i; + long already; + char *object_base; + + /* Compute size for new chunk. */ + new_size =3D (obj_size + length) + (obj_size >> 3) + h->alignment_mask= + 100; + if (new_size < h->chunk_size) + new_size =3D h->chunk_size; + + /* Allocate and initialize the new chunk. */ + new_chunk =3D CALL_CHUNKFUN (h, new_size); + if (!new_chunk) + (*obstack_alloc_failed_handler) (); + h->chunk =3D new_chunk; + new_chunk->prev =3D old_chunk; + new_chunk->limit =3D h->chunk_limit =3D (char *) new_chunk + new_size;= + + /* Compute an aligned object_base in the new chunk */ + object_base =3D + __INT_TO_PTR ((__PTR_TO_INT (new_chunk->contents) + h->alignment_mas= k) + & ~ (h->alignment_mask)); + + /* Move the existing object to the new chunk. + Word at a time is fast and is safe if the object + is sufficiently aligned. */ + if (h->alignment_mask + 1 >=3D DEFAULT_ALIGNMENT) + { + for (i =3D obj_size / sizeof (COPYING_UNIT) - 1; + i >=3D 0; i--) + ((COPYING_UNIT *)object_base)[i] + =3D ((COPYING_UNIT *)h->object_base)[i]; + /* We used to copy the odd few remaining bytes as one extra COPYIN= G_UNIT, + but that can cross a page boundary on a machine + which does not do strict alignment for COPYING_UNITS. */ + already =3D obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNI= T); + } + else + already =3D 0; + /* Copy remaining bytes one by one. */ + for (i =3D already; i < obj_size; i++) + object_base[i] =3D h->object_base[i]; + + /* If the object just copied was the only data in OLD_CHUNK, + free that chunk and remove it from the chain. + But not if that chunk might contain an empty object. */ + if (h->object_base =3D=3D old_chunk->contents && ! h->maybe_empty_obje= ct) + { + new_chunk->prev =3D old_chunk->prev; + CALL_FREEFUN (h, old_chunk); + } + + h->object_base =3D object_base; + h->next_free =3D h->object_base + obj_size; + /* The new chunk certainly contains no empty object yet. */ + h->maybe_empty_object =3D 0; +} + +/* Return nonzero if object OBJ has been allocated from obstack H. + This is here for debugging. + If you use it in a program, you are probably losing. */ + +# if defined __STDC__ && __STDC__ +/* Suppress -Wmissing-prototypes warning. We don't want to declare this= in + obstack.h because it is just for debugging. */ +int _obstack_allocated_p (struct obstack *h, POINTER obj); +# endif + +int +_obstack_allocated_p (h, obj) + struct obstack *h; + POINTER obj; +{ + register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ + register struct _obstack_chunk *plp; /* point to previous chunk if any= */ + + lp =3D (h)->chunk; + /* We use >=3D rather than > since the object cannot be exactly at + the beginning of the chunk but might be an empty object exactly + at the end of an adjacent chunk. */ + while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) + { + plp =3D lp->prev; + lp =3D plp; + } + return lp !=3D 0; +} +=0C +/* Free objects in obstack H, including OBJ and everything allocate + more recently than OBJ. If OBJ is zero, free everything in H. */ + +# undef obstack_free + +/* This function has two names with identical definitions. + This is the first one, called from non-ANSI code. */ + +void +_obstack_free (h, obj) + struct obstack *h; + POINTER obj; +{ + register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ + register struct _obstack_chunk *plp; /* point to previous chunk if any= */ + + lp =3D h->chunk; + /* We use >=3D because there cannot be an object at the beginning of a= chunk. + But there can be an empty object at that address + at the end of another chunk. */ + while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) + { + plp =3D lp->prev; + CALL_FREEFUN (h, lp); + lp =3D plp; + /* If we switch chunks, we can't tell whether the new current + chunk contains an empty object, so assume that it may. */ + h->maybe_empty_object =3D 1; + } + if (lp) + { + h->object_base =3D h->next_free =3D (char *) (obj); + h->chunk_limit =3D lp->limit; + h->chunk =3D lp; + } + else if (obj !=3D 0) + /* obj is not in any of the chunks! */ + abort (); +} + +/* This function is used from ANSI code. */ + +void +obstack_free (h, obj) + struct obstack *h; + POINTER obj; +{ + register struct _obstack_chunk *lp; /* below addr of any objects in th= is chunk */ + register struct _obstack_chunk *plp; /* point to previous chunk if any= */ + + lp =3D h->chunk; + /* We use >=3D because there cannot be an object at the beginning of a= chunk. + But there can be an empty object at that address + at the end of another chunk. */ + while (lp !=3D 0 && ((POINTER) lp >=3D obj || (POINTER) (lp)->limit < = obj)) + { + plp =3D lp->prev; + CALL_FREEFUN (h, lp); + lp =3D plp; + /* If we switch chunks, we can't tell whether the new current + chunk contains an empty object, so assume that it may. */ + h->maybe_empty_object =3D 1; + } + if (lp) + { + h->object_base =3D h->next_free =3D (char *) (obj); + h->chunk_limit =3D lp->limit; + h->chunk =3D lp; + } + else if (obj !=3D 0) + /* obj is not in any of the chunks! */ + abort (); +} +=0C +int +_obstack_memory_used (h) + struct obstack *h; +{ + register struct _obstack_chunk* lp; + register int nbytes =3D 0; + + for (lp =3D h->chunk; lp !=3D 0; lp =3D lp->prev) + { + nbytes +=3D lp->limit - (char *) lp; + } + return nbytes; +} +=0C +/* Define the error handler. */ +# ifdef _LIBC +# include +# else +# include "gettext.h" +# endif +# define _(msgid) gettext (msgid) + +# if defined _LIBC && defined USE_IN_LIBIO +# include +# define fputs(s, f) _IO_fputs (s, f) +# endif + +# ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 5) +# define __attribute__(Spec) /* empty */ +# endif +# endif + +static void +__attribute__ ((noreturn)) +print_and_abort () +{ + /* Don't change any of these strings. Yes, it would be possible to ad= d + the newline to the string and use fputs or so. But this must not + happen because the "memory exhausted" message appears in other plac= es + like this and the translation should be reused instead of creating + a very similar string which requires a separate translation. */ +# if defined _LIBC && defined USE_IN_LIBIO + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s\n", _("memory exhausted")); + else +# endif + fprintf (stderr, "%s\n", _("memory exhausted")); + exit (obstack_exit_failure); +} +=0C +# if 0 +/* These are now turned off because the applications do not use it + and it uses bcopy via obstack_grow, which causes trouble on sysV. */= + +/* Now define the functional versions of the obstack macros. + Define them to simply use the corresponding macros to do the job. */= + +# if defined __STDC__ && __STDC__ +/* These function definitions do not work with non-ANSI preprocessors; + they won't pass through the macro names in parentheses. */ + +/* The function names appear in parentheses in order to prevent + the macro-definitions of the names from being expanded there. */ + +POINTER (obstack_base) (obstack) + struct obstack *obstack; +{ + return obstack_base (obstack); +} + +POINTER (obstack_next_free) (obstack) + struct obstack *obstack; +{ + return obstack_next_free (obstack); +} + +int (obstack_object_size) (obstack) + struct obstack *obstack; +{ + return obstack_object_size (obstack); +} + +int (obstack_room) (obstack) + struct obstack *obstack; +{ + return obstack_room (obstack); +} + +int (obstack_make_room) (obstack, length) + struct obstack *obstack; + int length; +{ + return obstack_make_room (obstack, length); +} + +void (obstack_grow) (obstack, data, length) + struct obstack *obstack; + const POINTER data; + int length; +{ + obstack_grow (obstack, data, length); +} + +void (obstack_grow0) (obstack, data, length) + struct obstack *obstack; + const POINTER data; + int length; +{ + obstack_grow0 (obstack, data, length); +} + +void (obstack_1grow) (obstack, character) + struct obstack *obstack; + int character; +{ + obstack_1grow (obstack, character); +} + +void (obstack_blank) (obstack, length) + struct obstack *obstack; + int length; +{ + obstack_blank (obstack, length); +} + +void (obstack_1grow_fast) (obstack, character) + struct obstack *obstack; + int character; +{ + obstack_1grow_fast (obstack, character); +} + +void (obstack_blank_fast) (obstack, length) + struct obstack *obstack; + int length; +{ + obstack_blank_fast (obstack, length); +} + +POINTER (obstack_finish) (obstack) + struct obstack *obstack; +{ + return obstack_finish (obstack); +} + +POINTER (obstack_alloc) (obstack, length) + struct obstack *obstack; + int length; +{ + return obstack_alloc (obstack, length); +} + +POINTER (obstack_copy) (obstack, address, length) + struct obstack *obstack; + const POINTER address; + int length; +{ + return obstack_copy (obstack, address, length); +} + +POINTER (obstack_copy0) (obstack, address, length) + struct obstack *obstack; + const POINTER address; + int length; +{ + return obstack_copy0 (obstack, address, length); +} + +# endif /* __STDC__ */ + +# endif /* 0 */ + +#endif /* !ELIDE_CODE */ Index: gnulib/m4/obstack.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/obstack.m4 diff -N gnulib/m4/obstack.m4 --- gnulib/m4/obstack.m4 4 Sep 2003 16:04:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,24 +0,0 @@ -# obstack.m4 serial 1 -dnl Copyright (C) 2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -AC_DEFUN([gl_OBSTACK], -[ - dnl Prerequisites of lib/obstack.h. - AC_CHECK_HEADERS_ONCE(stddef.h string.h) - - AC_FUNC_OBSTACK - dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]). - if test $ac_cv_func_obstack =3D no; then - gl_PREREQ_OBSTACK - fi -]) - -# Prerequisites of lib/obstack.c. -AC_DEFUN([gl_PREREQ_OBSTACK], [ - AC_CHECK_HEADERS_ONCE(stdlib.h) -]) Index: gnulib/m4/obstack_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/obstack_.h diff -N gnulib/m4/obstack_.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/obstack_.h 5 Sep 2003 18:29:58 -0000 @@ -0,0 +1,608 @@ +/* obstack.h - object stack macros + Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99,2003 Free Software F= oundation, Inc. + + This file is part of the GNU C Library. Its master source is NOT par= t of + the C library, however. The master source lives in /gd/gnu/lib. + + NOTE: The canonical source of this file is maintained with the GNU C = Library. + Bugs can be reported to bug-glibc@gnu.org. + + 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Summary: + +All the apparent functions defined here are macros. The idea +is that you would use these pre-tested macros to solve a +very specific set of problems, and they would run fast. +Caution: no side-effects in arguments please!! They may be +evaluated MANY times!! + +These macros operate a stack of objects. Each object starts life +small, and may grow to maturity. (Consider building a word syllable +by syllable.) An object can move while it is growing. Once it has +been "finished" it never changes address again. So the "top of the +stack" is typically an immature growing object, while the rest of the +stack is of mature, fixed size and fixed address objects. + +These routines grab large chunks of memory, using a function you +supply, called `obstack_chunk_alloc'. On occasion, they free chunks, +by calling `obstack_chunk_free'. You must define them and declare +them before using any obstack macros. + +Each independent stack is represented by a `struct obstack'. +Each of the obstack macros expects a pointer to such a structure +as the first argument. + +One motivation for this package is the problem of growing char strings +in symbol tables. Unless you are "fascist pig with a read-only mind" +--Gosper's immortal quote from HAKMEM item 154, out of context--you +would not like to put any arbitrary upper limit on the length of your +symbols. + +In practice this often means you will build many short symbols and a +few long symbols. At the time you are reading a symbol you don't know +how long it is. One traditional method is to read a symbol into a +buffer, realloc()ating the buffer every time you try to read a symbol +that is longer than the buffer. This is beaut, but you still will +want to copy the symbol from the buffer to a more permanent +symbol-table entry say about half the time. + +With obstacks, you can work differently. Use one obstack for all symbol= +names. As you read a symbol, grow the name in the obstack gradually. +When the name is complete, finalize it. Then, if the symbol exists alre= ady, +free the newly read name. + +The way we do this is to take a large chunk, allocating memory from +low addresses. When you want to build a symbol in the chunk you just +add chars above the current "high water mark" in the chunk. When you +have finished adding chars, because you got to the end of the symbol, +you know how long the chars are, and you can create a new object. +Mostly the chars will not burst over the highest address of the chunk, +because you would typically expect a chunk to be (say) 100 times as +long as an average object. + +In case that isn't clear, when we have enough chars to make up +the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) +so we just point to it where it lies. No moving of chars is +needed and this is the second win: potentially long strings need +never be explicitly shuffled. Once an object is formed, it does not +change its address during its lifetime. + +When the chars burst over a chunk boundary, we allocate a larger +chunk, and then copy the partly formed object from the end of the old +chunk to the beginning of the new larger chunk. We then carry on +accreting characters to the end of the object as we normally would. + +A special macro is provided to add a single char at a time to a +growing object. This allows the use of register variables, which +break the ordinary 'growth' macro. + +Summary: + We allocate large chunks. + We carve out one object at a time from the current chunk. + Once carved, an object never moves. + We are free to append data of any size to the currently + growing object. + Exactly one object is growing in an obstack at any one time. + You can run one obstack per control block. + You may have as many control blocks as you dare. + Because of the way we do it, you can `unwind' an obstack + back to a previous state. (You may remove objects much + as you would with a stack.) +*/ + + +/* Don't do the contents of this file more than once. */ + +#ifndef _OBSTACK_H +#define _OBSTACK_H 1 + +#ifdef __cplusplus +extern "C" { +#endif +=0C +/* We use subtraction of (char *) 0 instead of casting to int + because on word-addressable machines a simple cast to int + may ignore the byte-within-word field of the pointer. */ + +#ifndef __PTR_TO_INT +# define __PTR_TO_INT(P) ((P) - (char *) 0) +#endif + +#ifndef __INT_TO_PTR +# define __INT_TO_PTR(P) ((P) + (char *) 0) +#endif + +/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is + defined, as with GNU C, use that; that way we don't pollute the + namespace with 's symbols. Otherwise, if is + available, include it and use ptrdiff_t. In traditional C, long is + the best that we can do. */ + +#ifdef __PTRDIFF_TYPE__ +# define PTR_INT_TYPE __PTRDIFF_TYPE__ +#else +# ifdef HAVE_STDDEF_H +# include +# define PTR_INT_TYPE ptrdiff_t +# else +# define PTR_INT_TYPE long +# endif +#endif + +#if defined _LIBC || defined HAVE_STRING_H +# include +# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +#else +# ifdef memcpy +# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +# else +# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N)) +# endif +#endif + +struct _obstack_chunk /* Lives at front of each chunk. */ +{ + char *limit; /* 1 past end of this chunk */ + struct _obstack_chunk *prev; /* address of prior chunk or NULL */ + char contents[4]; /* objects begin here */ +}; + +struct obstack /* control current object in current chunk */ +{ + long chunk_size; /* preferred size to allocate chunks in */ + struct _obstack_chunk *chunk; /* address of current struct obstack_chu= nk */ + char *object_base; /* address of object we are building */ + char *next_free; /* where to add next char to current object */ + char *chunk_limit; /* address of char after current chunk */ + PTR_INT_TYPE temp; /* Temporary for some macros. */ + int alignment_mask; /* Mask of alignment for each object. */ +#if defined __STDC__ && __STDC__ + /* These prototypes vary based on `use_extra_arg', and we use + casts to the prototypeless function type in all assignments, + but having prototypes here quiets -Wstrict-prototypes. */ + struct _obstack_chunk *(*chunkfun) (void *, long); + void (*freefun) (void *, struct _obstack_chunk *); + void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ +#else + struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chu= nk. */ + void (*freefun) (); /* User's function to free a chunk. */ + char *extra_arg; /* first arg for chunk alloc/dealloc funcs */ +#endif + unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg = */ + unsigned maybe_empty_object:1;/* There is a possibility that the curre= nt + chunk contains a zero-length object. This + prevents freeing the chunk if we allocate + a bigger chunk to replace it. */ + unsigned alloc_failed:1; /* No longer used, as we now call the failed + handler on error, but retained for binary + compatibility. */ +}; + +/* Declare the external functions we use; they are in obstack.c. */ + +#if defined __STDC__ && __STDC__ +extern void _obstack_newchunk (struct obstack *, int); +extern void _obstack_free (struct obstack *, void *); +extern int _obstack_begin (struct obstack *, int, int, + void *(*) (long), void (*) (void *)); +extern int _obstack_begin_1 (struct obstack *, int, int, + void *(*) (void *, long), + void (*) (void *, void *), void *); +extern int _obstack_memory_used (struct obstack *); +#else +extern void _obstack_newchunk (); +extern void _obstack_free (); +extern int _obstack_begin (); +extern int _obstack_begin_1 (); +extern int _obstack_memory_used (); +#endif +=0C +#if defined __STDC__ && __STDC__ + +/* Do the function-declarations after the structs + but before defining the macros. */ + +void obstack_init (struct obstack *obstack); + +void * obstack_alloc (struct obstack *obstack, int size); + +void * obstack_copy (struct obstack *obstack, const void *address, int s= ize); +void * obstack_copy0 (struct obstack *obstack, const void *address, int = size); + +void obstack_free (struct obstack *obstack, void *block); + +void obstack_blank (struct obstack *obstack, int size); + +void obstack_grow (struct obstack *obstack, const void *data, int size);= +void obstack_grow0 (struct obstack *obstack, const void *data, int size)= ; + +void obstack_1grow (struct obstack *obstack, int data_char); +void obstack_ptr_grow (struct obstack *obstack, const void *data); +void obstack_int_grow (struct obstack *obstack, int data); + +void * obstack_finish (struct obstack *obstack); + +int obstack_object_size (struct obstack *obstack); + +int obstack_room (struct obstack *obstack); +void obstack_make_room (struct obstack *obstack, int size); +void obstack_1grow_fast (struct obstack *obstack, int data_char); +void obstack_ptr_grow_fast (struct obstack *obstack, const void *data); +void obstack_int_grow_fast (struct obstack *obstack, int data); +void obstack_blank_fast (struct obstack *obstack, int size); + +void * obstack_base (struct obstack *obstack); +void * obstack_next_free (struct obstack *obstack); +int obstack_alignment_mask (struct obstack *obstack); +int obstack_chunk_size (struct obstack *obstack); +int obstack_memory_used (struct obstack *obstack); + +#endif /* __STDC__ */ + +/* Non-ANSI C cannot really support alternative functions for these macr= os, + so we do not declare them. */ + +/* Error handler called when `obstack_chunk_alloc' failed to allocate + more memory. This can be set to a user defined function which + should either abort gracefully or use longjump - but shouldn't + return. The default action is to print a message and abort. */ +#if defined __STDC__ && __STDC__ +extern void (*obstack_alloc_failed_handler) (void); +#else +extern void (*obstack_alloc_failed_handler) (); +#endif + +/* Exit value used when `print_and_abort' is used. */ +extern int obstack_exit_failure; +=0C +/* Pointer to beginning of object being allocated or to be allocated nex= t. + Note that this might not be the final address of the object + because a new chunk might be needed to hold the final size. */ + +#define obstack_base(h) ((h)->object_base) + +/* Size for allocating ordinary chunks. */ + +#define obstack_chunk_size(h) ((h)->chunk_size) + +/* Pointer to next byte not yet allocated in current chunk. */ + +#define obstack_next_free(h) ((h)->next_free) + +/* Mask specifying low bits that should be clear in address of an object= =2E */ + +#define obstack_alignment_mask(h) ((h)->alignment_mask) + +/* To prevent prototype warnings provide complete argument list in + standard C version. */ +#if defined __STDC__ && __STDC__ + +# define obstack_init(h) \ + _obstack_begin ((h), 0, 0, \ + (void *(*) (long)) obstack_chunk_alloc, \ + (void (*) (void *)) obstack_chunk_free) + +# define obstack_begin(h, size) \ + _obstack_begin ((h), (size), 0, \ + (void *(*) (long)) obstack_chunk_alloc, \ + (void (*) (void *)) obstack_chunk_free) + +# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ + _obstack_begin ((h), (size), (alignment), \ + (void *(*) (long)) (chunkfun), \ + (void (*) (void *)) (freefun)) + +# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ + _obstack_begin_1 ((h), (size), (alignment), \ + (void *(*) (void *, long)) (chunkfun), \ + (void (*) (void *, void *)) (freefun), (arg)) + +# define obstack_chunkfun(h, newchunkfun) \ + ((h) -> chunkfun =3D (struct _obstack_chunk *(*)(void *, long)) (newch= unkfun)) + +# define obstack_freefun(h, newfreefun) \ + ((h) -> freefun =3D (void (*)(void *, struct _obstack_chunk *)) (newfr= eefun)) + +#else + +# define obstack_init(h) \ + _obstack_begin ((h), 0, 0, \ + (void *(*) ()) obstack_chunk_alloc, \ + (void (*) ()) obstack_chunk_free) + +# define obstack_begin(h, size) \ + _obstack_begin ((h), (size), 0, \ + (void *(*) ()) obstack_chunk_alloc, \ + (void (*) ()) obstack_chunk_free) + +# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ + _obstack_begin ((h), (size), (alignment), \ + (void *(*) ()) (chunkfun), \ + (void (*) ()) (freefun)) + +# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ + _obstack_begin_1 ((h), (size), (alignment), \ + (void *(*) ()) (chunkfun), \ + (void (*) ()) (freefun), (arg)) + +# define obstack_chunkfun(h, newchunkfun) \ + ((h) -> chunkfun =3D (struct _obstack_chunk *(*)()) (newchunkfun)) + +# define obstack_freefun(h, newfreefun) \ + ((h) -> freefun =3D (void (*)()) (newfreefun)) + +#endif + +#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ =3D achar) + +#define obstack_blank_fast(h,n) ((h)->next_free +=3D (n)) + +#define obstack_memory_used(h) _obstack_memory_used (h) +=0C +#if defined __GNUC__ && defined __STDC__ && __STDC__ +/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ =3D 2 and + does not implement __extension__. But that compiler doesn't define + __GNUC_MINOR__. */ +# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) +# define __extension__ +# endif + +/* For GNU C, if not -traditional, + we can define these macros to compute all args only once + without using a global variable. + Also, we can avoid using the `temp' slot, to make faster code. */ + +# define obstack_object_size(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (unsigned) (__o->next_free - __o->object_base); }) + +# define obstack_room(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (unsigned) (__o->chunk_limit - __o->next_free); }) + +# define obstack_make_room(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->chunk_limit - __o->next_free < __len) \ + _obstack_newchunk (__o, __len); \ + (void) 0; }) + +# define obstack_empty_p(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (__o->chunk->prev =3D=3D 0 && __o->next_free - __o->chunk->contents= =3D=3D 0); }) + +# define obstack_grow(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->next_free + __len > __o->chunk_limit) \ + _obstack_newchunk (__o, __len); \ + _obstack_memcpy (__o->next_free, (where), __len); \ + __o->next_free +=3D __len; \ + (void) 0; }) + +# define obstack_grow0(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->next_free + __len + 1 > __o->chunk_limit) \ + _obstack_newchunk (__o, __len + 1); \ + _obstack_memcpy (__o->next_free, (where), __len); \ + __o->next_free +=3D __len; \ + *(__o->next_free)++ =3D 0; \ + (void) 0; }) + +# define obstack_1grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + 1 > __o->chunk_limit) \ + _obstack_newchunk (__o, 1); \ + *(__o->next_free)++ =3D (datum); \ + (void) 0; }) + +/* These assume that the obstack alignment is good enough for pointers + or ints, and that the data added so far to the current object + shares that much alignment. */ + +# define obstack_ptr_grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (void *)); \ + *((void **)__o->next_free)++ =3D (datum); \ + (void) 0; }) + +# define obstack_int_grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + sizeof (int) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (int)); \ + *((int *)__o->next_free)++ =3D (datum); \ + (void) 0; }) + +# define obstack_ptr_grow_fast(h,aptr) \ + (*((void **) (h)->next_free)++ =3D (aptr)) + +# define obstack_int_grow_fast(h,aint) \ + (*((int *) (h)->next_free)++ =3D (aint)) + +# define obstack_blank(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->chunk_limit - __o->next_free < __len) \ + _obstack_newchunk (__o, __len); \ + __o->next_free +=3D __len; \ + (void) 0; }) + +# define obstack_alloc(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_blank (__h, (length)); \ + obstack_finish (__h); }) + +# define obstack_copy(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_grow (__h, (where), (length)); \ + obstack_finish (__h); }) + +# define obstack_copy0(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_grow0 (__h, (where), (length)); \ + obstack_finish (__h); }) + +/* The local variable is named __o1 to avoid a name conflict + when obstack_blank is called. */ +# define obstack_finish(OBSTACK) \ +__extension__ \ +({ struct obstack *__o1 =3D (OBSTACK); \ + void *value; \ + value =3D (void *) __o1->object_base; \ + if (__o1->next_free =3D=3D value) \ + __o1->maybe_empty_object =3D 1; \ + __o1->next_free \ + =3D __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_m= ask)\ + & ~ (__o1->alignment_mask)); \ + if (__o1->next_free - (char *)__o1->chunk \ + > __o1->chunk_limit - (char *)__o1->chunk) \ + __o1->next_free =3D __o1->chunk_limit; \ + __o1->object_base =3D __o1->next_free; \ + value; }) + +# define obstack_free(OBSTACK, OBJ) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + void *__obj =3D (OBJ); \ + if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) = \ + __o->next_free =3D __o->object_base =3D (char *)__obj; \ + else (obstack_free) (__o, __obj); }) +=0C +#else /* not __GNUC__ or not __STDC__ */ + +# define obstack_object_size(h) \ + (unsigned) ((h)->next_free - (h)->object_base) + +# define obstack_room(h) \ + (unsigned) ((h)->chunk_limit - (h)->next_free) + +# define obstack_empty_p(h) \ + ((h)->chunk->prev =3D=3D 0 && (h)->next_free - (h)->chunk->contents =3D= =3D 0) + +/* Note that the call to _obstack_newchunk is enclosed in (..., 0) + so that we can avoid having void expressions + in the arms of the conditional expression. + Casting the third operand to void was tried before, + but some compilers won't accept it. */ + +# define obstack_make_room(h,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0)) + +# define obstack_grow(h,where,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ + _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ + (h)->next_free +=3D (h)->temp) + +# define obstack_grow0(h,where,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ + _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ + (h)->next_free +=3D (h)->temp, \ + *((h)->next_free)++ =3D 0) + +# define obstack_1grow(h,datum) \ +( (((h)->next_free + 1 > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), 1), 0) : 0), \ + (*((h)->next_free)++ =3D (datum))) + +# define obstack_ptr_grow(h,datum) \ +( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ + (*((const char **) (((h)->next_free+=3Dsizeof(char *))-sizeof(char *))= ) =3D (datum))) + +# define obstack_int_grow(h,datum) \ +( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ + (*((int *) (((h)->next_free+=3Dsizeof(int))-sizeof(int))) =3D (datum))= ) + +# define obstack_ptr_grow_fast(h,aptr) \ + (*((const char **) (h)->next_free)++ =3D (aptr)) + +# define obstack_int_grow_fast(h,aint) \ + (*((int *) (h)->next_free)++ =3D (aint)) + +# define obstack_blank(h,length) \ +( (h)->temp =3D (length), \ + (((h)->chunk_limit - (h)->next_free < (h)->temp) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ + ((h)->next_free +=3D (h)->temp)) + +# define obstack_alloc(h,length) \ + (obstack_blank ((h), (length)), obstack_finish ((h))) + +# define obstack_copy(h,where,length) \ + (obstack_grow ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_copy0(h,where,length) \ + (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_finish(h) \ +( ((h)->next_free =3D=3D (h)->object_base \ + ? (((h)->maybe_empty_object =3D 1), 0) \ + : 0), \ + (h)->temp =3D __PTR_TO_INT ((h)->object_base), \ + (h)->next_free \ + =3D __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask= ) \ + & ~ ((h)->alignment_mask)), \ + (((h)->next_free - (char *) (h)->chunk \ + > (h)->chunk_limit - (char *) (h)->chunk) \ + ? ((h)->next_free =3D (h)->chunk_limit) : 0), \ + (h)->object_base =3D (h)->next_free, \ + (void *) __INT_TO_PTR ((h)->temp)) + +# if defined __STDC__ && __STDC__ +# define obstack_free(h,obj) \ +( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ + (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ + ? (int) ((h)->next_free =3D (h)->object_base \ + =3D (h)->temp + (char *) (h)->chunk) \ + : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) +# else +# define obstack_free(h,obj) \ +( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ + (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ + ? (int) ((h)->next_free =3D (h)->object_base \ + =3D (h)->temp + (char *) (h)->chunk) \ + : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0))) +# endif + +#endif /* not __GNUC__ or not __STDC__ */ + +#ifdef __cplusplus +} /* C++ */ +#endif + +#endif /* obstack.h */ Index: gnulib/m4/onceonly_2_57.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/onceonly_2_57.m4 diff -N gnulib/m4/onceonly_2_57.m4 --- gnulib/m4/onceonly_2_57.m4 4 Sep 2003 16:04:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,86 +0,0 @@ -# onceonly_2_57.m4 serial 3 -dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl This file defines some "once only" variants of standard autoconf mac= ros. -dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS -dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS -dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS -dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC -dnl The advantage is that the check for each of the headers/functions/de= cls -dnl will be put only once into the 'configure' file. It keeps the size o= f -dnl the 'configure' file down, and avoids redundant output when 'configu= re' -dnl is run. -dnl The drawback is that the checks cannot be conditionalized. If you wr= ite -dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi -dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expan= ds to -dnl empty, and the check will be inserted before the body of the AC_DEFU= Ned -dnl function. - -dnl This is like onceonly.m4, except that it uses diversions to named se= ctions -dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at= once, -dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The= -dnl size reduction is ca. 9%. - -dnl Autoconf version 2.57 or newer is recommended. -AC_PREREQ(2.54) - -# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of -# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). -AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ - : - AC_FOREACH([gl_HEADER_NAME], [$1], [ - AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, - [./-], [___])), [ - m4_divert_text([INIT_PREPARE], - [gl_header_list=3D"$gl_header_list gl_HEADER_NAME"]) - gl_HEADERS_EXPANSION - AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])), - [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> heade= r file.]) - ]) - AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, - [./-], [___]))) - ]) -]) -m4_define([gl_HEADERS_EXPANSION], [ - m4_divert_text([DEFAULTS], [gl_header_list=3D]) - AC_CHECK_HEADERS([$gl_header_list]) - m4_define([gl_HEADERS_EXPANSION], []) -]) - -# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of -# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). -AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ - : - AC_FOREACH([gl_FUNC_NAME], [$1], [ - AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ - m4_divert_text([INIT_PREPARE], - [gl_func_list=3D"$gl_func_list gl_FUNC_NAME"]) - gl_FUNCS_EXPANSION - AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])), - [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' functio= n.]) - ]) - AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) - ]) -]) -m4_define([gl_FUNCS_EXPANSION], [ - m4_divert_text([DEFAULTS], [gl_func_list=3D]) - AC_CHECK_FUNCS([$gl_func_list]) - m4_define([gl_FUNCS_EXPANSION], []) -]) - -# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of -# AC_CHECK_DECLS(DECL1, DECL2, ...). -AC_DEFUN([AC_CHECK_DECLS_ONCE], [ - : - AC_FOREACH([gl_DECL_NAME], [$1], [ - AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ - AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) - ]) - AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) - ]) -]) Index: gnulib/m4/stdbool.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/stdbool.m4 diff -N gnulib/m4/stdbool.m4 --- gnulib/m4/stdbool.m4 4 Sep 2003 14:00:51 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,89 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -# Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# Prepare for substituting if it is not supported. - -AC_DEFUN([AM_STDBOOL_H], -[ - AC_REQUIRE([AC_HEADER_STDBOOL]) - - # Define two additional variables used in the Makefile substitution. - - if test "$ac_cv_header_stdbool_h" =3D yes; then - STDBOOL_H=3D'' - else - STDBOOL_H=3D'stdbool.h' - fi - AC_SUBST([STDBOOL_H]) - - if test "$ac_cv_type__Bool" =3D yes; then - HAVE__BOOL=3D1 - else - HAVE__BOOL=3D0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# This macro is only needed in autoconf <=3D 2.54. Newer versions of au= toconf -# have this macro built-in. - -AC_DEFUN([AC_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_TRY_COMPILE( - [ - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: false is not defined" - #endif - #if true !=3D 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true =3D=3D 1 ? 1 : -1]; - char b[false =3D=3D 0 ? 1 : -1]; - char c[__bool_true_false_are_defined =3D=3D 1 ? 1 : -1]; - char d[(bool) -0.5 =3D=3D true ? 1 : -1]; - bool e =3D &s; - char f[(_Bool) -0.0 =3D=3D false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - ], - [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ], - [ac_cv_header_stdbool_h=3Dyes], - [ac_cv_header_stdbool_h=3Dno])]) - AC_CHECK_TYPES([_Bool]) - if test $ac_cv_header_stdbool_h =3D yes; then - AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to = C99.]) - fi]) Index: gnulib/m4/stdbool_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/stdbool_.h diff -N gnulib/m4/stdbool_.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/stdbool_.h 5 Sep 2003 18:29:58 -0000 @@ -0,0 +1,92 @@ +/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + + 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _STDBOOL_H +#define _STDBOOL_H + +/* ISO C 99 for platforms that lack it. */ + +/* Usage suggestions: + + Programs that use should be aware of some limitations + and standards compliance issues. + + Standards compliance: + + - must be #included before 'bool', 'false', 'true' + can be used. + + - You cannot assume that sizeof (bool) =3D=3D 1. + + - Programs should not undefine the macros bool, true, and false, + as C99 lists that as an "obsolescent feature". + + Limitations of this substitute, when used in a C89 environment: + + - must be #included before the '_Bool' type can be us= ed. + + - You cannot assume that _Bool is a typedef; it might be a macro.= + + - In C99, casts and automatic conversions to '_Bool' or 'bool' ar= e + performed in such a way that every nonzero value gets converted= + to 'true', and zero gets converted to 'false'. This doesn't wo= rk + with this substitute. With this substitute, only the values 0 = and 1 + give the expected result when converted to _Bool' or 'bool'. + + Also, it is suggested that programs use 'bool' rather than '_Bool'; + this isn't required, but 'bool' is more common. */ + + +/* 7.16. Boolean type and values */ + +/* BeOS already #defines false 0, true 1. We use the sam= e + definitions below, but temporarily we have to #undef them. */ +#ifdef __BEOS__ +# undef false +# undef true +#endif + +/* For the sake of symbolic names in gdb, we define true and false as + enum constants, not only as macros. + It is tempting to write + typedef enum { false =3D 0, true =3D 1 } _Bool; + so that gdb prints values of type 'bool' symbolically. But if we do + this, values of type '_Bool' may promote to 'int' or 'unsigned int' + (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' + (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the + enum; this ensures that '_Bool' promotes to 'int'. */ +#ifndef __cplusplus +# if !@HAVE__BOOL@ +# if defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ =3D=3D 1) + /* Avoid stupid "warning: _Bool is a keyword in ISO C99". */ +# define _Bool signed char +enum { false =3D 0, true =3D 1 }; +# else +typedef enum { _Bool_must_promote_to_int =3D -1, false =3D 0, true =3D 1= } _Bool; +# endif +# endif +#else +typedef bool _Bool; +#endif +#define bool _Bool + +/* The other macros must be usable in preprocessor directives. */ +#define false 0 +#define true 1 +#define __bool_true_false_are_defined 1 + +#endif /* _STDBOOL_H */ Index: gnulib/m4/strtol.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/strtol.c diff -N gnulib/m4/strtol.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/strtol.c 5 Sep 2003 18:29:58 -0000 @@ -0,0 +1,478 @@ +/* Convert string representation of a number into an integer value. + Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc= =2E + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License a= s + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If n= ot, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, + Boston, MA 02111-1307, USA. */ + +#if HAVE_CONFIG_H +# include +#endif + +#ifdef _LIBC +# define USE_NUMBER_GROUPING +# define STDC_HEADERS +# define HAVE_LIMITS_H +#endif + +#include +#include +#ifndef errno +extern int errno; +#endif +#ifndef __set_errno +# define __set_errno(Val) errno =3D (Val) +#endif + +#ifdef HAVE_LIMITS_H +# include +#endif + +#ifdef STDC_HEADERS +# include +# include +# include +#else +# ifndef NULL +# define NULL 0 +# endif +#endif + +#ifdef USE_NUMBER_GROUPING +# include "../locale/localeinfo.h" +#endif + +/* Nonzero if we are defining `strtoul' or `strtoull', operating on + unsigned integers. */ +#ifndef UNSIGNED +# define UNSIGNED 0 +# define INT LONG int +#else +# define INT unsigned LONG int +#endif + +/* Determine the name. */ +#ifdef USE_IN_EXTENDED_LOCALE_MODEL +# if UNSIGNED +# ifdef USE_WIDE_CHAR +# ifdef QUAD +# define strtol __wcstoull_l +# else +# define strtol __wcstoul_l +# endif +# else +# ifdef QUAD +# define strtol __strtoull_l +# else +# define strtol __strtoul_l +# endif +# endif +# else +# ifdef USE_WIDE_CHAR +# ifdef QUAD +# define strtol __wcstoll_l +# else +# define strtol __wcstol_l +# endif +# else +# ifdef QUAD +# define strtol __strtoll_l +# else +# define strtol __strtol_l +# endif +# endif +# endif +#else +# if UNSIGNED +# ifdef USE_WIDE_CHAR +# ifdef QUAD +# define strtol wcstoull +# else +# define strtol wcstoul +# endif +# else +# ifdef QUAD +# define strtol strtoull +# else +# define strtol strtoul +# endif +# endif +# else +# ifdef USE_WIDE_CHAR +# ifdef QUAD +# define strtol wcstoll +# else +# define strtol wcstol +# endif +# else +# ifdef QUAD +# define strtol strtoll +# endif +# endif +# endif +#endif + +/* If QUAD is defined, we are defining `strtoll' or `strtoull', + operating on `long long int's. */ +#ifdef QUAD +# define LONG long long +# define STRTOL_LONG_MIN LONG_LONG_MIN +# define STRTOL_LONG_MAX LONG_LONG_MAX +# define STRTOL_ULONG_MAX ULONG_LONG_MAX +# if __GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 7 + /* Work around gcc bug with using this constant. */ + static const unsigned long long int maxquad =3D ULONG_LONG_MAX; +# undef STRTOL_ULONG_MAX +# define STRTOL_ULONG_MAX maxquad +# endif +#else +# define LONG long + +# ifndef ULONG_MAX +# define ULONG_MAX ((unsigned long) ~(unsigned long) 0) +# endif +# ifndef LONG_MAX +# define LONG_MAX ((long int) (ULONG_MAX >> 1)) +# endif +# define STRTOL_LONG_MIN LONG_MIN +# define STRTOL_LONG_MAX LONG_MAX +# define STRTOL_ULONG_MAX ULONG_MAX +#endif + + +/* We use this code also for the extended locale handling where the + function gets as an additional argument the locale which has to be + used. To access the values we have to redefine the _NL_CURRENT + macro. */ +#ifdef USE_IN_EXTENDED_LOCALE_MODEL +# undef _NL_CURRENT +# define _NL_CURRENT(category, item) \ + (current->values[_NL_ITEM_INDEX (item)].string) +# define LOCALE_PARAM , loc +# define LOCALE_PARAM_DECL __locale_t loc; +#else +# define LOCALE_PARAM +# define LOCALE_PARAM_DECL +#endif + +#if defined _LIBC || defined HAVE_WCHAR_H +# include +#endif + +#ifdef USE_WIDE_CHAR +# include +# define L_(Ch) L##Ch +# define UCHAR_TYPE wint_t +# define STRING_TYPE wchar_t +# ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define ISSPACE(Ch) __iswspace_l ((Ch), loc) +# define ISALPHA(Ch) __iswalpha_l ((Ch), loc) +# define TOUPPER(Ch) __towupper_l ((Ch), loc) +# else +# define ISSPACE(Ch) iswspace (Ch) +# define ISALPHA(Ch) iswalpha (Ch) +# define TOUPPER(Ch) towupper (Ch) +# endif +# else +# if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII= ) +# define IN_CTYPE_DOMAIN(c) 1 +# else +# define IN_CTYPE_DOMAIN(c) isascii(c) +# endif +# define L_(Ch) Ch +# define UCHAR_TYPE unsigned char +# define STRING_TYPE char +# ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define ISSPACE(Ch) __isspace_l ((Ch), loc) +# define ISALPHA(Ch) __isalpha_l ((Ch), loc) +# define TOUPPER(Ch) __toupper_l ((Ch), loc) +# else +# define ISSPACE(Ch) (IN_CTYPE_DOMAIN (Ch) && isspace (Ch)) +# define ISALPHA(Ch) (IN_CTYPE_DOMAIN (Ch) && isalpha (Ch)) +# define TOUPPER(Ch) (IN_CTYPE_DOMAIN (Ch) ? toupper (Ch) : (Ch)) +# endif +#endif + +#ifdef __STDC__ +# define INTERNAL(X) INTERNAL1(X) +# define INTERNAL1(X) __##X##_internal +# define WEAKNAME(X) WEAKNAME1(X) +#else +# define INTERNAL(X) __/**/X/**/_internal +#endif + +#ifdef USE_NUMBER_GROUPING +/* This file defines a function to check for correct grouping. */ +# include "grouping.h" +#endif + + + +/* Convert NPTR to an `unsigned long int' or `long int' in base BASE. + If BASE is 0 the base is determined by the presence of a leading + zero, indicating octal or a leading "0x" or "0X", indicating hexadeci= mal. + If BASE is < 2 or > 36, it is reset to 10. + If ENDPTR is not NULL, a pointer to the character after the last + one converted is stored in *ENDPTR. */ + +INT +INTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM) + const STRING_TYPE *nptr; + STRING_TYPE **endptr; + int base; + int group; + LOCALE_PARAM_DECL +{ + int negative; + register unsigned LONG int cutoff; + register unsigned int cutlim; + register unsigned LONG int i; + register const STRING_TYPE *s; + register UCHAR_TYPE c; + const STRING_TYPE *save, *end; + int overflow; + +#ifdef USE_NUMBER_GROUPING +# ifdef USE_IN_EXTENDED_LOCALE_MODEL + struct locale_data *current =3D loc->__locales[LC_NUMERIC]; +# endif + /* The thousands character of the current locale. */ + wchar_t thousands =3D L'\0'; + /* The numeric grouping specification of the current locale, + in the format described in . */ + const char *grouping; + + if (group) + { + grouping =3D _NL_CURRENT (LC_NUMERIC, GROUPING); + if (*grouping <=3D 0 || *grouping =3D=3D CHAR_MAX) + grouping =3D NULL; + else + { + /* Figure out the thousands separator character. */ +# if defined _LIBC || defined _HAVE_BTOWC + thousands =3D __btowc (*_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP)); + if (thousands =3D=3D WEOF) + thousands =3D L'\0'; +# endif + if (thousands =3D=3D L'\0') + grouping =3D NULL; + } + } + else + grouping =3D NULL; +#endif + + if (base < 0 || base =3D=3D 1 || base > 36) + { + __set_errno (EINVAL); + return 0; + } + + save =3D s =3D nptr; + + /* Skip white space. */ + while (ISSPACE (*s)) + ++s; + if (*s =3D=3D L_('\0')) + goto noconv; + + /* Check for a sign. */ + if (*s =3D=3D L_('-')) + { + negative =3D 1; + ++s; + } + else if (*s =3D=3D L_('+')) + { + negative =3D 0; + ++s; + } + else + negative =3D 0; + + /* Recognize number prefix and if BASE is zero, figure it out ourselve= s. */ + if (*s =3D=3D L_('0')) + { + if ((base =3D=3D 0 || base =3D=3D 16) && TOUPPER (s[1]) =3D=3D L_(= 'X')) + { + s +=3D 2; + base =3D 16; + } + else if (base =3D=3D 0) + base =3D 8; + } + else if (base =3D=3D 0) + base =3D 10; + + /* Save the pointer so we can check later if anything happened. */ + save =3D s; + +#ifdef USE_NUMBER_GROUPING + if (group) + { + /* Find the end of the digit string and check its grouping. */ + end =3D s; + for (c =3D *end; c !=3D L_('\0'); c =3D *++end) + if ((wchar_t) c !=3D thousands + && ((wchar_t) c < L_('0') || (wchar_t) c > L_('9')) + && (!ISALPHA (c) || (int) (TOUPPER (c) - L_('A') + 10) >=3D base)) + break; + if (*s =3D=3D thousands) + end =3D s; + else + end =3D correctly_grouped_prefix (s, end, thousands, grouping); + } + else +#endif + end =3D NULL; + + cutoff =3D STRTOL_ULONG_MAX / (unsigned LONG int) base; + cutlim =3D STRTOL_ULONG_MAX % (unsigned LONG int) base; + + overflow =3D 0; + i =3D 0; + c =3D *s; + if (sizeof (long int) !=3D sizeof (LONG int)) + { + unsigned long int j =3D 0; + unsigned long int jmax =3D ULONG_MAX / base; + + for (;c !=3D L_('\0'); c =3D *++s) + { + if (s =3D=3D end) + break; + if (c >=3D L_('0') && c <=3D L_('9')) + c -=3D L_('0'); + else if (ISALPHA (c)) + c =3D TOUPPER (c) - L_('A') + 10; + else + break; + if ((int) c >=3D base) + break; + /* Note that we never can have an overflow. */ + else if (j >=3D jmax) + { + /* We have an overflow. Now use the long representation. */ + i =3D (unsigned LONG int) j; + goto use_long; + } + else + j =3D j * (unsigned long int) base + c; + } + + i =3D (unsigned LONG int) j; + } + else + for (;c !=3D L_('\0'); c =3D *++s) + { + if (s =3D=3D end) + break; + if (c >=3D L_('0') && c <=3D L_('9')) + c -=3D L_('0'); + else if (ISALPHA (c)) + c =3D TOUPPER (c) - L_('A') + 10; + else + break; + if ((int) c >=3D base) + break; + /* Check for overflow. */ + if (i > cutoff || (i =3D=3D cutoff && c > cutlim)) + overflow =3D 1; + else + { + use_long: + i *=3D (unsigned LONG int) base; + i +=3D c; + } + } + + /* Check if anything actually happened. */ + if (s =3D=3D save) + goto noconv; + + /* Store in ENDPTR the address of one character + past the last character we converted. */ + if (endptr !=3D NULL) + *endptr =3D (STRING_TYPE *) s; + +#if !UNSIGNED + /* Check for a value that is within the range of + `unsigned LONG int', but outside the range of `LONG int'. */ + if (overflow =3D=3D 0 + && i > (negative + ? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1 + : (unsigned LONG int) STRTOL_LONG_MAX)) + overflow =3D 1; +#endif + + if (overflow) + { + __set_errno (ERANGE); +#if UNSIGNED + return STRTOL_ULONG_MAX; +#else + return negative ? STRTOL_LONG_MIN : STRTOL_LONG_MAX; +#endif + } + + /* Return the result of the appropriate sign. */ + return negative ? -i : i; + +noconv: + /* We must handle a special case here: the base is 0 or 16 and the + first two characters are '0' and 'x', but the rest are no + hexadecimal digits. This is no error case. We return 0 and + ENDPTR points to the `x`. */ + if (endptr !=3D NULL) + { + if (save - nptr >=3D 2 && TOUPPER (save[-1]) =3D=3D L_('X') + && save[-2] =3D=3D L_('0')) + *endptr =3D (STRING_TYPE *) &save[-1]; + else + /* There was no number to convert. */ + *endptr =3D (STRING_TYPE *) nptr; + } + + return 0L; +} +=0C +/* External user entry point. */ + +#if _LIBC - 0 =3D=3D 0 +# undef PARAMS +# if defined (__STDC__) && __STDC__ +# define PARAMS(Args) Args +# else +# define PARAMS(Args) () +# endif + +/* Prototype. */ +INT strtol PARAMS ((const STRING_TYPE *nptr, STRING_TYPE **endptr, int b= ase)); +#endif + + +INT +#ifdef weak_function +weak_function +#endif +strtol (nptr, endptr, base LOCALE_PARAM) + const STRING_TYPE *nptr; + STRING_TYPE **endptr; + int base; + LOCALE_PARAM_DECL +{ + return INTERNAL (strtol) (nptr, endptr, base, 0 LOCALE_PARAM); +} Index: gnulib/m4/unlocked-io.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/unlocked-io.h diff -N gnulib/m4/unlocked-io.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/unlocked-io.h 5 Sep 2003 18:29:58 -0000 @@ -0,0 +1,89 @@ +/* Prefer faster, non-thread-safe stdio functions if available. + + Copyright (C) 2001, 2002 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Written by Jim Meyering. */ + +#ifndef UNLOCKED_IO_H +# define UNLOCKED_IO_H 1 + +# ifndef USE_UNLOCKED_IO +# define USE_UNLOCKED_IO 1 +# endif + +# if USE_UNLOCKED_IO + +/* These are wrappers for functions/macros from GNU libc. + The standard I/O functions are thread-safe. These *_unlocked ones ar= e + more efficient but not thread-safe. That they're not thread-safe is + fine since all of the applications in this package are single threade= d. */ + +# if HAVE_DECL_CLEARERR_UNLOCKED +# undef clearerr +# define clearerr(x) clearerr_unlocked (x) +# endif +# if HAVE_DECL_FEOF_UNLOCKED +# undef feof +# define feof(x) feof_unlocked (x) +# endif +# if HAVE_DECL_FERROR_UNLOCKED +# undef ferror +# define ferror(x) ferror_unlocked (x) +# endif +# if HAVE_DECL_FFLUSH_UNLOCKED +# undef fflush +# define fflush(x) fflush_unlocked (x) +# endif +# if HAVE_DECL_FGETS_UNLOCKED +# undef fgets +# define fgets(x,y,z) fgets_unlocked (x,y,z) +# endif +# if HAVE_DECL_FPUTC_UNLOCKED +# undef fputc +# define fputc(x,y) fputc_unlocked (x,y) +# endif +# if HAVE_DECL_FPUTS_UNLOCKED +# undef fputs +# define fputs(x,y) fputs_unlocked (x,y) +# endif +# if HAVE_DECL_FREAD_UNLOCKED +# undef fread +# define fread(w,x,y,z) fread_unlocked (w,x,y,z) +# endif +# if HAVE_DECL_FWRITE_UNLOCKED +# undef fwrite +# define fwrite(w,x,y,z) fwrite_unlocked (w,x,y,z) +# endif +# if HAVE_DECL_GETC_UNLOCKED +# undef getc +# define getc(x) getc_unlocked (x) +# endif +# if HAVE_DECL_GETCHAR_UNLOCKED +# undef getchar +# define getchar() getchar_unlocked () +# endif +# if HAVE_DECL_PUTC_UNLOCKED +# undef putc +# define putc(x,y) putc_unlocked (x,y) +# endif +# if HAVE_DECL_PUTCHAR_UNLOCKED +# undef putchar +# define putchar(x) putchar_unlocked (x) +# endif + +# endif /* USE_UNLOCKED_IO */ +#endif /* UNLOCKED_IO_H */ Index: gnulib/m4/xmalloc.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/xmalloc.c diff -N gnulib/m4/xmalloc.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/xmalloc.c 5 Sep 2003 18:29:58 -0000 @@ -0,0 +1,139 @@ +/* xmalloc.c -- malloc with out of memory checking + Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 2000 + 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#if HAVE_CONFIG_H +# include +#endif + +#include + +#if STDC_HEADERS +# include +#endif + +#if ENABLE_NLS +# include +# define _(Text) gettext (Text) +#else +# define textdomain(Domain) +# define _(Text) Text +#endif + +/* If this file fails to compile because your machine has no memset() + function, you should ensure that either HAVE_CALLOC or HAVE_BZERO + are defined in config.h */ +#if !HAVE_BZERO +# define bzero(p, s) memset (s, 0, n) +#endif + +#ifndef STDC_HEADERS +void *calloc (); +void *malloc (); +void *realloc (); +void free (); +#endif + +/* Prototypes for functions defined here. */ +static void *fixup_null_alloc (size_t n); + + +/* Exit value when the requested amount of memory is not available. + The caller may set it to some other value. */ +int xmalloc_exit_failure =3D EXIT_FAILURE; + + +/* Your program must provide these functions in order for + xmalloc() to work. */ +#if __STDC__ && (HAVE_VPRINTF || HAVE_DOPRNT) +extern void error (int, int, const char *, ...); +#else +extern void error (); +#endif + +static void * +fixup_null_alloc (n) + size_t n; +{ + void *p; + + p =3D 0; + if (n =3D=3D 0) + p =3D malloc ((size_t) 1); + if (p =3D=3D 0) + error (xmalloc_exit_failure, 0, _("Memory exhausted")); + return p; +} + +/* Allocate N bytes of memory dynamically, with error checking. */ + +void * +xmalloc (n) + size_t n; +{ + void *p; + + p =3D malloc (n); + if (p =3D=3D 0) + p =3D fixup_null_alloc (n); + return p; +} + +/* Allocate memory for N elements of S bytes, with error checking. */ + +void * +xcalloc (n, s) + size_t n, s; +{ + void *p; +#if HAVE_CALLOC + p =3D calloc (n, s); + if (p =3D=3D 0) + p =3D fixup_null_alloc (n); +#else + p =3D xmalloc (n * s); + bzero (p, n * s); +#endif + return p; +} + +/* Change the size of an allocated block of memory P to N bytes, + with error checking. + If P is NULL, run xmalloc. */ + +void * +xrealloc (p, n) + void *p; + size_t n; +{ + if (p =3D=3D 0) + return xmalloc (n); + p =3D realloc (p, n); + if (p =3D=3D 0) + p =3D fixup_null_alloc (n); + return p; +} + +/* Don't free NULL pointers. */ +void * +xfree (stale) + void *stale; +{ + if (stale) + free (stale); + return 0; +} Index: gnulib/m4/xstrdup.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/xstrdup.c diff -N gnulib/m4/xstrdup.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/xstrdup.c 5 Sep 2003 18:29:58 -0000 @@ -0,0 +1,48 @@ +/* xstrdup.c -- copy a string with out of memory checking + Copyright (C) 1990, 1996 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#if HAVE_CONFIG_H +# include +#endif + +#ifndef WITH_DMALLOC + +#include + +#if defined(STDC_HEADERS) || defined(HAVE_STRING_H) +# include +#else +# include +#endif + +#if defined (__STDC__) && __STDC__ +char *xmalloc (size_t); +char *xstrdup (char *string); +#else +char *xmalloc (); +#endif + +/* Return a newly allocated copy of STRING. */ + +char * +xstrdup (string) + char *string; +{ + return strcpy (xmalloc (strlen (string) + 1), string); +} + +#endif /* !WITH_DMALLOC */ Index: gnulib/m4/xstrzdup.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/xstrzdup.c diff -N gnulib/m4/xstrzdup.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/xstrzdup.c 5 Sep 2003 18:29:58 -0000 @@ -0,0 +1,46 @@ +/* xstrzdup.c -- copy a string segment with out of memory checking + Copyright (C) 2003 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#if HAVE_CONFIG_H +# include +#endif + +#include + +#if defined (__STDC__) && __STDC__ +char *xmalloc (size_t); +char *xstrzdup (char *string, size_t len); +#else +char *xmalloc (); +#endif + +/* Return a newly allocated copy of STRING. */ + +char * +xstrzdup (string, len) + char *string; + size_t len; +{ + char *result =3D (char *) xmalloc (1+ len); + size_t index; + + for (index =3D 0; index < len; ++index) + result[index] =3D string[index]; + result[len] =3D '\0'; + + return result; +} Index: m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.21 diff -u -p -u -r1.21 Makefile.am --- m4/Makefile.am 4 Sep 2003 16:04:09 -0000 1.21 +++ m4/Makefile.am 5 Sep 2003 18:29:58 -0000 @@ -1,5 +1,4 @@ -## Makefile.am -- Process this file with automake to produce Makefile.in= -## +## This file is part of GNU m4 ## Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. ## ## This program is free software; you can redistribute it and/or modify @@ -17,69 +16,29 @@ ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ## Boston, MA 02111-1307, USA. =20 -CLEANFILES =3D pathconf.h -MAINTAINERCLEANFILES =3D Makefile.in - -MODULE_PATH =3D $(pkglibexecdir) -pkgincdir =3D $(includedir)/@PACKAGE@ - AM_LDFLAGS =3D -no-undefined -export-dynamic -INCLUDES =3D -I$(top_builddir) -I$(top_srcdir) \ - -I$(top_builddir)/src -I$(top_srcdir)/src $(INTLINCL) - -include_HEADERS =3D m4module.h -noinst_HEADERS =3D m4private.h -pkginc_HEADERS =3D error.h hash.h ltdl.h regex.h system.h -EXTRA_HEADERS =3D system_.h - -EXTRA_DIST =3D $(EXTRA_HEADERS) +AM_CPPFLAGS =3D -I$(top_builddir)/gnulib -I$(top_srcdir)/gnulib \ + -I$(top_builddir) -I$(top_srcdir) $(INTLINCL) =20 lib_LTLIBRARIES =3D libm4.la -libm4_la_SOURCES =3D builtin.c debug.c error.c hash.c \ - input.c ltdl.c m4.c macro.c module.c output.c \ +libm4_la_SOURCES =3D builtin.c debug.c error.c hash.c input.c \ + ltdl.c m4.c m4private.h macro.c module.c output.c \ path.c regex.c symtab.c syntax.c utility.c -libm4_la_LIBADD =3D $(LTLIBOBJS) $(LTLIBINTL) $(LIBADD_DL) +libm4_la_LIBADD =3D $(top_builddir)/gnulib/m4/libgnu.la $(LIBADD_DL) =20 -module.o module.lo: $(srcdir)/module.c pathconf.h +MODULE_PATH =3D $(pkglibexecdir) +module.o module.lo: module.c pathconf.h pathconf.h: Makefile @echo "#define MODULE_PATH \"${MODULE_PATH}\"" > pathconf.h -system.h: $(OBSTACK_H) =20 +EXTRA_DIST =3D system_.h # This file needs to be regenerated at configure time. dist-hook: rm -f $(distdir)/system.h =20 +pkgincdir =3D $(includedir)/@PACKAGE@ +pkginc_HEADERS =3D error.h hash.h ltdl.h regex.h system.h +include_HEADERS =3D m4module.h =20 -# --------------------------- @ -# Adapted for gnulib obstack. # -# --------------------------- @ - -gnulib_srcdir =3D $(top_srcdir)/gnulib/lib - -BUILT_SOURCES =3D $(OBSTACK_C) $(OBSTACK_H) -DISTCLEANFILES =3D obstack.c obstack.h - -pkginc_HEADERS +=3D $(OBSTACK_H) - -all-local $(lib_OBJECTS): $(OBSTACK_C) $(OBSTACK_H) -obstack.c: $(gnulib_srcdir)/obstack.c - rm -f $@ && $(LN_S) $(gnulib_srcdir)/$@ $@ -obstack.h: $(gnulib_srcdir)/obstack.h - rm -f $@ && $(LN_S) $(gnulib_srcdir)/$@ $@ - - -# ------------------------------------------------ # -# Adapted from gnulib/modules/stdbool:Makefile.am. # -# ------------------------------------------------ # - -BUILT_SOURCES +=3D $(STDBOOL_H) -DISTCLEANFILES +=3D stdbool.h stdbool.h-t - -pkginc_HEADERS +=3D $(STDBOOL_H) - -# We need the following in order to create an when the syste= m -# doesn't have one that works. -all-local $(lib_OBJECTS): $(STDBOOL_H) -stdbool.h: $(gnulib_srcdir)/stdbool_.h - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(gnulib_srcdir)/stdbool_= =2Eh > $@-t - mv $@-t $@ +CLEANFILES =3D pathconf.h +MAINTAINERCLEANFILES =3D Makefile.in Index: m4/builtin.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/builtin.c,v retrieving revision 1.22 diff -u -p -u -r1.22 builtin.c --- m4/builtin.c 27 Aug 2003 17:10:12 -0000 1.22 +++ m4/builtin.c 5 Sep 2003 18:29:58 -0000 @@ -20,7 +20,6 @@ /* Code for all builtin macros, initialisation of symbol table, and expansion of user defined macros. */ =20 -#include "m4.h" #include "m4private.h" =20 /* Find the builtin which has NAME. If HANDLE argument is supplied Index: m4/macro.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/macro.c,v retrieving revision 1.39 diff -u -p -u -r1.39 macro.c --- m4/macro.c 27 Aug 2003 17:10:12 -0000 1.39 +++ m4/macro.c 5 Sep 2003 18:29:58 -0000 @@ -23,7 +23,6 @@ =20 #include =20 -#include "m4.h" #include "m4private.h" =20 static void collect_arguments (m4 *context, const char *name, Index: m4/module.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/module.c,v retrieving revision 1.28 diff -u -p -u -r1.28 module.c --- m4/module.c 27 Aug 2003 17:10:12 -0000 1.28 +++ m4/module.c 5 Sep 2003 18:29:58 -0000 @@ -17,7 +17,6 @@ 02111-1307 USA */ =20 -#include "m4.h" #include "pathconf.h" #include "ltdl.h" #include "m4private.h" Index: m4/strtol.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/strtol.c diff -N m4/strtol.c --- m4/strtol.c 27 Aug 2003 17:10:12 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,478 +0,0 @@ -/* Convert string representation of a number into an integer value. - Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc= =2E - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License a= s - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If n= ot, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, - Boston, MA 02111-1307, USA. */ - -#if HAVE_CONFIG_H -# include -#endif - -#ifdef _LIBC -# define USE_NUMBER_GROUPING -# define STDC_HEADERS -# define HAVE_LIMITS_H -#endif - -#include -#include -#ifndef errno -extern int errno; -#endif -#ifndef __set_errno -# define __set_errno(Val) errno =3D (Val) -#endif - -#ifdef HAVE_LIMITS_H -# include -#endif - -#ifdef STDC_HEADERS -# include -# include -# include -#else -# ifndef NULL -# define NULL 0 -# endif -#endif - -#ifdef USE_NUMBER_GROUPING -# include "../locale/localeinfo.h" -#endif - -/* Nonzero if we are defining `strtoul' or `strtoull', operating on - unsigned integers. */ -#ifndef UNSIGNED -# define UNSIGNED 0 -# define INT LONG int -#else -# define INT unsigned LONG int -#endif - -/* Determine the name. */ -#ifdef USE_IN_EXTENDED_LOCALE_MODEL -# if UNSIGNED -# ifdef USE_WIDE_CHAR -# ifdef QUAD -# define strtol __wcstoull_l -# else -# define strtol __wcstoul_l -# endif -# else -# ifdef QUAD -# define strtol __strtoull_l -# else -# define strtol __strtoul_l -# endif -# endif -# else -# ifdef USE_WIDE_CHAR -# ifdef QUAD -# define strtol __wcstoll_l -# else -# define strtol __wcstol_l -# endif -# else -# ifdef QUAD -# define strtol __strtoll_l -# else -# define strtol __strtol_l -# endif -# endif -# endif -#else -# if UNSIGNED -# ifdef USE_WIDE_CHAR -# ifdef QUAD -# define strtol wcstoull -# else -# define strtol wcstoul -# endif -# else -# ifdef QUAD -# define strtol strtoull -# else -# define strtol strtoul -# endif -# endif -# else -# ifdef USE_WIDE_CHAR -# ifdef QUAD -# define strtol wcstoll -# else -# define strtol wcstol -# endif -# else -# ifdef QUAD -# define strtol strtoll -# endif -# endif -# endif -#endif - -/* If QUAD is defined, we are defining `strtoll' or `strtoull', - operating on `long long int's. */ -#ifdef QUAD -# define LONG long long -# define STRTOL_LONG_MIN LONG_LONG_MIN -# define STRTOL_LONG_MAX LONG_LONG_MAX -# define STRTOL_ULONG_MAX ULONG_LONG_MAX -# if __GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 7 - /* Work around gcc bug with using this constant. */ - static const unsigned long long int maxquad =3D ULONG_LONG_MAX; -# undef STRTOL_ULONG_MAX -# define STRTOL_ULONG_MAX maxquad -# endif -#else -# define LONG long - -# ifndef ULONG_MAX -# define ULONG_MAX ((unsigned long) ~(unsigned long) 0) -# endif -# ifndef LONG_MAX -# define LONG_MAX ((long int) (ULONG_MAX >> 1)) -# endif -# define STRTOL_LONG_MIN LONG_MIN -# define STRTOL_LONG_MAX LONG_MAX -# define STRTOL_ULONG_MAX ULONG_MAX -#endif - - -/* We use this code also for the extended locale handling where the - function gets as an additional argument the locale which has to be - used. To access the values we have to redefine the _NL_CURRENT - macro. */ -#ifdef USE_IN_EXTENDED_LOCALE_MODEL -# undef _NL_CURRENT -# define _NL_CURRENT(category, item) \ - (current->values[_NL_ITEM_INDEX (item)].string) -# define LOCALE_PARAM , loc -# define LOCALE_PARAM_DECL __locale_t loc; -#else -# define LOCALE_PARAM -# define LOCALE_PARAM_DECL -#endif - -#if defined _LIBC || defined HAVE_WCHAR_H -# include -#endif - -#ifdef USE_WIDE_CHAR -# include -# define L_(Ch) L##Ch -# define UCHAR_TYPE wint_t -# define STRING_TYPE wchar_t -# ifdef USE_IN_EXTENDED_LOCALE_MODEL -# define ISSPACE(Ch) __iswspace_l ((Ch), loc) -# define ISALPHA(Ch) __iswalpha_l ((Ch), loc) -# define TOUPPER(Ch) __towupper_l ((Ch), loc) -# else -# define ISSPACE(Ch) iswspace (Ch) -# define ISALPHA(Ch) iswalpha (Ch) -# define TOUPPER(Ch) towupper (Ch) -# endif -# else -# if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII= ) -# define IN_CTYPE_DOMAIN(c) 1 -# else -# define IN_CTYPE_DOMAIN(c) isascii(c) -# endif -# define L_(Ch) Ch -# define UCHAR_TYPE unsigned char -# define STRING_TYPE char -# ifdef USE_IN_EXTENDED_LOCALE_MODEL -# define ISSPACE(Ch) __isspace_l ((Ch), loc) -# define ISALPHA(Ch) __isalpha_l ((Ch), loc) -# define TOUPPER(Ch) __toupper_l ((Ch), loc) -# else -# define ISSPACE(Ch) (IN_CTYPE_DOMAIN (Ch) && isspace (Ch)) -# define ISALPHA(Ch) (IN_CTYPE_DOMAIN (Ch) && isalpha (Ch)) -# define TOUPPER(Ch) (IN_CTYPE_DOMAIN (Ch) ? toupper (Ch) : (Ch)) -# endif -#endif - -#ifdef __STDC__ -# define INTERNAL(X) INTERNAL1(X) -# define INTERNAL1(X) __##X##_internal -# define WEAKNAME(X) WEAKNAME1(X) -#else -# define INTERNAL(X) __/**/X/**/_internal -#endif - -#ifdef USE_NUMBER_GROUPING -/* This file defines a function to check for correct grouping. */ -# include "grouping.h" -#endif - - - -/* Convert NPTR to an `unsigned long int' or `long int' in base BASE. - If BASE is 0 the base is determined by the presence of a leading - zero, indicating octal or a leading "0x" or "0X", indicating hexadeci= mal. - If BASE is < 2 or > 36, it is reset to 10. - If ENDPTR is not NULL, a pointer to the character after the last - one converted is stored in *ENDPTR. */ - -INT -INTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM) - const STRING_TYPE *nptr; - STRING_TYPE **endptr; - int base; - int group; - LOCALE_PARAM_DECL -{ - int negative; - register unsigned LONG int cutoff; - register unsigned int cutlim; - register unsigned LONG int i; - register const STRING_TYPE *s; - register UCHAR_TYPE c; - const STRING_TYPE *save, *end; - int overflow; - -#ifdef USE_NUMBER_GROUPING -# ifdef USE_IN_EXTENDED_LOCALE_MODEL - struct locale_data *current =3D loc->__locales[LC_NUMERIC]; -# endif - /* The thousands character of the current locale. */ - wchar_t thousands =3D L'\0'; - /* The numeric grouping specification of the current locale, - in the format described in . */ - const char *grouping; - - if (group) - { - grouping =3D _NL_CURRENT (LC_NUMERIC, GROUPING); - if (*grouping <=3D 0 || *grouping =3D=3D CHAR_MAX) - grouping =3D NULL; - else - { - /* Figure out the thousands separator character. */ -# if defined _LIBC || defined _HAVE_BTOWC - thousands =3D __btowc (*_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP)); - if (thousands =3D=3D WEOF) - thousands =3D L'\0'; -# endif - if (thousands =3D=3D L'\0') - grouping =3D NULL; - } - } - else - grouping =3D NULL; -#endif - - if (base < 0 || base =3D=3D 1 || base > 36) - { - __set_errno (EINVAL); - return 0; - } - - save =3D s =3D nptr; - - /* Skip white space. */ - while (ISSPACE (*s)) - ++s; - if (*s =3D=3D L_('\0')) - goto noconv; - - /* Check for a sign. */ - if (*s =3D=3D L_('-')) - { - negative =3D 1; - ++s; - } - else if (*s =3D=3D L_('+')) - { - negative =3D 0; - ++s; - } - else - negative =3D 0; - - /* Recognize number prefix and if BASE is zero, figure it out ourselve= s. */ - if (*s =3D=3D L_('0')) - { - if ((base =3D=3D 0 || base =3D=3D 16) && TOUPPER (s[1]) =3D=3D L_(= 'X')) - { - s +=3D 2; - base =3D 16; - } - else if (base =3D=3D 0) - base =3D 8; - } - else if (base =3D=3D 0) - base =3D 10; - - /* Save the pointer so we can check later if anything happened. */ - save =3D s; - -#ifdef USE_NUMBER_GROUPING - if (group) - { - /* Find the end of the digit string and check its grouping. */ - end =3D s; - for (c =3D *end; c !=3D L_('\0'); c =3D *++end) - if ((wchar_t) c !=3D thousands - && ((wchar_t) c < L_('0') || (wchar_t) c > L_('9')) - && (!ISALPHA (c) || (int) (TOUPPER (c) - L_('A') + 10) >=3D base)) - break; - if (*s =3D=3D thousands) - end =3D s; - else - end =3D correctly_grouped_prefix (s, end, thousands, grouping); - } - else -#endif - end =3D NULL; - - cutoff =3D STRTOL_ULONG_MAX / (unsigned LONG int) base; - cutlim =3D STRTOL_ULONG_MAX % (unsigned LONG int) base; - - overflow =3D 0; - i =3D 0; - c =3D *s; - if (sizeof (long int) !=3D sizeof (LONG int)) - { - unsigned long int j =3D 0; - unsigned long int jmax =3D ULONG_MAX / base; - - for (;c !=3D L_('\0'); c =3D *++s) - { - if (s =3D=3D end) - break; - if (c >=3D L_('0') && c <=3D L_('9')) - c -=3D L_('0'); - else if (ISALPHA (c)) - c =3D TOUPPER (c) - L_('A') + 10; - else - break; - if ((int) c >=3D base) - break; - /* Note that we never can have an overflow. */ - else if (j >=3D jmax) - { - /* We have an overflow. Now use the long representation. */ - i =3D (unsigned LONG int) j; - goto use_long; - } - else - j =3D j * (unsigned long int) base + c; - } - - i =3D (unsigned LONG int) j; - } - else - for (;c !=3D L_('\0'); c =3D *++s) - { - if (s =3D=3D end) - break; - if (c >=3D L_('0') && c <=3D L_('9')) - c -=3D L_('0'); - else if (ISALPHA (c)) - c =3D TOUPPER (c) - L_('A') + 10; - else - break; - if ((int) c >=3D base) - break; - /* Check for overflow. */ - if (i > cutoff || (i =3D=3D cutoff && c > cutlim)) - overflow =3D 1; - else - { - use_long: - i *=3D (unsigned LONG int) base; - i +=3D c; - } - } - - /* Check if anything actually happened. */ - if (s =3D=3D save) - goto noconv; - - /* Store in ENDPTR the address of one character - past the last character we converted. */ - if (endptr !=3D NULL) - *endptr =3D (STRING_TYPE *) s; - -#if !UNSIGNED - /* Check for a value that is within the range of - `unsigned LONG int', but outside the range of `LONG int'. */ - if (overflow =3D=3D 0 - && i > (negative - ? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1 - : (unsigned LONG int) STRTOL_LONG_MAX)) - overflow =3D 1; -#endif - - if (overflow) - { - __set_errno (ERANGE); -#if UNSIGNED - return STRTOL_ULONG_MAX; -#else - return negative ? STRTOL_LONG_MIN : STRTOL_LONG_MAX; -#endif - } - - /* Return the result of the appropriate sign. */ - return negative ? -i : i; - -noconv: - /* We must handle a special case here: the base is 0 or 16 and the - first two characters are '0' and 'x', but the rest are no - hexadecimal digits. This is no error case. We return 0 and - ENDPTR points to the `x`. */ - if (endptr !=3D NULL) - { - if (save - nptr >=3D 2 && TOUPPER (save[-1]) =3D=3D L_('X') - && save[-2] =3D=3D L_('0')) - *endptr =3D (STRING_TYPE *) &save[-1]; - else - /* There was no number to convert. */ - *endptr =3D (STRING_TYPE *) nptr; - } - - return 0L; -} -=0C -/* External user entry point. */ - -#if _LIBC - 0 =3D=3D 0 -# undef PARAMS -# if defined (__STDC__) && __STDC__ -# define PARAMS(Args) Args -# else -# define PARAMS(Args) () -# endif - -/* Prototype. */ -INT strtol PARAMS ((const STRING_TYPE *nptr, STRING_TYPE **endptr, int b= ase)); -#endif - - -INT -#ifdef weak_function -weak_function -#endif -strtol (nptr, endptr, base LOCALE_PARAM) - const STRING_TYPE *nptr; - STRING_TYPE **endptr; - int base; - LOCALE_PARAM_DECL -{ - return INTERNAL (strtol) (nptr, endptr, base, 0 LOCALE_PARAM); -} Index: m4/utility.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/utility.c,v retrieving revision 1.37 diff -u -p -u -r1.37 utility.c --- m4/utility.c 27 Aug 2003 17:10:12 -0000 1.37 +++ m4/utility.c 5 Sep 2003 18:29:58 -0000 @@ -21,7 +21,6 @@ # include #endif =20 -#include "m4.h" #include "m4private.h" =20 =20 Index: m4/xmalloc.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/xmalloc.c diff -N m4/xmalloc.c --- m4/xmalloc.c 27 Aug 2003 17:10:12 -0000 1.8 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,141 +0,0 @@ -/* xmalloc.c -- malloc with out of memory checking - Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 2000 - 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 Foundatio= n, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#if HAVE_CONFIG_H -# include -#endif - -#include - -#if STDC_HEADERS -# include -#endif - -#if ENABLE_NLS -# include -# define _(Text) gettext (Text) -#else -# define textdomain(Domain) -# define _(Text) Text -#endif - -#include "system.h" - -/* If this file fails to compile because your machine has no memset() - function, you should ensure that either HAVE_CALLOC or HAVE_BZERO - are defined in config.h */ -#if !HAVE_BZERO -# define bzero(p, s) memset (s, 0, n) -#endif - -#ifndef STDC_HEADERS -void *calloc (); -void *malloc (); -void *realloc (); -void free (); -#endif - -/* Prototypes for functions defined here. */ -static void *fixup_null_alloc (size_t n); - - -/* Exit value when the requested amount of memory is not available. - The caller may set it to some other value. */ -int xmalloc_exit_failure =3D EXIT_FAILURE; - - -/* Your program must provide these functions in order for - xmalloc() to work. */ -#if __STDC__ && (HAVE_VPRINTF || HAVE_DOPRNT) -extern void error (int, int, const char *, ...); -#else -extern void error (); -#endif - -static void * -fixup_null_alloc (n) - size_t n; -{ - void *p; - - p =3D 0; - if (n =3D=3D 0) - p =3D malloc ((size_t) 1); - if (p =3D=3D 0) - error (xmalloc_exit_failure, 0, _("Memory exhausted")); - return p; -} - -/* Allocate N bytes of memory dynamically, with error checking. */ - -void * -xmalloc (n) - size_t n; -{ - void *p; - - p =3D malloc (n); - if (p =3D=3D 0) - p =3D fixup_null_alloc (n); - return p; -} - -/* Allocate memory for N elements of S bytes, with error checking. */ - -void * -xcalloc (n, s) - size_t n, s; -{ - void *p; -#if HAVE_CALLOC - p =3D calloc (n, s); - if (p =3D=3D 0) - p =3D fixup_null_alloc (n); -#else - p =3D xmalloc (n * s); - bzero (p, n * s); -#endif - return p; -} - -/* Change the size of an allocated block of memory P to N bytes, - with error checking. - If P is NULL, run xmalloc. */ - -void * -xrealloc (p, n) - void *p; - size_t n; -{ - if (p =3D=3D 0) - return xmalloc (n); - p =3D realloc (p, n); - if (p =3D=3D 0) - p =3D fixup_null_alloc (n); - return p; -} - -/* Don't free NULL pointers. */ -void * -xfree (stale) - void *stale; -{ - if (stale) - free (stale); - return 0; -} Index: m4/xstrdup.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/xstrdup.c diff -N m4/xstrdup.c --- m4/xstrdup.c 27 Aug 2003 17:10:12 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,48 +0,0 @@ -/* xstrdup.c -- copy a string with out of memory checking - Copyright (C) 1990, 1996 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 Foundatio= n, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#if HAVE_CONFIG_H -# include -#endif - -#ifndef WITH_DMALLOC - -#include - -#if defined(STDC_HEADERS) || defined(HAVE_STRING_H) -# include -#else -# include -#endif - -#if defined (__STDC__) && __STDC__ -char *xmalloc (size_t); -char *xstrdup (char *string); -#else -char *xmalloc (); -#endif - -/* Return a newly allocated copy of STRING. */ - -char * -xstrdup (string) - char *string; -{ - return strcpy (xmalloc (strlen (string) + 1), string); -} - -#endif /* !WITH_DMALLOC */ Index: m4/xstrzdup.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/xstrzdup.c diff -N m4/xstrzdup.c --- m4/xstrzdup.c 27 Aug 2003 17:10:12 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,46 +0,0 @@ -/* xstrzdup.c -- copy a string segment with out of memory checking - Copyright (C) 2003 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 Foundatio= n, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#if HAVE_CONFIG_H -# include -#endif - -#include - -#if defined (__STDC__) && __STDC__ -char *xmalloc (size_t); -char *xstrzdup (char *string, size_t len); -#else -char *xmalloc (); -#endif - -/* Return a newly allocated copy of STRING. */ - -char * -xstrzdup (string, len) - char *string; - size_t len; -{ - char *result =3D (char *) xmalloc (1+ len); - size_t index; - - for (index =3D 0; index < len; ++index) - result[index] =3D string[index]; - result[len] =3D '\0'; - - return result; -} Index: modules/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/modules/Makefile.am,v retrieving revision 1.22 diff -u -p -u -r1.22 Makefile.am --- modules/Makefile.am 29 Aug 2003 16:55:56 -0000 1.22 +++ modules/Makefile.am 5 Sep 2003 18:29:58 -0000 @@ -28,7 +28,8 @@ ETAGS_ARGS =3D --regex=3D'/M4BUILTIN_HANDLER =20 EXTRA_DIST =3D modtest.m4 shadow.m4 time.m4 time2.m4 stdlib.m4 format.c =20 -INCLUDES =3D -I$(top_builddir) -I$(top_srcdir) \ +AM_CPPFLAGS =3D -I$(top_builddir) -I$(top_srcdir) \ + -I$(top_builddir)/gnulib -I$(top_srcdir)/gnulib \ -I$(top_builddir)/m4 -I$(top_srcdir)/m4 $(INTLINCL) LIBS =3D $(top_builddir)/m4/libm4.la AM_LDFLAGS =3D -no-undefined Index: po/POTFILES.in =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/POTFILES.in,v retrieving revision 1.7 diff -u -p -u -r1.7 POTFILES.in --- po/POTFILES.in 4 Sep 2003 16:04:09 -0000 1.7 +++ po/POTFILES.in 5 Sep 2003 18:29:58 -0000 @@ -1,6 +1,6 @@ -gnulib/lib/obstack.c +gnulib/m4/obstack.c +gnulib/m4/xmalloc.c m4/regex.c -m4/xmalloc.c m4/builtin.c m4/debug.c m4/input.c Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.30 diff -u -p -u -r1.30 cs.po --- po/cs.po 4 Sep 2003 16:04:09 -0000 1.30 +++ po/cs.po 5 Sep 2003 18:29:59 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -14,10 +14,14 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -68,10 +72,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "" - # , c-format #: m4/regex.c:1060 #, fuzzy @@ -120,81 +120,81 @@ msgstr "=AE=C1DN=DD" msgid "EOF in string" msgstr "CHYBA: EOF v =F8et=ECzci" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "CHYBA: EOF v seznamu argument=F9" =20 # , c-format -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "CHYBA: p=F8ekro=E8en limit pro rekurzi (%d), zm=EC=F2te jej pomo= c=ED -L" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 # , c-format -#: m4/module.c:123 +#: m4/module.c:122 #, fuzzy, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: m4/module.c:231 +#: m4/module.c:230 #, fuzzy, c-format msgid "Warning: cannot load module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 # , c-format -#: m4/module.c:269 +#: m4/module.c:268 #, fuzzy, c-format msgid "cannot unload module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 # , c-format -#: m4/module.c:337 +#: m4/module.c:336 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt: %s" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 # , c-format -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 # , c-format -#: m4/module.c:432 +#: m4/module.c:431 #, fuzzy, c-format msgid "cannot unload all modules: %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 # , c-format -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "CHYBA: modul `%s' nelze nal=E9zt" Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.30 diff -u -p -u -r1.30 de.po --- po/de.po 4 Sep 2003 16:04:09 -0000 1.30 +++ po/de.po 5 Sep 2003 18:29:59 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -16,10 +16,14 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -69,10 +73,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -118,74 +118,74 @@ msgstr "NONE" msgid "EOF in string" msgstr "FEHLER: Dateiende in Zeichenkette" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "FEHLER: Dateiende in Argumentliste" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L zur = =C4nderung" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, fuzzy, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:231 +#: m4/module.c:230 #, fuzzy, c-format msgid "Warning: cannot load module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, fuzzy, c-format msgid "cannot unload module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEHLER: Kann Modul =BB%s=AB nicht finden: %s" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:432 +#: m4/module.c:431 #, fuzzy, c-format msgid "cannot unload all modules: %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "FEHLER: Kann Module =BB%s=AB nicht finden." Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.30 diff -u -p -u -r1.30 el.po --- po/el.po 4 Sep 2003 16:04:09 -0000 1.30 +++ po/el.po 5 Sep 2003 18:30:00 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -14,10 +14,14 @@ msgstr "" "Content-Type: text/plain; charset=3Diso-8859-7\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -67,10 +71,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -114,75 +114,75 @@ msgstr "=CA=C1=CD=C5=CD=C1" msgid "EOF in string" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=EF =E1=EB=F6=E1=F1=E9=E8=EC=E7=F4= =E9=EA=FC" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=E7 =EB=DF=F3=F4=E1 =EF=F1=E9=F3=EC= =DC=F4=F9=ED" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE=F2 %d = =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7 =F4=EF= =F5 -L =E3=E9=E1 =ED=E1 =F4=EF " "=E1=EB=EB=DC=EE=E5=F4=E5" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, fuzzy, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:231 +#: m4/module.c:230 #, fuzzy, c-format msgid "Warning: cannot load module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, fuzzy, c-format msgid "cannot unload module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s': %s" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:432 +#: m4/module.c:431 #, fuzzy, c-format msgid "cannot unload all modules: %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "=D3=D6=C1=CB=CC=C1: =E1=E4=F5=ED=E1=EC=DF=E1 =E5=FD=F1=E5=F3=E7=F2= =DC=F1=E8=F1=F9=F3=E7=F2 `%s'" Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.30 diff -u -p -u -r1.30 fr.po --- po/fr.po 4 Sep 2003 16:04:09 -0000 1.30 +++ po/fr.po 5 Sep 2003 18:30:00 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -16,10 +16,14 @@ msgstr "" "Content-Type: text/plain; charset=3D\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -69,10 +73,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -116,73 +116,73 @@ msgstr "AUCUN" msgid "EOF in string" msgstr "ERREUR: Fin-de-fichier dans la cha=EEne" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "ERREUR: Fin-de-fichier dans la liste d'arguments" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "ERREUR: Limite de r=E9cursion %d d=E9pass=E9e, la changer par -L= " =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "" =20 -#: m4/module.c:231 +#: m4/module.c:230 #, c-format msgid "Warning: cannot load module `%s': %s" msgstr "" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, c-format msgid "cannot unload module `%s': %s" msgstr "" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Incapable d'ouvrir %s" =20 -#: m4/module.c:432 +#: m4/module.c:431 #, c-format msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Incapable de pr=E9parer le fichier d'erreurs: %s" Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.31 diff -u -p -u -r1.31 it.po --- po/it.po 4 Sep 2003 16:04:09 -0000 1.31 +++ po/it.po 5 Sep 2003 18:30:00 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -14,10 +14,14 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -67,10 +71,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -114,73 +114,73 @@ msgstr "NESSUNO" msgid "EOF in string" msgstr "ERRORE: Fine prematura di una stringa" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "ERRORE: Fine prematura della lista di argomenti" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "" =20 -#: m4/module.c:231 +#: m4/module.c:230 #, c-format msgid "Warning: cannot load module `%s': %s" msgstr "" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, c-format msgid "cannot unload module `%s': %s" msgstr "" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Impossibile aprire %s" =20 -#: m4/module.c:432 +#: m4/module.c:431 #, c-format msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Impossibile aprire l' archivio di errore: %s" Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.30 diff -u -p -u -r1.30 ja.po --- po/ja.po 4 Sep 2003 16:04:09 -0000 1.30 +++ po/ja.po 5 Sep 2003 18:30:00 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -14,11 +14,15 @@ msgstr "" "Content-Type: text/plain; charset=3DEUC\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -68,10 +72,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -114,75 +114,75 @@ msgstr "=A4=CA=A4=B7" msgid "EOF in string" msgstr "=A5=A8=A5=E9=A1=BC: =CA=B8=BB=FA=CE=F3=C6=E2=A4=CB=A5=D5=A5=A1=A5= =A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE=A4=B9=A1=A3= " =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "=A5=A8=A5=E9=A1=BC: =B0=FA=BF=F4=A5=EA=A5=B9=A5=C8=C6=E2=A4=CB=A5= =D5=A5=A1=A5=A4=A5=EB=A4=CE=BD=AA=C3=BC=B5=AD=B9=E6=A4=AC=A4=A2=A4=EA=A4=DE= =A4=B9=A1=A3" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=A5=A8=A5=E9=A1=BC=A1=A7=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=CE=A5=CD=A5=B9= =A5=C8=A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=C3=CD %d =A4=F2=C4=B6=A4=A8=A4= =C6=A4=A4=A4=DE=A4=B9=A1=A3\n" " -L<=BF=F4=BB=FA> =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=F2=CD=D1=A4=A4= =A4=C6=A5=CD=A5=B9=A5=C8=BF=F4=A4=CE=BE=E5=B8=C2=A4=F2=C1=FD=A4=E4=A4=B7=A4= =C6=B2=BC=A4=B5=A4=A4=A1=A3" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "" =20 -#: m4/module.c:231 +#: m4/module.c:230 #, c-format msgid "Warning: cannot load module `%s': %s" msgstr "" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, c-format msgid "cannot unload module `%s': %s" msgstr "" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "`%s' =A4=F2=A5=AA=A1=BC=A5=D7=A5=F3=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: m4/module.c:432 +#: m4/module.c:431 #, c-format msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "`%s' =A4=F2=A5=A8=A5=E9=A1=BC=A5=ED=A5=B0=A5=D5=A5=A1=A5=A4=A5=EB= =A4=C8=A4=B7=A4=C6=A5=BB=A5=C3=A5=C8=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3"= Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.30 diff -u -p -u -r1.30 nl.po --- po/nl.po 4 Sep 2003 16:04:09 -0000 1.30 +++ po/nl.po 5 Sep 2003 18:30:00 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -14,10 +14,14 @@ msgstr "" "Content-Type: text/plain; charset=3D\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -67,10 +71,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -114,74 +114,74 @@ msgstr "GEEN" msgid "EOF in string" msgstr "FOUT: Einde van bestand teken in string" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "FOUT: Einde van bestand teken in argumentenlijst" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "FOUT: Recursie limiet of %d overschreden, gebruik -L om dit te wijzi= gen" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "" =20 -#: m4/module.c:231 +#: m4/module.c:230 #, c-format msgid "Warning: cannot load module `%s': %s" msgstr "" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, c-format msgid "cannot unload module `%s': %s" msgstr "" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, c-format msgid "failed to initialise module loader: %s" msgstr "" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "Kan %s niet openen" =20 -#: m4/module.c:432 +#: m4/module.c:431 #, c-format msgid "cannot unload all modules: %s" msgstr "" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "Kan fout bestand niet instellen: %s" Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.30 diff -u -p -u -r1.30 pl.po --- po/pl.po 4 Sep 2003 16:04:09 -0000 1.30 +++ po/pl.po 5 Sep 2003 18:30:00 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -14,10 +14,14 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-2\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -67,10 +71,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -114,73 +114,73 @@ msgstr "=AFADEN" msgid "EOF in string" msgstr "B=A3=A1D: EOF w =B3a=F1cuchu" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "B=A3=A1D: EOF w li=B6cie argument=F3w" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "B=A3=A1D: Osi=B1gni=EAty limit rekursji %d, u=BFyj -L =BFeby = go zmieni=E6" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, fuzzy, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:231 +#: m4/module.c:230 #, fuzzy, c-format msgid "Warning: cannot load module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, fuzzy, c-format msgid "cannot unload module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BF=E6 modu=B3u `%s': %s" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:432 +#: m4/module.c:431 #, fuzzy, c-format msgid "cannot unload all modules: %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "B=A3=A1D: nie mo=BFna znale=BC=E6 modu=B3u `%s'" Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.30 diff -u -p -u -r1.30 ru.po --- po/ru.po 4 Sep 2003 16:04:09 -0000 1.30 +++ po/ru.po 5 Sep 2003 18:30:00 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -14,11 +14,15 @@ msgstr "" "Content-Type: text/plain; charset=3Dkoi8-r\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 #, fuzzy msgid "memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -68,10 +72,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -114,74 +114,74 @@ msgstr "=EE=E9=FE=E5=E7=EF" msgid "EOF in string" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D4=D2= =CF=CB=C5" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA=CC=C1 =D7 =D3=D0=C9= =D3=CB=C5 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "" "=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d =C9=D3=DE= =C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF=C2=D9 = =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, fuzzy, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:231 +#: m4/module.c:230 #, fuzzy, c-format msgid "Warning: cannot load module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, fuzzy, c-format msgid "cannot unload module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE: %s" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:432 +#: m4/module.c:431 #, fuzzy, c-format msgid "cannot unload all modules: %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE=C5 =CE=C1=CA=C4=C5= =CE" Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.31 diff -u -p -u -r1.31 sv.po --- po/sv.po 4 Sep 2003 16:04:09 -0000 1.31 +++ po/sv.po 5 Sep 2003 18:30:00 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-04 16:21+0100\n" +"POT-Creation-Date: 2003-09-05 19:04+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -15,10 +15,14 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: gnulib/lib/obstack.c:487 gnulib/lib/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 msgid "memory exhausted" msgstr "" =20 +#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -68,10 +72,6 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 m4/xmalloc.c:80 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -115,73 +115,73 @@ msgstr "INGET" msgid "EOF in string" msgstr "FEL: Filslut i str=E4ng" =20 -#: m4/macro.c:185 +#: m4/macro.c:184 #, fuzzy msgid "EOF in argument list" msgstr "FEL: Filslut i argumentlistan" =20 -#: m4/macro.c:231 +#: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" msgstr "FEL: Rekursionsgr=E4ns %d =F6verskriden, anv=E4nd -L f=F6r at= t =E4ndra" =20 -#: m4/macro.c:426 +#: m4/macro.c:425 #, c-format msgid "Error: %s: unterminated parameter reference: %s" msgstr "" =20 -#: m4/module.c:123 +#: m4/module.c:122 #, fuzzy, c-format msgid "Warning: cannot load symbol `%s' from module `%s'" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:231 +#: m4/module.c:230 #, fuzzy, c-format msgid "Warning: cannot load module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:258 +#: m4/module.c:257 msgid "module not loaded" msgstr "" =20 -#: m4/module.c:269 +#: m4/module.c:268 #, fuzzy, c-format msgid "cannot unload module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:290 +#: m4/module.c:289 msgid "Warning: multiple module loader initialisations" msgstr "" =20 -#: m4/module.c:310 +#: m4/module.c:309 msgid "libltdl client registration failed" msgstr "" =20 -#: m4/module.c:337 +#: m4/module.c:336 #, fuzzy, c-format msgid "failed to initialise module loader: %s" msgstr "FEL: kan inte hitta modul \"%s\": %s" =20 -#: m4/module.c:388 +#: m4/module.c:387 #, c-format msgid "module `%s' has no entry points" msgstr "" =20 -#: m4/module.c:400 +#: m4/module.c:399 #, fuzzy, c-format msgid "cannot open module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:432 +#: m4/module.c:431 #, fuzzy, c-format msgid "cannot unload all modules: %s" msgstr "FEL: kan inte hitta modul \"%s\"" =20 -#: m4/module.c:445 +#: m4/module.c:444 msgid "unknown error" msgstr "" =20 -#: m4/module.c:493 +#: m4/module.c:492 #, fuzzy, c-format msgid "cannot close module `%s': %s" msgstr "FEL: kan inte hitta modul \"%s\"" Index: src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/src/Makefile.am,v retrieving revision 1.10 diff -u -p -u -r1.10 Makefile.am --- src/Makefile.am 29 Aug 2003 16:55:56 -0000 1.10 +++ src/Makefile.am 5 Sep 2003 18:30:00 -0000 @@ -1,5 +1,5 @@ ## This file is part of GNU m4 -## Copyright (C) 2000 Free Software Foundation, Inc. +## Copyright (C) 2000, 2003 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 @@ -18,19 +18,20 @@ ## ## Written by Gary V. Vaughan =20 -CLEANFILES =3D m4$(EXEEXT) -MAINTAINERCLEANFILES =3D Makefile.in - -INCLUDES =3D -I$(top_builddir) -I$(top_srcdir) \ +AM_CPPFLAGS =3D -I$(top_builddir) -I$(top_srcdir) \ + -I$(top_builddir)/gnulib -I$(top_srcdir)/gnulib \ -I$(top_builddir)/m4 -I$(top_srcdir)/m4 $(INTLINCL) =20 -noinst_HEADERS =3D gnu-getopt.h - -bin_PROGRAMS =3D m4 -m4_SOURCES =3D main.c m4.h freeze.c stackovf.c -EXTRA_m4_SOURCES =3D getopt.c getopt1.c +bin_PROGRAMS =3D m4 +m4_SOURCES =3D main.c m4.h freeze.c stackovf.c +EXTRA_m4_SOURCES =3D getopt.c getopt1.c =20 -m4_LDADD =3D $(M4OBJS) $(top_builddir)/m4/libm4.la $(INTLLIBS) -m4_LDFLAGS =3D -no-undefined -export-dynamic $(DLPREOPEN) +m4_LDADD =3D $(M4OBJS) $(top_builddir)/m4/libm4.la $(INTLLIBS) +m4_LDFLAGS =3D -no-undefined -export-dynamic $(DLPREOPEN) =20 $(bin_PROGRAMS): $(M4OBJS) + +noinst_HEADERS =3D gnu-getopt.h + +CLEANFILES =3D m4$(EXEEXT) +MAINTAINERCLEANFILES =3D Makefile.in --------------050408020508070806080704-- From MAILER-DAEMON Tue Sep 09 08:36:42 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19whgb-0005FB-Bq for mharc-m4-patches@gnu.org; Tue, 09 Sep 2003 08:33:33 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19whex-0004r1-BS for m4-patches@gnu.org; Tue, 09 Sep 2003 08:31:51 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19whee-0004lw-0i for m4-patches@gnu.org; Tue, 09 Sep 2003 08:31:32 -0400 Received: from [163.5.255.10] (helo=epita.fr) by monty-python.gnu.org with esmtp (Exim 4.22) id 19whbK-0003M6-ID; Tue, 09 Sep 2003 08:28:06 -0400 Received: from kualalumpur.lrde.epita.fr (kualalumpur.lrde.epita.fr [10.223.13.1]) by epita.fr id h89CRvE16177 Tue, 9 Sep 2003 14:27:58 +0200 (CEST) Received: from nostromo.lrde.epita.fr ([10.223.13.52] ident=mail) by kualalumpur.lrde.epita.fr with esmtp (Exim 3.35 #1 (Debian)) id 19whbG-0005US-00; Tue, 09 Sep 2003 14:28:02 +0200 Received: from akim by nostromo.lrde.epita.fr with local (Exim 3.36 #1 (Debian)) id 19whbG-0005fT-00; Tue, 09 Sep 2003 14:28:02 +0200 To: "Gary V. Vaughan" References: <3F572500.308@gnu.org> <3F586FCE.6050507@gnu.org> <3F58729D.8090406@gnu.org> From: Akim Demaille Date: Tue, 09 Sep 2003 14:28:02 +0200 In-Reply-To: (Akim Demaille's message of "Fri, 05 Sep 2003 15:10:31 +0200") Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Akim Demaille Cc: m4-patches@gnu.org, autoconf-patches@gnu.org, Automake Patches Subject: Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Sep 2003 12:33:29 -0000 I'm installing the following in Automake and Autoconf. Index: ChangeLog from Akim Demaille * lib/Automake/FileUtils.pm (&update_file): Be sure not to leave trailing files. Index: lib/Automake/FileUtils.pm =================================================================== RCS file: /cvs/automake/automake/lib/Automake/FileUtils.pm,v retrieving revision 1.2 diff -u -u -r1.2 FileUtils.pm --- lib/Automake/FileUtils.pm 20 Aug 2003 17:28:05 -0000 1.2 +++ lib/Automake/FileUtils.pm 9 Sep 2003 12:27:18 -0000 @@ -153,6 +153,8 @@ { # File didn't change, so don't update its mod time. msg 'note', "`$to' is unchanged"; + unlink ($from) + or fatal "cannot not remove $from: $!"; return } From MAILER-DAEMON Tue Sep 09 09:32:02 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19wias-0005sG-4k for mharc-m4-patches@gnu.org; Tue, 09 Sep 2003 09:31:42 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19whIl-0000N1-Hp for m4-patches@gnu.org; Tue, 09 Sep 2003 08:08:55 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19whI5-00008r-Cj for m4-patches@gnu.org; Tue, 09 Sep 2003 08:08:25 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19whI0-00005o-MK for m4-patches@gnu.org; Tue, 09 Sep 2003 08:08:08 -0400 Received: (qmail 30779 invoked from network); 9 Sep 2003 12:34:24 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 9 Sep 2003 12:34:24 -0000 Received: (qmail 19696 invoked from network); 9 Sep 2003 12:11:17 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 9 Sep 2003 12:11:17 -0000 Message-ID: <3F5DC37B.8020402@gnu.org> Date: Tue, 09 Sep 2003 13:11:39 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------060805070600060508000401" X-Mailman-Approved-At: Tue, 09 Sep 2003 09:31:39 -0400 Subject: FYI: 55-gary-gnulib-gettext-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Sep 2003 12:09:48 -0000 This is a multi-part message in MIME format. --------------060805070600060508000401 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------060805070600060508000401 Content-Type: text/plain; name="55-gary-gnulib-gettext-import.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="55-gary-gnulib-gettext-import.patch" Index: ChangeLog from Gary V. Vaughan The gnulib obstack module requires the gnulib gettext module for systems that do not have GNU gettext installed. Because we use -Ignulib/m4 in our Makefiles it is not safe to drop gettext.h in that directory incase it clashes with the system gettext.h. This delta uses gettext_.h and extra rules in the Makefile to make a link to gettext.h when needed: * Makefile.am (auxdir): Removed. No longer used. * configure.ac (ac_aux_dir): Removed AC_SUBST. No longer used. (TIMESTAMP): List path to `mkstamp' literally, as ac_aux_dir has moved. (AC_CONFIG_LIBOBJ_DIR): Declare this for possible future single Makefile based build. (AC_CONFIG_AUX_DIR): Now we use gnulib/config where the majority of the macros are kept. * Makefile.am (ACLOCAL_MFLAGS): Search gnulib/config first. * configure.ac (AM_INIT_AUTOMAKE): Require 1.7a. * config/Makefile (ACLOCAL_MACROS): Removed. Automake 1.7a distributes these automatically. * config/regex.m4 (jm_WITH_REGEX): Fixed underquoting to prevent warning from automake-1.7a. * config/debug.m4 (M4_AC_CHECK_DEBUGGING): Renamed to m4_CHECK_DEBUGGING for consistency with gnulib prefixes. Changed all callers. * config/m4-obstack.m4 (M4_AC_FUNC_OBSTACK): Ditto wrt. m4_FUNC_OBSTACK. * config/stackovf.m4 (M4_AC_SYS_STACKOVF): Ditto wrt. m4_sys_STACKOVF. * config/gmp.m4 (_M4_AC_LIB_GMP, M4_AC_LIB_GMP): Ditto wrt. _m4_LIB_GMP, m4_LIB_GMP. (ac_gmp_save_LIBS, ac_cv_using_lib_gmp): Don't use autoconf's namespace. Renamed to m4_gmp_save_LIBS and m4_cv_using_lib_gmp respectively. * config/m4-gettext.m4: New file to set GETTEXT_H appropriately. * gnulib/m4/Makefile.am: Added a new block to make an appropriate gettext.h link on deficient systems. (pkginc_HEADERS): Mention $(GETTEXT_H). (EXTRA_HEADERS): Mention gettext.h. * gnulib/config/gettext_.h: New file from gnulib's gettext.h. * gnulib/config/codeset.m4, gnulib/config/gettext.m4, gnulib/config/glibc21.m4, gnulib/config/iconv.m4, gnulib/config/intdiv.m4, gnulib/config/inttypes-pri.m4, gnulib/config/inttypes.m4, gnulib/config/inttypes_h.m4, gnulib/config/isc-posix.m4, gnulib/config/lcmessage.m4, gnulib/config/lib-ld.m4, gnulib/config/lib-link.m4, gnulib/config/lib-prefix.m4, gnulib/config/nls.m4, gnulib/config/po.m4, gnulib/config/progtest.m4, gnulib/config/stdint_h.m4, gnulib/config/uintmax_t.m4, gnulib/config/ulonglong.m4: Imported from CVS gnulib. Index: Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/Makefile.am,v retrieving revision 1.13 diff -u -p -u -r1.13 Makefile.am --- Makefile.am 5 Sep 2003 18:32:26 -0000 1.13 +++ Makefile.am 9 Sep 2003 11:47:59 -0000 @@ -21,10 +21,8 @@ EXTRA_DIST = bootstrap -auxdir = $(top_srcdir)/$(ac_aux_dir) - ## There is currently no means with Automake not to run aclocal. -ACLOCAL_AMFLAGS = -I config -I gnulib/config +ACLOCAL_AMFLAGS = -I gnulib/config -I config SUBDIRS = po gnulib config m4 modules src tests examples doc . MAINTAINERCLEANFILES = ABOUT-NLS COPYING INSTALL Makefile.in aclocal.m4 \ Index: configure.ac =================================================================== RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.15 diff -u -p -u -r1.15 configure.ac --- configure.ac 5 Sep 2003 18:32:26 -0000 1.15 +++ configure.ac 9 Sep 2003 11:47:59 -0000 @@ -23,9 +23,10 @@ AC_INIT([GNU m4], [1.4q], [bug-m4@gnu.org]) AC_CONFIG_SRCDIR([src/m4.h]) -AC_CONFIG_AUX_DIR(config) -AC_CONFIG_HEADERS(config.h:config-h.in) -AC_CONFIG_TESTDIR(tests) +AC_CONFIG_AUX_DIR([gnulib/config]) +AC_CONFIG_LIBOBJ_DIR([gnulib/m4]) +AC_CONFIG_HEADERS([config.h:config-h.in]) +AC_CONFIG_TESTDIR([tests]) AC_CONFIG_FILES([tests/m4], [chmod +x tests/m4]) @@ -36,7 +37,7 @@ AC_CONFIG_FILES([tests/m4], [chmod +x te TIMESTAMP= case AC_PACKAGE_VERSION in *[[acegikmoqsuwy]]) - TIMESTAMP=`$CONFIG_SHELL $ac_aux_dir/mkstamp < $srcdir/ChangeLog` + TIMESTAMP=`$CONFIG_SHELL config/mkstamp < $srcdir/ChangeLog` AS_BOX([Configuring AC_PACKAGE_TARNAME AC_PACKAGE_VERSION$TIMESTAMP]) echo ;; @@ -58,7 +59,6 @@ m4_pattern_allow([^jm_ac_cv_]) pkglibexecdir='${libexecdir}'/$PACKAGE AC_SUBST([pkglibexecdir]) -AC_SUBST([ac_aux_dir]) AC_MSG_CHECKING(for modules to preload) m4_pattern_allow([^m4_default_preload$]) @@ -89,7 +89,7 @@ AC_SUBST(DLPREOPEN) ## ------------------------ ## ## Automake Initialisation. ## ## ------------------------ ## -AM_INIT_AUTOMAKE([1.7.1 dist-bzip2]) +AM_INIT_AUTOMAKE([1.7a dist-bzip2]) @@ -102,7 +102,7 @@ AC_ISC_POSIX AM_PROG_CC_STDC AC_PROG_CPP AC_PROG_CC_C_O -M4_AC_CHECK_DEBUGGING +m4_CHECK_DEBUGGING # Use gcc's -pipe option if available: for faster compilation. case "$CFLAGS" in @@ -133,8 +133,8 @@ AC_SUBST([LTDLINCL], ["${LTDLINCL-INCLTD ## Gettext support. ## ## ---------------- ## AM_GNU_GETTEXT(external, need-ngettext) -AM_GNU_GETTEXT_VERSION(0.11.5) -AC_CONFIG_FILES(po/Makefile.in) +AM_GNU_GETTEXT_VERSION(0.12) +m4_GNU_GETTEXT @@ -186,8 +186,8 @@ AM_WITH_DMALLOC jm_PREREQ_ERROR -M4_AC_FUNC_OBSTACK -M4_AC_SYS_STACKOVF +m4_FUNC_OBSTACK +m4_SYS_STACKOVF M4OBJS= m4_pattern_allow([^m4_getopt_h$]) @@ -205,7 +205,7 @@ AC_FUNC_STRFTIME AC_CHECK_FUNCS(getcwd gethostname mktime uname) AC_CHECK_FUNCS(setenv unsetenv putenv clearenv) -M4_AC_LIB_GMP +m4_LIB_GMP AM_CONDITIONAL([USE_GMP], [test "x$USE_GMP" = xyes]) Index: config/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/config/Makefile.am,v retrieving revision 1.17 diff -u -p -u -r1.17 Makefile.am --- config/Makefile.am 5 Sep 2003 11:30:23 -0000 1.17 +++ config/Makefile.am 9 Sep 2003 11:47:59 -0000 @@ -26,25 +26,6 @@ texinfo.tex \ $(ACLOCAL_MACROS) \ $(STANDARD_TOOLS) -ACLOCAL_MACROS = \ -codeset.m4 \ -gettext.m4 \ -glibc21.m4 \ -iconv.m4 \ -intdiv0.m4 \ -inttypes-pri.m4 \ -inttypes.m4 \ -inttypes_h.m4 \ -isc-posix.m4 \ -lcmessage.m4 \ -lib-ld.m4 \ -lib-link.m4 \ -lib-prefix.m4 \ -progtest.m4 \ -stdint_h.m4 \ -uintmax_t.m4 \ -ulonglong.m4 - STANDARD_TOOLS = \ compile \ config.guess \ @@ -70,4 +51,4 @@ mkstamp spy: @echo $($(SPIED)) -EXTRA_DIST = $(ACLOCAL_MACROS) $(SPECIFIC_MACROS) $(SPECIFIC_TOOLS) +EXTRA_DIST = $(SPECIFIC_MACROS) $(SPECIFIC_TOOLS) Index: config/debug.m4 =================================================================== RCS file: /cvsroot/m4/m4/config/debug.m4,v retrieving revision 1.7 diff -u -p -u -r1.7 debug.m4 --- config/debug.m4 27 Aug 2003 17:10:12 -0000 1.7 +++ config/debug.m4 9 Sep 2003 11:47:59 -0000 @@ -20,12 +20,12 @@ ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ## Boston, MA 02111-1307, USA. -# serial 6 +# serial 7 -# M4_AC_CHECK_DEBUGGING -# --------------------- +# m4_CHECK_DEBUGGING +# ------------------ # Debugging Support -AC_DEFUN([M4_AC_CHECK_DEBUGGING], +AC_DEFUN([m4_CHECK_DEBUGGING], [AC_REQUIRE([AC_PROG_CC]) AC_ARG_ENABLE([debug], [AC_HELP_STRING([--enable-debug], [build for debugging [default=no]])]) @@ -84,4 +84,4 @@ else ;; esac fi -])# M4_AC_CHECK_DEBUGGING +])# m4_CHECK_DEBUGGING Index: config/gmp.m4 =================================================================== RCS file: /cvsroot/m4/m4/config/gmp.m4,v retrieving revision 1.9 diff -u -p -u -r1.9 gmp.m4 --- config/gmp.m4 27 Aug 2003 17:10:12 -0000 1.9 +++ config/gmp.m4 9 Sep 2003 11:47:59 -0000 @@ -1,5 +1,5 @@ # -*- Autoconf -*- -# Copyright (C) 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 2000, 2001, 2003 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 @@ -16,9 +16,9 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA # 02111-1307 USA -# serial 6 +# serial 7 -m4_define([_M4_AC_LIB_GMP], +m4_define([_m4_LIB_GMP], [AC_ARG_WITH(gmp, [ --without-gmp don't use GNU multiple precision arithmetic library], [use_gmp=$withval], [use_gmp=yes]) @@ -27,46 +27,48 @@ case $use_gmp:$LIBADD_GMP:$ac_cv_header_ *::yes) AC_MSG_WARN([gmp library not found or does not appear to work but `gmp.h' is present]) - ac_cv_using_lib_gmp=no + m4_cv_using_lib_gmp=no ;; *:-lgmp:no) AC_MSG_WARN([gmp works but `gmp.h' is missing]) - ac_cv_using_lib_gmp=no + m4_cv_using_lib_gmp=no ;; yes:*:yes) - ac_cv_using_lib_gmp=yes + m4_cv_using_lib_gmp=yes ;; no:*) - ac_cv_using_lib_gmp=no + m4_cv_using_lib_gmp=no ;; esac -])# _M4_AC_LIB_GMP +])# _m4_LIB_GMP -AC_DEFUN([M4_AC_LIB_GMP], +AC_DEFUN([m4_LIB_GMP], [AC_PREREQ(2.56)dnl We use the new compiler based header checking in 2.56 AC_CHECK_HEADERS([gmp.h], [], [], [AC_INCLUDES_DEFAULT]) +m4_pattern_allow([^m4_gmp_save_LIBS$]) +m4_pattern_allow([^m4_cv_using_lib_gmp]) # Some versions of gmp provide mpq_init as a macro, so we need to # include the header file, otherwise the detection will fail. -ac_gmp_save_LIBS="$LIBS" +m4_gmp_save_LIBS="$LIBS" LIBS="$LIBS -lgmp" AC_TRY_LINK([#if HAVE_GMP_H # include #endif], [mpq_t n; mpq_init (n);], [LIBADD_GMP=-lgmp]) -LIBS=$ac_gmp_save_LIBS +LIBS=$m4_gmp_save_LIBS AC_SUBST([LIBADD_GMP]) AC_CACHE_CHECK([if using GNU multiple precision arithmetic library], - [ac_cv_using_lib_gmp], - [_M4_AC_LIB_GMP]) + [m4_cv_using_lib_gmp], + [_m4_LIB_GMP]) # Don't try to link in libgmp if we are not using it after the last call -if test "$ac_cv_using_lib_gmp" = yes; then +if test "$m4_cv_using_lib_gmp" = yes; then AC_DEFINE(USE_GMP, 1, [Define to 1 if using the GNU multiple precision library.]) fi -AC_SUBST([USE_GMP], [$ac_cv_using_lib_gmp]) -])# M4_AC_LIB_GMP +AC_SUBST([USE_GMP], [$m4_cv_using_lib_gmp]) +])# m4_LIB_GMP Index: config/m4-gettext.m4 =================================================================== RCS file: config/m4-gettext.m4 diff -N config/m4-gettext.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ config/m4-gettext.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,34 @@ +# -*- Autoconf -*- +# m4-gettext.m4 -- Use the installed version of GNU gettext if available. +# +# Copyright (C) 2003 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 of the License, 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; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Written by Gary V. Vaughan + +# serial 1 + +# m4_GNU_GETTEXT +# -------------- +# Use the installed version of GNU gettext if available. +AC_DEFUN([m4_GNU_GETTEXT], +[AC_CHECK_HEADERS([gettext.h], + [GETTEXT_H=""], [GETTEXT_H="gettext.h"], [AC_INCLUDES_DEFAULT]) +AC_SUBST(GETTEXT_H) + +AC_CONFIG_FILES(po/Makefile.in) +])# m4_GNU_GETTEXT Index: config/m4-obstack.m4 =================================================================== RCS file: /cvsroot/m4/m4/config/m4-obstack.m4,v retrieving revision 1.2 diff -u -p -u -r1.2 m4-obstack.m4 --- config/m4-obstack.m4 5 Sep 2003 18:32:26 -0000 1.2 +++ config/m4-obstack.m4 9 Sep 2003 11:47:59 -0000 @@ -1,5 +1,5 @@ # -*- Autoconf -*- -# gnu-obstack.m4 -- the libc supplied version of obstacks if available. +# m4-obstack.m4 -- the libc supplied version of obstacks if available. # # Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc # @@ -22,10 +22,10 @@ # serial 7 -# M4_AC_FUNC_OBSTACK -# ------------------ +# m4_FUNC_OBSTACK +# --------------- # Use the libc supplied version of obstacks if available. -AC_DEFUN([M4_AC_FUNC_OBSTACK], +AC_DEFUN([m4_FUNC_OBSTACK], [AC_PREREQ(2.56)dnl We use the new compiler based header checking in 2.56 AC_REQUIRE([gl_OBSTACK]) m4_pattern_allow([^m4_cv_func_obstack$])dnl @@ -70,4 +70,4 @@ else fi AC_SUBST(OBSTACK_H) AC_SUBST(INCLUDE_OBSTACK_H) -])# M4_AC_FUNC_OBSTACK +])# m4_FUNC_OBSTACK Index: config/regex.m4 =================================================================== RCS file: /cvsroot/m4/m4/config/regex.m4,v retrieving revision 1.1 diff -u -p -u -r1.1 regex.m4 --- config/regex.m4 24 Nov 2000 23:24:33 -0000 1.1 +++ config/regex.m4 9 Sep 2003 11:47:59 -0000 @@ -2,7 +2,7 @@ dnl Derived from code in GNU grep. -AC_DEFUN(jm_WITH_REGEX, +AC_DEFUN([jm_WITH_REGEX], [ dnl Even packages that don't use regex.c can use this macro. dnl Of course, for them it doesn't do anything. Index: config/stackovf.m4 =================================================================== RCS file: /cvsroot/m4/m4/config/stackovf.m4,v retrieving revision 1.4 diff -u -p -u -r1.4 stackovf.m4 --- config/stackovf.m4 27 Aug 2003 17:10:12 -0000 1.4 +++ config/stackovf.m4 9 Sep 2003 11:47:59 -0000 @@ -18,11 +18,11 @@ # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. -# serial 1 +# serial 2 -# M4_AC_SYS_STACKOVF -# ------------------ -AC_DEFUN([M4_AC_SYS_STACKOVF], +# m4_SYS_STACKOVF +# --------------- +AC_DEFUN([m4_SYS_STACKOVF], [AC_PREREQ(2.56)dnl We use the new compiler based header checking in 2.56 AC_REQUIRE([AC_TYPE_SIGNAL])dnl @@ -72,4 +72,4 @@ if test "$use_stackovf" = yes; then AC_DEFINE(ss_sp, ss_base, [Define to ss_base if stack_t has ss_base instead of ss_sp.])) fi -])# M4_AC_SYS_STACKOVF +])# m4_SYS_STACKOVF Index: gnulib/config/codeset.m4 =================================================================== RCS file: gnulib/config/codeset.m4 diff -N gnulib/config/codeset.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/codeset.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,23 @@ +# codeset.m4 serial AM1 (gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([AM_LANGINFO_CODESET], +[ + AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, + [AC_TRY_LINK([#include ], + [char* cs = nl_langinfo(CODESET);], + am_cv_langinfo_codeset=yes, + am_cv_langinfo_codeset=no) + ]) + if test $am_cv_langinfo_codeset = yes; then + AC_DEFINE(HAVE_LANGINFO_CODESET, 1, + [Define if you have and nl_langinfo(CODESET).]) + fi +]) Index: gnulib/config/gettext.m4 =================================================================== RCS file: gnulib/config/gettext.m4 diff -N gnulib/config/gettext.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/gettext.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,415 @@ +# gettext.m4 serial 20 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define(gt_included_intl, ifelse([$1], [external], [no], [yes])) + define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Set USE_NLS. + AM_NLS + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + dnl Add a version number to the cache macros. + define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) + define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) + define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) + + AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, + [AC_TRY_LINK([#include +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], + gt_cv_func_gnugettext_libc=yes, + gt_cv_func_gnugettext_libc=no)]) + + if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + gt_cv_func_gnugettext_libintl, + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + gt_cv_func_gnugettext_libintl=yes, + gt_cv_func_gnugettext_libintl=no) + dnl Now see whether libintl exists and depends on libiconv. + if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext_libintl=yes + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if test "$gt_cv_func_gnugettext_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE(HAVE_DCGETTEXT, 1, + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATOBJEXT) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) + + dnl For backward compatibility. Some Makefiles may be using this. + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST(INTLOBJS) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) + + dnl Make all documented variables known to autoconf. + AC_SUBST(LIBINTL) + AC_SUBST(LTLIBINTL) + AC_SUBST(POSUB) +]) + + +dnl Checks for all prerequisites of the intl subdirectory, +dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, +dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. +AC_DEFUN([AM_INTL_SUBDIR], +[ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([jm_GLIBC21])dnl + AC_REQUIRE([gt_INTDIV0])dnl + AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl + AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl + AC_REQUIRE([gt_INTTYPES_PRI])dnl + + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h]) + AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ +geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ +strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \ +__fsetlocking]) + + AM_ICONV + AM_LANGINFO_CODESET + if test $ac_cv_header_locale_h = yes; then + AM_LC_MESSAGES + fi + + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + AC_CHECK_PROGS([INTLBISON], [bison]) + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + dnl Found it, now check the version. + AC_MSG_CHECKING([version of bison]) +changequote(<<,>>)dnl + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) +changequote([,])dnl + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + AC_MSG_RESULT([$ac_prog_version]) + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) Index: gnulib/config/glibc21.m4 =================================================================== RCS file: gnulib/config/glibc21.m4 diff -N gnulib/config/glibc21.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/glibc21.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,32 @@ +# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# Test for the GNU C Library, version 2.1 or newer. +# From Bruno Haible. + +AC_DEFUN([jm_GLIBC21], + [ + AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, + ac_cv_gnu_library_2_1, + [AC_EGREP_CPP([Lucky GNU user], + [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + ac_cv_gnu_library_2_1=yes, + ac_cv_gnu_library_2_1=no) + ] + ) + AC_SUBST(GLIBC21) + GLIBC21="$ac_cv_gnu_library_2_1" + ] +) Index: gnulib/config/iconv.m4 =================================================================== RCS file: gnulib/config/iconv.m4 diff -N gnulib/config/iconv.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/iconv.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,103 @@ +# iconv.m4 serial AM4 (gettext-0.11.3) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) +]) + +AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi +]) Index: gnulib/config/intdiv0.m4 =================================================================== RCS file: gnulib/config/intdiv0.m4 diff -N gnulib/config/intdiv0.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/intdiv0.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,72 @@ +# intdiv0.m4 serial 1 (gettext-0.11.3) +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([gt_INTDIV0], +[ + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + + AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], + gt_cv_int_divbyzero_sigfpe, + [ + AC_TRY_RUN([ +#include +#include + +static void +#ifdef __cplusplus +sigfpe_handler (int sig) +#else +sigfpe_handler (sig) int sig; +#endif +{ + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); +} + +int x = 1; +int y = 0; +int z; +int nan; + +int main () +{ + signal (SIGFPE, sigfpe_handler); +/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ +#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); +#endif +/* Linux/SPARC yields signal SIGILL. */ +#if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); +#endif + + z = x / y; + nan = y / y; + exit (1); +} +], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, + [ + # Guess based on the CPU. + case "$host_cpu" in + alpha* | i[34567]86 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac + ]) + ]) + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac + AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, + [Define if integer division by zero raises signal SIGFPE.]) +]) Index: gnulib/config/inttypes-pri.m4 =================================================================== RCS file: gnulib/config/inttypes-pri.m4 diff -N gnulib/config/inttypes-pri.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/inttypes-pri.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,32 @@ +# inttypes-pri.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +# Define PRI_MACROS_BROKEN if exists and defines the PRI* +# macros to non-string values. This is the case on AIX 4.3.3. + +AC_DEFUN([gt_INTTYPES_PRI], +[ + AC_REQUIRE([gt_HEADER_INTTYPES_H]) + if test $gt_cv_header_inttypes_h = yes; then + AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], + gt_cv_inttypes_pri_broken, + [ + AC_TRY_COMPILE([#include +#ifdef PRId32 +char *p = PRId32; +#endif +], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) + ]) + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, + [Define if exists and defines unusable PRI* macros.]) + fi +]) Index: gnulib/config/inttypes.m4 =================================================================== RCS file: gnulib/config/inttypes.m4 diff -N gnulib/config/inttypes.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/inttypes.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,27 @@ +# inttypes.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H if exists and doesn't clash with +# . + +AC_DEFUN([gt_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, + [ + AC_TRY_COMPILE( + [#include +#include ], + [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) + ]) + if test $gt_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, + [Define if exists and doesn't clash with .]) + fi +]) Index: gnulib/config/inttypes_h.m4 =================================================================== RCS file: gnulib/config/inttypes_h.m4 diff -N gnulib/config/inttypes_h.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/inttypes_h.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,28 @@ +# inttypes_h.m4 serial 5 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([jm_AC_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_inttypes_h=yes, + jm_ac_cv_header_inttypes_h=no)]) + if test $jm_ac_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) Index: gnulib/config/isc-posix.m4 =================================================================== RCS file: gnulib/config/isc-posix.m4 diff -N gnulib/config/isc-posix.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/isc-posix.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,26 @@ +# isc-posix.m4 serial 2 (gettext-0.11.2) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. + +# This test replaces the one in autoconf. +# Currently this macro should have the same name as the autoconf macro +# because gettext's gettext.m4 (distributed in the automake package) +# still uses it. Otherwise, the use in gettext.m4 makes autoheader +# give these diagnostics: +# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX +# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX + +undefine([AC_ISC_POSIX]) + +AC_DEFUN([AC_ISC_POSIX], + [ + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) + ] +) Index: gnulib/config/lcmessage.m4 =================================================================== RCS file: gnulib/config/lcmessage.m4 diff -N gnulib/config/lcmessage.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/lcmessage.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,32 @@ +# lcmessage.m4 serial 3 (gettext-0.11.3) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995. + +# Check whether LC_MESSAGES is available in . + +AC_DEFUN([AM_LC_MESSAGES], +[ + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi +]) Index: gnulib/config/lib-ld.m4 =================================================================== RCS file: gnulib/config/lib-ld.m4 diff -N gnulib/config/lib-ld.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/lib-ld.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 2 (gettext-0.12) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + acl_cv_prog_gnu_ld=yes +else + acl_cv_prog_gnu_ld=no +fi]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-1.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) Index: gnulib/config/lib-link.m4 =================================================================== RCS file: gnulib/config/lib-link.m4 diff -N gnulib/config/lib-link.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/lib-link.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,551 @@ +# lib-link.m4 serial 4 (gettext-0.12) +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. If found, it +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + undefine([Name]) + undefine([NAME]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, +dnl hardcode_direct, hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE(rpath, + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib$1-prefix], +[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) Index: gnulib/config/lib-prefix.m4 =================================================================== RCS file: gnulib/config/lib-prefix.m4 diff -N gnulib/config/lib-prefix.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/lib-prefix.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,155 @@ +# lib-prefix.m4 serial 2 (gettext-0.12) +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) Index: gnulib/config/nls.m4 =================================================================== RCS file: gnulib/config/nls.m4 diff -N gnulib/config/nls.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/nls.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,49 @@ +# nls.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) + +AC_DEFUN([AM_MKINSTALLDIRS], +[ + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but $(top_srcdir). + dnl Try to locate it. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + case "$ac_aux_dir" in + /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; + *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; + esac + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) +]) Index: gnulib/config/po.m4 =================================================================== RCS file: gnulib/config/po.m4 diff -N gnulib/config/po.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/po.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,197 @@ +# po.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && + (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` + AC_MSG_RESULT( + [found $GMSGFMT program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + fi + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + fi + + AC_OUTPUT_COMMANDS([ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + GMOFILES= + UPDATEPOFILES= + DUMMYPOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it + # from automake. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) Index: gnulib/config/progtest.m4 =================================================================== RCS file: gnulib/config/progtest.m4 diff -N gnulib/config/progtest.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/progtest.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,91 @@ +# progtest.m4 serial 3 (gettext-0.12) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1996. + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) Index: gnulib/config/stdint_h.m4 =================================================================== RCS file: gnulib/config/stdint_h.m4 diff -N gnulib/config/stdint_h.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/stdint_h.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,28 @@ +# stdint_h.m4 serial 3 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_STDINT_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([jm_AC_HEADER_STDINT_H], +[ + AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_stdint_h=yes, + jm_ac_cv_header_stdint_h=no)]) + if test $jm_ac_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) Index: gnulib/config/uintmax_t.m4 =================================================================== RCS file: gnulib/config/uintmax_t.m4 diff -N gnulib/config/uintmax_t.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/uintmax_t.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,32 @@ +# uintmax_t.m4 serial 7 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +AC_PREREQ(2.13) + +# Define uintmax_t to 'unsigned long' or 'unsigned long long' +# if it is not already defined in or . + +AC_DEFUN([jm_AC_TYPE_UINTMAX_T], +[ + AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_HEADER_STDINT_H]) + if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then + AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, + [Define to unsigned long or unsigned long long + if and don't define.]) + else + AC_DEFINE(HAVE_UINTMAX_T, 1, + [Define if you have the 'uintmax_t' type in or .]) + fi +]) Index: gnulib/config/ulonglong.m4 =================================================================== RCS file: gnulib/config/ulonglong.m4 diff -N gnulib/config/ulonglong.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/ulonglong.m4 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,23 @@ +# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) +dnl Copyright (C) 1999-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], +[ + AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, + [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], + [unsigned long long ullmax = (unsigned long long) -1; + return ull << i | ull >> i | ullmax / ull | ullmax % ull;], + ac_cv_type_unsigned_long_long=yes, + ac_cv_type_unsigned_long_long=no)]) + if test $ac_cv_type_unsigned_long_long = yes; then + AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, + [Define if you have the unsigned long long type.]) + fi +]) Index: gnulib/m4/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.1 diff -u -p -u -r1.1 Makefile.am --- gnulib/m4/Makefile.am 5 Sep 2003 18:32:26 -0000 1.1 +++ gnulib/m4/Makefile.am 9 Sep 2003 11:47:59 -0000 @@ -26,8 +26,8 @@ libgnu_la_SOURCES = libgnu_la_LIBADD = $(LTLIBOBJS) $(LTLIBINTL) pkgincdir = $(includedir)/@PACKAGE@ -pkginc_HEADERS = $(OBSTACK_H) $(STDBOOL_H) -EXTRA_HEADERS = obstack.h stdbool.h +pkginc_HEADERS = $(GETTEXT_H) $(OBSTACK_H) $(STDBOOL_H) +EXTRA_HEADERS = gettext.h obstack.h stdbool.h EXTRA_DIST = MOSTLYCLEANFILES = @@ -37,6 +37,17 @@ MAINTAINERCLEANFILES = Makefile.in # --------------------------- # # Gnulib Makefile.am snippets # # --------------------------- # + +## gettext: (not yet in gnulib) +BUILT_SOURCES += $(GETTEXT_H) +EXTRA_DIST += gettext_.h + +all-local $(lib_OBJECTS): $(GETTEXT_H) +gettext.h: gettext_.h + rm -f $@ && $(LN_S) gettext_.h $@ + +MOSTLYCLEANFILES += gettext_.h + ## obstack: (not yet in gnulib) BUILT_SOURCES += $(OBSTACK_H) Index: gnulib/m4/gettext_.h =================================================================== RCS file: gnulib/m4/gettext_.h diff -N gnulib/m4/gettext_.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/gettext_.h 9 Sep 2003 11:47:59 -0000 @@ -0,0 +1,68 @@ +/* Convenience header for conditional use of GNU . + Copyright (C) 1995-1998, 2000-2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include + +#else + +/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which + chokes if dcgettext is defined as a macro. So include it now, to make + later inclusions of a NOP. We don't include + as well because people using "gettext.h" will not include , + and also including would fail on SunOS 4, whereas + is OK. */ +#if defined(__sun) +# include +#endif + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to + contain "#define const". */ +# define gettext(Msgid) ((const char *) (Msgid)) +# define dgettext(Domainname, Msgid) ((const char *) (Msgid)) +# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define textdomain(Domainname) ((const char *) (Domainname)) +# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) +# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) + +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strings + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +#endif /* _LIBGETTEXT_H */ --------------060805070600060508000401-- From MAILER-DAEMON Tue Sep 09 10:20:45 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19wjLi-0007sa-W2 for mharc-m4-patches@gnu.org; Tue, 09 Sep 2003 10:20:06 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19wjKl-0007Ve-97 for m4-patches@gnu.org; Tue, 09 Sep 2003 10:19:07 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19wjJ5-0006Kr-73 for m4-patches@gnu.org; Tue, 09 Sep 2003 10:17:29 -0400 Received: from [66.111.4.26] (helo=mail.messagingengine.com) by monty-python.gnu.org with esmtp (Exim 4.22) id 19wjHA-0005Lv-DT for m4-patches@gnu.org; Tue, 09 Sep 2003 10:15:24 -0400 Received: from www.fastmail.fm (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id 09B291AA335 for ; Tue, 9 Sep 2003 10:15:23 -0400 (EDT) Received: from 10.202.2.132 ([10.202.2.132] helo=www.fastmail.fm) by messagingengine.com with SMTP; Tue, 09 Sep 2003 10:15:23 -0400 Received: by www.fastmail.fm (Postfix, from userid 99) id CDDB43B4AF; Tue, 9 Sep 2003 10:15:21 -0400 (EDT) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_106311692154280" MIME-Version: 1.0 From: "Gary V. Vaughan" To: "M4 Patches" Date: Tue, 09 Sep 2003 15:15:21 +0100 X-Epoch: 1063116923 X-Sasl-enc: o1wo/w/ZQbCsd4iUGqeE9g X-Mailer: MIME::Lite 1.2 (F2.71; T1.001; A1.51; B2.12; Q2.03) Message-Id: <20030909141521.CDDB43B4AF@www.fastmail.fm> Subject: FYI: 56-gary-fix-m4-obstack-m4.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Sep 2003 14:20:05 -0000 This is a multi-part message in MIME format. --_----------=_106311692154280 Content-Disposition: inline Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="ISO-8859-1" Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --_----------=_106311692154280 Content-Disposition: attachment; filename="56-gary-fix-m4-obstack-m4.patch" Content-Transfer-Encoding: base64 Content-Type: application/unknown; name="56-gary-fix-m4-obstack-m4.patch" SW5kZXg6IENoYW5nZUxvZwpmcm9tICBHYXJ5IFYuIFZhdWdoYW4gIDxnYXJ5 QGdudS5vcmc+CgkqIGNvbmZpZy9tNC1vYnN0YWNrLm00IChtNF9GVU5DX09C U1RBQ0spOiBEJ29oISBOb3cgdGhhdCB3ZSB3cmFwCglnbF9PQlNUQUNLLCB3 aGljaCBpbiB0dXJuIGNhbGxzIEFDX0ZVTkNfT0JTVEFDSywgZG9uJ3QgcmVy dW4gYml0cwoJb2YgY29kZSBvcmlnaW5hbGx5IHNuYXJmZWQgZnJvbSBBQ19G VU5DX09CU1RBQ0shISEgV2hpbGUgSSdtIGhlcmUKCXJlbmFtZSB0byBtNF9P QlNUQUNLIGluIGxpZ2h0IG9mIHdyYXBwaW5nIGdsX09CU1RBQ0suCgoyMDAz LTA5LTA5ICBHYXJ5IFYuIFZhdWdoYW4gIDxnYXJ5QGdudS5vcmc+CgpJbmRl eDogY29uZmlndXJlLmFjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp bGU6IC9jdnNyb290L200L200L2NvbmZpZ3VyZS5hYyx2CnJldHJpZXZpbmcg cmV2aXNpb24gMS4xNgpkaWZmIC11IC1wIC11IC1yMS4xNiBjb25maWd1cmUu YWMKLS0tIGNvbmZpZ3VyZS5hYyA5IFNlcCAyMDAzIDExOjQ4OjQ5IC0wMDAw IDEuMTYKKysrIGNvbmZpZ3VyZS5hYyA5IFNlcCAyMDAzIDE0OjA1OjU1IC0w MDAwCkBAIC0xODYsNyArMTg2LDcgQEAgQU1fV0lUSF9ETUFMTE9DCiAKIGpt X1BSRVJFUV9FUlJPUgogCi1tNF9GVU5DX09CU1RBQ0sKK200X09CU1RBQ0sK IG00X1NZU19TVEFDS09WRgogCiBNNE9CSlM9CkluZGV4OiBjb25maWcvbTQt b2JzdGFjay5tNAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv Y3Zzcm9vdC9tNC9tNC9jb25maWcvbTQtb2JzdGFjay5tNCx2CnJldHJpZXZp bmcgcmV2aXNpb24gMS4zCmRpZmYgLXUgLXAgLXUgLXIxLjMgbTQtb2JzdGFj ay5tNAotLS0gY29uZmlnL200LW9ic3RhY2subTQgOSBTZXAgMjAwMyAxMTo0 ODo1MCAtMDAwMCAxLjMKKysrIGNvbmZpZy9tNC1vYnN0YWNrLm00IDkgU2Vw IDIwMDMgMTQ6MDU6NTUgLTAwMDAKQEAgLTIyLDM5ICsyMiwyOCBAQAogCiAj IHNlcmlhbCA3CiAKLSMgbTRfRlVOQ19PQlNUQUNLCi0jIC0tLS0tLS0tLS0t LS0tLQorIyBtNF9PQlNUQUNLCisjIC0tLS0tLS0tLS0KICMgVXNlIHRoZSBs aWJjIHN1cHBsaWVkIHZlcnNpb24gb2Ygb2JzdGFja3MgaWYgYXZhaWxhYmxl LgotQUNfREVGVU4oW200X0ZVTkNfT0JTVEFDS10sCitBQ19ERUZVTihbbTRf T0JTVEFDS10sCiBbQUNfUFJFUkVRKDIuNTYpZG5sIFdlIHVzZSB0aGUgbmV3 IGNvbXBpbGVyIGJhc2VkIGhlYWRlciBjaGVja2luZyBpbiAyLjU2Ci1BQ19S RVFVSVJFKFtnbF9PQlNUQUNLXSkKLW00X3BhdHRlcm5fYWxsb3coW15tNF9j dl9mdW5jX29ic3RhY2skXSlkbmwKLQotQUNfQ0hFQ0tfSEVBREVSUyhvYnN0 YWNrLmgsIFtdLCBbXSwgW0FDX0lOQ0xVREVTX0RFRkFVTFRdKQotCiBBQ19B UkdfV0lUSChbaW5jbHVkZWQtb2JzdGFja10sCiAgICAgW0FDX0hFTFBfU1RS SU5HKFstLXdpdGgtaW5jbHVkZWQtb2JzdGFja10sCiAgICAgICAgICAgICAg ICAgICAgIFt1c2UgdGhlIG9ic3RhY2sgaW1wbGVtZW50YXRpb24gaW5jbHVk ZWQgaGVyZV0pXSkKIAorQUNfQ0hFQ0tfSEVBREVSUyhvYnN0YWNrLmgsIFtd LCBbXSwgW0FDX0lOQ0xVREVTX0RFRkFVTFRdKQorCiBpZiB0ZXN0ICJ4JHt3 aXRoX2luY2x1ZGVkX29ic3RhY2stbm99IiA9IHhubzsgdGhlbgotICBBQ19D QUNIRV9DSEVDSyhbZm9yIG9ic3RhY2sgaW4gbGliY10sIG00X2N2X2Z1bmNf b2JzdGFjaywKLSAgICAgICAgICAgICAgIFtBQ19UUllfTElOSyhbI2luY2x1 ZGUgIm9ic3RhY2suaCJdLAotCSAgICAgICAgICAgICAgICAgICAgW3N0cnVj dCBvYnN0YWNrICptZW07b2JzdGFja19mcmVlKG1lbSwoY2hhciAqKSAwKV0s Ci0JICAgICAgICAgICAgICAgICAgICBbbTRfY3ZfZnVuY19vYnN0YWNrPXll c10sCi0JICAgICAgICAgICAgICAgICAgICBbbTRfY3ZfZnVuY19vYnN0YWNr PW5vXSldKQorICBnbF9PQlNUQUNLCiBlbHNlCi0gIG00X2N2X2Z1bmNfb2Jz dGFjaz1ubworICBhY19jdl9mdW5jX29ic3RhY2s9bm8KIGZpCiAKIE9CU1RB Q0tfSD0KLWlmIHRlc3QgJG00X2N2X2Z1bmNfb2JzdGFjayA9IHllczsgdGhl bgotCitpZiB0ZXN0ICRhY19jdl9mdW5jX29ic3RhY2sgPSB5ZXM7IHRoZW4K ICAgIyBUaGUgc3lzdGVtIHByb3ZpZGVzIG9ic3RhY2suaCwgYCNpbmNsdWRl IDxvYnN0YWNrLmg+JyB3aWxsIHdvcmsKICAgSU5DTFVERV9PQlNUQUNLX0g9 JyNpbmNsdWRlIDxvYnN0YWNrLmg+JwotICBBQ19ERUZJTkUoSEFWRV9PQlNU QUNLLCAxLCBbRGVmaW5lIGlmIGxpYmMgaW5jbHVkZXMgb2JzdGFja3MuXSkK LQogZWxzZQotCiAgICMgVGhlIHN5c3RlbSBkb2VzIG5vdCBwcm92aWRlIG9i c3RhY2suaCwgb3IgdGhlIHVzZXIgaGFzIHNwZWNpZmllZAogICAjIHRvIGJ1 aWxkIHdpdGhvdXQgaXQuICBVbmZvcnR1bmF0ZWx5IHdlIGNhbid0IGxlYXZl IGFuIG9ic3RhY2suaAogICAjIGZpbGUgYXJvdW5kIGFueXdoZXJlIGluIHRo ZSBpbmNsdWRlIHBhdGggaWYgdGhlIHN5c3RlbSBhbHNvCkBAIC02MywxMCAr NTIsNiBAQCBlbHNlCiAgICMgc3VwcGxpZWQgdmVyc2lvbikuICBIZW5jZSwg YCNpbmNsdWRlIDxtNC9vYnN0YWNrLmg+JyB3aWxsIHdvcmsuCiAgIElOQ0xV REVfT0JTVEFDS19IPScjaW5jbHVkZSA8bTQvb2JzdGFjay5oPicKICAgT0JT VEFDS19IPW9ic3RhY2suaAotCi0gICMgSW4gdGhlIGFic2VuY2Ugb2YgYSBz eXN0ZW0gaW1wbGVtZW50YXRpb24sIHdlIG11c3QgY29tcGlsZSBvdXIgb3du OgotICBBQ19MSUJPQkoob2JzdGFjaykKLQogZmkKIEFDX1NVQlNUKE9CU1RB Q0tfSCkKIEFDX1NVQlNUKElOQ0xVREVfT0JTVEFDS19IKQo= --_----------=_106311692154280-- From MAILER-DAEMON Tue Sep 09 10:33:01 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19wjXh-0008W3-E4 for mharc-m4-patches@gnu.org; Tue, 09 Sep 2003 10:32:29 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19wjX1-0007rz-5s for m4-patches@gnu.org; Tue, 09 Sep 2003 10:31:47 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19wjW3-0007EA-8j for m4-patches@gnu.org; Tue, 09 Sep 2003 10:30:48 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19wjVb-0006aJ-3K for m4-patches@gnu.org; Tue, 09 Sep 2003 10:30:19 -0400 Received: (qmail 22297 invoked from network); 9 Sep 2003 14:56:33 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 9 Sep 2003 14:56:33 -0000 Received: (qmail 8140 invoked from network); 9 Sep 2003 14:33:26 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 9 Sep 2003 14:33:26 -0000 Message-ID: <3F5DE4CB.2020400@gnu.org> Date: Tue, 09 Sep 2003 15:33:47 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Akim Demaille References: <3F572500.308@gnu.org> <3F586FCE.6050507@gnu.org> <3F58729D.8090406@gnu.org> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: m4-patches@gnu.org, autoconf-patches@gnu.org, Automake Patches Subject: Reverting 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch [WAS Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch] X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Sep 2003 14:32:04 -0000 Reverted in m4 HEAD. Akim Demaille wrote: > + or fatal "cannot not remove $from: $!"; or fatal "can not remove $from: $!"; A quick scan of just this file shows a couple of similar double negatives in messages... Cheers, Gary. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ From MAILER-DAEMON Tue Sep 09 13:21:52 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19wmBb-00031c-FX for mharc-m4-patches@gnu.org; Tue, 09 Sep 2003 13:21:51 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19wmBW-00030E-St for m4-patches@gnu.org; Tue, 09 Sep 2003 13:21:46 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19wmA2-0002b8-VH for m4-patches@gnu.org; Tue, 09 Sep 2003 13:20:19 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19wm9l-0002UM-8D for m4-patches@gnu.org; Tue, 09 Sep 2003 13:19:57 -0400 Received: (qmail 27965 invoked from network); 9 Sep 2003 17:46:12 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 9 Sep 2003 17:46:12 -0000 Received: (qmail 15158 invoked from network); 9 Sep 2003 17:23:05 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 9 Sep 2003 17:23:05 -0000 Message-ID: <3F5E0C8E.8000604@gnu.org> Date: Tue, 09 Sep 2003 18:23:26 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------020708070208060008070501" Subject: FYI: 58-gary-gnulib-error-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Sep 2003 17:21:49 -0000 This is a multi-part message in MIME format. --------------020708070208060008070501 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------020708070208060008070501 Content-Type: text/plain; name="58-gary-gnulib-error-import.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="58-gary-gnulib-error-import.patch" Index: ChangeLog from Gary V. Vaughan Import the error and progname modules from CVS gnulib. Our old error.c subsumed the functionality of both, so a little adjustment was required to accomodate the split in sources. Also added more wrapper macros to choose between a system installed error.h or our shipped gnulib error module: * m4/error.c, m4/error.h: Removed. * m4/Makefile.am: Adjust. (pkgincdir): Removed. Use pkgincludedir instead. * m4/module.h, src/main.c: Don't include `m4/error.h'. * m4/system_.h (INCLUDE_ERROR_H): Add a substitution for suitable error.h. * gnulib/m4/progname.c: Imported from CVS gnulib. * gnulib/m4/progname.h: Ditto. * src/main.c: Adjust to use progname module. * gnulib/m4/error.c: Imported from CVS gnulib. * gnulib/m4/error_.h: Ditto. * gnulib/m4/Makefile.am: Build the error module into our libgnu.la if appropriate, and link a local error.h if the system version is missing. (libgnu_la_SOURCES) Add progname module sources. * gnulib/config/error.m4: Imported from CVS gnulib. * gnulib/config/strerror_r.m4: Ditto. * config/m4-error.c: New file. Wrap gnulib error.m4 but arrange to have ERROR_H for Makefile substitutions and tell system.h whether the system error.h should be used, or a locally installed version. * configure.ac (jm_PREREQ_ERROR): Replaced by a call to m4_ERROR. 2003-09-09 Gary V. Vaughan Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.17 diff -u -p -u -r1.17 configure.ac --- configure.ac 9 Sep 2003 14:08:26 -0000 1.17 +++ configure.ac 9 Sep 2003 17:14:10 -0000 @@ -184,8 +184,7 @@ AC_FUNC_VPRINTF =20 AM_WITH_DMALLOC =20 -jm_PREREQ_ERROR - +m4_ERROR m4_OBSTACK m4_SYS_STACKOVF =20 Index: config/m4-error.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/m4-error.m4 diff -N config/m4-error.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ config/m4-error.m4 9 Sep 2003 17:14:10 -0000 @@ -0,0 +1,41 @@ +# -*- Autocon= f -*- +# m4-error.m4 -- Use the installed version of error.h if available. +# +# Copyright (C) 2003 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 of the License, 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; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Written by Gary V. Vaughan + +# serial 1 + +# m4_ERROR +# -------- +# Use the installed version of error.h if available. +AC_DEFUN([m4_ERROR], +[AC_REQUIRE([gl_ERROR]) + +AC_CHECK_HEADERS([error.h], + [ERROR_H=3D""], [ERROR_H=3D"error.h"], [AC_INCLUDES_DEFAULT]) +AC_SUBST(ERROR_H) + +if test $ac_cv_header_error_h =3D yes; then + INCLUDE_ERROR_H=3D'#include ' +else + INCLUDE_ERROR_H=3D'#include ' +fi +AC_SUBST([INCLUDE_ERROR_H]) +])# m4_ERROR Index: gnulib/config/error.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/error.m4 diff -N gnulib/config/error.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/error.m4 9 Sep 2003 17:14:10 -0000 @@ -0,0 +1,18 @@ +#serial 7 + +AC_DEFUN([gl_ERROR], +[ + AC_FUNC_ERROR_AT_LINE + dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c])= =2E + jm_PREREQ_ERROR +]) + +# Prerequisites of lib/error.c. +AC_DEFUN([jm_PREREQ_ERROR], +[ + AC_REQUIRE([AC_HEADER_STDC]) + AC_REQUIRE([AC_FUNC_VPRINTF]) + AC_CHECK_FUNCS(strerror) + AC_CHECK_DECLS([strerror]) + AC_FUNC_STRERROR_R +]) Index: gnulib/config/strerror_r.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/strerror_r.m4 diff -N gnulib/config/strerror_r.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/strerror_r.m4 9 Sep 2003 17:14:10 -0000 @@ -0,0 +1,59 @@ +#serial 1003 +# Experimental replacement for the function in the latest CVS autoconf. +# Use with the error.c file in ../lib. + +# Copyright 2001 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +undefine([AC_FUNC_STRERROR_R]) + +# AC_FUNC_STRERROR_R +# ------------------ +AC_DEFUN([AC_FUNC_STRERROR_R], +[AC_CHECK_DECLS([strerror_r]) +AC_CHECK_FUNCS([strerror_r]) +AC_CACHE_CHECK([whether strerror_r returns char *], + ac_cv_func_strerror_r_char_p, + [ + ac_cv_func_strerror_r_char_p=3Dno + if test $ac_cv_have_decl_strerror_r =3D yes; then + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], + [[ + char buf[100]; + char x =3D *strerror_r (0, buf, sizeof buf); + char *p =3D strerror_r (0, buf, sizeof buf); + ]])], + ac_cv_func_strerror_r_char_p=3Dyes) + else + # strerror_r is not declared. Choose between + # systems that have relatively inaccessible declarations for the + # function. BeOS and DEC UNIX 4.0 fall in this category, but the + # former has a strerror_r that returns char*, while the latter + # has a strerror_r that returns `int'. + # This test should segfault on the DEC system. + AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT + extern char *strerror_r ();], + [[char buf[100]; + char x =3D *strerror_r (0, buf, sizeof buf); + exit (!isalpha (x));]])], + ac_cv_func_strerror_r_char_p=3Dyes, , :) + fi + ]) +if test $ac_cv_func_strerror_r_char_p =3D yes; then + AC_DEFINE([STRERROR_R_CHAR_P], 1, + [Define to 1 if strerror_r returns char *.]) +fi +])# AC_FUNC_STRERROR_R Index: gnulib/m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.3 diff -u -p -u -r1.3 Makefile.am --- gnulib/m4/Makefile.am 9 Sep 2003 15:08:36 -0000 1.3 +++ gnulib/m4/Makefile.am 9 Sep 2003 17:14:10 -0000 @@ -38,6 +38,17 @@ MAINTAINERCLEANFILES =3D Makefile.in # Gnulib Makefile.am snippets # # --------------------------- # =20 +## error: (not yet in gnulib) +BUILT_SOURCES +=3D $(ERROR_H) +EXTRA_DIST +=3D error_.h + +all-local $(lib_OBJECTS): $(ERROR_H) +error.h: error_.h + rm -f $@ && $(LN_S) error_.h $@ + +MOSTLYCLEANFILES +=3D error.h + + ## gettext: (not yet in gnulib) BUILT_SOURCES +=3D $(GETTEXT_H) EXTRA_DIST +=3D gettext_.h @@ -58,6 +69,10 @@ obstack.h: obstack_.h rm -f $@ && $(LN_S) obstack_.h $@ =20 MOSTLYCLEANFILES +=3D obstack.h + + +## progname: +libgnu_la_SOURCES +=3D progname.c progname.h =20 =20 ## stdbool: Index: gnulib/m4/error.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/error.c diff -N gnulib/m4/error.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/error.c 9 Sep 2003 17:14:10 -0000 @@ -0,0 +1,389 @@ +/* Error handler for noninteractive utilities + Copyright (C) 1990-1998, 2000, 2001, 2002, 2003 Free Software Foundat= ion, 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Written by David MacKenzie . */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include + +#ifdef _LIBC +# include +#else +# include "gettext.h" +#endif + +#ifdef _LIBC +# include +# define mbsrtowcs __mbsrtowcs +#endif + +#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC +# if __STDC__ +# include +# define VA_START(args, lastarg) va_start(args, lastarg) +# else +# include +# define VA_START(args, lastarg) va_start(args) +# endif +#else +# define va_alist a1, a2, a3, a4, a5, a6, a7, a8 +# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8; +#endif + +#if STDC_HEADERS || _LIBC +# include +# include +#else +void exit (); +#endif + +#include "error.h" + +#if !_LIBC +# include "unlocked-io.h" +#endif + +#ifndef _ +# define _(String) String +#endif + +/* If NULL, error will flush stdout, then print on stderr the program + name, a colon and a space. Otherwise, error will call this + function without parameters instead. */ +void (*error_print_progname) ( +#if __STDC__ - 0 + void +#endif + ); + +/* This variable is incremented each time `error' is called. */ +unsigned int error_message_count; + +#ifdef _LIBC +/* In the GNU C library, there is a predefined variable for this. */ + +# define program_name program_invocation_name +# include +# include + +/* In GNU libc we want do not want to use the common name `error' direct= ly. + Instead make it a weak alias. */ +extern void __error (int status, int errnum, const char *message, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern void __error_at_line (int status, int errnum, const char *file_na= me, + unsigned int line_number, const char *message, + ...) + __attribute__ ((__format__ (__printf__, 5, 6)));; +# define error __error +# define error_at_line __error_at_line + +# include +# define fflush(s) INTUSE(_IO_fflush) (s) +# undef putc +# define putc(c, fp) INTUSE(_IO_putc) (c, fp) + +#else /* not _LIBC */ + +# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P +# ifndef HAVE_DECL_STRERROR_R +"this configure-time declaration test was not run" +# endif +char *strerror_r (); +# endif + +/* The calling program should define program_name and set it to the + name of the executing program. */ +extern char *program_name; + +# if HAVE_STRERROR_R || defined strerror_r +# define __strerror_r strerror_r +# else +# if HAVE_STRERROR +# ifndef HAVE_DECL_STRERROR +"this configure-time declaration test was not run" +# endif +# if !HAVE_DECL_STRERROR +char *strerror (); +# endif +# else +static char * +private_strerror (int errnum) +{ + extern char *sys_errlist[]; + extern int sys_nerr; + + if (errnum > 0 && errnum <=3D sys_nerr) + return _(sys_errlist[errnum]); + return _("Unknown system error"); +} +# define strerror private_strerror +# endif /* HAVE_STRERROR */ +# endif /* HAVE_STRERROR_R || defined strerror_r */ +#endif /* not _LIBC */ + +static void +print_errno_message (int errnum) +{ + char const *s; + +#if defined HAVE_STRERROR_R || _LIBC + char errbuf[1024]; +# if STRERROR_R_CHAR_P || _LIBC + s =3D __strerror_r (errnum, errbuf, sizeof errbuf); +# else + if (__strerror_r (errnum, errbuf, sizeof errbuf) =3D=3D 0) + s =3D errbuf; + else + s =3D 0; +# endif +#else + s =3D strerror (errnum); +#endif + +#if !_LIBC + if (! s) + s =3D _("Unknown system error"); +#endif + +#if _LIBC + if (_IO_fwide (stderr, 0) > 0) + { + __fwprintf (stderr, L": %s", s); + return; + } +#endif + + fprintf (stderr, ": %s", s); +} + +#ifdef VA_START +static void +error_tail (int status, int errnum, const char *message, va_list args) +{ +# if HAVE_VPRINTF || _LIBC +# if _LIBC + if (_IO_fwide (stderr, 0) > 0) + { +# define ALLOCA_LIMIT 2000 + size_t len =3D strlen (message) + 1; + wchar_t *wmessage =3D NULL; + mbstate_t st; + size_t res; + const char *tmp; + + do + { + if (len < ALLOCA_LIMIT) + wmessage =3D (wchar_t *) alloca (len * sizeof (wchar_t)); + else + { + if (wmessage !=3D NULL && len / 2 < ALLOCA_LIMIT) + wmessage =3D NULL; + + wmessage =3D (wchar_t *) realloc (wmessage, + len * sizeof (wchar_t)); + + if (wmessage =3D=3D NULL) + { + fputws_unlocked (L"out of memory\n", stderr); + return; + } + } + + memset (&st, '\0', sizeof (st)); + tmp =3Dmessage; + } + while ((res =3D mbsrtowcs (wmessage, &tmp, len, &st)) =3D=3D len);= + + if (res =3D=3D (size_t) -1) + /* The string cannot be converted. */ + wmessage =3D (wchar_t *) L"???"; + + __vfwprintf (stderr, wmessage, args); + } + else +# endif + vfprintf (stderr, message, args); +# else + _doprnt (message, args, stderr); +# endif + va_end (args); + + ++error_message_count; + if (errnum) + print_errno_message (errnum); +# if _LIBC + if (_IO_fwide (stderr, 0) > 0) + putwc (L'\n', stderr); + else +# endif + putc ('\n', stderr); + fflush (stderr); + if (status) + exit (status); +} +#endif + + +/* Print the program name and error message MESSAGE, which is a printf-s= tyle + format string with optional args. + If ERRNUM is nonzero, print its corresponding system error message. + Exit with status STATUS if it is nonzero. */ +/* VARARGS */ +void +#if defined VA_START && __STDC__ +error (int status, int errnum, const char *message, ...) +#else +error (status, errnum, message, va_alist) + int status; + int errnum; + char *message; + va_dcl +#endif +{ +#ifdef VA_START + va_list args; +#endif + + fflush (stdout); +#ifdef _LIBC + _IO_flockfile (stderr); +#endif + if (error_print_progname) + (*error_print_progname) (); + else + { +#if _LIBC + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s: ", program_name); + else +#endif + fprintf (stderr, "%s: ", program_name); + } + +#ifdef VA_START + VA_START (args, message); + error_tail (status, errnum, message, args); +#else + fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8); + + ++error_message_count; + if (errnum) + print_errno_message (errnum); + putc ('\n', stderr); + fflush (stderr); + if (status) + exit (status); +#endif + +#ifdef _LIBC + _IO_funlockfile (stderr); +#endif +} +=0C +/* Sometimes we want to have at most one error per line. This + variable controls whether this mode is selected or not. */ +int error_one_per_line; + +void +#if defined VA_START && __STDC__ +error_at_line (int status, int errnum, const char *file_name, + unsigned int line_number, const char *message, ...) +#else +error_at_line (status, errnum, file_name, line_number, message, va_alist= ) + int status; + int errnum; + const char *file_name; + unsigned int line_number; + char *message; + va_dcl +#endif +{ +#ifdef VA_START + va_list args; +#endif + + if (error_one_per_line) + { + static const char *old_file_name; + static unsigned int old_line_number; + + if (old_line_number =3D=3D line_number + && (file_name =3D=3D old_file_name + || strcmp (old_file_name, file_name) =3D=3D 0)) + /* Simply return and print nothing. */ + return; + + old_file_name =3D file_name; + old_line_number =3D line_number; + } + + fflush (stdout); +#ifdef _LIBC + _IO_flockfile (stderr); +#endif + if (error_print_progname) + (*error_print_progname) (); + else + { +#if _LIBC + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s: ", program_name); + else +#endif + fprintf (stderr, "%s:", program_name); + } + + if (file_name !=3D NULL) + { +#if _LIBC + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s:%d: ", file_name, line_number); + else +#endif + fprintf (stderr, "%s:%d: ", file_name, line_number); + } + +#ifdef VA_START + VA_START (args, message); + error_tail (status, errnum, message, args); +#else + fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8); + + ++error_message_count; + if (errnum) + print_errno_message (errnum); + putc ('\n', stderr); + fflush (stderr); + if (status) + exit (status); +#endif + +#ifdef _LIBC + _IO_funlockfile (stderr); +#endif +} + +#ifdef _LIBC +/* Make the weak alias. */ +# undef error +# undef error_at_line +weak_alias (__error, error) +weak_alias (__error_at_line, error_at_line) +#endif Index: gnulib/m4/error_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/error_.h diff -N gnulib/m4/error_.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/error_.h 9 Sep 2003 17:14:10 -0000 @@ -0,0 +1,78 @@ +/* Declaration for error-reporting function + Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + + + NOTE: The canonical source of this file is maintained with the GNU C = Library. + Bugs can be reported to bug-glibc@prep.ai.mit.edu. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,= + USA. */ + +#ifndef _ERROR_H +#define _ERROR_H 1 + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 5) +# define __attribute__(Spec) /* empty */ +# endif +/* The __-protected variants of `format' and `printf' attributes + are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 7) +# define __format__ format +# define __printf__ printf +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined (__STDC__) && __STDC__ + +/* Print a message with `fprintf (stderr, FORMAT, ...)'; + if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). + If STATUS is nonzero, terminate the program with `exit (STATUS)'. */= + +extern void error (int status, int errnum, const char *format, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); + +extern void error_at_line (int status, int errnum, const char *fname, + unsigned int lineno, const char *format, ...) + __attribute__ ((__format__ (__printf__, 5, 6))); + +/* If NULL, error will flush stdout, then print on stderr the program + name, a colon and a space. Otherwise, error will call this + function without parameters instead. */ +extern void (*error_print_progname) (void); + +#else +void error (); +void error_at_line (); +extern void (*error_print_progname) (); +#endif + +/* This variable is incremented each time `error' is called. */ +extern unsigned int error_message_count; + +/* Sometimes we want to have at most one error per line. This + variable controls whether this mode is selected or not. */ +extern int error_one_per_line; + +#ifdef __cplusplus +} +#endif + +#endif /* error.h */ Index: gnulib/m4/progname.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/progname.c diff -N gnulib/m4/progname.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/progname.c 9 Sep 2003 17:14:10 -0000 @@ -0,0 +1,53 @@ +/* Program name management. + Copyright (C) 2001-2003 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + + 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +/* Specification. */ +#include "progname.h" + +#include + +#undef set_program_name + + +/* String containing name the program is called with. + To be initialized by main(). */ +const char *program_name; + +/* Set program_name, based on argv[0]. */ +void +set_program_name (const char *argv0) +{ + /* libtool creates a temporary executable whose name is sometimes pref= ixed + with "lt-" (depends on the platform). It also makes argv[0] absolu= te. + Remove this "/.libs/" or "/.libs/lt-" prefix here= =2E */ + const char *slash; + const char *base; + + slash =3D strrchr (argv0, '/'); + base =3D (slash !=3D NULL ? slash + 1 : argv0); + if (base - argv0 >=3D 7 && memcmp (base - 7, "/.libs/", 7) =3D=3D 0) + argv0 =3D base; + if (strncmp (base, "lt-", 3) =3D=3D 0) + argv0 =3D base + 3; + program_name =3D argv0; +} Index: gnulib/m4/progname.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/progname.h diff -N gnulib/m4/progname.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/progname.h 9 Sep 2003 17:14:10 -0000 @@ -0,0 +1,50 @@ +/* Program name management. + Copyright (C) 2001-2003 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + + 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _PROGNAME_H +#define _PROGNAME_H + +#include + +/* Programs using this file should do the following in main(): + set_program_name (argv[0]); + */ + +/* String containing name the program is called with. */ +extern const char *program_name; + +/* Set program_name, based on argv[0]. */ +extern void set_program_name (const char *argv0); + +#if ENABLE_RELOCATABLE + +/* Set program_name, based on argv[0], and original installation prefix = and + directory, for relocatability. */ +extern void set_program_name_and_installdir (const char *argv0, + const char *orig_installprefix, + const char *orig_installdir); +#define set_program_name(ARG0) \ + set_program_name_and_installdir (ARG0, INSTALLPREFIX, INSTALLDIR) + +/* Return the full pathname of the current executable, based on the earl= ier + call to set_program_name_and_installdir. Return NULL if unknown. */= +extern char *get_full_program_name (void); + +#endif + +#endif /* _PROGNAME_H */ Index: m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.22 diff -u -p -u -r1.22 Makefile.am --- m4/Makefile.am 5 Sep 2003 18:32:26 -0000 1.22 +++ m4/Makefile.am 9 Sep 2003 17:14:10 -0000 @@ -21,7 +21,7 @@ AM_CPPFLAGS =3D -I$(top_builddir)/gnulib - -I$(top_builddir) -I$(top_srcdir) $(INTLINCL) =20 lib_LTLIBRARIES =3D libm4.la -libm4_la_SOURCES =3D builtin.c debug.c error.c hash.c input.c \ +libm4_la_SOURCES =3D builtin.c debug.c hash.c input.c \ ltdl.c m4.c m4private.h macro.c module.c output.c \ path.c regex.c symtab.c syntax.c utility.c libm4_la_LIBADD =3D $(top_builddir)/gnulib/m4/libgnu.la $(LIBADD_DL) @@ -36,9 +36,8 @@ EXTRA_DIST =3D system_.h dist-hook: rm -f $(distdir)/system.h =20 -pkgincdir =3D $(includedir)/@PACKAGE@ -pkginc_HEADERS =3D error.h hash.h ltdl.h regex.h system.h -include_HEADERS =3D m4module.h +pkginclude_HEADERS =3D hash.h ltdl.h regex.h system.h +include_HEADERS =3D m4module.h =20 CLEANFILES =3D pathconf.h MAINTAINERCLEANFILES =3D Makefile.in Index: m4/error.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/error.c diff -N m4/error.c --- m4/error.c 27 Aug 2003 17:10:12 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,250 +0,0 @@ -/* Error handler for noninteractive utilities - Copyright (C) 1990-98,2000 Free Software Foundation, Inc. - - This file is part of the GNU C Library. Its master source is NOT par= t of - the C library, however. The master source lives in /gd/gnu/lib. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License a= s - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If n= ot, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, - Boston, MA 02111-1307, USA. */ - -/* Written by David MacKenzie . */ -/* Modified for GNU m4 by Gary V. Vaughan */ - -#if HAVE_CONFIG_H -# include -#endif - -#include - -#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC -# if __STDC__ -# include -# define VA_START(args, lastarg) va_start(args, lastarg) -# else -# include -# define VA_START(args, lastarg) va_start(args) -# endif -#else -# define va_alist a1, a2, a3, a4, a5, a6, a7, a8 -# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8; -#endif - -#if STDC_HEADERS || _LIBC -# include -# include -#else -void exit (); -#endif - -/* Get prototypes for the functions defined here. */ -#include "error.h" - -/* If NULL, error will flush stdout, then print on stderr the program - name, a colon and a space. Otherwise, error will call this - function without parameters instead. */ -void (*error_print_progname) ( -#if __STDC__ - 0 - void -#endif - ); - -/* This variable is incremented each time `error' is called. */ -unsigned int error_message_count; - -#ifdef _LIBC -/* In the GNU C library, there is a predefined variable for this. */ - -# define program_name program_invocation_name -# include - -/* In GNU libc we want do not want to use the common name `error' direct= ly. - Instead make it a weak alias. */ -# define error __error -# define error_at_line __error_at_line - -# ifdef USE_IN_LIBIO -# include -# define fflush(s) _IO_fflush (s) -# endif - -#else /* not _LIBC */ - -/* The calling program should define program_name and set it to the - name of the executing program. */ -char *program_name; - -# ifdef HAVE_STRERROR_R -# define __strerror_r strerror_r -# else -# if HAVE_STRERROR -# ifndef strerror /* On some systems, strerror is a macro */ -char *strerror (); -# endif -# else -static char * -private_strerror (errnum) - int errnum; -{ - extern char *sys_errlist[]; - extern int sys_nerr; - - if (errnum > 0 && errnum <=3D sys_nerr) - return _(sys_errlist[errnum]); - return _("Unknown system error"); -} -# define strerror private_strerror -# endif /* HAVE_STRERROR */ -# endif /* HAVE_STRERROR_R */ -#endif /* not _LIBC */ - -/* Print the program name and error message MESSAGE, which is a printf-s= tyle - format string with optional args. - If ERRNUM is nonzero, print its corresponding system error message. - Exit with status STATUS if it is nonzero. */ -/* VARARGS */ - -void -#if defined VA_START && __STDC__ -error (int status, int errnum, const char *message, ...) -#else -error (status, errnum, message, va_alist) - int status; - int errnum; - char *message; - va_dcl -#endif -{ -#ifdef VA_START - va_list args; -#endif - - if (error_print_progname) - (*error_print_progname) (); - else - { - fflush (stdout); - fprintf (stderr, "%s: ", program_name); - } - -#ifdef VA_START - VA_START (args, message); -# if HAVE_VPRINTF || _LIBC - vfprintf (stderr, message, args); -# else - _doprnt (message, args, stderr); -# endif - va_end (args); -#else - fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8); -#endif - - ++error_message_count; - if (errnum) - { -#if defined HAVE_STRERROR_R || defined _LIBC - char errbuf[1024]; - fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errb= uf)); -#else - fprintf (stderr, ": %s", strerror (errnum)); -#endif - } - putc ('\n', stderr); - fflush (stderr); - if (status) - exit (status); -} -=0C -/* Sometimes we want to have at most one error per line. This - variable controls whether this mode is selected or not. */ -int error_one_per_line; - -void -#if defined VA_START && __STDC__ -error_at_line (int status, int errnum, const char *file_name, - unsigned int line_number, const char *message, ...) -#else -error_at_line (status, errnum, file_name, line_number, message, va_alist= ) - int status; - int errnum; - const char *file_name; - unsigned int line_number; - char *message; - va_dcl -#endif -{ -#ifdef VA_START - va_list args; -#endif - - if (error_one_per_line) - { - static const char *old_file_name; - static unsigned int old_line_number; - - if (old_line_number =3D=3D line_number && - (file_name =3D=3D old_file_name || !strcmp (old_file_name, file_name)= )) - /* Simply return and print nothing. */ - return; - - old_file_name =3D file_name; - old_line_number =3D line_number; - } - - if (error_print_progname) - (*error_print_progname) (); - else - { - fflush (stdout); - fprintf (stderr, "%s:", program_name); - } - - if (file_name !=3D NULL) - fprintf (stderr, "%s:%d: ", file_name, line_number); - -#ifdef VA_START - VA_START (args, message); -# if HAVE_VPRINTF || _LIBC - vfprintf (stderr, message, args); -# else - _doprnt (message, args, stderr); -# endif - va_end (args); -#else - fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8); -#endif - - ++error_message_count; - if (errnum) - { -#if defined HAVE_STRERROR_R || defined _LIBC - char errbuf[1024]; - fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errb= uf)); -#else - fprintf (stderr, ": %s", strerror (errnum)); -#endif - } - putc ('\n', stderr); - fflush (stderr); - if (status) - exit (status); -} - -#ifdef _LIBC -/* Make the weak alias. */ -# undef error -# undef error_at_line -weak_alias (__error, error) -weak_alias (__error_at_line, error_at_line) -#endif Index: m4/error.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/error.h diff -N m4/error.h --- m4/error.h 27 Aug 2003 17:10:12 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,77 +0,0 @@ -/* Declaration for error-reporting function - Copyright (C) 1995-1997, 2000, 2003 Free Software Foundation, Inc. - - This file is part of the GNU C Library. Its master source is NOT par= t of - the C library, however. The master source lives in /gd/gnu/lib. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License a= s - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If n= ot, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, - Boston, MA 02111-1307, USA. */ - -/* Modified for GNU m4 by Gary V. Vaughan */ - -#ifndef M4_ERROR_H -#define M4_ERROR_H 1 - -#include - -BEGIN_C_DECLS - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 5) || __STRI= CT_ANSI__ -# define __attribute__(Spec) /* empty */ -# endif -/* The __-protected variants of `format' and `printf' attributes - are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ -# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 7) -# define __format__ format -# define __printf__ printf -# endif -#endif - -#if defined (__STDC__) && __STDC__ - -/* Print a message with `fprintf (stderr, FORMAT, ...)'; - if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). - If STATUS is nonzero, terminate the program with `exit (STATUS)'. */= - -extern void error (int status, int errnum, const char *format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); - -extern void error_at_line (int status, int errnum, const char *fname, - unsigned int lineno, const char *format, ...) - __attribute__ ((__format__ (__printf__, 5, 6))); - -/* If NULL, error will flush stdout, then print on stderr the program - name, a colon and a space. Otherwise, error will call this - function without parameters instead. */ -extern void (*error_print_progname) (void); - -#else -extern void error (); -extern void error_at_line (); -extern void (*error_print_progname) (); -#endif - -/* This variable is incremented each time `error' is called. */ -extern unsigned int error_message_count; - -/* Sometimes we want to have at most one error per line. This - variable controls whether this mode is selected or not. */ -extern int error_one_per_line; - -END_C_DECLS - -#endif /* !M4_ERROR_H */ Index: m4/m4module.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/m4module.h,v retrieving revision 1.68 diff -u -p -u -r1.68 m4module.h --- m4/m4module.h 27 Aug 2003 17:10:12 -0000 1.68 +++ m4/m4module.h 9 Sep 2003 17:14:10 -0000 @@ -21,7 +21,6 @@ #define M4MODULE_H 1 =20 #include -#include #include #include =20 Index: m4/system_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/system_.h,v retrieving revision 1.1 diff -u -p -u -r1.1 system_.h --- m4/system_.h 29 Aug 2003 17:44:48 -0000 1.1 +++ m4/system_.h 9 Sep 2003 17:14:10 -0000 @@ -30,6 +30,7 @@ /* I have yet to see a system that doesn't have these... */ #include #include +@INCLUDE_ERROR_H@ @INCLUDE_OBSTACK_H@ @INCLUDE_STDBOOL_H@ =20 Index: src/main.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/src/main.c,v retrieving revision 1.50 diff -u -p -u -r1.50 main.c --- src/main.c 27 Aug 2003 17:10:13 -0000 1.50 +++ src/main.c 9 Sep 2003 17:14:10 -0000 @@ -22,16 +22,7 @@ =20 #include "m4.h" #include "m4private.h" -#include "error.h" - -/* The name this program was run with. */ -#ifdef _LIBC - /* In the GNU C library, there is a predefined variable for this. */ -# define program_name program_invocation_name -#endif - -/* This will be provided either by GNU libc, or error.c. */ -extern const char *program_name; +#include "m4/progname.h" =20 static void print_program_name_CB (void); =20 @@ -226,7 +217,7 @@ main (int argc, char *const *argv, char=20 =20 int exit_status; =20 - program_name =3D argv[0]; + set_program_name (argv[0]); error_print_progname =3D print_program_name_CB; =20 setlocale (LC_ALL, ""); --------------020708070208060008070501-- From MAILER-DAEMON Tue Sep 09 13:27:14 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19wmDt-0003cs-W3 for mharc-m4-patches@gnu.org; Tue, 09 Sep 2003 13:24:13 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19wmDg-0003ah-Kr for m4-patches@gnu.org; Tue, 09 Sep 2003 13:24:00 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19wmDV-0003ZB-JE for m4-patches@gnu.org; Tue, 09 Sep 2003 13:23:50 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19wm9G-0002PG-VT for m4-patches@gnu.org; Tue, 09 Sep 2003 13:19:27 -0400 Received: (qmail 13383 invoked from network); 9 Sep 2003 17:45:40 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 9 Sep 2003 17:45:40 -0000 Received: (qmail 8653 invoked from network); 9 Sep 2003 17:22:33 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 9 Sep 2003 17:22:33 -0000 Message-ID: <3F5E0C6F.9010205@gnu.org> Date: Tue, 09 Sep 2003 18:22:55 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------070609040805010001050202" Subject: FYI: 57-gary-gnulib-gettext-typo.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Sep 2003 17:24:10 -0000 This is a multi-part message in MIME format. --------------070609040805010001050202 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------070609040805010001050202 Content-Type: text/plain; name="57-gary-gnulib-gettext-typo.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="57-gary-gnulib-gettext-typo.patch" Index: ChangeLog from Gary V. Vaughan * gnulib/m4/Makefile.am (MOSTLYCLEANFILES): Typo s/gettext_.h/gettext.h/. Index: gnulib/m4/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.2 diff -u -p -u -r1.2 Makefile.am --- gnulib/m4/Makefile.am 9 Sep 2003 11:48:50 -0000 1.2 +++ gnulib/m4/Makefile.am 9 Sep 2003 15:07:58 -0000 @@ -46,7 +46,7 @@ all-local $(lib_OBJECTS): $(GETTEXT_H) gettext.h: gettext_.h rm -f $@ && $(LN_S) gettext_.h $@ -MOSTLYCLEANFILES += gettext_.h +MOSTLYCLEANFILES += gettext.h ## obstack: (not yet in gnulib) --------------070609040805010001050202-- From MAILER-DAEMON Wed Sep 10 13:14:31 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19x8Y3-0000dQ-4E for mharc-m4-patches@gnu.org; Wed, 10 Sep 2003 13:14:31 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19x8Xv-0000bD-13 for m4-patches@gnu.org; Wed, 10 Sep 2003 13:14:23 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19x8Xk-0000Yn-SH for m4-patches@gnu.org; Wed, 10 Sep 2003 13:14:21 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19x8Xi-0000YI-0u for m4-patches@gnu.org; Wed, 10 Sep 2003 13:14:10 -0400 Received: (qmail 29600 invoked from network); 10 Sep 2003 17:40:20 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 10 Sep 2003 17:40:20 -0000 Received: (qmail 2047 invoked from network); 10 Sep 2003 17:17:14 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 10 Sep 2003 17:17:14 -0000 Message-ID: <3F5F5CB2.1040402@gnu.org> Date: Wed, 10 Sep 2003 18:17:38 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------010200040501040009020105" Subject: FYI: 59-gary-gnulib-xalloc-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Sep 2003 17:14:23 -0000 This is a multi-part message in MIME format. --------------010200040501040009020105 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------010200040501040009020105 Content-Type: text/plain; name="59-gary-gnulib-xalloc-import.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="59-gary-gnulib-xalloc-import.patch" Index: ChangeLog from Gary V. Vaughan Import the xalloc module from CVS gnulib, along with its dependencies: exitfail, malloc and realloc. We had different semantics for our XFREE and a function xfree() not supplied by gnulib, so also a bit of work to keep everything running smoothly: * configure.ac (AC_REPLACE_FUNCS): Removed xmalloc and xstrdup. (gl_XALLOC): Use gnulib equivalents. * gnulib/config/exitfail.m4, gnulib/m4/exitfail.h, gnulib/m4/exitfail.c: Import exitfail module from CVS gnulib. * gnulib/config/malloc.m4, gnulib/m4/malloc.c: Ditto wrt malloc. * gnulib/config/realloc.m4, gnulib/m4/realloc.c: Ditto wrt realloc. * gnulib/config/xalloc.m4, gnulib/m4/xalloc.h, gnulib/m4/xmalloc.c, gnulib/m4/xstrdup.c: Ditto wrt xalloc. * gnulib/m4/Makefile.am: Add fragment from gnulib for newly imported modules. (pkgincdir): Removed. Use pkgincludedir instead. * m4/m4private.h (XFREE): xfree already checks for NULL. * m4/system_.h: Use xalloc module, and remove macros already supplied by xalloc.h. * m4/utility.c (xfree): xalloc does not yet implement xfree, so moved the old definition from m4/xmalloc.c to here for now. Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.18 diff -u -p -u -r1.18 configure.ac --- configure.ac 9 Sep 2003 17:15:35 -0000 1.18 +++ configure.ac 10 Sep 2003 17:10:40 -0000 @@ -178,12 +178,13 @@ AC_SUBST([INCLUDE_STDBOOL_H]) ## Library functions required by M4. ## ## --------------------------------- ## AC_CHECK_FUNCS(bzero calloc mkstemp mktemp strerror tmpfile) -AC_REPLACE_FUNCS(strtol xmalloc xstrdup xstrzdup) +AC_REPLACE_FUNCS(strtol xstrzdup) AC_FUNC_ALLOCA AC_FUNC_VPRINTF =20 AM_WITH_DMALLOC =20 +gl_XALLOC m4_ERROR m4_OBSTACK m4_SYS_STACKOVF Index: gnulib/config/exitfail.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/exitfail.m4 diff -N gnulib/config/exitfail.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/exitfail.m4 10 Sep 2003 17:10:42 -0000 @@ -0,0 +1,13 @@ +# exitfail.m4 serial 1 +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +AC_DEFUN([gl_EXITFAIL], +[ + dnl Prerequisites of lib/exitfail.c. + AC_CHECK_HEADERS_ONCE(stdlib.h) +]) Index: gnulib/config/malloc.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/malloc.m4 diff -N gnulib/config/malloc.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/malloc.m4 10 Sep 2003 17:10:43 -0000 @@ -0,0 +1,25 @@ +# malloc.m4 serial 7 +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Jim Meyering. +dnl Determine whether malloc accepts 0 as its argument. +dnl If it doesn't, arrange to use the replacement function. + +AC_DEFUN([jm_FUNC_MALLOC], +[ + AC_REQUIRE([AC_FUNC_MALLOC]) + dnl autoconf < 2.57 used the symbol ac_cv_func_malloc_works. + if test X"$ac_cv_func_malloc_0_nonnull" =3D Xno || test X"$ac_cv_func_= malloc_works" =3D Xno; then + gl_PREREQ_MALLOC + fi +]) + +# Prerequisites of lib/malloc.c. +AC_DEFUN([gl_PREREQ_MALLOC], [ + : +]) Index: gnulib/config/realloc.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/realloc.m4 diff -N gnulib/config/realloc.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/realloc.m4 10 Sep 2003 17:10:43 -0000 @@ -0,0 +1,25 @@ +# realloc.m4 serial 7 +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Jim Meyering. +dnl Determine whether realloc works when both arguments are 0. +dnl If it doesn't, arrange to use the replacement function. + +AC_DEFUN([jm_FUNC_REALLOC], +[ + AC_REQUIRE([AC_FUNC_REALLOC]) + dnl autoconf < 2.57 used the symbol ac_cv_func_realloc_works. + if test X"$ac_cv_func_realloc_0_nonnull" =3D Xno || test X"$ac_cv_func= _realloc_works" =3D Xno; then + gl_PREREQ_REALLOC + fi +]) + +# Prerequisites of lib/realloc.c. +AC_DEFUN([gl_PREREQ_REALLOC], [ + : +]) Index: gnulib/config/xalloc.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/xalloc.m4 diff -N gnulib/config/xalloc.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/xalloc.m4 10 Sep 2003 17:10:43 -0000 @@ -0,0 +1,25 @@ +# xalloc.m4 serial 2 +dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +AC_DEFUN([gl_XALLOC], +[ + gl_PREREQ_XMALLOC + gl_PREREQ_XSTRDUP +]) + +# Prerequisites of lib/xmalloc.c. +AC_DEFUN([gl_PREREQ_XMALLOC], [ + AC_REQUIRE([AC_HEADER_STDC]) + AC_REQUIRE([jm_FUNC_MALLOC]) + AC_REQUIRE([jm_FUNC_REALLOC]) +]) + +# Prerequisites of lib/xstrdup.c. +AC_DEFUN([gl_PREREQ_XSTRDUP], [ + : +]) Index: gnulib/m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.4 diff -u -p -u -r1.4 Makefile.am --- gnulib/m4/Makefile.am 9 Sep 2003 17:15:35 -0000 1.4 +++ gnulib/m4/Makefile.am 10 Sep 2003 17:10:43 -0000 @@ -25,8 +25,7 @@ noinst_LTLIBRARIES =3D libgnu.la libgnu_la_SOURCES =3D libgnu_la_LIBADD =3D $(LTLIBOBJS) $(LTLIBINTL) =20 -pkgincdir =3D $(includedir)/@PACKAGE@ -pkginc_HEADERS =3D $(GETTEXT_H) $(OBSTACK_H) $(STDBOOL_H) +pkginclude_HEADERS =3D $(GETTEXT_H) $(OBSTACK_H) $(STDBOOL_H) EXTRA_HEADERS =3D gettext.h obstack.h stdbool.h EXTRA_DIST =3D =20 @@ -49,6 +48,10 @@ error.h: error_.h MOSTLYCLEANFILES +=3D error.h =20 =20 +## exitfail: +libgnu_la_SOURCES +=3D exitfail.c exitfail.h + + ## gettext: (not yet in gnulib) BUILT_SOURCES +=3D $(GETTEXT_H) EXTRA_DIST +=3D gettext_.h @@ -60,6 +63,10 @@ gettext.h: gettext_.h MOSTLYCLEANFILES +=3D gettext.h =20 =20 +## malloc: (not yet in gnulib) +EXTRA_DIST +=3D malloc.c + + ## obstack: (not yet in gnulib) BUILT_SOURCES +=3D $(OBSTACK_H) EXTRA_DIST +=3D obstack_.h @@ -75,6 +82,10 @@ MOSTLYCLEANFILES +=3D obstack.h libgnu_la_SOURCES +=3D progname.c progname.h =20 =20 +## realloc: (not yet in gnulib) +EXTRA_DIST +=3D realloc.c + + ## stdbool: BUILT_SOURCES +=3D $(STDBOOL_H) EXTRA_DIST +=3D stdbool_.h @@ -91,3 +102,8 @@ MOSTLYCLEANFILES +=3D stdbool.h stdbool.h- =20 ## unlocked-io: libgnu_la_SOURCES +=3D unlocked-io.h + + +## xalloc (not from gnulib): +libgnu_la_SOURCES +=3D xmalloc.c xstrdup.c +pkginclude_HEADERS +=3D xalloc.h Index: gnulib/m4/exitfail.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/exitfail.c diff -N gnulib/m4/exitfail.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/exitfail.c 10 Sep 2003 17:10:43 -0000 @@ -0,0 +1,29 @@ +/* Failure exit status + + Copyright (C) 2002, 2003 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; see the file COPYING. + If not, write to the Free Software Foundation, + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#if HAVE_CONFIG_H +# include +#endif + +#include +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +#endif + +int volatile exit_failure =3D EXIT_FAILURE; Index: gnulib/m4/exitfail.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/exitfail.h diff -N gnulib/m4/exitfail.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/exitfail.h 10 Sep 2003 17:10:43 -0000 @@ -0,0 +1,20 @@ +/* Failure exit status + + Copyright (C) 2002 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; see the file COPYING. + If not, write to the Free Software Foundation, + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +extern int volatile exit_failure; Index: gnulib/m4/malloc.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/malloc.c diff -N gnulib/m4/malloc.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/malloc.c 10 Sep 2003 17:10:43 -0000 @@ -0,0 +1,38 @@ +/* Work around bug on some systems where malloc (0) fails. + Copyright (C) 1997, 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* written by Jim Meyering */ + +#if HAVE_CONFIG_H +# include +#endif +#undef malloc + +#include + +char *malloc (); + +/* Allocate an N-byte block of memory from the heap. + If N is zero, allocate a 1-byte block. */ + +char * +rpl_malloc (size_t n) +{ + if (n =3D=3D 0) + n =3D 1; + return malloc (n); +} Index: gnulib/m4/realloc.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/realloc.c diff -N gnulib/m4/realloc.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/realloc.c 10 Sep 2003 17:10:44 -0000 @@ -0,0 +1,44 @@ +/* Work around bug on some systems where realloc (NULL, 0) fails. + Copyright (C) 1997, 2003 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* written by Jim Meyering */ + +#if HAVE_CONFIG_H +# include +#endif +#undef realloc + +#include + +char *malloc (); +char *realloc (); + +/* Change the size of an allocated block of memory P to N bytes, + with error checking. If N is zero, change it to 1. If P is NULL, + use malloc. */ + +char * +rpl_realloc (p, n) + char *p; + size_t n; +{ + if (n =3D=3D 0) + n =3D 1; + if (p =3D=3D 0) + return malloc (n); + return realloc (p, n); +} Index: gnulib/m4/xalloc.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/xalloc.h diff -N gnulib/m4/xalloc.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/xalloc.h 10 Sep 2003 17:10:44 -0000 @@ -0,0 +1,78 @@ +/* xalloc.h -- malloc with out-of-memory checking + + Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2003 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef XALLOC_H_ +# define XALLOC_H_ + +# include + +# ifndef __attribute__ +# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 8) || __STR= ICT_ANSI__ +# define __attribute__(x) +# endif +# endif + +# ifndef ATTRIBUTE_NORETURN +# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) +# endif + +/* If this pointer is non-zero, run the specified function upon each + allocation failure. It is initialized to zero. */ +extern void (*xalloc_fail_func) (void); + +/* If XALLOC_FAIL_FUNC is undefined or a function that returns, this + message is output. It is translated via gettext. + Its value is "memory exhausted". */ +extern char const xalloc_msg_memory_exhausted[]; + +/* This function is always triggered when memory is exhausted. It is + in charge of honoring the two previous items. It exits with status + exit_failure (defined in exitfail.h). This is the + function to call when one wants the program to die because of a + memory allocation failure. */ +extern void xalloc_die (void) ATTRIBUTE_NORETURN; + +void *xmalloc (size_t n); +void *xcalloc (size_t n, size_t s); +void *xrealloc (void *p, size_t n); +char *xstrdup (const char *str); + +# define XMALLOC(Type, N_items) xmalloc (sizeof (Type) * (N_items)) +# define XCALLOC(Type, N_items) xcalloc (sizeof (Type), N_items) +# define XREALLOC(Ptr, Type, N_items) xrealloc (Ptr, sizeof (Type) * (N_= items)) + +/* Declare and alloc memory for VAR of type TYPE. */ +# define NEW(Type, Var) Type *(Var) =3D XMALLOC (Type, 1) + +/* Free VAR only if non NULL. */ +# define XFREE(Var) \ + do { \ + if (Var) \ + free (Var); \ + } while (0) + +/* Return a pointer to a malloc'ed copy of the array SRC of NUM elements= =2E */ +# define CCLONE(Src, Num) \ + (memcpy (xmalloc (sizeof *(Src) * (Num)), Src, sizeof *(Src) * (Num)))= + +/* Return a malloc'ed copy of SRC. */ +# define CLONE(Src) CCLONE (Src, 1) + + +#endif /* !XALLOC_H_ */ Index: gnulib/m4/xmalloc.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/m4/xmalloc.c,v retrieving revision 1.1 diff -u -p -u -r1.1 xmalloc.c --- gnulib/m4/xmalloc.c 5 Sep 2003 18:32:26 -0000 1.1 +++ gnulib/m4/xmalloc.c 10 Sep 2003 17:10:44 -0000 @@ -1,6 +1,7 @@ /* xmalloc.c -- malloc with out of memory checking - Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 2000 - Free Software Foundation, Inc. + + Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2002, 2003 Free Software Foundation, Inc. =20 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 @@ -24,116 +25,88 @@ =20 #if STDC_HEADERS # include -#endif - -#if ENABLE_NLS -# include -# define _(Text) gettext (Text) #else -# define textdomain(Domain) -# define _(Text) Text +void *calloc (); +void *malloc (); +void *realloc (); +void free (); #endif =20 -/* If this file fails to compile because your machine has no memset() - function, you should ensure that either HAVE_CALLOC or HAVE_BZERO - are defined in config.h */ -#if !HAVE_BZERO -# define bzero(p, s) memset (s, 0, n) -#endif +#include "gettext.h" +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid =20 -#ifndef STDC_HEADERS -void *calloc (); -void *malloc (); -void *realloc (); -void free (); +#include "error.h" +#include "exitfail.h" +#include "xalloc.h" + +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 #endif =20 -/* Prototypes for functions defined here. */ -static void *fixup_null_alloc (size_t n); +/* The following tests require AC_PREREQ(2.54). */ =20 +#ifndef HAVE_MALLOC +"you must run the autoconf test for a GNU libc compatible malloc" +#endif =20 -/* Exit value when the requested amount of memory is not available. - The caller may set it to some other value. */ -int xmalloc_exit_failure =3D EXIT_FAILURE; +#ifndef HAVE_REALLOC +"you must run the autoconf test for a GNU libc compatible realloc" +#endif =20 +/* If non NULL, call this function when memory is exhausted. */ +void (*xalloc_fail_func) (void) =3D 0; =20 -/* Your program must provide these functions in order for - xmalloc() to work. */ -#if __STDC__ && (HAVE_VPRINTF || HAVE_DOPRNT) -extern void error (int, int, const char *, ...); -#else -extern void error (); -#endif +/* If XALLOC_FAIL_FUNC is NULL, or does return, display this message + before exiting when memory is exhausted. Goes through gettext. */ +char const xalloc_msg_memory_exhausted[] =3D N_("memory exhausted"); =20 -static void * -fixup_null_alloc (n) - size_t n; +void +xalloc_die (void) { - void *p; - - p =3D 0; - if (n =3D=3D 0) - p =3D malloc ((size_t) 1); - if (p =3D=3D 0) - error (xmalloc_exit_failure, 0, _("Memory exhausted")); - return p; + if (xalloc_fail_func) + (*xalloc_fail_func) (); + error (exit_failure, 0, "%s", _(xalloc_msg_memory_exhausted)); + /* The `noreturn' cannot be given to error, since it may return if + its first argument is 0. To help compilers understand the + xalloc_die does terminate, call exit. */ + exit (EXIT_FAILURE); } =20 /* Allocate N bytes of memory dynamically, with error checking. */ =20 void * -xmalloc (n) - size_t n; +xmalloc (size_t n) { void *p; =20 p =3D malloc (n); if (p =3D=3D 0) - p =3D fixup_null_alloc (n); + xalloc_die (); return p; } =20 -/* Allocate memory for N elements of S bytes, with error checking. */ +/* Change the size of an allocated block of memory P to N bytes, + with error checking. */ =20 void * -xcalloc (n, s) - size_t n, s; +xrealloc (void *p, size_t n) { - void *p; -#if HAVE_CALLOC - p =3D calloc (n, s); + p =3D realloc (p, n); if (p =3D=3D 0) - p =3D fixup_null_alloc (n); -#else - p =3D xmalloc (n * s); - bzero (p, n * s); -#endif + xalloc_die (); return p; } =20 -/* Change the size of an allocated block of memory P to N bytes, - with error checking. - If P is NULL, run xmalloc. */ +/* Allocate memory for N elements of S bytes, with error checking. */ =20 void * -xrealloc (p, n) - void *p; - size_t n; +xcalloc (size_t n, size_t s) { + void *p; + + p =3D calloc (n, s); if (p =3D=3D 0) - return xmalloc (n); - p =3D realloc (p, n); - if (p =3D=3D 0) - p =3D fixup_null_alloc (n); + xalloc_die (); return p; -} - -/* Don't free NULL pointers. */ -void * -xfree (stale) - void *stale; -{ - if (stale) - free (stale); - return 0; } Index: gnulib/m4/xstrdup.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/m4/xstrdup.c,v retrieving revision 1.1 diff -u -p -u -r1.1 xstrdup.c --- gnulib/m4/xstrdup.c 5 Sep 2003 18:32:26 -0000 1.1 +++ gnulib/m4/xstrdup.c 10 Sep 2003 17:10:44 -0000 @@ -1,5 +1,5 @@ /* xstrdup.c -- copy a string with out of memory checking - Copyright (C) 1990, 1996 Free Software Foundation, Inc. + Copyright (C) 1990, 1996, 1998, 2001, 2003 Free Software Foundation, = Inc. =20 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 @@ -19,30 +19,15 @@ # include #endif =20 -#ifndef WITH_DMALLOC +/* Specification. */ +#include "xalloc.h" =20 -#include - -#if defined(STDC_HEADERS) || defined(HAVE_STRING_H) -# include -#else -# include -#endif - -#if defined (__STDC__) && __STDC__ -char *xmalloc (size_t); -char *xstrdup (char *string); -#else -char *xmalloc (); -#endif +#include =20 /* Return a newly allocated copy of STRING. */ =20 char * -xstrdup (string) - char *string; +xstrdup (const char *string) { return strcpy (xmalloc (strlen (string) + 1), string); } - -#endif /* !WITH_DMALLOC */ Index: m4/ltdl.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/ltdl.c,v retrieving revision 1.15 diff -u -p -u -r1.15 ltdl.c --- m4/ltdl.c 15 Aug 2003 15:53:04 -0000 1.15 +++ m4/ltdl.c 10 Sep 2003 17:10:45 -0000 @@ -29,6 +29,11 @@ Foundation, Inc., 59 Temple Place, Suite # include #endif =20 +#if WITH_DMALLOC +# undef malloc +# undef realloc +#endif + #if HAVE_UNISTD_H # include #endif @@ -131,7 +136,6 @@ Foundation, Inc., 59 Temple Place, Suite #endif =20 =20 - =0C /* --- WINDOWS SUPPORT --- */ =20 @@ -211,14 +215,11 @@ static char *lt_estrdup LT_PARAMS((con static lt_ptr lt_emalloc LT_PARAMS((size_t size)); static lt_ptr lt_erealloc LT_PARAMS((lt_ptr addr, size_t size)); =20 -/* static lt_ptr rpl_realloc LT_PARAMS((lt_ptr ptr, size_t size)); */ -#define rpl_realloc realloc - /* These are the pointers that can be changed by the caller: */ LT_GLOBAL_DATA lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)) =3D (lt_ptr (*) LT_PARAMS((size_t))) malloc; LT_GLOBAL_DATA lt_ptr (*lt_dlrealloc) LT_PARAMS((lt_ptr ptr, size_t size= )) - =3D (lt_ptr (*) LT_PARAMS((lt_ptr, size_t))) rpl_realloc; + =3D (lt_ptr (*) LT_PARAMS((lt_ptr, size_t))) realloc; LT_GLOBAL_DATA void (*lt_dlfree) LT_PARAMS((lt_ptr ptr)) =3D (void (*) LT_PARAMS((lt_ptr))) free; =20 @@ -237,7 +238,7 @@ LT_GLOBAL_DATA void (*lt_dlfree) LT_PA #else =20 #define LT_DLMALLOC(tp, n) ((tp *) lt_dlmalloc ((n) * sizeof(tp))) -#define LT_DLREALLOC(tp, p, n) ((tp *) rpl_realloc ((p), (n) * sizeof(tp= ))) +#define LT_DLREALLOC(tp, p, n) ((tp *) lt_dlrealloc ((p), (n) * sizeof(t= p))) #define LT_DLFREE(p) \ LT_STMT_START { if (p) (p) =3D (lt_dlfree (p), (lt_ptr) 0); } LT_STMT_E= ND =20 Index: m4/m4private.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/m4private.h,v retrieving revision 1.36 diff -u -p -u -r1.36 m4private.h --- m4/m4private.h 27 Aug 2003 17:10:12 -0000 1.36 +++ m4/m4private.h 10 Sep 2003 17:10:45 -0000 @@ -287,7 +287,7 @@ struct m4__search_path_info { =20 /* Dmalloc expects us to use a void returning xfree. */ # undef XFREE -# define XFREE(p) if (p) xfree (p) +# define XFREE(p) (xfree (p)) =20 #endif /* WITH_DMALLOC */ =20 Index: m4/module.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/module.c,v retrieving revision 1.29 diff -u -p -u -r1.29 module.c --- m4/module.c 5 Sep 2003 18:32:26 -0000 1.29 +++ m4/module.c 10 Sep 2003 17:10:46 -0000 @@ -293,7 +293,7 @@ m4__module_init (m4 *context) #if !WITH_DMALLOC /* initialise libltdl's memory management. */ lt_dlmalloc =3D xmalloc; - lt_dlfree =3D (void (*)(void*)) xfree; + lt_dlfree =3D (void (*) (void *)) xfree; #endif =20 errors =3D lt_dlinit (); Index: m4/system_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/system_.h,v retrieving revision 1.2 diff -u -p -u -r1.2 system_.h --- m4/system_.h 9 Sep 2003 17:15:35 -0000 1.2 +++ m4/system_.h 10 Sep 2003 17:10:49 -0000 @@ -27,12 +27,13 @@ #ifndef M4_SYSTEM_H #define M4_SYSTEM_H 1 =20 -/* I have yet to see a system that doesn't have these... */ +#include #include #include @INCLUDE_ERROR_H@ @INCLUDE_OBSTACK_H@ @INCLUDE_STDBOOL_H@ +#include =20 /* This is okay in an installed file, because it will not change the behaviour of the including program whether ENABLE_NLS is defined @@ -151,20 +152,12 @@ BEGIN_C_DECLS # define EXIT_FAILURE 1 #endif =20 - =0C -/* Memory allocation. */ -#define XCALLOC(type, num) ((type *) xcalloc ((num), sizeof(type))) -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XREALLOC(type, p, num) ((type *) xrealloc ((p), (num) * sizeof(t= ype))) -#define XFREE(p) ((p) =3D xfree (p)) - -extern void *xcalloc (size_t n, size_t s); -extern void *xmalloc (size_t n); -extern void *xrealloc (void *p, size_t n); -extern void *xfree (void *stale); +/* FIXME: macros to ease transition to gnulib xalloc.h API */ +#undef XFREE +#define XFREE(Var) ((Var) =3D xfree (Var)) =20 -extern char *xstrdup (const char *string); +extern void *xfree (void *stale); extern char *xstrzdup (const char *string, size_t len); =20 END_C_DECLS Index: m4/utility.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/utility.c,v retrieving revision 1.38 diff -u -p -u -r1.38 utility.c --- m4/utility.c 5 Sep 2003 18:32:26 -0000 1.38 +++ m4/utility.c 10 Sep 2003 17:10:49 -0000 @@ -103,3 +103,13 @@ m4_dump_args (m4 *context, m4_obstack *o m4_shipout_string (context, obs, M4ARG (i), 0, quoted); } } + +/* FIXME: merge xfree into gnulib. */ +/* Don't free NULL pointers. */ +void * +xfree (void *stale) +{ + if (stale) + free (stale); + return 0; +} Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.31 diff -u -p -u -r1.31 cs.po --- po/cs.po 5 Sep 2003 18:32:27 -0000 1.31 +++ po/cs.po 10 Sep 2003 17:10:50 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -14,14 +14,10 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -72,6 +68,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + # , c-format #: m4/regex.c:1060 #, fuzzy @@ -445,24 +445,24 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "CHYBA: P=F8ete=E8en=ED z=E1sobn=EDku. (nekone=E8n=E1 rekurze mak= ra define?)" =20 # , c-format -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "V=EDce informac=ED z=EDsk=E1te p=F8=EDkazem `%s --help'.\n" =20 # , c-format -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Pou=BEit=ED: %s [P=D8EP=CDNA=C8]... [SOUBOR]...\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -488,10 +488,9 @@ msgstr "" " -E, --fatal-warnings skon=E8=ED po prvn=EDm varov=E1n=ED\n" " -Q, --quiet, --silent potla=E8=ED n=ECkter=E1 varov=E1n=ED t=FD= kaj=EDc=ED se\n" " vestav=ECn=FDch maker\n" -" -P, --prefix-builtins v=B9echna vestav=ECn=E1 makra budou m=ED= t prefix " -"`m4_'\n" +" -P, --prefix-builtins v=B9echna vestav=ECn=E1 makra budou m=ED= t prefix `m4_'\n" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -500,7 +499,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 msgid "" "\n" "Preprocessor features:\n" @@ -518,7 +517,7 @@ msgstr "" " -U, --undefine=3DMAKRO sma=BEe vestav=ECn=E9 MAKRO\n" " -s, --synclines vlo=BE=ED =F8=E1dky tvaru `#line =C8=CD= SLO \"SOUBOR\"'\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -529,11 +528,10 @@ msgstr "" "\n" "Nastaven=ED limit=F9:\n" " -G, --traditional vypne roz=B9=ED=F8en=ED GNU\n" -" -H, --hashsize=3DPRVO=C8=CDSLO velikost hash tabulky pro vyhled=E1= v=E1n=ED " -"symbol=F9\n" +" -H, --hashsize=3DPRVO=C8=CDSLO velikost hash tabulky pro vyhled=E1= v=E1n=ED symbol=F9\n" " -L, --nesting-limit=3D=C8=CDSLO nastav=ED limit pro vno=F8en=E1 v= ol=E1n=ED maker\n" =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -545,7 +543,7 @@ msgstr "" " -F, --freeze-state=3DSOUBOR p=F8i ukon=E8en=ED ulo=BE=ED zmrazen=FD= stav do SOUBORU\n" " -R, --reload-state=3DSOUBOR p=F8i startu na=E8te zmrazen=FD stav = ze SOUBORU\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -561,10 +559,9 @@ msgstr "" " -t, --trace=3DMAKRO sleduje MAKRO, kdy=BE je definov=E1no= \n" " -l, --arglength=3DPO=C8ET reguluje po=E8et v=FDstupn=EDch inf= ormac=ED\n" " ze sledov=E1n=ED maker\n" -" -o, --error-output=3DSOUBOR p=F8esm=ECruje v=FDstup lad=ECn=ED a = sledov=E1n=ED do " -"SOUBORU\n" +" -o, --error-output=3DSOUBOR p=F8esm=ECruje v=FDstup lad=ECn=ED a = sledov=E1n=ED do SOUBORU\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -594,16 +591,15 @@ msgstr "" " i vyp=ED=B9e informace o ka=BEd=E9 zm=ECn=EC vstupn=EDho souboru\n"= " V zkratka pro v=B9echny v=FD=B9e uveden=E9 volby\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" "\n" -"Jestli=BEe SOUBOR nen=ED zad=E1n, nebo je SOUBOR `-', pak je =E8ten sta= ndardn=ED " -"vstup.\n" +"Jestli=BEe SOUBOR nen=ED zad=E1n, nebo je SOUBOR `-', pak je =E8ten sta= ndardn=ED vstup.\n" =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" @@ -612,31 +608,31 @@ msgstr "" "Chyby v programu oznamujte na adrese (anglicky).\n" "P=F8ipom=EDnky k p=F8ekladu zas=EDlejte na adresu (=E8esky)= =2E\n" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 # , c-format -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "=A9patn=E9 lad=EDc=ED volby: `%s'" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -651,8 +647,7 @@ msgid "" "Memory bounds violation detected (SIGSEGV). Either a stack overflow\n"= "occurred, or there is a bug in " msgstr "" -"Neopr=E1vn=ECn=FD p=F8=EDstup do pam=ECti (SIGSEGV). Jedn=E1 se bu=EF o= p=F8ete=E8en=ED " -"z=E1sobn=EDku,\n" +"Neopr=E1vn=ECn=FD p=F8=EDstup do pam=ECti (SIGSEGV). Jedn=E1 se bu=EF o= p=F8ete=E8en=ED z=E1sobn=EDku,\n" "nebo o chybu " =20 #: src/stackovf.c:204 @@ -748,8 +743,7 @@ msgstr ". Prov=EC=F8te, zda se nejedn=E1 o ne #~ msgstr "VNIT=D8N=CD CHYBA: =B9patn=FD chybov=FD k=F3d v evaluate ()" =20 #~ msgid "INTERNAL ERROR: Builtin not found in builtin table!" -#~ msgstr "" -#~ "VNIT=D8N=CD CHYBA: Vestav=ECn=E9 makro nenalezeno v tabulce vestav=EC= n=FDch maker!" +#~ msgstr "VNIT=D8N=CD CHYBA: Vestav=ECn=E9 makro nenalezeno v tabulce v= estav=ECn=FDch maker!" =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type in produce_symbol_dump ()"= @@ -780,9 +774,7 @@ msgstr ". Prov=EC=F8te, zda se nejedn=E1 o ne #~ msgstr "VNIT=D8N=CD CHYBA: =B9patn=FD typ symbolu v m4_defn ()" =20 #~ msgid " -W, --word-regexp=3DREGEXP use REGEXP for macro name syn= tax\n" -#~ msgstr "" -#~ " -W, --word-regexp=3DREGV=DDR syntaxe jmen maker bude ur=E8ena p= omoc=ED " -#~ "REGV=DDR\n" +#~ msgstr " -W, --word-regexp=3DREGV=DDR syntaxe jmen maker bude ur=E8= ena pomoc=ED REGV=DDR\n" =20 # , c-format #~ msgid "Non-numeric argument to %s" @@ -824,8 +816,7 @@ msgstr ". Prov=EC=F8te, zda se nejedn=E1 o ne #~ msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 #~ msgid "INTERNAL ERROR: Built-in not found in builtin table!" -#~ msgstr "" -#~ "VNIT=D8N=CD CHYBA: Vestav=ECn=E9 makro nenalezeno v tabulce vestav=EC= n=FDch maker!" +#~ msgstr "VNIT=D8N=CD CHYBA: Vestav=ECn=E9 makro nenalezeno v tabulce v= estav=ECn=FDch maker!" =20 # , c-format #, fuzzy @@ -843,9 +834,7 @@ msgstr ". Prov=EC=F8te, zda se nejedn=E1 o ne =20 # , c-format #~ msgid "Warning: Excess arguments to built-in `%s' ignored" -#~ msgstr "" -#~ "Varov=E1n=ED: p=F8=EDli=B9 mnoho argument=F9 pro vestav=ECn=E9 makro= `%s' - budou " -#~ "ignorov=E1ny" +#~ msgstr "Varov=E1n=ED: p=F8=EDli=B9 mnoho argument=F9 pro vestav=ECn=E9= makro `%s' - budou ignorov=E1ny" =20 # , c-format #~ msgid "Non-numeric argument to built-in `%s'" Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.31 diff -u -p -u -r1.31 de.po --- po/de.po 5 Sep 2003 18:32:27 -0000 1.31 +++ po/de.po 10 Sep 2003 17:10:50 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -16,14 +16,10 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -73,6 +69,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -126,8 +126,7 @@ msgstr "FEHLER: Dateiende in Argumentlis #: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" -msgstr "" -"FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L zur = =C4nderung" +msgstr "FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L<= N> zur =C4nderung" =20 #: m4/macro.c:425 #, c-format @@ -355,9 +354,7 @@ msgstr "Fehlerhafte eingefrorene Datei" #: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" -msgstr "" -"=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebauten Funkt= ionen " -"gefunden!" +msgstr "=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebaute= n Funktionen gefunden!" =20 #: src/getopt.c:677 #, c-format @@ -414,22 +411,22 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEHLER: Keller voll. (Unendliche `define' Rekursion?)" =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BB%s --help=AB zeigt weitere Informationen.\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -453,12 +450,10 @@ msgstr "" " --version zeige Versionsinformation an und beende\= n" " -e, --interactive keine Ausgabepufferung, ignoriere Interr= upts\n" " -E, --fatal-warnings beende Ausf=FChrung nach erster Warnung\= n" -" -Q, --quiet, --silent unterdr=FCcke Warnungen bei eingebauten = " -"Funktionen\n" -" -P, --prefix-builtins erzwinge `m4_' Pr=E4fix f=FCr eingebaute= " -"Funktionen\n" +" -Q, --quiet, --silent unterdr=FCcke Warnungen bei eingebauten = Funktionen\n" +" -P, --prefix-builtins erzwinge `m4_' Pr=E4fix f=FCr eingebaute= Funktionen\n" =20 -#: src/main.c:114 +#: src/main.c:105 #, fuzzy, c-format msgid "" "\n" @@ -472,7 +467,7 @@ msgstr "" "hinzu\n" " -M, --load-module=3DMODULE lade dynamisches MODULE aus M4M= ODPATH\n" =20 -#: src/main.c:120 +#: src/main.c:111 msgid "" "\n" "Preprocessor features:\n" @@ -489,7 +484,7 @@ msgstr "" " -U, --undefine=3DNAME l=F6sche eingebaute Funktion NAME\n" " -s, --synclines erzeuge `#line NR \"DATEI\"' Zeilen\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -501,10 +496,9 @@ msgstr "" "Setze Grenzen:\n" " -G, --traditional schalte alle GNU Erweiterungen aus\n" " -H, --hashsize=3DPRIMZAHL setze Gr=F6=DFe der Symbol-Hashtabelle= \n" -" -L, --nesting-limit=3DNUMMER setze k=FCnstliche Grenze f=FCr " -"Schachtelungstiefe\n" +" -L, --nesting-limit=3DNUMMER setze k=FCnstliche Grenze f=FCr Schach= telungstiefe\n" =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -518,7 +512,7 @@ msgstr "" " -R, --reload-state=3DDATEI lade zu Beginn Zustand von eingefroren= er " "DATEI\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -536,7 +530,7 @@ msgstr "" " -o, --error-output=3DDATEI leite Debug- und Verfolgungsausgaben n= ach " "DATEI\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -566,7 +560,7 @@ msgstr "" " i gebe Ver=E4nderungen der Eingabedatei aus\n" " V Kurzform f=FCr alle Flags oben zusammen\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -574,7 +568,7 @@ msgstr "" "\n" "Ohne DATEI oder wenn DATEI `-' ist, wird die Standardeingabe gelesen\n"= =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" @@ -582,30 +576,30 @@ msgstr "" "\n" "Probleme und Fehler an .\n" =20 -#: src/main.c:319 +#: src/main.c:310 #, fuzzy, c-format msgid "failed to add search directory `%s'" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen" =20 -#: src/main.c:323 +#: src/main.c:314 #, fuzzy, c-format msgid "failed to add search directory `%s': %s" msgstr "FEHLER: konnte Suchpfad `%s' nicht hinzuf=FCgen: %s" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "Falsche Debug Flags: =BB%s=AB" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -740,8 +734,7 @@ msgstr ". Untersuche auf m=F6gliche unend #~ msgstr "INTERNER FEHLER: Falscher Symboltyp in m4_defn ()" =20 #~ msgid " -W, --word-regexp=3DREGEXP use REGEXP for macro name syn= tax\n" -#~ msgstr "" -#~ " -W, --word-regexp=3DREGEXP benutze REGEXP f=FCr Makronamensynt= ax\n" +#~ msgstr " -W, --word-regexp=3DREGEXP benutze REGEXP f=FCr Makrona= mensyntax\n" =20 #~ msgid "Non-numeric argument to %s" #~ msgstr "Nicht-numerisches Argument in %s" @@ -789,8 +782,7 @@ msgstr ". Untersuche auf m=F6gliche unend #~ msgstr "Warnung: Zu wenig Argumente f=FCr eingebaute Funktion =BB%s=AB= " =20 #~ msgid "Warning: Excess arguments to built-in `%s' ignored" -#~ msgstr "" -#~ "Warnung: =DCbersch=FCssige Argumente f=FCr eingebaute Funktion =BB%s= =AB ignoriert" +#~ msgstr "Warnung: =DCbersch=FCssige Argumente f=FCr eingebaute Funktio= n =BB%s=AB ignoriert" =20 #~ msgid "Non-numeric argument to built-in `%s'" #~ msgstr "Nicht-numerisches Argument in eingebauter Funktion =BB%s=AB" Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.31 diff -u -p -u -r1.31 el.po --- po/el.po 5 Sep 2003 18:32:27 -0000 1.31 +++ po/el.po 10 Sep 2003 17:10:50 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -14,14 +14,10 @@ msgstr "" "Content-Type: text/plain; charset=3Diso-8859-7\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -71,6 +67,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -122,9 +122,7 @@ msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=E7 =EB=DF=F3=F4= =E1 =EF=F1=E9=F3=EC=DC=F4=F9=ED" #: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" -msgstr "" -"=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE=F2 %d = =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7 =F4=EF= =F5 -L =E3=E9=E1 =ED=E1 =F4=EF " -"=E1=EB=EB=DC=EE=E5=F4=E5" +msgstr "=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE= =F2 %d =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7= =F4=EF=F5 -L =E3=E9=E1 =ED=E1 =F4=EF =E1=EB=EB=DC=EE=E5=F4=E5" =20 #: m4/macro.c:425 #, c-format @@ -303,9 +301,7 @@ msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1= =F4=EF=F2 =F3=F9=EB=DE=ED=F9=F3=E7=F2 =F3=F4 =20 #: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" -msgstr "" -"=D0=D1=CF=C5=C9=C4=CF=D0=CF=C9=C7=D3=C7: =D4=EF \\0 =E8=E1 =E5=EE=E1=F6= =E1=ED=E9=F3=F4=E5=DF, =EA=DC=ED=E5=F4=E5 =F7=F1=DE=F3=E7 =F4=EF=F5 \\& =E1= =ED=F4=DF=E8=E5=F4=E1 =F3=F4=E9=F2 " -"=E1=ED=F4=E9=EA=E1=F4=E1=F3=F4=DC=F3=E5=E9=F2" +msgstr "=D0=D1=CF=C5=C9=C4=CF=D0=CF=C9=C7=D3=C7: =D4=EF \\0 =E8=E1 =E5=EE= =E1=F6=E1=ED=E9=F3=F4=E5=DF, =EA=DC=ED=E5=F4=E5 =F7=F1=DE=F3=E7 =F4=EF=F5= \\& =E1=ED=F4=DF=E8=E5=F4=E1 =F3=F4=E9=F2 =E1=ED=F4=E9=EA=E1=F4=E1=F3=F4= =DC=F3=E5=E9=F2" =20 #: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format @@ -411,22 +407,22 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=D3=D6=C1=CB=CC=C1: =D5=F0=E5=F1=F7=E5=DF=EB=E7=F3=E7 =F3=F4=EF=DF= =E2=E1=F2. (=C1=ED=E1=E4=F1=EF=EC=DE =E1=F0=E5=DF=F1=EF=F5 =E2=DC=E8=EF=F5= =F2;)" =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=C4=EF=EA=E9=EC=DC=F3=F4=E5 `%s --help' =E3=E9=E1 =F0=E5=F1=E9=F3= =F3=FC=F4=E5=F1=E7 =E2=EF=DE=E8=E5=E9=E1.\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=D7=F1=DE=F3=E7: %s [=C5=D0=C9=CB=CF=C3=C7]... [=C1=D1=D7=C5=C9=CF= ]...\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -442,22 +438,18 @@ msgid "" " -Q, --quiet, --silent suppress some warnings for builtins\n" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" -"=D5=F0=EF=F7=F1=E5=F9=F4=E9=EA=DC =DE =F0=F1=EF=E1=E9=F1=E5=F4=E9=EA=DC= =EF=F1=DF=F3=EC=E1=F4=E1 =F3=E5 =EC=E1=EA=F1=DD=F2 =E5=F0=E9=EB=EF=E3=DD= =F2 =E5=DF=ED=E1=E9 =F5=F0=EF=F7=F1=E5=F9=F4=E9=EA=DC =DE " -"=F0=F1=EF=E1=E9=F1=E5=F4=E9=EA=DC\n" +"=D5=F0=EF=F7=F1=E5=F9=F4=E9=EA=DC =DE =F0=F1=EF=E1=E9=F1=E5=F4=E9=EA=DC= =EF=F1=DF=F3=EC=E1=F4=E1 =F3=E5 =EC=E1=EA=F1=DD=F2 =E5=F0=E9=EB=EF=E3=DD= =F2 =E5=DF=ED=E1=E9 =F5=F0=EF=F7=F1=E5=F9=F4=E9=EA=DC =DE =F0=F1=EF=E1=E9= =F1=E5=F4=E9=EA=DC\n" "=EA=E1=E9 =E3=E9=E1 =F4=E7=F2 =F3=FD=ED=F4=EF=EC=E5=F2 =E5=F0=E9=EB=EF=E3= =DD=F2 =E5=F0=DF=F3=E5=E9=F2.\n" "\n" "=CA=E1=F4=E1=F3=F4=DC=F3=E5=E9=F2 =EB=E5=E9=F4=EF=F5=F1=E3=DF=E1=F2:\n"= " --help =E5=EC=F6=DC=ED=E9=F3=E7 =E1=F5=F4=DE=F2= =F4=E7=F2 =E2=EF=DE=E8=E5=E9=E1=F2 =EA=E1=E9 =DD=EE=EF=E4=EF=F2\n" " --version =E5=EC=F6=DC=ED=E9=F3=E7 =F0=EB=E7=F1=EF= =F6=EF=F1=E9=FE=ED =DD=EA=E4=EF=F3=E7=F2 =EA=E1=E9 =DD=EE=EF=E4=EF=F2\n" " -e, --interactive =DD=EE=EF=E4=EF=F2 =F7=F9=F1=DF=F2 =E5=ED= =F4=E1=EC=E9=E5=F5=F4=DE, =E1=E3=ED=FC=E7=F3=E7 =E4=E9=E1=EA=EF=F0=FE=ED\= n" -" -E, --fatal-warnings =E4=E9=E1=EA=EF=F0=DE =E5=EA=F4=DD=EB=E5= =F3=E7=F2 =EC=E5=F4=DC =E1=F0=FC =F4=E7 =F0=F1=FE=F4=E7 " -"=F0=F1=EF=E5=E9=E4=EF=F0=EF=DF=E7=F3=E7\n" -" -Q, --quiet, --silent =E1=F0=FC=EA=F1=F5=F8=E7 =EC=E5=F1=E9=EA= =FE=ED =F0=F1=EF=E5=E9=E4=EF=F0=EF=E9=DE=F3=E5=F9=ED =F3=F4=E1 " -"=E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=E1\n" -" -P, --prefix-builtins =E5=F0=E9=E2=EF=EB=DE =F0=F1=EF=E8=DD=EC= =E1=F4=EF=F2 `m4_' =F3=E5 =FC=EB=E1 =F4=E1 " -"=E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=E1\n" +" -E, --fatal-warnings =E4=E9=E1=EA=EF=F0=DE =E5=EA=F4=DD=EB=E5= =F3=E7=F2 =EC=E5=F4=DC =E1=F0=FC =F4=E7 =F0=F1=FE=F4=E7 =F0=F1=EF=E5=E9=E4= =EF=F0=EF=DF=E7=F3=E7\n" +" -Q, --quiet, --silent =E1=F0=FC=EA=F1=F5=F8=E7 =EC=E5=F1=E9=EA= =FE=ED =F0=F1=EF=E5=E9=E4=EF=F0=EF=E9=DE=F3=E5=F9=ED =F3=F4=E1 =E5=F3=F9=E4= =EF=EC=E7=EC=DD=ED=E1\n" +" -P, --prefix-builtins =E5=F0=E9=E2=EF=EB=DE =F0=F1=EF=E8=DD=EC= =E1=F4=EF=F2 `m4_' =F3=E5 =FC=EB=E1 =F4=E1 =E5=F3=F9=E4=EF=EC=E7=EC=DD=ED= =E1\n" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -466,7 +458,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 msgid "" "\n" "Preprocessor features:\n" @@ -477,14 +469,12 @@ msgid "" msgstr "" "\n" "=D7=E1=F1=E1=EA=F4=E7=F1=E9=F3=F4=E9=EA=DC =F0=F1=EF=E5=F0=E5=EE=E5=F1=E3= =E1=F3=F4=DE:\n" -" -I, --include=3D=CA=C1=D4=C1=CB=CF=C3=CF=D3 =F8=DC=EE=E9=EC=EF =EC= =E5=F4=DC =EA=E1=E9 =F3=F4=EF =EA=E1=F4=DC=EB=EF=E3=EF =E1=F5=F4=FC =E3=E9= =E1 " -"=F0=E5=F1=E9=EB=E1=EC=E2=E1=ED=FC=EC=E5=ED=E1\n" +" -I, --include=3D=CA=C1=D4=C1=CB=CF=C3=CF=D3 =F8=DC=EE=E9=EC=EF =EC= =E5=F4=DC =EA=E1=E9 =F3=F4=EF =EA=E1=F4=DC=EB=EF=E3=EF =E1=F5=F4=FC =E3=E9= =E1 =F0=E5=F1=E9=EB=E1=EC=E2=E1=ED=FC=EC=E5=ED=E1\n" " -D, --define=3D=CF=CD=CF=CC=C1[=3D=D4=C9=CC=C7] =E5=E9=F3=E1=E3=F9= =E3=DE =CF=CD=BC=EC=E1=F4=EF=F2 =EC=E5 =D4=C9=CC=C7, =DE =EA=E5=ED=FC\n" " -U, --undefine=3D=CF=CD=CF=CC=C1 =E4=E9=E1=E3=F1=E1=F6=DE =E5= =F3=F9=E4=EF=EC=E7=EC=DD=ED=EF=F5 =CF=CD=BC=CC=C1=F4=EF=F2\n" -" -s, --synclines =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =E3=F1=E1= =EC=EC=FE=ED `#line =C1=D1=C9=C8=CC=CF=D3 \"=C1=D1=D7=C5=C9=CF" -"\"'\n" +" -s, --synclines =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =E3=F1=E1= =EC=EC=FE=ED `#line =C1=D1=C9=C8=CC=CF=D3 \"=C1=D1=D7=C5=C9=CF\"'\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -498,7 +488,7 @@ msgstr "" " -H, --hashsize=3D=D0=D1=D9=D4=CF=D3 =EF=F1=E9=F3=EC=FC=F2 =EC=E5= =E3=DD=E8=EF=F5=F2 =F0=DF=ED=E1=EA=E1 =E1=ED=E1=E6=DE=F4=E7=F3=E7=F2 =F3=F5= =EC=E2=FC=EB=EF=F5\n" " -L, --nesting-limit=3D=C1=D1=C9=C8=CC=CF=D3 =E1=EB=EB=E1=E3=DE =F4=E5= =F7=ED=E7=F4=EF=FD =EF=F1=DF=EF=F5 =F6=F9=EB=E9=E1=F3=EC=FE=ED\n" =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -507,12 +497,10 @@ msgid "" msgstr "" "\n" "=C1=F1=F7=E5=DF=E1 =F0=E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3= =E7=F2:\n" -" -F, --freeze-state=3DARXEIO =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =F0=E1=E3= =F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =F3=F4=EF =C1=D1=D7=C5=C9= =CF " -"=F3=F4=EF =F4=DD=EB=EF=F2\n" -" -R, --reload-state=3DARXEIO =F6=FC=F1=F4=F9=EC=E1 =EE=E1=ED=DC =F0= =E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =E1=F0=FC =C1=D1=D7= =C5=C9=CF " -"=F3=F4=E7=ED =E5=EA=EA=DF=ED=E7=F3=E7\n" +" -F, --freeze-state=3DARXEIO =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =F0=E1=E3= =F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =F3=F4=EF =C1=D1=D7=C5=C9= =CF =F3=F4=EF =F4=DD=EB=EF=F2\n" +" -R, --reload-state=3DARXEIO =F6=FC=F1=F4=F9=EC=E1 =EE=E1=ED=DC =F0= =E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =E1=F0=FC =C1=D1=D7= =C5=C9=CF =F3=F4=E7=ED =E5=EA=EA=DF=ED=E7=F3=E7\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -523,14 +511,12 @@ msgid "" msgstr "" "\n" "=C5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7:\n" -" -d, --debug=3D[=D3=C7=CC=C1=C9=C5=D3] =EF=F1=E9=F3=EC=FC=F2 =E5= =F0=E9=F0=DD=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7=F2 (=F7=F9=F1=DF= =F2 =D3=C7=CC=C1=C9=C5=D3 " -"=F5=F0=EF=ED=EF=E5=DF `aeq')\n" +" -d, --debug=3D[=D3=C7=CC=C1=C9=C5=D3] =EF=F1=E9=F3=EC=FC=F2 =E5= =F0=E9=F0=DD=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7=F2 (=F7=F9=F1=DF= =F2 =D3=C7=CC=C1=C9=C5=D3 =F5=F0=EF=ED=EF=E5=DF `aeq')\n" " -t, --trace=3DONOMA =E1=ED=DF=F7=ED=E5=F5=F3=E7 =CF=CD=BC=CC= =C1=F4=EF=F2 =FC=F4=E1=ED =E1=F5=F4=FC =E8=E1 =EF=F1=E9=F3=F4=E5=DF\n" " -l, --arglength=3D=C1=D1=C9=C8=CC =F0=E5=F1=E9=EF=F1=E9=F3=EC=FC= =F2 =EC=E5=E3=DD=E8=EF=F5=F2 =E1=ED=DF=F7=ED=E5=F5=F3=E7=F2 =EC=E1=EA=F1=EF= =E5=ED=F4=EF=EB=DE=F2\n" -" -o, --error-output=3D=C1=D1=D7=C5=C9=CF =E5=F0=E1=ED=E1=EA=E1=F4=E5= =FD=E8=F5=ED=F3=E7 =E5=EE=FC=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7= =F2 =EA=E1=E9 " -"=E1=ED=DF=F7=ED=E5=F5=F3=E7=F2\n" +" -o, --error-output=3D=C1=D1=D7=C5=C9=CF =E5=F0=E1=ED=E1=EA=E1=F4=E5= =FD=E8=F5=ED=F3=E7 =E5=EE=FC=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7= =F2 =EA=E1=E9 =E1=ED=DF=F7=ED=E5=F5=F3=E7=F2\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -548,30 +534,27 @@ msgid "" msgstr "" "\n" "=D3=C7=CC=C1=C9=C5=D3 =EC=F0=EF=F1=E5=DF =ED=E1 =E5=DF=ED=E1=E9 =EF=F0=EF= =E9=E4=DE=F0=EF=F4=E5 =E1=F0=FC:\n" -" t =E1=ED=DF=F7=ED=E5=F5=F3=E7 =FC=EB=F9=ED =F4=F9=ED =EA=EB=DE=F3=E5= =F9=ED =F4=F9=ED =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=FE=ED, =FC=F7=E9 =EC=FC=ED= =EF =E1=F5=F4=DD=F2 =F0=EF=F5 =DD=F7=EF=F5=ED " -"=EF=F1=E9=F3=F4=E5=DF\n" +" t =E1=ED=DF=F7=ED=E5=F5=F3=E7 =FC=EB=F9=ED =F4=F9=ED =EA=EB=DE=F3=E5= =F9=ED =F4=F9=ED =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=FE=ED, =FC=F7=E9 =EC=FC=ED= =EF =E1=F5=F4=DD=F2 =F0=EF=F5 =DD=F7=EF=F5=ED =EF=F1=E9=F3=F4=E5=DF\n" " a =E5=EC=F6=DC=ED=E9=F3=E7 =F0=F1=E1=E3=EC=E1=F4=E9=EA=FE=ED =EF=F1= =E9=F3=EC=DC=F4=F9=ED\n" " e =E5=EC=F6=DC=ED=E9=F3=E7 =E1=ED=DC=F0=F4=F5=EE=E7=F2\n" " q =F0=E1=F1=DC=E8=E5=F3=E5 =F4=E9=EC=DD=F2 =FC=F0=F9=F2 =F7=F1=E5=E9= =DC=E6=E5=F4=E1=E9, =EC=E5 =F4=E9=F2 =F3=E7=EC=E1=DF=E5=F2 a =DE e\n" " c =E5=EC=F6=DC=ED=E9=F3=E7 =F0=F1=E9=ED =F4=E7 =F3=F5=EB=EB=EF=E3=DE= , =EC=E5=F4=DC =F4=E7 =F3=F5=EB=EB=EF=E3=DE =EA=E1=E9 =EC=E5=F4=DC =F4=E7= =EA=EB=DE=F3=E7\n" -" x =F0=F1=FC=F3=E8=E5=F3=E7 =EC=EF=ED=E1=E4=E9=EA=DE=F2 =F4=E1=F5=F4= =FC=F4=E7=F4=E1=F2 =EA=EB=DE=F3=E7=F2 =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=DE=F2= , =F7=F1=DE=F3=E9=EC=EF =EC=E5 =F4=E7 " -"=F3=E7=EC=E1=DF=E1 c\n" +" x =F0=F1=FC=F3=E8=E5=F3=E7 =EC=EF=ED=E1=E4=E9=EA=DE=F2 =F4=E1=F5=F4= =FC=F4=E7=F4=E1=F2 =EA=EB=DE=F3=E7=F2 =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=DE=F2= , =F7=F1=DE=F3=E9=EC=EF =EC=E5 =F4=E7 =F3=E7=EC=E1=DF=E1 c\n" " f =E5=EC=F6=DC=ED=E9=F3=E7 =F4=F1=DD=F7=EF=ED=F4=EF=F2 =EF=ED=FC=EC= =E1=F4=EF=F2 =E1=F1=F7=E5=DF=EF=F5 =E5=E9=F3=FC=E4=EF=F5\n" " l =E5=EC=F6=DC=ED=E9=F3=E7 =E1=F1=E9=E8=EC=FC =F4=F1=E5=F7=EF=FD=F3= =E7=F2 =E3=F1=E1=EC=EC=DE=F2 =E5=E9=F3=FC=E4=EF=F5\n" " p =E5=EC=F6=DC=ED=E9=F3=E7 =E1=F0=EF=F4=E5=EB=E5=F3=EC=DC=F4=F9=ED = =E1=F0=FC =DD=F1=E5=F5=ED=E5=F2 =F3=F4=EF =EC=EF=ED=EF=F0=DC=F4=E9\n" " i =E5=EC=F6=DC=ED=E9=F3=E7 =E1=EB=EB=E1=E3=FE=ED =F3=F4=E1 =E1=F1=F7= =E5=DF=E1 =E5=E9=F3=FC=E4=EF=F5\n" " V =F3=F5=ED=F4=EF=EC=EF=E3=F1=E1=F6=DF=E1 =E3=E9=E1 =FC=EB=E5=F2 =F4= =E9=F2 =F0=E1=F1=E1=F0=DC=ED=F9 =F3=E7=EC=E1=DF=E5=F2\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" "\n" -"=D7=F9=F1=DF=F2 =C1=D1=D7=C5=C9=CF, =DE =FC=F4=E1=ED =F4=EF =E1=F1=F7=E5= =DF=EF =E5=DF=ED=E1=E9 =F4=EF -, =E1=ED=DC=E3=ED=F9=F3=E7 =E1=F0=FC =F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE " -"=E5=DF=F3=EF=E4=EF.\n" +"=D7=F9=F1=DF=F2 =C1=D1=D7=C5=C9=CF, =DE =FC=F4=E1=ED =F4=EF =E1=F1=F7=E5= =DF=EF =E5=DF=ED=E1=E9 =F4=EF -, =E1=ED=DC=E3=ED=F9=F3=E7 =E1=F0=FC =F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =E5=DF=F3=EF=E4=EF.\n" =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" @@ -579,30 +562,30 @@ msgstr "" "\n" "=C1=ED=E1=F6=DD=F1=E1=F4=E5 =F3=F6=DC=EB=EC=E1=F4=E1 =F3=F4=EF .\n" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "=CB=DC=E8=EF=F2 =F3=E7=EC=E1=DF=E5=F2 =E5=EA=F3=F6=E1=EB=EC=DC=F4= =F9=F3=E7=F2: `%s'" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -617,8 +600,7 @@ msgid "" "Memory bounds violation detected (SIGSEGV). Either a stack overflow\n"= "occurred, or there is a bug in " msgstr "" -"=C5=ED=F4=EF=F0=DF=F3=F4=E7=EA=E5 =F0=E1=F1=DC=E2=E1=F3=E7 =F4=F9=ED =EF= =F1=DF=F9=ED =EC=ED=DE=EC=E7=F2 (SIGSEGV). =C5=DF=F4=E5 =DD=E3=E9=ED=E5 =F5= =F0=DD=F1=E2=E1=F3=E7 " -"=F3=F4=EF=DF=E2=E1=F2\n" +"=C5=ED=F4=EF=F0=DF=F3=F4=E7=EA=E5 =F0=E1=F1=DC=E2=E1=F3=E7 =F4=F9=ED =EF= =F1=DF=F9=ED =EC=ED=DE=EC=E7=F2 (SIGSEGV). =C5=DF=F4=E5 =DD=E3=E9=ED=E5 =F5= =F0=DD=F1=E2=E1=F3=E7 =F3=F4=EF=DF=E2=E1=F2\n" "=E5=DF=F4=E5 =F5=F0=DC=F1=F7=E5=E9 =F3=F6=DC=EB=EC=E1 =F0=F1=EF=E3=F1=DC= =EC=EC=E1=F4=EF=F2 =F3=F4=EF " =20 #: src/stackovf.c:204 @@ -639,9 +621,7 @@ msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8= =E1=ED=DE =E5=F0'=DC=F0=E5=E9=F1=EF #, fuzzy #~ msgid "" #~ "INTERNAL ERROR: Builtin not found in builtin table! (m4_trace_pre ()= )" -#~ msgstr "" -#~ "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =C5=F3=F9=E4=EF=EC=E7= =EC=DD=ED=EF =E4=E5=ED =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF =F0=DF=ED=E1=EA=E1= =E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=F9=ED! " -#~ "(trace_pre ())" +#~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =C5=F3=F9=E4=EF= =EC=E7=EC=DD=ED=EF =E4=E5=ED =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF =F0=DF=ED=E1= =EA=E1 =E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=F9=ED! (trace_pre ())" =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type (m4_trace_pre ())" @@ -709,9 +689,7 @@ msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8= =E1=ED=DE =E5=F0'=DC=F0=E5=E9=F1=EF =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type in produce_symbol_dump ()"= -#~ msgstr "" -#~ "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2 =F4=FD= =F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED=EF=F5= =F3=F4=EF " -#~ "freeze_one_symbol ()" +#~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =F4=FD=F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED= =EF=F5 =F3=F4=EF freeze_one_symbol ()" =20 #~ msgid "INTERNAL ERROR: Bad code in deferred arguments" #~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =EA=F9=E4=E9=EA=FC=F2 =F3=F4=E1 =E1=ED=E1=F6=E5=F1=FC=EC=E5=ED=E1 =EF=F1= =DF=F3=EC=E1=F4=E1" @@ -721,8 +699,7 @@ msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8= =E1=ED=DE =E5=F0'=DC=F0=E5=E9=F1=EF =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type in install_macro ()" -#~ msgstr "" -#~ "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2 =F4=FD= =F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED=EF=F5= =F3=F4=EF define_macro ()" +#~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =F4=FD=F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED= =EF=F5 =F3=F4=EF define_macro ()" =20 #~ msgid " (options:" #~ msgstr " (=E5=F0=E9=EB=EF=E3=DD=F2:" @@ -732,16 +709,13 @@ msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9= =E8=E1=ED=DE =E5=F0'=DC=F0=E5=E9=F1=EF #~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =C1=ED=F4=E9=EA= =E1=ED=EF=ED=E9=EA=DE =EA=E1=F4=DC=F3=F4=E1=F3=E7 =F3=F4=EF symbol_lookup= ()" =20 #~ msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" -#~ msgstr "" -#~ "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2 =F4=FD= =F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED=EF=F5= =F3=F4=EF m4_dumpdef ()" +#~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =F4=FD=F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED= =EF=F5 =F3=F4=EF m4_dumpdef ()" =20 #~ msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" #~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =F4=FD=F0=EF=F2 =F3=F5=EC=E2=FC=EB=EF=F5 =F3=F4=EF m4_defn ()" =20 #~ msgid " -W, --word-regexp=3DREGEXP use REGEXP for macro name syn= tax\n" -#~ msgstr "" -#~ " -W --word-regexp=3D=CA=C1=CD=C5=CA=D6 =F7=F1=DE=F3=E7 =CA=C1=CD= =EF=ED=E9=EA=DE=F2 =B8=CA=D6=F1=E1=F3=E7=F2 =F3=F4=EF =F3=F5=ED=F4=E1=EA=F4= =E9=EA=FC " -#~ "=F4=E7=F2 =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=DE=F2\n" +#~ msgstr " -W --word-regexp=3D=CA=C1=CD=C5=CA=D6 =F7=F1=DE=F3=E7 = =CA=C1=CD=EF=ED=E9=EA=DE=F2 =B8=CA=D6=F1=E1=F3=E7=F2 =F3=F4=EF =F3=F5=ED=F4= =E1=EA=F4=E9=EA=FC =F4=E7=F2 =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=DE=F2\n" =20 #~ msgid "Non-numeric argument to %s" #~ msgstr "=CC=E7 =E1=F1=E9=E8=EC=E7=F4=E9=EA=FC =FC=F1=E9=F3=EC=E1 =F3=F4= =EF %s" Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.31 diff -u -p -u -r1.31 fr.po --- po/fr.po 5 Sep 2003 18:32:27 -0000 1.31 +++ po/fr.po 10 Sep 2003 17:10:50 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -16,14 +16,10 @@ msgstr "" "Content-Type: text/plain; charset=3D\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -73,6 +69,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -409,22 +409,22 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERREUR INTERNE: Mauvais type de lex=E8me dans expand_token ()" =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour plus d'information, essayez =AB%s --help=BB.\\n\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPTION]... [FICHIER]...\\n\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -452,7 +452,7 @@ msgstr "" " -Q, --quiet, --silent inhiber certains diagnostics pr=E9d=E9fi= nis\n" " -P, --prefix-builtins pr=E9fixer tous les pr=E9d=E9finis par =AB= m4_=BB\n" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -461,7 +461,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 #, fuzzy msgid "" "\n" @@ -478,7 +478,7 @@ msgstr "" " -U, --undefine=3DNOM =E9liminer le NOM pr=E9d=E9fini\n" " -s, --synclines engendrer des lignes =AB#line NNN \\\"FI= CHIER\\\"=BB\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -493,7 +493,7 @@ msgstr "" " -L, --nesting-limit=3DNOMBRE modifier la limite artificielle " "d'imbrication\n" =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -505,7 +505,7 @@ msgstr "" " -F, --freeze-state=3DFICHIER produire un FICHIER fig=E9 =E0 la fin\= n" " -R, --reload-state=3DFICHIER recharger un FICHIER fig=E9 au d=E9par= t\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -522,7 +522,7 @@ msgstr "" " -o, --error-output=3DFICHIER rediriger la sortie de trace et mise-a= u-" "point\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -552,7 +552,7 @@ msgstr "" " i afficher les modifications dans les fichiers d'entr=E9e\n" " V abbr=E9viation commode pour toutes les options pr=E9c=E9dentes =E0= la fois\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -560,36 +560,36 @@ msgstr "" "\n" "Si aucun FICHIER ou si FICHIER vaut =AB-=BB, lit l'entr=E9e standard.\n= " =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "Mauvais indicateurs de mise-au-point: =AB%s=BB" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.32 diff -u -p -u -r1.32 it.po --- po/it.po 5 Sep 2003 18:32:27 -0000 1.32 +++ po/it.po 10 Sep 2003 17:10:50 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -14,14 +14,10 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -71,6 +67,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -407,22 +407,22 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "ERRORE: Stack overflow. (Ricorsione infinita in `define'?)" =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Per ulteriori informazioni provare `%s --help'.\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Usage: %s [OPZIONE]... [ARCHIVIO]...\n" =20 -#: src/main.c:100 +#: src/main.c:91 msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" "for short options too.\n" @@ -438,7 +438,7 @@ msgid "" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -447,7 +447,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 msgid "" "\n" "Preprocessor features:\n" @@ -457,7 +457,7 @@ msgid "" " -s, --synclines generate `#line NO \"FILE\"' lines\n" msgstr "" =20 -#: src/main.c:128 +#: src/main.c:119 msgid "" "\n" "Limits control:\n" @@ -465,7 +465,7 @@ msgid "" " -L, --nesting-limit=3DNUMBER change artificial nesting limit\n" msgstr "" =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -473,7 +473,7 @@ msgid "" " -R, --reload-state=3DFILE reload a frozen state from FILE at sta= rt\n" msgstr "" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -483,7 +483,7 @@ msgid "" " -o, --error-output=3DFILE redirect debug and trace output\n" msgstr "" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -500,42 +500,42 @@ msgid "" " V shorthand for all of the above flags\n" msgstr "" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "Indicatori di debug errati: `%s'" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.31 diff -u -p -u -r1.31 ja.po --- po/ja.po 5 Sep 2003 18:32:27 -0000 1.31 +++ po/ja.po 10 Sep 2003 17:10:50 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -14,15 +14,11 @@ msgstr "" "Content-Type: text/plain; charset=3DEUC\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 #, fuzzy msgid "memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -72,6 +68,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -411,24 +411,24 @@ msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA= =A5=D7=A5=B7=A5=E7=A5=F3=CC=BE=A4 msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "" "=A5=A8=A5=E9=A1=BC: =A5=B9=A5=BF=A5=C3=A5=AF=A4=AC=A5=AA=A1=BC=A5=D0=A1= =BC=A5=D5=A5=ED=A1=BC=A4=F2=B5=AF=A4=B3=A4=B7=A4=C6=A4=A4=A4=DE=A4=B9=A1=A3= \n" " (=CC=B5=B8=C2=A4=CB=BA=C6=B5=A2=C5=AA=C4=EA=B5=C1=A4=F2=A4=B7=A4= =C6=A4=A4=A4=DE=A4=BB=A4=F3=A4=AB=A1=A9)" =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=BE=DC=A4=B7=A4=AF=A4=CF `%s --help' =A4=CE=BD=D0=CE=CF=A4=F2=B8= =E6=CD=F7=B2=BC=A4=B5=A4=A4=A1=A3\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=BB=C8=CD=D1=CA=FD=CB=A1: %s [=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3]...= [=A5=D5=A5=A1=A5=A4=A5=EB=CC=BE]\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -454,7 +454,7 @@ msgstr "" " -Q, --quiet, --silent =A4=A4=A4=AF=A4=C4=A4=AB=A4=CE=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=B7=D9=B9=F0=A4=F2=CD=DE=C0= =A9=A4=B7=A4=DE=A4=B9=A1=A3\n" " -P, --prefix-builtins =C1=B4=A4=C6=A4=CE=A5=D3=A5=EB=A5=C8=A5=A4= =A5=F3=A5=DE=A5=AF=A5=ED=A4=CB `m4_' =A4=C8=A4=A4=A4=A6=C0=DC=C6=AC=BC=AD= =A4=F2 =B6=AF=C0=A9=C5=AA=A4=CB=C4=C9=B2=C3= =A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -463,7 +463,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 #, fuzzy msgid "" "\n" @@ -482,7 +482,7 @@ msgstr "" " -U, --undefine=3DNAME NAME =A4=CE=C4=EA=B5=C1=A4=F2=BC=E8=A4= =EA=BE=C3=A4=B7=A4=DE=A4=B9=A1=A3\n" " -s, --synclines =B9=D4=C8=D6=B9=E6=A4=C8=A5=D5=A5=A1=A5= =A4=A5=EB=CC=BE=A4=CE=B9=D4=A4=F2=C0=B8=C0=AE=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -497,7 +497,7 @@ msgstr "" " =A5=BB=A5=C3=A5=C8=A4=B7=A4=DE=A4=B9=A1= =A3\n" " -L, --nesting-limit=3DNUNBER =A5=DE=A5=AF=A5=ED=A4=CE=A5=CD=A5=B9=A5= =C8=B2=F3=BF=F4=A4=CE=BE=E5=B8=C2=C3=CD=A4=F2=BF=CD=B0=D9=C5=AA=A4=CB=CA=D1= =B9=B9=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -509,7 +509,7 @@ msgstr "" " -R, --reload-state=3DFILE =BA=C7=BD=E9=A4=CB=BB=D8=C4=EA=A4=B5=A4= =EC=A4=BF FILE =A4=AB=A4=E9\n" " =C5=E0=B7=EB=A4=B5=A4=EC=A4=BF=C4=EA=B5= =C1=A4=F2=A5=ED=A1=BC=A5=C9=A4=B7=A4=DE=A4=B9\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -527,7 +527,7 @@ msgstr "" " -o, --error-output=3DFILE =A5=C7=A5=D0=A5=C3=A5=B0=A4=C8=A5=C8=A5= =EC=A1=BC=A5=B9=A4=CE=BD=D0=CE=CF=A4=F2 FILE =A4=CB\n" " =A5=EA=A5=C0=A5=A4=A5=EC=A5=AF=A5=C8=A4= =B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -559,7 +559,7 @@ msgstr "" " i =C6=FE=CE=CF=A5=D5=A5=A1=A5=A4=A5=EB=A4=CB=C0=B8=A4=B8=A4=BF=CA=D1= =B2=BD=A4=F2=C9=BD=BC=A8=A4=B7=A4=DE=A4=B9=A1=A3\n" " V =BE=E5=B5=AD=A4=CE=C1=B4=A4=C6=A4=CE FLAG =A4=F2=BB=D8=C4=EA=A4=B9= =A4=EB=A4=B3=A4=C8=A4=F2=B0=D5=CC=A3=A4=B7=A4=DE=A4=B9=A1=A3\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -568,36 +568,36 @@ msgstr "" "FILE =A4=AC=BB=D8=C4=EA=A4=B5=A4=EC=A4=C6=A4=A4=A4=CA=A4=A4=BE=EC=B9=E7= =A4=AA=A4=E8=A4=D3=BB=D8=C4=EA=A4=B5=A4=EC=A4=BF=A5=D5=A5=A1=A5=A4=A5=EB=A4= =AC `-' =A4=CE=BE=EC=B9=E7=A4=CF\n" " =C9=B8=BD=E0=C6=FE=CE=CF=A4=AC=C6=C9=A4=DF=B9=FE=A4=DE=A4=EC=A4= =DE=A4=B9=A1=A3\n" =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" msgstr "" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "`%s' =A4=CF=C9=D4=C0=B5=A4=CA=A5=C7=A5=D0=A5=C3=A5=B0=A5=AA=A5=D7= =A5=B7=A5=E7=A5=F3=B0=FA=BF=F4=A4=C7=A4=B9=A1=A3" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.31 diff -u -p -u -r1.31 nl.po --- po/nl.po 5 Sep 2003 18:32:27 -0000 1.31 +++ po/nl.po 10 Sep 2003 17:10:51 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -14,14 +14,10 @@ msgstr "" "Content-Type: text/plain; charset=3D\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -71,6 +67,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -408,22 +408,22 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FOUT: Stapel overflow. (Infinite define recursion?)" =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' voor meer informatie.\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -452,7 +452,7 @@ msgstr "" " -P, --prefix-builtins forceer een `m4_' voorvoegsel voor alle = \n" " ingebouwde functies\n" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -461,7 +461,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 #, fuzzy msgid "" "\n" @@ -480,7 +480,7 @@ msgstr "" " -U, --undefine=3DNAME verwijder ingebouwde functie NAME\n" " -s, --synclines genereer `#line NO \"FILE\"' regel\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -494,7 +494,7 @@ msgstr "" " -H, --hashsize=3DPRIME stel symbolen opzoek hash tabel groott= e\n" " -L, --nesting-limit=3DNUMBER verander kunstmatige nesting limiet\n"= =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -508,7 +508,7 @@ msgstr "" " -R, --reload-state=3DFILE herlaad een gefixeerde staat van BESTA= ND\n" " aan het begin\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -525,7 +525,7 @@ msgstr "" " -l, --arglength=3DNUM restrict macro traceer grootte\n" " -o, --error-output=3DFILE redirect debug en traceer uitvoer\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -555,7 +555,7 @@ msgstr "" " i show changes in input files\n" " V shorthand for all of the above flags\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -563,7 +563,7 @@ msgstr "" "\n" "Als geen BESTAND of als BESTAND `-' is, standaard invoer wordt gelezen.= \n" =20 -#: src/main.c:168 +#: src/main.c:159 #, fuzzy msgid "" "\n" @@ -572,30 +572,30 @@ msgstr "" "\n" "Meld fouten via .\n" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "Onjuiste debug vlaggen: `%s'" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.31 diff -u -p -u -r1.31 pl.po --- po/pl.po 5 Sep 2003 18:32:27 -0000 1.31 +++ po/pl.po 10 Sep 2003 17:10:51 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -14,14 +14,10 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-2\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -71,6 +67,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -408,22 +408,22 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "B=A3=A1D: Przepe=B3nienie stosu. (Niesko=F1czona rekursja defin= icji?)" =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Spr=F3buj `%s --help' =BFeby dowiedzie=E6 si=EA wi=EAcej.\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Sk=B3adnia: %s [OPCJA]... [PLIK]...\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -447,12 +447,11 @@ msgstr "" " --version wy=B6wietl informacj=EA o wersji i zako=F1= cz\n" " -e, --intercative nie buforuj wyj=B6cia, ignoruj przerwani= a\n" " -E, --fatal-warnings zatrzymaj si=EA po pierwszym ostrz=BFeni= u\n" -" -Q, --quiet, --silent nie pokazuj niekt=F3rych ostrze=BFe=F1 d= la " -"wbudowanych\n" +" -Q, --quiet, --silent nie pokazuj niekt=F3rych ostrze=BFe=F1 d= la wbudowanych\n" " -P, --prefix-builtins dodaj zawsze `m4_' przez wszystkimi " "wbudowanymi\n" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -461,7 +460,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 msgid "" "\n" "Preprocessor features:\n" @@ -477,7 +476,7 @@ msgstr "" " -U, --undefine=3DNAZWA skasuj wbudowan=B1 NAZW=CA\n" " -s, --synclines generuj linie `#line NR \"PLIK\"\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -488,11 +487,10 @@ msgstr "" "\n" "Sterowanie ograniczeniami:\n" " -G, --traditional wy=B3=B1cz wszystkie rozszrzenia GNU\n" -" -H, --hashzize=3DPIERWSZA ustaw rozmiar tablicy mieszaj=B1cej dl= a " -"symboli\n" +" -H, --hashzize=3DPIERWSZA ustaw rozmiar tablicy mieszaj=B1cej dl= a symboli\n" " -L, --nesting-limit=3DLICZBA zmie=F1 sztuczny limit zag=B3ebie=F1\n= " =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -504,7 +502,7 @@ msgstr "" " -F, --freeze-state=3DPLIK zapisz zamro=BFony PLIK stanu na ko=F1= cu\n" " -R, --reload-state=3DPLIK za=B3aduj zamro=BFony PLIK stanu na po= cz=B1tku\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -520,7 +518,7 @@ msgstr "" " -l, --arglength=3DILE ogranicz rozmiar =B6ledzenia makr\n" " -o, --error-output=3DPLIK przekieruj wyniki debugowania i =B6led= zenia\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -550,7 +548,7 @@ msgstr "" " i poka=BF zmiany plik=F3w wej=B6ciowych\n" " V skr=F3t do wszystkich powy=BFszych flag\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -558,7 +556,7 @@ msgstr "" "\n" "Je=BFeli brak PLIKu lub PLIK to `-', czytane jest std. wej=B6cie.\n" =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" @@ -566,30 +564,30 @@ msgstr "" "\n" "Raporty o b=B3=EAdach wysy=B3aj do bug-m4@gnu.org.\n" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "B=B3=EAdne flagi debugowania: `%s'" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -625,9 +623,7 @@ msgstr ". Sprawd=BC czy nie dosz=B3o do nie #, fuzzy #~ msgid "" #~ "INTERNAL ERROR: Builtin not found in builtin table! (m4_trace_pre ()= )" -#~ msgstr "" -#~ "B=A3=A1D WEWN=CATRZNY: Wbudowane nie znalezione w tablicy wbudowanyc= h! " -#~ "(trace_pre ())" +#~ msgstr "B=A3=A1D WEWN=CATRZNY: Wbudowane nie znalezione w tablicy wbu= dowanych! (trace_pre ())" =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type (m4_trace_pre ())" Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.31 diff -u -p -u -r1.31 ru.po --- po/ru.po 5 Sep 2003 18:32:27 -0000 1.31 +++ po/ru.po 10 Sep 2003 17:10:51 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -14,15 +14,11 @@ msgstr "" "Content-Type: text/plain; charset=3Dkoi8-r\n" "Content-Transfer-Encoding: 8-bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 #, fuzzy msgid "memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -72,6 +68,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -122,8 +122,7 @@ msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA= =CC=C1 =D7 =D3=D0=C9=D3=CB=C5 =C1=D2=C7 #: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" -msgstr "" -"=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d =C9=D3=DE= =C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF=C2=D9 = =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" +msgstr "=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d = =C9=D3=DE=C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF= =C2=D9 =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" =20 #: m4/macro.c:425 #, c-format @@ -189,8 +188,7 @@ msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE= =C5 =CE=C1=CA=C4=C5=CE" #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" -msgstr "" -"=EF=FB=E9=E2=EB=E1: =EF=DB=C9=C2=CB=C1 =D3=CF=DA=C4=C1=CE=C9=D1 =D7=D2=C5= =CD=C5=CE=CE=CF=C7=CF =C6=C1=CA=CC=C1 =C4=CC=D1 =D2=C1=DA=D7=C5=D4=D7=CC=C5= =CE=C9=D1 =CD=C1=CB=D2=CF=CF=C2=D2=C1=C2=CF=D4=CB=C9" +msgstr "=EF=FB=E9=E2=EB=E1: =EF=DB=C9=C2=CB=C1 =D3=CF=DA=C4=C1=CE=C9=D1 = =D7=D2=C5=CD=C5=CE=CE=CF=C7=CF =C6=C1=CA=CC=C1 =C4=CC=D1 =D2=C1=DA=D7=C5=D4= =D7=CC=C5=CE=C9=D1 =CD=C1=CB=D2=CF=CF=C2=D2=C1=C2=CF=D4=CB=C9" =20 #: m4/output.c:297 #, fuzzy @@ -409,22 +407,22 @@ msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF= =DA=CE=C1=DE=CE=C1\n" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "=EF=FB=E9=E2=EB=E1: =F0=C5=D2=C5=D0=CF=CC=CE=C5=CE=C9=C5 =D3=D4=C5= =CB=C1. (=E2=C5=D3=CB=CF=CE=C5=DE=CE=CF=C5 =D2=C5=CB=D5=D2=D3=C9=D7=CE=CF= =C5 =CF=D0=D2=C5=C4=C5=CC=C5=CE=C9=C5?)" =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "=F0=CF=D0=D2=CF=C2=D5=CA=D4=C5 '%s --help' =C4=CC=D1 =C9=CE=C6=CF= =D2=CD=C1=C3=C9=C9.\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "=E9=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE=C9=C5: %s [OPTION]... [FILE]..= =2E\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -440,21 +438,17 @@ msgid "" " -Q, --quiet, --silent suppress some warnings for builtins\n" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" -"=EF=C2=D1=DA=C1=D4=C5=CC=D8=CE=D9=C5 =C9=CC=C9 =CE=C5=CF=C2=D1=DA=C1=D4= =C5=CC=D8=CE=D9=C5 =C1=D2=C7=D5=CD=C5=CE=D4=D9 =C4=CC=D1 =C4=CC=C9=CE=CE=D9= =C8 =CF=D0=C3=C9=C9 =D4=C1=CB=CF=D7=D9 =C9 =C4=CC=D1 " -"=CB=CF=D2=CF=D4=CB=C9=C8\n" +"=EF=C2=D1=DA=C1=D4=C5=CC=D8=CE=D9=C5 =C9=CC=C9 =CE=C5=CF=C2=D1=DA=C1=D4= =C5=CC=D8=CE=D9=C5 =C1=D2=C7=D5=CD=C5=CE=D4=D9 =C4=CC=D1 =C4=CC=C9=CE=CE=D9= =C8 =CF=D0=C3=C9=C9 =D4=C1=CB=CF=D7=D9 =C9 =C4=CC=D1 =CB=CF=D2=CF=D4=CB=C9= =C8\n" "\n" "=F2=C5=D6=C9=CD=D9 =D2=C1=C2=CF=D4=D9:\n" " --help =D0=CF=CB=C1=DA=C1=D4=D8 =D0=CF=CD=CF=DD= =D8 =C9 =D7=D9=CA=D4=C9\n" " --version =D7=D9=D7=C5=D3=D4=C9 =C9=CE=C6=CF=D2=CD= =C1=C3=C9=C0 =CF =D7=C5=D2=D3=C9=C9 =C9 =D7=D9=CA=D4=C9\n" -" -e, --interactive =CE=C5=C2=D5=C6=C5=D2=C9=DA=CF=D7=C1=CE=CE= =D9=CA =D7=D9=D7=CF=C4, =C9=C7=CE=CF=D2=C9=D2=CF=D7=C1=D4=D8 " -"=D0=D2=C5=D2=D9=D7=C1=CE=C9=D1\n" +" -e, --interactive =CE=C5=C2=D5=C6=C5=D2=C9=DA=CF=D7=C1=CE=CE= =D9=CA =D7=D9=D7=CF=C4, =C9=C7=CE=CF=D2=C9=D2=CF=D7=C1=D4=D8 =D0=D2=C5=D2= =D9=D7=C1=CE=C9=D1\n" " -E, --fatal-warnings =CF=D3=D4=C1=CE=CF=D7=C9=D4=D8=D3=D1 =D0= =CF=D3=CC=C5 =D0=C5=D2=D7=CF=C7=CF =D0=D2=C5=C4=D5=D0=D2=C5=D6=C4=C5=CE=C9= =D1\n" -" -Q, --quiet, --silent =D0=CF=C4=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C4= =D5=D0=D2=C5=D6=C4=C5=CE=C9=D1 =C4=CC=D1 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 "= -"=C6=D5=CE=CB=C3=C9=CA\n" -" -P, --prefix-builtins =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C6= =C9=CB=D3 `m4_' =C4=CC=D1 =D7=D3=C5=C8 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 " -"=C6=D5=CE=CB=C3=C9=CA\n" +" -Q, --quiet, --silent =D0=CF=C4=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C4= =D5=D0=D2=C5=D6=C4=C5=CE=C9=D1 =C4=CC=D1 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 =C6= =D5=CE=CB=C3=C9=CA\n" +" -P, --prefix-builtins =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C6= =C9=CB=D3 `m4_' =C4=CC=D1 =D7=D3=C5=C8 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 =C6= =D5=CE=CB=C3=C9=CA\n" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -463,7 +457,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 msgid "" "\n" "Preprocessor features:\n" @@ -479,7 +473,7 @@ msgstr "" " -U, --undefine=3DNAME =D5=C4=C1=CC=C9=D4=D8 =D7=D3=D4=D2=CF=C5= =CE=CE=D5=C0 =C6=D5=CE=CB=C3=C9=C0 NAME\n" " -s, --synclines =C7=C5=CE=C5=D2=C9=D2=CF=D7=C1=D4=D8 =D3= =D4=D2=CF=CB=C9 `#line NO \"FILE\"'\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -490,12 +484,10 @@ msgstr "" "\n" "=EF=C7=D2=C1=CE=C9=DE=C5=CE=C9=D1:\n" " -G, --traditional =D0=CF=C4=C1=D7=CC=D1=D4=D8 =D7=D3=C5 GN= U =D2=C1=D3=DB=C9=D2=C5=CE=C9=D1\n" -" -H, --hashsize=3DPRIME =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D2=C1=DA= =CD=C5=D2 =C8=DC=DB-=D4=C1=C2=CC=C9=C3=D9 =C4=CC=D1 =D0=CF=C9=D3=CB=C1 " -"=D3=C9=CD=D7=CF=CC=CF=D7\n" -" -L, --nesting-limit=3DNUMBER =C9=DA=CD=C5=CE=C9=D4=D8 =D0=D2=C5=C4=C5= =CC =C7=CC=D5=C2=C9=CE=D9 =C9=CE=D4=C5=CC=C5=CB=D4=D5=C1=CC=D8=CE=CF=C7=CF= " -"=D0=CF=C9=D3=CB=C1\n" +" -H, --hashsize=3DPRIME =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D2=C1=DA= =CD=C5=D2 =C8=DC=DB-=D4=C1=C2=CC=C9=C3=D9 =C4=CC=D1 =D0=CF=C9=D3=CB=C1 =D3= =C9=CD=D7=CF=CC=CF=D7\n" +" -L, --nesting-limit=3DNUMBER =C9=DA=CD=C5=CE=C9=D4=D8 =D0=D2=C5=C4=C5= =CC =C7=CC=D5=C2=C9=CE=D9 =C9=CE=D4=C5=CC=C5=CB=D4=D5=C1=CC=D8=CE=CF=C7=CF= =D0=CF=C9=D3=CB=C1\n" =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -507,7 +499,7 @@ msgstr "" " -F, --freeze-state=3DFILE =D7 =CB=CF=CE=C3=C5 =D3=CF=DA=C4=C1=D4= =D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" " -R, --reload-state=3DFILE =D7 =CE=C1=DE=C1=CC=C5 =DA=C1=C7=D2=D5= =D6=C1=D4=D8 =CF=C2=D2=C1=DA =D0=C1=CD=D1=D4=C9 =C4=CC=D1 FILE\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -518,14 +510,12 @@ msgid "" msgstr "" "\n" "=EF=D4=CC=C1=C4=CB=C1:\n" -" -d, --debug=3D[FLAGS] =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D5=D2=CF= =D7=C5=CE=D8 =CF=D4=CC=C1=C4=CB=C9 (=D0=CF =D5=CD=CF=CC=DE=C1=CE=C9=C0 " -"FLAGS=3D`aeq')\n" +" -d, --debug=3D[FLAGS] =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D5=D2=CF= =D7=C5=CE=D8 =CF=D4=CC=C1=C4=CB=C9 (=D0=CF =D5=CD=CF=CC=DE=C1=CE=C9=C0 FL= AGS=3D`aeq')\n" " -t, --trace=3DNAME =D4=D2=C1=D3=D3=C9=D2=CF=D7=C1=D4=D8 N= AME =CB=CF=C7=C4=C1 =CF=CE=CF =C2=D5=C4=C5=D4 =CF=D0=D2=C5=C4=C5=CC=C5=CE= =CF\n" " -l, --arglength=3DNUM =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D2=C1=DA= =CD=C5=D2 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CB=C9 =C4=CC=D1 =CD=C1=CB=D2=CF=D3=C1= \n" -" -o, --error-output=3DFILE =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=C9=D4=D8= =CF=D4=CC=C1=C4=CF=DE=CE=D9=CA =C9 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CF=DE=CE=D9= =CA " -"=D7=D9=D7=CF=C4 =D7 =C6=C1=CA=CC FILE\n" +" -o, --error-output=3DFILE =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=C9=D4=D8= =CF=D4=CC=C1=C4=CF=DE=CE=D9=CA =C9 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CF=DE=CE=D9= =CA =D7=D9=D7=CF=C4 =D7 =C6=C1=CA=CC FILE\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -548,15 +538,14 @@ msgstr "" " e =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =CD=C1=CB=D2=CF=D2=C1=D3=DB=C9=D2=C5= =CE=C9=C5\n" " q =DA=C1=CB=CC=C0=DE=C1=D4=D8 =DA=CE=C1=DE=C5=CE=C9=D1 =D7 =CB=C1=D7= =D9=DE=CB=C9 =D0=CF =CE=C5=CF=C2=C8=CF=C4=C9=CD=CF=D3=D4=C9, =D3 a =C9=CC= =C9 e =C6=CC=C1=C7=C1=CD=C9\n" " c =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =D0=C5=D2=C5=C4 =D3=C2=CF=D2=CF=CD= , =D0=CF=D3=CC=C5 =D3=C2=CF=D2=C1 =C9 =D0=CF=D3=CC=C5 =D7=D9=DA=CF=D7=C1= \n" -" x =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D5=CE=C9=CB=C1=CC=D8=CE=D9=CA =C9=C4= =C5=CE=D4=C9=C6=C9=CB=C1=D4=CF=D2 =D7=D9=DA=CF=D7=C1 =CD=C1=CB=D2=CF=D3=C1= , =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D7=CD=C5=D3=D4=C5 " -"=D3 =C6=CC=C1=C7=CF=CD c\n" +" x =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D5=CE=C9=CB=C1=CC=D8=CE=D9=CA =C9=C4= =C5=CE=D4=C9=C6=C9=CB=C1=D4=CF=D2 =D7=D9=DA=CF=D7=C1 =CD=C1=CB=D2=CF=D3=C1= , =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D7=CD=C5=D3=D4=C5 =D3 =C6=CC=C1=C7= =CF=CD c\n" " f =D7=D9=D7=CF=C4=C9=D4=D8 =D4=C5=CB=D5=DD=C5=C5 =C9=CD=D1 =D7=C8=CF= =C4=CE=CF=C7=CF =C6=C1=CA=CC=C1\n" " l =D7=D9=D7=CF=C4=C9=D4=D8 =CE=CF=CD=C5=D2 =D4=C5=CB=D5=DD=C5=CA =D3= =D4=D2=CF=DE=CB=C9\n" " p =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =D2=C5=DA=D5=CC=D8=D4=C1=D4=D9 =D0= =CF=C9=D3=CB=C1 =D0=CF =D0=D5=D4=D1=CD\n" " i =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =C9=DA=CD=C5=CE=C5=CE=C9=D1 =D7=CF= =D7=C8=CF=C4=CE=D9=C8 =C6=C1=CA=CC=C1=C8\n" " V =D3=CF=CB=D2=C1=DD=C5=CE=C9=C5 =C4=CC=D1 =D7=D3=C5=C8 =C6=CC=C1=C7= =CF=D7 =D7=CD=C5=D3=D4=C5\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -564,7 +553,7 @@ msgstr "" "\n" "=E5=D3=CC=C9 FILE =CE=C5 =D3=D5=DD=C5=D3=D4=D7=D5=C5=D4 =C9=CC=C9 FILE = =DC=D4=CF `-', =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D3=D4=C1=CE=C4=C1=D2= =D4=CE=D9=CA =D7=C8=CF=C4.\n" =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" @@ -572,30 +561,30 @@ msgstr "" "\n" "=F0=CF=D3=D9=CC=C1=CA=D4=C5 =CF=D4=DE=C5=D4=D9 =CF=C2 =CF=DB=C9=C2=CB=C1= =C8 =CE=C1 .\n" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CC=C1=C7 =CF=D4=CC=C1=C4=CB=C9: '%s= '" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" @@ -725,9 +714,7 @@ msgstr ". =F0=D2=CF=D7=C5=D2=CB=C1 =CE=C1 =D7=CF=DA=CD= =CF=D6=CE=D5=C0 =C2=C5=D3=CB=CF=CE=C5=DE #~ msgstr "=F7=EE=F5=F4=F2=E5=EE=EE=F1=F1 =EF=FB=E9=E2=EB=E1: =EE=C5=D7=C5= =D2=CE=D9=CA =D4=C9=D0 =D3=C9=CD=D7=CF=CC=C1 =D7 m4_defn ()" =20 #~ msgid " -W, --word-regexp=3DREGEXP use REGEXP for macro name syn= tax\n" -#~ msgstr "" -#~ " -W, --word-regexp=3DREGEXP =C9=D3=D0=CF=CC=D8=DA=CF=D7=C1=D4=D8= REGEXP =C4=CC=D1 =D3=C9=CE=D4=C1=CB=D3=C9=D3=C1 =C9=CD=C5=CE " -#~ "=CD=C1=CB=D2=CF=D3=CF=D7\n" +#~ msgstr " -W, --word-regexp=3DREGEXP =C9=D3=D0=CF=CC=D8=DA=CF=D7=C1= =D4=D8 REGEXP =C4=CC=D1 =D3=C9=CE=D4=C1=CB=D3=C9=D3=C1 =C9=CD=C5=CE =CD=C1= =CB=D2=CF=D3=CF=D7\n" =20 #~ msgid "Non-numeric argument to %s" #~ msgstr "=EE=C5=DE=C9=D3=CC=CF=D7=CF=CA =C1=D2=C7=D5=CD=C5=CE=D4 =C4=CC= =D1 %s" @@ -775,9 +762,7 @@ msgstr ". =F0=D2=CF=D7=C5=D2=CB=C1 =CE=C1 =D7=CF=DA=CD= =CF=D6=CE=D5=C0 =C2=C5=D3=CB=CF=CE=C5=DE #~ msgstr "=F0=D2=C5=C4=D5=D0=D2=C5=D6=C4=C5=CE=C9=C5: =F3=CC=C9=DB=CB=CF= =CD =CD=C1=CC=CF =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7 =C4=CC=D1 =D7=D3=D4=D2=CF= =C5=CE=CE=CF=CA =CC=C5=CB=D3=C5=CD=D9 '%s'" =20 #~ msgid "Warning: Excess arguments to built-in `%s' ignored" -#~ msgstr "" -#~ "=F0=D2=C5=C4=D5=D0=D2=C5=D6=C4=C5=CE=C9=C5: =E9=DA=C2=D9=D4=CF=DE=CE= =D9=C5 =C1=D2=C7=D5=CD=C5=CE=D4=D9 =C4=CC=D1 =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA= =CC=C5=CB=D3=C5=CD=D9 '%s' " -#~ "=D0=D2=CF=C9=C7=CE=CF=D2=C9=D2=CF=D7=C1=CE=D9" +#~ msgstr "=F0=D2=C5=C4=D5=D0=D2=C5=D6=C4=C5=CE=C9=C5: =E9=DA=C2=D9=D4=CF= =DE=CE=D9=C5 =C1=D2=C7=D5=CD=C5=CE=D4=D9 =C4=CC=D1 =D7=D3=D4=D2=CF=C5=CE=CE= =CF=CA =CC=C5=CB=D3=C5=CD=D9 '%s' =D0=D2=CF=C9=C7=CE=CF=D2=C9=D2=CF=D7=C1= =CE=D9" =20 #~ msgid "Non-numeric argument to built-in `%s'" #~ msgstr "=EE=C5 =DE=C9=D3=CC=CF=D7=CF=CA =C1=D2=C7=D5=CD=C5=CE=D4 =C4=CC= =D1 =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA =CC=C5=CB=D3=C5=CD=D9 '%s'" Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.32 diff -u -p -u -r1.32 sv.po --- po/sv.po 5 Sep 2003 18:32:27 -0000 1.32 +++ po/sv.po 10 Sep 2003 17:10:51 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-05 19:04+0100\n" +"POT-Creation-Date: 2003-09-10 11:06+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -15,14 +15,10 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" =20 -#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 +#: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: gnulib/m4/xmalloc.c:78 m4/regex.c:1057 -msgid "Memory exhausted" -msgstr "" - #: m4/regex.c:1021 msgid "Success" msgstr "" @@ -72,6 +68,10 @@ msgstr "" msgid "Invalid range end" msgstr "" =20 +#: m4/regex.c:1057 +msgid "Memory exhausted" +msgstr "" + #: m4/regex.c:1060 #, fuzzy msgid "Invalid preceding regular expression" @@ -408,22 +408,22 @@ msgstr "" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 -#: src/main.c:83 +#: src/main.c:74 #, fuzzy msgid "Stack overflow. (Infinite define recursion?)" msgstr "FEL: Stacken fl=F6dar =F6ver. (O=E4ndlig definitionsrekursion?)"= =20 -#: src/main.c:95 +#: src/main.c:86 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "F=F6rs=F6k med \"%s --help\" f=F6r mer information.\n" =20 -#: src/main.c:99 +#: src/main.c:90 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Anv=E4ndning: %s [FLAGGA]... [FIL]...\n" =20 -#: src/main.c:100 +#: src/main.c:91 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or option= al\n" @@ -451,7 +451,7 @@ msgstr "" "makron\n" " -P, --prefix-builtins alla inbyggda makron b=F6rjar med `m4_'\= n" =20 -#: src/main.c:114 +#: src/main.c:105 #, c-format msgid "" "\n" @@ -460,7 +460,7 @@ msgid "" " -m, --load-module=3DMODULE load dynamic MODULE from %s\n" msgstr "" =20 -#: src/main.c:120 +#: src/main.c:111 msgid "" "\n" "Preprocessor features:\n" @@ -476,7 +476,7 @@ msgstr "" " -U, --undefine=3DNAMN ta bort inbyggt makro\n" " -s, --synclines generera `#line NNN \"FIL\"' rader\n" =20 -#: src/main.c:128 +#: src/main.c:119 #, fuzzy msgid "" "\n" @@ -490,7 +490,7 @@ msgstr "" " -H, --hashsize=3DPRIMTAL s=E4tt storlek p=E5 symboltabellen\n" " -L, --nesting-limit=3DANTAL =E4ndra artificiell n=E4stningsniv=E5\= n" =20 -#: src/main.c:134 +#: src/main.c:125 msgid "" "\n" "Frozen state files:\n" @@ -502,7 +502,7 @@ msgstr "" " -F, --freeze-state=3DFIL spara fryst tillst=E5nd i FIL vid avsl= ut\n" " -R, --reload-state=3DFIL l=E4s fryst tillst=E5nd fr=E5n FIL vid= start\n" =20 -#: src/main.c:140 +#: src/main.c:131 msgid "" "\n" "Debugging:\n" @@ -517,10 +517,9 @@ msgstr "" " (inga FLAGGOR tolkas som \"aeq\")\n" " -t, --trace=3DNAMN sp=E5ra NAMN n=E4r den blir definierad= \n" " -l, --arglength=3DANTAL begr=E4nsa makrosp=E5rningsstorleken\n= " -" -o, --error-output=3DFIL avled fels=F6knings och sp=E5rutskrift= er till " -"FIL\n" +" -o, --error-output=3DFIL avled fels=F6knings och sp=E5rutskrift= er till FIL\n" =20 -#: src/main.c:148 +#: src/main.c:139 msgid "" "\n" "FLAGS is any of:\n" @@ -550,7 +549,7 @@ msgstr "" " i visa byten av infil\n" " V f=F6rkortning f=F6r alla ovanst=E5ende flaggor\n" =20 -#: src/main.c:163 +#: src/main.c:154 msgid "" "\n" "If no FILE or if FILE is `-', standard input is read.\n" @@ -558,7 +557,7 @@ msgstr "" "\n" "Om ingen FIL anges eller om FIL =E4r `-', s=E5 l=E4ses standard in.\n" =20 -#: src/main.c:168 +#: src/main.c:159 msgid "" "\n" "Report bugs to .\n" @@ -567,30 +566,30 @@ msgstr "" "Rapportera fel till .\n" "Rapportera fel p=E5 =F6vers=E4ttningen till .\n" =20 -#: src/main.c:319 +#: src/main.c:310 #, c-format msgid "failed to add search directory `%s'" msgstr "" =20 -#: src/main.c:323 +#: src/main.c:314 #, c-format msgid "failed to add search directory `%s': %s" msgstr "" =20 -#: src/main.c:352 +#: src/main.c:343 #, c-format msgid "Bad debug flags: `%s'" msgstr "Ok=E4nd fels=F6kningsflagga \"%s\"" =20 -#: src/main.c:380 +#: src/main.c:371 msgid "Written by Rene' Seindal and Gary V. Vaughan.\n" msgstr "" =20 -#: src/main.c:383 +#: src/main.c:374 msgid "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc= =2E" msgstr "" =20 -#: src/main.c:386 +#: src/main.c:377 msgid "" "This is free software; see the source for copying conditions. There is= NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURP= OSE.\n" --------------010200040501040009020105-- From MAILER-DAEMON Thu Sep 11 03:53:40 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xMGj-0007DI-Ma for mharc-m4-patches@gnu.org; Thu, 11 Sep 2003 03:53:33 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xMAA-0004U5-Fg for m4-patches@gnu.org; Thu, 11 Sep 2003 03:46:46 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xM2G-0002dK-O8 for m4-patches@gnu.org; Thu, 11 Sep 2003 03:38:37 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.22) id 19xM1v-0002a9-NT; Thu, 11 Sep 2003 03:38:15 -0400 Received: from [62.212.115.149] (helo=elf.meyering.net) by mx20.gnu.org with esmtp (Exim 4.22) id 19xLqE-0007f9-R5; Thu, 11 Sep 2003 03:26:11 -0400 Received: by elf.meyering.net (Acme Bit-Twister, from userid 1002) id D3F42416A; Thu, 11 Sep 2003 09:26:05 +0200 (CEST) To: "Gary V. Vaughan" In-Reply-To: <3F58729D.8090406@gnu.org> (Gary V. Vaughan's message of "Fri, 05 Sep 2003 12:25:17 +0100") References: <3F572500.308@gnu.org> <3F586FCE.6050507@gnu.org> <3F58729D.8090406@gnu.org> From: Jim Meyering Date: Thu, 11 Sep 2003 09:26:05 +0200 Message-ID: <85llsvu6pe.fsf@pi.meyering.net> Lines: 10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailman-Approved-At: Thu, 11 Sep 2003 03:53:31 -0400 Cc: m4-patches@gnu.org, autoconf-patches@gnu.org, Akim Demaille Subject: Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Sep 2003 07:49:40 -0000 "Gary V. Vaughan" wrote: > Index: lib/Autom4te/FileUtils.pm ... > @@ -153,6 +153,7 @@ sub update_file ($$) > { > # File didn't change, so don't update its mod time. > msg 'note', "`$to' is unchanged"; > + unlink ($from) || fatal "cannot not remove $from: $!"; Too many `not's there :-) From MAILER-DAEMON Thu Sep 11 12:39:52 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xUU0-00065y-AC for mharc-m4-patches@gnu.org; Thu, 11 Sep 2003 12:39:48 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xUTu-00064q-8v for m4-patches@gnu.org; Thu, 11 Sep 2003 12:39:42 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xUTn-00063t-QJ for m4-patches@gnu.org; Thu, 11 Sep 2003 12:39:37 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19xUTm-00063M-Q2 for m4-patches@gnu.org; Thu, 11 Sep 2003 12:39:34 -0400 Received: (qmail 2019 invoked from network); 11 Sep 2003 17:05:40 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 11 Sep 2003 17:05:40 -0000 Received: (qmail 17083 invoked from network); 11 Sep 2003 16:42:35 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 11 Sep 2003 16:42:35 -0000 Message-ID: <3F60A616.1010801@gnu.org> Date: Thu, 11 Sep 2003 17:43:02 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------070007010008070409060604" Subject: FYI: 60-gary-gnulib-xalloc-import2.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Sep 2003 16:39:46 -0000 This is a multi-part message in MIME format. --------------070007010008070409060604 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------070007010008070409060604 Content-Type: text/plain; name="60-gary-gnulib-xalloc-import2.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="60-gary-gnulib-xalloc-import2.patch" Index: ChangeLog from Gary V. Vaughan Reimport the latest xalloc module from CVS gnulib, and adjust the m4 sources to take advantage of xalloc xfree. Also create a new macro DELETE with the same semantics as the old m4 XFREE macro, and carefully tweak callers: * gnulib/config/xalloc.m4, gnulib/m4/xalloc.h: Updated from CVS gnulib. * m4/utility.c (xfree): Removed. This function is now supplied by gnulib xalloc. * m4/m4private.h (WITH_DMALLOC): Removed XFREE redefine. * m4/path.c (search_path_add): Use NEW macro from xalloc.h. * m4/symtab.c (m4_symtab_create): Ditto. * m4/system_.h: Removed XFREE redefine. (DELETE): New macro with same functionality as the original m4 XFREE macro, but based on xalloc.h now. Changed all callers. * src/main.c (main): Use XMALLOC macro. * m4/hash.c, m4/macro.c, m4/symtab.c, m4/syntax.c: Use xfree instead of XFREE. * m4/output.c (m4_output_exit): Use DELETE instead of XFREE. Index: gnulib/config/xalloc.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/config/xalloc.m4,v retrieving revision 1.1 diff -u -p -u -r1.1 xalloc.m4 --- gnulib/config/xalloc.m4 10 Sep 2003 17:12:02 -0000 1.1 +++ gnulib/config/xalloc.m4 11 Sep 2003 16:36:41 -0000 @@ -1,4 +1,4 @@ -# xalloc.m4 serial 2 +# xalloc.m4 serial 3 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General @@ -8,6 +8,7 @@ dnl the same distribution terms as the r =20 AC_DEFUN([gl_XALLOC], [ + AC_REQUIRE([AC_C_INLINE]) gl_PREREQ_XMALLOC gl_PREREQ_XSTRDUP ]) Index: gnulib/m4/xalloc.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/m4/xalloc.h,v retrieving revision 1.1 diff -u -p -u -r1.1 xalloc.h --- gnulib/m4/xalloc.h 10 Sep 2003 17:12:02 -0000 1.1 +++ gnulib/m4/xalloc.h 11 Sep 2003 16:36:41 -0000 @@ -21,6 +21,7 @@ # define XALLOC_H_ =20 # include +# include =20 # ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 8) || __STR= ICT_ANSI__ @@ -61,11 +62,13 @@ char *xstrdup (const char *str); # define NEW(Type, Var) Type *(Var) =3D XMALLOC (Type, 1) =20 /* Free VAR only if non NULL. */ -# define XFREE(Var) \ - do { \ - if (Var) \ - free (Var); \ - } while (0) +# define XFREE(Var) xfree (Var) +static inline void +xfree (void *p) +{ + if (p) + free (p); +} =20 /* Return a pointer to a malloc'ed copy of the array SRC of NUM elements= =2E */ # define CCLONE(Src, Num) \ Index: m4/hash.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/hash.c,v retrieving revision 1.12 diff -u -p -u -r1.12 hash.c --- m4/hash.c 27 Aug 2003 17:10:12 -0000 1.12 +++ m4/hash.c 11 Sep 2003 16:36:41 -0000 @@ -134,8 +134,8 @@ m4_hash_delete (m4_hash *hash) for (i =3D 0; i < HASH_SIZE (hash); ++i) if (BUCKET_NTH (hash, i)) bucket_delete (hash, i); - XFREE (HASH_BUCKETS (hash)); - XFREE (hash); + xfree (HASH_BUCKETS (hash)); + xfree (hash); } =20 /* Check that the nodes in bucket I have been cleared, and recycle @@ -354,7 +354,7 @@ m4_hash_resize (m4_hash *hash, size_t si bucket_insert (hash, original_buckets[i]); } =20 - XFREE (original_buckets); + xfree (original_buckets); } #endif =20 @@ -385,7 +385,7 @@ maybe_grow (m4_hash *hash) bucket_insert (hash, original_buckets[i]); } =20 - XFREE (original_buckets); + xfree (original_buckets); } } =20 @@ -484,7 +484,7 @@ m4_get_hash_iterator_next (const m4_hash /* If there are no more nodes to return, recycle the iterator memory. = */ if (! (ITERATOR_PLACE (place) || ITERATOR_NEXT (place))) { - XFREE (place); + xfree (place); return 0; } =20 Index: m4/m4private.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/m4private.h,v retrieving revision 1.37 diff -u -p -u -r1.37 m4private.h --- m4/m4private.h 10 Sep 2003 17:12:02 -0000 1.37 +++ m4/m4private.h 11 Sep 2003 16:36:43 -0000 @@ -159,7 +159,7 @@ struct m4_symbol_value { # define m4_set_symbol_traced(S, V) ((S)->traced =3D (V)) =20 # define m4_symbol_value_create() (XCALLOC (m4_symbol_value, 1)) -# define m4_symbol_value_delete(V) (XFREE (V)) +# define m4_symbol_value_delete(V) (DELETE (V)) =20 # define m4_is_symbol_value_text(V) ((V)->type =3D=3D M4_SYMBOL_TEXT) # define m4_is_symbol_value_func(V) ((V)->type =3D=3D M4_SYMBOL_FUNC) @@ -284,11 +284,6 @@ struct m4__search_path_info { #if WITH_DMALLOC # define DMALLOC_FUNC_CHECK # include - -/* Dmalloc expects us to use a void returning xfree. */ -# undef XFREE -# define XFREE(p) (xfree (p)) - #endif /* WITH_DMALLOC */ =20 /* Other debug stuff. */ Index: m4/macro.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/macro.c,v retrieving revision 1.40 diff -u -p -u -r1.40 macro.c --- m4/macro.c 5 Sep 2003 18:32:26 -0000 1.40 +++ m4/macro.c 11 Sep 2003 16:36:43 -0000 @@ -120,7 +120,7 @@ expand_token (m4 *context, m4_obstack *o abort (); } =20 - XFREE (text); + xfree (text); } =0C =20 Index: m4/output.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/output.c,v retrieving revision 1.15 diff -u -p -u -r1.15 output.c --- m4/output.c 27 Aug 2003 17:10:12 -0000 1.15 +++ m4/output.c 11 Sep 2003 16:36:43 -0000 @@ -124,7 +124,7 @@ void m4_output_exit (void) { assert (diversions =3D 1); - XFREE (diversion_table); + DELETE (diversion_table); } =20 =20 Index: m4/path.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/path.c,v retrieving revision 1.8 diff -u -p -u -r1.8 path.c --- m4/path.c 27 Aug 2003 17:10:12 -0000 1.8 +++ m4/path.c 11 Sep 2003 16:36:43 -0000 @@ -50,12 +50,11 @@ static void search_path_env_init (m4__se static void search_path_add (m4__search_path_info *info, const char *dir) { - m4__search_path *path; + NEW (m4__search_path, path); =20 if (*dir =3D=3D '\0') dir =3D "."; =20 - path =3D XMALLOC (m4__search_path, 1); path->next =3D NULL; path->len =3D strlen (dir); path->dir =3D xstrdup (dir); Index: m4/symtab.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/symtab.c,v retrieving revision 1.45 diff -u -p -u -r1.45 symtab.c --- m4/symtab.c 27 Aug 2003 17:10:12 -0000 1.45 +++ m4/symtab.c 11 Sep 2003 16:36:45 -0000 @@ -67,7 +67,7 @@ static void * arg_copy_CB (m4_hash *s m4_symbol_table * m4_symtab_create (size_t size, bool *nuke_trace_bit) { - m4_symbol_table *symtab =3D XMALLOC (m4_symbol_table, 1); + NEW (m4_symbol_table, symtab); =20 symtab->table =3D m4_hash_new (size ? size : M4_SYMTAB_DEFAULT_SIZE, m4_hash_string_hash, m4_hash_string_cmp); @@ -163,7 +163,7 @@ m4__symtab_remove_module_references (m4_ =20 if (next->type =3D=3D M4_SYMBOL_TEXT) xfree (m4_get_symbol_value_text (next)); - XFREE (next); + xfree (next); } else data =3D next; @@ -280,7 +280,7 @@ m4_symbol_popdef (m4_symbol_table *symta if (!m4_get_symbol_value (*psymbol)) if (*symtab->nuke_trace_bit || !m4_get_symbol_traced (*psymbol)) { - XFREE (*psymbol); + DELETE (*psymbol); xfree (m4_hash_remove (symtab->table, name)); } } @@ -306,7 +306,7 @@ symbol_popval (m4_symbol *symbol) } if (m4_is_symbol_value_text (stale)) xfree (m4_get_symbol_value_text (stale)); - XFREE (stale); + xfree (stale); } } =20 @@ -321,7 +321,7 @@ arg_destroy_CB (m4_hash *hash, const voi assert (hash); =20 if (SYMBOL_ARG_DEFAULT (token_arg)) - XFREE (SYMBOL_ARG_DEFAULT (token_arg)); + DELETE (SYMBOL_ARG_DEFAULT (token_arg)); xfree (token_arg); xfree (m4_hash_remove (hash, (const char *) name)); =20 Index: m4/syntax.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/syntax.c,v retrieving revision 1.8 diff -u -p -u -r1.8 syntax.c --- m4/syntax.c 27 Aug 2003 17:10:12 -0000 1.8 +++ m4/syntax.c 11 Sep 2003 16:36:45 -0000 @@ -151,10 +151,10 @@ m4_syntax_delete (m4_syntax_table *synta { assert (syntax); =20 - XFREE (syntax->lquote.string); - XFREE (syntax->rquote.string); - XFREE (syntax->bcomm.string); - XFREE (syntax->ecomm.string); + xfree (syntax->lquote.string); + xfree (syntax->rquote.string); + xfree (syntax->bcomm.string); + xfree (syntax->ecomm.string); xfree (syntax); } =20 Index: m4/system_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/system_.h,v retrieving revision 1.3 diff -u -p -u -r1.3 system_.h --- m4/system_.h 10 Sep 2003 17:12:02 -0000 1.3 +++ m4/system_.h 11 Sep 2003 16:36:45 -0000 @@ -153,11 +153,8 @@ BEGIN_C_DECLS #endif =20 =0C -/* FIXME: macros to ease transition to gnulib xalloc.h API */ -#undef XFREE -#define XFREE(Var) ((Var) =3D xfree (Var)) +#define DELETE(Expr) ((Expr) =3D (xfree (Expr), (void *) 0)) =20 -extern void *xfree (void *stale); extern char *xstrzdup (const char *string, size_t len); =20 END_C_DECLS Index: m4/utility.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/utility.c,v retrieving revision 1.39 diff -u -p -u -r1.39 utility.c --- m4/utility.c 10 Sep 2003 17:12:02 -0000 1.39 +++ m4/utility.c 11 Sep 2003 16:36:45 -0000 @@ -104,12 +104,3 @@ m4_dump_args (m4 *context, m4_obstack *o } } =20 -/* FIXME: merge xfree into gnulib. */ -/* Don't free NULL pointers. */ -void * -xfree (void *stale) -{ - if (stale) - free (stale); - return 0; -} Index: src/main.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/src/main.c,v retrieving revision 1.51 diff -u -p -u -r1.51 main.c --- src/main.c 9 Sep 2003 17:15:35 -0000 1.51 +++ src/main.c 11 Sep 2003 16:36:46 -0000 @@ -268,7 +268,7 @@ main (int argc, char *const *argv, char=20 case 'm': /* Arguments that cannot be handled until later are accumulated. */ =20 - new =3D (macro_definition *) xmalloc (sizeof (macro_definition)); + new =3D XMALLOC (macro_definition, 1); new->code =3D optchar; new->macro =3D optarg; new->next =3D NULL; @@ -419,7 +419,7 @@ warranty; not even for MERCHANTABILITY o =20 for (env =3D envp; *env !=3D NULL; env++) { - new =3D (macro_definition *) xmalloc (sizeof (macro_definition)); + new =3D XMALLOC (macro_definition, 1); new->code =3D 'D'; new->macro =3D *env; new->next =3D head; Index: src/stackovf.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/src/stackovf.c,v retrieving revision 1.11 diff -u -p -u -r1.11 stackovf.c --- src/stackovf.c 27 Aug 2003 17:10:13 -0000 1.11 +++ src/stackovf.c 11 Sep 2003 16:36:46 -0000 @@ -414,7 +414,7 @@ Error - Do not know how to catch signals void stackovf_exit (void) { - XFREE ((void *) stackbuf); + DELETE ((void *) stackbuf); } =20 #endif /* USE_STACKOVF */ --------------070007010008070409060604-- From MAILER-DAEMON Thu Sep 11 16:46:32 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xYKl-0004ak-NP for mharc-m4-patches@gnu.org; Thu, 11 Sep 2003 16:46:31 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xYGE-0002rD-VI for m4-patches@gnu.org; Thu, 11 Sep 2003 16:41:50 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xYG8-0002mw-CR for m4-patches@gnu.org; Thu, 11 Sep 2003 16:41:45 -0400 Received: from [66.111.4.26] (helo=mail.messagingengine.com) by monty-python.gnu.org with esmtp (Exim 4.22) id 19xYG5-0002kq-01; Thu, 11 Sep 2003 16:41:41 -0400 Received: from mail.messagingengine.com (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id DC8611BF285; Thu, 11 Sep 2003 16:41:39 -0400 (EDT) Received: from 10.202.2.150 ([10.202.2.150] helo=mail.messagingengine.com) by messagingengine.com with SMTP; Thu, 11 Sep 2003 16:41:39 -0400 X-Epoch: 1063312899 X-Sasl-enc: YeBu9ZrTw9zzEvC3yRS1mg Received: from gnu.org (oranda.demon.co.uk [194.222.82.6]) by mail.messagingengine.com (Postfix) with ESMTP id 74F641BF28B; Thu, 11 Sep 2003 16:41:36 -0400 (EDT) Date: Thu, 11 Sep 2003 21:43:10 +0100 Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v552) To: Jim Meyering From: Gary V.Vaughan In-Reply-To: <85llsvu6pe.fsf@pi.meyering.net> Message-Id: <8E85875C-E498-11D7-857D-000393D63F80@gnu.org> Content-Transfer-Encoding: 7bit X-Mailer: Apple Mail (2.552) Cc: m4-patches@gnu.org, autoconf-patches@gnu.org, Akim Demaille Subject: Re: FYI: 50-gary-work-around-cvs-autoreconf-aclocal-m4t-bug.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Sep 2003 20:46:30 -0000 On Thursday, September 11, 2003, at 08:26 am, Jim Meyering wrote: > "Gary V. Vaughan" wrote: >> Index: lib/Autom4te/FileUtils.pm > ... >> @@ -153,6 +153,7 @@ sub update_file ($$) >> { >> # File didn't change, so don't update its mod time. >> msg 'note', "`$to' is unchanged"; >> + unlink ($from) || fatal "cannot not remove $from: $!"; > > Too many `not's there :-) To quick with a cut n paste from a few lines above! :-/ Akim has fixed all the multiple negative typos now though. Cheers, Gary. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ From MAILER-DAEMON Thu Sep 11 20:10:23 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xbW3-00060q-7K for mharc-m4-patches@gnu.org; Thu, 11 Sep 2003 20:10:23 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xbGr-0002ic-Uo for m4-patches@gnu.org; Thu, 11 Sep 2003 19:54:41 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xbFv-0002Bs-Vg for m4-patches@gnu.org; Thu, 11 Sep 2003 19:53:44 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.22) id 19xbFM-0001au-I7 for m4-patches@gnu.org; Thu, 11 Sep 2003 19:53:08 -0400 Received: from [66.111.4.26] (helo=mail.messagingengine.com) by mx20.gnu.org with esmtp (Exim 4.22) id 19xbEg-0004Xg-TW for m4-patches@gnu.org; Thu, 11 Sep 2003 19:52:26 -0400 Received: from mail.messagingengine.com (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id 64FDA1BFFA2 for ; Thu, 11 Sep 2003 19:52:26 -0400 (EDT) Received: from 10.202.2.150 ([10.202.2.150] helo=mail.messagingengine.com) by messagingengine.com with SMTP; Thu, 11 Sep 2003 19:52:26 -0400 X-Epoch: 1063324346 X-Sasl-enc: TDyAyQEgPHuohGpukMi+vw Received: from gnu.org (oranda.demon.co.uk [194.222.82.6]) by mail.messagingengine.com (Postfix) with ESMTP id 0420E1C003E for ; Thu, 11 Sep 2003 19:52:25 -0400 (EDT) Date: Fri, 12 Sep 2003 00:54:00 +0100 Mime-Version: 1.0 (Apple Message framework v552) Content-Type: multipart/mixed; boundary=Apple-Mail-17--882105805 From: Gary V.Vaughan To: m4-patches@gnu.org Message-Id: <36D23AD4-E4B3-11D7-857D-000393D63F80@gnu.org> X-Mailer: Apple Mail (2.552) Subject: FYI: 61-gary-gnulib-xstrndup-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 00:10:21 -0000 --Apple-Mail-17--882105805 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Applied to HEAD. --Apple-Mail-17--882105805 Content-Disposition: attachment; filename=61-gary-gnulib-xstrndup-import.patch Content-Transfer-Encoding: 7bit Content-Type: application/octet-stream; x-unix-mode=0644; name="61-gary-gnulib-xstrndup-import.patch" --Apple-Mail-17--882105805 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --Apple-Mail-17--882105805-- From MAILER-DAEMON Fri Sep 12 03:57:35 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xioB-0006dS-Nr for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 03:57:35 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xio8-0006cE-IC for m4-patches@gnu.org; Fri, 12 Sep 2003 03:57:32 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xio6-0006bO-Oc for m4-patches@gnu.org; Fri, 12 Sep 2003 03:57:31 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.22) id 19ximn-0005UE-HP for m4-patches@gnu.org; Fri, 12 Sep 2003 03:56:09 -0400 Received: from [163.5.255.10] (helo=epita.fr) by mx20.gnu.org with esmtp (Exim 4.22) id 19xiew-0000OS-Cg for m4-patches@gnu.org; Fri, 12 Sep 2003 03:48:02 -0400 Received: from kualalumpur.lrde.epita.fr (kualalumpur.lrde.epita.fr [10.223.13.1]) by epita.fr id h8C7m0M09850 Fri, 12 Sep 2003 09:48:00 +0200 (CEST) Received: from nostromo.lrde.epita.fr ([10.223.13.52] ident=mail) by kualalumpur.lrde.epita.fr with esmtp (Exim 3.35 #1 (Debian)) id 19xifa-0000HQ-00; Fri, 12 Sep 2003 09:48:42 +0200 Received: from akim by nostromo.lrde.epita.fr with local (Exim 3.36 #1 (Debian)) id 19xifZ-000164-00; Fri, 12 Sep 2003 09:48:41 +0200 To: M4 Patches From: Akim Demaille Date: Fri, 12 Sep 2003 09:48:41 +0200 Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Akim Demaille Cc: Paul Eggert Subject: The next GNU M4 X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 07:57:33 -0000 Hi Gary, I can see that 1.5 is coming, so I'd like to express a few wishes if I may. Maybe Paul will also want to say something. My first request would be not to release the ERE builtins I installed some time ago in M4, because since then it became clearer that we need to find a means to address the underquotation issue first. I think it would be better to have just two sets of builtins (ERE and quoting vs. BRE and underquoting) than four. There are also issues with hardquotes, yet another future feature, since patsubst([[]], [.$]) should result in a _quoted_ bracket, certainly not a live begin-quotation. And this cannot be addressed by the sole quotation mechanism. The other issue is related to the include path. Currently `.' is scanned first and always. This is bad for some applications. For instance, Bison uses M4, and some of the M4 files m4_include other M4 files, such as c.m4. Paul, in case someone might have a c.m4 in the current directory, went into all sorts of troubles to hardwire the paths, so now c.m4 is /usr/local/share/bison/c.m4... Unfortunately this also means we completely lost a useful flexibility: today users cannot use their own skeletons, unless installed in Bison's own directory. What would be needed is a means to fully reset the include path, and define it from scratch. Something like "-I -" maybe. One must be able to specify when `.' is tried. An alternative is to add --prepend-include, just as autom4te does [1]. Library directories: -B, --prepend-include=DIR prepend directory DIR to search path -I, --include=DIR append directory DIR to search path Thanks! [1] By the way, for the same reason as bison does not trust m4 for the include path, autom4te does not trust m4 and provides it _only_ with absolute paths. But because we cannot educate m4_include that will look into `.' first, we have to surrender, and as m4, for consistency we have to consider `.' first :( # If we find frozen files, then all the files before it are # discarded: the frozen file is supposed to include them all. # # We don't want to depend upon m4's --include to find the top level # files, so we use `find_file' here. Try to get a canonical name, # as it's part of the key for caching. And some files are optional # (also handled by `find_file'). my @argv; foreach (@ARGV) { if (/\.m4f$/) { # Frozen files are optional => pass a `?' to `find_file'. my $file = find_file ("$_?", @include); if (!$melt && $file) { @argv = ($file); } else { s/\.m4f$/.m4/; push @argv, find_file ($_, @include); } } else { my $file = find_file ($_, @include); push @argv, $file if $file; } } @ARGV = @argv; ---------------------------------------------------------------------- =item C Return the first path for a C<$filename> in the Cs. We match exactly the behavior of GNU M4: first look in the current directory (which includes the case of absolute file names), and, if the file is not absolute, just fail. Otherwise, look in C<@include>. If the file is flagged as optional (ends with C), then return undef if absent, otherwise exit with error. =cut # $FILENAME # find_file ($FILENAME, @INCLUDE) # ------------------------------- sub find_file ($@) { use File::Spec; my ($filename, @include) = @_; my $optional = 0; $optional = 1 if $filename =~ s/\?$//; return File::Spec->canonpath ($filename) if -e $filename; if (File::Spec->file_name_is_absolute ($filename)) { fatal "$filename: no such file or directory" unless $optional; return undef; } foreach my $path (@include) { return File::Spec->canonpath (File::Spec->catfile ($path, $filename)) if -e File::Spec->catfile ($path, $filename) } fatal "$filename: no such file or directory" unless $optional; return undef; } From MAILER-DAEMON Fri Sep 12 04:21:02 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xivn-0002AA-Fl for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 04:05:27 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xivk-00025x-CE for m4-patches@gnu.org; Fri, 12 Sep 2003 04:05:24 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xiuz-0000l5-D6 for m4-patches@gnu.org; Fri, 12 Sep 2003 04:05:02 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.22) id 19ximl-0005UE-Tu for m4-patches@gnu.org; Fri, 12 Sep 2003 03:56:08 -0400 Received: from [66.111.4.26] (helo=mail.messagingengine.com) by mx20.gnu.org with esmtp (Exim 4.22) id 19ximf-0001FI-1U for m4-patches@gnu.org; Fri, 12 Sep 2003 03:56:01 -0400 Received: from mail.messagingengine.com (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id F0BC81C1A01 for ; Fri, 12 Sep 2003 03:55:59 -0400 (EDT) Received: from 10.202.2.150 ([10.202.2.150] helo=mail.messagingengine.com) by messagingengine.com with SMTP; Fri, 12 Sep 2003 03:56:00 -0400 X-Epoch: 1063353360 X-Sasl-enc: qJg1Uyjm6rnP61Hu4zC5BQ Received: from gnu.org (oranda.demon.co.uk [194.222.82.6]) by mail.messagingengine.com (Postfix) with ESMTP id 713421BA2FB for ; Fri, 12 Sep 2003 03:55:55 -0400 (EDT) Date: Fri, 12 Sep 2003 08:57:28 +0100 Content-Type: multipart/mixed; boundary=Apple-Mail-19--853096961 Mime-Version: 1.0 (Apple Message framework v552) From: Gary V.Vaughan To: m4-patches@gnu.org In-Reply-To: <36D23AD4-E4B3-11D7-857D-000393D63F80@gnu.org> Message-Id: X-Mailer: Apple Mail (2.552) Subject: Re: FYI: 61-gary-gnulib-xstrndup-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 08:05:26 -0000 --Apple-Mail-19--853096961 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On Friday, September 12, 2003, at 12:54 am, Gary V.Vaughan wrote: > Applied to HEAD. Let's try that attachment again... --Apple-Mail-19--853096961 Content-Disposition: attachment; filename=61-gary-gnulib-xstrndup-import.patch Content-Transfer-Encoding: quoted-printable Content-Type: application/octet-stream; x-unix-mode=0644; name="61-gary-gnulib-xstrndup-import.patch" Index:=20ChangeLog=0Afrom=20=20Gary=20V.=20Vaughan=20=20=0A= =0A=09Replace=20the=20xstrzdup=20code=20by=20importing=20the=20xstrndup=20= module=20from=0A=09CVS=20gnulib,=20along=20with=20its=20dependencies:=20= strndup=20and=20strnlen:=0A=0A=09*=20gnulib/m4/xstrndup.c,=20= gnulib/m4/xstrndup.h,=0A=09gnulib/config/xstrndup.m4:=20Import=20= xstrndup=20module=20from=20CVS=0A=09gnulib.=0A=09*=20= gnulib/m4/strndup.c,=20gnulib/m4/strndup.h,=0A=09= gnulib/config/strndup.m4:=20Ditto=20wrt=20strndup.=0A=09*=20= gnulib/m4/strnlen.c,=20gnulib/config/strnlen.m4:=20Ditto=20wrt=0A=09= strnlen.=0A=09*=20gnulib/m4/Makefile.am:=20Add=20rules=20from=20newly=20= imported=20modules.=0A=09However,=20contrary=20to=20gnulib,=20we=20= install=20xstrndup.h.=0A=09*=20configure.ac=20(AC_REPLACE_FUNCS):=20= Remove=20xstrzdup.=0A=09*=20gnulib/lib/xstrzdup.c:=20Delete.=20=20This=20= was=20never=20a=20gnulib=20file,=20it=0A=09is=20an=20artifact=20of=20the=20= old=20m4=20portability=20layer.=0A=09*=20configure.ac=20(gl_XSTRNDUP):=20= This=20is=20the=20gnulib=20equivalent.=0A=09*=20m4/system_.h:=20Include=20= xstrndup.h.=0A=09*=20m4/macro.c=20(process_macro):=20Call=20xstrndup,=20= not=20xstrzdup.=0A=0AIndex:=20configure.ac=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= /cvsroot/m4/m4/configure.ac,v=0Aretrieving=20revision=201.19=0Adiff=20-u=20= -p=20-u=20-r1.19=20configure.ac=0A---=20configure.ac=2010=20Sep=202003=20= 17:12:02=20-0000=201.19=0A+++=20configure.ac=2011=20Sep=202003=20= 23:50:21=20-0000=0A@@=20-178,13=20+178,14=20@@=20= AC_SUBST([INCLUDE_STDBOOL_H])=0A=20##=20Library=20functions=20required=20= by=20M4.=20##=0A=20##=20---------------------------------=20##=0A=20= AC_CHECK_FUNCS(bzero=20calloc=20mkstemp=20mktemp=20strerror=20tmpfile)=0A= -AC_REPLACE_FUNCS(strtol=20xstrzdup)=0A+AC_REPLACE_FUNCS(strtol)=0A=20= AC_FUNC_ALLOCA=0A=20AC_FUNC_VPRINTF=0A=20=0A=20AM_WITH_DMALLOC=0A=20=0A=20= gl_XALLOC=0A+gl_XSTRNDUP=0A=20m4_ERROR=0A=20m4_OBSTACK=0A=20= m4_SYS_STACKOVF=0AIndex:=20gnulib/config/strndup.m4=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/config/strndup.m4=0Adiff=20-N=20gnulib/config/strndup.m4=0A---=20= /dev/null=091=20Jan=201970=2000:00:00=20-0000=0A+++=20= gnulib/config/strndup.m4=2011=20Sep=202003=2023:50:21=20-0000=0A@@=20= -0,0=20+1,25=20@@=0A+#=20strndup.m4=20serial=202=0A+dnl=20Copyright=20= (C)=202002,=202003=20Free=20Software=20Foundation,=20Inc.=0A+dnl=20This=20= file=20is=20free=20software,=20distributed=20under=20the=20terms=20of=20= the=20GNU=0A+dnl=20General=20Public=20License.=20=20As=20a=20special=20= exception=20to=20the=20GNU=20General=0A+dnl=20Public=20License,=20this=20= file=20may=20be=20distributed=20as=20part=20of=20a=20program=0A+dnl=20= that=20contains=20a=20configuration=20script=20generated=20by=20= Autoconf,=20under=0A+dnl=20the=20same=20distribution=20terms=20as=20the=20= rest=20of=20that=20program.=0A+=0A+AC_DEFUN([gl_FUNC_STRNDUP],=0A+[=0A+=20= =20dnl=20Persuade=20glibc=20=20to=20declare=20strndup().=0A+=20= =20AC_REQUIRE([AC_GNU_SOURCE])=0A+=0A+=20=20AC_REPLACE_FUNCS(strndup)=0A= +=20=20if=20test=20$ac_cv_func_strndup=20=3D=20no;=20then=0A+=20=20=20=20= gl_PREREQ_STRNDUP=0A+=20=20fi=0A+])=0A+=0A+#=20Prerequisites=20of=20= lib/strndup.c.=0A+AC_DEFUN([gl_PREREQ_STRNDUP],=20[=0A+=20=20= AC_REQUIRE([gl_FUNC_STRNLEN])=0A+=20=20AC_CHECK_DECLS(strnlen)=0A+])=0A+=0A= Index:=20gnulib/config/strnlen.m4=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/config/strnlen.m4=0Adiff=20-N=20gnulib/config/strnlen.m4=0A---=20= /dev/null=091=20Jan=201970=2000:00:00=20-0000=0A+++=20= gnulib/config/strnlen.m4=2011=20Sep=202003=2023:50:21=20-0000=0A@@=20= -0,0=20+1,27=20@@=0A+#=20strnlen.m4=20serial=203=0A+dnl=20Copyright=20= (C)=202002-2003=20Free=20Software=20Foundation,=20Inc.=0A+dnl=20This=20= file=20is=20free=20software,=20distributed=20under=20the=20terms=20of=20= the=20GNU=0A+dnl=20General=20Public=20License.=20=20As=20a=20special=20= exception=20to=20the=20GNU=20General=0A+dnl=20Public=20License,=20this=20= file=20may=20be=20distributed=20as=20part=20of=20a=20program=0A+dnl=20= that=20contains=20a=20configuration=20script=20generated=20by=20= Autoconf,=20under=0A+dnl=20the=20same=20distribution=20terms=20as=20the=20= rest=20of=20that=20program.=0A+=0A+AC_DEFUN([gl_FUNC_STRNLEN],=0A+[=0A+=20= =20dnl=20Persuade=20glibc=20=20to=20declare=20strnlen().=0A+=20= =20AC_REQUIRE([AC_GNU_SOURCE])=0A+=0A+=20=20AC_FUNC_STRNLEN=0A+=20=20if=20= test=20$ac_cv_func_strnlen_working=20=3D=20no;=20then=0A+=20=20=20=20#=20= This=20is=20necessary=20because=20automake-1.6.1=20doens't=20understand=0A= +=20=20=20=20#=20that=20the=20above=20use=20of=20AC_FUNC_STRNLEN=20means=20= we=20may=20have=20to=20use=0A+=20=20=20=20#=20lib/strnlen.c.=0A+=20=20=20= =20#AC_LIBOBJ(strnlen)=0A+=20=20=20=20AC_DEFINE(strnlen,=20rpl_strnlen,=0A= +=20=20=20=20=20=20[Define=20to=20rpl_strnlen=20if=20the=20replacement=20= function=20should=20be=20used.])=0A+=20=20=20=20gl_PREREQ_STRNLEN=0A+=20=20= fi=0A+])=0A+=0A+#=20Prerequisites=20of=20lib/strnlen.c.=0A= +AC_DEFUN([gl_PREREQ_STRNLEN],=20[:])=0AIndex:=20= gnulib/config/xstrndup.m4=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/config/xstrndup.m4=0Adiff=20-N=20gnulib/config/xstrndup.m4=0A---=20= /dev/null=091=20Jan=201970=2000:00:00=20-0000=0A+++=20= gnulib/config/xstrndup.m4=2011=20Sep=202003=2023:50:21=20-0000=0A@@=20= -0,0=20+1,17=20@@=0A+#=20xstrndup.m4=20serial=202=0A+dnl=20Copyright=20= (C)=202003=20Free=20Software=20Foundation,=20Inc.=0A+dnl=20This=20file=20= is=20free=20software,=20distributed=20under=20the=20terms=20of=20the=20= GNU=0A+dnl=20General=20Public=20License.=20=20As=20a=20special=20= exception=20to=20the=20GNU=20General=0A+dnl=20Public=20License,=20this=20= file=20may=20be=20distributed=20as=20part=20of=20a=20program=0A+dnl=20= that=20contains=20a=20configuration=20script=20generated=20by=20= Autoconf,=20under=0A+dnl=20the=20same=20distribution=20terms=20as=20the=20= rest=20of=20that=20program.=0A+=0A+AC_DEFUN([gl_XSTRNDUP],=0A+[=0A+=20=20= gl_PREREQ_XSTRNDUP=0A+])=0A+=0A+#=20Prerequisites=20of=20lib/xstrndup.c.=0A= +AC_DEFUN([gl_PREREQ_XSTRNDUP],=20[=0A+=20=20= AC_REQUIRE([gl_FUNC_STRNDUP])=0A+])=0AIndex:=20gnulib/m4/Makefile.am=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= /cvsroot/m4/m4/gnulib/m4/Makefile.am,v=0Aretrieving=20revision=201.5=0A= diff=20-u=20-p=20-u=20-r1.5=20Makefile.am=0A---=20gnulib/m4/Makefile.am=20= 10=20Sep=202003=2017:12:02=20-0000=201.5=0A+++=20gnulib/m4/Makefile.am=20= 11=20Sep=202003=2023:50:21=20-0000=0A@@=20-100,6=20+100,10=20@@=20= stdbool.h:=20$(gnulib_srcdir)/stdbool_.h=0A=20MOSTLYCLEANFILES=20+=3D=20= stdbool.h=20stdbool.h-t=0A=20=0A=20=0A+##=20strndup:=0A= +libgnu_la_SOURCES=20+=3D=20strndup.h=0A+=0A+=0A=20##=20unlocked-io:=0A=20= libgnu_la_SOURCES=20+=3D=20unlocked-io.h=0A=20=0A@@=20-107,3=20+111,7=20= @@=20libgnu_la_SOURCES=20+=3D=20unlocked-io.h=0A=20##=20xalloc=20(not=20= from=20gnulib):=0A=20libgnu_la_SOURCES=20+=3D=20xmalloc.c=20xstrdup.c=0A=20= pkginclude_HEADERS=20+=3D=20xalloc.h=0A+=0A+##=20xstrndup=20(not=20from=20= gnulib)::=0A+libgnu_la_SOURCES=20+=3D=20xstrndup.c=0A+pkginclude_HEADERS=20= +=3D=20xstrndup.h=0AIndex:=20gnulib/m4/strndup.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/m4/strndup.c=0Adiff=20-N=20gnulib/m4/strndup.c=0A---=20/dev/null=09= 1=20Jan=201970=2000:00:00=20-0000=0A+++=20gnulib/m4/strndup.c=2011=20Sep=20= 2003=2023:50:21=20-0000=0A@@=20-0,0=20+1,55=20@@=0A+/*=20Copyright=20(C)=20= 1996,=201997,=201998,=202000,=202003=20Free=20Software=20Foundation,=20= Inc.=0A+=0A+=20=20=20NOTE:=20The=20canonical=20source=20of=20this=20file=20= is=20maintained=20with=20the=20GNU=20C=20Library.=0A+=20=20=20Bugs=20can=20= be=20reported=20to=20bug-glibc@prep.ai.mit.edu.=0A+=0A+=20=20=20This=20= program=20is=20free=20software;=20you=20can=20redistribute=20it=20and/or=20= modify=20it=0A+=20=20=20under=20the=20terms=20of=20the=20GNU=20General=20= Public=20License=20as=20published=20by=20the=0A+=20=20=20Free=20Software=20= Foundation;=20either=20version=202,=20or=20(at=20your=20option)=20any=0A= +=20=20=20later=20version.=0A+=0A+=20=20=20This=20program=20is=20= distributed=20in=20the=20hope=20that=20it=20will=20be=20useful,=0A+=20=20= =20but=20WITHOUT=20ANY=20WARRANTY;=20without=20even=20the=20implied=20= warranty=20of=0A+=20=20=20MERCHANTABILITY=20or=20FITNESS=20FOR=20A=20= PARTICULAR=20PURPOSE.=20=20See=20the=0A+=20=20=20GNU=20General=20Public=20= License=20for=20more=20details.=0A+=0A+=20=20=20You=20should=20have=20= received=20a=20copy=20of=20the=20GNU=20General=20Public=20License=0A+=20=20= =20along=20with=20this=20program;=20if=20not,=20write=20to=20the=20Free=20= Software=20Foundation,=0A+=20=20=20Inc.,=2059=20Temple=20Place=20-=20= Suite=20330,=20Boston,=20MA=2002111-1307,=20USA.=20=20*/=0A+=0A+#ifdef=20= HAVE_CONFIG_H=0A+#=20include=20"config.h"=0A+#endif=0A+=0A+#include=20= =0A+#include=20=0A+=0A+#ifndef=20HAVE_DECL_STRNLEN=0A= +"this=20configure-time=20declaration=20test=20was=20not=20run"=0A= +#endif=0A+#if=20!HAVE_DECL_STRNLEN=0A+size_t=20strnlen=20();=0A+#endif=0A= +=0A+#undef=20__strndup=0A+#undef=20strndup=0A+=0A+#ifndef=20weak_alias=0A= +#=20define=20__strndup=20strndup=0A+#endif=0A+=0A+char=20*=0A+__strndup=20= (const=20char=20*s,=20size_t=20n)=0A+{=0A+=20=20size_t=20len=20=3D=20= strnlen=20(s,=20n);=0A+=20=20char=20*new=20=3D=20malloc=20(len=20+=201);=0A= +=0A+=20=20if=20(new=20=3D=3D=20NULL)=0A+=20=20=20=20return=20NULL;=0A+=0A= +=20=20new[len]=20=3D=20'\0';=0A+=20=20return=20memcpy=20(new,=20s,=20= len);=0A+}=0A+#ifdef=20weak_alias=0A+weak_alias=20(__strndup,=20strndup)=0A= +#endif=0AIndex:=20gnulib/m4/strndup.h=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/m4/strndup.h=0Adiff=20-N=20gnulib/m4/strndup.h=0A---=20/dev/null=09= 1=20Jan=201970=2000:00:00=20-0000=0A+++=20gnulib/m4/strndup.h=2011=20Sep=20= 2003=2023:50:21=20-0000=0A@@=20-0,0=20+1,30=20@@=0A+/*=20Duplicate=20a=20= size-bounded=20string.=0A+=20=20=20Copyright=20(C)=202003=20Free=20= Software=20Foundation,=20Inc.=0A+=0A+=20=20=20This=20program=20is=20free=20= software;=20you=20can=20redistribute=20it=20and/or=20modify=0A+=20=20=20= it=20under=20the=20terms=20of=20the=20GNU=20General=20Public=20License=20= as=20published=20by=0A+=20=20=20the=20Free=20Software=20Foundation;=20= either=20version=202,=20or=20(at=20your=20option)=0A+=20=20=20any=20= later=20version.=0A+=0A+=20=20=20This=20program=20is=20distributed=20in=20= the=20hope=20that=20it=20will=20be=20useful,=0A+=20=20=20but=20WITHOUT=20= ANY=20WARRANTY;=20without=20even=20the=20implied=20warranty=20of=0A+=20=20= =20MERCHANTABILITY=20or=20FITNESS=20FOR=20A=20PARTICULAR=20PURPOSE.=20=20= See=20the=0A+=20=20=20GNU=20General=20Public=20License=20for=20more=20= details.=0A+=0A+=20=20=20You=20should=20have=20received=20a=20copy=20of=20= the=20GNU=20General=20Public=20License=0A+=20=20=20along=20with=20this=20= program;=20if=20not,=20write=20to=20the=20Free=20Software=20Foundation,=0A= +=20=20=20Inc.,=2059=20Temple=20Place=20-=20Suite=20330,=20Boston,=20MA=20= 02111-1307,=20USA.=20=20*/=0A+=0A+#if=20HAVE_STRNDUP=0A+=0A+/*=20Get=20= strndup()=20declaration.=20=20*/=0A+#include=20=0A+=0A+#else=0A= +=0A+#include=20=0A+=0A+/*=20Return=20a=20newly=20allocated=20= copy=20of=20at=20most=20N=20bytes=20of=20STRING.=20=20*/=0A+extern=20= char=20*strndup=20(const=20char=20*string,=20size_t=20n);=0A+=0A+#endif=0A= Index:=20gnulib/m4/strnlen.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/m4/strnlen.c=0Adiff=20-N=20gnulib/m4/strnlen.c=0A---=20/dev/null=09= 1=20Jan=201970=2000:00:00=20-0000=0A+++=20gnulib/m4/strnlen.c=2011=20Sep=20= 2003=2023:50:21=20-0000=0A@@=20-0,0=20+1,48=20@@=0A+/*=20Find=20the=20= length=20of=20STRING,=20but=20scan=20at=20most=20MAXLEN=20characters.=0A= +=20=20=20Copyright=20(C)=201996,=201997,=201998,=202000-2003=20Free=20= Software=20Foundation,=20Inc.=0A+=20=20=20This=20file=20is=20part=20of=20= the=20GNU=20C=20Library.=0A+=0A+=20=20=20This=20program=20is=20free=20= software;=20you=20can=20redistribute=20it=20and/or=20modify=0A+=20=20=20= it=20under=20the=20terms=20of=20the=20GNU=20General=20Public=20License=20= as=20published=20by=0A+=20=20=20the=20Free=20Software=20Foundation;=20= either=20version=202,=20or=20(at=20your=20option)=0A+=20=20=20any=20= later=20version.=0A+=0A+=20=20=20This=20program=20is=20distributed=20in=20= the=20hope=20that=20it=20will=20be=20useful,=0A+=20=20=20but=20WITHOUT=20= ANY=20WARRANTY;=20without=20even=20the=20implied=20warranty=20of=0A+=20=20= =20MERCHANTABILITY=20or=20FITNESS=20FOR=20A=20PARTICULAR=20PURPOSE.=20=20= See=20the=0A+=20=20=20GNU=20General=20Public=20License=20for=20more=20= details.=0A+=0A+=20=20=20You=20should=20have=20received=20a=20copy=20of=20= the=20GNU=20General=20Public=20License=20along=0A+=20=20=20with=20this=20= program;=20if=20not,=20write=20to=20the=20Free=20Software=20Foundation,=0A= +=20=20=20Inc.,=2059=20Temple=20Place=20-=20Suite=20330,=20Boston,=20MA=20= 02111-1307,=20USA.=20=20*/=0A+=0A+#if=20HAVE_CONFIG_H=0A+#=20include=20= =0A+#endif=0A+#undef=20strnlen=0A+=0A+#include=20=0A= +=0A+#undef=20__strnlen=0A+#undef=20strnlen=0A+=0A+#ifndef=20_LIBC=0A+#=20= define=20strnlen=20rpl_strnlen=0A+#endif=0A+=0A+#ifndef=20weak_alias=0A= +#=20define=20__strnlen=20strnlen=0A+#endif=0A+=0A+/*=20Find=20the=20= length=20of=20STRING,=20but=20scan=20at=20most=20MAXLEN=20characters.=0A= +=20=20=20If=20no=20'\0'=20terminator=20is=20found=20in=20that=20many=20= characters,=20return=20MAXLEN.=20=20*/=0A+=0A+size_t=0A+__strnlen=20= (const=20char=20*string,=20size_t=20maxlen)=0A+{=0A+=20=20const=20char=20= *end=20=3D=20memchr=20(string,=20'\0',=20maxlen);=0A+=20=20return=20end=20= ?=20(size_t)=20(end=20-=20string)=20:=20maxlen;=0A+}=0A+#ifdef=20= weak_alias=0A+weak_alias=20(__strnlen,=20strnlen)=0A+#endif=0AIndex:=20= gnulib/m4/xstrndup.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/m4/xstrndup.c=0Adiff=20-N=20gnulib/m4/xstrndup.c=0A---=20= /dev/null=091=20Jan=201970=2000:00:00=20-0000=0A+++=20= gnulib/m4/xstrndup.c=2011=20Sep=202003=2023:50:21=20-0000=0A@@=20-0,0=20= +1,39=20@@=0A+/*=20Duplicate=20a=20bounded=20initial=20segment=20of=20a=20= string,=20with=20out-of-memory=0A+=20=20=20checking.=0A+=20=20=20= Copyright=20(C)=202003=20Free=20Software=20Foundation,=20Inc.=0A+=0A+=20=20= =20This=20program=20is=20free=20software;=20you=20can=20redistribute=20= it=20and/or=20modify=0A+=20=20=20it=20under=20the=20terms=20of=20the=20= GNU=20General=20Public=20License=20as=20published=20by=0A+=20=20=20the=20= Free=20Software=20Foundation;=20either=20version=202,=20or=20(at=20your=20= option)=0A+=20=20=20any=20later=20version.=0A+=0A+=20=20=20This=20= program=20is=20distributed=20in=20the=20hope=20that=20it=20will=20be=20= useful,=0A+=20=20=20but=20WITHOUT=20ANY=20WARRANTY;=20without=20even=20= the=20implied=20warranty=20of=0A+=20=20=20MERCHANTABILITY=20or=20FITNESS=20= FOR=20A=20PARTICULAR=20PURPOSE.=20=20See=20the=0A+=20=20=20GNU=20General=20= Public=20License=20for=20more=20details.=0A+=0A+=20=20=20You=20should=20= have=20received=20a=20copy=20of=20the=20GNU=20General=20Public=20License=0A= +=20=20=20along=20with=20this=20program;=20if=20not,=20write=20to=20the=20= Free=20Software=20Foundation,=0A+=20=20=20Inc.,=2059=20Temple=20Place=20= -=20Suite=20330,=20Boston,=20MA=2002111-1307,=20USA.=20=20*/=0A+=0A+#if=20= HAVE_CONFIG_H=0A+#=20include=20=0A+#endif=0A+=0A+/*=20= Specification.=20=20*/=0A+#include=20"xstrndup.h"=0A+=0A+#include=20= "strndup.h"=0A+#include=20"xalloc.h"=0A+=0A+/*=20Return=20a=20newly=20= allocated=20copy=20of=20at=20most=20N=20bytes=20of=20STRING.=0A+=20=20=20= In=20other=20words,=20return=20a=20copy=20of=20the=20initial=20segment=20= of=20length=20N=20of=0A+=20=20=20STRING.=20=20*/=0A+char=20*=0A+xstrndup=20= (const=20char=20*string,=20size_t=20n)=0A+{=0A+=20=20char=20*s=20=3D=20= strndup=20(string,=20n);=0A+=20=20if=20(!=20s)=0A+=20=20=20=20xalloc_die=20= ();=0A+=20=20return=20s;=0A+}=0AIndex:=20gnulib/m4/xstrndup.h=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/m4/xstrndup.h=0Adiff=20-N=20gnulib/m4/xstrndup.h=0A---=20= /dev/null=091=20Jan=201970=2000:00:00=20-0000=0A+++=20= gnulib/m4/xstrndup.h=2011=20Sep=202003=2023:50:21=20-0000=0A@@=20-0,0=20= +1,24=20@@=0A+/*=20Duplicate=20a=20bounded=20initial=20segment=20of=20a=20= string,=20with=20out-of-memory=0A+=20=20=20checking.=0A+=20=20=20= Copyright=20(C)=202003=20Free=20Software=20Foundation,=20Inc.=0A+=0A+=20=20= =20This=20program=20is=20free=20software;=20you=20can=20redistribute=20= it=20and/or=20modify=0A+=20=20=20it=20under=20the=20terms=20of=20the=20= GNU=20General=20Public=20License=20as=20published=20by=0A+=20=20=20the=20= Free=20Software=20Foundation;=20either=20version=202,=20or=20(at=20your=20= option)=0A+=20=20=20any=20later=20version.=0A+=0A+=20=20=20This=20= program=20is=20distributed=20in=20the=20hope=20that=20it=20will=20be=20= useful,=0A+=20=20=20but=20WITHOUT=20ANY=20WARRANTY;=20without=20even=20= the=20implied=20warranty=20of=0A+=20=20=20MERCHANTABILITY=20or=20FITNESS=20= FOR=20A=20PARTICULAR=20PURPOSE.=20=20See=20the=0A+=20=20=20GNU=20General=20= Public=20License=20for=20more=20details.=0A+=0A+=20=20=20You=20should=20= have=20received=20a=20copy=20of=20the=20GNU=20General=20Public=20License=0A= +=20=20=20along=20with=20this=20program;=20if=20not,=20write=20to=20the=20= Free=20Software=20Foundation,=0A+=20=20=20Inc.,=2059=20Temple=20Place=20= -=20Suite=20330,=20Boston,=20MA=2002111-1307,=20USA.=20=20*/=0A+=0A= +#include=20=0A+=0A+/*=20Return=20a=20newly=20allocated=20copy=20= of=20at=20most=20N=20bytes=20of=20STRING.=0A+=20=20=20In=20other=20= words,=20return=20a=20copy=20of=20the=20initial=20segment=20of=20length=20= N=20of=0A+=20=20=20STRING.=20=20*/=0A+extern=20char=20*xstrndup=20(const=20= char=20*string,=20size_t=20n);=0AIndex:=20gnulib/m4/xstrzdup.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= gnulib/m4/xstrzdup.c=0Adiff=20-N=20gnulib/m4/xstrzdup.c=0A---=20= gnulib/m4/xstrzdup.c=205=20Sep=202003=2018:32:26=20-0000=201.1=0A+++=20= /dev/null=091=20Jan=201970=2000:00:00=20-0000=0A@@=20-1,46=20+0,0=20@@=0A= -/*=20xstrzdup.c=20--=20copy=20a=20string=20segment=20with=20out=20of=20= memory=20checking=0A-=20=20=20Copyright=20(C)=202003=20Free=20Software=20= Foundation,=20Inc.=0A-=0A-=20=20=20This=20program=20is=20free=20= software;=20you=20can=20redistribute=20it=20and/or=20modify=0A-=20=20=20= it=20under=20the=20terms=20of=20the=20GNU=20General=20Public=20License=20= as=20published=20by=0A-=20=20=20the=20Free=20Software=20Foundation;=20= either=20version=202,=20or=20(at=20your=20option)=0A-=20=20=20any=20= later=20version.=0A-=0A-=20=20=20This=20program=20is=20distributed=20in=20= the=20hope=20that=20it=20will=20be=20useful,=0A-=20=20=20but=20WITHOUT=20= ANY=20WARRANTY;=20without=20even=20the=20implied=20warranty=20of=0A-=20=20= =20MERCHANTABILITY=20or=20FITNESS=20FOR=20A=20PARTICULAR=20PURPOSE.=20=20= See=20the=0A-=20=20=20GNU=20General=20Public=20License=20for=20more=20= details.=0A-=0A-=20=20=20You=20should=20have=20received=20a=20copy=20of=20= the=20GNU=20General=20Public=20License=0A-=20=20=20along=20with=20this=20= program;=20if=20not,=20write=20to=20the=20Free=20Software=20Foundation,=0A= -=20=20=20Inc.,=2059=20Temple=20Place=20-=20Suite=20330,=20Boston,=20MA=20= 02111-1307,=20USA.=20=20*/=0A-=0A-#if=20HAVE_CONFIG_H=0A-#=20include=20= =0A-#endif=0A-=0A-#include=20=0A-=0A-#if=20= defined=20(__STDC__)=20&&=20__STDC__=0A-char=20*xmalloc=20(size_t);=0A= -char=20*xstrzdup=20(char=20*string,=20size_t=20len);=0A-#else=0A-char=20= *xmalloc=20();=0A-#endif=0A-=0A-/*=20Return=20a=20newly=20allocated=20= copy=20of=20STRING.=20=20*/=0A-=0A-char=20*=0A-xstrzdup=20(string,=20= len)=0A-=20=20=20=20=20char=20*string;=0A-=20=20=20=20=20size_t=20len;=0A= -{=0A-=20=20char=20*result=20=3D=20(char=20*)=20xmalloc=20(1+=20len);=0A= -=20=20size_t=20index;=0A-=0A-=20=20for=20(index=20=3D=200;=20index=20<=20= len;=20++index)=0A-=20=20=20=20result[index]=20=3D=20string[index];=0A-=20= =20result[len]=20=3D=20'\0';=0A-=0A-=20=20return=20result;=0A-}=0AIndex:=20= m4/m4module.h=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= /cvsroot/m4/m4/m4/m4module.h,v=0Aretrieving=20revision=201.69=0Adiff=20= -u=20-p=20-u=20-r1.69=20m4module.h=0A---=20m4/m4module.h=209=20Sep=20= 2003=2017:15:35=20-0000=201.69=0A+++=20m4/m4module.h=2011=20Sep=202003=20= 23:50:25=20-0000=0A@@=20-374,7=20+374,7=20@@=20extern=20FILE=20*=20=20=20= m4_path_search=20=20=20=20=20=20=20=20=20=20=0A=20=0A=20=0C=0A=20#define=20= obstack_chunk_alloc=09xmalloc=0A-#define=20obstack_chunk_free=09xfree=0A= +#define=20obstack_chunk_free=09free=0A=20=0A=20END_C_DECLS=0A=20=0A= Index:=20m4/macro.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= /cvsroot/m4/m4/m4/macro.c,v=0Aretrieving=20revision=201.41=0Adiff=20-u=20= -p=20-u=20-r1.41=20macro.c=0A---=20m4/macro.c=2011=20Sep=202003=20= 16:38:12=20-0000=201.41=0A+++=20m4/macro.c=2011=20Sep=202003=2023:50:25=20= -0000=0A@@=20-399,7=20+399,7=20@@=20process_macro=20(m4=20*context,=20= m4_symbol=20*s=0A=20=0A=20=09=20=20=20=20=20=20for=20(endp=20=3D=20= ++text;=20*endp=20&&=20m4_has_syntax=20(M4SYNTAX,=20*endp,=20= M4_SYNTAX_OTHER|M4_SYNTAX_ALPHA|M4_SYNTAX_NUM);=20++endp)=0A=20=09=09= ++len;=0A-=09=20=20=20=20=20=20key=20=3D=20xstrzdup=20(text,=20len);=0A+=09= =20=20=20=20=20=20key=20=3D=20xstrndup=20(text,=20len);=0A=20=0A=20=09=20= =20=20=20=20=20if=20(*endp)=0A=20=09=09{=0AIndex:=20m4/module.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= /cvsroot/m4/m4/m4/module.c,v=0Aretrieving=20revision=201.30=0Adiff=20-u=20= -p=20-u=20-r1.30=20module.c=0A---=20m4/module.c=2010=20Sep=202003=20= 17:12:02=20-0000=201.30=0A+++=20m4/module.c=2011=20Sep=202003=2023:50:26=20= -0000=0A@@=20-293,7=20+293,7=20@@=20m4__module_init=20(m4=20*context)=0A=20= #if=20!WITH_DMALLOC=0A=20=20=20/*=20initialise=20libltdl's=20memory=20= management.=20*/=0A=20=20=20lt_dlmalloc=20=3D=20xmalloc;=0A-=20=20= lt_dlfree=20=20=20=3D=20(void=20(*)=20(void=20*))=20xfree;=0A+=20=20= lt_dlfree=20=20=20=3D=20xfree;=0A=20#endif=0A=20=0A=20=20=20errors=20=20=20= =20=20=20=3D=20lt_dlinit=20();=0AIndex:=20m4/system_.h=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= /cvsroot/m4/m4/m4/system_.h,v=0Aretrieving=20revision=201.4=0Adiff=20-u=20= -p=20-u=20-r1.4=20system_.h=0A---=20m4/system_.h=2011=20Sep=202003=20= 16:38:12=20-0000=201.4=0A+++=20m4/system_.h=2011=20Sep=202003=2023:50:26=20= -0000=0A@@=20-34,6=20+34,7=20@@=0A=20@INCLUDE_OBSTACK_H@=0A=20= @INCLUDE_STDBOOL_H@=0A=20#include=20=0A+#include=20= =0A=20=0A=20/*=20This=20is=20okay=20in=20an=20installed=20= file,=20because=20it=20will=20not=20change=20the=0A=20=20=20=20behaviour=20= of=20the=20including=20program=20whether=20ENABLE_NLS=20is=20defined=0A= --Apple-Mail-19--853096961 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --Apple-Mail-19--853096961-- From MAILER-DAEMON Fri Sep 12 09:51:19 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xoKU-00088K-D4 for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 09:51:18 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xoKP-00087x-Rt for m4-patches@gnu.org; Fri, 12 Sep 2003 09:51:13 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xoKO-00087f-EI for m4-patches@gnu.org; Fri, 12 Sep 2003 09:51:12 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19xoK2-0007pI-O5 for m4-patches@gnu.org; Fri, 12 Sep 2003 09:50:50 -0400 Received: (qmail 7672 invoked from network); 12 Sep 2003 14:16:51 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 12 Sep 2003 14:16:51 -0000 Received: (qmail 19316 invoked from network); 12 Sep 2003 13:53:47 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 12 Sep 2003 13:53:47 -0000 Message-ID: <3F61D009.8060300@gnu.org> Date: Fri, 12 Sep 2003 14:54:17 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------030708000703040703040204" Subject: FYI: 63-gary-gnulib-regex-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 13:51:14 -0000 This is a multi-part message in MIME format. --------------030708000703040703040204 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------030708000703040703040204 Content-Type: text/plain; name="63-gary-gnulib-regex-import.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="63-gary-gnulib-regex-import.patch" Index: ChangeLog from Gary V. Vaughan * gnulib/m4/regex.c, gnulib/m4/regex_.h, gnulib/config/regex.m4: Import regex module from CVS gnulib. * gnulib/config/restrict.m4: Ditto for dependee module restrict. * config/m4-regex.m4 (m4_REGEX): Wrap gnulib/config/regex.m4, but do extra substitutions for Makefile. * configure.ac: Use it. * gnulib/m4/Makefile.am: Maybe install regex.h after linking it from regex_.h if necessary. * m4/system_.h: Include the correct version of regex.h. * m4/regex.c, m4/regex.h, config/regex.m4: Removed legacy version. * po/POTFILES.in: Use new location of regex.c. Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.21 diff -u -p -u -r1.21 configure.ac --- configure.ac 12 Sep 2003 12:23:35 -0000 1.21 +++ configure.ac 12 Sep 2003 13:25:29 -0000 @@ -184,11 +184,11 @@ AC_FUNC_VPRINTF =20 AM_WITH_DMALLOC =20 -gl_REGEX gl_XALLOC gl_XSTRNDUP m4_ERROR m4_OBSTACK +m4_REGEX([gnulib/m4/regex.c]) m4_SYS_STACKOVF =20 M4OBJS=3D Index: config/m4-regex.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/m4-regex.m4 diff -N config/m4-regex.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ config/m4-regex.m4 12 Sep 2003 13:25:29 -0000 @@ -0,0 +1,46 @@ +# -*- Autocon= f -*- +# m4-regex.m4 -- Use the installed regex if it is good enough. +# +# Copyright (C) 2003 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 of the License, 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; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Written by Gary V. Vaughan + +# serial 1 + +# m4_REGEX([path/to/regex.c]) +# --------------------------- +# Use the installed regex if it is good enough. +AC_DEFUN([m4_REGEX], +[jm_INCLUDED_REGEX([$1]) +if test $ac_use_included_regex =3D no; then + # The system provides a good regex. `#include ' will work. + INCLUDE_REGEX_H=3D'#include ' + REGEX_H=3D +else + # The system does not provide regex.h, or the user has specified + # to build without it. Unfortunately we can't leave an regex.h + # file around anywhere in the include path if the system also + # provides an implementation: So we ship regex_.h, and link it to + # m4/regex.h at Make time (to substitute the missing system supplied + # version). Hence, `#include ' will work. + INCLUDE_REGEX_H=3D'#include ' + REGEX_H=3Dregex.h +fi +AC_SUBST(REGEX_H) +AC_SUBST(INCLUDE_REGEX_H) +])# m4_REGEX Index: config/regex.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: config/regex.m4 diff -N config/regex.m4 --- config/regex.m4 9 Sep 2003 11:48:50 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,23 +0,0 @@ -#serial 2 - -dnl Derived from code in GNU grep. - -AC_DEFUN([jm_WITH_REGEX], - [ - dnl Even packages that don't use regex.c can use this macro. - dnl Of course, for them it doesn't do anything. - - syscmd([test -f m4/regex.c]) - ifelse(sysval, 0, - [ - AC_ARG_WITH(included-regex, - [ --without-included-regex don't compile regex (use with caution)]= , - jm_with_regex=3D$withval, - jm_with_regex=3Dyes) - if test "$jm_with_regex" =3D yes; then - LIBOBJS=3D"$LIBOBJS regex.o" - fi - ], - ) - ] -) Index: gnulib/config/regex.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/regex.m4 diff -N gnulib/config/regex.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/regex.m4 12 Sep 2003 13:25:29 -0000 @@ -0,0 +1,119 @@ +#serial 20 + +dnl Initially derived from code in GNU grep. +dnl Mostly written by Jim Meyering. + +AC_DEFUN([gl_REGEX], +[ + jm_INCLUDED_REGEX([lib/regex.c]) +]) + +dnl Usage: jm_INCLUDED_REGEX([lib/regex.c]) +dnl +AC_DEFUN([jm_INCLUDED_REGEX], + [ + dnl Even packages that don't use regex.c can use this macro. + dnl Of course, for them it doesn't do anything. + + # Assume we'll default to using the included regex.c. + ac_use_included_regex=3Dyes + + # However, if the system regex support is good enough that it passes= the + # the following run test, then default to *not* using the included r= egex.c. + # If cross compiling, assume the test would fail and use the include= d + # regex.c. The first failing regular expression is from `Spencer er= e + # test #75' in grep-2.3. + AC_CACHE_CHECK([for working re_compile_pattern], + jm_cv_func_working_re_compile_pattern, + AC_TRY_RUN( +[#include +#include +#include + int + main () + { + static struct re_pattern_buffer regex; + const char *s; + struct re_registers regs; + re_set_syntax (RE_SYNTAX_POSIX_EGREP); + memset (®ex, 0, sizeof (regex)); + [s =3D re_compile_pattern ("a[[:@:>@:]]b\n", 9, ®ex);] + /* This should fail with _Invalid character class name_ error. */ + if (!s) + exit (1); + + /* This should succeed, but doesn't for e.g. glibc-2.1.3. */ + memset (®ex, 0, sizeof (regex)); + s =3D re_compile_pattern ("{1", 2, ®ex); + + if (s) + exit (1); + + /* The following example is derived from a problem report + against gawk from Jorge Stolfi . *= / + memset (®ex, 0, sizeof (regex)); + s =3D re_compile_pattern ("[[an\371]]*n", 7, ®ex); + if (s) + exit (1); + + /* This should match, but doesn't for e.g. glibc-2.2.1. */ + if (re_match (®ex, "an", 2, 0, ®s) !=3D 2) + exit (1); + + memset (®ex, 0, sizeof (regex)); + s =3D re_compile_pattern ("x", 1, ®ex); + if (s) + exit (1); + + /* The version of regex.c in e.g. GNU libc-2.2.93 didn't + work with a negative RANGE argument. */ + if (re_search (®ex, "wxy", 3, 2, -2, ®s) !=3D 1) + exit (1); + + exit (0); + } + ], + jm_cv_func_working_re_compile_pattern=3Dyes, + jm_cv_func_working_re_compile_pattern=3Dno, + dnl When crosscompiling, assume it's broken. + jm_cv_func_working_re_compile_pattern=3Dno)) + if test $jm_cv_func_working_re_compile_pattern =3D yes; then + ac_use_included_regex=3Dno + fi + + test -n "$1" || AC_MSG_ERROR([missing argument]) + m4_syscmd([test -f $1]) + ifelse(m4_sysval, 0, + [ + AC_ARG_WITH(included-regex, + [ --without-included-regex don't compile regex; this is the default on= + systems with version 2 of the GNU C library + (use with caution on other system)], + jm_with_regex=3D$withval, + jm_with_regex=3D$ac_use_included_regex) + if test "$jm_with_regex" =3D yes; then + AC_LIBOBJ(regex) + jm_PREREQ_REGEX + fi + ], + ) + ] +) + +# Prerequisites of lib/regex.c. +AC_DEFUN([jm_PREREQ_REGEX], +[ + dnl FIXME: Maybe provide a btowc replacement someday: Solaris 2.5.1 la= cks it. + dnl FIXME: Check for wctype and iswctype, and and add -lw if necessary= + dnl to get them. + + dnl Persuade glibc to declare mempcpy(). + AC_REQUIRE([AC_GNU_SOURCE]) + + AC_REQUIRE([gl_C_RESTRICT]) + AC_REQUIRE([AC_FUNC_ALLOCA]) + AC_REQUIRE([AC_HEADER_STDC]) + AC_CHECK_HEADERS_ONCE(wchar.h wctype.h) + AC_CHECK_FUNCS_ONCE(isascii mempcpy) + AC_CHECK_FUNCS(btowc) +]) Index: gnulib/config/restrict.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/restrict.m4 diff -N gnulib/config/restrict.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/restrict.m4 12 Sep 2003 13:25:29 -0000 @@ -0,0 +1,33 @@ +#serial 1002 +# This macro can be removed once we can rely on Autoconf 2.57a or later,= +# since we can then use its AC_C_RESTRICT. + +# gl_C_RESTRICT +# -------------- +# Determine whether the C/C++ compiler supports the "restrict" keyword +# introduced in ANSI C99, or an equivalent. Do nothing if the compiler +# accepts it. Otherwise, if the compiler supports an equivalent, +# define "restrict" to be that. Here are some variants: +# - GCC supports both __restrict and __restrict__ +# - older DEC Alpha C compilers support only __restrict +# - _Restrict is the only spelling accepted by Sun WorkShop 6 update 2 C= +# Otherwise, define "restrict" to be empty. +AC_DEFUN([gl_C_RESTRICT], +[AC_CACHE_CHECK([for C/C++ restrict keyword], gl_cv_c_restrict, + [gl_cv_c_restrict=3Dno + # Try the official restrict keyword, then gcc's __restrict, and + # the less common variants. + for ac_kw in restrict __restrict __restrict__ _Restrict; do + AC_COMPILE_IFELSE([AC_LANG_SOURCE( + [float * $ac_kw x;])], + [gl_cv_c_restrict=3D$ac_kw; break]) + done + ]) + case $gl_cv_c_restrict in + restrict) ;; + no) AC_DEFINE(restrict,, + [Define to equivalent of C99 restrict keyword, or to nothing if this + is not supported. Do not define if restrict is supported directly.]) ;= ; + *) AC_DEFINE_UNQUOTED(restrict, $gl_cv_c_restrict) ;; + esac +]) Index: gnulib/m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.7 diff -u -p -u -r1.7 Makefile.am --- gnulib/m4/Makefile.am 12 Sep 2003 12:23:35 -0000 1.7 +++ gnulib/m4/Makefile.am 12 Sep 2003 13:25:29 -0000 @@ -25,8 +25,8 @@ noinst_LTLIBRARIES =3D libgnu.la libgnu_la_SOURCES =3D libgnu_la_LIBADD =3D $(LTLIBOBJS) $(LTLIBINTL) =20 -pkginclude_HEADERS =3D $(GETTEXT_H) $(OBSTACK_H) $(STDBOOL_H) -EXTRA_HEADERS =3D gettext.h obstack.h stdbool.h +pkginclude_HEADERS =3D $(GETTEXT_H) $(OBSTACK_H) $(REGEX_H) $(STDBOOL_H)= +EXTRA_HEADERS =3D gettext.h obstack.h regex.h stdbool.h EXTRA_DIST =3D =20 MOSTLYCLEANFILES =3D @@ -76,6 +76,17 @@ MOSTLYCLEANFILES +=3D obstack.h =20 ## progname: libgnu_la_SOURCES +=3D progname.c progname.h + + +## regex: (not in gnulib yet) +BUILT_SOURCES +=3D $(REGEX_H) +EXTRA_DIST +=3D regex_.h + +all-local $(lib_OBJECTS): $(REGEX_H) +regex.h: regex_.h + rm -f $@ && $(LN_S) regex_.h $@ + +MOSTLYCLEANFILES +=3D regex.h =20 =20 ## stdbool: Index: gnulib/m4/regex.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/regex.c diff -N gnulib/m4/regex.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/regex.c 12 Sep 2003 13:25:30 -0000 @@ -0,0 +1,8298 @@ +/* Extended regular expression matching and search library, + version 0.12. + (Implements POSIX draft P1003.2/D11.2, except for some of the + internationalization features.) + + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002, 2003 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* AIX requires this to be the first thing in the file. */ +#if defined _AIX && !defined REGEX_MALLOC + #pragma alloca +#endif + +#undef _GNU_SOURCE +#define _GNU_SOURCE + +#ifdef HAVE_CONFIG_H +# include +#endif + +#ifndef INSIDE_RECURSION + +# include + +# define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)= + +/* For platform which support the ISO C amendement 1 functionality we + support user defined character classes. */ +# if defined _LIBC || WIDE_CHAR_SUPPORT +/* Solaris 2.5 has a bug: must be included before . = */ +# include +# include +# endif + +# ifdef _LIBC +/* We have to keep the namespace clean. */ +# define regfree(preg) __regfree (preg) +# define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef) +# define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflag= s) +# define regerror(errcode, preg, errbuf, errbuf_size) \ + __regerror(errcode, preg, errbuf, errbuf_size) +# define re_set_registers(bu, re, nu, st, en) \ + __re_set_registers (bu, re, nu, st, en) +# define re_match_2(bufp, string1, size1, string2, size2, pos, regs, st= op) \ + __re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop) +# define re_match(bufp, string, size, pos, regs) \ + __re_match (bufp, string, size, pos, regs) +# define re_search(bufp, string, size, startpos, range, regs) \ + __re_search (bufp, string, size, startpos, range, regs) +# define re_compile_pattern(pattern, length, bufp) \ + __re_compile_pattern (pattern, length, bufp) +# define re_set_syntax(syntax) __re_set_syntax (syntax) +# define re_search_2(bufp, st1, s1, st2, s2, startpos, range, regs, sto= p) \ + __re_search_2 (bufp, st1, s1, st2, s2, startpos, range, regs, stop) +# define re_compile_fastmap(bufp) __re_compile_fastmap (bufp) + +# define btowc __btowc +# define iswctype __iswctype +# define mbrtowc __mbrtowc +# define wcslen __wcslen +# define wcscoll __wcscoll +# define wcrtomb __wcrtomb + +/* We are also using some library internals. */ +# include +# include +# include +# include +# endif + +# ifdef _LIBC +# include +# undef gettext +# define gettext(msgid) __dcgettext ("libc", msgid, LC_MESSAGES) + /* This define is so xgettext can find the internationalizable string= s. */ +# define gettext_noop(msgid) msgid +# else +/* This is for other GNU distributions with internationalized messages. = */ +# include "gettext.h" +# endif + +/* Support for bounded pointers. */ +# if !defined _LIBC && !defined __BOUNDED_POINTERS__ +# define __bounded /* nothing */ +# define __unbounded /* nothing */ +# define __ptrvalue /* nothing */ +# endif + +/* The `emacs' switch turns on certain matching commands + that make sense only in Emacs. */ +# ifdef emacs + +# include "lisp.h" +# include "buffer.h" +# include "syntax.h" + +# else /* not emacs */ + +/* If we are not linking with Emacs proper, + we can't use the relocating allocator + even if config.h says that we can. */ +# undef REL_ALLOC + +# include + +/* When used in Emacs's lib-src, we need to get bzero and bcopy somehow.= + If nothing else has been done, use the method below. */ +# ifdef INHIBIT_STRING_HEADER +# if !(defined HAVE_BZERO && defined HAVE_BCOPY) +# if !defined bzero && !defined bcopy +# undef INHIBIT_STRING_HEADER +# endif +# endif +# endif + +/* This is the normal way of making sure we have a bcopy and a bzero. + This is used in most programs--a few other programs avoid this + by defining INHIBIT_STRING_HEADER. */ +# ifndef INHIBIT_STRING_HEADER +# include +# ifndef bzero +# ifndef _LIBC +# define bzero(s, n) (memset (s, '\0', n), (s)) +# else +# define bzero(s, n) __bzero (s, n) +# endif +# endif +# endif + +/* Define the syntax stuff for \<, \>, etc. */ + +/* This must be nonzero for the wordchar and notwordchar pattern + commands in re_match_2. */ +# ifndef Sword +# define Sword 1 +# endif + +# ifdef SWITCH_ENUM_BUG +# define SWITCH_ENUM_CAST(x) ((int)(x)) +# else +# define SWITCH_ENUM_CAST(x) (x) +# endif + +# endif /* not emacs */ + +# include + +# ifndef MB_LEN_MAX +# define MB_LEN_MAX 1 +# endif +=0C +/* Get the interface, including the syntax bits. */ +# include + +/* isalpha etc. are used for the character classes. */ +# include + +/* Jim Meyering writes: + + "... Some ctype macros are valid only for character codes that + isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when + using /bin/cc or gcc but without giving an ansi option). So, all + ctype uses should be through macros like ISPRINT... If + STDC_HEADERS is defined, then autoconf has verified that the ctype + macros don't need to be guarded with references to isascii. ... + Defining isascii to 1 should let any compiler worth its salt + eliminate the && through constant folding." + Solaris defines some of these symbols so we must undefine them first.= */ + +# if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII)= +# define IN_CTYPE_DOMAIN(c) 1 +# else +# define IN_CTYPE_DOMAIN(c) isascii(c) +# endif + +# ifdef isblank +# define ISBLANK(c) (IN_CTYPE_DOMAIN (c) && isblank (c)) +# else +# define ISBLANK(c) ((c) =3D=3D ' ' || (c) =3D=3D '\t') +# endif +# ifdef isgraph +# define ISGRAPH(c) (IN_CTYPE_DOMAIN (c) && isgraph (c)) +# else +# define ISGRAPH(c) (IN_CTYPE_DOMAIN (c) && isprint (c) && !isspace (c)= ) +# endif + +# undef ISPRINT +# define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c)) +# define ISDIGIT(c) (IN_CTYPE_DOMAIN (c) && isdigit (c)) +# define ISALNUM(c) (IN_CTYPE_DOMAIN (c) && isalnum (c)) +# define ISALPHA(c) (IN_CTYPE_DOMAIN (c) && isalpha (c)) +# define ISCNTRL(c) (IN_CTYPE_DOMAIN (c) && iscntrl (c)) +# define ISLOWER(c) (IN_CTYPE_DOMAIN (c) && islower (c)) +# define ISPUNCT(c) (IN_CTYPE_DOMAIN (c) && ispunct (c)) +# define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c)) +# define ISUPPER(c) (IN_CTYPE_DOMAIN (c) && isupper (c)) +# define ISXDIGIT(c) (IN_CTYPE_DOMAIN (c) && isxdigit (c)) + +# ifdef _tolower +# define TOLOWER(c) _tolower(c) +# else +# define TOLOWER(c) tolower(c) +# endif +=0C +# ifndef emacs +/* How many characters in the character set. */ +# define CHAR_SET_SIZE 256 + +# ifdef SYNTAX_TABLE + +extern char *re_syntax_table; + +# else /* not SYNTAX_TABLE */ + +static char re_syntax_table[CHAR_SET_SIZE]; + +static void +init_syntax_once (void) +{ + register int c; + static int done =3D 0; + + if (done) + return; + bzero (re_syntax_table, sizeof re_syntax_table); + + for (c =3D 0; c < CHAR_SET_SIZE; ++c) + if (ISALNUM (c)) + re_syntax_table[c] =3D Sword; + + re_syntax_table['_'] =3D Sword; + + done =3D 1; +} + +# endif /* not SYNTAX_TABLE */ + +# define SYNTAX(c) re_syntax_table[(unsigned char) (c)] + +# endif /* emacs */ +=0C +/* Should we use malloc or alloca? If REGEX_MALLOC is not defined, we + use `alloca' instead of `malloc'. This is because using malloc in + re_search* or re_match* could cause memory leaks when C-g is used in + Emacs; also, malloc is slower and causes storage fragmentation. On + the other hand, malloc is more portable, and easier to debug. + + Because we sometimes use alloca, some routines have to be macros, + not functions -- `alloca'-allocated space disappears at the end of th= e + function it is called in. */ + +# ifdef REGEX_MALLOC + +# define REGEX_ALLOCATE malloc +# define REGEX_REALLOCATE(source, osize, nsize) realloc (source, nsize)= +# define REGEX_FREE free + +# else /* not REGEX_MALLOC */ + +/* Emacs already defines alloca, sometimes. */ +# ifndef alloca + +/* Make alloca work the best possible way. */ +# ifdef __GNUC__ +# define alloca __builtin_alloca +# else /* not __GNUC__ */ +# if HAVE_ALLOCA_H +# include +# endif /* HAVE_ALLOCA_H */ +# endif /* not __GNUC__ */ + +# endif /* not alloca */ + +# define REGEX_ALLOCATE alloca + +/* Assumes a `char *destination' variable. */ +# define REGEX_REALLOCATE(source, osize, nsize) \ + (destination =3D (char *) alloca (nsize), \ + memcpy (destination, source, osize)) + +/* No need to do anything to free, after alloca. */ +# define REGEX_FREE(arg) ((void)0) /* Do nothing! But inhibit gcc warn= ing. */ + +# endif /* not REGEX_MALLOC */ + +/* Define how to allocate the failure stack. */ + +# if defined REL_ALLOC && defined REGEX_MALLOC + +# define REGEX_ALLOCATE_STACK(size) \ + r_alloc (&failure_stack_ptr, (size)) +# define REGEX_REALLOCATE_STACK(source, osize, nsize) \ + r_re_alloc (&failure_stack_ptr, (nsize)) +# define REGEX_FREE_STACK(ptr) \ + r_alloc_free (&failure_stack_ptr) + +# else /* not using relocating allocator */ + +# ifdef REGEX_MALLOC + +# define REGEX_ALLOCATE_STACK malloc +# define REGEX_REALLOCATE_STACK(source, osize, nsize) realloc (source,= nsize) +# define REGEX_FREE_STACK free + +# else /* not REGEX_MALLOC */ + +# define REGEX_ALLOCATE_STACK alloca + +# define REGEX_REALLOCATE_STACK(source, osize, nsize) \ + REGEX_REALLOCATE (source, osize, nsize) +/* No need to explicitly free anything. */ +# define REGEX_FREE_STACK(arg) + +# endif /* not REGEX_MALLOC */ +# endif /* not using relocating allocator */ + + +/* True if `size1' is non-NULL and PTR is pointing anywhere inside + `string1' or just past its end. This works if PTR is NULL, which is + a good thing. */ +# define FIRST_STRING_P(ptr) \ + (size1 && string1 <=3D (ptr) && (ptr) <=3D string1 + size1) + +/* (Re)Allocate N items of type T using malloc, or fail. */ +# define TALLOC(n, t) ((t *) malloc ((n) * sizeof (t))) +# define RETALLOC(addr, n, t) ((addr) =3D (t *) realloc (addr, (n) * siz= eof (t))) +# define RETALLOC_IF(addr, n, t) \ + if (addr) RETALLOC((addr), (n), t); else (addr) =3D TALLOC ((n), t) +# define REGEX_TALLOC(n, t) ((t *) REGEX_ALLOCATE ((n) * sizeof (t))) + +# define BYTEWIDTH 8 /* In bits. */ + +# define STREQ(s1, s2) ((strcmp (s1, s2) =3D=3D 0)) + +# undef MAX +# undef MIN +# define MAX(a, b) ((a) > (b) ? (a) : (b)) +# define MIN(a, b) ((a) < (b) ? (a) : (b)) + +typedef char boolean; +# define false 0 +# define true 1 + +static reg_errcode_t byte_regex_compile (const char *pattern, size_t siz= e, + reg_syntax_t syntax, + struct re_pattern_buffer *bufp); + +static int byte_re_match_2_internal (struct re_pattern_buffer *bufp, + const char *string1, int size1, + const char *string2, int size2, + int pos, + struct re_registers *regs, + int stop); +static int byte_re_search_2 (struct re_pattern_buffer *bufp, + const char *string1, int size1, + const char *string2, int size2, + int startpos, int range, + struct re_registers *regs, int stop); +static int byte_re_compile_fastmap (struct re_pattern_buffer *bufp); + +#ifdef MBS_SUPPORT +static reg_errcode_t wcs_regex_compile (const char *pattern, size_t size= , + reg_syntax_t syntax, + struct re_pattern_buffer *bufp); + + +static int wcs_re_match_2_internal (struct re_pattern_buffer *bufp, + const char *cstring1, int csize1, + const char *cstring2, int csize2, + int pos, + struct re_registers *regs, + int stop, + wchar_t *string1, int size1, + wchar_t *string2, int size2, + int *mbs_offset1, int *mbs_offset2); +static int wcs_re_search_2 (struct re_pattern_buffer *bufp, + const char *string1, int size1, + const char *string2, int size2, + int startpos, int range, + struct re_registers *regs, int stop); +static int wcs_re_compile_fastmap (struct re_pattern_buffer *bufp); +#endif +=0C +/* These are the command codes that appear in compiled regular + expressions. Some opcodes are followed by argument bytes. A + command code can specify any interpretation whatsoever for its + arguments. Zero bytes may appear in the compiled regular expression.= */ + +typedef enum +{ + no_op =3D 0, + + /* Succeed right away--no more backtracking. */ + succeed, + + /* Followed by one byte giving n, then by n literal bytes. */ + exactn, + +# ifdef MBS_SUPPORT + /* Same as exactn, but contains binary data. */ + exactn_bin, +# endif + + /* Matches any (more or less) character. */ + anychar, + + /* Matches any one char belonging to specified set. First + following byte is number of bitmap bytes. Then come bytes + for a bitmap saying which chars are in. Bits in each byte + are ordered low-bit-first. A character is in the set if its + bit is 1. A character too large to have a bit in the map is + automatically not in the set. */ + /* ifdef MBS_SUPPORT, following element is length of character + classes, length of collating symbols, length of equivalence + classes, length of character ranges, and length of characters. + Next, character class element, collating symbols elements, + equivalence class elements, range elements, and character + elements follow. + See regex_compile function. */ + charset, + + /* Same parameters as charset, but match any character that is + not one of those specified. */ + charset_not, + + /* Start remembering the text that is matched, for storing in a + register. Followed by one byte with the register number, in + the range 0 to one less than the pattern buffer's re_nsub + field. Then followed by one byte with the number of groups + inner to this one. (This last has to be part of the + start_memory only because we need it in the on_failure_jump + of re_match_2.) */ + start_memory, + + /* Stop remembering the text that is matched and store it in a + memory register. Followed by one byte with the register + number, in the range 0 to one less than `re_nsub' in the + pattern buffer, and one byte with the number of inner groups,= + just like `start_memory'. (We need the number of inner + groups here because we don't have any easy way of finding the= + corresponding start_memory when we're at a stop_memory.) */ + stop_memory, + + /* Match a duplicate of something remembered. Followed by one + byte containing the register number. */ + duplicate, + + /* Fail unless at beginning of line. */ + begline, + + /* Fail unless at end of line. */ + endline, + + /* Succeeds if at beginning of buffer (if emacs) or at beginning= + of string to be matched (if not). */ + begbuf, + + /* Analogously, for end of buffer/string. */ + endbuf, + + /* Followed by two byte relative address to which to jump. */ + jump, + + /* Same as jump, but marks the end of an alternative. */ + jump_past_alt, + + /* Followed by two-byte relative address of place to resume at + in case of failure. */ + /* ifdef MBS_SUPPORT, the size of address is 1. */ + on_failure_jump, + + /* Like on_failure_jump, but pushes a placeholder instead of the= + current string position when executed. */ + on_failure_keep_string_jump, + + /* Throw away latest failure point and then jump to following + two-byte relative address. */ + /* ifdef MBS_SUPPORT, the size of address is 1. */ + pop_failure_jump, + + /* Change to pop_failure_jump if know won't have to backtrack to= + match; otherwise change to jump. This is used to jump + back to the beginning of a repeat. If what follows this jump= + clearly won't match what the repeat does, such that we can be= + sure that there is no use backtracking out of repetitions + already matched, then we change it to a pop_failure_jump. + Followed by two-byte address. */ + /* ifdef MBS_SUPPORT, the size of address is 1. */ + maybe_pop_jump, + + /* Jump to following two-byte address, and push a dummy failure + point. This failure point will be thrown away if an attempt + is made to use it for a failure. A `+' construct makes this + before the first repeat. Also used as an intermediary kind + of jump when compiling an alternative. */ + /* ifdef MBS_SUPPORT, the size of address is 1. */ + dummy_failure_jump, + + /* Push a dummy failure point and continue. Used at the end of + alternatives. */ + push_dummy_failure, + + /* Followed by two-byte relative address and two-byte number n. + After matching N times, jump to the address upon failure. */= + /* ifdef MBS_SUPPORT, the size of address is 1. */ + succeed_n, + + /* Followed by two-byte relative address, and two-byte number n.= + Jump to the address N times, then fail. */ + /* ifdef MBS_SUPPORT, the size of address is 1. */ + jump_n, + + /* Set the following two-byte relative address to the + subsequent two-byte number. The address *includes* the two + bytes of number. */ + /* ifdef MBS_SUPPORT, the size of address is 1. */ + set_number_at, + + wordchar, /* Matches any word-constituent character. */ + notwordchar, /* Matches any char that is not a word-constituent. */ + + wordbeg, /* Succeeds if at word beginning. */ + wordend, /* Succeeds if at word end. */ + + wordbound, /* Succeeds if at a word boundary. */ + notwordbound /* Succeeds if not at a word boundary. */ + +# ifdef emacs + ,before_dot, /* Succeeds if before point. */ + at_dot, /* Succeeds if at point. */ + after_dot, /* Succeeds if after point. */ + + /* Matches any character whose syntax is specified. Followed by + a byte which contains a syntax code, e.g., Sword. */ + syntaxspec, + + /* Matches any character whose syntax is not that specified. */ + notsyntaxspec +# endif /* emacs */ +} re_opcode_t; +#endif /* not INSIDE_RECURSION */ +=0C + +#ifdef BYTE +# define CHAR_T char +# define UCHAR_T unsigned char +# define COMPILED_BUFFER_VAR bufp->buffer +# define OFFSET_ADDRESS_SIZE 2 +# define PREFIX(name) byte_##name +# define ARG_PREFIX(name) name +# define PUT_CHAR(c) putchar (c) +#else +# ifdef WCHAR +# define CHAR_T wchar_t +# define UCHAR_T wchar_t +# define COMPILED_BUFFER_VAR wc_buffer +# define OFFSET_ADDRESS_SIZE 1 /* the size which STORE_NUMBER macro use= */ +# define CHAR_CLASS_SIZE ((__alignof__(wctype_t)+sizeof(wctype_t))/size= of(CHAR_T)+1) +# define PREFIX(name) wcs_##name +# define ARG_PREFIX(name) c##name +/* Should we use wide stream?? */ +# define PUT_CHAR(c) printf ("%C", c); +# define TRUE 1 +# define FALSE 0 +# else +# ifdef MBS_SUPPORT +# define WCHAR +# define INSIDE_RECURSION +# include "regex.c" +# undef INSIDE_RECURSION +# endif +# define BYTE +# define INSIDE_RECURSION +# include "regex.c" +# undef INSIDE_RECURSION +# endif +#endif +#include "unlocked-io.h" + +#ifdef INSIDE_RECURSION +/* Common operations on the compiled pattern. */ + +/* Store NUMBER in two contiguous bytes starting at DESTINATION. */ +/* ifdef MBS_SUPPORT, we store NUMBER in 1 element. */ + +# ifdef WCHAR +# define STORE_NUMBER(destination, number) \ + do { \ + *(destination) =3D (UCHAR_T)(number); \ + } while (0) +# else /* BYTE */ +# define STORE_NUMBER(destination, number) \ + do { \ + (destination)[0] =3D (number) & 0377; \ + (destination)[1] =3D (number) >> 8; \ + } while (0) +# endif /* WCHAR */ + +/* Same as STORE_NUMBER, except increment DESTINATION to + the byte after where the number is stored. Therefore, DESTINATION + must be an lvalue. */ +/* ifdef MBS_SUPPORT, we store NUMBER in 1 element. */ + +# define STORE_NUMBER_AND_INCR(destination, number) \ + do { \ + STORE_NUMBER (destination, number); \ + (destination) +=3D OFFSET_ADDRESS_SIZE; \ + } while (0) + +/* Put into DESTINATION a number stored in two contiguous bytes starting= + at SOURCE. */ +/* ifdef MBS_SUPPORT, we store NUMBER in 1 element. */ + +# ifdef WCHAR +# define EXTRACT_NUMBER(destination, source) \ + do { \ + (destination) =3D *(source); \ + } while (0) +# else /* BYTE */ +# define EXTRACT_NUMBER(destination, source) \ + do { \ + (destination) =3D *(source) & 0377; \ + (destination) +=3D (signed char) (*((source) + 1)) << 8; \ + } while (0) +# endif + +# ifdef DEBUG +static void +PREFIX(extract_number) (int *dest, UCHAR_T *source) +{ +# ifdef WCHAR + *dest =3D *source; +# else /* BYTE */ + signed char temp =3D source[1]; + *dest =3D *source & 0377; + *dest +=3D temp << 8; +# endif +} + +# ifndef EXTRACT_MACROS /* To debug the macros. */ +# undef EXTRACT_NUMBER +# define EXTRACT_NUMBER(dest, src) PREFIX(extract_number) (&dest, src)= +# endif /* not EXTRACT_MACROS */ + +# endif /* DEBUG */ + +/* Same as EXTRACT_NUMBER, except increment SOURCE to after the number. + SOURCE must be an lvalue. */ + +# define EXTRACT_NUMBER_AND_INCR(destination, source) \ + do { \ + EXTRACT_NUMBER (destination, source); \ + (source) +=3D OFFSET_ADDRESS_SIZE; \ + } while (0) + +# ifdef DEBUG +static void +PREFIX(extract_number_and_incr) (int *destination, UCHAR_T **source) +{ + PREFIX(extract_number) (destination, *source); + *source +=3D OFFSET_ADDRESS_SIZE; +} + +# ifndef EXTRACT_MACROS +# undef EXTRACT_NUMBER_AND_INCR +# define EXTRACT_NUMBER_AND_INCR(dest, src) \ + PREFIX(extract_number_and_incr) (&dest, &src) +# endif /* not EXTRACT_MACROS */ + +# endif /* DEBUG */ + +=0C + +/* If DEBUG is defined, Regex prints many voluminous messages about what= + it is doing (if the variable `debug' is nonzero). If linked with the= + main program in `iregex.c', you can enter patterns and strings + interactively. And if linked with the main program in `main.c' and + the other test files, you can run the already-written tests. */ + +# ifdef DEBUG + +# ifndef DEFINED_ONCE + +/* We use standard I/O for debugging. */ +# include + +/* It is useful to test things that ``must'' be true when debugging. */= +# include + +static int debug; + +# define DEBUG_STATEMENT(e) e +# define DEBUG_PRINT1(x) if (debug) printf (x) +# define DEBUG_PRINT2(x1, x2) if (debug) printf (x1, x2) +# define DEBUG_PRINT3(x1, x2, x3) if (debug) printf (x1, x2, x3) +# define DEBUG_PRINT4(x1, x2, x3, x4) if (debug) printf (x1, x2, x3, x= 4) +# endif /* not DEFINED_ONCE */ + +# define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) \ + if (debug) PREFIX(print_partial_compiled_pattern) (s, e) +# define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2) \ + if (debug) PREFIX(print_double_string) (w, s1, sz1, s2, sz2) + + +/* Print the fastmap in human-readable form. */ + +# ifndef DEFINED_ONCE +void +print_fastmap (char *fastmap) +{ + unsigned was_a_range =3D 0; + unsigned i =3D 0; + + while (i < (1 << BYTEWIDTH)) + { + if (fastmap[i++]) + { + was_a_range =3D 0; + putchar (i - 1); + while (i < (1 << BYTEWIDTH) && fastmap[i]) + { + was_a_range =3D 1; + i++; + } + if (was_a_range) + { + printf ("-"); + putchar (i - 1); + } + } + } + putchar ('\n'); +} +# endif /* not DEFINED_ONCE */ + + +/* Print a compiled pattern string in human-readable form, starting at + the START pointer into it and ending just before the pointer END. */= + +void +PREFIX(print_partial_compiled_pattern) (UCHAR_T *start, UCHAR_T *end) +{ + int mcnt, mcnt2; + UCHAR_T *p1; + UCHAR_T *p =3D start; + UCHAR_T *pend =3D end; + + if (start =3D=3D NULL) + { + printf ("(null)\n"); + return; + } + + /* Loop over pattern commands. */ + while (p < pend) + { +# ifdef _LIBC + printf ("%td:\t", p - start); +# else + printf ("%ld:\t", (long int) (p - start)); +# endif + + switch ((re_opcode_t) *p++) + { + case no_op: + printf ("/no_op"); + break; + + case exactn: + mcnt =3D *p++; + printf ("/exactn/%d", mcnt); + do + { + putchar ('/'); + PUT_CHAR (*p++); + } + while (--mcnt); + break; + +# ifdef MBS_SUPPORT + case exactn_bin: + mcnt =3D *p++; + printf ("/exactn_bin/%d", mcnt); + do + { + printf("/%lx", (long int) *p++); + } + while (--mcnt); + break; +# endif /* MBS_SUPPORT */ + + case start_memory: + mcnt =3D *p++; + printf ("/start_memory/%d/%ld", mcnt, (long int) *p++); + break; + + case stop_memory: + mcnt =3D *p++; + printf ("/stop_memory/%d/%ld", mcnt, (long int) *p++); + break; + + case duplicate: + printf ("/duplicate/%ld", (long int) *p++); + break; + + case anychar: + printf ("/anychar"); + break; + + case charset: + case charset_not: + { +# ifdef WCHAR + int i, length; + wchar_t *workp =3D p; + printf ("/charset [%s", + (re_opcode_t) *(workp - 1) =3D=3D charset_not ? "^" : ""); + p +=3D 5; + length =3D *workp++; /* the length of char_classes */ + for (i=3D0 ; ibuffer; + + PREFIX(print_partial_compiled_pattern) (buffer, buffer + + bufp->used / sizeof(UCHAR_T)); + printf ("%ld bytes used/%ld bytes allocated.\n", + bufp->used, bufp->allocated); + + if (bufp->fastmap_accurate && bufp->fastmap) + { + printf ("fastmap: "); + print_fastmap (bufp->fastmap); + } + +# ifdef _LIBC + printf ("re_nsub: %Zd\t", bufp->re_nsub); +# else + printf ("re_nsub: %ld\t", (long int) bufp->re_nsub); +# endif + printf ("regs_alloc: %d\t", bufp->regs_allocated); + printf ("can_be_null: %d\t", bufp->can_be_null); + printf ("newline_anchor: %d\n", bufp->newline_anchor); + printf ("no_sub: %d\t", bufp->no_sub); + printf ("not_bol: %d\t", bufp->not_bol); + printf ("not_eol: %d\t", bufp->not_eol); + printf ("syntax: %lx\n", bufp->syntax); + /* Perhaps we should print the translate table? */ +} + + +void +PREFIX(print_double_string) (const CHAR_T *where, + const CHAR_T *string1, + const CHAR_T *string2, + int size1, + int size2) +{ + int this_char; + + if (where =3D=3D NULL) + printf ("(null)"); + else + { + int cnt; + + if (FIRST_STRING_P (where)) + { + for (this_char =3D where - string1; this_char < size1; this_ch= ar++) + PUT_CHAR (string1[this_char]); + + where =3D string2; + } + + cnt =3D 0; + for (this_char =3D where - string2; this_char < size2; this_char++= ) + { + PUT_CHAR (string2[this_char]); + if (++cnt > 100) + { + fputs ("...", stdout); + break; + } + } + } +} + +# ifndef DEFINED_ONCE +void +printchar (c) + int c; +{ + putc (c, stderr); +} +# endif + +# else /* not DEBUG */ + +# ifndef DEFINED_ONCE +# undef assert +# define assert(e) + +# define DEBUG_STATEMENT(e) +# define DEBUG_PRINT1(x) +# define DEBUG_PRINT2(x1, x2) +# define DEBUG_PRINT3(x1, x2, x3) +# define DEBUG_PRINT4(x1, x2, x3, x4) +# endif /* not DEFINED_ONCE */ +# define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) +# define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2) + +# endif /* not DEBUG */ + +=0C + +# ifdef WCHAR +/* This convert a multibyte string to a wide character string. + And write their correspondances to offset_buffer(see below) + and write whether each wchar_t is binary data to is_binary. + This assume invalid multibyte sequences as binary data. + We assume offset_buffer and is_binary is already allocated + enough space. */ + +static size_t +convert_mbs_to_wcs (CHAR_T *dest, + const unsigned char* src, + + /* The length of multibyte string. */ + size_t len, + + /* Correspondences between src(char string) and + dest(wchar_t string) for optimization. E.g.: + src =3D "xxxyzz" + dest =3D {'X', 'Y', 'Z'} + (each "xxx", "y" and "zz" represent one + multibyte character corresponding to 'X', + 'Y' and 'Z'.) + offset_buffer =3D {0, 0+3("xxx"), 0+3+1("y"), + 0+3+1+2("zz")} + =3D {0, 3, 4, 6} */ + int *offset_buffer, + + char *is_binary) +{ + wchar_t *pdest =3D dest; + const unsigned char *psrc =3D src; + size_t wc_count =3D 0; + + mbstate_t mbs; + int i, consumed; + size_t mb_remain =3D len; + size_t mb_count =3D 0; + + /* Initialize the conversion state. */ + memset (&mbs, 0, sizeof (mbstate_t)); + + offset_buffer[0] =3D 0; + for( ; mb_remain > 0 ; ++wc_count, ++pdest, mb_remain -=3D consumed, + psrc +=3D consumed) + { + consumed =3D mbrtowc (pdest, psrc, mb_remain, &mbs); + + if (consumed <=3D 0) + /* failed to convert. maybe src contains binary data. + So we consume 1 byte manualy. */ + { + *pdest =3D *psrc; + consumed =3D 1; + is_binary[wc_count] =3D TRUE; + } + else + is_binary[wc_count] =3D FALSE; + /* In sjis encoding, we use yen sign as escape character in + place of reverse solidus. So we convert 0x5c(yen sign in + sjis) to not 0xa5(yen sign in UCS2) but 0x5c(reverse + solidus in UCS2). */ + if (consumed =3D=3D 1 && (int) *psrc =3D=3D 0x5c && (int) *pdest =3D= =3D 0xa5) + *pdest =3D (wchar_t) *psrc; + + offset_buffer[wc_count + 1] =3D mb_count +=3D consumed; + } + + /* Fill remain of the buffer with sentinel. */ + for (i =3D wc_count + 1 ; i <=3D len ; i++) + offset_buffer[i] =3D mb_count + 1; + + return wc_count; +} + +# endif /* WCHAR */ + +#else /* not INSIDE_RECURSION */ + +/* Set by `re_set_syntax' to the current regexp syntax to recognize. Ca= n + also be assigned to arbitrarily: each pattern buffer stores its own + syntax, so it can be changed between regex compilations. */ +/* This has no initializer because initialized variables in Emacs + become read-only after dumping. */ +reg_syntax_t re_syntax_options; + + +/* Specify the precise syntax of regexps for compilation. This provides= + for compatibility for various utilities which historically have + different, incompatible syntaxes. + + The argument SYNTAX is a bit mask comprised of the various bits + defined in regex.h. We return the old syntax. */ + +reg_syntax_t +re_set_syntax (reg_syntax_t syntax) +{ + reg_syntax_t ret =3D re_syntax_options; + + re_syntax_options =3D syntax; +# ifdef DEBUG + if (syntax & RE_DEBUG) + debug =3D 1; + else if (debug) /* was on but now is not */ + debug =3D 0; +# endif /* DEBUG */ + return ret; +} +# ifdef _LIBC +weak_alias (__re_set_syntax, re_set_syntax) +# endif +=0C +/* This table gives an error message for each of the error codes listed + in regex.h. Obviously the order here has to be same as there. + POSIX doesn't require that we do anything for REG_NOERROR, + but why not be nice? */ + +static const char re_error_msgid[] =3D + { +# define REG_NOERROR_IDX 0 + gettext_noop ("Success") /* REG_NOERROR */ + "\0" +# define REG_NOMATCH_IDX (REG_NOERROR_IDX + sizeof "Success") + gettext_noop ("No match") /* REG_NOMATCH */ + "\0" +# define REG_BADPAT_IDX (REG_NOMATCH_IDX + sizeof "No match") + gettext_noop ("Invalid regular expression") /* REG_BADPAT */ + "\0" +# define REG_ECOLLATE_IDX (REG_BADPAT_IDX + sizeof "Invalid regular expr= ession") + gettext_noop ("Invalid collation character") /* REG_ECOLLATE */ + "\0" +# define REG_ECTYPE_IDX (REG_ECOLLATE_IDX + sizeof "Invalid collation ch= aracter") + gettext_noop ("Invalid character class name") /* REG_ECTYPE */ + "\0" +# define REG_EESCAPE_IDX (REG_ECTYPE_IDX + sizeof "Invalid character cla= ss name") + gettext_noop ("Trailing backslash") /* REG_EESCAPE */ + "\0" +# define REG_ESUBREG_IDX (REG_EESCAPE_IDX + sizeof "Trailing backslash")= + gettext_noop ("Invalid back reference") /* REG_ESUBREG */ + "\0" +# define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back referenc= e") + gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */ + "\0" +# define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^") + gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */ + "\0" +# define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(") + gettext_noop ("Unmatched \\{") /* REG_EBRACE */ + "\0" +# define REG_BADBR_IDX (REG_EBRACE_IDX + sizeof "Unmatched \\{") + gettext_noop ("Invalid content of \\{\\}") /* REG_BADBR */ + "\0" +# define REG_ERANGE_IDX (REG_BADBR_IDX + sizeof "Invalid content of \\{\= \}") + gettext_noop ("Invalid range end") /* REG_ERANGE */ + "\0" +# define REG_ESPACE_IDX (REG_ERANGE_IDX + sizeof "Invalid range end") + gettext_noop ("Memory exhausted") /* REG_ESPACE */ + "\0" +# define REG_BADRPT_IDX (REG_ESPACE_IDX + sizeof "Memory exhausted") + gettext_noop ("Invalid preceding regular expression") /* REG_BADRPT = */ + "\0" +# define REG_EEND_IDX (REG_BADRPT_IDX + sizeof "Invalid preceding regula= r expression") + gettext_noop ("Premature end of regular expression") /* REG_EEND */ + "\0" +# define REG_ESIZE_IDX (REG_EEND_IDX + sizeof "Premature end of regular = expression") + gettext_noop ("Regular expression too big") /* REG_ESIZE */ + "\0" +# define REG_ERPAREN_IDX (REG_ESIZE_IDX + sizeof "Regular expression too= big") + gettext_noop ("Unmatched ) or \\)") /* REG_ERPAREN */ + }; + +static const size_t re_error_msgid_idx[] =3D + { + REG_NOERROR_IDX, + REG_NOMATCH_IDX, + REG_BADPAT_IDX, + REG_ECOLLATE_IDX, + REG_ECTYPE_IDX, + REG_EESCAPE_IDX, + REG_ESUBREG_IDX, + REG_EBRACK_IDX, + REG_EPAREN_IDX, + REG_EBRACE_IDX, + REG_BADBR_IDX, + REG_ERANGE_IDX, + REG_ESPACE_IDX, + REG_BADRPT_IDX, + REG_EEND_IDX, + REG_ESIZE_IDX, + REG_ERPAREN_IDX + }; +=0C +#endif /* INSIDE_RECURSION */ + +#ifndef DEFINED_ONCE +/* Avoiding alloca during matching, to placate r_alloc. */ + +/* Define MATCH_MAY_ALLOCATE unless we need to make sure that the + searching and matching functions should not call alloca. On some + systems, alloca is implemented in terms of malloc, and if we're + using the relocating allocator routines, then malloc could cause a + relocation, which might (if the strings being searched are in the + ralloc heap) shift the data out from underneath the regexp + routines. + + Here's another reason to avoid allocation: Emacs + processes input from X in a signal handler; processing X input may + call malloc; if input arrives while a matching routine is calling + malloc, then we're scrod. But Emacs can't just block input while + calling matching routines; then we don't notice interrupts when + they come in. So, Emacs blocks input around all regexp calls + except the matching calls, which it leaves unprotected, in the + faith that they will not malloc. */ + +/* Normally, this is fine. */ +# define MATCH_MAY_ALLOCATE + +/* When using GNU C, we are not REALLY using the C alloca, no matter + what config.h may say. So don't take precautions for it. */ +# ifdef __GNUC__ +# undef C_ALLOCA +# endif + +/* The match routines may not allocate if (1) they would do it with mall= oc + and (2) it's not safe for them to use malloc. + Note that if REL_ALLOC is defined, matching would not use malloc for = the + failure stack, but we would still use it for the register vectors; + so REL_ALLOC should not affect this. */ +# if (defined C_ALLOCA || defined REGEX_MALLOC) && defined emacs +# undef MATCH_MAY_ALLOCATE +# endif +#endif /* not DEFINED_ONCE */ +=0C +#ifdef INSIDE_RECURSION +/* Failure stack declarations and macros; both re_compile_fastmap and + re_match_2 use a failure stack. These have to be macros because of + REGEX_ALLOCATE_STACK. */ + + +/* Number of failure points for which to initially allocate space + when matching. If this number is exceeded, we allocate more + space, so it is not a hard limit. */ +# ifndef INIT_FAILURE_ALLOC +# define INIT_FAILURE_ALLOC 5 +# endif + +/* Roughly the maximum number of failure points on the stack. Would be + exactly that if always used MAX_FAILURE_ITEMS items each time we fail= ed. + This is a variable only so users of regex can assign to it; we never + change it ourselves. */ + +# ifdef INT_IS_16BIT + +# ifndef DEFINED_ONCE +# if defined MATCH_MAY_ALLOCATE +/* 4400 was enough to cause a crash on Alpha OSF/1, + whose default stack limit is 2mb. */ +long int re_max_failures =3D 4000; +# else +long int re_max_failures =3D 2000; +# endif +# endif + +union PREFIX(fail_stack_elt) +{ + UCHAR_T *pointer; + long int integer; +}; + +typedef union PREFIX(fail_stack_elt) PREFIX(fail_stack_elt_t); + +typedef struct +{ + PREFIX(fail_stack_elt_t) *stack; + unsigned long int size; + unsigned long int avail; /* Offset of next open position. */ +} PREFIX(fail_stack_type); + +# else /* not INT_IS_16BIT */ + +# ifndef DEFINED_ONCE +# if defined MATCH_MAY_ALLOCATE +/* 4400 was enough to cause a crash on Alpha OSF/1, + whose default stack limit is 2mb. */ +int re_max_failures =3D 4000; +# else +int re_max_failures =3D 2000; +# endif +# endif + +union PREFIX(fail_stack_elt) +{ + UCHAR_T *pointer; + int integer; +}; + +typedef union PREFIX(fail_stack_elt) PREFIX(fail_stack_elt_t); + +typedef struct +{ + PREFIX(fail_stack_elt_t) *stack; + unsigned size; + unsigned avail; /* Offset of next open position. */ +} PREFIX(fail_stack_type); + +# endif /* INT_IS_16BIT */ + +# ifndef DEFINED_ONCE +# define FAIL_STACK_EMPTY() (fail_stack.avail =3D=3D 0) +# define FAIL_STACK_PTR_EMPTY() (fail_stack_ptr->avail =3D=3D 0) +# define FAIL_STACK_FULL() (fail_stack.avail =3D=3D fail_stack.siz= e) +# endif + + +/* Define macros to initialize and free the failure stack. + Do `return -2' if the alloc fails. */ + +# ifdef MATCH_MAY_ALLOCATE +# define INIT_FAIL_STACK() \ + do { \ + fail_stack.stack =3D (PREFIX(fail_stack_elt_t) *) \ + REGEX_ALLOCATE_STACK (INIT_FAILURE_ALLOC * sizeof (PREFIX(fail_sta= ck_elt_t))); \ + \ + if (fail_stack.stack =3D=3D NULL) \ + return -2; \ + \ + fail_stack.size =3D INIT_FAILURE_ALLOC; \ + fail_stack.avail =3D 0; \ + } while (0) + +# define RESET_FAIL_STACK() REGEX_FREE_STACK (fail_stack.stack) +# else +# define INIT_FAIL_STACK() \ + do { \ + fail_stack.avail =3D 0; \ + } while (0) + +# define RESET_FAIL_STACK() +# endif + + +/* Double the size of FAIL_STACK, up to approximately `re_max_failures' = items. + + Return 1 if succeeds, and 0 if either ran out of memory + allocating space for it or it was already too large. + + REGEX_REALLOCATE_STACK requires `destination' be declared. */ + +# define DOUBLE_FAIL_STACK(fail_stack) \ + ((fail_stack).size > (unsigned) (re_max_failures * MAX_FAILURE_ITEMS) = \ + ? 0 \ + : ((fail_stack).stack =3D (PREFIX(fail_stack_elt_t) *) \ + REGEX_REALLOCATE_STACK ((fail_stack).stack, \ + (fail_stack).size * sizeof (PREFIX(fail_stack_elt_t)), \ + ((fail_stack).size << 1) * sizeof (PREFIX(fail_stack_elt_t))),= \ + \ + (fail_stack).stack =3D=3D NULL \ + ? 0 \ + : ((fail_stack).size <<=3D 1, \ + 1))) + + +/* Push pointer POINTER on FAIL_STACK. + Return 1 if was able to do so and 0 if ran out of memory allocating + space to do so. */ +# define PUSH_PATTERN_OP(POINTER, FAIL_STACK) \ + ((FAIL_STACK_FULL () \ + && !DOUBLE_FAIL_STACK (FAIL_STACK)) \ + ? 0 \ + : ((FAIL_STACK).stack[(FAIL_STACK).avail++].pointer =3D POINTER, \ + 1)) + +/* Push a pointer value onto the failure stack. + Assumes the variable `fail_stack'. Probably should only + be called from within `PUSH_FAILURE_POINT'. */ +# define PUSH_FAILURE_POINTER(item) \ + fail_stack.stack[fail_stack.avail++].pointer =3D (UCHAR_T *) (item) + +/* This pushes an integer-valued item onto the failure stack. + Assumes the variable `fail_stack'. Probably should only + be called from within `PUSH_FAILURE_POINT'. */ +# define PUSH_FAILURE_INT(item) \ + fail_stack.stack[fail_stack.avail++].integer =3D (item) + +/* Push a fail_stack_elt_t value onto the failure stack. + Assumes the variable `fail_stack'. Probably should only + be called from within `PUSH_FAILURE_POINT'. */ +# define PUSH_FAILURE_ELT(item) \ + fail_stack.stack[fail_stack.avail++] =3D (item) + +/* These three POP... operations complement the three PUSH... operations= =2E + All assume that `fail_stack' is nonempty. */ +# define POP_FAILURE_POINTER() fail_stack.stack[--fail_stack.avail].poin= ter +# define POP_FAILURE_INT() fail_stack.stack[--fail_stack.avail].integer +# define POP_FAILURE_ELT() fail_stack.stack[--fail_stack.avail] + +/* Used to omit pushing failure point id's when we're not debugging. */= +# ifdef DEBUG +# define DEBUG_PUSH PUSH_FAILURE_INT +# define DEBUG_POP(item_addr) *(item_addr) =3D POP_FAILURE_INT () +# else +# define DEBUG_PUSH(item) +# define DEBUG_POP(item_addr) +# endif + + +/* Push the information about the state we will need + if we ever fail back to it. + + Requires variables fail_stack, regstart, regend, reg_info, and + num_regs_pushed be declared. DOUBLE_FAIL_STACK requires `destination= ' + be declared. + + Does `return FAILURE_CODE' if runs out of memory. */ + +# define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code) \= + do { \ + char *destination; \ + /* Must be int, so when we don't save any registers, the arithmetic = \ + of 0 + -1 isn't done as unsigned. */ \ + /* Can't be int, since there is not a shred of a guarantee that int = \ + is wide enough to hold a value of something to which pointer can = \ + be assigned */ \ + active_reg_t this_reg; \ + \ + DEBUG_STATEMENT (failure_id++); \ + DEBUG_STATEMENT (nfailure_points_pushed++); \ + DEBUG_PRINT2 ("\nPUSH_FAILURE_POINT #%u:\n", failure_id); \ + DEBUG_PRINT2 (" Before push, next avail: %d\n", (fail_stack).avail)= ;\ + DEBUG_PRINT2 (" size: %d\n", (fail_stack).size);= \ + \ + DEBUG_PRINT2 (" slots needed: %ld\n", NUM_FAILURE_ITEMS); \ + DEBUG_PRINT2 (" available: %d\n", REMAINING_AVAIL_SLOTS); \ + \ + /* Ensure we have enough space allocated for what we will push. */ = \ + while (REMAINING_AVAIL_SLOTS < NUM_FAILURE_ITEMS) \ + { \ + if (!DOUBLE_FAIL_STACK (fail_stack)) \ + return failure_code; \ + \ + DEBUG_PRINT2 ("\n Doubled stack; size now: %d\n", \ + (fail_stack).size); \ + DEBUG_PRINT2 (" slots available: %d\n", REMAINING_AVAIL_SLOTS);= \ + } \ + \ + /* Push the info, starting with the registers. */ \ + DEBUG_PRINT1 ("\n"); \ + \ + if (1) \ + for (this_reg =3D lowest_active_reg; this_reg <=3D highest_active_= reg; \ + this_reg++) \ + { \ + DEBUG_PRINT2 (" Pushing reg: %lu\n", this_reg); \ + DEBUG_STATEMENT (num_regs_pushed++); \ + \ + DEBUG_PRINT2 (" start: %p\n", regstart[this_reg]); \ + PUSH_FAILURE_POINTER (regstart[this_reg]); \ + \ + DEBUG_PRINT2 (" end: %p\n", regend[this_reg]); \ + PUSH_FAILURE_POINTER (regend[this_reg]); \ + \ + DEBUG_PRINT2 (" info: %p\n ", \ + reg_info[this_reg].word.pointer); \ + DEBUG_PRINT2 (" match_null=3D%d", \ + REG_MATCH_NULL_STRING_P (reg_info[this_reg])); \ + DEBUG_PRINT2 (" active=3D%d", IS_ACTIVE (reg_info[this_reg])); \ + DEBUG_PRINT2 (" matched_something=3D%d", \ + MATCHED_SOMETHING (reg_info[this_reg])); \ + DEBUG_PRINT2 (" ever_matched=3D%d", \ + EVER_MATCHED_SOMETHING (reg_info[this_reg])); \ + DEBUG_PRINT1 ("\n"); \ + PUSH_FAILURE_ELT (reg_info[this_reg].word); \ + } \ + \ + DEBUG_PRINT2 (" Pushing low active reg: %ld\n", lowest_active_reg)= ;\ + PUSH_FAILURE_INT (lowest_active_reg); \ + \ + DEBUG_PRINT2 (" Pushing high active reg: %ld\n", highest_active_reg= );\ + PUSH_FAILURE_INT (highest_active_reg); \ + \ + DEBUG_PRINT2 (" Pushing pattern %p:\n", pattern_place); \ + DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend); \ + PUSH_FAILURE_POINTER (pattern_place); \ + \ + DEBUG_PRINT2 (" Pushing string %p: `", string_place); \ + DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2, = \ + size2); \ + DEBUG_PRINT1 ("'\n"); \ + PUSH_FAILURE_POINTER (string_place); \ + \ + DEBUG_PRINT2 (" Pushing failure id: %u\n", failure_id); \ + DEBUG_PUSH (failure_id); \ + } while (0) + +# ifndef DEFINED_ONCE +/* This is the number of items that are pushed and popped on the stack + for each register. */ +# define NUM_REG_ITEMS 3 + +/* Individual items aside from the registers. */ +# ifdef DEBUG +# define NUM_NONREG_ITEMS 5 /* Includes failure point id. */ +# else +# define NUM_NONREG_ITEMS 4 +# endif + +/* We push at most this many items on the stack. */ +/* We used to use (num_regs - 1), which is the number of registers + this regexp will save; but that was changed to 5 + to avoid stack overflow for a regexp with lots of parens. */ +# define MAX_FAILURE_ITEMS (5 * NUM_REG_ITEMS + NUM_NONREG_ITEMS) + +/* We actually push this many items. */ +# define NUM_FAILURE_ITEMS \ + (((0 \ + ? 0 : highest_active_reg - lowest_active_reg + 1) \ + * NUM_REG_ITEMS) \ + + NUM_NONREG_ITEMS) + +/* How many items can still be added to the stack without overflowing it= =2E */ +# define REMAINING_AVAIL_SLOTS ((fail_stack).size - (fail_stack).avail)= +# endif /* not DEFINED_ONCE */ + + +/* Pops what PUSH_FAIL_STACK pushes. + + We restore into the parameters, all of which should be lvalues: + STR -- the saved data position. + PAT -- the saved pattern position. + LOW_REG, HIGH_REG -- the highest and lowest active registers. + REGSTART, REGEND -- arrays of string positions. + REG_INFO -- array of information about each subexpression. + + Also assumes the variables `fail_stack' and (if debugging), `bufp', + `pend', `string1', `size1', `string2', and `size2'. */ +# define POP_FAILURE_POINT(str, pat, low_reg, high_reg, regstart, regend= , reg_info)\ +{ \ + DEBUG_STATEMENT (unsigned failure_id;) \ + active_reg_t this_reg; \ + const UCHAR_T *string_temp; \ + \ + assert (!FAIL_STACK_EMPTY ()); \ + \ + /* Remove failure points and point to how many regs pushed. */ \ + DEBUG_PRINT1 ("POP_FAILURE_POINT:\n"); \ + DEBUG_PRINT2 (" Before pop, next avail: %d\n", fail_stack.avail); \ + DEBUG_PRINT2 (" size: %d\n", fail_stack.size); \ + \ + assert (fail_stack.avail >=3D NUM_NONREG_ITEMS); \ + \ + DEBUG_POP (&failure_id); \ + DEBUG_PRINT2 (" Popping failure id: %u\n", failure_id); \ + \ + /* If the saved string location is NULL, it came from an \ + on_failure_keep_string_jump opcode, and we want to throw away the \= + saved NULL, thus retaining our current position in the string. */ = \ + string_temp =3D POP_FAILURE_POINTER (); \ + if (string_temp !=3D NULL) \ + str =3D (const CHAR_T *) string_temp; \ + \ + DEBUG_PRINT2 (" Popping string %p: `", str); \ + DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2); \ + DEBUG_PRINT1 ("'\n"); \ + \ + pat =3D (UCHAR_T *) POP_FAILURE_POINTER (); \ + DEBUG_PRINT2 (" Popping pattern %p:\n", pat); \ + DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend); \ + \ + /* Restore register info. */ \ + high_reg =3D (active_reg_t) POP_FAILURE_INT (); \ + DEBUG_PRINT2 (" Popping high active reg: %ld\n", high_reg); \ + \ + low_reg =3D (active_reg_t) POP_FAILURE_INT (); \ + DEBUG_PRINT2 (" Popping low active reg: %ld\n", low_reg); \ + \ + if (1) \ + for (this_reg =3D high_reg; this_reg >=3D low_reg; this_reg--) \ + { \ + DEBUG_PRINT2 (" Popping reg: %ld\n", this_reg); \ + \ + reg_info[this_reg].word =3D POP_FAILURE_ELT (); \ + DEBUG_PRINT2 (" info: %p\n", \ + reg_info[this_reg].word.pointer); \ + \ + regend[this_reg] =3D (const CHAR_T *) POP_FAILURE_POINTER (); \ + DEBUG_PRINT2 (" end: %p\n", regend[this_reg]); \ + \ + regstart[this_reg] =3D (const CHAR_T *) POP_FAILURE_POINTER (); \ + DEBUG_PRINT2 (" start: %p\n", regstart[this_reg]); \ + } \ + else \ + { \ + for (this_reg =3D highest_active_reg; this_reg > high_reg; this_re= g--) \ + { \ + reg_info[this_reg].word.integer =3D 0; \ + regend[this_reg] =3D 0; \ + regstart[this_reg] =3D 0; \ + } \ + highest_active_reg =3D high_reg; \ + } \ + \ + set_regs_matched_done =3D 0; \ + DEBUG_STATEMENT (nfailure_points_popped++); \ +} /* POP_FAILURE_POINT */ +=0C +/* Structure for per-register (a.k.a. per-group) information. + Other register information, such as the + starting and ending positions (which are addresses), and the list of + inner groups (which is a bits list) are maintained in separate + variables. + + We are making a (strictly speaking) nonportable assumption here: that= + the compiler will pack our bit fields into something that fits into + the type of `word', i.e., is something that fits into one item on the= + failure stack. */ + + +/* Declarations and macros for re_match_2. */ + +typedef union +{ + PREFIX(fail_stack_elt_t) word; + struct + { + /* This field is one if this group can match the empty string, + zero if not. If not yet determined, `MATCH_NULL_UNSET_VALUE'.= */ +# define MATCH_NULL_UNSET_VALUE 3 + unsigned match_null_string_p : 2; + unsigned is_active : 1; + unsigned matched_something : 1; + unsigned ever_matched_something : 1; + } bits; +} PREFIX(register_info_type); + +# ifndef DEFINED_ONCE +# define REG_MATCH_NULL_STRING_P(R) ((R).bits.match_null_string_p) +# define IS_ACTIVE(R) ((R).bits.is_active) +# define MATCHED_SOMETHING(R) ((R).bits.matched_something) +# define EVER_MATCHED_SOMETHING(R) ((R).bits.ever_matched_something) + + +/* Call this when have matched a real character; it sets `matched' flags= + for the subexpressions which we are currently inside. Also records + that those subexprs have matched. */ +# define SET_REGS_MATCHED() \ + do \ + { \ + if (!set_regs_matched_done) \ + { \ + active_reg_t r; \ + set_regs_matched_done =3D 1; \ + for (r =3D lowest_active_reg; r <=3D highest_active_reg; r++) \ + { \ + MATCHED_SOMETHING (reg_info[r]) \ + =3D EVER_MATCHED_SOMETHING (reg_info[r]) \ + =3D 1; \ + } \ + } \ + } \ + while (0) +# endif /* not DEFINED_ONCE */ + +/* Registers are set to a sentinel when they haven't yet matched. */ +static CHAR_T PREFIX(reg_unset_dummy); +# define REG_UNSET_VALUE (&PREFIX(reg_unset_dummy)) +# define REG_UNSET(e) ((e) =3D=3D REG_UNSET_VALUE) + +/* Subroutine declarations and macros for regex_compile. */ +static void PREFIX(store_op1) (re_opcode_t op, UCHAR_T *loc, int arg); +static void PREFIX(store_op2) (re_opcode_t op, UCHAR_T *loc, + int arg1, int arg2); +static void PREFIX(insert_op1) (re_opcode_t op, UCHAR_T *loc, + int arg, UCHAR_T *end); +static void PREFIX(insert_op2) (re_opcode_t op, UCHAR_T *loc, + int arg1, int arg2, UCHAR_T *end); +static boolean PREFIX(at_begline_loc_p) (const CHAR_T *pattern, + const CHAR_T *p, + reg_syntax_t syntax); +static boolean PREFIX(at_endline_loc_p) (const CHAR_T *p, + const CHAR_T *pend, + reg_syntax_t syntax); +# ifdef WCHAR +static reg_errcode_t wcs_compile_range (CHAR_T range_start, + const CHAR_T **p_ptr, + const CHAR_T *pend, + char *translate, + reg_syntax_t syntax, + UCHAR_T *b, + CHAR_T *char_set); +static void insert_space (int num, CHAR_T *loc, CHAR_T *end); +# else /* BYTE */ +static reg_errcode_t byte_compile_range (unsigned int range_start, + const char **p_ptr, + const char *pend, + char *translate, + reg_syntax_t syntax, + unsigned char *b); +# endif /* WCHAR */ + +/* Fetch the next character in the uncompiled pattern---translating it + if necessary. Also cast from a signed character in the constant + string passed to us by the user to an unsigned char that we can use + as an array index (in, e.g., `translate'). */ +/* ifdef MBS_SUPPORT, we translate only if character <=3D 0xff, + because it is impossible to allocate 4GB array for some encodings + which have 4 byte character_set like UCS4. */ +# ifndef PATFETCH +# ifdef WCHAR +# define PATFETCH(c) \ + do {if (p =3D=3D pend) return REG_EEND; \ + c =3D (UCHAR_T) *p++; \ + if (translate && (c <=3D 0xff)) c =3D (UCHAR_T) translate[c]; \ + } while (0) +# else /* BYTE */ +# define PATFETCH(c) \ + do {if (p =3D=3D pend) return REG_EEND; \ + c =3D (unsigned char) *p++; \ + if (translate) c =3D (unsigned char) translate[c]; \ + } while (0) +# endif /* WCHAR */ +# endif + +/* Fetch the next character in the uncompiled pattern, with no + translation. */ +# define PATFETCH_RAW(c) \ + do {if (p =3D=3D pend) return REG_EEND; \ + c =3D (UCHAR_T) *p++; \ + } while (0) + +/* Go backwards one character in the pattern. */ +# define PATUNFETCH p-- + + +/* If `translate' is non-null, return translate[D], else just D. We + cast the subscript to translate because some data is declared as + `char *', to avoid warnings when a string constant is passed. But + when we use a character as a subscript we must make it unsigned. */ +/* ifdef MBS_SUPPORT, we translate only if character <=3D 0xff, + because it is impossible to allocate 4GB array for some encodings + which have 4 byte character_set like UCS4. */ + +# ifndef TRANSLATE +# ifdef WCHAR +# define TRANSLATE(d) \ + ((translate && ((UCHAR_T) (d)) <=3D 0xff) \ + ? (char) translate[(unsigned char) (d)] : (d)) +# else /* BYTE */ +# define TRANSLATE(d) \ + (translate ? (char) translate[(unsigned char) (d)] : (d)) +# endif /* WCHAR */ +# endif + + +/* Macros for outputting the compiled pattern into `buffer'. */ + +/* If the buffer isn't allocated when it comes in, use this. */ +# define INIT_BUF_SIZE (32 * sizeof(UCHAR_T)) + +/* Make sure we have at least N more bytes of space in buffer. */ +# ifdef WCHAR +# define GET_BUFFER_SPACE(n) \ + while (((unsigned long)b - (unsigned long)COMPILED_BUFFER_VAR \ + + (n)*sizeof(CHAR_T)) > bufp->allocated) \ + EXTEND_BUFFER () +# else /* BYTE */ +# define GET_BUFFER_SPACE(n) \ + while ((unsigned long) (b - bufp->buffer + (n)) > bufp->allocated) \= + EXTEND_BUFFER () +# endif /* WCHAR */ + +/* Make sure we have one more byte of buffer space and then add C to it.= */ +# define BUF_PUSH(c) \ + do { \ + GET_BUFFER_SPACE (1); \ + *b++ =3D (UCHAR_T) (c); \ + } while (0) + + +/* Ensure we have two more bytes of buffer space and then append C1 and = C2. */ +# define BUF_PUSH_2(c1, c2) \ + do { \ + GET_BUFFER_SPACE (2); \ + *b++ =3D (UCHAR_T) (c1); \ + *b++ =3D (UCHAR_T) (c2); \ + } while (0) + + +/* As with BUF_PUSH_2, except for three bytes. */ +# define BUF_PUSH_3(c1, c2, c3) \ + do { \ + GET_BUFFER_SPACE (3); \ + *b++ =3D (UCHAR_T) (c1); \ + *b++ =3D (UCHAR_T) (c2); \ + *b++ =3D (UCHAR_T) (c3); \ + } while (0) + +/* Store a jump with opcode OP at LOC to location TO. We store a + relative address offset by the three bytes the jump itself occupies. = */ +# define STORE_JUMP(op, loc, to) \ + PREFIX(store_op1) (op, loc, (int) ((to) - (loc) - (1 + OFFSET_ADDRESS_S= IZE))) + +/* Likewise, for a two-argument jump. */ +# define STORE_JUMP2(op, loc, to, arg) \ + PREFIX(store_op2) (op, loc, (int) ((to) - (loc) - (1 + OFFSET_ADDRESS_= SIZE)), arg) + +/* Like `STORE_JUMP', but for inserting. Assume `b' is the buffer end. = */ +# define INSERT_JUMP(op, loc, to) \ + PREFIX(insert_op1) (op, loc, (int) ((to) - (loc) - (1 + OFFSET_ADDRESS= _SIZE)), b) + +/* Like `STORE_JUMP2', but for inserting. Assume `b' is the buffer end.= */ +# define INSERT_JUMP2(op, loc, to, arg) \ + PREFIX(insert_op2) (op, loc, (int) ((to) - (loc) - (1 + OFFSET_ADDRESS= _SIZE)),\ + arg, b) + +/* This is not an arbitrary limit: the arguments which represent offsets= + into the pattern are two bytes long. So if 2^16 bytes turns out to + be too small, many things would have to change. */ +/* Any other compiler which, like MSC, has allocation limit below 2^16 + bytes will have to use approach similar to what was done below for + MSC and drop MAX_BUF_SIZE a bit. Otherwise you may end up + reallocating to 0 bytes. Such thing is not going to work too well. + You have been warned!! */ +# ifndef DEFINED_ONCE +# if defined _MSC_VER && !defined WIN32 +/* Microsoft C 16-bit versions limit malloc to approx 65512 bytes. + The REALLOC define eliminates a flurry of conversion warnings, + but is not required. */ +# define MAX_BUF_SIZE 65500L +# define REALLOC(p,s) realloc ((p), (size_t) (s)) +# else +# define MAX_BUF_SIZE (1L << 16) +# define REALLOC(p,s) realloc ((p), (s)) +# endif + +/* Extend the buffer by twice its current size via realloc and + reset the pointers that pointed into the old block to point to the + correct places in the new one. If extending the buffer results in it= + being larger than MAX_BUF_SIZE, then flag memory exhausted. */ +# if __BOUNDED_POINTERS__ +# define SET_HIGH_BOUND(P) (__ptrhigh (P) =3D __ptrlow (P) + bufp->all= ocated) +# define MOVE_BUFFER_POINTER(P) \ + (__ptrlow (P) +=3D incr, SET_HIGH_BOUND (P), __ptrvalue (P) +=3D incr)= +# define ELSE_EXTEND_BUFFER_HIGH_BOUND \ + else \ + { \ + SET_HIGH_BOUND (b); \ + SET_HIGH_BOUND (begalt); \ + if (fixup_alt_jump) \ + SET_HIGH_BOUND (fixup_alt_jump); \ + if (laststart) \ + SET_HIGH_BOUND (laststart); \ + if (pending_exact) \ + SET_HIGH_BOUND (pending_exact); \ + } +# else +# define MOVE_BUFFER_POINTER(P) (P) +=3D incr +# define ELSE_EXTEND_BUFFER_HIGH_BOUND +# endif +# endif /* not DEFINED_ONCE */ + +# ifdef WCHAR +# define EXTEND_BUFFER() \ + do { \ + UCHAR_T *old_buffer =3D COMPILED_BUFFER_VAR; \ + int wchar_count; \ + if (bufp->allocated + sizeof(UCHAR_T) > MAX_BUF_SIZE) \ + return REG_ESIZE; \ + bufp->allocated <<=3D 1; \ + if (bufp->allocated > MAX_BUF_SIZE) \ + bufp->allocated =3D MAX_BUF_SIZE; \ + /* How many characters the new buffer can have? */ \ + wchar_count =3D bufp->allocated / sizeof(UCHAR_T); \ + if (wchar_count =3D=3D 0) wchar_count =3D 1; \ + /* Truncate the buffer to CHAR_T align. */ \ + bufp->allocated =3D wchar_count * sizeof(UCHAR_T); \ + RETALLOC (COMPILED_BUFFER_VAR, wchar_count, UCHAR_T); \ + bufp->buffer =3D (char*)COMPILED_BUFFER_VAR; \ + if (COMPILED_BUFFER_VAR =3D=3D NULL) \ + return REG_ESPACE; \ + /* If the buffer moved, move all the pointers into it. */ \ + if (old_buffer !=3D COMPILED_BUFFER_VAR) \ + { \ + int incr =3D COMPILED_BUFFER_VAR - old_buffer; \ + MOVE_BUFFER_POINTER (b); \ + MOVE_BUFFER_POINTER (begalt); \ + if (fixup_alt_jump) \ + MOVE_BUFFER_POINTER (fixup_alt_jump); \ + if (laststart) \ + MOVE_BUFFER_POINTER (laststart); \ + if (pending_exact) \ + MOVE_BUFFER_POINTER (pending_exact); \ + } \ + ELSE_EXTEND_BUFFER_HIGH_BOUND \ + } while (0) +# else /* BYTE */ +# define EXTEND_BUFFER() \ + do { \ + UCHAR_T *old_buffer =3D COMPILED_BUFFER_VAR; \ + if (bufp->allocated =3D=3D MAX_BUF_SIZE) \ + return REG_ESIZE; \ + bufp->allocated <<=3D 1; \ + if (bufp->allocated > MAX_BUF_SIZE) \ + bufp->allocated =3D MAX_BUF_SIZE; \ + bufp->buffer =3D REALLOC (COMPILED_BUFFER_VAR, bufp->allocated); \ + if (COMPILED_BUFFER_VAR =3D=3D NULL) \ + return REG_ESPACE; \ + /* If the buffer moved, move all the pointers into it. */ \ + if (old_buffer !=3D COMPILED_BUFFER_VAR) \ + { \ + int incr =3D COMPILED_BUFFER_VAR - old_buffer; \ + MOVE_BUFFER_POINTER (b); \ + MOVE_BUFFER_POINTER (begalt); \ + if (fixup_alt_jump) \ + MOVE_BUFFER_POINTER (fixup_alt_jump); \ + if (laststart) \ + MOVE_BUFFER_POINTER (laststart); \ + if (pending_exact) \ + MOVE_BUFFER_POINTER (pending_exact); \ + } \ + ELSE_EXTEND_BUFFER_HIGH_BOUND \ + } while (0) +# endif /* WCHAR */ + +# ifndef DEFINED_ONCE +/* Since we have one byte reserved for the register number argument to + {start,stop}_memory, the maximum number of groups we can report + things about is what fits in that byte. */ +# define MAX_REGNUM 255 + +/* But patterns can have more than `MAX_REGNUM' registers. We just + ignore the excess. */ +typedef unsigned regnum_t; + + +/* Macros for the compile stack. */ + +/* Since offsets can go either forwards or backwards, this type needs to= + be able to hold values from -(MAX_BUF_SIZE - 1) to MAX_BUF_SIZE - 1. = */ +/* int may be not enough when sizeof(int) =3D=3D 2. */ +typedef long pattern_offset_t; + +typedef struct +{ + pattern_offset_t begalt_offset; + pattern_offset_t fixup_alt_jump; + pattern_offset_t inner_group_offset; + pattern_offset_t laststart_offset; + regnum_t regnum; +} compile_stack_elt_t; + + +typedef struct +{ + compile_stack_elt_t *stack; + unsigned size; + unsigned avail; /* Offset of next open position. */ +} compile_stack_type; + + +# define INIT_COMPILE_STACK_SIZE 32 + +# define COMPILE_STACK_EMPTY (compile_stack.avail =3D=3D 0) +# define COMPILE_STACK_FULL (compile_stack.avail =3D=3D compile_stack.= size) + +/* The next available element. */ +# define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail]) + +# endif /* not DEFINED_ONCE */ + +/* Set the bit for character C in a list. */ +# ifndef DEFINED_ONCE +# define SET_LIST_BIT(c) \ + (b[((unsigned char) (c)) / BYTEWIDTH] \ + |=3D 1 << (((unsigned char) c) % BYTEWIDTH)) +# endif /* DEFINED_ONCE */ + +/* Get the next unsigned number in the uncompiled pattern. */ +# define GET_UNSIGNED_NUMBER(num) \ + { \ + while (p !=3D pend) \ + { \ + PATFETCH (c); \ + if (c < '0' || c > '9') \ + break; \ + if (num <=3D RE_DUP_MAX) \ + { \ + if (num < 0) \ + num =3D 0; \ + num =3D num * 10 + c - '0'; \ + } \ + } \ + } + +# ifndef DEFINED_ONCE +# if defined _LIBC || WIDE_CHAR_SUPPORT +/* The GNU C library provides support for user-defined character classes= + and the functions from ISO C amendement 1. */ +# ifdef CHARCLASS_NAME_MAX +# define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX +# else +/* This shouldn't happen but some implementation might still have this + problem. Use a reasonable default value. */ +# define CHAR_CLASS_MAX_LENGTH 256 +# endif + +# ifdef _LIBC +# define IS_CHAR_CLASS(string) __wctype (string) +# else +# define IS_CHAR_CLASS(string) wctype (string) +# endif +# else +# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */ + +# define IS_CHAR_CLASS(string) \ + (STREQ (string, "alpha") || STREQ (string, "upper") \ + || STREQ (string, "lower") || STREQ (string, "digit") \ + || STREQ (string, "alnum") || STREQ (string, "xdigit") \ + || STREQ (string, "space") || STREQ (string, "print") \ + || STREQ (string, "punct") || STREQ (string, "graph") \ + || STREQ (string, "cntrl") || STREQ (string, "blank")) +# endif +# endif /* DEFINED_ONCE */ +=0C +# ifndef MATCH_MAY_ALLOCATE + +/* If we cannot allocate large objects within re_match_2_internal, + we make the fail stack and register vectors global. + The fail stack, we grow to the maximum size when a regexp + is compiled. + The register vectors, we adjust in size each time we + compile a regexp, according to the number of registers it needs. */ + +static PREFIX(fail_stack_type) fail_stack; + +/* Size with which the following vectors are currently allocated. + That is so we can make them bigger as needed, + but never make them smaller. */ +# ifdef DEFINED_ONCE +static int regs_allocated_size; + +static const char ** regstart, ** regend; +static const char ** old_regstart, ** old_regend; +static const char **best_regstart, **best_regend; +static const char **reg_dummy; +# endif /* DEFINED_ONCE */ + +static PREFIX(register_info_type) *PREFIX(reg_info); +static PREFIX(register_info_type) *PREFIX(reg_info_dummy); + +/* Make the register vectors big enough for NUM_REGS registers, + but don't make them smaller. */ + +static void +PREFIX(regex_grow_registers) (int num_regs) +{ + if (num_regs > regs_allocated_size) + { + RETALLOC_IF (regstart, num_regs, const char *); + RETALLOC_IF (regend, num_regs, const char *); + RETALLOC_IF (old_regstart, num_regs, const char *); + RETALLOC_IF (old_regend, num_regs, const char *); + RETALLOC_IF (best_regstart, num_regs, const char *); + RETALLOC_IF (best_regend, num_regs, const char *); + RETALLOC_IF (PREFIX(reg_info), num_regs, PREFIX(register_info_type= )); + RETALLOC_IF (reg_dummy, num_regs, const char *); + RETALLOC_IF (PREFIX(reg_info_dummy), num_regs, PREFIX(register_inf= o_type)); + + regs_allocated_size =3D num_regs; + } +} + +# endif /* not MATCH_MAY_ALLOCATE */ +=0C +# ifndef DEFINED_ONCE +static boolean group_in_compile_stack (compile_stack_type + compile_stack, + regnum_t regnum); +# endif /* not DEFINED_ONCE */ + +/* `regex_compile' compiles PATTERN (of length SIZE) according to SYNTAX= =2E + Returns one of error codes defined in `regex.h', or zero for success.= + + Assumes the `allocated' (and perhaps `buffer') and `translate' + fields are set in BUFP on entry. + + If it succeeds, results are put in BUFP (if it returns an error, the + contents of BUFP are undefined): + `buffer' is the compiled pattern; + `syntax' is set to SYNTAX; + `used' is set to the length of the compiled pattern; + `fastmap_accurate' is zero; + `re_nsub' is the number of subexpressions in PATTERN; + `not_bol' and `not_eol' are zero; + + The `fastmap' and `newline_anchor' fields are neither + examined nor set. */ + +/* Return, freeing storage we allocated. */ +# ifdef WCHAR +# define FREE_STACK_RETURN(value) \ + return (free(pattern), free(mbs_offset), free(is_binary), free (compil= e_stack.stack), value) +# else +# define FREE_STACK_RETURN(value) \ + return (free (compile_stack.stack), value) +# endif /* WCHAR */ + +static reg_errcode_t +PREFIX(regex_compile) (const char *ARG_PREFIX(pattern), + size_t ARG_PREFIX(size), + reg_syntax_t syntax, + struct re_pattern_buffer *bufp) +{ + /* We fetch characters from PATTERN here. Even though PATTERN is + `char *' (i.e., signed), we declare these variables as unsigned, so= + they can be reliably used as array indices. */ + register UCHAR_T c, c1; + +#ifdef WCHAR + /* A temporary space to keep wchar_t pattern and compiled pattern. */= + CHAR_T *pattern, *COMPILED_BUFFER_VAR; + size_t size; + /* offset buffer for optimization. See convert_mbs_to_wc. */ + int *mbs_offset =3D NULL; + /* It hold whether each wchar_t is binary data or not. */ + char *is_binary =3D NULL; + /* A flag whether exactn is handling binary data or not. */ + char is_exactn_bin =3D FALSE; +#endif /* WCHAR */ + + /* A random temporary spot in PATTERN. */ + const CHAR_T *p1; + + /* Points to the end of the buffer, where we should append. */ + register UCHAR_T *b; + + /* Keeps track of unclosed groups. */ + compile_stack_type compile_stack; + + /* Points to the current (ending) position in the pattern. */ +#ifdef WCHAR + const CHAR_T *p; + const CHAR_T *pend; +#else /* BYTE */ + const CHAR_T *p =3D pattern; + const CHAR_T *pend =3D pattern + size; +#endif /* WCHAR */ + + /* How to translate the characters in the pattern. */ + RE_TRANSLATE_TYPE translate =3D bufp->translate; + + /* Address of the count-byte of the most recently inserted `exactn' + command. This makes it possible to tell if a new exact-match + character can be added to that command or if the character requires= + a new `exactn' command. */ + UCHAR_T *pending_exact =3D 0; + + /* Address of start of the most recently finished expression. + This tells, e.g., postfix * where to find the start of its + operand. Reset at the beginning of groups and alternatives. */ + UCHAR_T *laststart =3D 0; + + /* Address of beginning of regexp, or inside of last group. */ + UCHAR_T *begalt; + + /* Address of the place where a forward jump should go to the end of + the containing expression. Each alternative of an `or' -- except t= he + last -- ends with a forward jump of this sort. */ + UCHAR_T *fixup_alt_jump =3D 0; + + /* Counts open-groups as they are encountered. Remembered for the + matching close-group on the compile stack, so the same register + number is put in the stop_memory as the start_memory. */ + regnum_t regnum =3D 0; + +#ifdef WCHAR + /* Initialize the wchar_t PATTERN and offset_buffer. */ + p =3D pend =3D pattern =3D TALLOC(csize + 1, CHAR_T); + mbs_offset =3D TALLOC(csize + 1, int); + is_binary =3D TALLOC(csize + 1, char); + if (pattern =3D=3D NULL || mbs_offset =3D=3D NULL || is_binary =3D=3D = NULL) + { + free(pattern); + free(mbs_offset); + free(is_binary); + return REG_ESPACE; + } + pattern[csize] =3D L'\0'; /* sentinel */ + size =3D convert_mbs_to_wcs(pattern, cpattern, csize, mbs_offset, is_b= inary); + pend =3D p + size; + if (size < 0) + { + free(pattern); + free(mbs_offset); + free(is_binary); + return REG_BADPAT; + } +#endif + +#ifdef DEBUG + DEBUG_PRINT1 ("\nCompiling pattern: "); + if (debug) + { + unsigned debug_count; + + for (debug_count =3D 0; debug_count < size; debug_count++) + PUT_CHAR (pattern[debug_count]); + putchar ('\n'); + } +#endif /* DEBUG */ + + /* Initialize the compile stack. */ + compile_stack.stack =3D TALLOC (INIT_COMPILE_STACK_SIZE, compile_stack= _elt_t); + if (compile_stack.stack =3D=3D NULL) + { +#ifdef WCHAR + free(pattern); + free(mbs_offset); + free(is_binary); +#endif + return REG_ESPACE; + } + + compile_stack.size =3D INIT_COMPILE_STACK_SIZE; + compile_stack.avail =3D 0; + + /* Initialize the pattern buffer. */ + bufp->syntax =3D syntax; + bufp->fastmap_accurate =3D 0; + bufp->not_bol =3D bufp->not_eol =3D 0; + + /* Set `used' to zero, so that if we return an error, the pattern + printer (for debugging) will think there's no pattern. We reset it= + at the end. */ + bufp->used =3D 0; + + /* Always count groups, whether or not bufp->no_sub is set. */ + bufp->re_nsub =3D 0; + +#if !defined emacs && !defined SYNTAX_TABLE + /* Initialize the syntax table. */ + init_syntax_once (); +#endif + + if (bufp->allocated =3D=3D 0) + { + if (bufp->buffer) + { /* If zero allocated, but buffer is non-null, try to realloc + enough space. This loses if buffer's address is bogus, but= + that is the user's responsibility. */ +#ifdef WCHAR + /* Free bufp->buffer and allocate an array for wchar_t pattern + buffer. */ + free(bufp->buffer); + COMPILED_BUFFER_VAR =3D TALLOC (INIT_BUF_SIZE/sizeof(UCHAR_T),= + UCHAR_T); +#else + RETALLOC (COMPILED_BUFFER_VAR, INIT_BUF_SIZE, UCHAR_T); +#endif /* WCHAR */ + } + else + { /* Caller did not allocate a buffer. Do it for them. */ + COMPILED_BUFFER_VAR =3D TALLOC (INIT_BUF_SIZE / sizeof(UCHAR_T= ), + UCHAR_T); + } + + if (!COMPILED_BUFFER_VAR) FREE_STACK_RETURN (REG_ESPACE); +#ifdef WCHAR + bufp->buffer =3D (char*)COMPILED_BUFFER_VAR; +#endif /* WCHAR */ + bufp->allocated =3D INIT_BUF_SIZE; + } +#ifdef WCHAR + else + COMPILED_BUFFER_VAR =3D (UCHAR_T*) bufp->buffer; +#endif + + begalt =3D b =3D COMPILED_BUFFER_VAR; + + /* Loop through the uncompiled pattern until we're at the end. */ + while (p !=3D pend) + { + PATFETCH (c); + + switch (c) + { + case '^': + { + if ( /* If at start of pattern, it's an operator. */ + p =3D=3D pattern + 1 + /* If context independent, it's an operator. */ + || syntax & RE_CONTEXT_INDEP_ANCHORS + /* Otherwise, depends on what's come before. */ + || PREFIX(at_begline_loc_p) (pattern, p, syntax)) + BUF_PUSH (begline); + else + goto normal_char; + } + break; + + + case '$': + { + if ( /* If at end of pattern, it's an operator. */ + p =3D=3D pend + /* If context independent, it's an operator. */ + || syntax & RE_CONTEXT_INDEP_ANCHORS + /* Otherwise, depends on what's next. */ + || PREFIX(at_endline_loc_p) (p, pend, syntax)) + BUF_PUSH (endline); + else + goto normal_char; + } + break; + + + case '+': + case '?': + if ((syntax & RE_BK_PLUS_QM) + || (syntax & RE_LIMITED_OPS)) + goto normal_char; + handle_plus: + case '*': + /* If there is no previous pattern... */ + if (!laststart) + { + if (syntax & RE_CONTEXT_INVALID_OPS) + FREE_STACK_RETURN (REG_BADRPT); + else if (!(syntax & RE_CONTEXT_INDEP_OPS)) + goto normal_char; + } + + { + /* Are we optimizing this jump? */ + boolean keep_string_p =3D false; + + /* 1 means zero (many) matches is allowed. */ + char zero_times_ok =3D 0, many_times_ok =3D 0; + + /* If there is a sequence of repetition chars, collapse it + down to just one (the right one). We can't combine + interval operators with these because of, e.g., `a{2}*', + which should only match an even number of `a's. */ + + for (;;) + { + zero_times_ok |=3D c !=3D '+'; + many_times_ok |=3D c !=3D '?'; + + if (p =3D=3D pend) + break; + + PATFETCH (c); + + if (c =3D=3D '*' + || (!(syntax & RE_BK_PLUS_QM) && (c =3D=3D '+' || c = =3D=3D '?'))) + ; + + else if (syntax & RE_BK_PLUS_QM && c =3D=3D '\\') + { + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EESCAPE); + + PATFETCH (c1); + if (!(c1 =3D=3D '+' || c1 =3D=3D '?')) + { + PATUNFETCH; + PATUNFETCH; + break; + } + + c =3D c1; + } + else + { + PATUNFETCH; + break; + } + + /* If we get here, we found another repeat character. *= / + } + + /* Star, etc. applied to an empty pattern is equivalent + to an empty pattern. */ + if (!laststart) + break; + + /* Now we know whether or not zero matches is allowed + and also whether or not two or more matches is allowed. = */ + if (many_times_ok) + { /* More than one repetition is allowed, so put in at the= + end a backward relative jump from `b' to before the n= ext + jump we're going to put in below (which jumps from + laststart to after this jump). + + But if we are at the `*' in the exact sequence `.*\n'= , + insert an unconditional jump backwards to the ., + instead of the beginning of the loop. This way we on= ly + push a failure point once, instead of every time + through the loop. */ + assert (p - 1 > pattern); + + /* Allocate the space for the jump. */ + GET_BUFFER_SPACE (1 + OFFSET_ADDRESS_SIZE); + + /* We know we are not at the first character of the patt= ern, + because laststart was nonzero. And we've already + incremented `p', by the way, to be the character afte= r + the `*'. Do we have to do something analogous here + for null bytes, because of RE_DOT_NOT_NULL? */ + if (TRANSLATE (*(p - 2)) =3D=3D TRANSLATE ('.') + && zero_times_ok + && p < pend && TRANSLATE (*p) =3D=3D TRANSLATE ('\n'= ) + && !(syntax & RE_DOT_NEWLINE)) + { /* We have .*\n. */ + STORE_JUMP (jump, b, laststart); + keep_string_p =3D true; + } + else + /* Anything else. */ + STORE_JUMP (maybe_pop_jump, b, laststart - + (1 + OFFSET_ADDRESS_SIZE)); + + /* We've added more stuff to the buffer. */ + b +=3D 1 + OFFSET_ADDRESS_SIZE; + } + + /* On failure, jump from laststart to b + 3, which will be t= he + end of the buffer after this jump is inserted. */ + /* ifdef WCHAR, 'b + 1 + OFFSET_ADDRESS_SIZE' instead of + 'b + 3'. */ + GET_BUFFER_SPACE (1 + OFFSET_ADDRESS_SIZE); + INSERT_JUMP (keep_string_p ? on_failure_keep_string_jump + : on_failure_jump, + laststart, b + 1 + OFFSET_ADDRESS_SIZE); + pending_exact =3D 0; + b +=3D 1 + OFFSET_ADDRESS_SIZE; + + if (!zero_times_ok) + { + /* At least one repetition is required, so insert a + `dummy_failure_jump' before the initial + `on_failure_jump' instruction of the loop. This + effects a skip over that instruction the first time + we hit that loop. */ + GET_BUFFER_SPACE (1 + OFFSET_ADDRESS_SIZE); + INSERT_JUMP (dummy_failure_jump, laststart, laststart + + 2 + 2 * OFFSET_ADDRESS_SIZE); + b +=3D 1 + OFFSET_ADDRESS_SIZE; + } + } + break; + + + case '.': + laststart =3D b; + BUF_PUSH (anychar); + break; + + + case '[': + { + boolean had_char_class =3D false; +#ifdef WCHAR + CHAR_T range_start =3D 0xffffffff; +#else + unsigned int range_start =3D 0xffffffff; +#endif + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); + +#ifdef WCHAR + /* We assume a charset(_not) structure as a wchar_t array. + charset[0] =3D (re_opcode_t) charset(_not) + charset[1] =3D l (=3D length of char_classes) + charset[2] =3D m (=3D length of collating_symbols) + charset[3] =3D n (=3D length of equivalence_classes) + charset[4] =3D o (=3D length of char_ranges) + charset[5] =3D p (=3D length of chars) + + charset[6] =3D char_class (wctype_t) + charset[6+CHAR_CLASS_SIZE] =3D char_class (wctype_t) + ... + charset[l+5] =3D char_class (wctype_t) + + charset[l+6] =3D collating_symbol (wchar_t) + ... + charset[l+m+5] =3D collating_symbol (wchar_t) + ifdef _LIBC we use the index if + _NL_COLLATE_SYMB_EXTRAMB instead of + wchar_t string. + + charset[l+m+6] =3D equivalence_classes (wchar_t) + ... + charset[l+m+n+5] =3D equivalence_classes (wchar_t) + ifdef _LIBC we use the index in + _NL_COLLATE_WEIGHT instead of + wchar_t string. + + charset[l+m+n+6] =3D range_start + charset[l+m+n+7] =3D range_end + ... + charset[l+m+n+2o+4] =3D range_start + charset[l+m+n+2o+5] =3D range_end + ifdef _LIBC we use the value looked up + in _NL_COLLATE_COLLSEQ instead of + wchar_t character. + + charset[l+m+n+2o+6] =3D char + ... + charset[l+m+n+2o+p+5] =3D char + + */ + + /* We need at least 6 spaces: the opcode, the length of + char_classes, the length of collating_symbols, the length= of + equivalence_classes, the length of char_ranges, the lengt= h of + chars. */ + GET_BUFFER_SPACE (6); + + /* Save b as laststart. And We use laststart as the pointer + to the first element of the charset here. + In other words, laststart[i] indicates charset[i]. */ + laststart =3D b; + + /* We test `*p =3D=3D '^' twice, instead of using an if + statement, so we only need one BUF_PUSH. */ + BUF_PUSH (*p =3D=3D '^' ? charset_not : charset); + if (*p =3D=3D '^') + p++; + + /* Push the length of char_classes, the length of + collating_symbols, the length of equivalence_classes, the= + length of char_ranges and the length of chars. */ + BUF_PUSH_3 (0, 0, 0); + BUF_PUSH_2 (0, 0); + + /* Remember the first position in the bracket expression. *= / + p1 =3D p; + + /* charset_not matches newline according to a syntax bit. *= / + if ((re_opcode_t) b[-6] =3D=3D charset_not + && (syntax & RE_HAT_LISTS_NOT_NEWLINE)) + { + BUF_PUSH('\n'); + laststart[5]++; /* Update the length of characters */ + } + + /* Read in characters and ranges, setting map bits. */ + for (;;) + { + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); + + PATFETCH (c); + + /* \ might escape characters inside [...] and [^...]. *= / + if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c =3D=3D = '\\') + { + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EESCAPE); + + PATFETCH (c1); + BUF_PUSH(c1); + laststart[5]++; /* Update the length of chars */ + range_start =3D c1; + continue; + } + + /* Could be the end of the bracket expression. If it's + not (i.e., when the bracket expression is `[]' so + far), the ']' character bit gets set way below. */ + if (c =3D=3D ']' && p !=3D p1 + 1) + break; + + /* Look ahead to see if it's a range when the last thing= + was a character class. */ + if (had_char_class && c =3D=3D '-' && *p !=3D ']') + FREE_STACK_RETURN (REG_ERANGE); + + /* Look ahead to see if it's a range when the last thing= + was a character: if this is a hyphen not at the + beginning or the end of a list, then it's the range + operator. */ + if (c =3D=3D '-' + && !(p - 2 >=3D pattern && p[-2] =3D=3D '[') + && !(p - 3 >=3D pattern && p[-3] =3D=3D '[' && p[-2]= =3D=3D '^') + && *p !=3D ']') + { + reg_errcode_t ret; + /* Allocate the space for range_start and range_end. */ + GET_BUFFER_SPACE (2); + /* Update the pointer to indicate end of buffer. */ + b +=3D 2; + ret =3D wcs_compile_range (range_start, &p, pend, tr= anslate, + syntax, b, laststart); + if (ret !=3D REG_NOERROR) FREE_STACK_RETURN (ret); + range_start =3D 0xffffffff; + } + else if (p[0] =3D=3D '-' && p[1] !=3D ']') + { /* This handles ranges made up of characters only. = */ + reg_errcode_t ret; + + /* Move past the `-'. */ + PATFETCH (c1); + /* Allocate the space for range_start and range_end. */ + GET_BUFFER_SPACE (2); + /* Update the pointer to indicate end of buffer. */ + b +=3D 2; + ret =3D wcs_compile_range (c, &p, pend, translate, s= yntax, b, + laststart); + if (ret !=3D REG_NOERROR) FREE_STACK_RETURN (ret); + range_start =3D 0xffffffff; + } + + /* See if we're at the beginning of a possible character= + class. */ + else if (syntax & RE_CHAR_CLASSES && c =3D=3D '[' && *p = =3D=3D ':') + { /* Leave room for the null. */ + char str[CHAR_CLASS_MAX_LENGTH + 1]; + + PATFETCH (c); + c1 =3D 0; + + /* If pattern is `[[:'. */ + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); + + for (;;) + { + PATFETCH (c); + if ((c =3D=3D ':' && *p =3D=3D ']') || p =3D=3D = pend) + break; + if (c1 < CHAR_CLASS_MAX_LENGTH) + str[c1++] =3D c; + else + /* This is in any case an invalid class name. */ + str[0] =3D '\0'; + } + str[c1] =3D '\0'; + + /* If isn't a word bracketed by `[:' and `:]': + undo the ending character, the letters, and leave= + the leading `:' and `[' (but store them as charac= ter). */ + if (c =3D=3D ':' && *p =3D=3D ']') + { + wctype_t wt; + uintptr_t alignedp; + + /* Query the character class as wctype_t. */ + wt =3D IS_CHAR_CLASS (str); + if (wt =3D=3D 0) + FREE_STACK_RETURN (REG_ECTYPE); + + /* Throw away the ] at the end of the character + class. */ + PATFETCH (c); + + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK= ); + + /* Allocate the space for character class. */ + GET_BUFFER_SPACE(CHAR_CLASS_SIZE); + /* Update the pointer to indicate end of buffer. */ + b +=3D CHAR_CLASS_SIZE; + /* Move data which follow character classes + not to violate the data. */ + insert_space(CHAR_CLASS_SIZE, + laststart + 6 + laststart[1], + b - 1); + alignedp =3D ((uintptr_t)(laststart + 6 + laststart[1]) + + __alignof__(wctype_t) - 1) + & ~(uintptr_t)(__alignof__(wctype_t) - 1); + /* Store the character class. */ + *((wctype_t*)alignedp) =3D wt; + /* Update length of char_classes */ + laststart[1] +=3D CHAR_CLASS_SIZE; + + had_char_class =3D true; + } + else + { + c1++; + while (c1--) + PATUNFETCH; + BUF_PUSH ('['); + BUF_PUSH (':'); + laststart[5] +=3D 2; /* Update the length of cha= racters */ + range_start =3D ':'; + had_char_class =3D false; + } + } + else if (syntax & RE_CHAR_CLASSES && c =3D=3D '[' && (*p= =3D=3D '=3D' + || *p =3D=3D '.')) + { + CHAR_T str[128]; /* Should be large enough. */ + CHAR_T delim =3D *p; /* '=3D' or '.' */ +# ifdef _LIBC + uint32_t nrules =3D + _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); +# endif + PATFETCH (c); + c1 =3D 0; + + /* If pattern is `[[=3D' or '[[.'. */ + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); + + for (;;) + { + PATFETCH (c); + if ((c =3D=3D delim && *p =3D=3D ']') || p =3D=3D pend) + break; + if (c1 < sizeof (str) - 1) + str[c1++] =3D c; + else + /* This is in any case an invalid class name. */ + str[0] =3D '\0'; + } + str[c1] =3D '\0'; + + if (c =3D=3D delim && *p =3D=3D ']' && str[0] !=3D '\0') + { + unsigned int i, offset; + /* If we have no collation data we use the default + collation in which each character is in a class + by itself. It also means that ASCII is the + character set and therefore we cannot have character + with more than one byte in the multibyte + representation. */ + + /* If not defined _LIBC, we push the name and + `\0' for the sake of matching performance. */ + int datasize =3D c1 + 1; + +# ifdef _LIBC + int32_t idx =3D 0; + if (nrules =3D=3D 0) +# endif + { + if (c1 !=3D 1) + FREE_STACK_RETURN (REG_ECOLLATE); + } +# ifdef _LIBC + else + { + const int32_t *table; + const int32_t *weights; + const int32_t *extra; + const int32_t *indirect; + wint_t *cp; + + /* This #include defines a local function! */ +# include + + if(delim =3D=3D '=3D') + { + /* We push the index for equivalence class. */ + cp =3D (wint_t*)str; + + table =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_TABLEWC); + weights =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_WEIGHTWC); + extra =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_EXTRAWC); + indirect =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_INDIRECTWC); + + idx =3D findidx ((const wint_t**)&cp); + if (idx =3D=3D 0 || cp < (wint_t*) str + c1) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); + + str[0] =3D (wchar_t)idx; + } + else /* delim =3D=3D '.' */ + { + /* We push collation sequence value + for collating symbol. */ + int32_t table_size; + const int32_t *symb_table; + const unsigned char *extra; + int32_t idx; + int32_t elem; + int32_t second; + int32_t hash; + char char_str[c1]; + + /* We have to convert the name to a single-byte + string. This is possible since the names + consist of ASCII characters and the internal + representation is UCS4. */ + for (i =3D 0; i < c1; ++i) + char_str[i] =3D str[i]; + + table_size =3D + _NL_CURRENT_WORD (LC_COLLATE, + _NL_COLLATE_SYMB_HASH_SIZEMB); + symb_table =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_SYMB_TABLEMB); + extra =3D (const unsigned char *) + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_SYMB_EXTRAMB); + + /* Locate the character in the hashing table. */ + hash =3D elem_hash (char_str, c1); + + idx =3D 0; + elem =3D hash % table_size; + second =3D hash % (table_size - 2); + while (symb_table[2 * elem] !=3D 0) + { + /* First compare the hashing value. */ + if (symb_table[2 * elem] =3D=3D hash + && c1 =3D=3D extra[symb_table[2 * elem + 1]] + && memcmp (char_str, + &extra[symb_table[2 * elem + 1] + + 1], c1) =3D=3D 0) + { + /* Yep, this is the entry. */ + idx =3D symb_table[2 * elem + 1]; + idx +=3D 1 + extra[idx]; + break; + } + + /* Next entry. */ + elem +=3D second; + } + + if (symb_table[2 * elem] !=3D 0) + { + /* Compute the index of the byte sequence + in the table. */ + idx +=3D 1 + extra[idx]; + /* Adjust for the alignment. */ + idx =3D (idx + 3) & ~3; + + str[0] =3D (wchar_t) idx + 4; + } + else if (symb_table[2 * elem] =3D=3D 0 && c1 =3D=3D 1) + { + /* No valid character. Match it as a + single byte character. */ + had_char_class =3D false; + BUF_PUSH(str[0]); + /* Update the length of characters */ + laststart[5]++; + range_start =3D str[0]; + + /* Throw away the ] at the end of the + collating symbol. */ + PATFETCH (c); + /* exit from the switch block. */ + continue; + } + else + FREE_STACK_RETURN (REG_ECOLLATE); + } + datasize =3D 1; + } +# endif + /* Throw away the ] at the end of the equivalenc= e + class (or collating symbol). */ + PATFETCH (c); + + /* Allocate the space for the equivalence class + (or collating symbol) (and '\0' if needed). */ + GET_BUFFER_SPACE(datasize); + /* Update the pointer to indicate end of buffer. */ + b +=3D datasize; + + if (delim =3D=3D '=3D') + { /* equivalence class */ + /* Calculate the offset of char_ranges, + which is next to equivalence_classes. */ + offset =3D laststart[1] + laststart[2] + + laststart[3] +6; + /* Insert space. */ + insert_space(datasize, laststart + offset, b - 1); + + /* Write the equivalence_class and \0. */ + for (i =3D 0 ; i < datasize ; i++) + laststart[offset + i] =3D str[i]; + + /* Update the length of equivalence_classes. */ + laststart[3] +=3D datasize; + had_char_class =3D true; + } + else /* delim =3D=3D '.' */ + { /* collating symbol */ + /* Calculate the offset of the equivalence_classes, + which is next to collating_symbols. */ + offset =3D laststart[1] + laststart[2] + 6; + /* Insert space and write the collationg_symbol + and \0. */ + insert_space(datasize, laststart + offset, b-1); + for (i =3D 0 ; i < datasize ; i++) + laststart[offset + i] =3D str[i]; + + /* In re_match_2_internal if range_start < -1, we + assume -range_start is the offset of the + collating symbol which is specified as + the character of the range start. So we assign + -(laststart[1] + laststart[2] + 6) to + range_start. */ + range_start =3D -(laststart[1] + laststart[2] + 6); + /* Update the length of collating_symbol. */ + laststart[2] +=3D datasize; + had_char_class =3D false; + } + } + else + { + c1++; + while (c1--) + PATUNFETCH; + BUF_PUSH ('['); + BUF_PUSH (delim); + laststart[5] +=3D 2; /* Update the length of cha= racters */ + range_start =3D delim; + had_char_class =3D false; + } + } + else + { + had_char_class =3D false; + BUF_PUSH(c); + laststart[5]++; /* Update the length of characters */ + range_start =3D c; + } + } + +#else /* BYTE */ + /* Ensure that we have enough space to push a charset: the + opcode, the length count, and the bitset; 34 bytes in all= =2E */ + GET_BUFFER_SPACE (34); + + laststart =3D b; + + /* We test `*p =3D=3D '^' twice, instead of using an if + statement, so we only need one BUF_PUSH. */ + BUF_PUSH (*p =3D=3D '^' ? charset_not : charset); + if (*p =3D=3D '^') + p++; + + /* Remember the first position in the bracket expression. *= / + p1 =3D p; + + /* Push the number of bytes in the bitmap. */ + BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH); + + /* Clear the whole map. */ + bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH); + + /* charset_not matches newline according to a syntax bit. *= / + if ((re_opcode_t) b[-2] =3D=3D charset_not + && (syntax & RE_HAT_LISTS_NOT_NEWLINE)) + SET_LIST_BIT ('\n'); + + /* Read in characters and ranges, setting map bits. */ + for (;;) + { + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); + + PATFETCH (c); + + /* \ might escape characters inside [...] and [^...]. *= / + if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c =3D=3D = '\\') + { + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EESCAPE); + + PATFETCH (c1); + SET_LIST_BIT (c1); + range_start =3D c1; + continue; + } + + /* Could be the end of the bracket expression. If it's + not (i.e., when the bracket expression is `[]' so + far), the ']' character bit gets set way below. */ + if (c =3D=3D ']' && p !=3D p1 + 1) + break; + + /* Look ahead to see if it's a range when the last thing= + was a character class. */ + if (had_char_class && c =3D=3D '-' && *p !=3D ']') + FREE_STACK_RETURN (REG_ERANGE); + + /* Look ahead to see if it's a range when the last thing= + was a character: if this is a hyphen not at the + beginning or the end of a list, then it's the range + operator. */ + if (c =3D=3D '-' + && !(p - 2 >=3D pattern && p[-2] =3D=3D '[') + && !(p - 3 >=3D pattern && p[-3] =3D=3D '[' && p[-2]= =3D=3D '^') + && *p !=3D ']') + { + reg_errcode_t ret + =3D byte_compile_range (range_start, &p, pend, tra= nslate, + syntax, b); + if (ret !=3D REG_NOERROR) FREE_STACK_RETURN (ret); + range_start =3D 0xffffffff; + } + + else if (p[0] =3D=3D '-' && p[1] !=3D ']') + { /* This handles ranges made up of characters only. = */ + reg_errcode_t ret; + + /* Move past the `-'. */ + PATFETCH (c1); + + ret =3D byte_compile_range (c, &p, pend, translate, = syntax, b); + if (ret !=3D REG_NOERROR) FREE_STACK_RETURN (ret); + range_start =3D 0xffffffff; + } + + /* See if we're at the beginning of a possible character= + class. */ + + else if (syntax & RE_CHAR_CLASSES && c =3D=3D '[' && *p = =3D=3D ':') + { /* Leave room for the null. */ + char str[CHAR_CLASS_MAX_LENGTH + 1]; + + PATFETCH (c); + c1 =3D 0; + + /* If pattern is `[[:'. */ + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); + + for (;;) + { + PATFETCH (c); + if ((c =3D=3D ':' && *p =3D=3D ']') || p =3D=3D = pend) + break; + if (c1 < CHAR_CLASS_MAX_LENGTH) + str[c1++] =3D c; + else + /* This is in any case an invalid class name. */ + str[0] =3D '\0'; + } + str[c1] =3D '\0'; + + /* If isn't a word bracketed by `[:' and `:]': + undo the ending character, the letters, and leave= + the leading `:' and `[' (but set bits for them). = */ + if (c =3D=3D ':' && *p =3D=3D ']') + { +# if defined _LIBC || WIDE_CHAR_SUPPORT + boolean is_lower =3D STREQ (str, "lower"); + boolean is_upper =3D STREQ (str, "upper"); + wctype_t wt; + int ch; + + wt =3D IS_CHAR_CLASS (str); + if (wt =3D=3D 0) + FREE_STACK_RETURN (REG_ECTYPE); + + /* Throw away the ] at the end of the character + class. */ + PATFETCH (c); + + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK= ); + + for (ch =3D 0; ch < 1 << BYTEWIDTH; ++ch) + { + if (iswctype (btowc (ch), wt)) + SET_LIST_BIT (ch); + + if (translate && (is_upper || is_lower) + && (ISUPPER (ch) || ISLOWER (ch))) + SET_LIST_BIT (ch); + } + + had_char_class =3D true; +# else + int ch; + boolean is_alnum =3D STREQ (str, "alnum"); + boolean is_alpha =3D STREQ (str, "alpha"); + boolean is_blank =3D STREQ (str, "blank"); + boolean is_cntrl =3D STREQ (str, "cntrl"); + boolean is_digit =3D STREQ (str, "digit"); + boolean is_graph =3D STREQ (str, "graph"); + boolean is_lower =3D STREQ (str, "lower"); + boolean is_print =3D STREQ (str, "print"); + boolean is_punct =3D STREQ (str, "punct"); + boolean is_space =3D STREQ (str, "space"); + boolean is_upper =3D STREQ (str, "upper"); + boolean is_xdigit =3D STREQ (str, "xdigit"); + + if (!IS_CHAR_CLASS (str)) + FREE_STACK_RETURN (REG_ECTYPE); + + /* Throw away the ] at the end of the character + class. */ + PATFETCH (c); + + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK= ); + + for (ch =3D 0; ch < 1 << BYTEWIDTH; ch++) + { + /* This was split into 3 if's to + avoid an arbitrary limit in some compiler. */ + if ( (is_alnum && ISALNUM (ch)) + || (is_alpha && ISALPHA (ch)) + || (is_blank && ISBLANK (ch)) + || (is_cntrl && ISCNTRL (ch))) + SET_LIST_BIT (ch); + if ( (is_digit && ISDIGIT (ch)) + || (is_graph && ISGRAPH (ch)) + || (is_lower && ISLOWER (ch)) + || (is_print && ISPRINT (ch))) + SET_LIST_BIT (ch); + if ( (is_punct && ISPUNCT (ch)) + || (is_space && ISSPACE (ch)) + || (is_upper && ISUPPER (ch)) + || (is_xdigit && ISXDIGIT (ch))) + SET_LIST_BIT (ch); + if ( translate && (is_upper || is_lower) + && (ISUPPER (ch) || ISLOWER (ch))) + SET_LIST_BIT (ch); + } + had_char_class =3D true; +# endif /* libc || wctype.h */ + } + else + { + c1++; + while (c1--) + PATUNFETCH; + SET_LIST_BIT ('['); + SET_LIST_BIT (':'); + range_start =3D ':'; + had_char_class =3D false; + } + } + else if (syntax & RE_CHAR_CLASSES && c =3D=3D '[' && *p = =3D=3D '=3D') + { + unsigned char str[MB_LEN_MAX + 1]; +# ifdef _LIBC + uint32_t nrules =3D + _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); +# endif + + PATFETCH (c); + c1 =3D 0; + + /* If pattern is `[[=3D'. */ + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); + + for (;;) + { + PATFETCH (c); + if ((c =3D=3D '=3D' && *p =3D=3D ']') || p =3D=3D pend) + break; + if (c1 < MB_LEN_MAX) + str[c1++] =3D c; + else + /* This is in any case an invalid class name. */ + str[0] =3D '\0'; + } + str[c1] =3D '\0'; + + if (c =3D=3D '=3D' && *p =3D=3D ']' && str[0] !=3D '\0') + { + /* If we have no collation data we use the default + collation in which each character is in a class + by itself. It also means that ASCII is the + character set and therefore we cannot have character + with more than one byte in the multibyte + representation. */ +# ifdef _LIBC + if (nrules =3D=3D 0) +# endif + { + if (c1 !=3D 1) + FREE_STACK_RETURN (REG_ECOLLATE); + + /* Throw away the ] at the end of the equivalence + class. */ + PATFETCH (c); + + /* Set the bit for the character. */ + SET_LIST_BIT (str[0]); + } +# ifdef _LIBC + else + { + /* Try to match the byte sequence in `str' against + those known to the collate implementation. + First find out whether the bytes in `str' are + actually from exactly one character. */ + const int32_t *table; + const unsigned char *weights; + const unsigned char *extra; + const int32_t *indirect; + int32_t idx; + const unsigned char *cp =3D str; + int ch; + + /* This #include defines a local function! */ +# include + + table =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); + weights =3D (const unsigned char *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); + extra =3D (const unsigned char *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); + indirect =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); + + idx =3D findidx (&cp); + if (idx =3D=3D 0 || cp < str + c1) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); + + /* Throw away the ] at the end of the equivalence + class. */ + PATFETCH (c); + + /* Now we have to go throught the whole table + and find all characters which have the same + first level weight. + + XXX Note that this is not entirely correct. + we would have to match multibyte sequences + but this is not possible with the current + implementation. */ + for (ch =3D 1; ch < 256; ++ch) + /* XXX This test would have to be changed if we + would allow matching multibyte sequences. */ + if (table[ch] > 0) + { + int32_t idx2 =3D table[ch]; + size_t len =3D weights[idx2]; + + /* Test whether the lenghts match. */ + if (weights[idx] =3D=3D len) + { + /* They do. New compare the bytes of + the weight. */ + size_t cnt =3D 0; + + while (cnt < len + && (weights[idx + 1 + cnt] + =3D=3D weights[idx2 + 1 + cnt])) + ++cnt; + + if (cnt =3D=3D len) + /* They match. Mark the character as + acceptable. */ + SET_LIST_BIT (ch); + } + } + } +# endif + had_char_class =3D true; + } + else + { + c1++; + while (c1--) + PATUNFETCH; + SET_LIST_BIT ('['); + SET_LIST_BIT ('=3D'); + range_start =3D '=3D'; + had_char_class =3D false; + } + } + else if (syntax & RE_CHAR_CLASSES && c =3D=3D '[' && *p = =3D=3D '.') + { + unsigned char str[128]; /* Should be large enough. */ +# ifdef _LIBC + uint32_t nrules =3D + _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); +# endif + + PATFETCH (c); + c1 =3D 0; + + /* If pattern is `[[.'. */ + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); + + for (;;) + { + PATFETCH (c); + if ((c =3D=3D '.' && *p =3D=3D ']') || p =3D=3D pend) + break; + if (c1 < sizeof (str)) + str[c1++] =3D c; + else + /* This is in any case an invalid class name. */ + str[0] =3D '\0'; + } + str[c1] =3D '\0'; + + if (c =3D=3D '.' && *p =3D=3D ']' && str[0] !=3D '\0') + { + /* If we have no collation data we use the default + collation in which each character is the name + for its own class which contains only the one + character. It also means that ASCII is the + character set and therefore we cannot have character + with more than one byte in the multibyte + representation. */ +# ifdef _LIBC + if (nrules =3D=3D 0) +# endif + { + if (c1 !=3D 1) + FREE_STACK_RETURN (REG_ECOLLATE); + + /* Throw away the ] at the end of the equivalence + class. */ + PATFETCH (c); + + /* Set the bit for the character. */ + SET_LIST_BIT (str[0]); + range_start =3D ((const unsigned char *) str)[0]; + } +# ifdef _LIBC + else + { + /* Try to match the byte sequence in `str' against + those known to the collate implementation. + First find out whether the bytes in `str' are + actually from exactly one character. */ + int32_t table_size; + const int32_t *symb_table; + const unsigned char *extra; + int32_t idx; + int32_t elem; + int32_t second; + int32_t hash; + + table_size =3D + _NL_CURRENT_WORD (LC_COLLATE, + _NL_COLLATE_SYMB_HASH_SIZEMB); + symb_table =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_SYMB_TABLEMB); + extra =3D (const unsigned char *) + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_SYMB_EXTRAMB); + + /* Locate the character in the hashing table. */ + hash =3D elem_hash (str, c1); + + idx =3D 0; + elem =3D hash % table_size; + second =3D hash % (table_size - 2); + while (symb_table[2 * elem] !=3D 0) + { + /* First compare the hashing value. */ + if (symb_table[2 * elem] =3D=3D hash + && c1 =3D=3D extra[symb_table[2 * elem + 1]] + && memcmp (str, + &extra[symb_table[2 * elem + 1] + + 1], + c1) =3D=3D 0) + { + /* Yep, this is the entry. */ + idx =3D symb_table[2 * elem + 1]; + idx +=3D 1 + extra[idx]; + break; + } + + /* Next entry. */ + elem +=3D second; + } + + if (symb_table[2 * elem] =3D=3D 0) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); + + /* Throw away the ] at the end of the equivalence + class. */ + PATFETCH (c); + + /* Now add the multibyte character(s) we found + to the accept list. + + XXX Note that this is not entirely correct. + we would have to match multibyte sequences + but this is not possible with the current + implementation. Also, we have to match + collating symbols, which expand to more than + one file, as a whole and not allow the + individual bytes. */ + c1 =3D extra[idx++]; + if (c1 =3D=3D 1) + range_start =3D extra[idx]; + while (c1-- > 0) + { + SET_LIST_BIT (extra[idx]); + ++idx; + } + } +# endif + had_char_class =3D false; + } + else + { + c1++; + while (c1--) + PATUNFETCH; + SET_LIST_BIT ('['); + SET_LIST_BIT ('.'); + range_start =3D '.'; + had_char_class =3D false; + } + } + else + { + had_char_class =3D false; + SET_LIST_BIT (c); + range_start =3D c; + } + } + + /* Discard any (non)matching list bytes that are all 0 at th= e + end of the map. Decrease the map-length byte too. */ + while ((int) b[-1] > 0 && b[b[-1] - 1] =3D=3D 0) + b[-1]--; + b +=3D b[-1]; +#endif /* WCHAR */ + } + break; + + + case '(': + if (syntax & RE_NO_BK_PARENS) + goto handle_open; + else + goto normal_char; + + + case ')': + if (syntax & RE_NO_BK_PARENS) + goto handle_close; + else + goto normal_char; + + + case '\n': + if (syntax & RE_NEWLINE_ALT) + goto handle_alt; + else + goto normal_char; + + + case '|': + if (syntax & RE_NO_BK_VBAR) + goto handle_alt; + else + goto normal_char; + + + case '{': + if (syntax & RE_INTERVALS && syntax & RE_NO_BK_BRACES) + goto handle_interval; + else + goto normal_char; + + + case '\\': + if (p =3D=3D pend) FREE_STACK_RETURN (REG_EESCAPE); + + /* Do not translate the character after the \, so that we can + distinguish, e.g., \B from \b, even if we normally would + translate, e.g., B to b. */ + PATFETCH_RAW (c); + + switch (c) + { + case '(': + if (syntax & RE_NO_BK_PARENS) + goto normal_backslash; + + handle_open: + bufp->re_nsub++; + regnum++; + + if (COMPILE_STACK_FULL) + { + RETALLOC (compile_stack.stack, compile_stack.size << 1= , + compile_stack_elt_t); + if (compile_stack.stack =3D=3D NULL) return REG_ESPACE= ; + + compile_stack.size <<=3D 1; + } + + /* These are the values to restore when we hit end of this= + group. They are all relative offsets, so that if the + whole pattern moves because of realloc, they will still= + be valid. */ + COMPILE_STACK_TOP.begalt_offset =3D begalt - COMPILED_BUFF= ER_VAR; + COMPILE_STACK_TOP.fixup_alt_jump + =3D fixup_alt_jump ? fixup_alt_jump - COMPILED_BUFFER_VA= R + 1 : 0; + COMPILE_STACK_TOP.laststart_offset =3D b - COMPILED_BUFFER= _VAR; + COMPILE_STACK_TOP.regnum =3D regnum; + + /* We will eventually replace the 0 with the number of + groups inner to this one. But do not push a + start_memory for groups beyond the last one we can + represent in the compiled pattern. */ + if (regnum <=3D MAX_REGNUM) + { + COMPILE_STACK_TOP.inner_group_offset =3D b + - COMPILED_BUFFER_VAR + 2; + BUF_PUSH_3 (start_memory, regnum, 0); + } + + compile_stack.avail++; + + fixup_alt_jump =3D 0; + laststart =3D 0; + begalt =3D b; + /* If we've reached MAX_REGNUM groups, then this open + won't actually generate any code, so we'll have to + clear pending_exact explicitly. */ + pending_exact =3D 0; + break; + + + case ')': + if (syntax & RE_NO_BK_PARENS) goto normal_backslash; + + if (COMPILE_STACK_EMPTY) + { + if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD) + goto normal_backslash; + else + FREE_STACK_RETURN (REG_ERPAREN); + } + + handle_close: + if (fixup_alt_jump) + { /* Push a dummy failure point at the end of the + alternative for a possible future + `pop_failure_jump' to pop. See comments at + `push_dummy_failure' in `re_match_2'. */ + BUF_PUSH (push_dummy_failure); + + /* We allocated space for this jump when we assigned + to `fixup_alt_jump', in the `handle_alt' case below= =2E */ + STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1); + } + + /* See similar code for backslashed left paren above. */ + if (COMPILE_STACK_EMPTY) + { + if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD) + goto normal_char; + else + FREE_STACK_RETURN (REG_ERPAREN); + } + + /* Since we just checked for an empty stack above, this + ``can't happen''. */ + assert (compile_stack.avail !=3D 0); + { + /* We don't just want to restore into `regnum', because + later groups should continue to be numbered higher, + as in `(ab)c(de)' -- the second group is #2. */ + regnum_t this_group_regnum; + + compile_stack.avail--; + begalt =3D COMPILED_BUFFER_VAR + COMPILE_STACK_TOP.begal= t_offset; + fixup_alt_jump + =3D COMPILE_STACK_TOP.fixup_alt_jump + ? COMPILED_BUFFER_VAR + COMPILE_STACK_TOP.fixup_alt_= jump - 1 + : 0; + laststart =3D COMPILED_BUFFER_VAR + COMPILE_STACK_TOP.la= ststart_offset; + this_group_regnum =3D COMPILE_STACK_TOP.regnum; + /* If we've reached MAX_REGNUM groups, then this open + won't actually generate any code, so we'll have to + clear pending_exact explicitly. */ + pending_exact =3D 0; + + /* We're at the end of the group, so now we know how man= y + groups were inside this one. */ + if (this_group_regnum <=3D MAX_REGNUM) + { + UCHAR_T *inner_group_loc + =3D COMPILED_BUFFER_VAR + COMPILE_STACK_TOP.inner_= group_offset; + + *inner_group_loc =3D regnum - this_group_regnum; + BUF_PUSH_3 (stop_memory, this_group_regnum, + regnum - this_group_regnum); + } + } + break; + + + case '|': /* `\|'. */ + if (syntax & RE_LIMITED_OPS || syntax & RE_NO_BK_VBAR) + goto normal_backslash; + handle_alt: + if (syntax & RE_LIMITED_OPS) + goto normal_char; + + /* Insert before the previous alternative a jump which + jumps to this alternative if the former fails. */ + GET_BUFFER_SPACE (1 + OFFSET_ADDRESS_SIZE); + INSERT_JUMP (on_failure_jump, begalt, + b + 2 + 2 * OFFSET_ADDRESS_SIZE); + pending_exact =3D 0; + b +=3D 1 + OFFSET_ADDRESS_SIZE; + + /* The alternative before this one has a jump after it + which gets executed if it gets matched. Adjust that + jump so it will jump to this alternative's analogous + jump (put in below, which in turn will jump to the next= + (if any) alternative's such jump, etc.). The last such= + jump jumps to the correct final destination. A picture= : + _____ _____ + | | | | + | v | v + a | b | c + + If we are at `b', then fixup_alt_jump right now points = to a + three-byte space after `a'. We'll put in the jump, set= + fixup_alt_jump to right after `b', and leave behind thr= ee + bytes which we'll fill in when we get to after `c'. */= + + if (fixup_alt_jump) + STORE_JUMP (jump_past_alt, fixup_alt_jump, b); + + /* Mark and leave space for a jump after this alternative,= + to be filled in later either by next alternative or + when know we're at the end of a series of alternatives.= */ + fixup_alt_jump =3D b; + GET_BUFFER_SPACE (1 + OFFSET_ADDRESS_SIZE); + b +=3D 1 + OFFSET_ADDRESS_SIZE; + + laststart =3D 0; + begalt =3D b; + break; + + + case '{': + /* If \{ is a literal. */ + if (!(syntax & RE_INTERVALS) + /* If we're at `\{' and it's not the open-interval + operator. */ + || (syntax & RE_NO_BK_BRACES)) + goto normal_backslash; + + handle_interval: + { + /* If got here, then the syntax allows intervals. */ + + /* At least (most) this many matches must be made. */ + int lower_bound =3D -1, upper_bound =3D -1; + + /* Place in the uncompiled pattern (i.e., just after + the '{') to go back to if the interval is invalid. */ + const CHAR_T *beg_interval =3D p; + + if (p =3D=3D pend) + goto invalid_interval; + + GET_UNSIGNED_NUMBER (lower_bound); + + if (c =3D=3D ',') + { + GET_UNSIGNED_NUMBER (upper_bound); + if (upper_bound < 0) + upper_bound =3D RE_DUP_MAX; + } + else + /* Interval such as `{1}' =3D> match exactly once. */ + upper_bound =3D lower_bound; + + if (! (0 <=3D lower_bound && lower_bound <=3D upper_boun= d)) + goto invalid_interval; + + if (!(syntax & RE_NO_BK_BRACES)) + { + if (c !=3D '\\' || p =3D=3D pend) + goto invalid_interval; + PATFETCH (c); + } + + if (c !=3D '}') + goto invalid_interval; + + /* If it's invalid to have no preceding re. */ + if (!laststart) + { + if (syntax & RE_CONTEXT_INVALID_OPS + && !(syntax & RE_INVALID_INTERVAL_ORD)) + FREE_STACK_RETURN (REG_BADRPT); + else if (syntax & RE_CONTEXT_INDEP_OPS) + laststart =3D b; + else + goto unfetch_interval; + } + + /* We just parsed a valid interval. */ + + if (RE_DUP_MAX < upper_bound) + FREE_STACK_RETURN (REG_BADBR); + + /* If the upper bound is zero, don't want to succeed at + all; jump from `laststart' to `b + 3', which will be + the end of the buffer after we insert the jump. */ + /* ifdef WCHAR, 'b + 1 + OFFSET_ADDRESS_SIZE' + instead of 'b + 3'. */ + if (upper_bound =3D=3D 0) + { + GET_BUFFER_SPACE (1 + OFFSET_ADDRESS_SIZE); + INSERT_JUMP (jump, laststart, b + 1 + + OFFSET_ADDRESS_SIZE); + b +=3D 1 + OFFSET_ADDRESS_SIZE; + } + + /* Otherwise, we have a nontrivial interval. When + we're all done, the pattern will look like: + set_number_at + set_number_at + succeed_n + + jump_n + (The upper bound and `jump_n' are omitted if + `upper_bound' is 1, though.) */ + else + { /* If the upper bound is > 1, we need to insert + more at the end of the loop. */ + unsigned nbytes =3D 2 + 4 * OFFSET_ADDRESS_SIZE + + (upper_bound > 1) * (2 + 4 * OFFSET_ADDRESS_SIZE); + + GET_BUFFER_SPACE (nbytes); + + /* Initialize lower bound of the `succeed_n', even + though it will be set during matching by its + attendant `set_number_at' (inserted next), + because `re_compile_fastmap' needs to know. + Jump to the `jump_n' we might insert below. */ + INSERT_JUMP2 (succeed_n, laststart, + b + 1 + 2 * OFFSET_ADDRESS_SIZE + + (upper_bound > 1) * (1 + 2 * OFFSET_ADDRESS_SIZE) + , lower_bound); + b +=3D 1 + 2 * OFFSET_ADDRESS_SIZE; + + /* Code to initialize the lower bound. Insert + before the `succeed_n'. The `5' is the last two= + bytes of this `set_number_at', plus 3 bytes of + the following `succeed_n'. */ + /* ifdef WCHAR, The '1+2*OFFSET_ADDRESS_SIZE' + is the 'set_number_at', plus '1+OFFSET_ADDRESS_SIZE' + of the following `succeed_n'. */ + PREFIX(insert_op2) (set_number_at, laststart, 1 + + 2 * OFFSET_ADDRESS_SIZE, lower_bound, b); + b +=3D 1 + 2 * OFFSET_ADDRESS_SIZE; + + if (upper_bound > 1) + { /* More than one repetition is allowed, so + append a backward jump to the `succeed_n' + that starts this interval. + + When we've reached this during matching, + we'll have matched the interval once, so + jump back only `upper_bound - 1' times. */ + STORE_JUMP2 (jump_n, b, laststart + + 2 * OFFSET_ADDRESS_SIZE + 1, + upper_bound - 1); + b +=3D 1 + 2 * OFFSET_ADDRESS_SIZE; + + /* The location we want to set is the second + parameter of the `jump_n'; that is `b-2' as + an absolute address. `laststart' will be + the `set_number_at' we're about to insert; + `laststart+3' the number to set, the source + for the relative address. But we are + inserting into the middle of the pattern -- + so everything is getting moved up by 5. + Conclusion: (b - 2) - (laststart + 3) + 5, + i.e., b - laststart. + + We insert this at the beginning of the loop + so that if we fail during matching, we'll + reinitialize the bounds. */ + PREFIX(insert_op2) (set_number_at, laststart, + b - laststart, + upper_bound - 1, b); + b +=3D 1 + 2 * OFFSET_ADDRESS_SIZE; + } + } + pending_exact =3D 0; + break; + + invalid_interval: + if (!(syntax & RE_INVALID_INTERVAL_ORD)) + FREE_STACK_RETURN (p =3D=3D pend ? REG_EBRACE : REG_BADBR); + unfetch_interval: + /* Match the characters as literals. */ + p =3D beg_interval; + c =3D '{'; + if (syntax & RE_NO_BK_BRACES) + goto normal_char; + else + goto normal_backslash; + } + +#ifdef emacs + /* There is no way to specify the before_dot and after_dot + operators. rms says this is ok. --karl */ + case '=3D': + BUF_PUSH (at_dot); + break; + + case 's': + laststart =3D b; + PATFETCH (c); + BUF_PUSH_2 (syntaxspec, syntax_spec_code[c]); + break; + + case 'S': + laststart =3D b; + PATFETCH (c); + BUF_PUSH_2 (notsyntaxspec, syntax_spec_code[c]); + break; +#endif /* emacs */ + + + case 'w': + if (syntax & RE_NO_GNU_OPS) + goto normal_char; + laststart =3D b; + BUF_PUSH (wordchar); + break; + + + case 'W': + if (syntax & RE_NO_GNU_OPS) + goto normal_char; + laststart =3D b; + BUF_PUSH (notwordchar); + break; + + + case '<': + if (syntax & RE_NO_GNU_OPS) + goto normal_char; + BUF_PUSH (wordbeg); + break; + + case '>': + if (syntax & RE_NO_GNU_OPS) + goto normal_char; + BUF_PUSH (wordend); + break; + + case 'b': + if (syntax & RE_NO_GNU_OPS) + goto normal_char; + BUF_PUSH (wordbound); + break; + + case 'B': + if (syntax & RE_NO_GNU_OPS) + goto normal_char; + BUF_PUSH (notwordbound); + break; + + case '`': + if (syntax & RE_NO_GNU_OPS) + goto normal_char; + BUF_PUSH (begbuf); + break; + + case '\'': + if (syntax & RE_NO_GNU_OPS) + goto normal_char; + BUF_PUSH (endbuf); + break; + + case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': + if (syntax & RE_NO_BK_REFS) + goto normal_char; + + c1 =3D c - '0'; + + if (c1 > regnum) + FREE_STACK_RETURN (REG_ESUBREG); + + /* Can't back reference to a subexpression if inside of it= =2E */ + if (group_in_compile_stack (compile_stack, (regnum_t) c1))= + goto normal_char; + + laststart =3D b; + BUF_PUSH_2 (duplicate, c1); + break; + + + case '+': + case '?': + if (syntax & RE_BK_PLUS_QM) + goto handle_plus; + else + goto normal_backslash; + + default: + normal_backslash: + /* You might think it would be useful for \ to mean + not to translate; but if we don't translate it + it will never match anything. */ + c =3D TRANSLATE (c); + goto normal_char; + } + break; + + + default: + /* Expects the character in `c'. */ + normal_char: + /* If no exactn currently being built. */ + if (!pending_exact +#ifdef WCHAR + /* If last exactn handle binary(or character) and + new exactn handle character(or binary). */ + || is_exactn_bin !=3D is_binary[p - 1 - pattern] +#endif /* WCHAR */ + + /* If last exactn not at current position. */ + || pending_exact + *pending_exact + 1 !=3D b + + /* We have only one byte following the exactn for the coun= t. */ + || *pending_exact =3D=3D (1 << BYTEWIDTH) - 1 + + /* If followed by a repetition operator. */ + || *p =3D=3D '*' || *p =3D=3D '^' + || ((syntax & RE_BK_PLUS_QM) + ? *p =3D=3D '\\' && (p[1] =3D=3D '+' || p[1] =3D=3D '?') + : (*p =3D=3D '+' || *p =3D=3D '?')) + || ((syntax & RE_INTERVALS) + && ((syntax & RE_NO_BK_BRACES) + ? *p =3D=3D '{' + : (p[0] =3D=3D '\\' && p[1] =3D=3D '{')))) + { + /* Start building a new exactn. */ + + laststart =3D b; + +#ifdef WCHAR + /* Is this exactn binary data or character? */ + is_exactn_bin =3D is_binary[p - 1 - pattern]; + if (is_exactn_bin) + BUF_PUSH_2 (exactn_bin, 0); + else + BUF_PUSH_2 (exactn, 0); +#else + BUF_PUSH_2 (exactn, 0); +#endif /* WCHAR */ + pending_exact =3D b - 1; + } + + BUF_PUSH (c); + (*pending_exact)++; + break; + } /* switch (c) */ + } /* while p !=3D pend */ + + + /* Through the pattern now. */ + + if (fixup_alt_jump) + STORE_JUMP (jump_past_alt, fixup_alt_jump, b); + + if (!COMPILE_STACK_EMPTY) + FREE_STACK_RETURN (REG_EPAREN); + + /* If we don't want backtracking, force success + the first time we reach the end of the compiled pattern. */ + if (syntax & RE_NO_POSIX_BACKTRACKING) + BUF_PUSH (succeed); + +#ifdef WCHAR + free (pattern); + free (mbs_offset); + free (is_binary); +#endif + free (compile_stack.stack); + + /* We have succeeded; set the length of the buffer. */ +#ifdef WCHAR + bufp->used =3D (uintptr_t) b - (uintptr_t) COMPILED_BUFFER_VAR; +#else + bufp->used =3D b - bufp->buffer; +#endif + +#ifdef DEBUG + if (debug) + { + DEBUG_PRINT1 ("\nCompiled pattern: \n"); + PREFIX(print_compiled_pattern) (bufp); + } +#endif /* DEBUG */ + +#ifndef MATCH_MAY_ALLOCATE + /* Initialize the failure stack to the largest possible stack. This + isn't necessary unless we're trying to avoid calling alloca in + the search and match routines. */ + { + int num_regs =3D bufp->re_nsub + 1; + + /* Since DOUBLE_FAIL_STACK refuses to double only if the current siz= e + is strictly greater than re_max_failures, the largest possible st= ack + is 2 * re_max_failures failure points. */ + if (fail_stack.size < (2 * re_max_failures * MAX_FAILURE_ITEMS)) + { + fail_stack.size =3D (2 * re_max_failures * MAX_FAILURE_ITEMS); + +# ifdef emacs + if (! fail_stack.stack) + fail_stack.stack + =3D (PREFIX(fail_stack_elt_t) *) xmalloc (fail_stack.size + * sizeof (PREFIX(fail_stack_elt_t))); + else + fail_stack.stack + =3D (PREFIX(fail_stack_elt_t) *) xrealloc (fail_stack.stack, + (fail_stack.size + * sizeof (PREFIX(fail_stack_elt_t)))); +# else /* not emacs */ + if (! fail_stack.stack) + fail_stack.stack + =3D malloc (fail_stack.size * sizeof (PREFIX(fail_stack_elt_t))); + else + fail_stack.stack + =3D realloc (fail_stack.stack, + fail_stack.size * sizeof (PREFIX(fail_stack_elt_t))); +# endif /* not emacs */ + } + + PREFIX(regex_grow_registers) (num_regs); + } +#endif /* not MATCH_MAY_ALLOCATE */ + + return REG_NOERROR; +} /* regex_compile */ + +/* Subroutines for `regex_compile'. */ + +/* Store OP at LOC followed by two-byte integer parameter ARG. */ +/* ifdef WCHAR, integer parameter is 1 wchar_t. */ + +static void +PREFIX(store_op1) (re_opcode_t op, UCHAR_T *loc, int arg) +{ + *loc =3D (UCHAR_T) op; + STORE_NUMBER (loc + 1, arg); +} + + +/* Like `store_op1', but for two two-byte parameters ARG1 and ARG2. */ +/* ifdef WCHAR, integer parameter is 1 wchar_t. */ + +static void +PREFIX(store_op2) (re_opcode_t op, UCHAR_T *loc, int arg1, int arg2) +{ + *loc =3D (UCHAR_T) op; + STORE_NUMBER (loc + 1, arg1); + STORE_NUMBER (loc + 1 + OFFSET_ADDRESS_SIZE, arg2); +} + + +/* Copy the bytes from LOC to END to open up three bytes of space at LOC= + for OP followed by two-byte integer parameter ARG. */ +/* ifdef WCHAR, integer parameter is 1 wchar_t. */ + +static void +PREFIX(insert_op1) (re_opcode_t op, UCHAR_T *loc, int arg, UCHAR_T *end)= +{ + register UCHAR_T *pfrom =3D end; + register UCHAR_T *pto =3D end + 1 + OFFSET_ADDRESS_SIZE; + + while (pfrom !=3D loc) + *--pto =3D *--pfrom; + + PREFIX(store_op1) (op, loc, arg); +} + + +/* Like `insert_op1', but for two two-byte parameters ARG1 and ARG2. */= +/* ifdef WCHAR, integer parameter is 1 wchar_t. */ + +static void +PREFIX(insert_op2) (re_opcode_t op, UCHAR_T *loc, int arg1, int arg2, + UCHAR_T *end) +{ + register UCHAR_T *pfrom =3D end; + register UCHAR_T *pto =3D end + 1 + 2 * OFFSET_ADDRESS_SIZE; + + while (pfrom !=3D loc) + *--pto =3D *--pfrom; + + PREFIX(store_op2) (op, loc, arg1, arg2); +} + + +/* P points to just after a ^ in PATTERN. Return true if that ^ comes + after an alternative or a begin-subexpression. We assume there is at= + least one character before the ^. */ + +static boolean +PREFIX(at_begline_loc_p) (const CHAR_T *pattern, const CHAR_T *p, + reg_syntax_t syntax) +{ + const CHAR_T *prev =3D p - 2; + boolean prev_prev_backslash =3D prev > pattern && prev[-1] =3D=3D '\\'= ; + + return + /* After a subexpression? */ + (*prev =3D=3D '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backs= lash)) + /* After an alternative? */ + || (*prev =3D=3D '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backsla= sh)); +} + + +/* The dual of at_begline_loc_p. This one is for $. We assume there is= + at least one character after the $, i.e., `P < PEND'. */ + +static boolean +PREFIX(at_endline_loc_p) (const CHAR_T *p, const CHAR_T *pend, + reg_syntax_t syntax) +{ + const CHAR_T *next =3D p; + boolean next_backslash =3D *next =3D=3D '\\'; + const CHAR_T *next_next =3D p + 1 < pend ? p + 1 : 0; + + return + /* Before a subexpression? */ + (syntax & RE_NO_BK_PARENS ? *next =3D=3D ')' + : next_backslash && next_next && *next_next =3D=3D ')') + /* Before an alternative? */ + || (syntax & RE_NO_BK_VBAR ? *next =3D=3D '|' + : next_backslash && next_next && *next_next =3D=3D '|'); +} + +#else /* not INSIDE_RECURSION */ + +/* Returns true if REGNUM is in one of COMPILE_STACK's elements and + false if it's not. */ + +static boolean +group_in_compile_stack (compile_stack_type compile_stack, + regnum_t regnum) +{ + int this_element; + + for (this_element =3D compile_stack.avail - 1; + this_element >=3D 0; + this_element--) + if (compile_stack.stack[this_element].regnum =3D=3D regnum) + return true; + + return false; +} +#endif /* not INSIDE_RECURSION */ + +#ifdef INSIDE_RECURSION + +#ifdef WCHAR +/* This insert space, which size is "num", into the pattern at "loc". + "end" must point the end of the allocated buffer. */ +static void +insert_space (int num, CHAR_T *loc, CHAR_T *end) +{ + register CHAR_T *pto =3D end; + register CHAR_T *pfrom =3D end - num; + + while (pfrom >=3D loc) + *pto-- =3D *pfrom--; +} +#endif /* WCHAR */ + +#ifdef WCHAR +static reg_errcode_t +wcs_compile_range (CHAR_T range_start_char, + const CHAR_T **p_ptr, const CHAR_T *pend, + RE_TRANSLATE_TYPE translate, reg_syntax_t syntax, + CHAR_T *b, CHAR_T *char_set) +{ + const CHAR_T *p =3D *p_ptr; + CHAR_T range_start, range_end; + reg_errcode_t ret; +# ifdef _LIBC + uint32_t nrules; + uint32_t start_val, end_val; +# endif + if (p =3D=3D pend) + return REG_ERANGE; + +# ifdef _LIBC + nrules =3D _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); + if (nrules !=3D 0) + { + const char *collseq =3D (const char *) _NL_CURRENT(LC_COLLATE, + _NL_COLLATE_COLLSEQWC); + const unsigned char *extra =3D (const unsigned char *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); + + if (range_start_char < -1) + { + /* range_start is a collating symbol. */ + int32_t *wextra; + /* Retreive the index and get collation sequence value. */ + wextra =3D (int32_t*)(extra + char_set[-range_start_char]); + start_val =3D wextra[1 + *wextra]; + } + else + start_val =3D collseq_table_lookup(collseq, TRANSLATE(range_start_char)= ); + + end_val =3D collseq_table_lookup (collseq, TRANSLATE (p[0])); + + /* Report an error if the range is empty and the syntax prohibits + this. */ + ret =3D ((syntax & RE_NO_EMPTY_RANGES) + && (start_val > end_val))? REG_ERANGE : REG_NOERROR; + + /* Insert space to the end of the char_ranges. */ + insert_space(2, b - char_set[5] - 2, b - 1); + *(b - char_set[5] - 2) =3D (wchar_t)start_val; + *(b - char_set[5] - 1) =3D (wchar_t)end_val; + char_set[4]++; /* ranges_index */ + } + else +# endif + { + range_start =3D (range_start_char >=3D 0)? TRANSLATE (range_start_= char): + range_start_char; + range_end =3D TRANSLATE (p[0]); + /* Report an error if the range is empty and the syntax prohibits + this. */ + ret =3D ((syntax & RE_NO_EMPTY_RANGES) + && (range_start > range_end))? REG_ERANGE : REG_NOERROR; + + /* Insert space to the end of the char_ranges. */ + insert_space(2, b - char_set[5] - 2, b - 1); + *(b - char_set[5] - 2) =3D range_start; + *(b - char_set[5] - 1) =3D range_end; + char_set[4]++; /* ranges_index */ + } + /* Have to increment the pointer into the pattern string, so the + caller isn't still at the ending character. */ + (*p_ptr)++; + + return ret; +} +#else /* BYTE */ +/* Read the ending character of a range (in a bracket expression) from t= he + uncompiled pattern *P_PTR (which ends at PEND). We assume the + starting character is in `P[-2]'. (`P[-1]' is the character `-'.) + Then we set the translation of all bits between the starting and + ending characters (inclusive) in the compiled pattern B. + + Return an error code. + + We use these short variable names so we can use the same macros as + `regex_compile' itself. */ + +static reg_errcode_t +byte_compile_range (unsigned int range_start_char, + const char **p_ptr, const char *pend, + RE_TRANSLATE_TYPE translate, reg_syntax_t syntax, + unsigned char *b) +{ + unsigned this_char; + const char *p =3D *p_ptr; + reg_errcode_t ret; +# if _LIBC + const unsigned char *collseq; + unsigned int start_colseq; + unsigned int end_colseq; +# else + unsigned end_char; +# endif + + if (p =3D=3D pend) + return REG_ERANGE; + + /* Have to increment the pointer into the pattern string, so the + caller isn't still at the ending character. */ + (*p_ptr)++; + + /* Report an error if the range is empty and the syntax prohibits this= =2E */ + ret =3D syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR; + +# if _LIBC + collseq =3D (const unsigned char *) _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_COLLSEQMB); + + start_colseq =3D collseq[(unsigned char) TRANSLATE (range_start_char)]= ; + end_colseq =3D collseq[(unsigned char) TRANSLATE (p[0])]; + for (this_char =3D 0; this_char <=3D (unsigned char) -1; ++this_char) + { + unsigned int this_colseq =3D collseq[(unsigned char) TRANSLATE (th= is_char)]; + + if (start_colseq <=3D this_colseq && this_colseq <=3D end_colseq) + { + SET_LIST_BIT (TRANSLATE (this_char)); + ret =3D REG_NOERROR; + } + } +# else + /* Here we see why `this_char' has to be larger than an `unsigned + char' -- we would otherwise go into an infinite loop, since all + characters <=3D 0xff. */ + range_start_char =3D TRANSLATE (range_start_char); + /* TRANSLATE(p[0]) is casted to char (not unsigned char) in TRANSLATE,= + and some compilers cast it to int implicitly, so following for_loop= + may fall to (almost) infinite loop. + e.g. If translate[p[0]] =3D 0xff, end_char may equals to 0xffffffff= =2E + To avoid this, we cast p[0] to unsigned int and truncate it. */ + end_char =3D ((unsigned)TRANSLATE(p[0]) & ((1 << BYTEWIDTH) - 1)); + + for (this_char =3D range_start_char; this_char <=3D end_char; ++this_c= har) + { + SET_LIST_BIT (TRANSLATE (this_char)); + ret =3D REG_NOERROR; + } +# endif + + return ret; +} +#endif /* WCHAR */ +=0C +/* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in= + BUFP. A fastmap records which of the (1 << BYTEWIDTH) possible + characters can start a string that matches the pattern. This fastmap= + is used by re_search to skip quickly over impossible starting points.= + + The caller must supply the address of a (1 << BYTEWIDTH)-byte data + area as BUFP->fastmap. + + We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in= + the pattern buffer. + + Returns 0 if we succeed, -2 if an internal error. */ + +#ifdef WCHAR +/* local function for re_compile_fastmap. + truncate wchar_t character to char. */ + +static unsigned char +truncate_wchar (CHAR_T c) +{ + unsigned char buf[MB_CUR_MAX]; + mbstate_t state; + int retval; + memset (&state, '\0', sizeof (state)); + retval =3D wcrtomb (buf, c, &state); + return retval > 0 ? buf[0] : (unsigned char) c; +} +#endif /* WCHAR */ + +static int +PREFIX(re_compile_fastmap) (struct re_pattern_buffer *bufp) +{ + int j, k; +#ifdef MATCH_MAY_ALLOCATE + PREFIX(fail_stack_type) fail_stack; +#endif +#ifndef REGEX_MALLOC + char *destination; +#endif + + register char *fastmap =3D bufp->fastmap; + +#ifdef WCHAR + /* We need to cast pattern to (wchar_t*), because we casted this compi= led + pattern to (char*) in regex_compile. */ + UCHAR_T *pattern =3D (UCHAR_T*)bufp->buffer; + register UCHAR_T *pend =3D (UCHAR_T*) (bufp->buffer + bufp->used); +#else /* BYTE */ + UCHAR_T *pattern =3D bufp->buffer; + register UCHAR_T *pend =3D pattern + bufp->used; +#endif /* WCHAR */ + UCHAR_T *p =3D pattern; + +#ifdef REL_ALLOC + /* This holds the pointer to the failure stack, when + it is allocated relocatably. */ + fail_stack_elt_t *failure_stack_ptr; +#endif + + /* Assume that each path through the pattern can be null until + proven otherwise. We set this false at the bottom of switch + statement, to which we get only if a particular path doesn't + match the empty string. */ + boolean path_can_be_null =3D true; + + /* We aren't doing a `succeed_n' to begin with. */ + boolean succeed_n_p =3D false; + + assert (fastmap !=3D NULL && p !=3D NULL); + + INIT_FAIL_STACK (); + bzero (fastmap, 1 << BYTEWIDTH); /* Assume nothing's valid. */ + bufp->fastmap_accurate =3D 1; /* It will be when we're done. */ + bufp->can_be_null =3D 0; + + while (1) + { + if (p =3D=3D pend || *p =3D=3D succeed) + { + /* We have reached the (effective) end of pattern. */ + if (!FAIL_STACK_EMPTY ()) + { + bufp->can_be_null |=3D path_can_be_null; + + /* Reset for next path. */ + path_can_be_null =3D true; + + p =3D fail_stack.stack[--fail_stack.avail].pointer; + + continue; + } + else + break; + } + + /* We should never be about to go beyond the end of the pattern. = */ + assert (p < pend); + + switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++)) + { + + /* I guess the idea here is to simply not bother with a fastmap + if a backreference is used, since it's too hard to figure out= + the fastmap for the corresponding group. Setting + `can_be_null' stops `re_search_2' from using the fastmap, so + that is all we do. */ + case duplicate: + bufp->can_be_null =3D 1; + goto done; + + + /* Following are the cases which match a character. These end + with `break'. */ + +#ifdef WCHAR + case exactn: + fastmap[truncate_wchar(p[1])] =3D 1; + break; +#else /* BYTE */ + case exactn: + fastmap[p[1]] =3D 1; + break; +#endif /* WCHAR */ +#ifdef MBS_SUPPORT + case exactn_bin: + fastmap[p[1]] =3D 1; + break; +#endif + +#ifdef WCHAR + /* It is hard to distinguish fastmap from (multi byte) character= s + which depends on current locale. */ + case charset: + case charset_not: + case wordchar: + case notwordchar: + bufp->can_be_null =3D 1; + goto done; +#else /* BYTE */ + case charset: + for (j =3D *p++ * BYTEWIDTH - 1; j >=3D 0; j--) + if (p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))) + fastmap[j] =3D 1; + break; + + + case charset_not: + /* Chars beyond end of map must be allowed. */ + for (j =3D *p * BYTEWIDTH; j < (1 << BYTEWIDTH); j++) + fastmap[j] =3D 1; + + for (j =3D *p++ * BYTEWIDTH - 1; j >=3D 0; j--) + if (!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH)))) + fastmap[j] =3D 1; + break; + + + case wordchar: + for (j =3D 0; j < (1 << BYTEWIDTH); j++) + if (SYNTAX (j) =3D=3D Sword) + fastmap[j] =3D 1; + break; + + + case notwordchar: + for (j =3D 0; j < (1 << BYTEWIDTH); j++) + if (SYNTAX (j) !=3D Sword) + fastmap[j] =3D 1; + break; +#endif /* WCHAR */ + + case anychar: + { + int fastmap_newline =3D fastmap['\n']; + + /* `.' matches anything ... */ + for (j =3D 0; j < (1 << BYTEWIDTH); j++) + fastmap[j] =3D 1; + + /* ... except perhaps newline. */ + if (!(bufp->syntax & RE_DOT_NEWLINE)) + fastmap['\n'] =3D fastmap_newline; + + /* Return if we have already set `can_be_null'; if we have, + then the fastmap is irrelevant. Something's wrong here. */ + else if (bufp->can_be_null) + goto done; + + /* Otherwise, have to check alternative paths. */ + break; + } + +#ifdef emacs + case syntaxspec: + k =3D *p++; + for (j =3D 0; j < (1 << BYTEWIDTH); j++) + if (SYNTAX (j) =3D=3D (enum syntaxcode) k) + fastmap[j] =3D 1; + break; + + + case notsyntaxspec: + k =3D *p++; + for (j =3D 0; j < (1 << BYTEWIDTH); j++) + if (SYNTAX (j) !=3D (enum syntaxcode) k) + fastmap[j] =3D 1; + break; + + + /* All cases after this match the empty string. These end with + `continue'. */ + + + case before_dot: + case at_dot: + case after_dot: + continue; +#endif /* emacs */ + + + case no_op: + case begline: + case endline: + case begbuf: + case endbuf: + case wordbound: + case notwordbound: + case wordbeg: + case wordend: + case push_dummy_failure: + continue; + + + case jump_n: + case pop_failure_jump: + case maybe_pop_jump: + case jump: + case jump_past_alt: + case dummy_failure_jump: + EXTRACT_NUMBER_AND_INCR (j, p); + p +=3D j; + if (j > 0) + continue; + + /* Jump backward implies we just went through the body of a + loop and matched nothing. Opcode jumped to should be + `on_failure_jump' or `succeed_n'. Just treat it like an + ordinary jump. For a * loop, it has pushed its failure + point already; if so, discard that as redundant. */ + if ((re_opcode_t) *p !=3D on_failure_jump + && (re_opcode_t) *p !=3D succeed_n) + continue; + + p++; + EXTRACT_NUMBER_AND_INCR (j, p); + p +=3D j; + + /* If what's on the stack is where we are now, pop it. */ + if (!FAIL_STACK_EMPTY () + && fail_stack.stack[fail_stack.avail - 1].pointer =3D=3D p) + fail_stack.avail--; + + continue; + + + case on_failure_jump: + case on_failure_keep_string_jump: + handle_on_failure_jump: + EXTRACT_NUMBER_AND_INCR (j, p); + + /* For some patterns, e.g., `(a?)?', `p+j' here points to the + end of the pattern. We don't want to push such a point, + since when we restore it above, entering the switch will + increment `p' past the end of the pattern. We don't need + to push such a point since we obviously won't find any more= + fastmap entries beyond `pend'. Such a pattern can match + the null string, though. */ + if (p + j < pend) + { + if (!PUSH_PATTERN_OP (p + j, fail_stack)) + { + RESET_FAIL_STACK (); + return -2; + } + } + else + bufp->can_be_null =3D 1; + + if (succeed_n_p) + { + EXTRACT_NUMBER_AND_INCR (k, p); /* Skip the n. */ + succeed_n_p =3D false; + } + + continue; + + + case succeed_n: + /* Get to the number of times to succeed. */ + p +=3D OFFSET_ADDRESS_SIZE; + + /* Increment p past the n for when k !=3D 0. */ + EXTRACT_NUMBER_AND_INCR (k, p); + if (k =3D=3D 0) + { + p -=3D 2 * OFFSET_ADDRESS_SIZE; + succeed_n_p =3D true; /* Spaghetti code alert. */ + goto handle_on_failure_jump; + } + continue; + + + case set_number_at: + p +=3D 2 * OFFSET_ADDRESS_SIZE; + continue; + + + case start_memory: + case stop_memory: + p +=3D 2; + continue; + + + default: + abort (); /* We have listed all the cases. */ + } /* switch *p++ */ + + /* Getting here means we have found the possible starting + characters for one path of the pattern -- and that the empty + string does not match. We need not follow this path further. + Instead, look at the next alternative (remembered on the + stack), or quit if no more. The test at the top of the loop + does these things. */ + path_can_be_null =3D false; + p =3D pend; + } /* while p */ + + /* Set `can_be_null' for the last path (also the first path, if the + pattern is empty). */ + bufp->can_be_null |=3D path_can_be_null; + + done: + RESET_FAIL_STACK (); + return 0; +} + +#else /* not INSIDE_RECURSION */ + +int +re_compile_fastmap (struct re_pattern_buffer *bufp) +{ +# ifdef MBS_SUPPORT + if (MB_CUR_MAX !=3D 1) + return wcs_re_compile_fastmap(bufp); + else +# endif + return byte_re_compile_fastmap(bufp); +} /* re_compile_fastmap */ +#ifdef _LIBC +weak_alias (__re_compile_fastmap, re_compile_fastmap) +#endif +=0C + +/* Set REGS to hold NUM_REGS registers, storing them in STARTS and + ENDS. Subsequent matches using PATTERN_BUFFER and REGS will use + this memory for recording register information. STARTS and ENDS + must be allocated using the malloc library routine, and must each + be at least NUM_REGS * sizeof (regoff_t) bytes long. + + If NUM_REGS =3D=3D 0, then subsequent matches should allocate their o= wn + register data. + + Unless this function is called, the first search or match using + PATTERN_BUFFER will allocate its own register data, without + freeing the old data. */ + +void +re_set_registers (struct re_pattern_buffer *bufp, + struct re_registers *regs, + unsigned int num_regs, + regoff_t *starts, regoff_t *ends) +{ + if (num_regs) + { + bufp->regs_allocated =3D REGS_REALLOCATE; + regs->num_regs =3D num_regs; + regs->start =3D starts; + regs->end =3D ends; + } + else + { + bufp->regs_allocated =3D REGS_UNALLOCATED; + regs->num_regs =3D 0; + regs->start =3D regs->end =3D (regoff_t *) 0; + } +} +#ifdef _LIBC +weak_alias (__re_set_registers, re_set_registers) +#endif +=0C +/* Searching routines. */ + +/* Like re_search_2, below, but only one string is specified, and + doesn't let you say where to stop matching. */ + +int +re_search (struct re_pattern_buffer *bufp, + const char *string, + int size, int startpos, int range, + struct re_registers *regs) +{ + return re_search_2 (bufp, NULL, 0, string, size, startpos, range, + regs, size); +} +#ifdef _LIBC +weak_alias (__re_search, re_search) +#endif + + +/* Using the compiled pattern in BUFP->buffer, first tries to match the + virtual concatenation of STRING1 and STRING2, starting first at index= + STARTPOS, then at STARTPOS + 1, and so on. + + STRING1 and STRING2 have length SIZE1 and SIZE2, respectively. + + RANGE is how far to scan while trying to match. RANGE =3D 0 means tr= y + only at STARTPOS; in general, the last start tried is STARTPOS + + RANGE. + + In REGS, return the indices of the virtual concatenation of STRING1 + and STRING2 that matched the entire BUFP->buffer and its contained + subexpressions. + + Do not consider matching one past the index STOP in the virtual + concatenation of STRING1 and STRING2. + + We return either the position in the strings at which the match was + found, -1 if no match, or -2 if error (such as failure + stack overflow). */ + +int +re_search_2 (struct re_pattern_buffer *bufp, + const char *string1, int size1, + const char *string2, int size2, + int startpos, int range, + struct re_registers *regs, + int stop) +{ +# ifdef MBS_SUPPORT + if (MB_CUR_MAX !=3D 1) + return wcs_re_search_2 (bufp, string1, size1, string2, size2, startp= os, + range, regs, stop); + else +# endif + return byte_re_search_2 (bufp, string1, size1, string2, size2, start= pos, + range, regs, stop); +} /* re_search_2 */ +#ifdef _LIBC +weak_alias (__re_search_2, re_search_2) +#endif + +#endif /* not INSIDE_RECURSION */ + +#ifdef INSIDE_RECURSION + +#ifdef MATCH_MAY_ALLOCATE +# define FREE_VAR(var) if (var) REGEX_FREE (var); var =3D NULL +#else +# define FREE_VAR(var) if (var) free (var); var =3D NULL +#endif + +#ifdef WCHAR +# define MAX_ALLOCA_SIZE 2000 + +# define FREE_WCS_BUFFERS() \ + do { \ + if (size1 > MAX_ALLOCA_SIZE) \ + { \ + free (wcs_string1); \ + free (mbs_offset1); \ + } \ + else \ + { \ + FREE_VAR (wcs_string1); \ + FREE_VAR (mbs_offset1); \ + } \ + if (size2 > MAX_ALLOCA_SIZE) \ + { \ + free (wcs_string2); \ + free (mbs_offset2); \ + } \ + else \ + { \ + FREE_VAR (wcs_string2); \ + FREE_VAR (mbs_offset2); \ + } \ + } while (0) + +#endif + + +static int +PREFIX(re_search_2) (struct re_pattern_buffer *bufp, + const char *string1, int size1, + const char *string2, int size2, + int startpos, int range, + struct re_registers *regs, + int stop) +{ + int val; + register char *fastmap =3D bufp->fastmap; + register RE_TRANSLATE_TYPE translate =3D bufp->translate; + int total_size =3D size1 + size2; + int endpos =3D startpos + range; +#ifdef WCHAR + /* We need wchar_t* buffers correspond to cstring1, cstring2. */ + wchar_t *wcs_string1 =3D NULL, *wcs_string2 =3D NULL; + /* We need the size of wchar_t buffers correspond to csize1, csize2. = */ + int wcs_size1 =3D 0, wcs_size2 =3D 0; + /* offset buffer for optimizatoin. See convert_mbs_to_wc. */ + int *mbs_offset1 =3D NULL, *mbs_offset2 =3D NULL; + /* They hold whether each wchar_t is binary data or not. */ + char *is_binary =3D NULL; +#endif /* WCHAR */ + + /* Check for out-of-range STARTPOS. */ + if (startpos < 0 || startpos > total_size) + return -1; + + /* Fix up RANGE if it might eventually take us outside + the virtual concatenation of STRING1 and STRING2. + Make sure we won't move STARTPOS below 0 or above TOTAL_SIZE. */ + if (endpos < 0) + range =3D 0 - startpos; + else if (endpos > total_size) + range =3D total_size - startpos; + + /* If the search isn't to be a backwards one, don't waste time in a + search for a pattern that must be anchored. */ + if (bufp->used > 0 && range > 0 + && ((re_opcode_t) bufp->buffer[0] =3D=3D begbuf + /* `begline' is like `begbuf' if it cannot match at newlines. */ + || ((re_opcode_t) bufp->buffer[0] =3D=3D begline + && !bufp->newline_anchor))) + { + if (startpos > 0) + return -1; + else + range =3D 1; + } + +#ifdef emacs + /* In a forward search for something that starts with \=3D. + don't keep searching past point. */ + if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] =3D=3D at_dot && r= ange > 0) + { + range =3D PT - startpos; + if (range <=3D 0) + return -1; + } +#endif /* emacs */ + + /* Update the fastmap now if not correct already. */ + if (fastmap && !bufp->fastmap_accurate) + if (re_compile_fastmap (bufp) =3D=3D -2) + return -2; + +#ifdef WCHAR + /* Allocate wchar_t array for wcs_string1 and wcs_string2 and + fill them with converted string. */ + if (size1 !=3D 0) + { + if (size1 > MAX_ALLOCA_SIZE) + { + wcs_string1 =3D TALLOC (size1 + 1, CHAR_T); + mbs_offset1 =3D TALLOC (size1 + 1, int); + is_binary =3D TALLOC (size1 + 1, char); + } + else + { + wcs_string1 =3D REGEX_TALLOC (size1 + 1, CHAR_T); + mbs_offset1 =3D REGEX_TALLOC (size1 + 1, int); + is_binary =3D REGEX_TALLOC (size1 + 1, char); + } + if (!wcs_string1 || !mbs_offset1 || !is_binary) + { + if (size1 > MAX_ALLOCA_SIZE) + { + free (wcs_string1); + free (mbs_offset1); + free (is_binary); + } + else + { + FREE_VAR (wcs_string1); + FREE_VAR (mbs_offset1); + FREE_VAR (is_binary); + } + return -2; + } + wcs_size1 =3D convert_mbs_to_wcs(wcs_string1, string1, size1, + mbs_offset1, is_binary); + wcs_string1[wcs_size1] =3D L'\0'; /* for a sentinel */ + if (size1 > MAX_ALLOCA_SIZE) + free (is_binary); + else + FREE_VAR (is_binary); + } + if (size2 !=3D 0) + { + if (size2 > MAX_ALLOCA_SIZE) + { + wcs_string2 =3D TALLOC (size2 + 1, CHAR_T); + mbs_offset2 =3D TALLOC (size2 + 1, int); + is_binary =3D TALLOC (size2 + 1, char); + } + else + { + wcs_string2 =3D REGEX_TALLOC (size2 + 1, CHAR_T); + mbs_offset2 =3D REGEX_TALLOC (size2 + 1, int); + is_binary =3D REGEX_TALLOC (size2 + 1, char); + } + if (!wcs_string2 || !mbs_offset2 || !is_binary) + { + FREE_WCS_BUFFERS (); + if (size2 > MAX_ALLOCA_SIZE) + free (is_binary); + else + FREE_VAR (is_binary); + return -2; + } + wcs_size2 =3D convert_mbs_to_wcs(wcs_string2, string2, size2, + mbs_offset2, is_binary); + wcs_string2[wcs_size2] =3D L'\0'; /* for a sentinel */ + if (size2 > MAX_ALLOCA_SIZE) + free (is_binary); + else + FREE_VAR (is_binary); + } +#endif /* WCHAR */ + + + /* Loop through the string, looking for a place to start matching. */= + for (;;) + { + /* If a fastmap is supplied, skip quickly over characters that + cannot be the start of a match. If the pattern can match the + null string, however, we don't need to skip characters; we want= + the first null string. */ + if (fastmap && startpos < total_size && !bufp->can_be_null) + { + if (range > 0) /* Searching forwards. */ + { + register const char *d; + register int lim =3D 0; + int irange =3D range; + + if (startpos < size1 && startpos + range >=3D size1) + lim =3D range - (size1 - startpos); + + d =3D (startpos >=3D size1 ? string2 - size1 : string1) + startpo= s; + + /* Written out as an if-else to avoid testing `translate' + inside the loop. */ + if (translate) + while (range > lim + && !fastmap[(unsigned char) + translate[(unsigned char) *d++]]) + range--; + else + while (range > lim && !fastmap[(unsigned char) *d++]) + range--; + + startpos +=3D irange - range; + } + else /* Searching backwards. */ + { + register CHAR_T c =3D (size1 =3D=3D 0 || startpos >=3D size1 + ? string2[startpos - size1] + : string1[startpos]); + + if (!fastmap[(unsigned char) TRANSLATE (c)]) + goto advance; + } + } + + /* If can't match the null string, and that's all we have left, fa= il. */ + if (range >=3D 0 && startpos =3D=3D total_size && fastmap + && !bufp->can_be_null) + { +#ifdef WCHAR + FREE_WCS_BUFFERS (); +#endif + return -1; + } + +#ifdef WCHAR + val =3D wcs_re_match_2_internal (bufp, string1, size1, string2, + size2, startpos, regs, stop, + wcs_string1, wcs_size1, + wcs_string2, wcs_size2, + mbs_offset1, mbs_offset2); +#else /* BYTE */ + val =3D byte_re_match_2_internal (bufp, string1, size1, string2, + size2, startpos, regs, stop); +#endif /* BYTE */ + +#ifndef REGEX_MALLOC +# ifdef C_ALLOCA + alloca (0); +# endif +#endif + + if (val >=3D 0) + { +#ifdef WCHAR + FREE_WCS_BUFFERS (); +#endif + return startpos; + } + + if (val =3D=3D -2) + { +#ifdef WCHAR + FREE_WCS_BUFFERS (); +#endif + return -2; + } + + advance: + if (!range) + break; + else if (range > 0) + { + range--; + startpos++; + } + else + { + range++; + startpos--; + } + } +#ifdef WCHAR + FREE_WCS_BUFFERS (); +#endif + return -1; +} + +#ifdef WCHAR +/* This converts PTR, a pointer into one of the search wchar_t strings + `string1' and `string2' into an multibyte string offset from the + beginning of that string. We use mbs_offset to optimize. + See convert_mbs_to_wcs. */ +# define POINTER_TO_OFFSET(ptr) \ + (FIRST_STRING_P (ptr) \ + ? ((regoff_t)(mbs_offset1 !=3D NULL? mbs_offset1[(ptr)-string1] : 0))= \ + : ((regoff_t)((mbs_offset2 !=3D NULL? mbs_offset2[(ptr)-string2] : 0)= \ + + csize1))) +#else /* BYTE */ +/* This converts PTR, a pointer into one of the search strings `string1'= + and `string2' into an offset from the beginning of that string. */ +# define POINTER_TO_OFFSET(ptr) \ + (FIRST_STRING_P (ptr) \ + ? ((regoff_t) ((ptr) - string1)) \ + : ((regoff_t) ((ptr) - string2 + size1))) +#endif /* WCHAR */ + +/* Macros for dealing with the split strings in re_match_2. */ + +#define MATCHING_IN_FIRST_STRING (dend =3D=3D end_match_1) + +/* Call before fetching a character with *d. This switches over to + string2 if necessary. */ +#define PREFETCH() \ + while (d =3D=3D dend) \ + { \ + /* End of string2 =3D> fail. */ \ + if (dend =3D=3D end_match_2) \ + goto fail; \ + /* End of string1 =3D> advance to string2. */ \ + d =3D string2; \ + dend =3D end_match_2; \ + } + +/* Test if at very beginning or at very end of the virtual concatenation= + of `string1' and `string2'. If only one string, it's `string2'. */ +#define AT_STRINGS_BEG(d) ((d) =3D=3D (size1 ? string1 : string2) || !si= ze2) +#define AT_STRINGS_END(d) ((d) =3D=3D end2) + + +/* Test if D points to a character which is word-constituent. We have + two special cases to check for: if past the end of string1, look at + the first character in string2; and if before the beginning of + string2, look at the last character in string1. */ +#ifdef WCHAR +/* Use internationalized API instead of SYNTAX. */ +# define WORDCHAR_P(d) \ + (iswalnum ((wint_t)((d) =3D=3D end1 ? *string2 \ + : (d) =3D=3D string2 - 1 ? *(end1 - 1) : *(d))) !=3D 0 \ + || ((d) =3D=3D end1 ? *string2 \ + : (d) =3D=3D string2 - 1 ? *(end1 - 1) : *(d)) =3D=3D L'_') +#else /* BYTE */ +# define WORDCHAR_P(d) \ + (SYNTAX ((d) =3D=3D end1 ? *string2 \ + : (d) =3D=3D string2 - 1 ? *(end1 - 1) : *(d)) \ + =3D=3D Sword) +#endif /* WCHAR */ + +/* Disabled due to a compiler bug -- see comment at case wordbound */ +#if 0 +/* Test if the character before D and the one at D differ with respect + to being word-constituent. */ +#define AT_WORD_BOUNDARY(d) \ + (AT_STRINGS_BEG (d) || AT_STRINGS_END (d) \ + || WORDCHAR_P (d - 1) !=3D WORDCHAR_P (d)) +#endif + +/* Free everything we malloc. */ +#ifdef MATCH_MAY_ALLOCATE +# ifdef WCHAR +# define FREE_VARIABLES() \ + do { \ + REGEX_FREE_STACK (fail_stack.stack); \ + FREE_VAR (regstart); \ + FREE_VAR (regend); \ + FREE_VAR (old_regstart); \ + FREE_VAR (old_regend); \ + FREE_VAR (best_regstart); \ + FREE_VAR (best_regend); \ + FREE_VAR (reg_info); \ + FREE_VAR (reg_dummy); \ + FREE_VAR (reg_info_dummy); \ + if (!cant_free_wcs_buf) \ + { \ + FREE_VAR (string1); \ + FREE_VAR (string2); \ + FREE_VAR (mbs_offset1); \ + FREE_VAR (mbs_offset2); \ + } \ + } while (0) +# else /* BYTE */ +# define FREE_VARIABLES() \ + do { \ + REGEX_FREE_STACK (fail_stack.stack); \ + FREE_VAR (regstart); \ + FREE_VAR (regend); \ + FREE_VAR (old_regstart); \ + FREE_VAR (old_regend); \ + FREE_VAR (best_regstart); \ + FREE_VAR (best_regend); \ + FREE_VAR (reg_info); \ + FREE_VAR (reg_dummy); \ + FREE_VAR (reg_info_dummy); \ + } while (0) +# endif /* WCHAR */ +#else +# ifdef WCHAR +# define FREE_VARIABLES() \ + do { \ + if (!cant_free_wcs_buf) \ + { \ + FREE_VAR (string1); \ + FREE_VAR (string2); \ + FREE_VAR (mbs_offset1); \ + FREE_VAR (mbs_offset2); \ + } \ + } while (0) +# else /* BYTE */ +# define FREE_VARIABLES() ((void)0) /* Do nothing! But inhibit gcc war= ning. */ +# endif /* WCHAR */ +#endif /* not MATCH_MAY_ALLOCATE */ + +/* These values must meet several constraints. They must not be valid + register values; since we have a limit of 255 registers (because + we use only one byte in the pattern for the register number), we can + use numbers larger than 255. They must differ by 1, because of + NUM_FAILURE_ITEMS above. And the value for the lowest register must + be larger than the value for the highest register, so we do not try + to actually save any registers when none are active. */ +#define NO_HIGHEST_ACTIVE_REG (1 << BYTEWIDTH) +#define NO_LOWEST_ACTIVE_REG (NO_HIGHEST_ACTIVE_REG + 1) +=0C +#else /* not INSIDE_RECURSION */ +/* Matching routines. */ + +#ifndef emacs /* Emacs never uses this. */ +/* re_match is like re_match_2 except it takes only a single string. */= + +int +re_match (struct re_pattern_buffer *bufp, + const char *string, + int size, int pos, + struct re_registers *regs) +{ + int result; +# ifdef MBS_SUPPORT + if (MB_CUR_MAX !=3D 1) + result =3D wcs_re_match_2_internal (bufp, NULL, 0, string, size, + pos, regs, size, + NULL, 0, NULL, 0, NULL, NULL); + else +# endif + result =3D byte_re_match_2_internal (bufp, NULL, 0, string, size, + pos, regs, size); +# ifndef REGEX_MALLOC +# ifdef C_ALLOCA + alloca (0); +# endif +# endif + return result; +} +# ifdef _LIBC +weak_alias (__re_match, re_match) +# endif +#endif /* not emacs */ + +#endif /* not INSIDE_RECURSION */ + +#ifdef INSIDE_RECURSION +static boolean PREFIX(group_match_null_string_p) (UCHAR_T **p, + UCHAR_T *end, + PREFIX(register_info_type) *reg_info); +static boolean PREFIX(alt_match_null_string_p) (UCHAR_T *p, + UCHAR_T *end, + PREFIX(register_info_type) *reg_info); +static boolean PREFIX(common_op_match_null_string_p) (UCHAR_T **p, + UCHAR_T *end, + PREFIX(register_info_type) *reg_info); +static int PREFIX(bcmp_translate) (const CHAR_T *s1, const CHAR_T *s2, + int len, char *translate); +#else /* not INSIDE_RECURSION */ + +/* re_match_2 matches the compiled pattern in BUFP against the + the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1 + and SIZE2, respectively). We start matching at POS, and stop + matching at STOP. + + If REGS is non-null and the `no_sub' field of BUFP is nonzero, we + store offsets for the substring each group matched in REGS. See the + documentation for exactly how many groups we fill. + + We return -1 if no match, -2 if an internal error (such as the + failure stack overflowing). Otherwise, we return the length of the + matched substring. */ + +int +re_match_2 (struct re_pattern_buffer *bufp, + const char *string1, int size1, + const char *string2, int size2, + int pos, struct re_registers *regs, + int stop) +{ + int result; +# ifdef MBS_SUPPORT + if (MB_CUR_MAX !=3D 1) + result =3D wcs_re_match_2_internal (bufp, string1, size1, string2, s= ize2, + pos, regs, stop, + NULL, 0, NULL, 0, NULL, NULL); + else +# endif + result =3D byte_re_match_2_internal (bufp, string1, size1, string2, = size2, + pos, regs, stop); + +#ifndef REGEX_MALLOC +# ifdef C_ALLOCA + alloca (0); +# endif +#endif + return result; +} +#ifdef _LIBC +weak_alias (__re_match_2, re_match_2) +#endif + +#endif /* not INSIDE_RECURSION */ + +#ifdef INSIDE_RECURSION + +#ifdef WCHAR + +/* This check the substring (from 0, to length) of the multibyte string,= + to which offset_buffer correspond. And count how many wchar_t_charact= ers + the substring occupy. We use offset_buffer to optimization. + See convert_mbs_to_wcs. */ + +static int +count_mbs_length (int *offset_buffer, int length) +{ + int upper, lower; + + /* Check whether the size is valid. */ + if (length < 0) + return -1; + + if (offset_buffer =3D=3D NULL) + return 0; + + /* If there are no multibyte character, offset_buffer[i] =3D=3D i. + Optmize for this case. */ + if (offset_buffer[length] =3D=3D length) + return length; + + /* Set up upper with length. (because for all i, offset_buffer[i] >=3D= i) */ + upper =3D length; + lower =3D 0; + + while (true) + { + int middle =3D (lower + upper) / 2; + if (middle =3D=3D lower || middle =3D=3D upper) + break; + if (offset_buffer[middle] > length) + upper =3D middle; + else if (offset_buffer[middle] < length) + lower =3D middle; + else + return middle; + } + + return -1; +} +#endif /* WCHAR */ + +/* This is a separate function so that we can force an alloca cleanup + afterwards. */ +#ifdef WCHAR +static int +wcs_re_match_2_internal (struct re_pattern_buffer *bufp, + const char *cstring1, int csize1, + const char *cstring2, int csize2, + int pos, + struct re_registers *regs, + int stop, + /* string1 =3D=3D string2 =3D=3D NULL means + string1/2, size1/2 and mbs_offset1/2 need + setting up in this function. */ + /* We need wchar_t * buffers corresponding to + cstring1, cstring2. */ + wchar_t *string1, int size1, + wchar_t *string2, int size2, + /* Offset buffer for optimization. See + convert_mbs_to_wc. */ + int *mbs_offset1, + int *mbs_offset2) +#else /* BYTE */ +static int +byte_re_match_2_internal (struct re_pattern_buffer *bufp, + const char *string1, int size1, + const char *string2, int size2, + int pos, + struct re_registers *regs, + int stop) +#endif /* BYTE */ +{ + /* General temporaries. */ + int mcnt; + UCHAR_T *p1; +#ifdef WCHAR + /* They hold whether each wchar_t is binary data or not. */ + char *is_binary =3D NULL; + /* If true, we can't free string1/2, mbs_offset1/2. */ + int cant_free_wcs_buf =3D 1; +#endif /* WCHAR */ + + /* Just past the end of the corresponding string. */ + const CHAR_T *end1, *end2; + + /* Pointers into string1 and string2, just past the last characters in= + each to consider matching. */ + const CHAR_T *end_match_1, *end_match_2; + + /* Where we are in the data, and the end of the current string. */ + const CHAR_T *d, *dend; + + /* Where we are in the pattern, and the end of the pattern. */ +#ifdef WCHAR + UCHAR_T *pattern, *p; + register UCHAR_T *pend; +#else /* BYTE */ + UCHAR_T *p =3D bufp->buffer; + register UCHAR_T *pend =3D p + bufp->used; +#endif /* WCHAR */ + + /* Mark the opcode just after a start_memory, so we can test for an + empty subpattern when we get to the stop_memory. */ + UCHAR_T *just_past_start_mem =3D 0; + + /* We use this to map every character in the string. */ + RE_TRANSLATE_TYPE translate =3D bufp->translate; + + /* Failure point stack. Each place that can handle a failure further + down the line pushes a failure point on this stack. It consists of= + restart, regend, and reg_info for all registers corresponding to + the subexpressions we're currently inside, plus the number of such + registers, and, finally, two char *'s. The first char * is where + to resume scanning the pattern; the second one is where to resume + scanning the strings. If the latter is zero, the failure point is + a ``dummy''; if a failure happens and the failure point is a dummy,= + it gets discarded and the next next one is tried. */ +#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */ + PREFIX(fail_stack_type) fail_stack; +#endif +#ifdef DEBUG + static unsigned failure_id; + unsigned nfailure_points_pushed =3D 0, nfailure_points_popped =3D 0; +#endif + +#ifdef REL_ALLOC + /* This holds the pointer to the failure stack, when + it is allocated relocatably. */ + fail_stack_elt_t *failure_stack_ptr; +#endif + + /* We fill all the registers internally, independent of what we + return, for use in backreferences. The number here includes + an element for register zero. */ + size_t num_regs =3D bufp->re_nsub + 1; + + /* The currently active registers. */ + active_reg_t lowest_active_reg =3D NO_LOWEST_ACTIVE_REG; + active_reg_t highest_active_reg =3D NO_HIGHEST_ACTIVE_REG; + + /* Information on the contents of registers. These are pointers into + the input strings; they record just what was matched (on this + attempt) by a subexpression part of the pattern, that is, the + regnum-th regstart pointer points to where in the pattern we began + matching and the regnum-th regend points to right after where we + stopped matching the regnum-th subexpression. (The zeroth register= + keeps track of what the whole pattern matches.) */ +#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */ + const CHAR_T **regstart, **regend; +#endif + + /* If a group that's operated upon by a repetition operator fails to + match anything, then the register for its start will need to be + restored because it will have been set to wherever in the string we= + are when we last see its open-group operator. Similarly for a + register's end. */ +#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */ + const CHAR_T **old_regstart, **old_regend; +#endif + + /* The is_active field of reg_info helps us keep track of which (possi= bly + nested) subexpressions we are currently in. The matched_something + field of reg_info[reg_num] helps us tell whether or not we have + matched any of the pattern so far this time through the reg_num-th + subexpression. These two fields get reset each time through any + loop their register is in. */ +#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */ + PREFIX(register_info_type) *reg_info; +#endif + + /* The following record the register info as found in the above + variables when we find a match better than any we've seen before. + This happens as we backtrack through the failure points, which in + turn happens only if we have not yet matched the entire string. */ + unsigned best_regs_set =3D false; +#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */ + const CHAR_T **best_regstart, **best_regend; +#endif + + /* Logically, this is `best_regend[0]'. But we don't want to have to + allocate space for that if we're not allocating space for anything + else (see below). Also, we never need info about register 0 for + any of the other register vectors, and it seems rather a kludge to + treat `best_regend' differently than the rest. So we keep track of= + the end of the best match so far in a separate variable. We + initialize this to NULL so that when we backtrack the first time + and need to test it, it's not garbage. */ + const CHAR_T *match_end =3D NULL; + + /* This helps SET_REGS_MATCHED avoid doing redundant work. */ + int set_regs_matched_done =3D 0; + + /* Used when we pop values we don't care about. */ +#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */ + const CHAR_T **reg_dummy; + PREFIX(register_info_type) *reg_info_dummy; +#endif + +#ifdef DEBUG + /* Counts the total number of registers pushed. */ + unsigned num_regs_pushed =3D 0; +#endif + + /* Definitions for state transitions. More efficiently for gcc. */ +#ifdef __GNUC__ +# if defined HAVE_SUBTRACT_LOCAL_LABELS && defined SHARED +# define NEXT \ + do \ + { \ + int offset; \ + const void *__unbounded ptr; \ + offset =3D (p =3D=3D pend \ + ? 0 : jmptable[SWITCH_ENUM_CAST ((re_opcode_t) *p++)]); \ + ptr =3D &&end_of_pattern + offset; \ + goto *ptr; \ + } \ + while (0) +# define REF(x) \ + &&label_##x - &&end_of_pattern +# define JUMP_TABLE_TYPE const int +# else +# define NEXT \ + do \ + { \ + const void *__unbounded ptr; \ + ptr =3D (p =3D=3D pend ? &&end_of_pattern \ + : jmptable[SWITCH_ENUM_CAST ((re_opcode_t) *p++)]); \ + goto *ptr; \ + } \ + while (0) +# define REF(x) \ + &&label_##x +# define JUMP_TABLE_TYPE const void *const +# endif +# define CASE(x) label_##x + static JUMP_TABLE_TYPE jmptable[] =3D + { + REF (no_op), + REF (succeed), + REF (exactn), +# ifdef MBS_SUPPORT + REF (exactn_bin), +# endif + REF (anychar), + REF (charset), + REF (charset_not), + REF (start_memory), + REF (stop_memory), + REF (duplicate), + REF (begline), + REF (endline), + REF (begbuf), + REF (endbuf), + REF (jump), + REF (jump_past_alt), + REF (on_failure_jump), + REF (on_failure_keep_string_jump), + REF (pop_failure_jump), + REF (maybe_pop_jump), + REF (dummy_failure_jump), + REF (push_dummy_failure), + REF (succeed_n), + REF (jump_n), + REF (set_number_at), + REF (wordchar), + REF (notwordchar), + REF (wordbeg), + REF (wordend), + REF (wordbound), + REF (notwordbound) +# ifdef emacs + ,REF (before_dot), + REF (at_dot), + REF (after_dot), + REF (syntaxspec), + REF (notsyntaxspec) +# endif + }; +#else +# define NEXT \ + break +# define CASE(x) \ + case x +#endif + + DEBUG_PRINT1 ("\n\nEntering re_match_2.\n"); + + INIT_FAIL_STACK (); + +#ifdef MATCH_MAY_ALLOCATE + /* Do not bother to initialize all the register variables if there are= + no groups in the pattern, as it takes a fair amount of time. If + there are groups, we include space for register 0 (the whole + pattern), even though we never use it, since it simplifies the + array indexing. We should fix this. */ + if (bufp->re_nsub) + { + regstart =3D REGEX_TALLOC (num_regs, const CHAR_T *); + regend =3D REGEX_TALLOC (num_regs, const CHAR_T *); + old_regstart =3D REGEX_TALLOC (num_regs, const CHAR_T *); + old_regend =3D REGEX_TALLOC (num_regs, const CHAR_T *); + best_regstart =3D REGEX_TALLOC (num_regs, const CHAR_T *); + best_regend =3D REGEX_TALLOC (num_regs, const CHAR_T *); + reg_info =3D REGEX_TALLOC (num_regs, PREFIX(register_info_type)); + reg_dummy =3D REGEX_TALLOC (num_regs, const CHAR_T *); + reg_info_dummy =3D REGEX_TALLOC (num_regs, PREFIX(register_info_ty= pe)); + + if (!(regstart && regend && old_regstart && old_regend && reg_info= + && best_regstart && best_regend && reg_dummy && reg_info_dum= my)) + { + FREE_VARIABLES (); + return -2; + } + } + else + { + /* We must initialize all our variables to NULL, so that + `FREE_VARIABLES' doesn't try to free them. */ + regstart =3D regend =3D old_regstart =3D old_regend =3D best_regst= art + =3D best_regend =3D reg_dummy =3D NULL; + reg_info =3D reg_info_dummy =3D (PREFIX(register_info_type) *) NUL= L; + } +#endif /* MATCH_MAY_ALLOCATE */ + + /* The starting position is bogus. */ +#ifdef WCHAR + if (pos < 0 || pos > csize1 + csize2) +#else /* BYTE */ + if (pos < 0 || pos > size1 + size2) +#endif + { + FREE_VARIABLES (); + return -1; + } + +#ifdef WCHAR + /* Allocate wchar_t array for string1 and string2 and + fill them with converted string. */ + if (string1 =3D=3D NULL && string2 =3D=3D NULL) + { + /* We need seting up buffers here. */ + + /* We must free wcs buffers in this function. */ + cant_free_wcs_buf =3D 0; + + if (csize1 !=3D 0) + { + string1 =3D REGEX_TALLOC (csize1 + 1, CHAR_T); + mbs_offset1 =3D REGEX_TALLOC (csize1 + 1, int); + is_binary =3D REGEX_TALLOC (csize1 + 1, char); + if (!string1 || !mbs_offset1 || !is_binary) + { + FREE_VAR (string1); + FREE_VAR (mbs_offset1); + FREE_VAR (is_binary); + return -2; + } + } + if (csize2 !=3D 0) + { + string2 =3D REGEX_TALLOC (csize2 + 1, CHAR_T); + mbs_offset2 =3D REGEX_TALLOC (csize2 + 1, int); + is_binary =3D REGEX_TALLOC (csize2 + 1, char); + if (!string2 || !mbs_offset2 || !is_binary) + { + FREE_VAR (string1); + FREE_VAR (mbs_offset1); + FREE_VAR (string2); + FREE_VAR (mbs_offset2); + FREE_VAR (is_binary); + return -2; + } + size2 =3D convert_mbs_to_wcs(string2, cstring2, csize2, + mbs_offset2, is_binary); + string2[size2] =3D L'\0'; /* for a sentinel */ + FREE_VAR (is_binary); + } + } + + /* We need to cast pattern to (wchar_t*), because we casted this compi= led + pattern to (char*) in regex_compile. */ + p =3D pattern =3D (CHAR_T*)bufp->buffer; + pend =3D (CHAR_T*)(bufp->buffer + bufp->used); + +#endif /* WCHAR */ + + /* Initialize subexpression text positions to -1 to mark ones that no + start_memory/stop_memory has been seen for. Also initialize the + register information struct. */ + for (mcnt =3D 1; (unsigned) mcnt < num_regs; mcnt++) + { + regstart[mcnt] =3D regend[mcnt] + =3D old_regstart[mcnt] =3D old_regend[mcnt] =3D REG_UNSET_VALUE;= + + REG_MATCH_NULL_STRING_P (reg_info[mcnt]) =3D MATCH_NULL_UNSET_VALU= E; + IS_ACTIVE (reg_info[mcnt]) =3D 0; + MATCHED_SOMETHING (reg_info[mcnt]) =3D 0; + EVER_MATCHED_SOMETHING (reg_info[mcnt]) =3D 0; + } + + /* We move `string1' into `string2' if the latter's empty -- but not i= f + `string1' is null. */ + if (size2 =3D=3D 0 && string1 !=3D NULL) + { + string2 =3D string1; + size2 =3D size1; + string1 =3D 0; + size1 =3D 0; +#ifdef WCHAR + mbs_offset2 =3D mbs_offset1; + csize2 =3D csize1; + mbs_offset1 =3D NULL; + csize1 =3D 0; +#endif + } + end1 =3D string1 + size1; + end2 =3D string2 + size2; + + /* Compute where to stop matching, within the two strings. */ +#ifdef WCHAR + if (stop <=3D csize1) + { + mcnt =3D count_mbs_length(mbs_offset1, stop); + end_match_1 =3D string1 + mcnt; + end_match_2 =3D string2; + } + else + { + if (stop > csize1 + csize2) + stop =3D csize1 + csize2; + end_match_1 =3D end1; + mcnt =3D count_mbs_length(mbs_offset2, stop-csize1); + end_match_2 =3D string2 + mcnt; + } + if (mcnt < 0) + { /* count_mbs_length return error. */ + FREE_VARIABLES (); + return -1; + } +#else + if (stop <=3D size1) + { + end_match_1 =3D string1 + stop; + end_match_2 =3D string2; + } + else + { + end_match_1 =3D end1; + end_match_2 =3D string2 + stop - size1; + } +#endif /* WCHAR */ + + /* `p' scans through the pattern as `d' scans through the data. + `dend' is the end of the input string that `d' points within. `d' + is advanced into the following input string whenever necessary, but= + this happens before fetching; therefore, at the beginning of the + loop, `d' can be pointing at the end of a string, but it cannot + equal `string2'. */ +#ifdef WCHAR + if (size1 > 0 && pos <=3D csize1) + { + mcnt =3D count_mbs_length(mbs_offset1, pos); + d =3D string1 + mcnt; + dend =3D end_match_1; + } + else + { + mcnt =3D count_mbs_length(mbs_offset2, pos-csize1); + d =3D string2 + mcnt; + dend =3D end_match_2; + } + + if (mcnt < 0) + { /* count_mbs_length return error. */ + FREE_VARIABLES (); + return -1; + } +#else + if (size1 > 0 && pos <=3D size1) + { + d =3D string1 + pos; + dend =3D end_match_1; + } + else + { + d =3D string2 + pos - size1; + dend =3D end_match_2; + } +#endif /* WCHAR */ + + DEBUG_PRINT1 ("The compiled pattern is:\n"); + DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend); + DEBUG_PRINT1 ("The string to match is: `"); + DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2); + DEBUG_PRINT1 ("'\n"); + + /* This loops over pattern commands. It exits by returning from the + function if the match is complete, or it drops through if the match= + fails at this starting point in the input data. */ + for (;;) + { +#ifdef _LIBC + DEBUG_PRINT2 ("\n%p: ", p); +#else + DEBUG_PRINT2 ("\n0x%x: ", p); +#endif + +#ifdef __GNUC__ + NEXT; +#else + if (p =3D=3D pend) +#endif + { +#ifdef __GNUC__ + end_of_pattern: +#endif + /* End of pattern means we might have succeeded. */ + DEBUG_PRINT1 ("end of pattern ... "); + + /* If we haven't matched the entire string, and we want the + longest match, try backtracking. */ + if (d !=3D end_match_2) + { + /* 1 if this match ends in the same string (string1 or string2) + as the best previous match. */ + boolean same_str_p =3D (FIRST_STRING_P (match_end) + =3D=3D MATCHING_IN_FIRST_STRING); + /* 1 if this match is the best seen so far. */ + boolean best_match_p; + + /* AIX compiler got confused when this was combined + with the previous declaration. */ + if (same_str_p) + best_match_p =3D d > match_end; + else + best_match_p =3D !MATCHING_IN_FIRST_STRING; + + DEBUG_PRINT1 ("backtracking.\n"); + + if (!FAIL_STACK_EMPTY ()) + { /* More failure points to try. */ + + /* If exceeds best match so far, save it. */ + if (!best_regs_set || best_match_p) + { + best_regs_set =3D true; + match_end =3D d; + + DEBUG_PRINT1 ("\nSAVING match as best so far.\n"); + + for (mcnt =3D 1; (unsigned) mcnt < num_regs; mcnt++) + { + best_regstart[mcnt] =3D regstart[mcnt]; + best_regend[mcnt] =3D regend[mcnt]; + } + } + goto fail; + } + + /* If no failure points, don't restore garbage. And if + last match is real best match, don't restore second + best one. */ + else if (best_regs_set && !best_match_p) + { + restore_best_regs: + /* Restore best match. It may happen that `dend =3D=3D + end_match_1' while the restored d is in string2. + For example, the pattern `x.*y.*z' against the + strings `x-' and `y-z-', if the two strings are + not consecutive in memory. */ + DEBUG_PRINT1 ("Restoring best registers.\n"); + + d =3D match_end; + dend =3D ((d >=3D string1 && d <=3D end1) + ? end_match_1 : end_match_2); + + for (mcnt =3D 1; (unsigned) mcnt < num_regs; mcnt++) + { + regstart[mcnt] =3D best_regstart[mcnt]; + regend[mcnt] =3D best_regend[mcnt]; + } + } + } /* d !=3D end_match_2 */ + + succeed_label: + DEBUG_PRINT1 ("Accepting match.\n"); + /* If caller wants register contents data back, do it. */ + if (regs && !bufp->no_sub) + { + /* Have the register data arrays been allocated? */ + if (bufp->regs_allocated =3D=3D REGS_UNALLOCATED) + { /* No. So allocate them with malloc. We need one + extra element beyond `num_regs' for the `-1' marker + GNU code uses. */ + regs->num_regs =3D MAX (RE_NREGS, num_regs + 1); + regs->start =3D TALLOC (regs->num_regs, regoff_t); + regs->end =3D TALLOC (regs->num_regs, regoff_t); + if (regs->start =3D=3D NULL || regs->end =3D=3D NULL) + { + FREE_VARIABLES (); + return -2; + } + bufp->regs_allocated =3D REGS_REALLOCATE; + } + else if (bufp->regs_allocated =3D=3D REGS_REALLOCATE) + { /* Yes. If we need more elements than were already + allocated, reallocate them. If we need fewer, just + leave it alone. */ + if (regs->num_regs < num_regs + 1) + { + regs->num_regs =3D num_regs + 1; + RETALLOC (regs->start, regs->num_regs, regoff_t); + RETALLOC (regs->end, regs->num_regs, regoff_t); + if (regs->start =3D=3D NULL || regs->end =3D=3D NULL) + { + FREE_VARIABLES (); + return -2; + } + } + } + else + { + /* These braces fend off a "empty body in an else-statement" + warning under GCC when assert expands to nothing. */ + assert (bufp->regs_allocated =3D=3D REGS_FIXED); + } + + /* Convert the pointer data in `regstart' and `regend' to + indices. Register zero has to be set differently, + since we haven't kept track of any info for it. */ + if (regs->num_regs > 0) + { + regs->start[0] =3D pos; +#ifdef WCHAR + if (MATCHING_IN_FIRST_STRING) + regs->end[0] =3D (mbs_offset1 !=3D NULL ? + mbs_offset1[d-string1] : 0); + else + regs->end[0] =3D csize1 + (mbs_offset2 !=3D NULL + ? mbs_offset2[d-string2] : 0); +#else + regs->end[0] =3D (MATCHING_IN_FIRST_STRING + ? ((regoff_t) (d - string1)) + : ((regoff_t) (d - string2 + size1))); +#endif /* WCHAR */ + } + + /* Go through the first `min (num_regs, regs->num_regs)' + registers, since that is all we initialized. */ + for (mcnt =3D 1; (unsigned) mcnt < MIN (num_regs, regs->num_regs)= ; + mcnt++) + { + if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt])) + regs->start[mcnt] =3D regs->end[mcnt] =3D -1; + else + { + regs->start[mcnt] + =3D (regoff_t) POINTER_TO_OFFSET (regstart[mcnt]); + regs->end[mcnt] + =3D (regoff_t) POINTER_TO_OFFSET (regend[mcnt]); + } + } + + /* If the regs structure we return has more elements than + were in the pattern, set the extra elements to -1. If + we (re)allocated the registers, this is the case, + because we always allocate enough to have at least one + -1 at the end. */ + for (mcnt =3D num_regs; (unsigned) mcnt < regs->num_regs; mcnt++)= + regs->start[mcnt] =3D regs->end[mcnt] =3D -1; + } /* regs && !bufp->no_sub */ + + DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n", + nfailure_points_pushed, nfailure_points_popped, + nfailure_points_pushed - nfailure_points_popped); + DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed); + +#ifdef WCHAR + if (MATCHING_IN_FIRST_STRING) + mcnt =3D mbs_offset1 !=3D NULL ? mbs_offset1[d-string1] : 0; + else + mcnt =3D (mbs_offset2 !=3D NULL ? mbs_offset2[d-string2] : 0) + + csize1; + mcnt -=3D pos; +#else + mcnt =3D d - pos - (MATCHING_IN_FIRST_STRING + ? string1 : string2 - size1); +#endif /* WCHAR */ + + DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt); + + FREE_VARIABLES (); + return mcnt; + } + +#ifndef __GNUC__ + /* Otherwise match next pattern command. */ + switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++)) + { +#endif + /* Ignore these. Used to ignore the n of succeed_n's which + currently have n =3D=3D 0. */ + CASE (no_op): + DEBUG_PRINT1 ("EXECUTING no_op.\n"); + NEXT; + + CASE (succeed): + DEBUG_PRINT1 ("EXECUTING succeed.\n"); + goto succeed_label; + + /* Match the next n pattern characters exactly. The following + byte in the pattern defines n, and the n bytes after that + are the characters to match. */ + CASE (exactn): +#ifdef MBS_SUPPORT + CASE (exactn_bin): +#endif + mcnt =3D *p++; + DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt); + + /* This is written out as an if-else so we don't waste time + testing `translate' inside the loop. */ + if (translate) + { + do + { + PREFETCH (); +#ifdef WCHAR + if (*d <=3D 0xff) + { + if ((UCHAR_T) translate[(unsigned char) *d++] + !=3D (UCHAR_T) *p++) + goto fail; + } + else + { + if (*d++ !=3D (CHAR_T) *p++) + goto fail; + } +#else + if ((UCHAR_T) translate[(unsigned char) *d++] + !=3D (UCHAR_T) *p++) + goto fail; +#endif /* WCHAR */ + } + while (--mcnt); + } + else + { + do + { + PREFETCH (); + if (*d++ !=3D (CHAR_T) *p++) goto fail; + } + while (--mcnt); + } + SET_REGS_MATCHED (); + NEXT; + + + /* Match any character except possibly a newline or a null. */ + CASE (anychar): + DEBUG_PRINT1 ("EXECUTING anychar.\n"); + + PREFETCH (); + + if ((!(bufp->syntax & RE_DOT_NEWLINE) && TRANSLATE (*d) =3D=3D= '\n') + || (bufp->syntax & RE_DOT_NOT_NULL && TRANSLATE (*d) =3D=3D= '\000')) + goto fail; + + SET_REGS_MATCHED (); + DEBUG_PRINT2 (" Matched `%ld'.\n", (long int) *d); + d++; + NEXT; + + + CASE (charset): + CASE (charset_not): + { + register UCHAR_T c; +#ifdef WCHAR + unsigned int i, char_class_length, coll_symbol_length, + equiv_class_length, ranges_length, chars_length, length; + CHAR_T *workp, *workp2, *charset_top; +#define WORK_BUFFER_SIZE 128 + CHAR_T str_buf[WORK_BUFFER_SIZE]; +# ifdef _LIBC + uint32_t nrules; +# endif /* _LIBC */ +#endif /* WCHAR */ + boolean not =3D (re_opcode_t) *(p - 1) =3D=3D charset_not; + + DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : ""); + PREFETCH (); + c =3D TRANSLATE (*d); /* The character to match. */ +#ifdef WCHAR +# ifdef _LIBC + nrules =3D _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); +# endif /* _LIBC */ + charset_top =3D p - 1; + char_class_length =3D *p++; + coll_symbol_length =3D *p++; + equiv_class_length =3D *p++; + ranges_length =3D *p++; + chars_length =3D *p++; + /* p points charset[6], so the address of the next instruction + (charset[l+m+n+2o+k+p']) equals p[l+m+n+2*o+p'], + where l=3Dlength of char_classes, m=3Dlength of collating_symbol= , + n=3Dequivalence_class, o=3Dlength of char_range, + p'=3Dlength of character. */ + workp =3D p; + /* Update p to indicate the next instruction. */ + p +=3D char_class_length + coll_symbol_length+ equiv_class_length += + 2*ranges_length + chars_length; + + /* match with char_class? */ + for (i =3D 0; i < char_class_length ; i +=3D CHAR_CLASS_SIZE) + { + wctype_t wctype; + uintptr_t alignedp =3D ((uintptr_t)workp + + __alignof__(wctype_t) - 1) + & ~(uintptr_t)(__alignof__(wctype_t) - 1); + wctype =3D *((wctype_t*)alignedp); + workp +=3D CHAR_CLASS_SIZE; + if (iswctype((wint_t)c, wctype)) + goto char_set_matched; + } + + /* match with collating_symbol? */ +# ifdef _LIBC + if (nrules !=3D 0) + { + const unsigned char *extra =3D (const unsigned char *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); + + for (workp2 =3D workp + coll_symbol_length ; workp < workp2 ; + workp++) + { + int32_t *wextra; + wextra =3D (int32_t*)(extra + *workp++); + for (i =3D 0; i < *wextra; ++i) + if (TRANSLATE(d[i]) !=3D wextra[1 + i]) + break; + + if (i =3D=3D *wextra) + { + /* Update d, however d will be incremented at + char_set_matched:, we decrement d here. */ + d +=3D i - 1; + goto char_set_matched; + } + } + } + else /* (nrules =3D=3D 0) */ +# endif + /* If we can't look up collation data, we use wcscoll + instead. */ + { + for (workp2 =3D workp + coll_symbol_length ; workp < workp2 ;) + { + const CHAR_T *backup_d =3D d, *backup_dend =3D dend; + length =3D wcslen (workp); + + /* If wcscoll(the collating symbol, whole string) > 0, + any substring of the string never match with the + collating symbol. */ + if (wcscoll (workp, d) > 0) + { + workp +=3D length + 1; + continue; + } + + /* First, we compare the collating symbol with + the first character of the string. + If it don't match, we add the next character to + the compare buffer in turn. */ + for (i =3D 0 ; i < WORK_BUFFER_SIZE-1 ; i++, d++) + { + int match; + if (d =3D=3D dend) + { + if (dend =3D=3D end_match_2) + break; + d =3D string2; + dend =3D end_match_2; + } + + /* add next character to the compare buffer. */ + str_buf[i] =3D TRANSLATE(*d); + str_buf[i+1] =3D '\0'; + + match =3D wcscoll (workp, str_buf); + if (match =3D=3D 0) + goto char_set_matched; + + if (match < 0) + /* (str_buf > workp) indicate (str_buf + X > workp), + because for all X (str_buf + X > str_buf). + So we don't need continue this loop. */ + break; + + /* Otherwise(str_buf < workp), + (str_buf+next_character) may equals (workp). + So we continue this loop. */ + } + /* not matched */ + d =3D backup_d; + dend =3D backup_dend; + workp +=3D length + 1; + } + } + /* match with equivalence_class? */ +# ifdef _LIBC + if (nrules !=3D 0) + { + const CHAR_T *backup_d =3D d, *backup_dend =3D dend; + /* Try to match the equivalence class against + those known to the collate implementation. */ + const int32_t *table; + const int32_t *weights; + const int32_t *extra; + const int32_t *indirect; + int32_t idx, idx2; + wint_t *cp; + size_t len; + + /* This #include defines a local function! */ +# include + + table =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEWC); + weights =3D (const wint_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTWC); + extra =3D (const wint_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAWC); + indirect =3D (const int32_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTWC); + + /* Write 1 collating element to str_buf, and + get its index. */ + idx2 =3D 0; + + for (i =3D 0 ; idx2 =3D=3D 0 && i < WORK_BUFFER_SIZE - 1; i++) + { + cp =3D (wint_t*)str_buf; + if (d =3D=3D dend) + { + if (dend =3D=3D end_match_2) + break; + d =3D string2; + dend =3D end_match_2; + } + str_buf[i] =3D TRANSLATE(*(d+i)); + str_buf[i+1] =3D '\0'; /* sentinel */ + idx2 =3D findidx ((const wint_t**)&cp); + } + + /* Update d, however d will be incremented at + char_set_matched:, we decrement d here. */ + d =3D backup_d + ((wchar_t*)cp - (wchar_t*)str_buf - 1); + if (d >=3D dend) + { + if (dend =3D=3D end_match_2) + d =3D dend; + else + { + d =3D string2; + dend =3D end_match_2; + } + } + + len =3D weights[idx2]; + + for (workp2 =3D workp + equiv_class_length ; workp < workp2 ; + workp++) + { + idx =3D (int32_t)*workp; + /* We already checked idx !=3D 0 in regex_compile. */ + + if (idx2 !=3D 0 && len =3D=3D weights[idx]) + { + int cnt =3D 0; + while (cnt < len && (weights[idx + 1 + cnt] + =3D=3D weights[idx2 + 1 + cnt])) + ++cnt; + + if (cnt =3D=3D len) + goto char_set_matched; + } + } + /* not matched */ + d =3D backup_d; + dend =3D backup_dend; + } + else /* (nrules =3D=3D 0) */ +# endif + /* If we can't look up collation data, we use wcscoll + instead. */ + { + for (workp2 =3D workp + equiv_class_length ; workp < workp2 ;) + { + const CHAR_T *backup_d =3D d, *backup_dend =3D dend; + length =3D wcslen (workp); + + /* If wcscoll(the collating symbol, whole string) > 0, + any substring of the string never match with the + collating symbol. */ + if (wcscoll (workp, d) > 0) + { + workp +=3D length + 1; + break; + } + + /* First, we compare the equivalence class with + the first character of the string. + If it don't match, we add the next character to + the compare buffer in turn. */ + for (i =3D 0 ; i < WORK_BUFFER_SIZE - 1 ; i++, d++) + { + int match; + if (d =3D=3D dend) + { + if (dend =3D=3D end_match_2) + break; + d =3D string2; + dend =3D end_match_2; + } + + /* add next character to the compare buffer. */ + str_buf[i] =3D TRANSLATE(*d); + str_buf[i+1] =3D '\0'; + + match =3D wcscoll (workp, str_buf); + + if (match =3D=3D 0) + goto char_set_matched; + + if (match < 0) + /* (str_buf > workp) indicate (str_buf + X > workp), + because for all X (str_buf + X > str_buf). + So we don't need continue this loop. */ + break; + + /* Otherwise(str_buf < workp), + (str_buf+next_character) may equals (workp). + So we continue this loop. */ + } + /* not matched */ + d =3D backup_d; + dend =3D backup_dend; + workp +=3D length + 1; + } + } + + /* match with char_range? */ +# ifdef _LIBC + if (nrules !=3D 0) + { + uint32_t collseqval; + const char *collseq =3D (const char *) + _NL_CURRENT(LC_COLLATE, _NL_COLLATE_COLLSEQWC); + + collseqval =3D collseq_table_lookup (collseq, c); + + for (; workp < p - chars_length ;) + { + uint32_t start_val, end_val; + + /* We already compute the collation sequence value + of the characters (or collating symbols). */ + start_val =3D (uint32_t) *workp++; /* range_start */ + end_val =3D (uint32_t) *workp++; /* range_end */ + + if (start_val <=3D collseqval && collseqval <=3D end_val) + goto char_set_matched; + } + } + else +# endif + { + /* We set range_start_char at str_buf[0], range_end_char + at str_buf[4], and compared char at str_buf[2]. */ + str_buf[1] =3D 0; + str_buf[2] =3D c; + str_buf[3] =3D 0; + str_buf[5] =3D 0; + for (; workp < p - chars_length ;) + { + wchar_t *range_start_char, *range_end_char; + + /* match if (range_start_char <=3D c <=3D range_end_char). */ + + /* If range_start(or end) < 0, we assume -range_start(end) + is the offset of the collating symbol which is specified + as the character of the range start(end). */ + + /* range_start */ + if (*workp < 0) + range_start_char =3D charset_top - (*workp++); + else + { + str_buf[0] =3D *workp++; + range_start_char =3D str_buf; + } + + /* range_end */ + if (*workp < 0) + range_end_char =3D charset_top - (*workp++); + else + { + str_buf[4] =3D *workp++; + range_end_char =3D str_buf + 4; + } + + if (wcscoll (range_start_char, str_buf+2) <=3D 0 + && wcscoll (str_buf+2, range_end_char) <=3D 0) + goto char_set_matched; + } + } + + /* match with char? */ + for (; workp < p ; workp++) + if (c =3D=3D *workp) + goto char_set_matched; + + not =3D !not; + + char_set_matched: + if (not) goto fail; +#else + /* Cast to `unsigned' instead of `unsigned char' in case the= + bit list is a full 32 bytes long. */ + if (c < (unsigned) (*p * BYTEWIDTH) + && p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH))) + not =3D !not; + + p +=3D 1 + *p; + + if (!not) goto fail; +#undef WORK_BUFFER_SIZE +#endif /* WCHAR */ + SET_REGS_MATCHED (); + d++; + NEXT; + } + + + /* The beginning of a group is represented by start_memory. + The arguments are the register number in the next byte, and t= he + number of groups inner to this one in the next. The text + matched within the group is recorded (in the internal + registers data structure) under the register number. */ + CASE (start_memory): + DEBUG_PRINT3 ("EXECUTING start_memory %ld (%ld):\n", + (long int) *p, (long int) p[1]); + + /* Find out if this group can match the empty string. */ + p1 =3D p; /* To send to group_match_null_string_p. */ + + if (REG_MATCH_NULL_STRING_P (reg_info[*p]) =3D=3D MATCH_NULL_U= NSET_VALUE) + REG_MATCH_NULL_STRING_P (reg_info[*p]) + =3D PREFIX(group_match_null_string_p) (&p1, pend, reg_info= ); + + /* Save the position in the string where we were the last time= + we were at this open-group operator in case the group is + operated upon by a repetition operator, e.g., with `(a*)*b'= + against `ab'; then we want to ignore where we are now in + the string in case this attempt to match fails. */ + old_regstart[*p] =3D REG_MATCH_NULL_STRING_P (reg_info[*p]) + ? REG_UNSET (regstart[*p]) ? d : regstart[*= p] + : regstart[*p]; + DEBUG_PRINT2 (" old_regstart: %d\n", + POINTER_TO_OFFSET (old_regstart[*p])); + + regstart[*p] =3D d; + DEBUG_PRINT2 (" regstart: %d\n", POINTER_TO_OFFSET (regstart[*p])); + + IS_ACTIVE (reg_info[*p]) =3D 1; + MATCHED_SOMETHING (reg_info[*p]) =3D 0; + + /* Clear this whenever we change the register activity status. */ + set_regs_matched_done =3D 0; + + /* This is the new highest active register. */ + highest_active_reg =3D *p; + + /* If nothing was active before, this is the new lowest active= + register. */ + if (lowest_active_reg =3D=3D NO_LOWEST_ACTIVE_REG) + lowest_active_reg =3D *p; + + /* Move past the register number and inner group count. */ + p +=3D 2; + just_past_start_mem =3D p; + + NEXT; + + + /* The stop_memory opcode represents the end of a group. Its + arguments are the same as start_memory's: the register + number, and the number of inner groups. */ + CASE (stop_memory): + DEBUG_PRINT3 ("EXECUTING stop_memory %ld (%ld):\n", + (long int) *p, (long int) p[1]); + + /* We need to save the string position the last time we were a= t + this close-group operator in case the group is operated + upon by a repetition operator, e.g., with `((a*)*(b*)*)*' + against `aba'; then we want to ignore where we are now in + the string in case this attempt to match fails. */ + old_regend[*p] =3D REG_MATCH_NULL_STRING_P (reg_info[*p]) + ? REG_UNSET (regend[*p]) ? d : regend[*p] + : regend[*p]; + DEBUG_PRINT2 (" old_regend: %d\n", + POINTER_TO_OFFSET (old_regend[*p])); + + regend[*p] =3D d; + DEBUG_PRINT2 (" regend: %d\n", POINTER_TO_OFFSET (regend[*p])); + + /* This register isn't active anymore. */ + IS_ACTIVE (reg_info[*p]) =3D 0; + + /* Clear this whenever we change the register activity status. */ + set_regs_matched_done =3D 0; + + /* If this was the only register active, nothing is active + anymore. */ + if (lowest_active_reg =3D=3D highest_active_reg) + { + lowest_active_reg =3D NO_LOWEST_ACTIVE_REG; + highest_active_reg =3D NO_HIGHEST_ACTIVE_REG; + } + else + { /* We must scan for the new highest active register, since= + it isn't necessarily one less than now: consider + (a(b)c(d(e)f)g). When group 3 ends, after the f), the + new highest active register is 1. */ + UCHAR_T r =3D *p - 1; + while (r > 0 && !IS_ACTIVE (reg_info[r])) + r--; + + /* If we end up at register zero, that means that we saved= + the registers as the result of an `on_failure_jump', no= t + a `start_memory', and we jumped to past the innermost + `stop_memory'. For example, in ((.)*) we save + registers 1 and 2 as a result of the *, but when we pop= + back to the second ), we are at the stop_memory 1. + Thus, nothing is active. */ + if (r =3D=3D 0) + { + lowest_active_reg =3D NO_LOWEST_ACTIVE_REG; + highest_active_reg =3D NO_HIGHEST_ACTIVE_REG; + } + else + highest_active_reg =3D r; + } + + /* If just failed to match something this time around with a + group that's operated on by a repetition operator, try to + force exit from the ``loop'', and restore the register + information for this group that we had before trying this + last match. */ + if ((!MATCHED_SOMETHING (reg_info[*p]) + || just_past_start_mem =3D=3D p - 1) + && (p + 2) < pend) + { + boolean is_a_jump_n =3D false; + + p1 =3D p + 2; + mcnt =3D 0; + switch ((re_opcode_t) *p1++) + { + case jump_n: + is_a_jump_n =3D true; + case pop_failure_jump: + case maybe_pop_jump: + case jump: + case dummy_failure_jump: + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + if (is_a_jump_n) + p1 +=3D OFFSET_ADDRESS_SIZE; + break; + + default: + /* do nothing */ ; + } + p1 +=3D mcnt; + + /* If the next operation is a jump backwards in the patter= n + to an on_failure_jump right before the start_memory + corresponding to this stop_memory, exit from the loop + by forcing a failure after pushing on the stack the + on_failure_jump's jump in the pattern, and d. */ + if (mcnt < 0 && (re_opcode_t) *p1 =3D=3D on_failure_jump + && (re_opcode_t) p1[1+OFFSET_ADDRESS_SIZE] =3D=3D star= t_memory + && p1[2+OFFSET_ADDRESS_SIZE] =3D=3D *p) + { + /* If this group ever matched anything, then restore + what its registers were before trying this last + failed match, e.g., with `(a*)*b' against `ab' for + regstart[1], and, e.g., with `((a*)*(b*)*)*' + against `aba' for regend[3]. + + Also restore the registers for inner groups for, + e.g., `((a*)(b*))*' against `aba' (register 3 would= + otherwise get trashed). */ + + if (EVER_MATCHED_SOMETHING (reg_info[*p])) + { + unsigned r; + + EVER_MATCHED_SOMETHING (reg_info[*p]) =3D 0; + + /* Restore this and inner groups' (if any) registers. */ + for (r =3D *p; r < (unsigned) *p + (unsigned) *(p = + 1); + r++) + { + regstart[r] =3D old_regstart[r]; + + /* xx why this test? */ + if (old_regend[r] >=3D regstart[r]) + regend[r] =3D old_regend[r]; + } + } + p1++; + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + PUSH_FAILURE_POINT (p1 + mcnt, d, -2); + + goto fail; + } + } + + /* Move past the register number and the inner group count. *= / + p +=3D 2; + NEXT; + + + /* \ has been turned into a `duplicate' command which is + followed by the numeric value of as the register numb= er. */ + CASE (duplicate): + { + register const CHAR_T *d2, *dend2; + int regno =3D *p++; /* Get which register to match against. */ + DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno); + + /* Can't back reference a group which we've never matched. */ + if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno])= ) + goto fail; + + /* Where in input to try to start matching. */ + d2 =3D regstart[regno]; + + /* Where to stop matching; if both the place to start and + the place to stop matching are in the same string, then + set to the place to stop, otherwise, for now have to use + the end of the first string. */ + + dend2 =3D ((FIRST_STRING_P (regstart[regno]) + =3D=3D FIRST_STRING_P (regend[regno])) + ? regend[regno] : end_match_1); + for (;;) + { + /* If necessary, advance to next segment in register + contents. */ + while (d2 =3D=3D dend2) + { + if (dend2 =3D=3D end_match_2) break; + if (dend2 =3D=3D regend[regno]) break; + + /* End of string1 =3D> advance to string2. */ + d2 =3D string2; + dend2 =3D regend[regno]; + } + /* At end of register contents =3D> success */ + if (d2 =3D=3D dend2) break; + + /* If necessary, advance to next segment in data. */ + PREFETCH (); + + /* How many characters left in this segment to match. */ + mcnt =3D dend - d; + + /* Want how many consecutive characters we can match in + one shot, so, if necessary, adjust the count. */ + if (mcnt > dend2 - d2) + mcnt =3D dend2 - d2; + + /* Compare that many; failure if mismatch, else move + past them. */ + if (translate + ? PREFIX(bcmp_translate) (d, d2, mcnt, translate) + : memcmp (d, d2, mcnt*sizeof(UCHAR_T))) + goto fail; + d +=3D mcnt, d2 +=3D mcnt; + + /* Do this because we've match some characters. */ + SET_REGS_MATCHED (); + } + } + NEXT; + + + /* begline matches the empty string at the beginning of the stri= ng + (unless `not_bol' is set in `bufp'), and, if + `newline_anchor' is set, after newlines. */ + CASE (begline): + DEBUG_PRINT1 ("EXECUTING begline.\n"); + + if (AT_STRINGS_BEG (d)) + { + if (!bufp->not_bol) + { + NEXT; + } + } + else if (d[-1] =3D=3D '\n' && bufp->newline_anchor) + { + NEXT; + } + /* In all other cases, we fail. */ + goto fail; + + + /* endline is the dual of begline. */ + CASE (endline): + DEBUG_PRINT1 ("EXECUTING endline.\n"); + + if (AT_STRINGS_END (d)) + { + if (!bufp->not_eol) + { + NEXT; + } + } + + /* We have to ``prefetch'' the next character. */ + else if ((d =3D=3D end1 ? *string2 : *d) =3D=3D '\n' + && bufp->newline_anchor) + { + NEXT; + } + goto fail; + + + /* Match at the very beginning of the data. */ + CASE (begbuf): + DEBUG_PRINT1 ("EXECUTING begbuf.\n"); + if (AT_STRINGS_BEG (d)) + { + NEXT; + } + goto fail; + + + /* Match at the very end of the data. */ + CASE (endbuf): + DEBUG_PRINT1 ("EXECUTING endbuf.\n"); + if (AT_STRINGS_END (d)) + { + NEXT; + } + goto fail; + + + /* on_failure_keep_string_jump is used to optimize `.*\n'. It + pushes NULL as the value for the string on the stack. Then + `pop_failure_point' will keep the current value for the + string, instead of restoring it. To see why, consider + matching `foo\nbar' against `.*\n'. The .* matches the foo; + then the . fails against the \n. But the next thing we want + to do is match the \n against the \n; if we restored the + string value, we would be back at the foo. + + Because this is used only in specific cases, we don't need to= + check all the things that `on_failure_jump' does, to make + sure the right things get saved on the stack. Hence we don't= + share its code. The only reason to push anything on the + stack at all is that otherwise we would have to change + `anychar's code to do something besides goto fail in this + case; that seems worse than this. */ + CASE (on_failure_keep_string_jump): + DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump"); + + EXTRACT_NUMBER_AND_INCR (mcnt, p); +#ifdef _LIBC + DEBUG_PRINT3 (" %d (to %p):\n", mcnt, p + mcnt); +#else + DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt); +#endif + + PUSH_FAILURE_POINT (p + mcnt, NULL, -2); + NEXT; + + + /* Uses of on_failure_jump: + + Each alternative starts with an on_failure_jump that points + to the beginning of the next alternative. Each alternative + except the last ends with a jump that in effect jumps past + the rest of the alternatives. (They really jump to the + ending jump of the following alternative, because tensioning + these jumps is a hassle.) + + Repeats start with an on_failure_jump that points past both + the repetition text and either the following jump or + pop_failure_jump back to this on_failure_jump. */ + CASE (on_failure_jump): + on_failure: + DEBUG_PRINT1 ("EXECUTING on_failure_jump"); + + EXTRACT_NUMBER_AND_INCR (mcnt, p); +#ifdef _LIBC + DEBUG_PRINT3 (" %d (to %p)", mcnt, p + mcnt); +#else + DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt); +#endif + + /* If this on_failure_jump comes right before a group (i.e., + the original * applied to a group), save the information + for that group and all inner ones, so that if we fail back + to this point, the group's information will be correct. + For example, in \(a*\)*\1, we need the preceding group, + and in \(zz\(a*\)b*\)\2, we need the inner group. */ + + /* We can't use `p' to check ahead because we push + a failure point to `p + mcnt' after we do this. */ + p1 =3D p; + + /* We need to skip no_op's before we look for the + start_memory in case this on_failure_jump is happening as + the result of a completed succeed_n, as in \(a\)\{1,3\}b\1 + against aba. */ + while (p1 < pend && (re_opcode_t) *p1 =3D=3D no_op) + p1++; + + if (p1 < pend && (re_opcode_t) *p1 =3D=3D start_memory) + { + /* We have a new highest active register now. This will + get reset at the start_memory we are about to get to, + but we will have saved all the registers relevant to + this repetition op, as described above. */ + highest_active_reg =3D *(p1 + 1) + *(p1 + 2); + if (lowest_active_reg =3D=3D NO_LOWEST_ACTIVE_REG) + lowest_active_reg =3D *(p1 + 1); + } + + DEBUG_PRINT1 (":\n"); + PUSH_FAILURE_POINT (p + mcnt, d, -2); + NEXT; + + + /* A smart repeat ends with `maybe_pop_jump'. + We change it to either `pop_failure_jump' or `jump'. */ + CASE (maybe_pop_jump): + EXTRACT_NUMBER_AND_INCR (mcnt, p); + DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt); + { + register UCHAR_T *p2 =3D p; + + /* Compare the beginning of the repeat with what in the + pattern follows its end. If we can establish that there + is nothing that they would both match, i.e., that we + would have to backtrack because of (as in, e.g., `a*a') + then we can change to pop_failure_jump, because we'll + never have to backtrack. + + This is not true in the case of alternatives: in + `(a|ab)*' we do need to backtrack to the `ab' alternative= + (e.g., if the string was `ab'). But instead of trying to= + detect that here, the alternative has put on a dummy + failure point which is what we will end up popping. */ + + /* Skip over open/close-group commands. + If what follows this loop is a ...+ construct, + look at what begins its body, since we will have to + match at least one of that. */ + while (1) + { + if (p2 + 2 < pend + && ((re_opcode_t) *p2 =3D=3D stop_memory + || (re_opcode_t) *p2 =3D=3D start_memory)) + p2 +=3D 3; + else if (p2 + 2 + 2 * OFFSET_ADDRESS_SIZE < pend + && (re_opcode_t) *p2 =3D=3D dummy_failure_jump) + p2 +=3D 2 + 2 * OFFSET_ADDRESS_SIZE; + else + break; + } + + p1 =3D p + mcnt; + /* p1[0] ... p1[2] are the `on_failure_jump' corresponding + to the `maybe_finalize_jump' of this case. Examine what + follows. */ + + /* If we're at the end of the pattern, we can change. */ + if (p2 =3D=3D pend) + { + /* Consider what happens when matching ":\(.*\)" + against ":/". I don't really understand this code + yet. */ + p[-(1+OFFSET_ADDRESS_SIZE)] =3D (UCHAR_T) + pop_failure_jump; + DEBUG_PRINT1 + (" End of pattern: change to `pop_failure_jump'.\n");= + } + + else if ((re_opcode_t) *p2 =3D=3D exactn +#ifdef MBS_SUPPORT + || (re_opcode_t) *p2 =3D=3D exactn_bin +#endif + || (bufp->newline_anchor && (re_opcode_t) *p2 =3D=3D endline)) + { + register UCHAR_T c + =3D *p2 =3D=3D (UCHAR_T) endline ? '\n' : p2[2]; + + if (((re_opcode_t) p1[1+OFFSET_ADDRESS_SIZE] =3D=3D exac= tn +#ifdef MBS_SUPPORT + || (re_opcode_t) p1[1+OFFSET_ADDRESS_SIZE] =3D=3D exactn_bin +#endif + ) && p1[3+OFFSET_ADDRESS_SIZE] !=3D c) + { + p[-(1+OFFSET_ADDRESS_SIZE)] =3D (UCHAR_T) + pop_failure_jump; +#ifdef WCHAR + DEBUG_PRINT3 (" %C !=3D %C =3D> pop_failure_jump.\n", + (wint_t) c, + (wint_t) p1[3+OFFSET_ADDRESS_SIZE]); +#else + DEBUG_PRINT3 (" %c !=3D %c =3D> pop_failure_jump.\n", + (char) c, + (char) p1[3+OFFSET_ADDRESS_SIZE]); +#endif + } + +#ifndef WCHAR + else if ((re_opcode_t) p1[3] =3D=3D charset + || (re_opcode_t) p1[3] =3D=3D charset_not) + { + int not =3D (re_opcode_t) p1[3] =3D=3D charset_not; + + if (c < (unsigned) (p1[4] * BYTEWIDTH) + && p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH))) + not =3D !not; + + /* `not' is equal to 1 if c would match, which means= + that we can't change to pop_failure_jump. */ + if (!not) + { + p[-3] =3D (unsigned char) pop_failure_jump; + DEBUG_PRINT1 (" No match =3D> pop_failure_jump.= \n"); + } + } +#endif /* not WCHAR */ + } +#ifndef WCHAR + else if ((re_opcode_t) *p2 =3D=3D charset) + { + /* We win if the first character of the loop is not part + of the charset. */ + if ((re_opcode_t) p1[3] =3D=3D exactn + && ! ((int) p2[1] * BYTEWIDTH > (int) p1[5] + && (p2[2 + p1[5] / BYTEWIDTH] + & (1 << (p1[5] % BYTEWIDTH))))) + { + p[-3] =3D (unsigned char) pop_failure_jump; + DEBUG_PRINT1 (" No match =3D> pop_failure_jump.\n"); + } + + else if ((re_opcode_t) p1[3] =3D=3D charset_not) + { + int idx; + /* We win if the charset_not inside the loop + lists every character listed in the charset after. */ + for (idx =3D 0; idx < (int) p2[1]; idx++) + if (! (p2[2 + idx] =3D=3D 0 + || (idx < (int) p1[4] + && ((p2[2 + idx] & ~ p1[5 + idx]) =3D=3D 0)))) + break; + + if (idx =3D=3D p2[1]) + { + p[-3] =3D (unsigned char) pop_failure_jump; + DEBUG_PRINT1 (" No match =3D> pop_failure_jump.= \n"); + } + } + else if ((re_opcode_t) p1[3] =3D=3D charset) + { + int idx; + /* We win if the charset inside the loop + has no overlap with the one after the loop. */ + for (idx =3D 0; + idx < (int) p2[1] && idx < (int) p1[4]; + idx++) + if ((p2[2 + idx] & p1[5 + idx]) !=3D 0) + break; + + if (idx =3D=3D p2[1] || idx =3D=3D p1[4]) + { + p[-3] =3D (unsigned char) pop_failure_jump; + DEBUG_PRINT1 (" No match =3D> pop_failure_jump.= \n"); + } + } + } +#endif /* not WCHAR */ + } + p -=3D OFFSET_ADDRESS_SIZE; /* Point at relative address again. */ + if ((re_opcode_t) p[-1] !=3D pop_failure_jump) + { + p[-1] =3D (UCHAR_T) jump; + DEBUG_PRINT1 (" Match =3D> jump.\n"); + goto unconditional_jump; + } + /* Note fall through. */ + + + /* The end of a simple repeat has a pop_failure_jump back to + its matching on_failure_jump, where the latter will push a + failure point. The pop_failure_jump takes off failure + points put on by this pop_failure_jump's matching + on_failure_jump; we got through the pattern to here from the + matching on_failure_jump, so didn't fail. */ + CASE (pop_failure_jump): + { + /* We need to pass separate storage for the lowest and + highest registers, even though we don't care about the + actual values. Otherwise, we will restore only one + register from the stack, since lowest will =3D=3D highest= in + `pop_failure_point'. */ + active_reg_t dummy_low_reg, dummy_high_reg; + UCHAR_T *pdummy =3D NULL; + const CHAR_T *sdummy =3D NULL; + + DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n"); + POP_FAILURE_POINT (sdummy, pdummy, + dummy_low_reg, dummy_high_reg, + reg_dummy, reg_dummy, reg_info_dummy); + } + /* Note fall through. */ + + unconditional_jump: +#ifdef _LIBC + DEBUG_PRINT2 ("\n%p: ", p); +#else + DEBUG_PRINT2 ("\n0x%x: ", p); +#endif + /* Note fall through. */ + + /* Unconditionally jump (without popping any failure points). *= / + CASE (jump): + EXTRACT_NUMBER_AND_INCR (mcnt, p); /* Get the amount to jump. */ + DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt); + p +=3D mcnt; /* Do the jump. */ +#ifdef _LIBC + DEBUG_PRINT2 ("(to %p).\n", p); +#else + DEBUG_PRINT2 ("(to 0x%x).\n", p); +#endif + NEXT; + + + /* We need this opcode so we can detect where alternatives end + in `group_match_null_string_p' et al. */ + CASE (jump_past_alt): + DEBUG_PRINT1 ("EXECUTING jump_past_alt.\n"); + goto unconditional_jump; + + + /* Normally, the on_failure_jump pushes a failure point, which + then gets popped at pop_failure_jump. We will end up at + pop_failure_jump, also, and with a pattern of, say, `a+', we + are skipping over the on_failure_jump, so we have to push + something meaningless for pop_failure_jump to pop. */ + CASE (dummy_failure_jump): + DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n"); + /* It doesn't matter what we push for the string here. What + the code at `fail' tests is the value for the pattern. */ + PUSH_FAILURE_POINT (NULL, NULL, -2); + goto unconditional_jump; + + + /* At the end of an alternative, we need to push a dummy failure= + point in case we are followed by a `pop_failure_jump', becaus= e + we don't want the failure point for the alternative to be + popped. For example, matching `(a|ab)*' against `aab' + requires that we match the `ab' alternative. */ + CASE (push_dummy_failure): + DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n"); + /* See comments just above at `dummy_failure_jump' about the + two zeroes. */ + PUSH_FAILURE_POINT (NULL, NULL, -2); + NEXT; + + /* Have to succeed matching what follows at least n times. + After that, handle like `on_failure_jump'. */ + CASE (succeed_n): + EXTRACT_NUMBER (mcnt, p + OFFSET_ADDRESS_SIZE); + DEBUG_PRINT2 ("EXECUTING succeed_n %d.\n", mcnt); + + assert (mcnt >=3D 0); + /* Originally, this is how many times we HAVE to succeed. */ + if (mcnt > 0) + { + mcnt--; + p +=3D OFFSET_ADDRESS_SIZE; + STORE_NUMBER_AND_INCR (p, mcnt); +#ifdef _LIBC + DEBUG_PRINT3 (" Setting %p to %d.\n", p - OFFSET_ADDRESS= _SIZE + , mcnt); +#else + DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p - OFFSET_ADDRE= SS_SIZE + , mcnt); +#endif + } + else if (mcnt =3D=3D 0) + { +#ifdef _LIBC + DEBUG_PRINT2 (" Setting two bytes from %p to no_op.\n", + p + OFFSET_ADDRESS_SIZE); +#else + DEBUG_PRINT2 (" Setting two bytes from 0x%x to no_op.\n",= + p + OFFSET_ADDRESS_SIZE); +#endif /* _LIBC */ + +#ifdef WCHAR + p[1] =3D (UCHAR_T) no_op; +#else + p[2] =3D (UCHAR_T) no_op; + p[3] =3D (UCHAR_T) no_op; +#endif /* WCHAR */ + goto on_failure; + } + NEXT; + + CASE (jump_n): + EXTRACT_NUMBER (mcnt, p + OFFSET_ADDRESS_SIZE); + DEBUG_PRINT2 ("EXECUTING jump_n %d.\n", mcnt); + + /* Originally, this is how many times we CAN jump. */ + if (mcnt) + { + mcnt--; + STORE_NUMBER (p + OFFSET_ADDRESS_SIZE, mcnt); + +#ifdef _LIBC + DEBUG_PRINT3 (" Setting %p to %d.\n", p + OFFSET_ADDRESS= _SIZE, + mcnt); +#else + DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p + OFFSET_ADDRE= SS_SIZE, + mcnt); +#endif /* _LIBC */ + goto unconditional_jump; + } + /* If don't have to jump any more, skip over the rest of comma= nd. */ + else + p +=3D 2 * OFFSET_ADDRESS_SIZE; + NEXT; + + CASE (set_number_at): + { + DEBUG_PRINT1 ("EXECUTING set_number_at.\n"); + + EXTRACT_NUMBER_AND_INCR (mcnt, p); + p1 =3D p + mcnt; + EXTRACT_NUMBER_AND_INCR (mcnt, p); +#ifdef _LIBC + DEBUG_PRINT3 (" Setting %p to %d.\n", p1, mcnt); +#else + DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p1, mcnt); +#endif + STORE_NUMBER (p1, mcnt); + NEXT; + } + +#if 0 + /* The DEC Alpha C compiler 3.x generates incorrect code for the + test WORDCHAR_P (d - 1) !=3D WORDCHAR_P (d) in the expansion of + AT_WORD_BOUNDARY, so this code is disabled. Expanding the + macro and introducing temporary variables works around the bug. */ + + CASE (wordbound): + DEBUG_PRINT1 ("EXECUTING wordbound.\n"); + if (AT_WORD_BOUNDARY (d)) + { + NEXT; + } + goto fail; + + CASE (notwordbound): + DEBUG_PRINT1 ("EXECUTING notwordbound.\n"); + if (AT_WORD_BOUNDARY (d)) + goto fail; + NEXT; +#else + CASE (wordbound): + { + boolean prevchar, thischar; + + DEBUG_PRINT1 ("EXECUTING wordbound.\n"); + if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)) + { + NEXT; + } + + prevchar =3D WORDCHAR_P (d - 1); + thischar =3D WORDCHAR_P (d); + if (prevchar !=3D thischar) + { + NEXT; + } + goto fail; + } + + CASE (notwordbound): + { + boolean prevchar, thischar; + + DEBUG_PRINT1 ("EXECUTING notwordbound.\n"); + if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)) + goto fail; + + prevchar =3D WORDCHAR_P (d - 1); + thischar =3D WORDCHAR_P (d); + if (prevchar !=3D thischar) + goto fail; + NEXT; + } +#endif + + CASE (wordbeg): + DEBUG_PRINT1 ("EXECUTING wordbeg.\n"); + if (!AT_STRINGS_END (d) && WORDCHAR_P (d) + && (AT_STRINGS_BEG (d) || !WORDCHAR_P (d - 1))) + { + NEXT; + } + goto fail; + + CASE (wordend): + DEBUG_PRINT1 ("EXECUTING wordend.\n"); + if (!AT_STRINGS_BEG (d) && WORDCHAR_P (d - 1) + && (AT_STRINGS_END (d) || !WORDCHAR_P (d))) + { + NEXT; + } + goto fail; + +#ifdef emacs + CASE (before_dot): + DEBUG_PRINT1 ("EXECUTING before_dot.\n"); + if (PTR_CHAR_POS ((unsigned char *) d) >=3D point) + goto fail; + NEXT; + + CASE (at_dot): + DEBUG_PRINT1 ("EXECUTING at_dot.\n"); + if (PTR_CHAR_POS ((unsigned char *) d) !=3D point) + goto fail; + NEXT; + + CASE (after_dot): + DEBUG_PRINT1 ("EXECUTING after_dot.\n"); + if (PTR_CHAR_POS ((unsigned char *) d) <=3D point) + goto fail; + NEXT; + + CASE (syntaxspec): + DEBUG_PRINT2 ("EXECUTING syntaxspec %d.\n", mcnt); + mcnt =3D *p++; + goto matchsyntax; + + CASE (wordchar): + DEBUG_PRINT1 ("EXECUTING Emacs wordchar.\n"); + mcnt =3D (int) Sword; + matchsyntax: + PREFETCH (); + /* Can't use *d++ here; SYNTAX may be an unsafe macro. */ + d++; + if (SYNTAX (d[-1]) !=3D (enum syntaxcode) mcnt) + goto fail; + SET_REGS_MATCHED (); + NEXT; + + CASE (notsyntaxspec): + DEBUG_PRINT2 ("EXECUTING notsyntaxspec %d.\n", mcnt); + mcnt =3D *p++; + goto matchnotsyntax; + + CASE (notwordchar): + DEBUG_PRINT1 ("EXECUTING Emacs notwordchar.\n"); + mcnt =3D (int) Sword; + matchnotsyntax: + PREFETCH (); + /* Can't use *d++ here; SYNTAX may be an unsafe macro. */ + d++; + if (SYNTAX (d[-1]) =3D=3D (enum syntaxcode) mcnt) + goto fail; + SET_REGS_MATCHED (); + NEXT; + +#else /* not emacs */ + CASE (wordchar): + DEBUG_PRINT1 ("EXECUTING non-Emacs wordchar.\n"); + PREFETCH (); + if (!WORDCHAR_P (d)) + goto fail; + SET_REGS_MATCHED (); + d++; + NEXT; + + CASE (notwordchar): + DEBUG_PRINT1 ("EXECUTING non-Emacs notwordchar.\n"); + PREFETCH (); + if (WORDCHAR_P (d)) + goto fail; + SET_REGS_MATCHED (); + d++; + NEXT; +#endif /* not emacs */ + +#ifndef __GNUC__ + default: + abort (); + } + continue; /* Successfully executed one pattern command; keep goin= g. */ +#endif + + + /* We goto here if a matching operation fails. */ + fail: + if (!FAIL_STACK_EMPTY ()) + { /* A restart point is known. Restore to that state. */ + DEBUG_PRINT1 ("\nFAIL:\n"); + POP_FAILURE_POINT (d, p, + lowest_active_reg, highest_active_reg, + regstart, regend, reg_info); + + /* If this failure point is a dummy, try the next one. */ + if (!p) + goto fail; + + /* If we failed to the end of the pattern, don't examine *p. = */ + assert (p <=3D pend); + if (p < pend) + { + boolean is_a_jump_n =3D false; + + /* If failed to a backwards jump that's part of a repetiti= on + loop, need to pop this failure point and use the next o= ne. */ + switch ((re_opcode_t) *p) + { + case jump_n: + is_a_jump_n =3D true; + case maybe_pop_jump: + case pop_failure_jump: + case jump: + p1 =3D p + 1; + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + p1 +=3D mcnt; + + if ((is_a_jump_n && (re_opcode_t) *p1 =3D=3D succeed_n= ) + || (!is_a_jump_n + && (re_opcode_t) *p1 =3D=3D on_failure_jump)) + goto fail; + break; + default: + /* do nothing */ ; + } + } + + if (d >=3D string1 && d <=3D end1) + dend =3D end_match_1; + } + else + break; /* Matching at this starting point really fails. */ + } /* for (;;) */ + + if (best_regs_set) + goto restore_best_regs; + + FREE_VARIABLES (); + + return -1; /* Failure to match. */ +} /* re_match_2 */ +=0C +/* Subroutine definitions for re_match_2. */ + + +/* We are passed P pointing to a register number after a start_memory. + + Return true if the pattern up to the corresponding stop_memory can + match the empty string, and false otherwise. + + If we find the matching stop_memory, sets P to point to one past its = number. + Otherwise, sets P to an undefined byte less than or equal to END. + + We don't handle duplicates properly (yet). */ + +static boolean +PREFIX(group_match_null_string_p) (UCHAR_T **p, UCHAR_T *end, + PREFIX(register_info_type) *reg_info) +{ + int mcnt; + /* Point to after the args to the start_memory. */ + UCHAR_T *p1 =3D *p + 2; + + while (p1 < end) + { + /* Skip over opcodes that can match nothing, and return true or + false, as appropriate, when we get to one that can't, or to the + matching stop_memory. */ + + switch ((re_opcode_t) *p1) + { + /* Could be either a loop or a series of alternatives. */ + case on_failure_jump: + p1++; + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + + /* If the next operation is not a jump backwards in the + pattern. */ + + if (mcnt >=3D 0) + { + /* Go through the on_failure_jumps of the alternatives, + seeing if any of the alternatives cannot match nothing.= + The last alternative starts with only a jump, + whereas the rest start with on_failure_jump and end + with a jump, e.g., here is the pattern for `a|b|c': + + /on_failure_jump/0/6/exactn/1/a/jump_past_alt/0/6 + /on_failure_jump/0/6/exactn/1/b/jump_past_alt/0/3 + /exactn/1/c + + So, we have to first go through the first (n-1) + alternatives and then deal with the last one separately= =2E */ + + + /* Deal with the first (n-1) alternatives, which start + with an on_failure_jump (see above) that jumps to right= + past a jump_past_alt. */ + + while ((re_opcode_t) p1[mcnt-(1+OFFSET_ADDRESS_SIZE)] =3D=3D= + jump_past_alt) + { + /* `mcnt' holds how many bytes long the alternative + is, including the ending `jump_past_alt' and + its number. */ + + if (!PREFIX(alt_match_null_string_p) (p1, p1 + mcnt - + (1 + OFFSET_ADDRESS_SIZE), + reg_info)) + return false; + + /* Move to right after this alternative, including the= + jump_past_alt. */ + p1 +=3D mcnt; + + /* Break if it's the beginning of an n-th alternative + that doesn't begin with an on_failure_jump. */ + if ((re_opcode_t) *p1 !=3D on_failure_jump) + break; + + /* Still have to check that it's not an n-th + alternative that starts with an on_failure_jump. */ + p1++; + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + if ((re_opcode_t) p1[mcnt-(1+OFFSET_ADDRESS_SIZE)] !=3D= + jump_past_alt) + { + /* Get to the beginning of the n-th alternative. */ + p1 -=3D 1 + OFFSET_ADDRESS_SIZE; + break; + } + } + + /* Deal with the last alternative: go back and get number + of the `jump_past_alt' just before it. `mcnt' contains= + the length of the alternative. */ + EXTRACT_NUMBER (mcnt, p1 - OFFSET_ADDRESS_SIZE); + + if (!PREFIX(alt_match_null_string_p) (p1, p1 + mcnt, reg_i= nfo)) + return false; + + p1 +=3D mcnt; /* Get past the n-th alternative. */ + } /* if mcnt > 0 */ + break; + + + case stop_memory: + assert (p1[1] =3D=3D **p); + *p =3D p1 + 2; + return true; + + + default: + if (!PREFIX(common_op_match_null_string_p) (&p1, end, reg_info= )) + return false; + } + } /* while p1 < end */ + + return false; +} /* group_match_null_string_p */ + + +/* Similar to group_match_null_string_p, but doesn't deal with alternati= ves: + It expects P to be the first byte of a single alternative and END one= + byte past the last. The alternative can contain groups. */ + +static boolean +PREFIX(alt_match_null_string_p) (UCHAR_T *p, UCHAR_T *end, + PREFIX(register_info_type) *reg_info) +{ + int mcnt; + UCHAR_T *p1 =3D p; + + while (p1 < end) + { + /* Skip over opcodes that can match nothing, and break when we get= + to one that can't. */ + + switch ((re_opcode_t) *p1) + { + /* It's a loop. */ + case on_failure_jump: + p1++; + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + p1 +=3D mcnt; + break; + + default: + if (!PREFIX(common_op_match_null_string_p) (&p1, end, reg_info= )) + return false; + } + } /* while p1 < end */ + + return true; +} /* alt_match_null_string_p */ + + +/* Deals with the ops common to group_match_null_string_p and + alt_match_null_string_p. + + Sets P to one after the op and its arguments, if any. */ + +static boolean +PREFIX(common_op_match_null_string_p) (UCHAR_T **p, UCHAR_T *end, + PREFIX(register_info_type) *reg_info) +{ + int mcnt; + boolean ret; + int reg_no; + UCHAR_T *p1 =3D *p; + + switch ((re_opcode_t) *p1++) + { + case no_op: + case begline: + case endline: + case begbuf: + case endbuf: + case wordbeg: + case wordend: + case wordbound: + case notwordbound: +#ifdef emacs + case before_dot: + case at_dot: + case after_dot: +#endif + break; + + case start_memory: + reg_no =3D *p1; + assert (reg_no > 0 && reg_no <=3D MAX_REGNUM); + ret =3D PREFIX(group_match_null_string_p) (&p1, end, reg_info); + + /* Have to set this here in case we're checking a group which + contains a group and a back reference to it. */ + + if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) =3D=3D MATCH_NULL_U= NSET_VALUE) + REG_MATCH_NULL_STRING_P (reg_info[reg_no]) =3D ret; + + if (!ret) + return false; + break; + + /* If this is an optimized succeed_n for zero times, make the jump. = */ + case jump: + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + if (mcnt >=3D 0) + p1 +=3D mcnt; + else + return false; + break; + + case succeed_n: + /* Get to the number of times to succeed. */ + p1 +=3D OFFSET_ADDRESS_SIZE; + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + + if (mcnt =3D=3D 0) + { + p1 -=3D 2 * OFFSET_ADDRESS_SIZE; + EXTRACT_NUMBER_AND_INCR (mcnt, p1); + p1 +=3D mcnt; + } + else + return false; + break; + + case duplicate: + if (!REG_MATCH_NULL_STRING_P (reg_info[*p1])) + return false; + break; + + case set_number_at: + p1 +=3D 2 * OFFSET_ADDRESS_SIZE; + + default: + /* All other opcodes mean we cannot match the empty string. */ + return false; + } + + *p =3D p1; + return true; +} /* common_op_match_null_string_p */ + + +/* Return zero if TRANSLATE[S1] and TRANSLATE[S2] are identical for LEN + bytes; nonzero otherwise. */ + +static int +PREFIX(bcmp_translate) (const CHAR_T *s1, const CHAR_T *s2, + register int len, + RE_TRANSLATE_TYPE translate) +{ + register const UCHAR_T *p1 =3D (const UCHAR_T *) s1; + register const UCHAR_T *p2 =3D (const UCHAR_T *) s2; + while (len) + { +#ifdef WCHAR + if (((*p1<=3D0xff)?translate[*p1++]:*p1++) + !=3D ((*p2<=3D0xff)?translate[*p2++]:*p2++)) + return 1; +#else /* BYTE */ + if (translate[*p1++] !=3D translate[*p2++]) return 1; +#endif /* WCHAR */ + len--; + } + return 0; +} +=0C + +#else /* not INSIDE_RECURSION */ + +/* Entry points for GNU code. */ + +/* re_compile_pattern is the GNU regular expression compiler: it + compiles PATTERN (of length SIZE) and puts the result in BUFP. + Returns 0 if the pattern was valid, otherwise an error string. + + Assumes the `allocated' (and perhaps `buffer') and `translate' fields= + are set in BUFP on entry. + + We call regex_compile to do the actual compilation. */ + +const char * +re_compile_pattern (const char *pattern, + size_t length, + struct re_pattern_buffer *bufp) +{ + reg_errcode_t ret; + + /* GNU code is written to assume at least RE_NREGS registers will be s= et + (and at least one extra will be -1). */ + bufp->regs_allocated =3D REGS_UNALLOCATED; + + /* And GNU code determines whether or not to get register information + by passing null for the REGS argument to re_match, etc., not by + setting no_sub. */ + bufp->no_sub =3D 0; + + /* Match anchors at newline. */ + bufp->newline_anchor =3D 1; + +# ifdef MBS_SUPPORT + if (MB_CUR_MAX !=3D 1) + ret =3D wcs_regex_compile (pattern, length, re_syntax_options, bufp)= ; + else +# endif + ret =3D byte_regex_compile (pattern, length, re_syntax_options, bufp= ); + + if (!ret) + return NULL; + return gettext (re_error_msgid + re_error_msgid_idx[(int) ret]); +} +#ifdef _LIBC +weak_alias (__re_compile_pattern, re_compile_pattern) +#endif +=0C +/* Entry points compatible with 4.2 BSD regex library. We don't define + them unless specifically requested. */ + +#if defined _REGEX_RE_COMP || defined _LIBC + +/* BSD has one and only one pattern buffer. */ +static struct re_pattern_buffer re_comp_buf; + +char * +#ifdef _LIBC +/* Make these definitions weak in libc, so POSIX programs can redefine + these names if they don't use our functions, and still use + regcomp/regexec below without link errors. */ +weak_function +#endif +re_comp (const char *s) +{ + reg_errcode_t ret; + + if (!s) + { + if (!re_comp_buf.buffer) + return gettext ("No previous regular expression"); + return 0; + } + + if (!re_comp_buf.buffer) + { + re_comp_buf.buffer =3D malloc (200); + if (re_comp_buf.buffer =3D=3D NULL) + return (char *) gettext (re_error_msgid + + re_error_msgid_idx[(int) REG_ESPACE]); + re_comp_buf.allocated =3D 200; + + re_comp_buf.fastmap =3D malloc (1 << BYTEWIDTH); + if (re_comp_buf.fastmap =3D=3D NULL) + return (char *) gettext (re_error_msgid + + re_error_msgid_idx[(int) REG_ESPACE]); + } + + /* Since `re_exec' always passes NULL for the `regs' argument, we + don't need to initialize the pattern buffer fields which affect it.= */ + + /* Match anchors at newlines. */ + re_comp_buf.newline_anchor =3D 1; + +# ifdef MBS_SUPPORT + if (MB_CUR_MAX !=3D 1) + ret =3D wcs_regex_compile (s, strlen (s), re_syntax_options, &re_com= p_buf); + else +# endif + ret =3D byte_regex_compile (s, strlen (s), re_syntax_options, &re_co= mp_buf); + + if (!ret) + return NULL; + + /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */ + return (char *) gettext (re_error_msgid + re_error_msgid_idx[(int) ret= ]); +} + + +int +#ifdef _LIBC +weak_function +#endif +re_exec (const char *s) +{ + const int len =3D strlen (s); + return + 0 <=3D re_search (&re_comp_buf, s, len, 0, len, 0); +} + +#endif /* _REGEX_RE_COMP */ +=0C +/* POSIX.2 functions. Don't define these for Emacs. */ + +#ifndef emacs + +/* regcomp takes a regular expression as a string and compiles it. + + PREG is a regex_t *. We do not expect any fields to be initialized, + since POSIX says we shouldn't. Thus, we set + + `buffer' to the compiled pattern; + `used' to the length of the compiled pattern; + `syntax' to RE_SYNTAX_POSIX_EXTENDED if the + REG_EXTENDED bit in CFLAGS is set; otherwise, to + RE_SYNTAX_POSIX_BASIC; + `newline_anchor' to REG_NEWLINE being set in CFLAGS; + `fastmap' to an allocated space for the fastmap; + `fastmap_accurate' to zero; + `re_nsub' to the number of subexpressions in PATTERN. + + PATTERN is the address of the pattern string. + + CFLAGS is a series of bits which affect compilation. + + If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we= + use POSIX basic syntax. + + If REG_NEWLINE is set, then . and [^...] don't match newline. + Also, regexec will try a match beginning after every newline. + + If REG_ICASE is set, then we considers upper- and lowercase + versions of letters to be equivalent when matching. + + If REG_NOSUB is set, then when PREG is passed to regexec, that + routine will report only success or failure, and nothing about the + registers. + + It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for= + the return codes and their meanings.) */ + +int +regcomp (regex_t *preg, const char *pattern, int cflags) +{ + reg_errcode_t ret; + reg_syntax_t syntax + =3D (cflags & REG_EXTENDED) ? + RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC; + + /* regex_compile will allocate the space for the compiled pattern. */= + preg->buffer =3D 0; + preg->allocated =3D 0; + preg->used =3D 0; + + /* Try to allocate space for the fastmap. */ + preg->fastmap =3D malloc (1 << BYTEWIDTH); + + if (cflags & REG_ICASE) + { + unsigned i; + + preg->translate =3D malloc (CHAR_SET_SIZE + * sizeof (*(RE_TRANSLATE_TYPE)0)); + if (preg->translate =3D=3D NULL) + return (int) REG_ESPACE; + + /* Map uppercase characters to corresponding lowercase ones. */ + for (i =3D 0; i < CHAR_SET_SIZE; i++) + preg->translate[i] =3D ISUPPER (i) ? TOLOWER (i) : i; + } + else + preg->translate =3D NULL; + + /* If REG_NEWLINE is set, newlines are treated differently. */ + if (cflags & REG_NEWLINE) + { /* REG_NEWLINE implies neither . nor [^...] match newline. */ + syntax &=3D ~RE_DOT_NEWLINE; + syntax |=3D RE_HAT_LISTS_NOT_NEWLINE; + /* It also changes the matching behavior. */ + preg->newline_anchor =3D 1; + } + else + preg->newline_anchor =3D 0; + + preg->no_sub =3D !!(cflags & REG_NOSUB); + + /* POSIX says a null character in the pattern terminates it, so we + can use strlen here in compiling the pattern. */ +# ifdef MBS_SUPPORT + if (MB_CUR_MAX !=3D 1) + ret =3D wcs_regex_compile (pattern, strlen (pattern), syntax, preg);= + else +# endif + ret =3D byte_regex_compile (pattern, strlen (pattern), syntax, preg)= ; + + /* POSIX doesn't distinguish between an unmatched open-group and an + unmatched close-group: both are REG_EPAREN. */ + if (ret =3D=3D REG_ERPAREN) ret =3D REG_EPAREN; + + if (ret =3D=3D REG_NOERROR && preg->fastmap) + { + /* Compute the fastmap now, since regexec cannot modify the patter= n + buffer. */ + if (re_compile_fastmap (preg) =3D=3D -2) + { + /* Some error occurred while computing the fastmap, just forget + about it. */ + free (preg->fastmap); + preg->fastmap =3D NULL; + } + } + + return (int) ret; +} +#ifdef _LIBC +weak_alias (__regcomp, regcomp) +#endif + + +/* regexec searches for a given pattern, specified by PREG, in the + string STRING. + + If NMATCH is zero or REG_NOSUB was set in the cflags argument to + `regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at + least NMATCH elements, and we set them to the offsets of the + corresponding matched substrings. + + EFLAGS specifies `execution flags' which affect matching: if + REG_NOTBOL is set, then ^ does not match at the beginning of the + string; if REG_NOTEOL is set, then $ does not match at the end. + + We return 0 if we find a match and REG_NOMATCH if not. */ + +int +regexec (const regex_t *preg, const char *string, + size_t nmatch, regmatch_t pmatch[], int eflags) +{ + int ret; + struct re_registers regs; + regex_t private_preg; + int len =3D strlen (string); + boolean want_reg_info =3D !preg->no_sub && nmatch > 0; + + private_preg =3D *preg; + + private_preg.not_bol =3D !!(eflags & REG_NOTBOL); + private_preg.not_eol =3D !!(eflags & REG_NOTEOL); + + /* The user has told us exactly how many registers to return + information about, via `nmatch'. We have to pass that on to the + matching routines. */ + private_preg.regs_allocated =3D REGS_FIXED; + + if (want_reg_info) + { + regs.num_regs =3D nmatch; + regs.start =3D TALLOC (nmatch * 2, regoff_t); + if (regs.start =3D=3D NULL) + return (int) REG_NOMATCH; + regs.end =3D regs.start + nmatch; + } + + /* Perform the searching operation. */ + ret =3D re_search (&private_preg, string, len, + /* start: */ 0, /* range: */ len, + want_reg_info ? ®s : 0); + + /* Copy the register information to the POSIX structure. */ + if (want_reg_info) + { + if (ret >=3D 0) + { + unsigned r; + + for (r =3D 0; r < nmatch; r++) + { + pmatch[r].rm_so =3D regs.start[r]; + pmatch[r].rm_eo =3D regs.end[r]; + } + } + + /* If we needed the temporary register info, free the space now. = */ + free (regs.start); + } + + /* We want zero return to mean success, unlike `re_search'. */ + return ret >=3D 0 ? (int) REG_NOERROR : (int) REG_NOMATCH; +} +#ifdef _LIBC +weak_alias (__regexec, regexec) +#endif + + +/* Returns a message corresponding to an error code, ERRCODE, returned + from either regcomp or regexec. We don't use PREG here. */ + +size_t +regerror (int errcode, const regex_t *preg, char *errbuf, size_t errbuf_= size) +{ + const char *msg; + size_t msg_size; + + if (errcode < 0 + || errcode >=3D (int) (sizeof (re_error_msgid_idx) + / sizeof (re_error_msgid_idx[0]))) + /* Only error codes returned by the rest of the code should be passe= d + to this routine. If we are given anything else, or if other rege= x + code generates an invalid error code, then the program has a bug.= + Dump core so we can fix it. */ + abort (); + + msg =3D gettext (re_error_msgid + re_error_msgid_idx[errcode]); + + msg_size =3D strlen (msg) + 1; /* Includes the null. */ + + if (errbuf_size !=3D 0) + { + if (msg_size > errbuf_size) + { +#if defined HAVE_MEMPCPY || defined _LIBC + *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) =3D '\0'; +#else + memcpy (errbuf, msg, errbuf_size - 1); + errbuf[errbuf_size - 1] =3D 0; +#endif + } + else + memcpy (errbuf, msg, msg_size); + } + + return msg_size; +} +#ifdef _LIBC +weak_alias (__regerror, regerror) +#endif + + +/* Free dynamically allocated space used by PREG. */ + +void +regfree (regex_t *preg) +{ + if (preg->buffer !=3D NULL) + free (preg->buffer); + preg->buffer =3D NULL; + + preg->allocated =3D 0; + preg->used =3D 0; + + if (preg->fastmap !=3D NULL) + free (preg->fastmap); + preg->fastmap =3D NULL; + preg->fastmap_accurate =3D 0; + + if (preg->translate !=3D NULL) + free (preg->translate); + preg->translate =3D NULL; +} +#ifdef _LIBC +weak_alias (__regfree, regfree) +#endif + +#endif /* not emacs */ + +#endif /* not INSIDE_RECURSION */ + +=0C +#undef STORE_NUMBER +#undef STORE_NUMBER_AND_INCR +#undef EXTRACT_NUMBER +#undef EXTRACT_NUMBER_AND_INCR + +#undef DEBUG_PRINT_COMPILED_PATTERN +#undef DEBUG_PRINT_DOUBLE_STRING + +#undef INIT_FAIL_STACK +#undef RESET_FAIL_STACK +#undef DOUBLE_FAIL_STACK +#undef PUSH_PATTERN_OP +#undef PUSH_FAILURE_POINTER +#undef PUSH_FAILURE_INT +#undef PUSH_FAILURE_ELT +#undef POP_FAILURE_POINTER +#undef POP_FAILURE_INT +#undef POP_FAILURE_ELT +#undef DEBUG_PUSH +#undef DEBUG_POP +#undef PUSH_FAILURE_POINT +#undef POP_FAILURE_POINT + +#undef REG_UNSET_VALUE +#undef REG_UNSET + +#undef PATFETCH +#undef PATFETCH_RAW +#undef PATUNFETCH +#undef TRANSLATE + +#undef INIT_BUF_SIZE +#undef GET_BUFFER_SPACE +#undef BUF_PUSH +#undef BUF_PUSH_2 +#undef BUF_PUSH_3 +#undef STORE_JUMP +#undef STORE_JUMP2 +#undef INSERT_JUMP +#undef INSERT_JUMP2 +#undef EXTEND_BUFFER +#undef GET_UNSIGNED_NUMBER +#undef FREE_STACK_RETURN + +# undef POINTER_TO_OFFSET +# undef MATCHING_IN_FRST_STRING +# undef PREFETCH +# undef AT_STRINGS_BEG +# undef AT_STRINGS_END +# undef WORDCHAR_P +# undef FREE_VAR +# undef FREE_VARIABLES +# undef NO_HIGHEST_ACTIVE_REG +# undef NO_LOWEST_ACTIVE_REG + +# undef CHAR_T +# undef UCHAR_T +# undef COMPILED_BUFFER_VAR +# undef OFFSET_ADDRESS_SIZE +# undef CHAR_CLASS_SIZE +# undef PREFIX +# undef ARG_PREFIX +# undef PUT_CHAR +# undef BYTE +# undef WCHAR + +# define DEFINED_ONCE Index: gnulib/m4/regex_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/regex_.h diff -N gnulib/m4/regex_.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/regex_.h 12 Sep 2003 13:25:30 -0000 @@ -0,0 +1,556 @@ +/* Definitions for data structures and routines for the regular + expression library. + Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + + 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _REGEX_H +#define _REGEX_H 1 + +#include + +/* Allow the use in C++ code. */ +#ifdef __cplusplus +extern "C" { +#endif + +/* POSIX says that must be included (by the caller) before= + . */ + +#if !defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE && defined VMS +/* VMS doesn't have `size_t' in , even though POSIX says it= + should be there. */ +# include +#endif + +/* The following two types have to be signed and unsigned integer type + wide enough to hold a value of a pointer. For most ANSI compilers + ptrdiff_t and size_t should be likely OK. Still size of these two + types is 2 for Microsoft C. Ugh... */ +typedef long int s_reg_t; +typedef unsigned long int active_reg_t; + +/* The following bits are used to determine the regexp syntax we + recognize. The set/not-set meanings are chosen so that Emacs syntax + remains the value 0. The bits are given in alphabetical order, and + the definitions shifted by one from the previous bit; thus, when we + add or remove a bit, only one other definition need change. */ +typedef unsigned long int reg_syntax_t; + +/* If this bit is not set, then \ inside a bracket expression is literal= =2E + If set, then such a \ quotes the following character. */ +#define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) + +/* If this bit is not set, then + and ? are operators, and \+ and \? are= + literals. + If set, then \+ and \? are operators and + and ? are literals. */ +#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) + +/* If this bit is set, then character classes are supported. They are: + [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],= + [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. + If not set, then character classes are not supported. */ +#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) + +/* If this bit is set, then ^ and $ are always anchors (outside bracket + expressions, of course). + If this bit is not set, then it depends: + ^ is an anchor if it is at the beginning of a regular + expression or after an open-group or an alternation operator;= + $ is an anchor if it is at the end of a regular expression, or + before a close-group or an alternation operator. + + This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because + POSIX draft 11.2 says that * etc. in leading positions is undefined. + We already implemented a previous draft which made those constructs + invalid, though, so we haven't changed the code back. */ +#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) + +/* If this bit is set, then special characters are always special + regardless of where they are in the pattern. + If this bit is not set, then special characters are special only in + some contexts; otherwise they are ordinary. Specifically, + * + ? and intervals are only special when not after the beginning, + open-group, or alternation operator. */ +#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) + +/* If this bit is set, then *, +, ?, and { cannot be first in an re or + immediately after an alternation or begin-group operator. */ +#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) + +/* If this bit is set, then . matches newline. + If not set, then it doesn't. */ +#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) + +/* If this bit is set, then . doesn't match NUL. + If not set, then it does. */ +#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) + +/* If this bit is set, nonmatching lists [^...] do not match newline. + If not set, they do. */ +#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) + +/* If this bit is set, either \{...\} or {...} defines an + interval, depending on RE_NO_BK_BRACES. + If not set, \{, \}, {, and } are literals. */ +#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) + +/* If this bit is set, +, ? and | aren't recognized as operators. + If not set, they are. */ +#define RE_LIMITED_OPS (RE_INTERVALS << 1) + +/* If this bit is set, newline is an alternation operator. + If not set, newline is literal. */ +#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) + +/* If this bit is set, then `{...}' defines an interval, and \{ and \} + are literals. + If not set, then `\{...\}' defines an interval. */ +#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) + +/* If this bit is set, (...) defines a group, and \( and \) are literals= =2E + If not set, \(...\) defines a group, and ( and ) are literals. */ +#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) + +/* If this bit is set, then \ matches . + If not set, then \ is a back-reference. */ +#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) + +/* If this bit is set, then | is an alternation operator, and \| is lite= ral. + If not set, then \| is an alternation operator, and | is literal. */= +#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) + +/* If this bit is set, then an ending range point collating higher + than the starting range point, as in [z-a], is invalid. + If not set, then when ending range point collates higher than the + starting range point, the range is ignored. */ +#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) + +/* If this bit is set, then an unmatched ) is ordinary. + If not set, then an unmatched ) is invalid. */ +#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) + +/* If this bit is set, succeed as soon as we match the whole pattern, + without further backtracking. */ +#define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) + +/* If this bit is set, do not process the GNU regex operators. + If not set, then the GNU regex operators are recognized. */ +#define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) + +/* If this bit is set, turn on internal regex debugging. + If not set, and debugging was on, turn it off. + This only works if regex.c is compiled -DDEBUG. + We define this bit always, so that all that's needed to turn on + debugging is to recompile regex.c; the calling code can always have + this bit set, and it won't affect anything in the normal case. */ +#define RE_DEBUG (RE_NO_GNU_OPS << 1) + +/* If this bit is set, a syntactically invalid interval is treated as + a string of ordinary characters. For example, the ERE 'a{1' is + treated as 'a\{1'. */ +#define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) + +/* If this bit is set, then ignore case when matching. + If not set, then case is significant. */ +#define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) + +/* This global variable defines the particular regexp syntax to use (for= + some interfaces). When a regexp is compiled, the syntax used is + stored in the pattern buffer, so changing this does not affect + already-compiled regexps. */ +extern reg_syntax_t re_syntax_options; +=0C +/* Define combinations of the above bits for the standard possibilities.= + (The [[[ comments delimit what gets put into the Texinfo file, so + don't delete them!) */ +/* [[[begin syntaxes]]] */ +#define RE_SYNTAX_EMACS 0 + +#define RE_SYNTAX_AWK \ + (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ + | RE_NO_BK_PARENS | RE_NO_BK_REFS \ + | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ + | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ + | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) + +#define RE_SYNTAX_GNU_AWK \ + ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) = \ + & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS \ + | RE_CONTEXT_INVALID_OPS )) + +#define RE_SYNTAX_POSIX_AWK \ + (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ + | RE_INTERVALS | RE_NO_GNU_OPS) + +#define RE_SYNTAX_GREP \ + (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ + | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ + | RE_NEWLINE_ALT) + +#define RE_SYNTAX_EGREP \ + (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ + | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ + | RE_NO_BK_VBAR) + +#define RE_SYNTAX_POSIX_EGREP \ + (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \ + | RE_INVALID_INTERVAL_ORD) + +/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ +#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC + +#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC + +/* Syntax bits common to both basic and extended POSIX regex syntax. */= +#define _RE_SYNTAX_POSIX_COMMON \ + (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ + | RE_INTERVALS | RE_NO_EMPTY_RANGES) + +#define RE_SYNTAX_POSIX_BASIC \ + (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM) + +/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes + RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this + isn't minimal, since other operators, such as \`, aren't disabled. *= / +#define RE_SYNTAX_POSIX_MINIMAL_BASIC \ + (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) + +#define RE_SYNTAX_POSIX_EXTENDED \ + (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ + | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ + | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD) + +/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is + removed and RE_NO_BK_REFS is added. */ +#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ + (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ + | RE_NO_BK_PARENS | RE_NO_BK_REFS \ + | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) +/* [[[end syntaxes]]] */ +=0C +/* Maximum number of duplicates an interval can allow. Some systems + (erroneously) define this in other header files, but we want our + value, so remove any previous define. */ +#ifdef RE_DUP_MAX +# undef RE_DUP_MAX +#endif +/* If sizeof(int) =3D=3D 2, then ((1 << 15) - 1) overflows. */ +#define RE_DUP_MAX (0x7fff) + + +/* POSIX `cflags' bits (i.e., information for `regcomp'). */ + +/* If this bit is set, then use extended regular expression syntax. + If not set, then use basic regular expression syntax. */ +#define REG_EXTENDED 1 + +/* If this bit is set, then ignore case when matching. + If not set, then case is significant. */ +#define REG_ICASE (REG_EXTENDED << 1) + +/* If this bit is set, then anchors do not match at newline + characters in the string. + If not set, then anchors do match at newlines. */ +#define REG_NEWLINE (REG_ICASE << 1) + +/* If this bit is set, then report only success or fail in regexec. + If not set, then returns differ between not matching and errors. */ +#define REG_NOSUB (REG_NEWLINE << 1) + + +/* POSIX `eflags' bits (i.e., information for regexec). */ + +/* If this bit is set, then the beginning-of-line operator doesn't match= + the beginning of the string (presumably because it's not the + beginning of a line). + If not set, then the beginning-of-line operator does match the + beginning of the string. */ +#define REG_NOTBOL 1 + +/* Like REG_NOTBOL, except for the end-of-line. */ +#define REG_NOTEOL (1 << 1) + + +/* If any error codes are removed, changed, or added, update the + `re_error_msg' table in regex.c. */ +typedef enum +{ +#ifdef _XOPEN_SOURCE + REG_ENOSYS =3D -1, /* This will never happen for this implementation. = */ +#endif + + REG_NOERROR =3D 0, /* Success. */ + REG_NOMATCH, /* Didn't find a match (for regexec). */ + + /* POSIX regcomp return error codes. (In the order listed in the + standard.) */ + REG_BADPAT, /* Invalid pattern. */ + REG_ECOLLATE, /* Not implemented. */ + REG_ECTYPE, /* Invalid character class name. */ + REG_EESCAPE, /* Trailing backslash. */ + REG_ESUBREG, /* Invalid back reference. */ + REG_EBRACK, /* Unmatched left bracket. */ + REG_EPAREN, /* Parenthesis imbalance. */ + REG_EBRACE, /* Unmatched \{. */ + REG_BADBR, /* Invalid contents of \{\}. */ + REG_ERANGE, /* Invalid range end. */ + REG_ESPACE, /* Ran out of memory. */ + REG_BADRPT, /* No preceding re for repetition op. */ + + /* Error codes we've added. */ + REG_EEND, /* Premature end. */ + REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ + REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ +} reg_errcode_t; +=0C +/* This data structure represents a compiled pattern. Before calling + the pattern compiler, the fields `buffer', `allocated', `fastmap', + `translate', and `no_sub' can be set. After the pattern has been + compiled, the `re_nsub' field is available. All other fields are + private to the regex routines. */ + +#ifndef RE_TRANSLATE_TYPE +# define RE_TRANSLATE_TYPE char * +#endif + +struct re_pattern_buffer +{ +/* [[[begin pattern_buffer]]] */ + /* Space that holds the compiled pattern. It is declared as + `unsigned char *' because its elements are + sometimes used as array indexes. */ + unsigned char *buffer; + + /* Number of bytes to which `buffer' points. */ + unsigned long int allocated; + + /* Number of bytes actually used in `buffer'. */ + unsigned long int used; + + /* Syntax setting with which the pattern was compiled. */ + reg_syntax_t syntax; + + /* Pointer to a fastmap, if any, otherwise zero. re_search uses= + the fastmap, if there is one, to skip over impossible + starting points for matches. */ + char *fastmap; + + /* Either a translate table to apply to all characters before + comparing them, or zero for no translation. The translation + is applied to a pattern when it is compiled and to a string + when it is matched. */ + RE_TRANSLATE_TYPE translate; + + /* Number of subexpressions found by the compiler. */ + size_t re_nsub; + + /* Zero if this pattern cannot match the empty string, one else.= + Well, in truth it's used only in `re_search_2', to see + whether or not we should use the fastmap, so we don't set + this absolutely perfectly; see `re_compile_fastmap' (the + `duplicate' case). */ + unsigned can_be_null : 1; + + /* If REGS_UNALLOCATED, allocate space in the `regs' structure + for `max (RE_NREGS, re_nsub + 1)' groups. + If REGS_REALLOCATE, reallocate space if necessary. + If REGS_FIXED, use what's there. */ +#define REGS_UNALLOCATED 0 +#define REGS_REALLOCATE 1 +#define REGS_FIXED 2 + unsigned regs_allocated : 2; + + /* Set to zero when `regex_compile' compiles a pattern; set to o= ne + by `re_compile_fastmap' if it updates the fastmap. */ + unsigned fastmap_accurate : 1; + + /* If set, `re_match_2' does not return information about + subexpressions. */ + unsigned no_sub : 1; + + /* If set, a beginning-of-line anchor doesn't match at the + beginning of the string. */ + unsigned not_bol : 1; + + /* Similarly for an end-of-line anchor. */ + unsigned not_eol : 1; + + /* If true, an anchor at a newline matches. */ + unsigned newline_anchor : 1; + +/* [[[end pattern_buffer]]] */ +}; + +typedef struct re_pattern_buffer regex_t; +=0C +/* Type for byte offsets within the string. POSIX mandates this. */ +typedef int regoff_t; + + +/* This is the structure we store register match data in. See + regex.texinfo for a full description of what registers match. */ +struct re_registers +{ + unsigned num_regs; + regoff_t *start; + regoff_t *end; +}; + + +/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, + `re_match_2' returns information about at least this many registers + the first time a `regs' structure is passed. */ +#ifndef RE_NREGS +# define RE_NREGS 30 +#endif + + +/* POSIX specification for registers. Aside from the different names th= an + `re_registers', POSIX uses an array of structures, instead of a + structure of arrays. */ +typedef struct +{ + regoff_t rm_so; /* Byte offset from string's start to substring's sta= rt. */ + regoff_t rm_eo; /* Byte offset from string's start to substring's end= =2E */ +} regmatch_t; +=0C +/* Declarations for routines. */ + +/* Sets the current default syntax to SYNTAX, and return the old syntax.= + You can also simply assign to the `re_syntax_options' variable. */ +extern reg_syntax_t re_set_syntax (reg_syntax_t syntax); + +/* Compile the regular expression PATTERN, with length LENGTH + and syntax given by the global `re_syntax_options', into the buffer + BUFFER. Return NULL if successful, and an error string if not. */ +extern const char *re_compile_pattern (const char *pattern, size_t lengt= h, + struct re_pattern_buffer *buffer); + + +/* Compile a fastmap for the compiled pattern in BUFFER; used to + accelerate searches. Return 0 if successful and -2 if was an + internal error. */ +extern int re_compile_fastmap (struct re_pattern_buffer *buffer); + + +/* Search in the string STRING (with length LENGTH) for the pattern + compiled into BUFFER. Start searching at position START, for RANGE + characters. Return the starting position of the match, -1 for no + match, or -2 for an internal error. Also return register + information in REGS (if REGS and BUFFER->no_sub are nonzero). */ +extern int re_search (struct re_pattern_buffer *buffer, const char *stri= ng, + int length, int start, int range, + struct re_registers *regs); + + +/* Like `re_search', but search in the concatenation of STRING1 and + STRING2. Also, stop searching at index START + STOP. */ +extern int re_search_2 (struct re_pattern_buffer *buffer, const char *st= ring1, + int length1, const char *string2, int length2, + int start, int range, struct re_registers *regs, + int stop); + + +/* Like `re_search', but return how many characters in STRING the regexp= + in BUFFER matched, starting at position START. */ +extern int re_match (struct re_pattern_buffer *buffer, const char *strin= g, + int length, int start, struct re_registers *regs); + + +/* Relates to `re_match' as `re_search_2' relates to `re_search'. */ +extern int re_match_2 (struct re_pattern_buffer *buffer, const char *str= ing1, + int length1, const char *string2, int length2, + int start, struct re_registers *regs, int stop); + + +/* Set REGS to hold NUM_REGS registers, storing them in STARTS and + ENDS. Subsequent matches using BUFFER and REGS will use this memory + for recording register information. STARTS and ENDS must be + allocated with malloc, and must each be at least `NUM_REGS * sizeof + (regoff_t)' bytes long. + + If NUM_REGS =3D=3D 0, then subsequent matches should allocate their o= wn + register data. + + Unless this function is called, the first search or match using + PATTERN_BUFFER will allocate its own register data, without + freeing the old data. */ +extern void re_set_registers (struct re_pattern_buffer *buffer, + struct re_registers *regs, unsigned num_regs, + regoff_t *starts, regoff_t *ends); + +#if defined _REGEX_RE_COMP || defined _LIBC +# ifndef _CRAY +/* 4.2 bsd compatibility. */ +extern char *re_comp (const char *); +extern int re_exec (const char *); +# endif +#endif + +/* GCC 2.95 and later have "__restrict"; C99 compilers have + "restrict", and "configure" may have defined "restrict". */ +#ifndef __restrict +# if ! (2 < __GNUC__ || (2 =3D=3D __GNUC__ && 95 <=3D __GNUC_MINOR__)) +# if defined restrict || 199901L <=3D __STDC_VERSION__ +# define __restrict restrict +# else +# define __restrict +# endif +# endif +#endif +/* gcc 3.1 and up support the [restrict] syntax. */ +#ifndef __restrict_arr +# if __GNUC__ > 3 || (__GNUC__ =3D=3D 3 && __GNUC_MINOR__ >=3D 1) +# define __restrict_arr __restrict +# else +# define __restrict_arr +# endif +#endif + +/* POSIX compatibility. */ +extern int regcomp (regex_t *__restrict __preg, + const char *__restrict __pattern, + int __cflags); + +extern int regexec (const regex_t *__restrict __preg, + const char *__restrict __string, size_t __nmatch, + regmatch_t __pmatch[__restrict_arr], + int __eflags); + +extern size_t regerror (int __errcode, const regex_t *__preg, + char *__errbuf, size_t __errbuf_size); + +extern void regfree (regex_t *__preg); + + +#ifdef __cplusplus +} +#endif /* C++ */ + +#endif /* regex.h */ +=0C +/* +Local variables: +make-backup-files: t +version-control: t +trim-versions-without-asking: nil +End: +*/ Index: m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.23 diff -u -p -u -r1.23 Makefile.am --- m4/Makefile.am 9 Sep 2003 17:15:35 -0000 1.23 +++ m4/Makefile.am 12 Sep 2003 13:25:30 -0000 @@ -23,7 +23,7 @@ AM_CPPFLAGS =3D -I$(top_builddir)/gnulib - lib_LTLIBRARIES =3D libm4.la libm4_la_SOURCES =3D builtin.c debug.c hash.c input.c \ ltdl.c m4.c m4private.h macro.c module.c output.c \ - path.c regex.c symtab.c syntax.c utility.c + path.c symtab.c syntax.c utility.c libm4_la_LIBADD =3D $(top_builddir)/gnulib/m4/libgnu.la $(LIBADD_DL) =20 MODULE_PATH =3D $(pkglibexecdir) @@ -36,7 +36,7 @@ EXTRA_DIST =3D system_.h dist-hook: rm -f $(distdir)/system.h =20 -pkginclude_HEADERS =3D hash.h ltdl.h regex.h system.h +pkginclude_HEADERS =3D hash.h ltdl.h system.h include_HEADERS =3D m4module.h =20 CLEANFILES =3D pathconf.h Index: m4/regex.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/regex.c diff -N m4/regex.c --- m4/regex.c 27 Aug 2003 17:10:12 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,5882 +0,0 @@ -/* Extended regular expression matching and search library, - version 0.12. - (Implements POSIX draft P1003.2/D11.2, except for some of the - internationalization features.) - Copyright (C) 1993-2000 Free Software Foundation, Inc. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License a= s - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If n= ot, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, - Boston, MA 02111-1307, USA. */ - -/* Modified for GNU m4 by Gary V. Vaughan */ - -/* AIX requires this to be the first thing in the file. */ -#if defined _AIX && !defined REGEX_MALLOC - #pragma alloca -#endif - -#undef _GNU_SOURCE -#define _GNU_SOURCE - -#if HAVE_CONFIG_H -# include -#endif - -#ifndef PARAMS -# if defined __GNUC__ || (defined __STDC__ && __STDC__) -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif /* GCC. */ -#endif /* Not PARAMS. */ - -#if defined STDC_HEADERS && !defined emacs -# include -#else -/* We need this for `regex.h', and perhaps for the Emacs include files. = */ -# include -#endif - -#define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC) - -/* For platform which support the ISO C amendement 1 functionality we - support user defined character classes. */ -#if defined _LIBC || WIDE_CHAR_SUPPORT -/* Solaris 2.5 has a bug: must be included before . = */ -# include -# include -#endif - -#ifdef _LIBC -/* We have to keep the namespace clean. */ -# define regfree(preg) __regfree (preg) -# define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef) -# define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflags= ) -# define regerror(errcode, preg, errbuf, errbuf_size) \ - __regerror(errcode, preg, errbuf, errbuf_size) -# define re_set_registers(bu, re, nu, st, en) \ - __re_set_registers (bu, re, nu, st, en) -# define re_match_2(bufp, string1, size1, string2, size2, pos, regs, sto= p) \ - __re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop) -# define re_match(bufp, string, size, pos, regs) \ - __re_match (bufp, string, size, pos, regs) -# define re_search(bufp, string, size, startpos, range, regs) \ - __re_search (bufp, string, size, startpos, range, regs) -# define re_compile_pattern(pattern, length, bufp) \ - __re_compile_pattern (pattern, length, bufp) -# define re_set_syntax(syntax) __re_set_syntax (syntax) -# define re_search_2(bufp, st1, s1, st2, s2, startpos, range, regs, stop= ) \ - __re_search_2 (bufp, st1, s1, st2, s2, startpos, range, regs, stop) -# define re_compile_fastmap(bufp) __re_compile_fastmap (bufp) - -#define btowc __btowc -#endif - -/* This is for other GNU distributions with internationalized messages. = */ -#if HAVE_LIBINTL_H || defined _LIBC -# include -#else -# define gettext(msgid) (msgid) -#endif - -#ifndef gettext_noop -/* This define is so xgettext can find the internationalizable - strings. */ -# define gettext_noop(String) String -#endif - -/* The `emacs' switch turns on certain matching commands - that make sense only in Emacs. */ -#ifdef emacs - -# include "lisp.h" -# include "buffer.h" -# include "syntax.h" - -#else /* not emacs */ - -/* If we are not linking with Emacs proper, - we can't use the relocating allocator - even if config.h says that we can. */ -# undef REL_ALLOC - -# if defined STDC_HEADERS || defined _LIBC -# include -# else -char *malloc (); -char *realloc (); -# endif - -/* When used in Emacs's lib-src, we need to get bzero and bcopy somehow.= - If nothing else has been done, use the method below. */ -# ifdef INHIBIT_STRING_HEADER -# if !(defined HAVE_BZERO && defined HAVE_BCOPY) -# if !defined bzero && !defined bcopy -# undef INHIBIT_STRING_HEADER -# endif -# endif -# endif - -/* This is the normal way of making sure we have a bcopy and a bzero. - This is used in most programs--a few other programs avoid this - by defining INHIBIT_STRING_HEADER. */ -# ifndef INHIBIT_STRING_HEADER -# if defined HAVE_STRING_H || defined STDC_HEADERS || defined _LIBC -# include -# ifndef bzero -# ifndef _LIBC -# define bzero(s, n) (memset (s, '\0', n), (s)) -# else -# define bzero(s, n) __bzero (s, n) -# endif -# endif -# else -# include -# ifndef memcmp -# define memcmp(s1, s2, n) bcmp (s1, s2, n) -# endif -# ifndef memcpy -# define memcpy(d, s, n) (bcopy (s, d, n), (d)) -# endif -# endif -# endif - -/* Define the syntax stuff for \<, \>, etc. */ - -/* This must be nonzero for the wordchar and notwordchar pattern - commands in re_match_2. */ -# ifndef Sword -# define Sword 1 -# endif - -# ifdef SWITCH_ENUM_BUG -# define SWITCH_ENUM_CAST(x) ((int)(x)) -# else -# define SWITCH_ENUM_CAST(x) (x) -# endif - -/* How many characters in the character set. */ -# define CHAR_SET_SIZE 256 - -# ifdef SYNTAX_TABLE - -extern char *re_syntax_table; - -# else /* not SYNTAX_TABLE */ - -static char re_syntax_table[CHAR_SET_SIZE]; - -static void -init_syntax_once () -{ - register int c; - static int done; - - if (done) - return; - - bzero (re_syntax_table, sizeof re_syntax_table); - - for (c =3D 'a'; c <=3D 'z'; c++) - re_syntax_table[c] =3D Sword; - - for (c =3D 'A'; c <=3D 'Z'; c++) - re_syntax_table[c] =3D Sword; - - for (c =3D '0'; c <=3D '9'; c++) - re_syntax_table[c] =3D Sword; - - re_syntax_table['_'] =3D Sword; - - done =3D 1; -} - -# endif /* not SYNTAX_TABLE */ - -# define SYNTAX(c) re_syntax_table[c] - -#endif /* not emacs */ -=0C -/* Get the interface, including the syntax bits. */ -#include "m4/regex.h" - -/* isalpha etc. are used for the character classes. */ -#include - -/* Jim Meyering writes: - - "... Some ctype macros are valid only for character codes that - isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when - using /bin/cc or gcc but without giving an ansi option). So, all - ctype uses should be through macros like ISPRINT... If - STDC_HEADERS is defined, then autoconf has verified that the ctype - macros don't need to be guarded with references to isascii. ... - Defining isascii to 1 should let any compiler worth its salt - eliminate the && through constant folding." - Solaris defines some of these symbols so we must undefine them first.= */ - -#undef ISASCII -#if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII) -# define ISASCII(c) 1 -#else -# define ISASCII(c) isascii(c) -#endif - -#ifdef isblank -# define ISBLANK(c) (ISASCII (c) && isblank (c)) -#else -# define ISBLANK(c) ((c) =3D=3D ' ' || (c) =3D=3D '\t') -#endif -#ifdef isgraph -# define ISGRAPH(c) (ISASCII (c) && isgraph (c)) -#else -# define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c)) -#endif - -#undef ISPRINT -#define ISPRINT(c) (ISASCII (c) && isprint (c)) -#define ISDIGIT(c) (ISASCII (c) && isdigit (c)) -#define ISALNUM(c) (ISASCII (c) && isalnum (c)) -#define ISALPHA(c) (ISASCII (c) && isalpha (c)) -#define ISCNTRL(c) (ISASCII (c) && iscntrl (c)) -#define ISLOWER(c) (ISASCII (c) && islower (c)) -#define ISPUNCT(c) (ISASCII (c) && ispunct (c)) -#define ISSPACE(c) (ISASCII (c) && isspace (c)) -#define ISUPPER(c) (ISASCII (c) && isupper (c)) -#define ISXDIGIT(c) (ISASCII (c) && isxdigit (c)) - -#ifdef _tolower -# define TOLOWER(c) _tolower(c) -#else -# define TOLOWER(c) tolower(c) -#endif - -#ifndef NULL -# define NULL (void *)0 -#endif - -/* We remove any previous definition of `SIGN_EXTEND_CHAR', - since ours (we hope) works properly with all combinations of - machines, compilers, `char' and `unsigned char' argument types. - (Per Bothner suggested the basic approach.) */ -#undef SIGN_EXTEND_CHAR -#if __STDC__ -# define SIGN_EXTEND_CHAR(c) ((signed char) (c)) -#else /* not __STDC__ */ -/* As in Harbison and Steele. */ -# define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128) -#endif -=0C -/* Should we use malloc or alloca? If REGEX_MALLOC is not defined, we - use `alloca' instead of `malloc'. This is because using malloc in - re_search* or re_match* could cause memory leaks when C-g is used in - Emacs; also, malloc is slower and causes storage fragmentation. On - the other hand, malloc is more portable, and easier to debug. - - Because we sometimes use alloca, some routines have to be macros, - not functions -- `alloca'-allocated space disappears at the end of th= e - function it is called in. */ - -#ifdef REGEX_MALLOC - -# define REGEX_ALLOCATE malloc -# define REGEX_REALLOCATE(source, osize, nsize) realloc (source, nsize) -# define REGEX_FREE free - -#else /* not REGEX_MALLOC */ - -/* Emacs already defines alloca, sometimes. */ -# ifndef alloca - -/* Make alloca work the best possible way. */ -# ifdef __GNUC__ -# define alloca __builtin_alloca -# else /* not __GNUC__ */ -# if HAVE_ALLOCA_H -# include -# endif /* HAVE_ALLOCA_H */ -# endif /* not __GNUC__ */ - -# endif /* not alloca */ - -# define REGEX_ALLOCATE alloca - -/* Assumes a `char *destination' variable. */ -# define REGEX_REALLOCATE(source, osize, nsize) \ - (destination =3D (char *) alloca (nsize), \ - memcpy (destination, source, osize)) - -/* No need to do anything to free, after alloca. */ -# define REGEX_FREE(arg) ((void)0) /* Do nothing! But inhibit gcc warni= ng. */ - -#endif /* not REGEX_MALLOC */ - -/* Define how to allocate the failure stack. */ - -#if defined REL_ALLOC && defined REGEX_MALLOC - -# define REGEX_ALLOCATE_STACK(size) \ - r_alloc (&failure_stack_ptr, (size)) -# define REGEX_REALLOCATE_STACK(source, osize, nsize) \ - r_re_alloc (&failure_stack_ptr, (nsize)) -# define REGEX_FREE_STACK(ptr) \ - r_alloc_free (&failure_stack_ptr) - -#else /* not using relocating allocator */ - -# ifdef REGEX_MALLOC - -# define REGEX_ALLOCATE_STACK malloc -# define REGEX_REALLOCATE_STACK(source, osize, nsize) realloc (source, = nsize) -# define REGEX_FREE_STACK free - -# else /* not REGEX_MALLOC */ - -# define REGEX_ALLOCATE_STACK alloca - -# define REGEX_REALLOCATE_STACK(source, osize, nsize) \ - REGEX_REALLOCATE (source, osize, nsize) -/* No need to explicitly free anything. */ -# define REGEX_FREE_STACK(arg) - -# endif /* not REGEX_MALLOC */ -#endif /* not using relocating allocator */ - - -/* True if `size1' is non-NULL and PTR is pointing anywhere inside - `string1' or just past its end. This works if PTR is NULL, which is - a good thing. */ -#define FIRST_STRING_P(ptr) \ - (size1 && string1 <=3D (ptr) && (ptr) <=3D string1 + size1) - -/* (Re)Allocate N items of type T using malloc, or fail. */ -#define TALLOC(n, t) ((t *) malloc ((n) * sizeof (t))) -#define RETALLOC(addr, n, t) ((addr) =3D (t *) realloc (addr, (n) * size= of (t))) -#define RETALLOC_IF(addr, n, t) \ - if (addr) RETALLOC((addr), (n), t); else (addr) =3D TALLOC ((n), t) -#define REGEX_TALLOC(n, t) ((t *) REGEX_ALLOCATE ((n) * sizeof (t))) - -#define BYTEWIDTH 8 /* In bits. */ - -#define STREQ(s1, s2) ((strcmp (s1, s2) =3D=3D 0)) - -#undef MAX -#undef MIN -#define MAX(a, b) ((a) > (b) ? (a) : (b)) -#define MIN(a, b) ((a) < (b) ? (a) : (b)) - -typedef char boolean; -#define false 0 -#define true 1 - -static int re_match_2_internal PARAMS ((struct re_pattern_buffer *bufp, - const char *string1, int size1, - const char *string2, int size2, - int pos, - struct re_registers *regs, - int stop)); -=0C -/* These are the command codes that appear in compiled regular - expressions. Some opcodes are followed by argument bytes. A - command code can specify any interpretation whatsoever for its - arguments. Zero bytes may appear in the compiled regular expression.= */ - -typedef enum -{ - no_op =3D 0, - - /* Succeed right away--no more backtracking. */ - succeed, - - /* Followed by one byte giving n, then by n literal bytes. */ - exactn, - - /* Matches any (more or less) character. */ - anychar, - - /* Matches any one char belonging to specified set. First - following byte is number of bitmap bytes. Then come bytes - for a bitmap saying which chars are in. Bits in each byte - are ordered low-bit-first. A character is in the set if its - bit is 1. A character too large to have a bit in the map is - automatically not in the set. */ - charset, - - /* Same parameters as charset, but match any character that is - not one of those specified. */ - charset_not, - - /* Start remembering the text that is matched, for storing in a - register. Followed by one byte with the register number, in - the range 0 to one less than the pattern buffer's re_nsub - field. Then followed by one byte with the number of groups - inner to this one. (This last has to be part of the - start_memory only because we need it in the on_failure_jump - of re_match_2.) */ - start_memory, - - /* Stop remembering the text that is matched and store it in a - memory register. Followed by one byte with the register - number, in the range 0 to one less than `re_nsub' in the - pattern buffer, and one byte with the number of inner groups,= - just like `start_memory'. (We need the number of inner - groups here because we don't have any easy way of finding the= - corresponding start_memory when we're at a stop_memory.) */ - stop_memory, - - /* Match a duplicate of something remembered. Followed by one - byte containing the register number. */ - duplicate, - - /* Fail unless at beginning of line. */ - begline, - - /* Fail unless at end of line. */ - endline, - - /* Succeeds if at beginning of buffer (if emacs) or at beginning= - of string to be matched (if not). */ - begbuf, - - /* Analogously, for end of buffer/string. */ - endbuf, - - /* Followed by two byte relative address to which to jump. */ - jump, - - /* Same as jump, but marks the end of an alternative. */ - jump_past_alt, - - /* Followed by two-byte relative address of place to resume at - in case of failure. */ - on_failure_jump, - - /* Like on_failure_jump, but pushes a placeholder instead of the= - current string position when executed. */ - on_failure_keep_string_jump, - - /* Throw away latest failure point and then jump to following - two-byte relative address. */ - pop_failure_jump, - - /* Change to pop_failure_jump if know won't have to backtrack to= - match; otherwise change to jump. This is used to jump - back to the beginning of a repeat. If what follows this jump= - clearly won't match what the repeat does, such that we can be= - sure that there is no use backtracking out of repetitions - already matched, then we change it to a pop_failure_jump. - Followed by two-byte address. */ - maybe_pop_jump, - - /* Jump to following two-byte address, and push a dummy failure - point. This failure point will be thrown away if an attempt - is made to use it for a failure. A `+' construct makes this - before the first repeat. Also used as an intermediary kind - of jump when compiling an alternative. */ - dummy_failure_jump, - - /* Push a dummy failure point and continue. Used at the end of - alternatives. */ - push_dummy_failure, - - /* Followed by two-byte relative address and two-byte number n. - After matching N times, jump to the address upon failure. */= - succeed_n, - - /* Followed by two-byte relative address, and two-byte number n.= - Jump to the address N times, then fail. */ - jump_n, - - /* Set the following two-byte relative address to the - subsequent two-byte number. The address *includes* the two - bytes of number. */ - set_number_at, - - wordchar, /* Matches any word-constituent character. */ - notwordchar, /* Matches any char that is not a word-constituent. */ - - wordbeg, /* Succeeds if at word beginning. */ - wordend, /* Succeeds if at word end. */ - - wordbound, /* Succeeds if at a word boundary. */ - notwordbound /* Succeeds if not at a word boundary. */ - -#ifdef emacs - ,before_dot, /* Succeeds if before point. */ - at_dot, /* Succeeds if at point. */ - after_dot, /* Succeeds if after point. */ - - /* Matches any character whose syntax is specified. Followed by - a byte which contains a syntax code, e.g., Sword. */ - syntaxspec, - - /* Matches any character whose syntax is not that specified. */ - notsyntaxspec -#endif /* emacs */ -} re_opcode_t; -=0C -/* Common operations on the compiled pattern. */ - -/* Store NUMBER in two contiguous bytes starting at DESTINATION. */ - -#define STORE_NUMBER(destination, number) \ - do { \ - (destination)[0] =3D (number) & 0377; \ - (destination)[1] =3D (number) >> 8; \ - } while (0) - -/* Same as STORE_NUMBER, except increment DESTINATION to - the byte after where the number is stored. Therefore, DESTINATION - must be an lvalue. */ - -#define STORE_NUMBER_AND_INCR(destination, number) \ - do { \ - STORE_NUMBER (destination, number); \ - (destination) +=3D 2; \ - } while (0) - -/* Put into DESTINATION a number stored in two contiguous bytes starting= - at SOURCE. */ - -#define EXTRACT_NUMBER(destination, source) \ - do { \ - (destination) =3D *(source) & 0377; \ - (destination) +=3D SIGN_EXTEND_CHAR (*((source) + 1)) << 8; \ - } while (0) - -#ifdef DEBUG -static void extract_number _RE_ARGS ((int *dest, unsigned char *source))= ; -static void -extract_number (dest, source) - int *dest; - unsigned char *source; -{ - int temp =3D SIGN_EXTEND_CHAR (*(source + 1)); - *dest =3D *source & 0377; - *dest +=3D temp << 8; -} - -# ifndef EXTRACT_MACROS /* To debug the macros. */ -# undef EXTRACT_NUMBER -# define EXTRACT_NUMBER(dest, src) extract_number (&dest, src) -# endif /* not EXTRACT_MACROS */ - -#endif /* DEBUG */ - -/* Same as EXTRACT_NUMBER, except increment SOURCE to after the number. - SOURCE must be an lvalue. */ - -#define EXTRACT_NUMBER_AND_INCR(destination, source) \ - do { \ - EXTRACT_NUMBER (destination, source); \ - (source) +=3D 2; \ - } while (0) - -#ifdef DEBUG -static void extract_number_and_incr _RE_ARGS ((int *destination, - unsigned char **source)); -static void -extract_number_and_incr (destination, source) - int *destination; - unsigned char **source; -{ - extract_number (destination, *source); - *source +=3D 2; -} - -# ifndef EXTRACT_MACROS -# undef EXTRACT_NUMBER_AND_INCR -# define EXTRACT_NUMBER_AND_INCR(dest, src) \ - extract_number_and_incr (&dest, &src) -# endif /* not EXTRACT_MACROS */ - -#endif /* DEBUG */ -=0C -/* If DEBUG is defined, Regex prints many voluminous messages about what= - it is doing (if the variable `debug' is nonzero). If linked with the= - main program in `iregex.c', you can enter patterns and strings - interactively. And if linked with the main program in `main.c' and - the other test files, you can run the already-written tests. */ - -#ifdef DEBUG - -/* We use standard I/O for debugging. */ -# include - -/* It is useful to test things that ``must'' be true when debugging. */= -# include - -static int debug; - -# define DEBUG_STATEMENT(e) e -# define DEBUG_PRINT1(x) if (debug) printf (x) -# define DEBUG_PRINT2(x1, x2) if (debug) printf (x1, x2) -# define DEBUG_PRINT3(x1, x2, x3) if (debug) printf (x1, x2, x3) -# define DEBUG_PRINT4(x1, x2, x3, x4) if (debug) printf (x1, x2, x3, x4)= -# define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) \ - if (debug) print_partial_compiled_pattern (s, e) -# define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2) \ - if (debug) print_double_string (w, s1, sz1, s2, sz2) - - -/* Print the fastmap in human-readable form. */ - -void -print_fastmap (fastmap) - char *fastmap; -{ - unsigned was_a_range =3D 0; - unsigned i =3D 0; - - while (i < (1 << BYTEWIDTH)) - { - if (fastmap[i++]) - { - was_a_range =3D 0; - putchar (i - 1); - while (i < (1 << BYTEWIDTH) && fastmap[i]) - { - was_a_range =3D 1; - i++; - } - if (was_a_range) - { - printf ("-"); - putchar (i - 1); - } - } - } - putchar ('\n'); -} - - -/* Print a compiled pattern string in human-readable form, starting at - the START pointer into it and ending just before the pointer END. */= - -void -print_partial_compiled_pattern (start, end) - unsigned char *start; - unsigned char *end; -{ - int mcnt, mcnt2; - unsigned char *p1; - unsigned char *p =3D start; - unsigned char *pend =3D end; - - if (start =3D=3D NULL) - { - printf ("(null)\n"); - return; - } - - /* Loop over pattern commands. */ - while (p < pend) - { - printf ("%d:\t", p - start); - - switch ((re_opcode_t) *p++) - { - case no_op: - printf ("/no_op"); - break; - - case exactn: - mcnt =3D *p++; - printf ("/exactn/%d", mcnt); - do - { - putchar ('/'); - putchar (*p++); - } - while (--mcnt); - break; - - case start_memory: - mcnt =3D *p++; - printf ("/start_memory/%d/%d", mcnt, *p++); - break; - - case stop_memory: - mcnt =3D *p++; - printf ("/stop_memory/%d/%d", mcnt, *p++); - break; - - case duplicate: - printf ("/duplicate/%d", *p++); - break; - - case anychar: - printf ("/anychar"); - break; - - case charset: - case charset_not: - { - register int c, last =3D -100; - register int in_range =3D 0; - - printf ("/charset [%s", - (re_opcode_t) *(p - 1) =3D=3D charset_not ? "^" : ""); - - assert (p + *p < pend); - - for (c =3D 0; c < 256; c++) - if (c / 8 < *p - && (p[1 + (c/8)] & (1 << (c % 8)))) - { - /* Are we starting a range? */ - if (last + 1 =3D=3D c && ! in_range) - { - putchar ('-'); - in_range =3D 1; - } - /* Have we broken a range? */ - else if (last + 1 !=3D c && in_range) - { - putchar (last); - in_range =3D 0; - } - - if (! in_range) - putchar (c); - - last =3D c; - } - - if (in_range) - putchar (last); - - putchar (']'); - - p +=3D 1 + *p; - } - break; - - case begline: - printf ("/begline"); - break; - - case endline: - printf ("/endline"); - break; - - case on_failure_jump: - extract_number_and_incr (&mcnt, &p); - printf ("/on_failure_jump to %d", p + mcnt - start); - break; - - case on_failure_keep_string_jump: - extract_number_and_incr (&mcnt, &p); - printf ("/on_failure_keep_string_jump to %d", p + mcnt - start); - break; - - case dummy_failure_jump: - extract_number_and_incr (&mcnt, &p); - printf ("/dummy_failure_jump to %d", p + mcnt - start); - break; - - case push_dummy_failure: - printf ("/push_dummy_failure"); - break; - - case maybe_pop_jump: - extract_number_and_incr (&mcnt, &p); - printf ("/maybe_pop_jump to %d", p + mcnt - start); - break; - - case pop_failure_jump: - extract_number_and_incr (&mcnt, &p); - printf ("/pop_failure_jump to %d", p + mcnt - start); - break; - - case jump_past_alt: - extract_number_and_incr (&mcnt, &p); - printf ("/jump_past_alt to %d", p + mcnt - start); - break; - - case jump: - extract_number_and_incr (&mcnt, &p); - printf ("/jump to %d", p + mcnt - start); - break; - - case succeed_n: - extract_number_and_incr (&mcnt, &p); - p1 =3D p + mcnt; - extract_number_and_incr (&mcnt2, &p); - printf ("/succeed_n to %d, %d times", p1 - start, mcnt2); - break; - - case jump_n: - extract_number_and_incr (&mcnt, &p); - p1 =3D p + mcnt; - extract_number_and_incr (&mcnt2, &p); - printf ("/jump_n to %d, %d times", p1 - start, mcnt2); - break; - - case set_number_at: - extract_number_and_incr (&mcnt, &p); - p1 =3D p + mcnt; - extract_number_and_incr (&mcnt2, &p); - printf ("/set_number_at location %d to %d", p1 - start, mcnt2); - break; - - case wordbound: - printf ("/wordbound"); - break; - - case notwordbound: - printf ("/notwordbound"); - break; - - case wordbeg: - printf ("/wordbeg"); - break; - - case wordend: - printf ("/wordend"); - -# ifdef emacs - case before_dot: - printf ("/before_dot"); - break; - - case at_dot: - printf ("/at_dot"); - break; - - case after_dot: - printf ("/after_dot"); - break; - - case syntaxspec: - printf ("/syntaxspec"); - mcnt =3D *p++; - printf ("/%d", mcnt); - break; - - case notsyntaxspec: - printf ("/notsyntaxspec"); - mcnt =3D *p++; - printf ("/%d", mcnt); - break; -# endif /* emacs */ - - case wordchar: - printf ("/wordchar"); - break; - - case notwordchar: - printf ("/notwordchar"); - break; - - case begbuf: - printf ("/begbuf"); - break; - - case endbuf: - printf ("/endbuf"); - break; - - default: - printf ("?%d", *(p-1)); - } - - putchar ('\n'); - } - - printf ("%d:\tend of pattern.\n", p - start); -} - - -void -print_compiled_pattern (bufp) - struct re_pattern_buffer *bufp; -{ - unsigned char *buffer =3D bufp->buffer; - - print_partial_compiled_pattern (buffer, buffer + bufp->used); - printf ("%ld bytes used/%ld bytes allocated.\n", - bufp->used, bufp->allocated); - - if (bufp->fastmap_accurate && bufp->fastmap) - { - printf ("fastmap: "); - print_fastmap (bufp->fastmap); - } - - printf ("re_nsub: %d\t", bufp->re_nsub); - printf ("regs_alloc: %d\t", bufp->regs_allocated); - printf ("can_be_null: %d\t", bufp->can_be_null); - printf ("newline_anchor: %d\n", bufp->newline_anchor); - printf ("no_sub: %d\t", bufp->no_sub); - printf ("not_bol: %d\t", bufp->not_bol); - printf ("not_eol: %d\t", bufp->not_eol); - printf ("syntax: %lx\n", bufp->syntax); - /* Perhaps we should print the translate table? */ -} - - -void -print_double_string (where, string1, size1, string2, size2) - const char *where; - const char *string1; - const char *string2; - int size1; - int size2; -{ - int this_char; - - if (where =3D=3D NULL) - printf ("(null)"); - else - { - if (FIRST_STRING_P (where)) - { - for (this_char =3D where - string1; this_char < size1; this_ch= ar++) - putchar (string1[this_char]); - - where =3D string2; - } - - for (this_char =3D where - string2; this_char < size2; this_char++= ) - putchar (string2[this_char]); - } -} - -void -printchar (c) - int c; -{ - putc (c, stderr); -} - -#else /* not DEBUG */ - -# undef assert -# define assert(e) - -# define DEBUG_STATEMENT(e) -# define DEBUG_PRINT1(x) -# define DEBUG_PRINT2(x1, x2) -# define DEBUG_PRINT3(x1, x2, x3) -# define DEBUG_PRINT4(x1, x2, x3, x4) -# define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) -# define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2) - -#endif /* not DEBUG */ -=0C -/* Set by `re_set_syntax' to the current regexp syntax to recognize. Ca= n - also be assigned to arbitrarily: each pattern buffer stores its own - syntax, so it can be changed between regex compilations. */ -/* This has no initializer because initialized variables in Emacs - become read-only after dumping. */ -reg_syntax_t re_syntax_options; - - -/* Specify the precise syntax of regexps for compilation. This provides= - for compatibility for various utilities which historically have - different, incompatible syntaxes. - - The argument SYNTAX is a bit mask comprised of the various bits - defined in regex.h. We return the old syntax. */ - -reg_syntax_t -re_set_syntax (syntax) - reg_syntax_t syntax; -{ - reg_syntax_t ret =3D re_syntax_options; - - re_syntax_options =3D syntax; -#ifdef DEBUG - if (syntax & RE_DEBUG) - debug =3D 1; - else if (debug) /* was on but now is not */ - debug =3D 0; -#endif /* DEBUG */ - return ret; -} -#ifdef _LIBC -weak_alias (__re_set_syntax, re_set_syntax) -#endif -=0C -/* This table gives an error message for each of the error codes listed - in regex.h. Obviously the order here has to be same as there. - POSIX doesn't require that we do anything for REG_NOERROR, - but why not be nice? */ - -static const char re_error_msgid[] =3D - { -#define REG_NOERROR_IDX 0 - gettext_noop ("Success") /* REG_NOERROR */ - "\0" -#define REG_NOMATCH_IDX (REG_NOERROR_IDX + sizeof "Success") - gettext_noop ("No match") /* REG_NOMATCH */ - "\0" -#define REG_BADPAT_IDX (REG_NOMATCH_IDX + sizeof "No match") - gettext_noop ("Invalid regular expression") /* REG_BADPAT */ - "\0" -#define REG_ECOLLATE_IDX (REG_BADPAT_IDX + sizeof "Invalid regular expre= ssion") - gettext_noop ("Invalid collation character") /* REG_ECOLLATE */ - "\0" -#define REG_ECTYPE_IDX (REG_ECOLLATE_IDX + sizeof "Invalid collation cha= racter") - gettext_noop ("Invalid character class name") /* REG_ECTYPE */ - "\0" -#define REG_EESCAPE_IDX (REG_ECTYPE_IDX + sizeof "Invalid character clas= s name") - gettext_noop ("Trailing backslash") /* REG_EESCAPE */ - "\0" -#define REG_ESUBREG_IDX (REG_EESCAPE_IDX + sizeof "Trailing backslash") - gettext_noop ("Invalid back reference") /* REG_ESUBREG */ - "\0" -#define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference= ") - gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */ - "\0" -#define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^") - gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */ - "\0" -#define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(") - gettext_noop ("Unmatched \\{") /* REG_EBRACE */ - "\0" -#define REG_BADBR_IDX (REG_EBRACE_IDX + sizeof "Unmatched \\{") - gettext_noop ("Invalid content of \\{\\}") /* REG_BADBR */ - "\0" -#define REG_ERANGE_IDX (REG_BADBR_IDX + sizeof "Invalid content of \\{\\= }") - gettext_noop ("Invalid range end") /* REG_ERANGE */ - "\0" -#define REG_ESPACE_IDX (REG_ERANGE_IDX + sizeof "Invalid range end") - gettext_noop ("Memory exhausted") /* REG_ESPACE */ - "\0" -#define REG_BADRPT_IDX (REG_ESPACE_IDX + sizeof "Memory exhausted") - gettext_noop ("Invalid preceding regular expression") /* REG_BADRPT = */ - "\0" -#define REG_EEND_IDX (REG_BADRPT_IDX + sizeof "Invalid preceding regular= expression") - gettext_noop ("Premature end of regular expression") /* REG_EEND */ - "\0" -#define REG_ESIZE_IDX (REG_EEND_IDX + sizeof "Premature end of regular e= xpression") - gettext_noop ("Regular expression too big") /* REG_ESIZE */ - "\0" -#define REG_ERPAREN_IDX (REG_ESIZE_IDX + sizeof "Regular expression too = big") - gettext_noop ("Unmatched ) or \\)") /* REG_ERPAREN */ - }; - -static const size_t re_error_msgid_idx[] =3D - { - REG_NOERROR_IDX, - REG_NOMATCH_IDX, - REG_BADPAT_IDX, - REG_ECOLLATE_IDX, - REG_ECTYPE_IDX, - REG_EESCAPE_IDX, - REG_ESUBREG_IDX, - REG_EBRACK_IDX, - REG_EPAREN_IDX, - REG_EBRACE_IDX, - REG_BADBR_IDX, - REG_ERANGE_IDX, - REG_ESPACE_IDX, - REG_BADRPT_IDX, - REG_EEND_IDX, - REG_ESIZE_IDX, - REG_ERPAREN_IDX - }; -=0C -/* Avoiding alloca during matching, to placate r_alloc. */ - -/* Define MATCH_MAY_ALLOCATE unless we need to make sure that the - searching and matching functions should not call alloca. On some - systems, alloca is implemented in terms of malloc, and if we're - using the relocating allocator routines, then malloc could cause a - relocation, which might (if the strings being searched are in the - ralloc heap) shift the data out from underneath the regexp - routines. - - Here's another reason to avoid allocation: Emacs - processes input from X in a signal handler; processing X input may - call malloc; if input arrives while a matching routine is calling - malloc, then we're scrod. But Emacs can't just block input while - calling matching routines; then we don't notice interrupts when - they come in. So, Emacs blocks input around all regexp calls - except the matching calls, which it leaves unprotected, in the - faith that they will not malloc. */ - -/* Normally, this is fine. */ -#define MATCH_MAY_ALLOCATE - -/* When using GNU C, we are not REALLY using the C alloca, no matter - what config.h may say. So don't take precautions for it. */ -#ifdef __GNUC__ -# undef C_ALLOCA -#endif - -/* The match routines may not allocate if (1) they would do it with mall= oc - and (2) it's not safe for them to use malloc. - Note that if REL_ALLOC is defined, matching would not use malloc for = the - failure stack, but we would still use it for the register vectors; - so REL_ALLOC should not affect this. */ -#if (defined C_ALLOCA || defined REGEX_MALLOC) && defined emacs -# undef MATCH_MAY_ALLOCATE -#endif - -=0C -/* Failure stack declarations and macros; both re_compile_fastmap and - re_match_2 use a failure stack. These have to be macros because of - REGEX_ALLOCATE_STACK. */ - - -/* Number of failure points for which to initially allocate space - when matching. If this number is exceeded, we allocate more - space, so it is not a hard limit. */ -#ifndef INIT_FAILURE_ALLOC -# define INIT_FAILURE_ALLOC 5 -#endif - -/* Roughly the maximum number of failure points on the stack. Would be - exactly that if always used MAX_FAILURE_ITEMS items each time we fail= ed. - This is a variable only so users of regex can assign to it; we never - change it ourselves. */ - -#ifdef INT_IS_16BIT - -# if defined MATCH_MAY_ALLOCATE -/* 4400 was enough to cause a crash on Alpha OSF/1, - whose default stack limit is 2mb. */ -long int re_max_failures =3D 4000; -# else -long int re_max_failures =3D 2000; -# endif - -union fail_stack_elt -{ - unsigned char *pointer; - long int integer; -}; - -typedef union fail_stack_elt fail_stack_elt_t; - -typedef struct -{ - fail_stack_elt_t *stack; - unsigned long int size; - unsigned long int avail; /* Offset of next open position. */ -} fail_stack_type; - -#else /* not INT_IS_16BIT */ - -# if defined MATCH_MAY_ALLOCATE -/* 4400 was enough to cause a crash on Alpha OSF/1, - whose default stack limit is 2mb. */ -int re_max_failures =3D 20000; -# else -int re_max_failures =3D 2000; -# endif - -union fail_stack_elt -{ - unsigned char *pointer; - int integer; -}; - -typedef union fail_stack_elt fail_stack_elt_t; - -typedef struct -{ - fail_stack_elt_t *stack; - unsigned size; - unsigned avail; /* Offset of next open position. */ -} fail_stack_type; - -#endif /* INT_IS_16BIT */ - -#define FAIL_STACK_EMPTY() (fail_stack.avail =3D=3D 0) -#define FAIL_STACK_PTR_EMPTY() (fail_stack_ptr->avail =3D=3D 0) -#define FAIL_STACK_FULL() (fail_stack.avail =3D=3D fail_stack.size)= - - -/* Define macros to initialize and free the failure stack. - Do `return -2' if the alloc fails. */ - -#ifdef MATCH_MAY_ALLOCATE -# define INIT_FAIL_STACK() \ - do { \ - fail_stack.stack =3D (fail_stack_elt_t *) \ - REGEX_ALLOCATE_STACK (INIT_FAILURE_ALLOC * sizeof (fail_stack_elt_= t)); \ - \ - if (fail_stack.stack =3D=3D NULL) \ - return -2; \ - \ - fail_stack.size =3D INIT_FAILURE_ALLOC; \ - fail_stack.avail =3D 0; \ - } while (0) - -# define RESET_FAIL_STACK() REGEX_FREE_STACK (fail_stack.stack) -#else -# define INIT_FAIL_STACK() \ - do { \ - fail_stack.avail =3D 0; \ - } while (0) - -# define RESET_FAIL_STACK() -#endif - - -/* Double the size of FAIL_STACK, up to approximately `re_max_failures' = items. - - Return 1 if succeeds, and 0 if either ran out of memory - allocating space for it or it was already too large. - - REGEX_REALLOCATE_STACK requires `destination' be declared. */ - -#define DOUBLE_FAIL_STACK(fail_stack) \ - ((fail_stack).size > (unsigned) (re_max_failures * MAX_FAILURE_ITEMS) = \ - ? 0 \ - : ((fail_stack).stack =3D (fail_stack_elt_t *) \ - REGEX_REALLOCATE_STACK ((fail_stack).stack, \ - (fail_stack).size * sizeof (fail_stack_elt_t), \ - ((fail_stack).size << 1) * sizeof (fail_stack_elt_t)), \ - \ - (fail_stack).stack =3D=3D NULL \ - ? 0 \ - : ((fail_stack).size <<=3D 1, \ - 1))) - - -/* Push pointer POINTER on FAIL_STACK. - Return 1 if was able to do so and 0 if ran out of memory allocating - space to do so. */ -#define PUSH_PATTERN_OP(POINTER, FAIL_STACK) \ - ((FAIL_STACK_FULL () \ - && !DOUBLE_FAIL_STACK (FAIL_STACK)) \ - ? 0 \ - : ((FAIL_STACK).stack[(FAIL_STACK).avail++].pointer =3D POINTER, \ - 1)) - -/* Push a pointer value onto the failure stack. - Assumes the variable `fail_stack'. Probably should only - be called from within `PUSH_FAILURE_POINT'. */ -#define PUSH_FAILURE_POINTER(item) \ - fail_stack.stack[fail_stack.avail++].pointer =3D (unsigned char *) (it= em) - -/* This pushes an integer-valued item onto the failure stack. - Assumes the variable `fail_stack'. Probably should only - be called from within `PUSH_FAILURE_POINT'. */ -#define PUSH_FAILURE_INT(item) \ - fail_stack.stack[fail_stack.avail++].integer =3D (item) - -/* Push a fail_stack_elt_t value onto the failure stack. - Assumes the variable `fail_stack'. Probably should only - be called from within `PUSH_FAILURE_POINT'. */ -#define PUSH_FAILURE_ELT(item) \ - fail_stack.stack[fail_stack.avail++] =3D (item) - -/* These three POP... operations complement the three PUSH... operations= =2E - All assume that `fail_stack' is nonempty. */ -#define POP_FAILURE_POINTER() fail_stack.stack[--fail_stack.avail].point= er -#define POP_FAILURE_INT() fail_stack.stack[--fail_stack.avail].integer -#define POP_FAILURE_ELT() fail_stack.stack[--fail_stack.avail] - -/* Used to omit pushing failure point id's when we're not debugging. */= -#ifdef DEBUG -# define DEBUG_PUSH PUSH_FAILURE_INT -# define DEBUG_POP(item_addr) *(item_addr) =3D POP_FAILURE_INT () -#else -# define DEBUG_PUSH(item) -# define DEBUG_POP(item_addr) -#endif - - -/* Push the information about the state we will need - if we ever fail back to it. - - Requires variables fail_stack, regstart, regend, reg_info, and - num_regs_pushed be declared. DOUBLE_FAIL_STACK requires `destination= ' - be declared. - - Does `return FAILURE_CODE' if runs out of memory. */ - -#define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code) \ - do { \ - char *destination; \ - /* Must be int, so when we don't save any registers, the arithmetic = \ - of 0 + -1 isn't done as unsigned. */ \ - /* Can't be int, since there is not a shred of a guarantee that int = \ - is wide enough to hold a value of something to which pointer can = \ - be assigned */ \ - active_reg_t this_reg; \ - \ - DEBUG_STATEMENT (failure_id++); \ - DEBUG_STATEMENT (nfailure_points_pushed++); \ - DEBUG_PRINT2 ("\nPUSH_FAILURE_POINT #%u:\n", failure_id); \ - DEBUG_PRINT2 (" Before push, next avail: %d\n", (fail_stack).avail)= ;\ - DEBUG_PRINT2 (" size: %d\n", (fail_stack).size);= \ - \ - DEBUG_PRINT2 (" slots needed: %ld\n", NUM_FAILURE_ITEMS); \ - DEBUG_PRINT2 (" available: %d\n", REMAINING_AVAIL_SLOTS); \ - \ - /* Ensure we have enough space allocated for what we will push. */ = \ - while (REMAINING_AVAIL_SLOTS < NUM_FAILURE_ITEMS) \ - { \ - if (!DOUBLE_FAIL_STACK (fail_stack)) \ - return failure_code; \ - \ - DEBUG_PRINT2 ("\n Doubled stack; size now: %d\n", \ - (fail_stack).size); \ - DEBUG_PRINT2 (" slots available: %d\n", REMAINING_AVAIL_SLOTS);= \ - } \ - \ - /* Push the info, starting with the registers. */ \ - DEBUG_PRINT1 ("\n"); \ - \ - if (1) \ - for (this_reg =3D lowest_active_reg; this_reg <=3D highest_active_= reg; \ - this_reg++) \ - { \ - DEBUG_PRINT2 (" Pushing reg: %lu\n", this_reg); \ - DEBUG_STATEMENT (num_regs_pushed++); \ - \ - DEBUG_PRINT2 (" start: %p\n", regstart[this_reg]); \ - PUSH_FAILURE_POINTER (regstart[this_reg]); \ - \ - DEBUG_PRINT2 (" end: %p\n", regend[this_reg]); \ - PUSH_FAILURE_POINTER (regend[this_reg]); \ - \ - DEBUG_PRINT2 (" info: %p\n ", \ - reg_info[this_reg].word.pointer); \ - DEBUG_PRINT2 (" match_null=3D%d", \ - REG_MATCH_NULL_STRING_P (reg_info[this_reg])); \ - DEBUG_PRINT2 (" active=3D%d", IS_ACTIVE (reg_info[this_reg])); \ - DEBUG_PRINT2 (" matched_something=3D%d", \ - MATCHED_SOMETHING (reg_info[this_reg])); \ - DEBUG_PRINT2 (" ever_matched=3D%d", \ - EVER_MATCHED_SOMETHING (reg_info[this_reg])); \ - DEBUG_PRINT1 ("\n"); \ - PUSH_FAILURE_ELT (reg_info[this_reg].word); \ - } \ - \ - DEBUG_PRINT2 (" Pushing low active reg: %ld\n", lowest_active_reg)= ;\ - PUSH_FAILURE_INT (lowest_active_reg); \ - \ - DEBUG_PRINT2 (" Pushing high active reg: %ld\n", highest_active_reg= );\ - PUSH_FAILURE_INT (highest_active_reg); \ - \ - DEBUG_PRINT2 (" Pushing pattern %p:\n", pattern_place); \ - DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend); \ - PUSH_FAILURE_POINTER (pattern_place); \ - \ - DEBUG_PRINT2 (" Pushing string %p: `", string_place); \ - DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2, = \ - size2); \ - DEBUG_PRINT1 ("'\n"); \ - PUSH_FAILURE_POINTER (string_place); \ - \ - DEBUG_PRINT2 (" Pushing failure id: %u\n", failure_id); \ - DEBUG_PUSH (failure_id); \ - } while (0) - -/* This is the number of items that are pushed and popped on the stack - for each register. */ -#define NUM_REG_ITEMS 3 - -/* Individual items aside from the registers. */ -#ifdef DEBUG -# define NUM_NONREG_ITEMS 5 /* Includes failure point id. */ -#else -# define NUM_NONREG_ITEMS 4 -#endif - -/* We push at most this many items on the stack. */ -/* We used to use (num_regs - 1), which is the number of registers - this regexp will save; but that was changed to 5 - to avoid stack overflow for a regexp with lots of parens. */ -#define MAX_FAILURE_ITEMS (5 * NUM_REG_ITEMS + NUM_NONREG_ITEMS) - -/* We actually push this many items. */ -#define NUM_FAILURE_ITEMS \ - (((0 \ - ? 0 : highest_active_reg - lowest_active_reg + 1) \ - * NUM_REG_ITEMS) \ - + NUM_NONREG_ITEMS) - -/* How many items can still be added to the stack without overflowing it= =2E */ -#define REMAINING_AVAIL_SLOTS ((fail_stack).size - (fail_stack).avail) - - -/* Pops what PUSH_FAIL_STACK pushes. - - We restore into the parameters, all of which should be lvalues: - STR -- the saved data position. - PAT -- the saved pattern position. - LOW_REG, HIGH_REG -- the highest and lowest active registers. - REGSTART, REGEND -- arrays of string positions. - REG_INFO -- array of information about each subexpression. - - Also assumes the variables `fail_stack' and (if debugging), `bufp', - `pend', `string1', `size1', `string2', and `size2'. */ - -#define POP_FAILURE_POINT(str, pat, low_reg, high_reg, regstart, regend,= reg_info)\ -{ \ - DEBUG_STATEMENT (unsigned failure_id;) \ - active_reg_t this_reg; \ - const unsigned char *string_temp; \ - \ - assert (!FAIL_STACK_EMPTY ()); \ - \ - /* Remove failure points and point to how many regs pushed. */ \ - DEBUG_PRINT1 ("POP_FAILURE_POINT:\n"); \ - DEBUG_PRINT2 (" Before pop, next avail: %d\n", fail_stack.avail); \ - DEBUG_PRINT2 (" size: %d\n", fail_stack.size); \ - \ - assert (fail_stack.avail >=3D NUM_NONREG_ITEMS); \ - \ - DEBUG_POP (&failure_id); \ - DEBUG_PRINT2 (" Popping failure id: %u\n", failure_id); \ - \ - /* If the saved string location is NULL, it came from an \ - on_failure_keep_string_jump opcode, and we want to throw away the \= - saved NULL, thus retaining our current position in the string. */ = \ - string_temp =3D POP_FAILURE_POINTER (); \ - if (string_temp !=3D NULL) \ - str =3D (const char *) string_temp; \ - \ - DEBUG_PRINT2 (" Popping string %p: `", str); \ - DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2); \ - DEBUG_PRINT1 ("'\n"); \ - \ - pat =3D (unsigned char *) POP_FAILURE_POINTER (); \ - DEBUG_PRINT2 (" Popping pattern %p:\n", pat); \ - DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend); \ - \ - /* Restore register info. */ \ - high_reg =3D (active_reg_t) POP_FAILURE_INT (); \ - DEBUG_PRINT2 (" Popping high active reg: %ld\n", high_reg); \ - \ - low_reg =3D (active_reg_t) POP_FAILURE_INT (); \ - DEBUG_PRINT2 (" Popping low active reg: %ld\n", low_reg); \ - \ - if (1) \ - for (this_reg =3D high_reg; this_reg >=3D low_reg; this_reg--) \ - { \ - DEBUG_PRINT2 (" Popping reg: %ld\n", this_reg); \ - \ - reg_info[this_reg].word =3D POP_FAILURE_ELT (); \ - DEBUG_PRINT2 (" info: %p\n", \ - reg_info[this_reg].word.pointer); \ - \ - regend[this_reg] =3D (const char *) POP_FAILURE_POINTER (); \ - DEBUG_PRINT2 (" end: %p\n", regend[this_reg]); \ - \ - regstart[this_reg] =3D (const char *) POP_FAILURE_POINTER (); \ - DEBUG_PRINT2 (" start: %p\n", regstart[this_reg]); \ - } \ - else \ - { \ - for (this_reg =3D highest_active_reg; this_reg > high_reg; this_re= g--) \ - { \ - reg_info[this_reg].word.integer =3D 0; \ - regend[this_reg] =3D 0; \ - regstart[this_reg] =3D 0; \ - } \ - highest_active_reg =3D high_reg; \ - } \ - \ - set_regs_matched_done =3D 0; \ - DEBUG_STATEMENT (nfailure_points_popped++); \ -} /* POP_FAILURE_POINT */ - - -=0C -/* Structure for per-register (a.k.a. per-group) information. - Other register information, such as the - starting and ending positions (which are addresses), and the list of - inner groups (which is a bits list) are maintained in separate - variables. - - We are making a (strictly speaking) nonportable assumption here: that= - the compiler will pack our bit fields into something that fits into - the type of `word', i.e., is something that fits into one item on the= - failure stack. */ - - -/* Declarations and macros for re_match_2. */ - -typedef union -{ - fail_stack_elt_t word; - struct - { - /* This field is one if this group can match the empty string, - zero if not. If not yet determined, `MATCH_NULL_UNSET_VALUE'.= */ -#define MATCH_NULL_UNSET_VALUE 3 - unsigned match_null_string_p : 2; - unsigned is_active : 1; - unsigned matched_something : 1; - unsigned ever_matched_something : 1; - } bits; -} register_info_type; - -#define REG_MATCH_NULL_STRING_P(R) ((R).bits.match_null_string_p) -#define IS_ACTIVE(R) ((R).bits.is_active) -#define MATCHED_SOMETHING(R) ((R).bits.matched_something) -#define EVER_MATCHED_SOMETHING(R) ((R).bits.ever_matched_something) - - -/* Call this when have matched a real character; it sets `matched' flags= - for the subexpressions which we are currently inside. Also records - that those subexprs have matched. */ -#define SET_REGS_MATCHED() \ - do \ - { \ - if (!set_regs_matched_done) \ - { \ - active_reg_t r; \ - set_regs_matched_done =3D 1; \ - for (r =3D lowest_active_reg; r <=3D highest_active_reg; r++) \ - { \ - MATCHED_SOMETHING (reg_info[r]) \ - =3D EVER_MATCHED_SOMETHING (reg_info[r]) \ - =3D 1; \ - } \ - } \ - } \ - while (0) - -/* Registers are set to a sentinel when they haven't yet matched. */ -static char reg_unset_dummy; -#define REG_UNSET_VALUE (®_unset_dummy) -#define REG_UNSET(e) ((e) =3D=3D REG_UNSET_VALUE) -=0C -/* Subroutine declarations and macros for regex_compile. */ - -static reg_errcode_t regex_compile _RE_ARGS ((const char *pattern, size_= t size, - reg_syntax_t syntax, - struct re_pattern_buffer *bufp)); -static void store_op1 _RE_ARGS ((re_opcode_t op, unsigned char *loc, int= arg)); -static void store_op2 _RE_ARGS ((re_opcode_t op, unsigned char *loc, - int arg1, int arg2)); -static void insert_op1 _RE_ARGS ((re_opcode_t op, unsigned char *loc, - int arg, unsigned char *end)); -static void insert_op2 _RE_ARGS ((re_opcode_t op, unsigned char *loc, - int arg1, int arg2, unsigned char *end)); -static boolean at_begline_loc_p _RE_ARGS ((const char *pattern, const ch= ar *p, - reg_syntax_t syntax)); -static boolean at_endline_loc_p _RE_ARGS ((const char *p, const char *pe= nd, - reg_syntax_t syntax)); -static reg_errcode_t compile_range _RE_ARGS ((const char **p_ptr, - const char *pend, - char *translate, - reg_syntax_t syntax, - unsigned char *b)); - -/* Fetch the next character in the uncompiled pattern---translating it - if necessary. Also cast from a signed character in the constant - string passed to us by the user to an unsigned char that we can use - as an array index (in, e.g., `translate'). */ -#ifndef PATFETCH -# define PATFETCH(c) \ - do {if (p =3D=3D pend) return REG_EEND; \ - c =3D (unsigned char) *p++; \ - if (translate) c =3D (unsigned char) translate[c]; \ - } while (0) -#endif - -/* Fetch the next character in the uncompiled pattern, with no - translation. */ -#define PATFETCH_RAW(c) \ - do {if (p =3D=3D pend) return REG_EEND; \ - c =3D (unsigned char) *p++; \ - } while (0) - -/* Go backwards one character in the pattern. */ -#define PATUNFETCH p-- - - -/* If `translate' is non-null, return translate[D], else just D. We - cast the subscript to translate because some data is declared as - `char *', to avoid warnings when a string constant is passed. But - when we use a character as a subscript we must make it unsigned. */ -#ifndef TRANSLATE -# define TRANSLATE(d) \ - (translate ? (char) translate[(unsigned char) (d)] : (d)) -#endif - - -/* Macros for outputting the compiled pattern into `buffer'. */ - -/* If the buffer isn't allocated when it comes in, use this. */ -#define INIT_BUF_SIZE 32 - -/* Make sure we have at least N more bytes of space in buffer. */ -#define GET_BUFFER_SPACE(n) \ - while ((unsigned long) (b - bufp->buffer + (n)) > bufp->allocated) \= - EXTEND_BUFFER () - -/* Make sure we have one more byte of buffer space and then add C to it.= */ -#define BUF_PUSH(c) \ - do { \ - GET_BUFFER_SPACE (1); \ - *b++ =3D (unsigned char) (c); \ - } while (0) - - -/* Ensure we have two more bytes of buffer space and then append C1 and = C2. */ -#define BUF_PUSH_2(c1, c2) \ - do { \ - GET_BUFFER_SPACE (2); \ - *b++ =3D (unsigned char) (c1); \ - *b++ =3D (unsigned char) (c2); \ - } while (0) - - -/* As with BUF_PUSH_2, except for three bytes. */ -#define BUF_PUSH_3(c1, c2, c3) \ - do { \ - GET_BUFFER_SPACE (3); \ - *b++ =3D (unsigned char) (c1); \ - *b++ =3D (unsigned char) (c2); \ - *b++ =3D (unsigned char) (c3); \ - } while (0) - - -/* Store a jump with opcode OP at LOC to location TO. We store a - relative address offset by the three bytes the jump itself occupies. = */ -#define STORE_JUMP(op, loc, to) \ - store_op1 (op, loc, (int) ((to) - (loc) - 3)) - -/* Likewise, for a two-argument jump. */ -#define STORE_JUMP2(op, loc, to, arg) \ - store_op2 (op, loc, (int) ((to) - (loc) - 3), arg) - -/* Like `STORE_JUMP', but for inserting. Assume `b' is the buffer end. = */ -#define INSERT_JUMP(op, loc, to) \ - insert_op1 (op, loc, (int) ((to) - (loc) - 3), b) - -/* Like `STORE_JUMP2', but for inserting. Assume `b' is the buffer end.= */ -#define INSERT_JUMP2(op, loc, to, arg) \ - insert_op2 (op, loc, (int) ((to) - (loc) - 3), arg, b) - - -/* This is not an arbitrary limit: the arguments which represent offsets= - into the pattern are two bytes long. So if 2^16 bytes turns out to - be too small, many things would have to change. */ -/* Any other compiler which, like MSC, has allocation limit below 2^16 - bytes will have to use approach similar to what was done below for - MSC and drop MAX_BUF_SIZE a bit. Otherwise you may end up - reallocating to 0 bytes. Such thing is not going to work too well. - You have been warned!! */ -#if defined _MSC_VER && !defined WIN32 -/* Microsoft C 16-bit versions limit malloc to approx 65512 bytes. - The REALLOC define eliminates a flurry of conversion warnings, - but is not required. */ -# define MAX_BUF_SIZE 65500L -# define REALLOC(p,s) realloc ((p), (size_t) (s)) -#else -# define MAX_BUF_SIZE (1L << 16) -# define REALLOC(p,s) realloc ((p), (s)) -#endif - -/* Extend the buffer by twice its current size via realloc and - reset the pointers that pointed into the old block to point to the - correct places in the new one. If extending the buffer results in it= - being larger than MAX_BUF_SIZE, then flag memory exhausted. */ -#define EXTEND_BUFFER() \ - do { \ - unsigned char *old_buffer =3D bufp->buffer; \ - if (bufp->allocated =3D=3D MAX_BUF_SIZE) \ - return REG_ESIZE; \ - bufp->allocated <<=3D 1; \ - if (bufp->allocated > MAX_BUF_SIZE) \ - bufp->allocated =3D MAX_BUF_SIZE; \ - bufp->buffer =3D (unsigned char *) REALLOC (bufp->buffer, bufp->allo= cated);\ - if (bufp->buffer =3D=3D NULL) \ - return REG_ESPACE; \ - /* If the buffer moved, move all the pointers into it. */ \ - if (old_buffer !=3D bufp->buffer) \ - { \ - b =3D (b - old_buffer) + bufp->buffer; \ - begalt =3D (begalt - old_buffer) + bufp->buffer; \ - if (fixup_alt_jump) \ - fixup_alt_jump =3D (fixup_alt_jump - old_buffer) + bufp->buffe= r;\ - if (laststart) \ - laststart =3D (laststart - old_buffer) + bufp->buffer; \ - if (pending_exact) \ - pending_exact =3D (pending_exact - old_buffer) + bufp->buffer;= \ - } \ - } while (0) - - -/* Since we have one byte reserved for the register number argument to - {start,stop}_memory, the maximum number of groups we can report - things about is what fits in that byte. */ -#define MAX_REGNUM 255 - -/* But patterns can have more than `MAX_REGNUM' registers. We just - ignore the excess. */ -typedef unsigned regnum_t; - - -/* Macros for the compile stack. */ - -/* Since offsets can go either forwards or backwards, this type needs to= - be able to hold values from -(MAX_BUF_SIZE - 1) to MAX_BUF_SIZE - 1. = */ -/* int may be not enough when sizeof(int) =3D=3D 2. */ -typedef long pattern_offset_t; - -typedef struct -{ - pattern_offset_t begalt_offset; - pattern_offset_t fixup_alt_jump; - pattern_offset_t inner_group_offset; - pattern_offset_t laststart_offset; - regnum_t regnum; -} compile_stack_elt_t; - - -typedef struct -{ - compile_stack_elt_t *stack; - unsigned size; - unsigned avail; /* Offset of next open position. */ -} compile_stack_type; - - -#define INIT_COMPILE_STACK_SIZE 32 - -#define COMPILE_STACK_EMPTY (compile_stack.avail =3D=3D 0) -#define COMPILE_STACK_FULL (compile_stack.avail =3D=3D compile_stack.si= ze) - -/* The next available element. */ -#define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail]) - - -/* Set the bit for character C in a list. */ -#define SET_LIST_BIT(c) \ - (b[((unsigned char) (c)) / BYTEWIDTH] \ - |=3D 1 << (((unsigned char) c) % BYTEWIDTH)) - - -/* Get the next unsigned number in the uncompiled pattern. */ -#define GET_UNSIGNED_NUMBER(num) \ - { if (p !=3D pend) \ - { \ - PATFETCH (c); \ - while (ISDIGIT (c)) \ - { \ - if (num < 0) \ - num =3D 0; \ - num =3D num * 10 + c - '0'; \ - if (p =3D=3D pend) \ - break; \ - PATFETCH (c); \ - } \ - } \ - } - -#if defined _LIBC || WIDE_CHAR_SUPPORT -/* The GNU C library provides support for user-defined character classes= - and the functions from ISO C amendement 1. */ -# ifdef CHARCLASS_NAME_MAX -# define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX -# else -/* This shouldn't happen but some implementation might still have this - problem. Use a reasonable default value. */ -# define CHAR_CLASS_MAX_LENGTH 256 -# endif - -# ifdef _LIBC -# define IS_CHAR_CLASS(string) __wctype (string) -# else -# define IS_CHAR_CLASS(string) wctype (string) -# endif -#else -# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */ - -# define IS_CHAR_CLASS(string) \ - (STREQ (string, "alpha") || STREQ (string, "upper") \ - || STREQ (string, "lower") || STREQ (string, "digit") \ - || STREQ (string, "alnum") || STREQ (string, "xdigit") \ - || STREQ (string, "space") || STREQ (string, "print") \ - || STREQ (string, "punct") || STREQ (string, "graph") \ - || STREQ (string, "cntrl") || STREQ (string, "blank")) -#endif -=0C -#ifndef MATCH_MAY_ALLOCATE - -/* If we cannot allocate large objects within re_match_2_internal, - we make the fail stack and register vectors global. - The fail stack, we grow to the maximum size when a regexp - is compiled. - The register vectors, we adjust in size each time we - compile a regexp, according to the number of registers it needs. */ - -static fail_stack_type fail_stack; - -/* Size with which the following vectors are currently allocated. - That is so we can make them bigger as needed, - but never make them smaller. */ -static int regs_allocated_size; - -static const char ** regstart, ** regend; -static const char ** old_regstart, ** old_regend; -static const char **best_regstart, **best_regend; -static register_info_type *reg_info; -static const char **reg_dummy; -static register_info_type *reg_info_dummy; - -/* Make the register vectors big enough for NUM_REGS registers, - but don't make them smaller. */ - -static -regex_grow_registers (num_regs) - int num_regs; -{ - if (num_regs > regs_allocated_size) - { - RETALLOC_IF (regstart, num_regs, const char *); - RETALLOC_IF (regend, num_regs, const char *); - RETALLOC_IF (old_regstart, num_regs, const char *); - RETALLOC_IF (old_regend, num_regs, const char *); - RETALLOC_IF (best_regstart, num_regs, const char *); - RETALLOC_IF (best_regend, num_regs, const char *); - RETALLOC_IF (reg_info, num_regs, register_info_type); - RETALLOC_IF (reg_dummy, num_regs, const char *); - RETALLOC_IF (reg_info_dummy, num_regs, register_info_type); - - regs_allocated_size =3D num_regs; - } -} - -#endif /* not MATCH_MAY_ALLOCATE */ -=0C -static boolean group_in_compile_stack _RE_ARGS ((compile_stack_type - compile_stack, - regnum_t regnum)); - -/* `regex_compile' compiles PATTERN (of length SIZE) according to SYNTAX= =2E - Returns one of error codes defined in `regex.h', or zero for success.= - - Assumes the `allocated' (and perhaps `buffer') and `translate' - fields are set in BUFP on entry. - - If it succeeds, results are put in BUFP (if it returns an error, the - contents of BUFP are undefined): - `buffer' is the compiled pattern; - `syntax' is set to SYNTAX; - `used' is set to the length of the compiled pattern; - `fastmap_accurate' is zero; - `re_nsub' is the number of subexpressions in PATTERN; - `not_bol' and `not_eol' are zero; - - The `fastmap' and `newline_anchor' fields are neither - examined nor set. */ - -/* Return, freeing storage we allocated. */ -#define FREE_STACK_RETURN(value) \ - return (free (compile_stack.stack), value) - -static reg_errcode_t -regex_compile (pattern, size, syntax, bufp) - const char *pattern; - size_t size; - reg_syntax_t syntax; - struct re_pattern_buffer *bufp; -{ - /* We fetch characters from PATTERN here. Even though PATTERN is - `char *' (i.e., signed), we declare these variables as unsigned, so= - they can be reliably used as array indices. */ - register unsigned char c, c1; - - /* A random temporary spot in PATTERN. */ - const char *p1; - - /* Points to the end of the buffer, where we should append. */ - register unsigned char *b; - - /* Keeps track of unclosed groups. */ - compile_stack_type compile_stack; - - /* Points to the current (ending) position in the pattern. */ - const char *p =3D pattern; - const char *pend =3D pattern + size; - - /* How to translate the characters in the pattern. */ - RE_TRANSLATE_TYPE translate =3D bufp->translate; - - /* Address of the count-byte of the most recently inserted `exactn' - command. This makes it possible to tell if a new exact-match - character can be added to that command or if the character requires= - a new `exactn' command. */ - unsigned char *pending_exact =3D 0; - - /* Address of start of the most recently finished expression. - This tells, e.g., postfix * where to find the start of its - operand. Reset at the beginning of groups and alternatives. */ - unsigned char *laststart =3D 0; - - /* Address of beginning of regexp, or inside of last group. */ - unsigned char *begalt; - - /* Place in the uncompiled pattern (i.e., the {) to - which to go back if the interval is invalid. */ - const char *beg_interval; - - /* Address of the place where a forward jump should go to the end of - the containing expression. Each alternative of an `or' -- except t= he - last -- ends with a forward jump of this sort. */ - unsigned char *fixup_alt_jump =3D 0; - - /* Counts open-groups as they are encountered. Remembered for the - matching close-group on the compile stack, so the same register - number is put in the stop_memory as the start_memory. */ - regnum_t regnum =3D 0; - -#ifdef DEBUG - DEBUG_PRINT1 ("\nCompiling pattern: "); - if (debug) - { - unsigned debug_count; - - for (debug_count =3D 0; debug_count < size; debug_count++) - putchar (pattern[debug_count]); - putchar ('\n'); - } -#endif /* DEBUG */ - - /* Initialize the compile stack. */ - compile_stack.stack =3D TALLOC (INIT_COMPILE_STACK_SIZE, compile_stack= _elt_t); - if (compile_stack.stack =3D=3D NULL) - return REG_ESPACE; - - compile_stack.size =3D INIT_COMPILE_STACK_SIZE; - compile_stack.avail =3D 0; - - /* Initialize the pattern buffer. */ - bufp->syntax =3D syntax; - bufp->fastmap_accurate =3D 0; - bufp->not_bol =3D bufp->not_eol =3D 0; - - /* Set `used' to zero, so that if we return an error, the pattern - printer (for debugging) will think there's no pattern. We reset it= - at the end. */ - bufp->used =3D 0; - - /* Always count groups, whether or not bufp->no_sub is set. */ - bufp->re_nsub =3D 0; - -#if !defined emacs && !defined SYNTAX_TABLE - /* Initialize the syntax table. */ - init_syntax_once (); -#endif - - if (bufp->allocated =3D=3D 0) - { - if (bufp->buffer) - { /* If zero allocated, but buffer is non-null, try to realloc - enough space. This loses if buffer's address is bogus, but= - that is the user's responsibility. */ - RETALLOC (bufp->buffer, INIT_BUF_SIZE, unsigned char); - } - else - { /* Caller did not allocate a buffer. Do it for them. */ - bufp->buffer =3D TALLOC (INIT_BUF_SIZE, unsigned char); - } - if (!bufp->buffer) FREE_STACK_RETURN (REG_ESPACE); - - bufp->allocated =3D INIT_BUF_SIZE; - } - - begalt =3D b =3D bufp->buffer; - - /* Loop through the uncompiled pattern until we're at the end. */ - while (p !=3D pend) - { - PATFETCH (c); - - switch (c) - { - case '^': - { - if ( /* If at start of pattern, it's an operator. */ - p =3D=3D pattern + 1 - /* If context independent, it's an operator. */ - || syntax & RE_CONTEXT_INDEP_ANCHORS - /* Otherwise, depends on what's come before. */ - || at_begline_loc_p (pattern, p, syntax)) - BUF_PUSH (begline); - else - goto normal_char; - } - break; - - - case '$': - { - if ( /* If at end of pattern, it's an operator. */ - p =3D=3D pend - /* If context independent, it's an operator. */ - || syntax & RE_CONTEXT_INDEP_ANCHORS - /* Otherwise, depends on what's next. */ - || at_endline_loc_p (p, pend, syntax)) - BUF_PUSH (endline); - else - goto normal_char; - } - break; - - - case '+': - case '?': - if ((syntax & RE_BK_PLUS_QM) - || (syntax & RE_LIMITED_OPS)) - goto normal_char; - handle_plus: - case '*': - /* If there is no previous pattern... */ - if (!laststart) - { - if (syntax & RE_CONTEXT_INVALID_OPS) - FREE_STACK_RETURN (REG_BADRPT); - else if (!(syntax & RE_CONTEXT_INDEP_OPS)) - goto normal_char; - } - - { - /* Are we optimizing this jump? */ - boolean keep_string_p =3D false; - - /* 1 means zero (many) matches is allowed. */ - char zero_times_ok =3D 0, many_times_ok =3D 0; - - /* If there is a sequence of repetition chars, collapse it - down to just one (the right one). We can't combine - interval operators with these because of, e.g., `a{2}*', - which should only match an even number of `a's. */ - - for (;;) - { - zero_times_ok |=3D c !=3D '+'; - many_times_ok |=3D c !=3D '?'; - - if (p =3D=3D pend) - break; - - PATFETCH (c); - - if (c =3D=3D '*' - || (!(syntax & RE_BK_PLUS_QM) && (c =3D=3D '+' || c = =3D=3D '?'))) - ; - - else if (syntax & RE_BK_PLUS_QM && c =3D=3D '\\') - { - if (p =3D=3D pend) FREE_STACK_RETURN (REG_EESCAPE); - - PATFETCH (c1); - if (!(c1 =3D=3D '+' || c1 =3D=3D '?')) - { - PATUNFETCH; - PATUNFETCH; - break; - } - - c =3D c1; - } - else - { - PATUNFETCH; - break; - } - - /* If we get here, we found another repeat character. *= / - } - - /* Star, etc. applied to an empty pattern is equivalent - to an empty pattern. */ - if (!laststart) - break; - - /* Now we know whether or not zero matches is allowed - and also whether or not two or more matches is allowed. = */ - if (many_times_ok) - { /* More than one repetition is allowed, so put in at the= - end a backward relative jump from `b' to before the n= ext - jump we're going to put in below (which jumps from - laststart to after this jump). - - But if we are at the `*' in the exact sequence `.*\n'= , - insert an unconditional jump backwards to the ., - instead of the beginning of the loop. This way we on= ly - push a failure point once, instead of every time - through the loop. */ - assert (p - 1 > pattern); - - /* Allocate the space for the jump. */ - GET_BUFFER_SPACE (3); - - /* We know we are not at the first character of the patt= ern, - because laststart was nonzero. And we've already - incremented `p', by the way, to be the character afte= r - the `*'. Do we have to do something analogous here - for null bytes, because of RE_DOT_NOT_NULL? */ - if (TRANSLATE (*(p - 2)) =3D=3D TRANSLATE ('.') - && zero_times_ok - && p < pend && TRANSLATE (*p) =3D=3D TRANSLATE ('\n'= ) - && !(syntax & RE_DOT_NEWLINE)) - { /* We have .*\n. */ - STORE_JUMP (jump, b, laststart); - keep_string_p =3D true; - } - else - /* Anything else. */ - STORE_JUMP (maybe_pop_jump, b, laststart - 3); - - /* We've added more stuff to the buffer. */ - b +=3D 3; - } - - /* On failure, jump from laststart to b + 3, which will be t= he - end of the buffer after this jump is inserted. */ - GET_BUFFER_SPACE (3); - INSERT_JUMP (keep_string_p ? on_failure_keep_string_jump - : on_failure_jump, - laststart, b + 3); - pending_exact =3D 0; - b +=3D 3; - - if (!zero_times_ok) - { - /* At least one repetition is required, so insert a - `dummy_failure_jump' before the initial - `on_failure_jump' instruction of the loop. This - effects a skip over that instruction the first time - we hit that loop. */ - GET_BUFFER_SPACE (3); - INSERT_JUMP (dummy_failure_jump, laststart, laststart + = 6); - b +=3D 3; - } - } - break; - - - case '.': - laststart =3D b; - BUF_PUSH (anychar); - break; - - - case '[': - { - boolean had_char_class =3D false; - - if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); - - /* Ensure that we have enough space to push a charset: the - opcode, the length count, and the bitset; 34 bytes in all= =2E */ - GET_BUFFER_SPACE (34); - - laststart =3D b; - - /* We test `*p =3D=3D '^' twice, instead of using an if - statement, so we only need one BUF_PUSH. */ - BUF_PUSH (*p =3D=3D '^' ? charset_not : charset); - if (*p =3D=3D '^') - p++; - - /* Remember the first position in the bracket expression. *= / - p1 =3D p; - - /* Push the number of bytes in the bitmap. */ - BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH); - - /* Clear the whole map. */ - bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH); - - /* charset_not matches newline according to a syntax bit. *= / - if ((re_opcode_t) b[-2] =3D=3D charset_not - && (syntax & RE_HAT_LISTS_NOT_NEWLINE)) - SET_LIST_BIT ('\n'); - - /* Read in characters and ranges, setting map bits. */ - for (;;) - { - if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); - - PATFETCH (c); - - /* \ might escape characters inside [...] and [^...]. *= / - if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c =3D=3D = '\\') - { - if (p =3D=3D pend) FREE_STACK_RETURN (REG_EESCAPE); - - PATFETCH (c1); - SET_LIST_BIT (c1); - continue; - } - - /* Could be the end of the bracket expression. If it's - not (i.e., when the bracket expression is `[]' so - far), the ']' character bit gets set way below. */ - if (c =3D=3D ']' && p !=3D p1 + 1) - break; - - /* Look ahead to see if it's a range when the last thing= - was a character class. */ - if (had_char_class && c =3D=3D '-' && *p !=3D ']') - FREE_STACK_RETURN (REG_ERANGE); - - /* Look ahead to see if it's a range when the last thing= - was a character: if this is a hyphen not at the - beginning or the end of a list, then it's the range - operator. */ - if (c =3D=3D '-' - && !(p - 2 >=3D pattern && p[-2] =3D=3D '[') - && !(p - 3 >=3D pattern && p[-3] =3D=3D '[' && p[-2]= =3D=3D '^') - && *p !=3D ']') - { - reg_errcode_t ret - =3D compile_range (&p, pend, translate, syntax, b)= ; - if (ret !=3D REG_NOERROR) FREE_STACK_RETURN (ret); - } - - else if (p[0] =3D=3D '-' && p[1] !=3D ']') - { /* This handles ranges made up of characters only. = */ - reg_errcode_t ret; - - /* Move past the `-'. */ - PATFETCH (c1); - - ret =3D compile_range (&p, pend, translate, syntax, = b); - if (ret !=3D REG_NOERROR) FREE_STACK_RETURN (ret); - } - - /* See if we're at the beginning of a possible character= - class. */ - - else if (syntax & RE_CHAR_CLASSES && c =3D=3D '[' && *p = =3D=3D ':') - { /* Leave room for the null. */ - char str[CHAR_CLASS_MAX_LENGTH + 1]; - - PATFETCH (c); - c1 =3D 0; - - /* If pattern is `[[:'. */ - if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK); - - for (;;) - { - PATFETCH (c); - if ((c =3D=3D ':' && *p =3D=3D ']') || p =3D=3D = pend) - break; - if (c1 < CHAR_CLASS_MAX_LENGTH) - str[c1++] =3D c; - else - /* This is in any case an invalid class name. */ - str[0] =3D '\0'; - } - str[c1] =3D '\0'; - - /* If isn't a word bracketed by `[:' and `:]': - undo the ending character, the letters, and leave= - the leading `:' and `[' (but set bits for them). = */ - if (c =3D=3D ':' && *p =3D=3D ']') - { -#if defined _LIBC || WIDE_CHAR_SUPPORT - boolean is_lower =3D STREQ (str, "lower"); - boolean is_upper =3D STREQ (str, "upper"); - wctype_t wt; - int ch; - - wt =3D IS_CHAR_CLASS (str); - if (wt =3D=3D 0) - FREE_STACK_RETURN (REG_ECTYPE); - - /* Throw away the ] at the end of the character - class. */ - PATFETCH (c); - - if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK= ); - - for (ch =3D 0; ch < 1 << BYTEWIDTH; ++ch) - { -# ifdef _LIBC - if (__iswctype (__btowc (ch), wt)) - SET_LIST_BIT (ch); -# else - if (iswctype (btowc (ch), wt)) - SET_LIST_BIT (ch); -# endif - - if (translate && (is_upper || is_lower) - && (ISUPPER (ch) || ISLOWER (ch))) - SET_LIST_BIT (ch); - } - - had_char_class =3D true; -#else - int ch; - boolean is_alnum =3D STREQ (str, "alnum"); - boolean is_alpha =3D STREQ (str, "alpha"); - boolean is_blank =3D STREQ (str, "blank"); - boolean is_cntrl =3D STREQ (str, "cntrl"); - boolean is_digit =3D STREQ (str, "digit"); - boolean is_graph =3D STREQ (str, "graph"); - boolean is_lower =3D STREQ (str, "lower"); - boolean is_print =3D STREQ (str, "print"); - boolean is_punct =3D STREQ (str, "punct"); - boolean is_space =3D STREQ (str, "space"); - boolean is_upper =3D STREQ (str, "upper"); - boolean is_xdigit =3D STREQ (str, "xdigit"); - - if (!IS_CHAR_CLASS (str)) - FREE_STACK_RETURN (REG_ECTYPE); - - /* Throw away the ] at the end of the character - class. */ - PATFETCH (c); - - if (p =3D=3D pend) FREE_STACK_RETURN (REG_EBRACK= ); - - for (ch =3D 0; ch < 1 << BYTEWIDTH; ch++) - { - /* This was split into 3 if's to - avoid an arbitrary limit in some compiler. */ - if ( (is_alnum && ISALNUM (ch)) - || (is_alpha && ISALPHA (ch)) - || (is_blank && ISBLANK (ch)) - || (is_cntrl && ISCNTRL (ch))) - SET_LIST_BIT (ch); - if ( (is_digit && ISDIGIT (ch)) - || (is_graph && ISGRAPH (ch)) - || (is_lower && ISLOWER (ch)) - || (is_print && ISPRINT (ch))) - SET_LIST_BIT (ch); - if ( (is_punct && ISPUNCT (ch)) - || (is_space && ISSPACE (ch)) - || (is_upper && ISUPPER (ch)) - || (is_xdigit && ISXDIGIT (ch))) - SET_LIST_BIT (ch); - if ( translate && (is_upper || is_lower) - && (ISUPPER (ch) || ISLOWER (ch))) - SET_LIST_BIT (ch); - } - had_char_class =3D true; -#endif /* libc || wctype.h */ - } - else - { - c1++; - while (c1--) - PATUNFETCH; - SET_LIST_BIT ('['); - SET_LIST_BIT (':'); - had_char_class =3D false; - } - } - else - { - had_char_class =3D false; - SET_LIST_BIT (c); - } - } - - /* Discard any (non)matching list bytes that are all 0 at th= e - end of the map. Decrease the map-length byte too. */ - while ((int) b[-1] > 0 && b[b[-1] - 1] =3D=3D 0) - b[-1]--; - b +=3D b[-1]; - } - break; - - - case '(': - if (syntax & RE_NO_BK_PARENS) - goto handle_open; - else - goto normal_char; - - - case ')': - if (syntax & RE_NO_BK_PARENS) - goto handle_close; - else - goto normal_char; - - - case '\n': - if (syntax & RE_NEWLINE_ALT) - goto handle_alt; - else - goto normal_char; - - - case '|': - if (syntax & RE_NO_BK_VBAR) - goto handle_alt; - else - goto normal_char; - - - case '{': - if (syntax & RE_INTERVALS && syntax & RE_NO_BK_BRACES) - goto handle_interval; - else - goto normal_char; - - - case '\\': - if (p =3D=3D pend) FREE_STACK_RETURN (REG_EESCAPE); - - /* Do not translate the character after the \, so that we can - distinguish, e.g., \B from \b, even if we normally would - translate, e.g., B to b. */ - PATFETCH_RAW (c); - - switch (c) - { - case '(': - if (syntax & RE_NO_BK_PARENS) - goto normal_backslash; - - handle_open: - bufp->re_nsub++; - regnum++; - - if (COMPILE_STACK_FULL) - { - RETALLOC (compile_stack.stack, compile_stack.size << 1= , - compile_stack_elt_t); - if (compile_stack.stack =3D=3D NULL) return REG_ESPACE= ; - - compile_stack.size <<=3D 1; - } - - /* These are the values to restore when we hit end of this= - group. They are all relative offsets, so that if the - whole pattern moves because of realloc, they will still= - be valid. */ - COMPILE_STACK_TOP.begalt_offset =3D begalt - bufp->buffer;= - COMPILE_STACK_TOP.fixup_alt_jump - =3D fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 := 0; - COMPILE_STACK_TOP.laststart_offset =3D b - bufp->buffer; - COMPILE_STACK_TOP.regnum =3D regnum; - - /* We will eventually replace the 0 with the number of - groups inner to this one. But do not push a - start_memory for groups beyond the last one we can - represent in the compiled pattern. */ - if (regnum <=3D MAX_REGNUM) - { - COMPILE_STACK_TOP.inner_group_offset =3D b - bufp->buf= fer + 2; - BUF_PUSH_3 (start_memory, regnum, 0); - } - - compile_stack.avail++; - - fixup_alt_jump =3D 0; - laststart =3D 0; - begalt =3D b; - /* If we've reached MAX_REGNUM groups, then this open - won't actually generate any code, so we'll have to - clear pending_exact explicitly. */ - pending_exact =3D 0; - break; - - - case ')': - if (syntax & RE_NO_BK_PARENS) goto normal_backslash; - - if (COMPILE_STACK_EMPTY) - { - if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD) - goto normal_backslash; - else - FREE_STACK_RETURN (REG_ERPAREN); - } - - handle_close: - if (fixup_alt_jump) - { /* Push a dummy failure point at the end of the - alternative for a possible future - `pop_failure_jump' to pop. See comments at - `push_dummy_failure' in `re_match_2'. */ - BUF_PUSH (push_dummy_failure); - - /* We allocated space for this jump when we assigned - to `fixup_alt_jump', in the `handle_alt' case below= =2E */ - STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1); - } - - /* See similar code for backslashed left paren above. */ - if (COMPILE_STACK_EMPTY) - { - if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD) - goto normal_char; - else - FREE_STACK_RETURN (REG_ERPAREN); - } - - /* Since we just checked for an empty stack above, this - ``can't happen''. */ - assert (compile_stack.avail !=3D 0); - { - /* We don't just want to restore into `regnum', because - later groups should continue to be numbered higher, - as in `(ab)c(de)' -- the second group is #2. */ - regnum_t this_group_regnum; - - compile_stack.avail--; - begalt =3D bufp->buffer + COMPILE_STACK_TOP.begalt_offse= t; - fixup_alt_jump - =3D COMPILE_STACK_TOP.fixup_alt_jump - ? bufp->buffer + COMPILE_STACK_TOP.fixup_alt_jump - = 1 - : 0; - laststart =3D bufp->buffer + COMPILE_STACK_TOP.laststart= _offset; - this_group_regnum =3D COMPILE_STACK_TOP.regnum; - /* If we've reached MAX_REGNUM groups, then this open - won't actually generate any code, so we'll have to - clear pending_exact explicitly. */ - pending_exact =3D 0; - - /* We're at the end of the group, so now we know how man= y - groups were inside this one. */ - if (this_group_regnum <=3D MAX_REGNUM) - { - unsigned char *inner_group_loc - =3D bufp->buffer + COMPILE_STACK_TOP.inner_group_o= ffset; - - *inner_group_loc =3D regnum - this_group_regnum; - BUF_PUSH_3 (stop_memory, this_group_regnum, - regnum - this_group_regnum); - } - } - break; - - - case '|': /* `\|'. */ - if (syntax & RE_LIMITED_OPS || syntax & RE_NO_BK_VBAR) - goto normal_backslash; - handle_alt: - if (syntax & RE_LIMITED_OPS) - goto normal_char; - - /* Insert before the previous alternative a jump which - jumps to this alternative if the former fails. */ - GET_BUFFER_SPACE (3); - INSERT_JUMP (on_failure_jump, begalt, b + 6); - pending_exact =3D 0; - b +=3D 3; - - /* The alternative before this one has a jump after it - which gets executed if it gets matched. Adjust that - jump so it will jump to this alternative's analogous - jump (put in below, which in turn will jump to the next= - (if any) alternative's such jump, etc.). The last such= - jump jumps to the correct final destination. A picture= : - _____ _____ - | | | | - | v | v - a | b | c - - If we are at `b', then fixup_alt_jump right now points = to a - three-byte space after `a'. We'll put in the jump, set= - fixup_alt_jump to right after `b', and leave behind thr= ee - bytes which we'll fill in when we get to after `c'. */= - - if (fixup_alt_jump) - STORE_JUMP (jump_past_alt, fixup_alt_jump, b); - - /* Mark and leave space for a jump after this alternative,= - to be filled in later either by next alternative or - when know we're at the end of a series of alternatives.= */ - fixup_alt_jump =3D b; - GET_BUFFER_SPACE (3); - b +=3D 3; - - laststart =3D 0; - begalt =3D b; - break; - - - case '{': - /* If \{ is a literal. */ - if (!(syntax & RE_INTERVALS) - /* If we're at `\{' and it's not the open-interval - operator. */ - || ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRAC= ES)) - || (p - 2 =3D=3D pattern && p =3D=3D pend)) - goto normal_backslash; - - handle_interval: - { - /* If got here, then the syntax allows intervals. */ - - /* At least (most) this many matches must be made. */ - int lower_bound =3D -1, upper_bound =3D -1; - - beg_interval =3D p - 1; - - if (p =3D=3D pend) - { - if (syntax & RE_NO_BK_BRACES) - goto unfetch_interval; - else - FREE_STACK_RETURN (REG_EBRACE); - } - - GET_UNSIGNED_NUMBER (lower_bound); - - if (c =3D=3D ',') - { - GET_UNSIGNED_NUMBER (upper_bound); - if (upper_bound < 0) upper_bound =3D RE_DUP_MAX; - } - else - /* Interval such as `{1}' =3D> match exactly once. */ - upper_bound =3D lower_bound; - - if (lower_bound < 0 || upper_bound > RE_DUP_MAX - || lower_bound > upper_bound) - { - if (syntax & RE_NO_BK_BRACES) - goto unfetch_interval; - else - FREE_STACK_RETURN (REG_BADBR); - } - - if (!(syntax & RE_NO_BK_BRACES)) - { - if (c !=3D '\\') FREE_STACK_RETURN (REG_EBRACE); - - PATFETCH (c); - } - - if (c !=3D '}') - { - if (syntax & RE_NO_BK_BRACES) - goto unfetch_interval; - else - FREE_STACK_RETURN (REG_BADBR); - } - - /* We just parsed a valid interval. */ - - /* If it's invalid to have no preceding re. */ - if (!laststart) - { - if (syntax & RE_CONTEXT_INVALID_OPS) - FREE_STACK_RETURN (REG_BADRPT); - else if (syntax & RE_CONTEXT_INDEP_OPS) - laststart =3D b; - else - goto unfetch_interval; - } - - /* If the upper bound is zero, don't want to succeed at - all; jump from `laststart' to `b + 3', which will be - the end of the buffer after we insert the jump. */ - if (upper_bound =3D=3D 0) - { - GET_BUFFER_SPACE (3); - INSERT_JUMP (jump, laststart, b + 3); - b +=3D 3; - } - - /* Otherwise, we have a nontrivial interval. When - we're all done, the pattern will look like: - set_number_at - set_number_at - succeed_n - - jump_n - (The upper bound and `jump_n' are omitted if - `upper_bound' is 1, though.) */ - else - { /* If the upper bound is > 1, we need to insert - more at the end of the loop. */ - unsigned nbytes =3D 10 + (upper_bound > 1) * 10; - - GET_BUFFER_SPACE (nbytes); - - /* Initialize lower bound of the `succeed_n', even - though it will be set during matching by its - attendant `set_number_at' (inserted next), - because `re_compile_fastmap' needs to know. - Jump to the `jump_n' we might insert below. */ - INSERT_JUMP2 (succeed_n, laststart, - b + 5 + (upper_bound > 1) * 5, - lower_bound); - b +=3D 5; - - /* Code to initialize the lower bound. Insert - before the `succeed_n'. The `5' is the last two= - bytes of this `set_number_at', plus 3 bytes of - the following `succeed_n'. */ - insert_op2 (set_number_at, laststart, 5, lower_boun= d, b); - b +=3D 5; - - if (upper_bound > 1) - { /* More than one repetition is allowed, so - append a backward jump to the `succeed_n' - that starts this interval. - - When we've reached this during matching, - we'll have matched the interval once, so - jump back only `upper_bound - 1' times. */ - STORE_JUMP2 (jump_n, b, laststart + 5, - upper_bound - 1); - b +=3D 5; - - /* The location we want to set is the second - parameter of the `jump_n'; that is `b-2' as - an absolute address. `laststart' will be - the `set_number_at' we're about to insert; - `laststart+3' the number to set, the source - for the relative address. But we are - inserting into the middle of the pattern -- - so everything is getting moved up by 5. - Conclusion: (b - 2) - (laststart + 3) + 5, - i.e., b - laststart. - - We insert this at the beginning of the loop - so that if we fail during matching, we'll - reinitialize the bounds. */ - insert_op2 (set_number_at, laststart, b - lasts= tart, - upper_bound - 1, b); - b +=3D 5; - } - } - pending_exact =3D 0; - beg_interval =3D NULL; - } - break; - - unfetch_interval: - /* If an invalid interval, match the characters as literal= s. */ - assert (beg_interval); - p =3D beg_interval; - beg_interval =3D NULL; - - /* normal_char and normal_backslash need `c'. */ - PATFETCH (c); - - if (!(syntax & RE_NO_BK_BRACES)) - { - if (p > pattern && p[-1] =3D=3D '\\') - goto normal_backslash; - } - goto normal_char; - -#ifdef emacs - /* There is no way to specify the before_dot and after_dot - operators. rms says this is ok. --karl */ - case '=3D': - BUF_PUSH (at_dot); - break; - - case 's': - laststart =3D b; - PATFETCH (c); - BUF_PUSH_2 (syntaxspec, syntax_spec_code[c]); - break; - - case 'S': - laststart =3D b; - PATFETCH (c); - BUF_PUSH_2 (notsyntaxspec, syntax_spec_code[c]); - break; -#endif /* emacs */ - - - case 'w': - if (syntax & RE_NO_GNU_OPS) - goto normal_char; - laststart =3D b; - BUF_PUSH (wordchar); - break; - - - case 'W': - if (syntax & RE_NO_GNU_OPS) - goto normal_char; - laststart =3D b; - BUF_PUSH (notwordchar); - break; - - - case '<': - if (syntax & RE_NO_GNU_OPS) - goto normal_char; - BUF_PUSH (wordbeg); - break; - - case '>': - if (syntax & RE_NO_GNU_OPS) - goto normal_char; - BUF_PUSH (wordend); - break; - - case 'b': - if (syntax & RE_NO_GNU_OPS) - goto normal_char; - BUF_PUSH (wordbound); - break; - - case 'B': - if (syntax & RE_NO_GNU_OPS) - goto normal_char; - BUF_PUSH (notwordbound); - break; - - case '`': - if (syntax & RE_NO_GNU_OPS) - goto normal_char; - BUF_PUSH (begbuf); - break; - - case '\'': - if (syntax & RE_NO_GNU_OPS) - goto normal_char; - BUF_PUSH (endbuf); - break; - - case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - if (syntax & RE_NO_BK_REFS) - goto normal_char; - - c1 =3D c - '0'; - - if (c1 > regnum) - FREE_STACK_RETURN (REG_ESUBREG); - - /* Can't back reference to a subexpression if inside of it= =2E */ - if (group_in_compile_stack (compile_stack, (regnum_t) c1))= - goto normal_char; - - laststart =3D b; - BUF_PUSH_2 (duplicate, c1); - break; - - - case '+': - case '?': - if (syntax & RE_BK_PLUS_QM) - goto handle_plus; - else - goto normal_backslash; - - default: - normal_backslash: - /* You might think it would be useful for \ to mean - not to translate; but if we don't translate it - it will never match anything. */ - c =3D TRANSLATE (c); - goto normal_char; - } - break; - - - default: - /* Expects the character in `c'. */ - normal_char: - /* If no exactn currently being built. */ - if (!pending_exact - - /* If last exactn not at current position. */ - || pending_exact + *pending_exact + 1 !=3D b - - /* We have only one byte following the exactn for the coun= t. */ - || *pending_exact =3D=3D (1 << BYTEWIDTH) - 1 - - /* If followed by a repetition operator. */ - || *p =3D=3D '*' || *p =3D=3D '^' - || ((syntax & RE_BK_PLUS_QM) - ? *p =3D=3D '\\' && (p[1] =3D=3D '+' || p[1] =3D=3D '?') - : (*p =3D=3D '+' || *p =3D=3D '?')) - || ((syntax & RE_INTERVALS) - && ((syntax & RE_NO_BK_BRACES) - ? *p =3D=3D '{' - : (p[0] =3D=3D '\\' && p[1] =3D=3D '{')))) - { - /* Start building a new exactn. */ - - laststart =3D b; - - BUF_PUSH_2 (exactn, 0); - pending_exact =3D b - 1; - } - - BUF_PUSH (c); - (*pending_exact)++; - break; - } /* switch (c) */ - } /* while p !=3D pend */ - - - /* Through the pattern now. */ - - if (fixup_alt_jump) - STORE_JUMP (jump_past_alt, fixup_alt_jump, b); - - if (!COMPILE_STACK_EMPTY) - FREE_STACK_RETURN (REG_EPAREN); - - /* If we don't want backtracking, force success - the first time we reach the end of the compiled pattern. */ - if (syntax & RE_NO_POSIX_BACKTRACKING) - BUF_PUSH (succeed); - - free (compile_stack.stack); - - /* We have succeeded; set the length of the buffer. */ - bufp->used =3D b - bufp->buffer; - -#ifdef DEBUG - if (debug) - { - DEBUG_PRINT1 ("\nCompiled pattern: \n"); - print_compiled_pattern (bufp); - } -#endif /* DEBUG */ - -#ifndef MATCH_MAY_ALLOCATE - /* Initialize the failure stack to the largest possible stack. This - isn't necessary unless we're trying to avoid calling alloca in - the search and match routines. */ - { - int num_regs =3D bufp->re_nsub + 1; - - /* Since DOUBLE_FAIL_STACK refuses to double only if the current siz= e - is strictly greater than re_max_failures, the largest possible st= ack - is 2 * re_max_failures failure points. */ - if (fail_stack.size < (2 * re_max_failures * MAX_FAILURE_ITEMS)) - { - fail_stack.size =3D (2 * re_max_failures * MAX_FAILURE_ITEMS); - -# ifdef emacs - if (! fail_stack.stack) - fail_stack.stack - =3D (fail_stack_elt_t *) xmalloc (fail_stack.size - * sizeof (fail_stack_elt_t)); - else - fail_stack.stack - =3D (fail_stack_elt_t *) xrealloc (fail_stack.stack, - (fail_stack.size - * sizeof (fail_stack_elt_t))); -# else /* not emacs */ - if (! fail_stack.stack) - fail_stack.stack - =3D (fail_stack_elt_t *) malloc (fail_stack.size - * sizeof (fail_stack_elt_t)); - else - fail_stack.stack - =3D (fail_stack_elt_t *) realloc (fail_stack.stack, - (fail_stack.size - * sizeof (fail_stack_elt_t))); -# endif /* not emacs */ - } - - regex_grow_registers (num_regs); - } -#endif /* not MATCH_MAY_ALLOCATE */ - - return REG_NOERROR; -} /* regex_compile */ -=0C -/* Subroutines for `regex_compile'. */ - -/* Store OP at LOC followed by two-byte integer parameter ARG. */ - -static void -store_op1 (op, loc, arg) - re_opcode_t op; - unsigned char *loc; - int arg; -{ - *loc =3D (unsigned char) op; - STORE_NUMBER (loc + 1, arg); -} - - -/* Like `store_op1', but for two two-byte parameters ARG1 and ARG2. */ - -static void -store_op2 (op, loc, arg1, arg2) - re_opcode_t op; - unsigned char *loc; - int arg1, arg2; -{ - *loc =3D (unsigned char) op; - STORE_NUMBER (loc + 1, arg1); - STORE_NUMBER (loc + 3, arg2); -} - - -/* Copy the bytes from LOC to END to open up three bytes of space at LOC= - for OP followed by two-byte integer parameter ARG. */ - -static void -insert_op1 (op, loc, arg, end) - re_opcode_t op; - unsigned char *loc; - int arg; - unsigned char *end; -{ - register unsigned char *pfrom =3D end; - register unsigned char *pto =3D end + 3; - - while (pfrom !=3D loc) - *--pto =3D *--pfrom; - - store_op1 (op, loc, arg); -} - - -/* Like `insert_op1', but for two two-byte parameters ARG1 and ARG2. */= - -static void -insert_op2 (op, loc, arg1, arg2, end) - re_opcode_t op; - unsigned char *loc; - int arg1, arg2; - unsigned char *end; -{ - register unsigned char *pfrom =3D end; - register unsigned char *pto =3D end + 5; - - while (pfrom !=3D loc) - *--pto =3D *--pfrom; - - store_op2 (op, loc, arg1, arg2); -} - - -/* P points to just after a ^ in PATTERN. Return true if that ^ comes - after an alternative or a begin-subexpression. We assume there is at= - least one character before the ^. */ - -static boolean -at_begline_loc_p (pattern, p, syntax) - const char *pattern, *p; - reg_syntax_t syntax; -{ - const char *prev =3D p - 2; - boolean prev_prev_backslash =3D prev > pattern && prev[-1] =3D=3D '\\'= ; - - return - /* After a subexpression? */ - (*prev =3D=3D '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backs= lash)) - /* After an alternative? */ - || (*prev =3D=3D '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backsla= sh)); -} - - -/* The dual of at_begline_loc_p. This one is for $. We assume there is= - at least one character after the $, i.e., `P < PEND'. */ - -static boolean -at_endline_loc_p (p, pend, syntax) - const char *p, *pend; - reg_syntax_t syntax; -{ - const char *next =3D p; - boolean next_backslash =3D *next =3D=3D '\\'; - const char *next_next =3D p + 1 < pend ? p + 1 : 0; - - return - /* Before a subexpression? */ - (syntax & RE_NO_BK_PARENS ? *next =3D=3D ')' - : next_backslash && next_next && *next_next =3D=3D ')') - /* Before an alternative? */ - || (syntax & RE_NO_BK_VBAR ? *next =3D=3D '|' - : next_backslash && next_next && *next_next =3D=3D '|'); -} - - -/* Returns true if REGNUM is in one of COMPILE_STACK's elements and - false if it's not. */ - -static boolean -group_in_compile_stack (compile_stack, regnum) - compile_stack_type compile_stack; - regnum_t regnum; -{ - int this_element; - - for (this_element =3D compile_stack.avail - 1; - this_element >=3D 0; - this_element--) - if (compile_stack.stack[this_element].regnum =3D=3D regnum) - return true; - - return false; -} - - -/* Read the ending character of a range (in a bracket expression) from t= he - uncompiled pattern *P_PTR (which ends at PEND). We assume the - starting character is in `P[-2]'. (`P[-1]' is the character `-'.) - Then we set the translation of all bits between the starting and - ending characters (inclusive) in the compiled pattern B. - - Return an error code. - - We use these short variable names so we can use the same macros as - `regex_compile' itself. */ - -static reg_errcode_t -compile_range (p_ptr, pend, translate, syntax, b) - const char **p_ptr, *pend; - RE_TRANSLATE_TYPE translate; - reg_syntax_t syntax; - unsigned char *b; -{ - unsigned this_char; - - const char *p =3D *p_ptr; - unsigned int range_start, range_end; - - if (p =3D=3D pend) - return REG_ERANGE; - - /* Even though the pattern is a signed `char *', we need to fetch - with unsigned char *'s; if the high bit of the pattern character - is set, the range endpoints will be negative if we fetch using a - signed char *. - - We also want to fetch the endpoints without translating them; the - appropriate translation is done in the bit-setting loop below. */ - /* The SVR4 compiler on the 3B2 had trouble with unsigned const char *= =2E */ - range_start =3D ((const unsigned char *) p)[-2]; - range_end =3D ((const unsigned char *) p)[0]; - - /* Have to increment the pointer into the pattern string, so the - caller isn't still at the ending character. */ - (*p_ptr)++; - - /* If the start is after the end, the range is empty. */ - if (range_start > range_end) - return syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR; - - /* Here we see why `this_char' has to be larger than an `unsigned - char' -- the range is inclusive, so if `range_end' =3D=3D 0xff - (assuming 8-bit characters), we would otherwise go into an infinite= - loop, since all characters <=3D 0xff. */ - for (this_char =3D range_start; this_char <=3D range_end; this_char++)= - { - SET_LIST_BIT (TRANSLATE (this_char)); - } - - return REG_NOERROR; -} -=0C -/* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in= - BUFP. A fastmap records which of the (1 << BYTEWIDTH) possible - characters can start a string that matches the pattern. This fastmap= - is used by re_search to skip quickly over impossible starting points.= - - The caller must supply the address of a (1 << BYTEWIDTH)-byte data - area as BUFP->fastmap. - - We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in= - the pattern buffer. - - Returns 0 if we succeed, -2 if an internal error. */ - -int -re_compile_fastmap (bufp) - struct re_pattern_buffer *bufp; -{ - int j, k; -#ifdef MATCH_MAY_ALLOCATE - fail_stack_type fail_stack; -#endif -#ifndef REGEX_MALLOC - char *destination; -#endif - - register char *fastmap =3D bufp->fastmap; - unsigned char *pattern =3D bufp->buffer; - unsigned char *p =3D pattern; - register unsigned char *pend =3D pattern + bufp->used; - -#ifdef REL_ALLOC - /* This holds the pointer to the failure stack, when - it is allocated relocatably. */ - fail_stack_elt_t *failure_stack_ptr; -#endif - - /* Assume that each path through the pattern can be null until - proven otherwise. We set this false at the bottom of switch - statement, to which we get only if a particular path doesn't - match the empty string. */ - boolean path_can_be_null =3D true; - - /* We aren't doing a `succeed_n' to begin with. */ - boolean succeed_n_p =3D false; - - assert (fastmap !=3D NULL && p !=3D NULL); - - INIT_FAIL_STACK (); - bzero (fastmap, 1 << BYTEWIDTH); /* Assume nothing's valid. */ - bufp->fastmap_accurate =3D 1; /* It will be when we're done. */ - bufp->can_be_null =3D 0; - - while (1) - { - if (p =3D=3D pend || *p =3D=3D succeed) - { - /* We have reached the (effective) end of pattern. */ - if (!FAIL_STACK_EMPTY ()) - { - bufp->can_be_null |=3D path_can_be_null; - - /* Reset for next path. */ - path_can_be_null =3D true; - - p =3D fail_stack.stack[--fail_stack.avail].pointer; - - continue; - } - else - break; - } - - /* We should never be about to go beyond the end of the pattern. = */ - assert (p < pend); - - switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++)) - { - - /* I guess the idea here is to simply not bother with a fastmap - if a backreference is used, since it's too hard to figure out= - the fastmap for the corresponding group. Setting - `can_be_null' stops `re_search_2' from using the fastmap, so - that is all we do. */ - case duplicate: - bufp->can_be_null =3D 1; - goto done; - - - /* Following are the cases which match a character. These end - with `break'. */ - - case exactn: - fastmap[p[1]] =3D 1; - break; - - - case charset: - for (j =3D *p++ * BYTEWIDTH - 1; j >=3D 0; j--) - if (p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))) - fastmap[j] =3D 1; - break; - - - case charset_not: - /* Chars beyond end of map must be allowed. */ - for (j =3D *p * BYTEWIDTH; j < (1 << BYTEWIDTH); j++) - fastmap[j] =3D 1; - - for (j =3D *p++ * BYTEWIDTH - 1; j >=3D 0; j--) - if (!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH)))) - fastmap[j] =3D 1; - break; - - - case wordchar: - for (j =3D 0; j < (1 << BYTEWIDTH); j++) - if (SYNTAX (j) =3D=3D Sword) - fastmap[j] =3D 1; - break; - - - case notwordchar: - for (j =3D 0; j < (1 << BYTEWIDTH); j++) - if (SYNTAX (j) !=3D Sword) - fastmap[j] =3D 1; - break; - - - case anychar: - { - int fastmap_newline =3D fastmap['\n']; - - /* `.' matches anything ... */ - for (j =3D 0; j < (1 << BYTEWIDTH); j++) - fastmap[j] =3D 1; - - /* ... except perhaps newline. */ - if (!(bufp->syntax & RE_DOT_NEWLINE)) - fastmap['\n'] =3D fastmap_newline; - - /* Return if we have already set `can_be_null'; if we have, - then the fastmap is irrelevant. Something's wrong here. */ - else if (bufp->can_be_null) - goto done; - - /* Otherwise, have to check alternative paths. */ - break; - } - -#ifdef emacs - case syntaxspec: - k =3D *p++; - for (j =3D 0; j < (1 << BYTEWIDTH); j++) - if (SYNTAX (j) =3D=3D (enum syntaxcode) k) - fastmap[j] =3D 1; - break; - - - case notsyntaxspec: - k =3D *p++; - for (j =3D 0; j < (1 << BYTEWIDTH); j++) - if (SYNTAX (j) !=3D (enum syntaxcode) k) - fastmap[j] =3D 1; - break; - - - /* All cases after this match the empty string. These end with - `continue'. */ - - - case before_dot: - case at_dot: - case after_dot: - continue; -#endif /* emacs */ - - - case no_op: - case begline: - case endline: - case begbuf: - case endbuf: - case wordbound: - case notwordbound: - case wordbeg: - case wordend: - case push_dummy_failure: - continue; - - - case jump_n: - case pop_failure_jump: - case maybe_pop_jump: - case jump: - case jump_past_alt: - case dummy_failure_jump: - EXTRACT_NUMBER_AND_INCR (j, p); - p +=3D j; - if (j > 0) - continue; - - /* Jump backward implies we just went through the body of a - loop and matched nothing. Opcode jumped to should be - `on_failure_jump' or `succeed_n'. Just treat it like an - ordinary jump. For a * loop, it has pushed its failure - point already; if so, discard that as redundant. */ - if ((re_opcode_t) *p !=3D on_failure_jump - && (re_opcode_t) *p !=3D succeed_n) - continue; - - p++; - EXTRACT_NUMBER_AND_INCR (j, p); - p +=3D j; - - /* If what's on the stack is where we are now, pop it. */ - if (!FAIL_STACK_EMPTY () - && fail_stack.stack[fail_stack.avail - 1].pointer =3D=3D p) - fail_stack.avail--; - - continue; - - - case on_failure_jump: - case on_failure_keep_string_jump: - handle_on_failure_jump: - EXTRACT_NUMBER_AND_INCR (j, p); - - /* For some patterns, e.g., `(a?)?', `p+j' here points to the - end of the pattern. We don't want to push such a point, - since when we restore it above, entering the switch will - increment `p' past the end of the pattern. We don't need - to push such a point since we obviously won't find any more= - fastmap entries beyond `pend'. Such a pattern can match - the null string, though. */ - if (p + j < pend) - { - if (!PUSH_PATTERN_OP (p + j, fail_stack)) - { - RESET_FAIL_STACK (); - return -2; - } - } - else - bufp->can_be_null =3D 1; - - if (succeed_n_p) - { - EXTRACT_NUMBER_AND_INCR (k, p); /* Skip the n. */ - succeed_n_p =3D false; - } - - continue; - - - case succeed_n: - /* Get to the number of times to succeed. */ - p +=3D 2; - - /* Increment p past the n for when k !=3D 0. */ - EXTRACT_NUMBER_AND_INCR (k, p); - if (k =3D=3D 0) - { - p -=3D 4; - succeed_n_p =3D true; /* Spaghetti code alert. */ - goto handle_on_failure_jump; - } - continue; - - - case set_number_at: - p +=3D 4; - continue; - - - case start_memory: - case stop_memory: - p +=3D 2; - continue; - - - default: - abort (); /* We have listed all the cases. */ - } /* switch *p++ */ - - /* Getting here means we have found the possible starting - characters for one path of the pattern -- and that the empty - string does not match. We need not follow this path further. - Instead, look at the next alternative (remembered on the - stack), or quit if no more. The test at the top of the loop - does these things. */ - path_can_be_null =3D false; - p =3D pend; - } /* while p */ - - /* Set `can_be_null' for the last path (also the first path, if the - pattern is empty). */ - bufp->can_be_null |=3D path_can_be_null; - - done: - RESET_FAIL_STACK (); - return 0; -} /* re_compile_fastmap */ -#ifdef _LIBC -weak_alias (__re_compile_fastmap, re_compile_fastmap) -#endif -=0C -/* Set REGS to hold NUM_REGS registers, storing them in STARTS and - ENDS. Subsequent matches using PATTERN_BUFFER and REGS will use - this memory for recording register information. STARTS and ENDS - must be allocated using the malloc library routine, and must each - be at least NUM_REGS * sizeof (regoff_t) bytes long. - - If NUM_REGS =3D=3D 0, then subsequent matches should allocate their o= wn - register data. - - Unless this function is called, the first search or match using - PATTERN_BUFFER will allocate its own register data, without - freeing the old data. */ - -void -re_set_registers (bufp, regs, num_regs, starts, ends) - struct re_pattern_buffer *bufp; - struct re_registers *regs; - unsigned num_regs; - regoff_t *starts, *ends; -{ - if (num_regs) - { - bufp->regs_allocated =3D REGS_REALLOCATE; - regs->num_regs =3D num_regs; - regs->start =3D starts; - regs->end =3D ends; - } - else - { - bufp->regs_allocated =3D REGS_UNALLOCATED; - regs->num_regs =3D 0; - regs->start =3D regs->end =3D (regoff_t *) 0; - } -} -#ifdef _LIBC -weak_alias (__re_set_registers, re_set_registers) -#endif -=0C -/* Searching routines. */ - -/* Like re_search_2, below, but only one string is specified, and - doesn't let you say where to stop matching. */ - -int -re_search (bufp, string, size, startpos, range, regs) - struct re_pattern_buffer *bufp; - const char *string; - int size, startpos, range; - struct re_registers *regs; -{ - return re_search_2 (bufp, NULL, 0, string, size, startpos, range, - regs, size); -} -#ifdef _LIBC -weak_alias (__re_search, re_search) -#endif - - -/* Using the compiled pattern in BUFP->buffer, first tries to match the - virtual concatenation of STRING1 and STRING2, starting first at index= - STARTPOS, then at STARTPOS + 1, and so on. - - STRING1 and STRING2 have length SIZE1 and SIZE2, respectively. - - RANGE is how far to scan while trying to match. RANGE =3D 0 means tr= y - only at STARTPOS; in general, the last start tried is STARTPOS + - RANGE. - - In REGS, return the indices of the virtual concatenation of STRING1 - and STRING2 that matched the entire BUFP->buffer and its contained - subexpressions. - - Do not consider matching one past the index STOP in the virtual - concatenation of STRING1 and STRING2. - - We return either the position in the strings at which the match was - found, -1 if no match, or -2 if error (such as failure - stack overflow). */ - -int -re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs= , stop) - struct re_pattern_buffer *bufp; - const char *string1, *string2; - int size1, size2; - int startpos; - int range; - struct re_registers *regs; - int stop; -{ - int val; - register char *fastmap =3D bufp->fastmap; - register RE_TRANSLATE_TYPE translate =3D bufp->translate; - int total_size =3D size1 + size2; - int endpos =3D startpos + range; - - /* Check for out-of-range STARTPOS. */ - if (startpos < 0 || startpos > total_size) - return -1; - - /* Fix up RANGE if it might eventually take us outside - the virtual concatenation of STRING1 and STRING2. - Make sure we won't move STARTPOS below 0 or above TOTAL_SIZE. */ - if (endpos < 0) - range =3D 0 - startpos; - else if (endpos > total_size) - range =3D total_size - startpos; - - /* If the search isn't to be a backwards one, don't waste time in a - search for a pattern that must be anchored. */ - if (bufp->used > 0 && range > 0 - && ((re_opcode_t) bufp->buffer[0] =3D=3D begbuf - /* `begline' is like `begbuf' if it cannot match at newlines. */ - || ((re_opcode_t) bufp->buffer[0] =3D=3D begline - && !bufp->newline_anchor))) - { - if (startpos > 0) - return -1; - else - range =3D 1; - } - -#ifdef emacs - /* In a forward search for something that starts with \=3D. - don't keep searching past point. */ - if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] =3D=3D at_dot && r= ange > 0) - { - range =3D PT - startpos; - if (range <=3D 0) - return -1; - } -#endif /* emacs */ - - /* Update the fastmap now if not correct already. */ - if (fastmap && !bufp->fastmap_accurate) - if (re_compile_fastmap (bufp) =3D=3D -2) - return -2; - - /* Loop through the string, looking for a place to start matching. */= - for (;;) - { - /* If a fastmap is supplied, skip quickly over characters that - cannot be the start of a match. If the pattern can match the - null string, however, we don't need to skip characters; we want= - the first null string. */ - if (fastmap && startpos < total_size && !bufp->can_be_null) - { - if (range > 0) /* Searching forwards. */ - { - register const char *d; - register int lim =3D 0; - int irange =3D range; - - if (startpos < size1 && startpos + range >=3D size1) - lim =3D range - (size1 - startpos); - - d =3D (startpos >=3D size1 ? string2 - size1 : string1) + startpo= s; - - /* Written out as an if-else to avoid testing `translate' - inside the loop. */ - if (translate) - while (range > lim - && !fastmap[(unsigned char) - translate[(unsigned char) *d++]]) - range--; - else - while (range > lim && !fastmap[(unsigned char) *d++]) - range--; - - startpos +=3D irange - range; - } - else /* Searching backwards. */ - { - register char c =3D (size1 =3D=3D 0 || startpos >=3D size1 - ? string2[startpos - size1] - : string1[startpos]); - - if (!fastmap[(unsigned char) TRANSLATE (c)]) - goto advance; - } - } - - /* If can't match the null string, and that's all we have left, fa= il. */ - if (range >=3D 0 && startpos =3D=3D total_size && fastmap - && !bufp->can_be_null) - return -1; - - val =3D re_match_2_internal (bufp, string1, size1, string2, size2,= - startpos, regs, stop); -#ifndef REGEX_MALLOC -# ifdef C_ALLOCA - alloca (0); -# endif -#endif - - if (val >=3D 0) - return startpos; - - if (val =3D=3D -2) - return -2; - - advance: - if (!range) - break; - else if (range > 0) - { - range--; - startpos++; - } - else - { - range++; - startpos--; - } - } - return -1; -} /* re_search_2 */ -#ifdef _LIBC -weak_alias (__re_search_2, re_search_2) -#endif -=0C -/* This converts PTR, a pointer into one of the search strings `string1'= - and `string2' into an offset from the beginning of that string. */ -#define POINTER_TO_OFFSET(ptr) \ - (FIRST_STRING_P (ptr) \ - ? ((regoff_t) ((ptr) - string1)) \ - : ((regoff_t) ((ptr) - string2 + size1))) - -/* Macros for dealing with the split strings in re_match_2. */ - -#define MATCHING_IN_FIRST_STRING (dend =3D=3D end_match_1) - -/* Call before fetching a character with *d. This switches over to - string2 if necessary. */ -#define PREFETCH() \ - while (d =3D=3D dend) \ - { \ - /* End of string2 =3D> fail. */ \ - if (dend =3D=3D end_match_2) \ - goto fail; \ - /* End of string1 =3D> advance to string2. */ \ - d =3D string2; \ - dend =3D end_match_2; \ - } - - -/* Test if at very beginning or at very end of the virtual concatenation= - of `string1' and `string2'. If only one string, it's `string2'. */ -#define AT_STRINGS_BEG(d) ((d) =3D=3D (size1 ? string1 : string2) || !si= ze2) -#define AT_STRINGS_END(d) ((d) =3D=3D end2) - - -/* Test if D points to a character which is word-constituent. We have - two special cases to check for: if past the end of string1, look at - the first character in string2; and if before the beginning of - string2, look at the last character in string1. */ -#define WORDCHAR_P(d) \ - (SYNTAX ((d) =3D=3D end1 ? *string2 \ - : (d) =3D=3D string2 - 1 ? *(end1 - 1) : *(d)) \ - =3D=3D Sword) - -/* Disabled due to a compiler bug -- see comment at case wordbound */ -#if 0 -/* Test if the character before D and the one at D differ with respect - to being word-constituent. */ -#define AT_WORD_BOUNDARY(d) \ - (AT_STRINGS_BEG (d) || AT_STRINGS_END (d) \ - || WORDCHAR_P (d - 1) !=3D WORDCHAR_P (d)) -#endif - -/* Free everything we malloc. */ -#ifdef MATCH_MAY_ALLOCATE -# define FREE_VAR(var) if (var) REGEX_FREE (var); var =3D NULL -# define FREE_VARIABLES() \ - do { \ - REGEX_FREE_STACK (fail_stack.stack); \ - FREE_VAR (regstart); \ - FREE_VAR (regend); \ - FREE_VAR (old_regstart); \ - FREE_VAR (old_regend); \ - FREE_VAR (best_regstart); \ - FREE_VAR (best_regend); \ - FREE_VAR (reg_info); \ - FREE_VAR (reg_dummy); \ - FREE_VAR (reg_info_dummy); \ - } while (0) -#else -# define FREE_VARIABLES() ((void)0) /* Do nothing! But inhibit gcc warn= ing. */ -#endif /* not MATCH_MAY_ALLOCATE */ - -/* These values must meet several constraints. They must not be valid - register values; since we have a limit of 255 registers (because - we use only one byte in the pattern for the register number), we can - use numbers larger than 255. They must differ by 1, because of - NUM_FAILURE_ITEMS above. And the value for the lowest register must - be larger than the value for the highest register, so we do not try - to actually save any registers when none are active. */ -#define NO_HIGHEST_ACTIVE_REG (1 << BYTEWIDTH) -#define NO_LOWEST_ACTIVE_REG (NO_HIGHEST_ACTIVE_REG + 1) -=0C -/* Matching routines. */ - -#ifndef emacs /* Emacs never uses this. */ -/* re_match is like re_match_2 except it takes only a single string. */= - -int -re_match (bufp, string, size, pos, regs) - struct re_pattern_buffer *bufp; - const char *string; - int size, pos; - struct re_registers *regs; -{ - int result =3D re_match_2_internal (bufp, NULL, 0, string, size, - pos, regs, size); -# ifndef REGEX_MALLOC -# ifdef C_ALLOCA - alloca (0); -# endif -# endif - return result; -} -# ifdef _LIBC -weak_alias (__re_match, re_match) -# endif -#endif /* not emacs */ - -static boolean group_match_null_string_p _RE_ARGS ((unsigned char **p, - unsigned char *end, - register_info_type *reg_info)); -static boolean alt_match_null_string_p _RE_ARGS ((unsigned char *p, - unsigned char *end, - register_info_type *reg_info)); -static boolean common_op_match_null_string_p _RE_ARGS ((unsigned char **= p, - unsigned char *end, - register_info_type *reg_info)); -static int bcmp_translate _RE_ARGS ((const char *s1, const char *s2, - int len, char *translate)); - -/* re_match_2 matches the compiled pattern in BUFP against the - the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1 - and SIZE2, respectively). We start matching at POS, and stop - matching at STOP. - - If REGS is non-null and the `no_sub' field of BUFP is nonzero, we - store offsets for the substring each group matched in REGS. See the - documentation for exactly how many groups we fill. - - We return -1 if no match, -2 if an internal error (such as the - failure stack overflowing). Otherwise, we return the length of the - matched substring. */ - -int -re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop) - struct re_pattern_buffer *bufp; - const char *string1, *string2; - int size1, size2; - int pos; - struct re_registers *regs; - int stop; -{ - int result =3D re_match_2_internal (bufp, string1, size1, string2, siz= e2, - pos, regs, stop); -#ifndef REGEX_MALLOC -# ifdef C_ALLOCA - alloca (0); -# endif -#endif - return result; -} -#ifdef _LIBC -weak_alias (__re_match_2, re_match_2) -#endif - -/* This is a separate function so that we can force an alloca cleanup - afterwards. */ -static int -re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, st= op) - struct re_pattern_buffer *bufp; - const char *string1, *string2; - int size1, size2; - int pos; - struct re_registers *regs; - int stop; -{ - /* General temporaries. */ - int mcnt; - unsigned char *p1; - - /* Just past the end of the corresponding string. */ - const char *end1, *end2; - - /* Pointers into string1 and string2, just past the last characters in= - each to consider matching. */ - const char *end_match_1, *end_match_2; - - /* Where we are in the data, and the end of the current string. */ - const char *d, *dend; - - /* Where we are in the pattern, and the end of the pattern. */ - unsigned char *p =3D bufp->buffer; - register unsigned char *pend =3D p + bufp->used; - - /* Mark the opcode just after a start_memory, so we can test for an - empty subpattern when we get to the stop_memory. */ - unsigned char *just_past_start_mem =3D 0; - - /* We use this to map every character in the string. */ - RE_TRANSLATE_TYPE translate =3D bufp->translate; - - /* Failure point stack. Each place that can handle a failure further - down the line pushes a failure point on this stack. It consists of= - restart, regend, and reg_info for all registers corresponding to - the subexpressions we're currently inside, plus the number of such - registers, and, finally, two char *'s. The first char * is where - to resume scanning the pattern; the second one is where to resume - scanning the strings. If the latter is zero, the failure point is - a ``dummy''; if a failure happens and the failure point is a dummy,= - it gets discarded and the next next one is tried. */ -#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */ - fail_stack_type fail_stack; -#endif -#ifdef DEBUG - static unsigned failure_id; - unsigned nfailure_points_pushed =3D 0, nfailure_points_popped =3D 0; -#endif - -#ifdef REL_ALLOC - /* This holds the pointer to the failure stack, when - it is allocated relocatably. */ - fail_stack_elt_t *failure_stack_ptr; -#endif - - /* We fill all the registers internally, independent of what we - return, for use in backreferences. The number here includes - an element for register zero. */ - size_t num_regs =3D bufp->re_nsub + 1; - - /* The currently active registers. */ - active_reg_t lowest_active_reg =3D NO_LOWEST_ACTIVE_REG; - active_reg_t highest_active_reg =3D NO_HIGHEST_ACTIVE_REG; - - /* Information on the contents of registers. These are pointers into - the input strings; they record just what was matched (on this - attempt) by a subexpression part of the pattern, that is, the - regnum-th regstart pointer points to where in the pattern we began - matching and the regnum-th regend points to right after where we - stopped matching the regnum-th subexpression. (The zeroth register= - keeps track of what the whole pattern matches.) */ -#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */ - const char **regstart, **regend; -#endif - - /* If a group that's operated upon by a repetition operator fails to - match anything, then the register for its start will need to be - restored because it will have been set to wherever in the string we= - are when we last see its open-group operator. Similarly for a - register's end. */ -#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */ - const char **old_regstart, **old_regend; -#endif - - /* The is_active field of reg_info helps us keep track of which (possi= bly - nested) subexpressions we are currently in. The matched_something - field of reg_info[reg_num] helps us tell whether or not we have - matched any of the pattern so far this time through the reg_num-th - subexpression. These two fields get reset each time through any - loop their register is in. */ -#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */ - register_info_type *reg_info; -#endif - - /* The following record the register info as found in the above - variables when we find a match better than any we've seen before. - This happens as we backtrack through the failure points, which in - turn happens only if we have not yet matched the entire string. */ - unsigned best_regs_set =3D false; -#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */ - const char **best_regstart, **best_regend; -#endif - - /* Logically, this is `best_regend[0]'. But we don't want to have to - allocate space for that if we're not allocating space for anything - else (see below). Also, we never need info about register 0 for - any of the other register vectors, and it seems rather a kludge to - treat `best_regend' differently than the rest. So we keep track of= - the end of the best match so far in a separate variable. We - initialize this to NULL so that when we backtrack the first time - and need to test it, it's not garbage. */ - const char *match_end =3D NULL; - - /* This helps SET_REGS_MATCHED avoid doing redundant work. */ - int set_regs_matched_done =3D 0; - - /* Used when we pop values we don't care about. */ -#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */ - const char **reg_dummy; - register_info_type *reg_info_dummy; -#endif - -#ifdef DEBUG - /* Counts the total number of registers pushed. */ - unsigned num_regs_pushed =3D 0; -#endif - - DEBUG_PRINT1 ("\n\nEntering re_match_2.\n"); - - INIT_FAIL_STACK (); - -#ifdef MATCH_MAY_ALLOCATE - /* Do not bother to initialize all the register variables if there are= - no groups in the pattern, as it takes a fair amount of time. If - there are groups, we include space for register 0 (the whole - pattern), even though we never use it, since it simplifies the - array indexing. We should fix this. */ - if (bufp->re_nsub) - { - regstart =3D REGEX_TALLOC (num_regs, const char *); - regend =3D REGEX_TALLOC (num_regs, const char *); - old_regstart =3D REGEX_TALLOC (num_regs, const char *); - old_regend =3D REGEX_TALLOC (num_regs, const char *); - best_regstart =3D REGEX_TALLOC (num_regs, const char *); - best_regend =3D REGEX_TALLOC (num_regs, const char *); - reg_info =3D REGEX_TALLOC (num_regs, register_info_type); - reg_dummy =3D REGEX_TALLOC (num_regs, const char *); - reg_info_dummy =3D REGEX_TALLOC (num_regs, register_info_type); - - if (!(regstart && regend && old_regstart && old_regend && reg_info= - && best_regstart && best_regend && reg_dummy && reg_info_dum= my)) - { - FREE_VARIABLES (); - return -2; - } - } - else - { - /* We must initialize all our variables to NULL, so that - `FREE_VARIABLES' doesn't try to free them. */ - regstart =3D regend =3D old_regstart =3D old_regend =3D best_regst= art - =3D best_regend =3D reg_dummy =3D NULL; - reg_info =3D reg_info_dummy =3D (register_info_type *) NULL; - } -#endif /* MATCH_MAY_ALLOCATE */ - - /* The starting position is bogus. */ - if (pos < 0 || pos > size1 + size2) - { - FREE_VARIABLES (); - return -1; - } - - /* Initialize subexpression text positions to -1 to mark ones that no - start_memory/stop_memory has been seen for. Also initialize the - register information struct. */ - for (mcnt =3D 1; (unsigned) mcnt < num_regs; mcnt++) - { - regstart[mcnt] =3D regend[mcnt] - =3D old_regstart[mcnt] =3D old_regend[mcnt] =3D REG_UNSET_VALUE;= - - REG_MATCH_NULL_STRING_P (reg_info[mcnt]) =3D MATCH_NULL_UNSET_VALU= E; - IS_ACTIVE (reg_info[mcnt]) =3D 0; - MATCHED_SOMETHING (reg_info[mcnt]) =3D 0; - EVER_MATCHED_SOMETHING (reg_info[mcnt]) =3D 0; - } - - /* We move `string1' into `string2' if the latter's empty -- but not i= f - `string1' is null. */ - if (size2 =3D=3D 0 && string1 !=3D NULL) - { - string2 =3D string1; - size2 =3D size1; - string1 =3D 0; - size1 =3D 0; - } - end1 =3D string1 + size1; - end2 =3D string2 + size2; - - /* Compute where to stop matching, within the two strings. */ - if (stop <=3D size1) - { - end_match_1 =3D string1 + stop; - end_match_2 =3D string2; - } - else - { - end_match_1 =3D end1; - end_match_2 =3D string2 + stop - size1; - } - - /* `p' scans through the pattern as `d' scans through the data. - `dend' is the end of the input string that `d' points within. `d' - is advanced into the following input string whenever necessary, but= - this happens before fetching; therefore, at the beginning of the - loop, `d' can be pointing at the end of a string, but it cannot - equal `string2'. */ - if (size1 > 0 && pos <=3D size1) - { - d =3D string1 + pos; - dend =3D end_match_1; - } - else - { - d =3D string2 + pos - size1; - dend =3D end_match_2; - } - - DEBUG_PRINT1 ("The compiled pattern is:\n"); - DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend); - DEBUG_PRINT1 ("The string to match is: `"); - DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2); - DEBUG_PRINT1 ("'\n"); - - /* This loops over pattern commands. It exits by returning from the - function if the match is complete, or it drops through if the match= - fails at this starting point in the input data. */ - for (;;) - { -#ifdef _LIBC - DEBUG_PRINT2 ("\n%p: ", p); -#else - DEBUG_PRINT2 ("\n0x%x: ", p); -#endif - - if (p =3D=3D pend) - { /* End of pattern means we might have succeeded. */ - DEBUG_PRINT1 ("end of pattern ... "); - - /* If we haven't matched the entire string, and we want the - longest match, try backtracking. */ - if (d !=3D end_match_2) - { - /* 1 if this match ends in the same string (string1 or string2) - as the best previous match. */ - boolean same_str_p =3D (FIRST_STRING_P (match_end) - =3D=3D MATCHING_IN_FIRST_STRING); - /* 1 if this match is the best seen so far. */ - boolean best_match_p; - - /* AIX compiler got confused when this was combined - with the previous declaration. */ - if (same_str_p) - best_match_p =3D d > match_end; - else - best_match_p =3D !MATCHING_IN_FIRST_STRING; - - DEBUG_PRINT1 ("backtracking.\n"); - - if (!FAIL_STACK_EMPTY ()) - { /* More failure points to try. */ - - /* If exceeds best match so far, save it. */ - if (!best_regs_set || best_match_p) - { - best_regs_set =3D true; - match_end =3D d; - - DEBUG_PRINT1 ("\nSAVING match as best so far.\n");= - - for (mcnt =3D 1; (unsigned) mcnt < num_regs; mcnt+= +) - { - best_regstart[mcnt] =3D regstart[mcnt]; - best_regend[mcnt] =3D regend[mcnt]; - } - } - goto fail; - } - - /* If no failure points, don't restore garbage. And if - last match is real best match, don't restore second - best one. */ - else if (best_regs_set && !best_match_p) - { - restore_best_regs: - /* Restore best match. It may happen that `dend =3D=3D= - end_match_1' while the restored d is in string2. - For example, the pattern `x.*y.*z' against the - strings `x-' and `y-z-', if the two strings are - not consecutive in memory. */ - DEBUG_PRINT1 ("Restoring best registers.\n"); - - d =3D match_end; - dend =3D ((d >=3D string1 && d <=3D end1) - ? end_match_1 : end_match_2); - - for (mcnt =3D 1; (unsigned) mcnt < num_regs; mcnt++) - { - regstart[mcnt] =3D best_regstart[mcnt]; - regend[mcnt] =3D best_regend[mcnt]; - } - } - } /* d !=3D end_match_2 */ - - succeed_label: - DEBUG_PRINT1 ("Accepting match.\n"); - - /* If caller wants register contents data back, do it. */ - if (regs && !bufp->no_sub) - { - /* Have the register data arrays been allocated? */ - if (bufp->regs_allocated =3D=3D REGS_UNALLOCATED) - { /* No. So allocate them with malloc. We need one - extra element beyond `num_regs' for the `-1' marker= - GNU code uses. */ - regs->num_regs =3D MAX (RE_NREGS, num_regs + 1); - regs->start =3D TALLOC (regs->num_regs, regoff_t); - regs->end =3D TALLOC (regs->num_regs, regoff_t); - if (regs->start =3D=3D NULL || regs->end =3D=3D NULL) - { - FREE_VARIABLES (); - return -2; - } - bufp->regs_allocated =3D REGS_REALLOCATE; - } - else if (bufp->regs_allocated =3D=3D REGS_REALLOCATE) - { /* Yes. If we need more elements than were already - allocated, reallocate them. If we need fewer, just= - leave it alone. */ - if (regs->num_regs < num_regs + 1) - { - regs->num_regs =3D num_regs + 1; - RETALLOC (regs->start, regs->num_regs, regoff_t); - RETALLOC (regs->end, regs->num_regs, regoff_t); - if (regs->start =3D=3D NULL || regs->end =3D=3D NU= LL) - { - FREE_VARIABLES (); - return -2; - } - } - } - else - { - /* These braces fend off a "empty body in an else-statement" - warning under GCC when assert expands to nothing. */ - assert (bufp->regs_allocated =3D=3D REGS_FIXED); - } - - /* Convert the pointer data in `regstart' and `regend' to - indices. Register zero has to be set differently, - since we haven't kept track of any info for it. */ - if (regs->num_regs > 0) - { - regs->start[0] =3D pos; - regs->end[0] =3D (MATCHING_IN_FIRST_STRING - ? ((regoff_t) (d - string1)) - : ((regoff_t) (d - string2 + size1))); - } - - /* Go through the first `min (num_regs, regs->num_regs)' - registers, since that is all we initialized. */ - for (mcnt =3D 1; (unsigned) mcnt < MIN (num_regs, regs->num_regs)= ; - mcnt++) - { - if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mc= nt])) - regs->start[mcnt] =3D regs->end[mcnt] =3D -1; - else - { - regs->start[mcnt] - =3D (regoff_t) POINTER_TO_OFFSET (regstart[mcnt]); - regs->end[mcnt] - =3D (regoff_t) POINTER_TO_OFFSET (regend[mcnt]); - } - } - - /* If the regs structure we return has more elements than - were in the pattern, set the extra elements to -1. If - we (re)allocated the registers, this is the case, - because we always allocate enough to have at least one - -1 at the end. */ - for (mcnt =3D num_regs; (unsigned) mcnt < regs->num_regs; = mcnt++) - regs->start[mcnt] =3D regs->end[mcnt] =3D -1; - } /* regs && !bufp->no_sub */ - - DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain)= =2E\n", - nfailure_points_pushed, nfailure_points_popped, - nfailure_points_pushed - nfailure_points_popped)= ; - DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed); - - mcnt =3D d - pos - (MATCHING_IN_FIRST_STRING - ? string1 - : string2 - size1); - - DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt); - - FREE_VARIABLES (); - return mcnt; - } - - /* Otherwise match next pattern command. */ - switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++)) - { - /* Ignore these. Used to ignore the n of succeed_n's which - currently have n =3D=3D 0. */ - case no_op: - DEBUG_PRINT1 ("EXECUTING no_op.\n"); - break; - - case succeed: - DEBUG_PRINT1 ("EXECUTING succeed.\n"); - goto succeed_label; - - /* Match the next n pattern characters exactly. The following - byte in the pattern defines n, and the n bytes after that - are the characters to match. */ - case exactn: - mcnt =3D *p++; - DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt); - - /* This is written out as an if-else so we don't waste time - testing `translate' inside the loop. */ - if (translate) - { - do - { - PREFETCH (); - if ((unsigned char) translate[(unsigned char) *d++] - !=3D (unsigned char) *p++) - goto fail; - } - while (--mcnt); - } - else - { - do - { - PREFETCH (); - if (*d++ !=3D (char) *p++) goto fail; - } - while (--mcnt); - } - SET_REGS_MATCHED (); - break; - - - /* Match any character except possibly a newline or a null. */ - case anychar: - DEBUG_PRINT1 ("EXECUTING anychar.\n"); - - PREFETCH (); - - if ((!(bufp->syntax & RE_DOT_NEWLINE) && TRANSLATE (*d) =3D=3D= '\n') - || (bufp->syntax & RE_DOT_NOT_NULL && TRANSLATE (*d) =3D=3D= '\000')) - goto fail; - - SET_REGS_MATCHED (); - DEBUG_PRINT2 (" Matched `%d'.\n", *d); - d++; - break; - - - case charset: - case charset_not: - { - register unsigned char c; - boolean not =3D (re_opcode_t) *(p - 1) =3D=3D charset_not; - - DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : ""); - - PREFETCH (); - c =3D TRANSLATE (*d); /* The character to match. */ - - /* Cast to `unsigned' instead of `unsigned char' in case the= - bit list is a full 32 bytes long. */ - if (c < (unsigned) (*p * BYTEWIDTH) - && p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH))) - not =3D !not; - - p +=3D 1 + *p; - - if (!not) goto fail; - - SET_REGS_MATCHED (); - d++; - break; - } - - - /* The beginning of a group is represented by start_memory. - The arguments are the register number in the next byte, and t= he - number of groups inner to this one in the next. The text - matched within the group is recorded (in the internal - registers data structure) under the register number. */ - case start_memory: - DEBUG_PRINT3 ("EXECUTING start_memory %d (%d):\n", *p, p[1]); - - /* Find out if this group can match the empty string. */ - p1 =3D p; /* To send to group_match_null_string_p. */ - - if (REG_MATCH_NULL_STRING_P (reg_info[*p]) =3D=3D MATCH_NULL_U= NSET_VALUE) - REG_MATCH_NULL_STRING_P (reg_info[*p]) - =3D group_match_null_string_p (&p1, pend, reg_info); - - /* Save the position in the string where we were the last time= - we were at this open-group operator in case the group is - operated upon by a repetition operator, e.g., with `(a*)*b'= - against `ab'; then we want to ignore where we are now in - the string in case this attempt to match fails. */ - old_regstart[*p] =3D REG_MATCH_NULL_STRING_P (reg_info[*p]) - ? REG_UNSET (regstart[*p]) ? d : regstart[*= p] - : regstart[*p]; - DEBUG_PRINT2 (" old_regstart: %d\n", - POINTER_TO_OFFSET (old_regstart[*p])); - - regstart[*p] =3D d; - DEBUG_PRINT2 (" regstart: %d\n", POINTER_TO_OFFSET (regstart[*p])); - - IS_ACTIVE (reg_info[*p]) =3D 1; - MATCHED_SOMETHING (reg_info[*p]) =3D 0; - - /* Clear this whenever we change the register activity status. */ - set_regs_matched_done =3D 0; - - /* This is the new highest active register. */ - highest_active_reg =3D *p; - - /* If nothing was active before, this is the new lowest active= - register. */ - if (lowest_active_reg =3D=3D NO_LOWEST_ACTIVE_REG) - lowest_active_reg =3D *p; - - /* Move past the register number and inner group count. */ - p +=3D 2; - just_past_start_mem =3D p; - - break; - - - /* The stop_memory opcode represents the end of a group. Its - arguments are the same as start_memory's: the register - number, and the number of inner groups. */ - case stop_memory: - DEBUG_PRINT3 ("EXECUTING stop_memory %d (%d):\n", *p, p[1]); - - /* We need to save the string position the last time we were a= t - this close-group operator in case the group is operated - upon by a repetition operator, e.g., with `((a*)*(b*)*)*' - against `aba'; then we want to ignore where we are now in - the string in case this attempt to match fails. */ - old_regend[*p] =3D REG_MATCH_NULL_STRING_P (reg_info[*p]) - ? REG_UNSET (regend[*p]) ? d : regend[*p] - : regend[*p]; - DEBUG_PRINT2 (" old_regend: %d\n", - POINTER_TO_OFFSET (old_regend[*p])); - - regend[*p] =3D d; - DEBUG_PRINT2 (" regend: %d\n", POINTER_TO_OFFSET (regend[*p])); - - /* This register isn't active anymore. */ - IS_ACTIVE (reg_info[*p]) =3D 0; - - /* Clear this whenever we change the register activity status. */ - set_regs_matched_done =3D 0; - - /* If this was the only register active, nothing is active - anymore. */ - if (lowest_active_reg =3D=3D highest_active_reg) - { - lowest_active_reg =3D NO_LOWEST_ACTIVE_REG; - highest_active_reg =3D NO_HIGHEST_ACTIVE_REG; - } - else - { /* We must scan for the new highest active register, since= - it isn't necessarily one less than now: consider - (a(b)c(d(e)f)g). When group 3 ends, after the f), the - new highest active register is 1. */ - unsigned char r =3D *p - 1; - while (r > 0 && !IS_ACTIVE (reg_info[r])) - r--; - - /* If we end up at register zero, that means that we saved= - the registers as the result of an `on_failure_jump', no= t - a `start_memory', and we jumped to past the innermost - `stop_memory'. For example, in ((.)*) we save - registers 1 and 2 as a result of the *, but when we pop= - back to the second ), we are at the stop_memory 1. - Thus, nothing is active. */ - if (r =3D=3D 0) - { - lowest_active_reg =3D NO_LOWEST_ACTIVE_REG; - highest_active_reg =3D NO_HIGHEST_ACTIVE_REG; - } - else - highest_active_reg =3D r; - } - - /* If just failed to match something this time around with a - group that's operated on by a repetition operator, try to - force exit from the ``loop'', and restore the register - information for this group that we had before trying this - last match. */ - if ((!MATCHED_SOMETHING (reg_info[*p]) - || just_past_start_mem =3D=3D p - 1) - && (p + 2) < pend) - { - boolean is_a_jump_n =3D false; - - p1 =3D p + 2; - mcnt =3D 0; - switch ((re_opcode_t) *p1++) - { - case jump_n: - is_a_jump_n =3D true; - case pop_failure_jump: - case maybe_pop_jump: - case jump: - case dummy_failure_jump: - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - if (is_a_jump_n) - p1 +=3D 2; - break; - - default: - /* do nothing */ ; - } - p1 +=3D mcnt; - - /* If the next operation is a jump backwards in the patter= n - to an on_failure_jump right before the start_memory - corresponding to this stop_memory, exit from the loop - by forcing a failure after pushing on the stack the - on_failure_jump's jump in the pattern, and d. */ - if (mcnt < 0 && (re_opcode_t) *p1 =3D=3D on_failure_jump - && (re_opcode_t) p1[3] =3D=3D start_memory && p1[4] =3D= =3D *p) - { - /* If this group ever matched anything, then restore - what its registers were before trying this last - failed match, e.g., with `(a*)*b' against `ab' for - regstart[1], and, e.g., with `((a*)*(b*)*)*' - against `aba' for regend[3]. - - Also restore the registers for inner groups for, - e.g., `((a*)(b*))*' against `aba' (register 3 would= - otherwise get trashed). */ - - if (EVER_MATCHED_SOMETHING (reg_info[*p])) - { - unsigned r; - - EVER_MATCHED_SOMETHING (reg_info[*p]) =3D 0; - - /* Restore this and inner groups' (if any) registers. */ - for (r =3D *p; r < (unsigned) *p + (unsigned) *(p = + 1); - r++) - { - regstart[r] =3D old_regstart[r]; - - /* xx why this test? */ - if (old_regend[r] >=3D regstart[r]) - regend[r] =3D old_regend[r]; - } - } - p1++; - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - PUSH_FAILURE_POINT (p1 + mcnt, d, -2); - - goto fail; - } - } - - /* Move past the register number and the inner group count. *= / - p +=3D 2; - break; - - - /* \ has been turned into a `duplicate' command which is - followed by the numeric value of as the register numb= er. */ - case duplicate: - { - register const char *d2, *dend2; - int regno =3D *p++; /* Get which register to match against. */ - DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno); - - /* Can't back reference a group which we've never matched. */ - if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno])= ) - goto fail; - - /* Where in input to try to start matching. */ - d2 =3D regstart[regno]; - - /* Where to stop matching; if both the place to start and - the place to stop matching are in the same string, then - set to the place to stop, otherwise, for now have to use - the end of the first string. */ - - dend2 =3D ((FIRST_STRING_P (regstart[regno]) - =3D=3D FIRST_STRING_P (regend[regno])) - ? regend[regno] : end_match_1); - for (;;) - { - /* If necessary, advance to next segment in register - contents. */ - while (d2 =3D=3D dend2) - { - if (dend2 =3D=3D end_match_2) break; - if (dend2 =3D=3D regend[regno]) break; - - /* End of string1 =3D> advance to string2. */ - d2 =3D string2; - dend2 =3D regend[regno]; - } - /* At end of register contents =3D> success */ - if (d2 =3D=3D dend2) break; - - /* If necessary, advance to next segment in data. */ - PREFETCH (); - - /* How many characters left in this segment to match. */ - mcnt =3D dend - d; - - /* Want how many consecutive characters we can match in - one shot, so, if necessary, adjust the count. */ - if (mcnt > dend2 - d2) - mcnt =3D dend2 - d2; - - /* Compare that many; failure if mismatch, else move - past them. */ - if (translate - ? bcmp_translate (d, d2, mcnt, translate) - : memcmp (d, d2, mcnt)) - goto fail; - d +=3D mcnt, d2 +=3D mcnt; - - /* Do this because we've match some characters. */ - SET_REGS_MATCHED (); - } - } - break; - - - /* begline matches the empty string at the beginning of the stri= ng - (unless `not_bol' is set in `bufp'), and, if - `newline_anchor' is set, after newlines. */ - case begline: - DEBUG_PRINT1 ("EXECUTING begline.\n"); - - if (AT_STRINGS_BEG (d)) - { - if (!bufp->not_bol) break; - } - else if (d[-1] =3D=3D '\n' && bufp->newline_anchor) - { - break; - } - /* In all other cases, we fail. */ - goto fail; - - - /* endline is the dual of begline. */ - case endline: - DEBUG_PRINT1 ("EXECUTING endline.\n"); - - if (AT_STRINGS_END (d)) - { - if (!bufp->not_eol) break; - } - - /* We have to ``prefetch'' the next character. */ - else if ((d =3D=3D end1 ? *string2 : *d) =3D=3D '\n' - && bufp->newline_anchor) - { - break; - } - goto fail; - - - /* Match at the very beginning of the data. */ - case begbuf: - DEBUG_PRINT1 ("EXECUTING begbuf.\n"); - if (AT_STRINGS_BEG (d)) - break; - goto fail; - - - /* Match at the very end of the data. */ - case endbuf: - DEBUG_PRINT1 ("EXECUTING endbuf.\n"); - if (AT_STRINGS_END (d)) - break; - goto fail; - - - /* on_failure_keep_string_jump is used to optimize `.*\n'. It - pushes NULL as the value for the string on the stack. Then - `pop_failure_point' will keep the current value for the - string, instead of restoring it. To see why, consider - matching `foo\nbar' against `.*\n'. The .* matches the foo; - then the . fails against the \n. But the next thing we want - to do is match the \n against the \n; if we restored the - string value, we would be back at the foo. - - Because this is used only in specific cases, we don't need to= - check all the things that `on_failure_jump' does, to make - sure the right things get saved on the stack. Hence we don't= - share its code. The only reason to push anything on the - stack at all is that otherwise we would have to change - `anychar's code to do something besides goto fail in this - case; that seems worse than this. */ - case on_failure_keep_string_jump: - DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump"); - - EXTRACT_NUMBER_AND_INCR (mcnt, p); -#ifdef _LIBC - DEBUG_PRINT3 (" %d (to %p):\n", mcnt, p + mcnt); -#else - DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt); -#endif - - PUSH_FAILURE_POINT (p + mcnt, NULL, -2); - break; - - - /* Uses of on_failure_jump: - - Each alternative starts with an on_failure_jump that points - to the beginning of the next alternative. Each alternative - except the last ends with a jump that in effect jumps past - the rest of the alternatives. (They really jump to the - ending jump of the following alternative, because tensioning - these jumps is a hassle.) - - Repeats start with an on_failure_jump that points past both - the repetition text and either the following jump or - pop_failure_jump back to this on_failure_jump. */ - case on_failure_jump: - on_failure: - DEBUG_PRINT1 ("EXECUTING on_failure_jump"); - - EXTRACT_NUMBER_AND_INCR (mcnt, p); -#ifdef _LIBC - DEBUG_PRINT3 (" %d (to %p)", mcnt, p + mcnt); -#else - DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt); -#endif - - /* If this on_failure_jump comes right before a group (i.e., - the original * applied to a group), save the information - for that group and all inner ones, so that if we fail back - to this point, the group's information will be correct. - For example, in \(a*\)*\1, we need the preceding group, - and in \(zz\(a*\)b*\)\2, we need the inner group. */ - - /* We can't use `p' to check ahead because we push - a failure point to `p + mcnt' after we do this. */ - p1 =3D p; - - /* We need to skip no_op's before we look for the - start_memory in case this on_failure_jump is happening as - the result of a completed succeed_n, as in \(a\)\{1,3\}b\1 - against aba. */ - while (p1 < pend && (re_opcode_t) *p1 =3D=3D no_op) - p1++; - - if (p1 < pend && (re_opcode_t) *p1 =3D=3D start_memory) - { - /* We have a new highest active register now. This will - get reset at the start_memory we are about to get to, - but we will have saved all the registers relevant to - this repetition op, as described above. */ - highest_active_reg =3D *(p1 + 1) + *(p1 + 2); - if (lowest_active_reg =3D=3D NO_LOWEST_ACTIVE_REG) - lowest_active_reg =3D *(p1 + 1); - } - - DEBUG_PRINT1 (":\n"); - PUSH_FAILURE_POINT (p + mcnt, d, -2); - break; - - - /* A smart repeat ends with `maybe_pop_jump'. - We change it to either `pop_failure_jump' or `jump'. */ - case maybe_pop_jump: - EXTRACT_NUMBER_AND_INCR (mcnt, p); - DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt); - { - register unsigned char *p2 =3D p; - - /* Compare the beginning of the repeat with what in the - pattern follows its end. If we can establish that there - is nothing that they would both match, i.e., that we - would have to backtrack because of (as in, e.g., `a*a') - then we can change to pop_failure_jump, because we'll - never have to backtrack. - - This is not true in the case of alternatives: in - `(a|ab)*' we do need to backtrack to the `ab' alternative= - (e.g., if the string was `ab'). But instead of trying to= - detect that here, the alternative has put on a dummy - failure point which is what we will end up popping. */ - - /* Skip over open/close-group commands. - If what follows this loop is a ...+ construct, - look at what begins its body, since we will have to - match at least one of that. */ - while (1) - { - if (p2 + 2 < pend - && ((re_opcode_t) *p2 =3D=3D stop_memory - || (re_opcode_t) *p2 =3D=3D start_memory)) - p2 +=3D 3; - else if (p2 + 6 < pend - && (re_opcode_t) *p2 =3D=3D dummy_failure_jump) - p2 +=3D 6; - else - break; - } - - p1 =3D p + mcnt; - /* p1[0] ... p1[2] are the `on_failure_jump' corresponding - to the `maybe_finalize_jump' of this case. Examine what - follows. */ - - /* If we're at the end of the pattern, we can change. */ - if (p2 =3D=3D pend) - { - /* Consider what happens when matching ":\(.*\)" - against ":/". I don't really understand this code - yet. */ - p[-3] =3D (unsigned char) pop_failure_jump; - DEBUG_PRINT1 - (" End of pattern: change to `pop_failure_jump'.\n");= - } - - else if ((re_opcode_t) *p2 =3D=3D exactn - || (bufp->newline_anchor && (re_opcode_t) *p2 =3D=3D endline)) - { - register unsigned char c - =3D *p2 =3D=3D (unsigned char) endline ? '\n' : p2[2];= - - if ((re_opcode_t) p1[3] =3D=3D exactn && p1[5] !=3D c) - { - p[-3] =3D (unsigned char) pop_failure_jump; - DEBUG_PRINT3 (" %c !=3D %c =3D> pop_failure_jump.\n= ", - c, p1[5]); - } - - else if ((re_opcode_t) p1[3] =3D=3D charset - || (re_opcode_t) p1[3] =3D=3D charset_not) - { - int not =3D (re_opcode_t) p1[3] =3D=3D charset_not; - - if (c < (unsigned char) (p1[4] * BYTEWIDTH) - && p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH))) - not =3D !not; - - /* `not' is equal to 1 if c would match, which means= - that we can't change to pop_failure_jump. */ - if (!not) - { - p[-3] =3D (unsigned char) pop_failure_jump; - DEBUG_PRINT1 (" No match =3D> pop_failure_jump.= \n"); - } - } - } - else if ((re_opcode_t) *p2 =3D=3D charset) - { - /* We win if the first character of the loop is not part - of the charset. */ - if ((re_opcode_t) p1[3] =3D=3D exactn - && ! ((int) p2[1] * BYTEWIDTH > (int) p1[5] - && (p2[2 + p1[5] / BYTEWIDTH] - & (1 << (p1[5] % BYTEWIDTH))))) - { - p[-3] =3D (unsigned char) pop_failure_jump; - DEBUG_PRINT1 (" No match =3D> pop_failure_jump.\n"); - } - - else if ((re_opcode_t) p1[3] =3D=3D charset_not) - { - int idx; - /* We win if the charset_not inside the loop - lists every character listed in the charset after. */ - for (idx =3D 0; idx < (int) p2[1]; idx++) - if (! (p2[2 + idx] =3D=3D 0 - || (idx < (int) p1[4] - && ((p2[2 + idx] & ~ p1[5 + idx]) =3D=3D 0)))) - break; - - if (idx =3D=3D p2[1]) - { - p[-3] =3D (unsigned char) pop_failure_jump; - DEBUG_PRINT1 (" No match =3D> pop_failure_jump.= \n"); - } - } - else if ((re_opcode_t) p1[3] =3D=3D charset) - { - int idx; - /* We win if the charset inside the loop - has no overlap with the one after the loop. */ - for (idx =3D 0; - idx < (int) p2[1] && idx < (int) p1[4]; - idx++) - if ((p2[2 + idx] & p1[5 + idx]) !=3D 0) - break; - - if (idx =3D=3D p2[1] || idx =3D=3D p1[4]) - { - p[-3] =3D (unsigned char) pop_failure_jump; - DEBUG_PRINT1 (" No match =3D> pop_failure_jump.= \n"); - } - } - } - } - p -=3D 2; /* Point at relative address again. */ - if ((re_opcode_t) p[-1] !=3D pop_failure_jump) - { - p[-1] =3D (unsigned char) jump; - DEBUG_PRINT1 (" Match =3D> jump.\n"); - goto unconditional_jump; - } - /* Note fall through. */ - - - /* The end of a simple repeat has a pop_failure_jump back to - its matching on_failure_jump, where the latter will push a - failure point. The pop_failure_jump takes off failure - points put on by this pop_failure_jump's matching - on_failure_jump; we got through the pattern to here from the - matching on_failure_jump, so didn't fail. */ - case pop_failure_jump: - { - /* We need to pass separate storage for the lowest and - highest registers, even though we don't care about the - actual values. Otherwise, we will restore only one - register from the stack, since lowest will =3D=3D highest= in - `pop_failure_point'. */ - active_reg_t dummy_low_reg, dummy_high_reg; - unsigned char *pdummy; - const char *sdummy; - - DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n"); - POP_FAILURE_POINT (sdummy, pdummy, - dummy_low_reg, dummy_high_reg, - reg_dummy, reg_dummy, reg_info_dummy); - } - /* Note fall through. */ - - unconditional_jump: -#ifdef _LIBC - DEBUG_PRINT2 ("\n%p: ", p); -#else - DEBUG_PRINT2 ("\n0x%x: ", p); -#endif - /* Note fall through. */ - - /* Unconditionally jump (without popping any failure points). *= / - case jump: - EXTRACT_NUMBER_AND_INCR (mcnt, p); /* Get the amount to jump. */ - DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt); - p +=3D mcnt; /* Do the jump. */ -#ifdef _LIBC - DEBUG_PRINT2 ("(to %p).\n", p); -#else - DEBUG_PRINT2 ("(to 0x%x).\n", p); -#endif - break; - - - /* We need this opcode so we can detect where alternatives end - in `group_match_null_string_p' et al. */ - case jump_past_alt: - DEBUG_PRINT1 ("EXECUTING jump_past_alt.\n"); - goto unconditional_jump; - - - /* Normally, the on_failure_jump pushes a failure point, which - then gets popped at pop_failure_jump. We will end up at - pop_failure_jump, also, and with a pattern of, say, `a+', we - are skipping over the on_failure_jump, so we have to push - something meaningless for pop_failure_jump to pop. */ - case dummy_failure_jump: - DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n"); - /* It doesn't matter what we push for the string here. What - the code at `fail' tests is the value for the pattern. */ - PUSH_FAILURE_POINT (NULL, NULL, -2); - goto unconditional_jump; - - - /* At the end of an alternative, we need to push a dummy failure= - point in case we are followed by a `pop_failure_jump', becaus= e - we don't want the failure point for the alternative to be - popped. For example, matching `(a|ab)*' against `aab' - requires that we match the `ab' alternative. */ - case push_dummy_failure: - DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n"); - /* See comments just above at `dummy_failure_jump' about the - two zeroes. */ - PUSH_FAILURE_POINT (NULL, NULL, -2); - break; - - /* Have to succeed matching what follows at least n times. - After that, handle like `on_failure_jump'. */ - case succeed_n: - EXTRACT_NUMBER (mcnt, p + 2); - DEBUG_PRINT2 ("EXECUTING succeed_n %d.\n", mcnt); - - assert (mcnt >=3D 0); - /* Originally, this is how many times we HAVE to succeed. */ - if (mcnt > 0) - { - mcnt--; - p +=3D 2; - STORE_NUMBER_AND_INCR (p, mcnt); -#ifdef _LIBC - DEBUG_PRINT3 (" Setting %p to %d.\n", p - 2, mcnt); -#else - DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p - 2, mcnt); -#endif - } - else if (mcnt =3D=3D 0) - { -#ifdef _LIBC - DEBUG_PRINT2 (" Setting two bytes from %p to no_op.\n", p= +2); -#else - DEBUG_PRINT2 (" Setting two bytes from 0x%x to no_op.\n",= p+2); -#endif - p[2] =3D (unsigned char) no_op; - p[3] =3D (unsigned char) no_op; - goto on_failure; - } - break; - - case jump_n: - EXTRACT_NUMBER (mcnt, p + 2); - DEBUG_PRINT2 ("EXECUTING jump_n %d.\n", mcnt); - - /* Originally, this is how many times we CAN jump. */ - if (mcnt) - { - mcnt--; - STORE_NUMBER (p + 2, mcnt); -#ifdef _LIBC - DEBUG_PRINT3 (" Setting %p to %d.\n", p + 2, mcnt); -#else - DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p + 2, mcnt); -#endif - goto unconditional_jump; - } - /* If don't have to jump any more, skip over the rest of comma= nd. */ - else - p +=3D 4; - break; - - case set_number_at: - { - DEBUG_PRINT1 ("EXECUTING set_number_at.\n"); - - EXTRACT_NUMBER_AND_INCR (mcnt, p); - p1 =3D p + mcnt; - EXTRACT_NUMBER_AND_INCR (mcnt, p); -#ifdef _LIBC - DEBUG_PRINT3 (" Setting %p to %d.\n", p1, mcnt); -#else - DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p1, mcnt); -#endif - STORE_NUMBER (p1, mcnt); - break; - } - -#if 0 - /* The DEC Alpha C compiler 3.x generates incorrect code for the - test WORDCHAR_P (d - 1) !=3D WORDCHAR_P (d) in the expansion of - AT_WORD_BOUNDARY, so this code is disabled. Expanding the - macro and introducing temporary variables works around the bug. */ - - case wordbound: - DEBUG_PRINT1 ("EXECUTING wordbound.\n"); - if (AT_WORD_BOUNDARY (d)) - break; - goto fail; - - case notwordbound: - DEBUG_PRINT1 ("EXECUTING notwordbound.\n"); - if (AT_WORD_BOUNDARY (d)) - goto fail; - break; -#else - case wordbound: - { - boolean prevchar, thischar; - - DEBUG_PRINT1 ("EXECUTING wordbound.\n"); - if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)) - break; - - prevchar =3D WORDCHAR_P (d - 1); - thischar =3D WORDCHAR_P (d); - if (prevchar !=3D thischar) - break; - goto fail; - } - - case notwordbound: - { - boolean prevchar, thischar; - - DEBUG_PRINT1 ("EXECUTING notwordbound.\n"); - if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)) - goto fail; - - prevchar =3D WORDCHAR_P (d - 1); - thischar =3D WORDCHAR_P (d); - if (prevchar !=3D thischar) - goto fail; - break; - } -#endif - - case wordbeg: - DEBUG_PRINT1 ("EXECUTING wordbeg.\n"); - if (WORDCHAR_P (d) && (AT_STRINGS_BEG (d) || !WORDCHAR_P (d - 1))) - break; - goto fail; - - case wordend: - DEBUG_PRINT1 ("EXECUTING wordend.\n"); - if (!AT_STRINGS_BEG (d) && WORDCHAR_P (d - 1) - && (!WORDCHAR_P (d) || AT_STRINGS_END (d))) - break; - goto fail; - -#ifdef emacs - case before_dot: - DEBUG_PRINT1 ("EXECUTING before_dot.\n"); - if (PTR_CHAR_POS ((unsigned char *) d) >=3D point) - goto fail; - break; - - case at_dot: - DEBUG_PRINT1 ("EXECUTING at_dot.\n"); - if (PTR_CHAR_POS ((unsigned char *) d) !=3D point) - goto fail; - break; - - case after_dot: - DEBUG_PRINT1 ("EXECUTING after_dot.\n"); - if (PTR_CHAR_POS ((unsigned char *) d) <=3D point) - goto fail; - break; - - case syntaxspec: - DEBUG_PRINT2 ("EXECUTING syntaxspec %d.\n", mcnt); - mcnt =3D *p++; - goto matchsyntax; - - case wordchar: - DEBUG_PRINT1 ("EXECUTING Emacs wordchar.\n"); - mcnt =3D (int) Sword; - matchsyntax: - PREFETCH (); - /* Can't use *d++ here; SYNTAX may be an unsafe macro. */ - d++; - if (SYNTAX (d[-1]) !=3D (enum syntaxcode) mcnt) - goto fail; - SET_REGS_MATCHED (); - break; - - case notsyntaxspec: - DEBUG_PRINT2 ("EXECUTING notsyntaxspec %d.\n", mcnt); - mcnt =3D *p++; - goto matchnotsyntax; - - case notwordchar: - DEBUG_PRINT1 ("EXECUTING Emacs notwordchar.\n"); - mcnt =3D (int) Sword; - matchnotsyntax: - PREFETCH (); - /* Can't use *d++ here; SYNTAX may be an unsafe macro. */ - d++; - if (SYNTAX (d[-1]) =3D=3D (enum syntaxcode) mcnt) - goto fail; - SET_REGS_MATCHED (); - break; - -#else /* not emacs */ - case wordchar: - DEBUG_PRINT1 ("EXECUTING non-Emacs wordchar.\n"); - PREFETCH (); - if (!WORDCHAR_P (d)) - goto fail; - SET_REGS_MATCHED (); - d++; - break; - - case notwordchar: - DEBUG_PRINT1 ("EXECUTING non-Emacs notwordchar.\n"); - PREFETCH (); - if (WORDCHAR_P (d)) - goto fail; - SET_REGS_MATCHED (); - d++; - break; -#endif /* not emacs */ - - default: - abort (); - } - continue; /* Successfully executed one pattern command; keep goin= g. */ - - - /* We goto here if a matching operation fails. */ - fail: - if (!FAIL_STACK_EMPTY ()) - { /* A restart point is known. Restore to that state. */ - DEBUG_PRINT1 ("\nFAIL:\n"); - POP_FAILURE_POINT (d, p, - lowest_active_reg, highest_active_reg, - regstart, regend, reg_info); - - /* If this failure point is a dummy, try the next one. */ - if (!p) - goto fail; - - /* If we failed to the end of the pattern, don't examine *p. = */ - assert (p <=3D pend); - if (p < pend) - { - boolean is_a_jump_n =3D false; - - /* If failed to a backwards jump that's part of a repetiti= on - loop, need to pop this failure point and use the next o= ne. */ - switch ((re_opcode_t) *p) - { - case jump_n: - is_a_jump_n =3D true; - case maybe_pop_jump: - case pop_failure_jump: - case jump: - p1 =3D p + 1; - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - p1 +=3D mcnt; - - if ((is_a_jump_n && (re_opcode_t) *p1 =3D=3D succeed_n= ) - || (!is_a_jump_n - && (re_opcode_t) *p1 =3D=3D on_failure_jump)) - goto fail; - break; - default: - /* do nothing */ ; - } - } - - if (d >=3D string1 && d <=3D end1) - dend =3D end_match_1; - } - else - break; /* Matching at this starting point really fails. */ - } /* for (;;) */ - - if (best_regs_set) - goto restore_best_regs; - - FREE_VARIABLES (); - - return -1; /* Failure to match. */ -} /* re_match_2 */ -=0C -/* Subroutine definitions for re_match_2. */ - - -/* We are passed P pointing to a register number after a start_memory. - - Return true if the pattern up to the corresponding stop_memory can - match the empty string, and false otherwise. - - If we find the matching stop_memory, sets P to point to one past its = number. - Otherwise, sets P to an undefined byte less than or equal to END. - - We don't handle duplicates properly (yet). */ - -static boolean -group_match_null_string_p (p, end, reg_info) - unsigned char **p, *end; - register_info_type *reg_info; -{ - int mcnt; - /* Point to after the args to the start_memory. */ - unsigned char *p1 =3D *p + 2; - - while (p1 < end) - { - /* Skip over opcodes that can match nothing, and return true or - false, as appropriate, when we get to one that can't, or to the - matching stop_memory. */ - - switch ((re_opcode_t) *p1) - { - /* Could be either a loop or a series of alternatives. */ - case on_failure_jump: - p1++; - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - - /* If the next operation is not a jump backwards in the - pattern. */ - - if (mcnt >=3D 0) - { - /* Go through the on_failure_jumps of the alternatives, - seeing if any of the alternatives cannot match nothing.= - The last alternative starts with only a jump, - whereas the rest start with on_failure_jump and end - with a jump, e.g., here is the pattern for `a|b|c': - - /on_failure_jump/0/6/exactn/1/a/jump_past_alt/0/6 - /on_failure_jump/0/6/exactn/1/b/jump_past_alt/0/3 - /exactn/1/c - - So, we have to first go through the first (n-1) - alternatives and then deal with the last one separately= =2E */ - - - /* Deal with the first (n-1) alternatives, which start - with an on_failure_jump (see above) that jumps to right= - past a jump_past_alt. */ - - while ((re_opcode_t) p1[mcnt-3] =3D=3D jump_past_alt) - { - /* `mcnt' holds how many bytes long the alternative - is, including the ending `jump_past_alt' and - its number. */ - - if (!alt_match_null_string_p (p1, p1 + mcnt - 3, - reg_info)) - return false; - - /* Move to right after this alternative, including the= - jump_past_alt. */ - p1 +=3D mcnt; - - /* Break if it's the beginning of an n-th alternative - that doesn't begin with an on_failure_jump. */ - if ((re_opcode_t) *p1 !=3D on_failure_jump) - break; - - /* Still have to check that it's not an n-th - alternative that starts with an on_failure_jump. */ - p1++; - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - if ((re_opcode_t) p1[mcnt-3] !=3D jump_past_alt) - { - /* Get to the beginning of the n-th alternative. */ - p1 -=3D 3; - break; - } - } - - /* Deal with the last alternative: go back and get number - of the `jump_past_alt' just before it. `mcnt' contains= - the length of the alternative. */ - EXTRACT_NUMBER (mcnt, p1 - 2); - - if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info)) - return false; - - p1 +=3D mcnt; /* Get past the n-th alternative. */ - } /* if mcnt > 0 */ - break; - - - case stop_memory: - assert (p1[1] =3D=3D **p); - *p =3D p1 + 2; - return true; - - - default: - if (!common_op_match_null_string_p (&p1, end, reg_info)) - return false; - } - } /* while p1 < end */ - - return false; -} /* group_match_null_string_p */ - - -/* Similar to group_match_null_string_p, but doesn't deal with alternati= ves: - It expects P to be the first byte of a single alternative and END one= - byte past the last. The alternative can contain groups. */ - -static boolean -alt_match_null_string_p (p, end, reg_info) - unsigned char *p, *end; - register_info_type *reg_info; -{ - int mcnt; - unsigned char *p1 =3D p; - - while (p1 < end) - { - /* Skip over opcodes that can match nothing, and break when we get= - to one that can't. */ - - switch ((re_opcode_t) *p1) - { - /* It's a loop. */ - case on_failure_jump: - p1++; - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - p1 +=3D mcnt; - break; - - default: - if (!common_op_match_null_string_p (&p1, end, reg_info)) - return false; - } - } /* while p1 < end */ - - return true; -} /* alt_match_null_string_p */ - - -/* Deals with the ops common to group_match_null_string_p and - alt_match_null_string_p. - - Sets P to one after the op and its arguments, if any. */ - -static boolean -common_op_match_null_string_p (p, end, reg_info) - unsigned char **p, *end; - register_info_type *reg_info; -{ - int mcnt; - boolean ret; - int reg_no; - unsigned char *p1 =3D *p; - - switch ((re_opcode_t) *p1++) - { - case no_op: - case begline: - case endline: - case begbuf: - case endbuf: - case wordbeg: - case wordend: - case wordbound: - case notwordbound: -#ifdef emacs - case before_dot: - case at_dot: - case after_dot: -#endif - break; - - case start_memory: - reg_no =3D *p1; - assert (reg_no > 0 && reg_no <=3D MAX_REGNUM); - ret =3D group_match_null_string_p (&p1, end, reg_info); - - /* Have to set this here in case we're checking a group which - contains a group and a back reference to it. */ - - if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) =3D=3D MATCH_NULL_U= NSET_VALUE) - REG_MATCH_NULL_STRING_P (reg_info[reg_no]) =3D ret; - - if (!ret) - return false; - break; - - /* If this is an optimized succeed_n for zero times, make the jump. = */ - case jump: - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - if (mcnt >=3D 0) - p1 +=3D mcnt; - else - return false; - break; - - case succeed_n: - /* Get to the number of times to succeed. */ - p1 +=3D 2; - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - - if (mcnt =3D=3D 0) - { - p1 -=3D 4; - EXTRACT_NUMBER_AND_INCR (mcnt, p1); - p1 +=3D mcnt; - } - else - return false; - break; - - case duplicate: - if (!REG_MATCH_NULL_STRING_P (reg_info[*p1])) - return false; - break; - - case set_number_at: - p1 +=3D 4; - - default: - /* All other opcodes mean we cannot match the empty string. */ - return false; - } - - *p =3D p1; - return true; -} /* common_op_match_null_string_p */ - - -/* Return zero if TRANSLATE[S1] and TRANSLATE[S2] are identical for LEN - bytes; nonzero otherwise. */ - -static int -bcmp_translate (s1, s2, len, translate) - const char *s1, *s2; - register int len; - RE_TRANSLATE_TYPE translate; -{ - register const unsigned char *p1 =3D (const unsigned char *) s1; - register const unsigned char *p2 =3D (const unsigned char *) s2; - while (len) - { - if (translate[*p1++] !=3D translate[*p2++]) return 1; - len--; - } - return 0; -} -=0C -/* Entry points for GNU code. */ - -/* re_compile_pattern is the GNU regular expression compiler: it - compiles PATTERN (of length SIZE) and puts the result in BUFP. - Returns 0 if the pattern was valid, otherwise an error string. - - Assumes the `allocated' (and perhaps `buffer') and `translate' fields= - are set in BUFP on entry. - - We call regex_compile to do the actual compilation. */ - -const char * -re_compile_pattern (pattern, length, bufp) - const char *pattern; - size_t length; - struct re_pattern_buffer *bufp; -{ - reg_errcode_t ret; - - /* GNU code is written to assume at least RE_NREGS registers will be s= et - (and at least one extra will be -1). */ - bufp->regs_allocated =3D REGS_UNALLOCATED; - - /* And GNU code determines whether or not to get register information - by passing null for the REGS argument to re_match, etc., not by - setting no_sub. */ - bufp->no_sub =3D 0; - - /* Match anchors at newline. */ - bufp->newline_anchor =3D 1; - - ret =3D regex_compile (pattern, length, re_syntax_options, bufp); - - if (!ret) - return NULL; - return gettext (re_error_msgid + re_error_msgid_idx[(int) ret]); -} -#ifdef _LIBC -weak_alias (__re_compile_pattern, re_compile_pattern) -#endif -=0C -/* Entry points compatible with 4.2 BSD regex library. We don't define - them unless specifically requested. */ - -#if defined _REGEX_RE_COMP || defined _LIBC - -/* BSD has one and only one pattern buffer. */ -static struct re_pattern_buffer re_comp_buf; - -char * -#ifdef _LIBC -/* Make these definitions weak in libc, so POSIX programs can redefine - these names if they don't use our functions, and still use - regcomp/regexec below without link errors. */ -weak_function -#endif -re_comp (s) - const char *s; -{ - reg_errcode_t ret; - - if (!s) - { - if (!re_comp_buf.buffer) - return gettext ("No previous regular expression"); - return 0; - } - - if (!re_comp_buf.buffer) - { - re_comp_buf.buffer =3D (unsigned char *) malloc (200); - if (re_comp_buf.buffer =3D=3D NULL) - return (char *) gettext (re_error_msgid - + re_error_msgid_idx[(int) REG_ESPACE]); - re_comp_buf.allocated =3D 200; - - re_comp_buf.fastmap =3D (char *) malloc (1 << BYTEWIDTH); - if (re_comp_buf.fastmap =3D=3D NULL) - return (char *) gettext (re_error_msgid - + re_error_msgid_idx[(int) REG_ESPACE]); - } - - /* Since `re_exec' always passes NULL for the `regs' argument, we - don't need to initialize the pattern buffer fields which affect it.= */ - - /* Match anchors at newlines. */ - re_comp_buf.newline_anchor =3D 1; - - ret =3D regex_compile (s, strlen (s), re_syntax_options, &re_comp_buf)= ; - - if (!ret) - return NULL; - - /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */ - return (char *) gettext (re_error_msgid + re_error_msgid_idx[(int) ret= ]); -} - - -int -#ifdef _LIBC -weak_function -#endif -re_exec (s) - const char *s; -{ - const int len =3D strlen (s); - return - 0 <=3D re_search (&re_comp_buf, s, len, 0, len, (struct re_registers= *) 0); -} - -#endif /* _REGEX_RE_COMP */ -=0C -/* POSIX.2 functions. Don't define these for Emacs. */ - -#ifndef emacs - -/* regcomp takes a regular expression as a string and compiles it. - - PREG is a regex_t *. We do not expect any fields to be initialized, - since POSIX says we shouldn't. Thus, we set - - `buffer' to the compiled pattern; - `used' to the length of the compiled pattern; - `syntax' to RE_SYNTAX_POSIX_EXTENDED if the - REG_EXTENDED bit in CFLAGS is set; otherwise, to - RE_SYNTAX_POSIX_BASIC; - `newline_anchor' to REG_NEWLINE being set in CFLAGS; - `fastmap' to an allocated space for the fastmap; - `fastmap_accurate' to zero; - `re_nsub' to the number of subexpressions in PATTERN. - - PATTERN is the address of the pattern string. - - CFLAGS is a series of bits which affect compilation. - - If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we= - use POSIX basic syntax. - - If REG_NEWLINE is set, then . and [^...] don't match newline. - Also, regexec will try a match beginning after every newline. - - If REG_ICASE is set, then we considers upper- and lowercase - versions of letters to be equivalent when matching. - - If REG_NOSUB is set, then when PREG is passed to regexec, that - routine will report only success or failure, and nothing about the - registers. - - It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for= - the return codes and their meanings.) */ - -int -regcomp (preg, pattern, cflags) - regex_t *preg; - const char *pattern; - int cflags; -{ - reg_errcode_t ret; - reg_syntax_t syntax - =3D (cflags & REG_EXTENDED) ? - RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC; - - /* regex_compile will allocate the space for the compiled pattern. */= - preg->buffer =3D 0; - preg->allocated =3D 0; - preg->used =3D 0; - - /* Try to allocate space for the fastmap. */ - preg->fastmap =3D (char *) malloc (1 << BYTEWIDTH); - - if (cflags & REG_ICASE) - { - unsigned i; - - preg->translate - =3D (RE_TRANSLATE_TYPE) malloc (CHAR_SET_SIZE - * sizeof (*(RE_TRANSLATE_TYPE)0)); - if (preg->translate =3D=3D NULL) - return (int) REG_ESPACE; - - /* Map uppercase characters to corresponding lowercase ones. */ - for (i =3D 0; i < CHAR_SET_SIZE; i++) - preg->translate[i] =3D ISUPPER (i) ? TOLOWER (i) : i; - } - else - preg->translate =3D NULL; - - /* If REG_NEWLINE is set, newlines are treated differently. */ - if (cflags & REG_NEWLINE) - { /* REG_NEWLINE implies neither . nor [^...] match newline. */ - syntax &=3D ~RE_DOT_NEWLINE; - syntax |=3D RE_HAT_LISTS_NOT_NEWLINE; - /* It also changes the matching behavior. */ - preg->newline_anchor =3D 1; - } - else - preg->newline_anchor =3D 0; - - preg->no_sub =3D !!(cflags & REG_NOSUB); - - /* POSIX says a null character in the pattern terminates it, so we - can use strlen here in compiling the pattern. */ - ret =3D regex_compile (pattern, strlen (pattern), syntax, preg); - - /* POSIX doesn't distinguish between an unmatched open-group and an - unmatched close-group: both are REG_EPAREN. */ - if (ret =3D=3D REG_ERPAREN) ret =3D REG_EPAREN; - - if (ret =3D=3D REG_NOERROR && preg->fastmap) - { - /* Compute the fastmap now, since regexec cannot modify the patter= n - buffer. */ - if (re_compile_fastmap (preg) =3D=3D -2) - { - /* Some error occured while computing the fastmap, just forget - about it. */ - free (preg->fastmap); - preg->fastmap =3D NULL; - } - } - - return (int) ret; -} -#ifdef _LIBC -weak_alias (__regcomp, regcomp) -#endif - - -/* regexec searches for a given pattern, specified by PREG, in the - string STRING. - - If NMATCH is zero or REG_NOSUB was set in the cflags argument to - `regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at - least NMATCH elements, and we set them to the offsets of the - corresponding matched substrings. - - EFLAGS specifies `execution flags' which affect matching: if - REG_NOTBOL is set, then ^ does not match at the beginning of the - string; if REG_NOTEOL is set, then $ does not match at the end. - - We return 0 if we find a match and REG_NOMATCH if not. */ - -int -regexec (preg, string, nmatch, pmatch, eflags) - const regex_t *preg; - const char *string; - size_t nmatch; - regmatch_t pmatch[]; - int eflags; -{ - int ret; - struct re_registers regs; - regex_t private_preg; - int len =3D strlen (string); - boolean want_reg_info =3D !preg->no_sub && nmatch > 0; - - private_preg =3D *preg; - - private_preg.not_bol =3D !!(eflags & REG_NOTBOL); - private_preg.not_eol =3D !!(eflags & REG_NOTEOL); - - /* The user has told us exactly how many registers to return - information about, via `nmatch'. We have to pass that on to the - matching routines. */ - private_preg.regs_allocated =3D REGS_FIXED; - - if (want_reg_info) - { - regs.num_regs =3D nmatch; - regs.start =3D TALLOC (nmatch * 2, regoff_t); - if (regs.start =3D=3D NULL) - return (int) REG_NOMATCH; - regs.end =3D regs.start + nmatch; - } - - /* Perform the searching operation. */ - ret =3D re_search (&private_preg, string, len, - /* start: */ 0, /* range: */ len, - want_reg_info ? ®s : (struct re_registers *) 0); - - /* Copy the register information to the POSIX structure. */ - if (want_reg_info) - { - if (ret >=3D 0) - { - unsigned r; - - for (r =3D 0; r < nmatch; r++) - { - pmatch[r].rm_so =3D regs.start[r]; - pmatch[r].rm_eo =3D regs.end[r]; - } - } - - /* If we needed the temporary register info, free the space now. = */ - free (regs.start); - } - - /* We want zero return to mean success, unlike `re_search'. */ - return ret >=3D 0 ? (int) REG_NOERROR : (int) REG_NOMATCH; -} -#ifdef _LIBC -weak_alias (__regexec, regexec) -#endif - - -/* Returns a message corresponding to an error code, ERRCODE, returned - from either regcomp or regexec. We don't use PREG here. */ - -size_t -regerror (errcode, preg, errbuf, errbuf_size) - int errcode; - const regex_t *preg; - char *errbuf; - size_t errbuf_size; -{ - const char *msg; - size_t msg_size; - - if (errcode < 0 - || errcode >=3D (int) (sizeof (re_error_msgid_idx) - / sizeof (re_error_msgid_idx[0]))) - /* Only error codes returned by the rest of the code should be passe= d - to this routine. If we are given anything else, or if other rege= x - code generates an invalid error code, then the program has a bug.= - Dump core so we can fix it. */ - abort (); - - msg =3D gettext (re_error_msgid + re_error_msgid_idx[errcode]); - - msg_size =3D strlen (msg) + 1; /* Includes the null. */ - - if (errbuf_size !=3D 0) - { - if (msg_size > errbuf_size) - { -#if defined HAVE_MEMPCPY || defined _LIBC - *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) =3D '\0'; -#else - memcpy (errbuf, msg, errbuf_size - 1); - errbuf[errbuf_size - 1] =3D 0; -#endif - } - else - memcpy (errbuf, msg, msg_size); - } - - return msg_size; -} -#ifdef _LIBC -weak_alias (__regerror, regerror) -#endif - - -/* Free dynamically allocated space used by PREG. */ - -void -regfree (preg) - regex_t *preg; -{ - if (preg->buffer !=3D NULL) - free (preg->buffer); - preg->buffer =3D NULL; - - preg->allocated =3D 0; - preg->used =3D 0; - - if (preg->fastmap !=3D NULL) - free (preg->fastmap); - preg->fastmap =3D NULL; - preg->fastmap_accurate =3D 0; - - if (preg->translate !=3D NULL) - free (preg->translate); - preg->translate =3D NULL; -} -#ifdef _LIBC -weak_alias (__regfree, regfree) -#endif - -#endif /* not emacs */ Index: m4/regex.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: m4/regex.h diff -N m4/regex.h --- m4/regex.h 27 Aug 2003 17:10:12 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,542 +0,0 @@ -/* Definitions for data structures and routines for the regular - expression library, version 0.12. - Copyright (C) 1985,89,90,91,92,93,95,96,97,98 Free Software Foundatio= n, Inc. - - This file is part of the GNU C Library. Its master source is NOT par= t of - the C library, however. The master source lives in /gd/gnu/lib. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License a= s - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If n= ot, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _REGEX_H -#define _REGEX_H 1 - -/* Allow the use in C++ code. */ -#ifdef __cplusplus -extern "C" { -#endif - -/* POSIX says that must be included (by the caller) before= - . */ - -#if !defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE && defined VMS -/* VMS doesn't have `size_t' in , even though POSIX says it= - should be there. */ -# include -#endif - -/* The following two types have to be signed and unsigned integer type - wide enough to hold a value of a pointer. For most ANSI compilers - ptrdiff_t and size_t should be likely OK. Still size of these two - types is 2 for Microsoft C. Ugh... */ -typedef long int s_reg_t; -typedef unsigned long int active_reg_t; - -/* The following bits are used to determine the regexp syntax we - recognize. The set/not-set meanings are chosen so that Emacs syntax - remains the value 0. The bits are given in alphabetical order, and - the definitions shifted by one from the previous bit; thus, when we - add or remove a bit, only one other definition need change. */ -typedef unsigned long int reg_syntax_t; - -/* If this bit is not set, then \ inside a bracket expression is literal= =2E - If set, then such a \ quotes the following character. */ -#define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) - -/* If this bit is not set, then + and ? are operators, and \+ and \? are= - literals. - If set, then \+ and \? are operators and + and ? are literals. */ -#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) - -/* If this bit is set, then character classes are supported. They are: - [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],= - [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. - If not set, then character classes are not supported. */ -#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) - -/* If this bit is set, then ^ and $ are always anchors (outside bracket - expressions, of course). - If this bit is not set, then it depends: - ^ is an anchor if it is at the beginning of a regular - expression or after an open-group or an alternation operator;= - $ is an anchor if it is at the end of a regular expression, or - before a close-group or an alternation operator. - - This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because - POSIX draft 11.2 says that * etc. in leading positions is undefined. - We already implemented a previous draft which made those constructs - invalid, though, so we haven't changed the code back. */ -#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) - -/* If this bit is set, then special characters are always special - regardless of where they are in the pattern. - If this bit is not set, then special characters are special only in - some contexts; otherwise they are ordinary. Specifically, - * + ? and intervals are only special when not after the beginning, - open-group, or alternation operator. */ -#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) - -/* If this bit is set, then *, +, ?, and { cannot be first in an re or - immediately after an alternation or begin-group operator. */ -#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) - -/* If this bit is set, then . matches newline. - If not set, then it doesn't. */ -#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) - -/* If this bit is set, then . doesn't match NUL. - If not set, then it does. */ -#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) - -/* If this bit is set, nonmatching lists [^...] do not match newline. - If not set, they do. */ -#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) - -/* If this bit is set, either \{...\} or {...} defines an - interval, depending on RE_NO_BK_BRACES. - If not set, \{, \}, {, and } are literals. */ -#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) - -/* If this bit is set, +, ? and | aren't recognized as operators. - If not set, they are. */ -#define RE_LIMITED_OPS (RE_INTERVALS << 1) - -/* If this bit is set, newline is an alternation operator. - If not set, newline is literal. */ -#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) - -/* If this bit is set, then `{...}' defines an interval, and \{ and \} - are literals. - If not set, then `\{...\}' defines an interval. */ -#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) - -/* If this bit is set, (...) defines a group, and \( and \) are literals= =2E - If not set, \(...\) defines a group, and ( and ) are literals. */ -#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) - -/* If this bit is set, then \ matches . - If not set, then \ is a back-reference. */ -#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) - -/* If this bit is set, then | is an alternation operator, and \| is lite= ral. - If not set, then \| is an alternation operator, and | is literal. */= -#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) - -/* If this bit is set, then an ending range point collating higher - than the starting range point, as in [z-a], is invalid. - If not set, then when ending range point collates higher than the - starting range point, the range is ignored. */ -#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) - -/* If this bit is set, then an unmatched ) is ordinary. - If not set, then an unmatched ) is invalid. */ -#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) - -/* If this bit is set, succeed as soon as we match the whole pattern, - without further backtracking. */ -#define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) - -/* If this bit is set, do not process the GNU regex operators. - If not set, then the GNU regex operators are recognized. */ -#define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) - -/* If this bit is set, turn on internal regex debugging. - If not set, and debugging was on, turn it off. - This only works if regex.c is compiled -DDEBUG. - We define this bit always, so that all that's needed to turn on - debugging is to recompile regex.c; the calling code can always have - this bit set, and it won't affect anything in the normal case. */ -#define RE_DEBUG (RE_NO_GNU_OPS << 1) - -/* This global variable defines the particular regexp syntax to use (for= - some interfaces). When a regexp is compiled, the syntax used is - stored in the pattern buffer, so changing this does not affect - already-compiled regexps. */ -extern reg_syntax_t re_syntax_options; -=0C -/* Define combinations of the above bits for the standard possibilities.= - (The [[[ comments delimit what gets put into the Texinfo file, so - don't delete them!) */ -/* [[[begin syntaxes]]] */ -#define RE_SYNTAX_EMACS 0 - -#define RE_SYNTAX_AWK \ - (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ - | RE_NO_BK_PARENS | RE_NO_BK_REFS \ - | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ - | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ - | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) - -#define RE_SYNTAX_GNU_AWK \ - ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) = \ - & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS)) - -#define RE_SYNTAX_POSIX_AWK \ - (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ - | RE_INTERVALS | RE_NO_GNU_OPS) - -#define RE_SYNTAX_GREP \ - (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ - | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ - | RE_NEWLINE_ALT) - -#define RE_SYNTAX_EGREP \ - (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ - | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ - | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ - | RE_NO_BK_VBAR) - -#define RE_SYNTAX_POSIX_EGREP \ - (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES) - -/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ -#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC - -#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC - -/* Syntax bits common to both basic and extended POSIX regex syntax. */= -#define _RE_SYNTAX_POSIX_COMMON \ - (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ - | RE_INTERVALS | RE_NO_EMPTY_RANGES) - -#define RE_SYNTAX_POSIX_BASIC \ - (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM) - -/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes - RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this - isn't minimal, since other operators, such as \`, aren't disabled. *= / -#define RE_SYNTAX_POSIX_MINIMAL_BASIC \ - (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) - -#define RE_SYNTAX_POSIX_EXTENDED \ - (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ - | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ - | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ - | RE_UNMATCHED_RIGHT_PAREN_ORD) - -/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS - replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */ -#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ - (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ - | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ - | RE_NO_BK_PARENS | RE_NO_BK_REFS \ - | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) -/* [[[end syntaxes]]] */ -=0C -/* Maximum number of duplicates an interval can allow. Some systems - (erroneously) define this in other header files, but we want our - value, so remove any previous define. */ -#ifdef RE_DUP_MAX -# undef RE_DUP_MAX -#endif -/* If sizeof(int) =3D=3D 2, then ((1 << 15) - 1) overflows. */ -#define RE_DUP_MAX (0x7fff) - - -/* POSIX `cflags' bits (i.e., information for `regcomp'). */ - -/* If this bit is set, then use extended regular expression syntax. - If not set, then use basic regular expression syntax. */ -#define REG_EXTENDED 1 - -/* If this bit is set, then ignore case when matching. - If not set, then case is significant. */ -#define REG_ICASE (REG_EXTENDED << 1) - -/* If this bit is set, then anchors do not match at newline - characters in the string. - If not set, then anchors do match at newlines. */ -#define REG_NEWLINE (REG_ICASE << 1) - -/* If this bit is set, then report only success or fail in regexec. - If not set, then returns differ between not matching and errors. */ -#define REG_NOSUB (REG_NEWLINE << 1) - - -/* POSIX `eflags' bits (i.e., information for regexec). */ - -/* If this bit is set, then the beginning-of-line operator doesn't match= - the beginning of the string (presumably because it's not the - beginning of a line). - If not set, then the beginning-of-line operator does match the - beginning of the string. */ -#define REG_NOTBOL 1 - -/* Like REG_NOTBOL, except for the end-of-line. */ -#define REG_NOTEOL (1 << 1) - - -/* If any error codes are removed, changed, or added, update the - `re_error_msg' table in regex.c. */ -typedef enum -{ -#ifdef _XOPEN_SOURCE - REG_ENOSYS =3D -1, /* This will never happen for this implementation. = */ -#endif - - REG_NOERROR =3D 0, /* Success. */ - REG_NOMATCH, /* Didn't find a match (for regexec). */ - - /* POSIX regcomp return error codes. (In the order listed in the - standard.) */ - REG_BADPAT, /* Invalid pattern. */ - REG_ECOLLATE, /* Not implemented. */ - REG_ECTYPE, /* Invalid character class name. */ - REG_EESCAPE, /* Trailing backslash. */ - REG_ESUBREG, /* Invalid back reference. */ - REG_EBRACK, /* Unmatched left bracket. */ - REG_EPAREN, /* Parenthesis imbalance. */ - REG_EBRACE, /* Unmatched \{. */ - REG_BADBR, /* Invalid contents of \{\}. */ - REG_ERANGE, /* Invalid range end. */ - REG_ESPACE, /* Ran out of memory. */ - REG_BADRPT, /* No preceding re for repetition op. */ - - /* Error codes we've added. */ - REG_EEND, /* Premature end. */ - REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ - REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ -} reg_errcode_t; -=0C -/* This data structure represents a compiled pattern. Before calling - the pattern compiler, the fields `buffer', `allocated', `fastmap', - `translate', and `no_sub' can be set. After the pattern has been - compiled, the `re_nsub' field is available. All other fields are - private to the regex routines. */ - -#ifndef RE_TRANSLATE_TYPE -# define RE_TRANSLATE_TYPE char * -#endif - -struct re_pattern_buffer -{ -/* [[[begin pattern_buffer]]] */ - /* Space that holds the compiled pattern. It is declared as - `unsigned char *' because its elements are - sometimes used as array indexes. */ - unsigned char *buffer; - - /* Number of bytes to which `buffer' points. */ - unsigned long int allocated; - - /* Number of bytes actually used in `buffer'. */ - unsigned long int used; - - /* Syntax setting with which the pattern was compiled. */ - reg_syntax_t syntax; - - /* Pointer to a fastmap, if any, otherwise zero. re_search uses= - the fastmap, if there is one, to skip over impossible - starting points for matches. */ - char *fastmap; - - /* Either a translate table to apply to all characters before - comparing them, or zero for no translation. The translation - is applied to a pattern when it is compiled and to a string - when it is matched. */ - RE_TRANSLATE_TYPE translate; - - /* Number of subexpressions found by the compiler. */ - size_t re_nsub; - - /* Zero if this pattern cannot match the empty string, one else.= - Well, in truth it's used only in `re_search_2', to see - whether or not we should use the fastmap, so we don't set - this absolutely perfectly; see `re_compile_fastmap' (the - `duplicate' case). */ - unsigned can_be_null : 1; - - /* If REGS_UNALLOCATED, allocate space in the `regs' structure - for `max (RE_NREGS, re_nsub + 1)' groups. - If REGS_REALLOCATE, reallocate space if necessary. - If REGS_FIXED, use what's there. */ -#define REGS_UNALLOCATED 0 -#define REGS_REALLOCATE 1 -#define REGS_FIXED 2 - unsigned regs_allocated : 2; - - /* Set to zero when `regex_compile' compiles a pattern; set to o= ne - by `re_compile_fastmap' if it updates the fastmap. */ - unsigned fastmap_accurate : 1; - - /* If set, `re_match_2' does not return information about - subexpressions. */ - unsigned no_sub : 1; - - /* If set, a beginning-of-line anchor doesn't match at the - beginning of the string. */ - unsigned not_bol : 1; - - /* Similarly for an end-of-line anchor. */ - unsigned not_eol : 1; - - /* If true, an anchor at a newline matches. */ - unsigned newline_anchor : 1; - -/* [[[end pattern_buffer]]] */ -}; - -typedef struct re_pattern_buffer regex_t; -=0C -/* Type for byte offsets within the string. POSIX mandates this. */ -typedef int regoff_t; - - -/* This is the structure we store register match data in. See - regex.texinfo for a full description of what registers match. */ -struct re_registers -{ - unsigned num_regs; - regoff_t *start; - regoff_t *end; -}; - - -/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, - `re_match_2' returns information about at least this many registers - the first time a `regs' structure is passed. */ -#ifndef RE_NREGS -# define RE_NREGS 30 -#endif - - -/* POSIX specification for registers. Aside from the different names th= an - `re_registers', POSIX uses an array of structures, instead of a - structure of arrays. */ -typedef struct -{ - regoff_t rm_so; /* Byte offset from string's start to substring's sta= rt. */ - regoff_t rm_eo; /* Byte offset from string's start to substring's end= =2E */ -} regmatch_t; -=0C -/* Declarations for routines. */ - -/* To avoid duplicating every routine declaration -- once with a - prototype (if we are ANSI), and once without (if we aren't) -- we - use the following macro to declare argument types. This - unfortunately clutters up the declarations a bit, but I think it's - worth it. */ - -#if __STDC__ - -# define _RE_ARGS(args) args - -#else /* not __STDC__ */ - -# define _RE_ARGS(args) () - -#endif /* not __STDC__ */ - -/* Sets the current default syntax to SYNTAX, and return the old syntax.= - You can also simply assign to the `re_syntax_options' variable. */ -extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax)); - -/* Compile the regular expression PATTERN, with length LENGTH - and syntax given by the global `re_syntax_options', into the buffer - BUFFER. Return NULL if successful, and an error string if not. */ -extern const char *re_compile_pattern - _RE_ARGS ((const char *pattern, size_t length, - struct re_pattern_buffer *buffer)); - - -/* Compile a fastmap for the compiled pattern in BUFFER; used to - accelerate searches. Return 0 if successful and -2 if was an - internal error. */ -extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffe= r)); - - -/* Search in the string STRING (with length LENGTH) for the pattern - compiled into BUFFER. Start searching at position START, for RANGE - characters. Return the starting position of the match, -1 for no - match, or -2 for an internal error. Also return register - information in REGS (if REGS and BUFFER->no_sub are nonzero). */ -extern int re_search - _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string, - int length, int start, int range, struct re_registers *regs)= ); - - -/* Like `re_search', but search in the concatenation of STRING1 and - STRING2. Also, stop searching at index START + STOP. */ -extern int re_search_2 - _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1, - int length1, const char *string2, int length2, - int start, int range, struct re_registers *regs, int stop))= ; - - -/* Like `re_search', but return how many characters in STRING the regexp= - in BUFFER matched, starting at position START. */ -extern int re_match - _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string, - int length, int start, struct re_registers *regs)); - - -/* Relates to `re_match' as `re_search_2' relates to `re_search'. */ -extern int re_match_2 - _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1, - int length1, const char *string2, int length2, - int start, struct re_registers *regs, int stop)); - - -/* Set REGS to hold NUM_REGS registers, storing them in STARTS and - ENDS. Subsequent matches using BUFFER and REGS will use this memory - for recording register information. STARTS and ENDS must be - allocated with malloc, and must each be at least `NUM_REGS * sizeof - (regoff_t)' bytes long. - - If NUM_REGS =3D=3D 0, then subsequent matches should allocate their o= wn - register data. - - Unless this function is called, the first search or match using - PATTERN_BUFFER will allocate its own register data, without - freeing the old data. */ -extern void re_set_registers - _RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs= , - unsigned num_regs, regoff_t *starts, regoff_t *ends)); - -#if defined _REGEX_RE_COMP || defined _LIBC -# ifndef _CRAY -/* 4.2 bsd compatibility. */ -extern char *re_comp _RE_ARGS ((const char *)); -extern int re_exec _RE_ARGS ((const char *)); -# endif -#endif - -/* POSIX compatibility. */ -extern int regcomp _RE_ARGS ((regex_t *__preg, const char *__pattern, - int __cflags)); - -extern int regexec _RE_ARGS ((const regex_t *__preg, - const char *__string, size_t __nmatch, - regmatch_t __pmatch[], int __eflags)); - -extern size_t regerror _RE_ARGS ((int __errcode, const regex_t *__preg, - char *__errbuf, size_t __errbuf_size)); - -extern void regfree _RE_ARGS ((regex_t *__preg)); - - -#ifdef __cplusplus -} -#endif /* C++ */ - -#endif /* regex.h */ -=0C -/* -Local variables: -make-backup-files: t -version-control: t -trim-versions-without-asking: nil -End: -*/ Index: m4/system_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/system_.h,v retrieving revision 1.5 diff -u -p -u -r1.5 system_.h --- m4/system_.h 11 Sep 2003 23:53:42 -0000 1.5 +++ m4/system_.h 12 Sep 2003 13:25:30 -0000 @@ -1,5 +1,5 @@ /* GNU m4 -- A simple macro processor - Copyright 2000 Free Software Foundation, Inc. + Copyright 2000, 2001, 2003 Free Software Foundation, Inc. =20 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 @@ -32,6 +32,7 @@ #include @INCLUDE_ERROR_H@ @INCLUDE_OBSTACK_H@ +@INCLUDE_REGEX_H@ @INCLUDE_STDBOOL_H@ #include #include Index: po/POTFILES.in =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/POTFILES.in,v retrieving revision 1.8 diff -u -p -u -r1.8 POTFILES.in --- po/POTFILES.in 5 Sep 2003 18:32:27 -0000 1.8 +++ po/POTFILES.in 12 Sep 2003 13:25:30 -0000 @@ -1,6 +1,6 @@ gnulib/m4/obstack.c gnulib/m4/xmalloc.c -m4/regex.c +gnulib/m4/regex.c m4/builtin.c m4/debug.c m4/input.c Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.32 diff -u -p -u -r1.32 cs.po --- po/cs.po 10 Sep 2003 17:12:02 -0000 1.32 +++ po/cs.po 12 Sep 2003 13:25:30 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -229,7 +229,7 @@ msgid "diversion too large" msgstr "" =20 # , c-format -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Hled=E1n soubor `%s', nalezen soubor `%s'" @@ -488,7 +488,8 @@ msgstr "" " -E, --fatal-warnings skon=E8=ED po prvn=EDm varov=E1n=ED\n" " -Q, --quiet, --silent potla=E8=ED n=ECkter=E1 varov=E1n=ED t=FD= kaj=EDc=ED se\n" " vestav=ECn=FDch maker\n" -" -P, --prefix-builtins v=B9echna vestav=ECn=E1 makra budou m=ED= t prefix `m4_'\n" +" -P, --prefix-builtins v=B9echna vestav=ECn=E1 makra budou m=ED= t prefix " +"`m4_'\n" =20 #: src/main.c:105 #, c-format @@ -528,7 +529,8 @@ msgstr "" "\n" "Nastaven=ED limit=F9:\n" " -G, --traditional vypne roz=B9=ED=F8en=ED GNU\n" -" -H, --hashsize=3DPRVO=C8=CDSLO velikost hash tabulky pro vyhled=E1= v=E1n=ED symbol=F9\n" +" -H, --hashsize=3DPRVO=C8=CDSLO velikost hash tabulky pro vyhled=E1= v=E1n=ED " +"symbol=F9\n" " -L, --nesting-limit=3D=C8=CDSLO nastav=ED limit pro vno=F8en=E1 v= ol=E1n=ED maker\n" =20 #: src/main.c:125 @@ -559,7 +561,8 @@ msgstr "" " -t, --trace=3DMAKRO sleduje MAKRO, kdy=BE je definov=E1no= \n" " -l, --arglength=3DPO=C8ET reguluje po=E8et v=FDstupn=EDch inf= ormac=ED\n" " ze sledov=E1n=ED maker\n" -" -o, --error-output=3DSOUBOR p=F8esm=ECruje v=FDstup lad=ECn=ED a = sledov=E1n=ED do SOUBORU\n" +" -o, --error-output=3DSOUBOR p=F8esm=ECruje v=FDstup lad=ECn=ED a = sledov=E1n=ED do " +"SOUBORU\n" =20 #: src/main.c:139 msgid "" @@ -597,7 +600,8 @@ msgid "" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" "\n" -"Jestli=BEe SOUBOR nen=ED zad=E1n, nebo je SOUBOR `-', pak je =E8ten sta= ndardn=ED vstup.\n" +"Jestli=BEe SOUBOR nen=ED zad=E1n, nebo je SOUBOR `-', pak je =E8ten sta= ndardn=ED " +"vstup.\n" =20 #: src/main.c:159 msgid "" @@ -647,7 +651,8 @@ msgid "" "Memory bounds violation detected (SIGSEGV). Either a stack overflow\n"= "occurred, or there is a bug in " msgstr "" -"Neopr=E1vn=ECn=FD p=F8=EDstup do pam=ECti (SIGSEGV). Jedn=E1 se bu=EF o= p=F8ete=E8en=ED z=E1sobn=EDku,\n" +"Neopr=E1vn=ECn=FD p=F8=EDstup do pam=ECti (SIGSEGV). Jedn=E1 se bu=EF o= p=F8ete=E8en=ED " +"z=E1sobn=EDku,\n" "nebo o chybu " =20 #: src/stackovf.c:204 @@ -743,7 +748,8 @@ msgstr ". Prov=EC=F8te, zda se nejedn=E1 o ne #~ msgstr "VNIT=D8N=CD CHYBA: =B9patn=FD chybov=FD k=F3d v evaluate ()" =20 #~ msgid "INTERNAL ERROR: Builtin not found in builtin table!" -#~ msgstr "VNIT=D8N=CD CHYBA: Vestav=ECn=E9 makro nenalezeno v tabulce v= estav=ECn=FDch maker!" +#~ msgstr "" +#~ "VNIT=D8N=CD CHYBA: Vestav=ECn=E9 makro nenalezeno v tabulce vestav=EC= n=FDch maker!" =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type in produce_symbol_dump ()"= @@ -774,7 +780,9 @@ msgstr ". Prov=EC=F8te, zda se nejedn=E1 o ne #~ msgstr "VNIT=D8N=CD CHYBA: =B9patn=FD typ symbolu v m4_defn ()" =20 #~ msgid " -W, --word-regexp=3DREGEXP use REGEXP for macro name syn= tax\n" -#~ msgstr " -W, --word-regexp=3DREGV=DDR syntaxe jmen maker bude ur=E8= ena pomoc=ED REGV=DDR\n" +#~ msgstr "" +#~ " -W, --word-regexp=3DREGV=DDR syntaxe jmen maker bude ur=E8ena p= omoc=ED " +#~ "REGV=DDR\n" =20 # , c-format #~ msgid "Non-numeric argument to %s" @@ -816,7 +824,8 @@ msgstr ". Prov=EC=F8te, zda se nejedn=E1 o ne #~ msgstr "CHYBA: modul `%s' nelze nal=E9zt" =20 #~ msgid "INTERNAL ERROR: Built-in not found in builtin table!" -#~ msgstr "VNIT=D8N=CD CHYBA: Vestav=ECn=E9 makro nenalezeno v tabulce v= estav=ECn=FDch maker!" +#~ msgstr "" +#~ "VNIT=D8N=CD CHYBA: Vestav=ECn=E9 makro nenalezeno v tabulce vestav=EC= n=FDch maker!" =20 # , c-format #, fuzzy @@ -834,7 +843,9 @@ msgstr ". Prov=EC=F8te, zda se nejedn=E1 o ne =20 # , c-format #~ msgid "Warning: Excess arguments to built-in `%s' ignored" -#~ msgstr "Varov=E1n=ED: p=F8=EDli=B9 mnoho argument=F9 pro vestav=ECn=E9= makro `%s' - budou ignorov=E1ny" +#~ msgstr "" +#~ "Varov=E1n=ED: p=F8=EDli=B9 mnoho argument=F9 pro vestav=ECn=E9 makro= `%s' - budou " +#~ "ignorov=E1ny" =20 # , c-format #~ msgid "Non-numeric argument to built-in `%s'" Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.32 diff -u -p -u -r1.32 de.po --- po/de.po 10 Sep 2003 17:12:02 -0000 1.32 +++ po/de.po 12 Sep 2003 13:25:30 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -126,7 +126,8 @@ msgstr "FEHLER: Dateiende in Argumentlis #: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" -msgstr "FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L<= N> zur =C4nderung" +msgstr "" +"FEHLER: Grenze der Rekursion von %d =FCberschritten, benutze -L zur = =C4nderung" =20 #: m4/macro.c:425 #, c-format @@ -218,7 +219,7 @@ msgstr "Kann `stat' nicht auf Umleitung=20 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Pfad f=FCr Suche nach =BB%s=AB hat =BB%s=AB gefunden" @@ -354,7 +355,9 @@ msgstr "Fehlerhafte eingefrorene Datei" #: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" -msgstr "=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebaute= n Funktionen gefunden!" +msgstr "" +"=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebauten Funkt= ionen " +"gefunden!" =20 #: src/getopt.c:677 #, c-format @@ -450,8 +453,10 @@ msgstr "" " --version zeige Versionsinformation an und beende\= n" " -e, --interactive keine Ausgabepufferung, ignoriere Interr= upts\n" " -E, --fatal-warnings beende Ausf=FChrung nach erster Warnung\= n" -" -Q, --quiet, --silent unterdr=FCcke Warnungen bei eingebauten = Funktionen\n" -" -P, --prefix-builtins erzwinge `m4_' Pr=E4fix f=FCr eingebaute= Funktionen\n" +" -Q, --quiet, --silent unterdr=FCcke Warnungen bei eingebauten = " +"Funktionen\n" +" -P, --prefix-builtins erzwinge `m4_' Pr=E4fix f=FCr eingebaute= " +"Funktionen\n" =20 #: src/main.c:105 #, fuzzy, c-format @@ -496,7 +501,8 @@ msgstr "" "Setze Grenzen:\n" " -G, --traditional schalte alle GNU Erweiterungen aus\n" " -H, --hashsize=3DPRIMZAHL setze Gr=F6=DFe der Symbol-Hashtabelle= \n" -" -L, --nesting-limit=3DNUMMER setze k=FCnstliche Grenze f=FCr Schach= telungstiefe\n" +" -L, --nesting-limit=3DNUMMER setze k=FCnstliche Grenze f=FCr " +"Schachtelungstiefe\n" =20 #: src/main.c:125 msgid "" @@ -734,7 +740,8 @@ msgstr ". Untersuche auf m=F6gliche unend #~ msgstr "INTERNER FEHLER: Falscher Symboltyp in m4_defn ()" =20 #~ msgid " -W, --word-regexp=3DREGEXP use REGEXP for macro name syn= tax\n" -#~ msgstr " -W, --word-regexp=3DREGEXP benutze REGEXP f=FCr Makrona= mensyntax\n" +#~ msgstr "" +#~ " -W, --word-regexp=3DREGEXP benutze REGEXP f=FCr Makronamensynt= ax\n" =20 #~ msgid "Non-numeric argument to %s" #~ msgstr "Nicht-numerisches Argument in %s" @@ -782,7 +789,8 @@ msgstr ". Untersuche auf m=F6gliche unend #~ msgstr "Warnung: Zu wenig Argumente f=FCr eingebaute Funktion =BB%s=AB= " =20 #~ msgid "Warning: Excess arguments to built-in `%s' ignored" -#~ msgstr "Warnung: =DCbersch=FCssige Argumente f=FCr eingebaute Funktio= n =BB%s=AB ignoriert" +#~ msgstr "" +#~ "Warnung: =DCbersch=FCssige Argumente f=FCr eingebaute Funktion =BB%s= =AB ignoriert" =20 #~ msgid "Non-numeric argument to built-in `%s'" #~ msgstr "Nicht-numerisches Argument in eingebauter Funktion =BB%s=AB" Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.32 diff -u -p -u -r1.32 el.po --- po/el.po 10 Sep 2003 17:12:02 -0000 1.32 +++ po/el.po 12 Sep 2003 13:25:30 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -122,7 +122,9 @@ msgstr "=D3=D6=C1=CB=CC=C1: EOF =F3=F4=E7 =EB=DF=F3=F4= =E1 =EF=F1=E9=F3=EC=DC=F4=F9=ED" #: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" -msgstr "=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE= =F2 %d =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7= =F4=EF=F5 -L =E3=E9=E1 =ED=E1 =F4=EF =E1=EB=EB=DC=EE=E5=F4=E5" +msgstr "" +"=D3=D6=C1=CB=CC=C1: =D4=EF =FC=F1=E9=EF =E1=ED=E1=E4=F1=EF=EC=DE=F2 %d = =EE=E5=F0=E5=F1=DC=F3=F4=E7=EA=E5, =EA=DC=ED=F4=E5 =F7=F1=DE=F3=E7 =F4=EF= =F5 -L =E3=E9=E1 =ED=E1 =F4=EF " +"=E1=EB=EB=DC=EE=E5=F4=E5" =20 #: m4/macro.c:425 #, c-format @@ -214,7 +216,7 @@ msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =F0=F1=EF=F3=F0=DD=EB= =E1=F3=E7=F2 =F4=EF=F5 =E1=F1=F7=E5=DF=EF=F5 msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=CF =DD=EB=E5=E3=F7=EF=F2 =EC=EF=ED=EF=F0=E1=F4=E9=EF=FD =E3=E9=E1= =F4=EF `%s' =E2=F1=DE=EA=E5 `%s'" @@ -301,7 +303,9 @@ msgstr "=C1=E4=F5=ED=E1=EC=DF=E1 =E1=ED=EF=DF=E3=EC=E1= =F4=EF=F2 =F3=F9=EB=DE=ED=F9=F3=E7=F2 =F3=F4 =20 #: modules/gnu.c:598 msgid "WARNING: \\0 will disappear, use \\& instead in replacements" -msgstr "=D0=D1=CF=C5=C9=C4=CF=D0=CF=C9=C7=D3=C7: =D4=EF \\0 =E8=E1 =E5=EE= =E1=F6=E1=ED=E9=F3=F4=E5=DF, =EA=DC=ED=E5=F4=E5 =F7=F1=DE=F3=E7 =F4=EF=F5= \\& =E1=ED=F4=DF=E8=E5=F4=E1 =F3=F4=E9=F2 =E1=ED=F4=E9=EA=E1=F4=E1=F3=F4= =DC=F3=E5=E9=F2" +msgstr "" +"=D0=D1=CF=C5=C9=C4=CF=D0=CF=C9=C7=D3=C7: =D4=EF \\0 =E8=E1 =E5=EE=E1=F6= =E1=ED=E9=F3=F4=E5=DF, =EA=DC=ED=E5=F4=E5 =F7=F1=DE=F3=E7 =F4=EF=F5 \\& =E1= =ED=F4=DF=E8=E5=F4=E1 =F3=F4=E9=F2 " +"=E1=ED=F4=E9=EA=E1=F4=E1=F3=F4=DC=F3=E5=E9=F2" =20 #: modules/load.c:78 modules/m4.c:145 #, fuzzy, c-format @@ -438,16 +442,20 @@ msgid "" " -Q, --quiet, --silent suppress some warnings for builtins\n" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" -"=D5=F0=EF=F7=F1=E5=F9=F4=E9=EA=DC =DE =F0=F1=EF=E1=E9=F1=E5=F4=E9=EA=DC= =EF=F1=DF=F3=EC=E1=F4=E1 =F3=E5 =EC=E1=EA=F1=DD=F2 =E5=F0=E9=EB=EF=E3=DD= =F2 =E5=DF=ED=E1=E9 =F5=F0=EF=F7=F1=E5=F9=F4=E9=EA=DC =DE =F0=F1=EF=E1=E9= =F1=E5=F4=E9=EA=DC\n" +"=D5=F0=EF=F7=F1=E5=F9=F4=E9=EA=DC =DE =F0=F1=EF=E1=E9=F1=E5=F4=E9=EA=DC= =EF=F1=DF=F3=EC=E1=F4=E1 =F3=E5 =EC=E1=EA=F1=DD=F2 =E5=F0=E9=EB=EF=E3=DD= =F2 =E5=DF=ED=E1=E9 =F5=F0=EF=F7=F1=E5=F9=F4=E9=EA=DC =DE " +"=F0=F1=EF=E1=E9=F1=E5=F4=E9=EA=DC\n" "=EA=E1=E9 =E3=E9=E1 =F4=E7=F2 =F3=FD=ED=F4=EF=EC=E5=F2 =E5=F0=E9=EB=EF=E3= =DD=F2 =E5=F0=DF=F3=E5=E9=F2.\n" "\n" "=CA=E1=F4=E1=F3=F4=DC=F3=E5=E9=F2 =EB=E5=E9=F4=EF=F5=F1=E3=DF=E1=F2:\n"= " --help =E5=EC=F6=DC=ED=E9=F3=E7 =E1=F5=F4=DE=F2= =F4=E7=F2 =E2=EF=DE=E8=E5=E9=E1=F2 =EA=E1=E9 =DD=EE=EF=E4=EF=F2\n" " --version =E5=EC=F6=DC=ED=E9=F3=E7 =F0=EB=E7=F1=EF= =F6=EF=F1=E9=FE=ED =DD=EA=E4=EF=F3=E7=F2 =EA=E1=E9 =DD=EE=EF=E4=EF=F2\n" " -e, --interactive =DD=EE=EF=E4=EF=F2 =F7=F9=F1=DF=F2 =E5=ED= =F4=E1=EC=E9=E5=F5=F4=DE, =E1=E3=ED=FC=E7=F3=E7 =E4=E9=E1=EA=EF=F0=FE=ED\= n" -" -E, --fatal-warnings =E4=E9=E1=EA=EF=F0=DE =E5=EA=F4=DD=EB=E5= =F3=E7=F2 =EC=E5=F4=DC =E1=F0=FC =F4=E7 =F0=F1=FE=F4=E7 =F0=F1=EF=E5=E9=E4= =EF=F0=EF=DF=E7=F3=E7\n" -" -Q, --quiet, --silent =E1=F0=FC=EA=F1=F5=F8=E7 =EC=E5=F1=E9=EA= =FE=ED =F0=F1=EF=E5=E9=E4=EF=F0=EF=E9=DE=F3=E5=F9=ED =F3=F4=E1 =E5=F3=F9=E4= =EF=EC=E7=EC=DD=ED=E1\n" -" -P, --prefix-builtins =E5=F0=E9=E2=EF=EB=DE =F0=F1=EF=E8=DD=EC= =E1=F4=EF=F2 `m4_' =F3=E5 =FC=EB=E1 =F4=E1 =E5=F3=F9=E4=EF=EC=E7=EC=DD=ED= =E1\n" +" -E, --fatal-warnings =E4=E9=E1=EA=EF=F0=DE =E5=EA=F4=DD=EB=E5= =F3=E7=F2 =EC=E5=F4=DC =E1=F0=FC =F4=E7 =F0=F1=FE=F4=E7 " +"=F0=F1=EF=E5=E9=E4=EF=F0=EF=DF=E7=F3=E7\n" +" -Q, --quiet, --silent =E1=F0=FC=EA=F1=F5=F8=E7 =EC=E5=F1=E9=EA= =FE=ED =F0=F1=EF=E5=E9=E4=EF=F0=EF=E9=DE=F3=E5=F9=ED =F3=F4=E1 " +"=E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=E1\n" +" -P, --prefix-builtins =E5=F0=E9=E2=EF=EB=DE =F0=F1=EF=E8=DD=EC= =E1=F4=EF=F2 `m4_' =F3=E5 =FC=EB=E1 =F4=E1 " +"=E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=E1\n" =20 #: src/main.c:105 #, c-format @@ -469,10 +477,12 @@ msgid "" msgstr "" "\n" "=D7=E1=F1=E1=EA=F4=E7=F1=E9=F3=F4=E9=EA=DC =F0=F1=EF=E5=F0=E5=EE=E5=F1=E3= =E1=F3=F4=DE:\n" -" -I, --include=3D=CA=C1=D4=C1=CB=CF=C3=CF=D3 =F8=DC=EE=E9=EC=EF =EC= =E5=F4=DC =EA=E1=E9 =F3=F4=EF =EA=E1=F4=DC=EB=EF=E3=EF =E1=F5=F4=FC =E3=E9= =E1 =F0=E5=F1=E9=EB=E1=EC=E2=E1=ED=FC=EC=E5=ED=E1\n" +" -I, --include=3D=CA=C1=D4=C1=CB=CF=C3=CF=D3 =F8=DC=EE=E9=EC=EF =EC= =E5=F4=DC =EA=E1=E9 =F3=F4=EF =EA=E1=F4=DC=EB=EF=E3=EF =E1=F5=F4=FC =E3=E9= =E1 " +"=F0=E5=F1=E9=EB=E1=EC=E2=E1=ED=FC=EC=E5=ED=E1\n" " -D, --define=3D=CF=CD=CF=CC=C1[=3D=D4=C9=CC=C7] =E5=E9=F3=E1=E3=F9= =E3=DE =CF=CD=BC=EC=E1=F4=EF=F2 =EC=E5 =D4=C9=CC=C7, =DE =EA=E5=ED=FC\n" " -U, --undefine=3D=CF=CD=CF=CC=C1 =E4=E9=E1=E3=F1=E1=F6=DE =E5= =F3=F9=E4=EF=EC=E7=EC=DD=ED=EF=F5 =CF=CD=BC=CC=C1=F4=EF=F2\n" -" -s, --synclines =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =E3=F1=E1= =EC=EC=FE=ED `#line =C1=D1=C9=C8=CC=CF=D3 \"=C1=D1=D7=C5=C9=CF\"'\n" +" -s, --synclines =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =E3=F1=E1= =EC=EC=FE=ED `#line =C1=D1=C9=C8=CC=CF=D3 \"=C1=D1=D7=C5=C9=CF" +"\"'\n" =20 #: src/main.c:119 #, fuzzy @@ -497,8 +507,10 @@ msgid "" msgstr "" "\n" "=C1=F1=F7=E5=DF=E1 =F0=E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3= =E7=F2:\n" -" -F, --freeze-state=3DARXEIO =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =F0=E1=E3= =F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =F3=F4=EF =C1=D1=D7=C5=C9= =CF =F3=F4=EF =F4=DD=EB=EF=F2\n" -" -R, --reload-state=3DARXEIO =F6=FC=F1=F4=F9=EC=E1 =EE=E1=ED=DC =F0= =E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =E1=F0=FC =C1=D1=D7= =C5=C9=CF =F3=F4=E7=ED =E5=EA=EA=DF=ED=E7=F3=E7\n" +" -F, --freeze-state=3DARXEIO =E4=E7=EC=E9=EF=F5=F1=E3=DF=E1 =F0=E1=E3= =F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =F3=F4=EF =C1=D1=D7=C5=C9= =CF " +"=F3=F4=EF =F4=DD=EB=EF=F2\n" +" -R, --reload-state=3DARXEIO =F6=FC=F1=F4=F9=EC=E1 =EE=E1=ED=DC =F0= =E1=E3=F9=EC=DD=ED=E7=F2 =EA=E1=F4=DC=F3=F4=E1=F3=E7=F2 =E1=F0=FC =C1=D1=D7= =C5=C9=CF " +"=F3=F4=E7=ED =E5=EA=EA=DF=ED=E7=F3=E7\n" =20 #: src/main.c:131 msgid "" @@ -511,10 +523,12 @@ msgid "" msgstr "" "\n" "=C5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7:\n" -" -d, --debug=3D[=D3=C7=CC=C1=C9=C5=D3] =EF=F1=E9=F3=EC=FC=F2 =E5= =F0=E9=F0=DD=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7=F2 (=F7=F9=F1=DF= =F2 =D3=C7=CC=C1=C9=C5=D3 =F5=F0=EF=ED=EF=E5=DF `aeq')\n" +" -d, --debug=3D[=D3=C7=CC=C1=C9=C5=D3] =EF=F1=E9=F3=EC=FC=F2 =E5= =F0=E9=F0=DD=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7=F2 (=F7=F9=F1=DF= =F2 =D3=C7=CC=C1=C9=C5=D3 " +"=F5=F0=EF=ED=EF=E5=DF `aeq')\n" " -t, --trace=3DONOMA =E1=ED=DF=F7=ED=E5=F5=F3=E7 =CF=CD=BC=CC= =C1=F4=EF=F2 =FC=F4=E1=ED =E1=F5=F4=FC =E8=E1 =EF=F1=E9=F3=F4=E5=DF\n" " -l, --arglength=3D=C1=D1=C9=C8=CC =F0=E5=F1=E9=EF=F1=E9=F3=EC=FC= =F2 =EC=E5=E3=DD=E8=EF=F5=F2 =E1=ED=DF=F7=ED=E5=F5=F3=E7=F2 =EC=E1=EA=F1=EF= =E5=ED=F4=EF=EB=DE=F2\n" -" -o, --error-output=3D=C1=D1=D7=C5=C9=CF =E5=F0=E1=ED=E1=EA=E1=F4=E5= =FD=E8=F5=ED=F3=E7 =E5=EE=FC=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7= =F2 =EA=E1=E9 =E1=ED=DF=F7=ED=E5=F5=F3=E7=F2\n" +" -o, --error-output=3D=C1=D1=D7=C5=C9=CF =E5=F0=E1=ED=E1=EA=E1=F4=E5= =FD=E8=F5=ED=F3=E7 =E5=EE=FC=E4=EF=F5 =E5=EA=F3=F6=E1=EB=EC=DC=F4=F9=F3=E7= =F2 =EA=E1=E9 " +"=E1=ED=DF=F7=ED=E5=F5=F3=E7=F2\n" =20 #: src/main.c:139 msgid "" @@ -534,12 +548,14 @@ msgid "" msgstr "" "\n" "=D3=C7=CC=C1=C9=C5=D3 =EC=F0=EF=F1=E5=DF =ED=E1 =E5=DF=ED=E1=E9 =EF=F0=EF= =E9=E4=DE=F0=EF=F4=E5 =E1=F0=FC:\n" -" t =E1=ED=DF=F7=ED=E5=F5=F3=E7 =FC=EB=F9=ED =F4=F9=ED =EA=EB=DE=F3=E5= =F9=ED =F4=F9=ED =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=FE=ED, =FC=F7=E9 =EC=FC=ED= =EF =E1=F5=F4=DD=F2 =F0=EF=F5 =DD=F7=EF=F5=ED =EF=F1=E9=F3=F4=E5=DF\n" +" t =E1=ED=DF=F7=ED=E5=F5=F3=E7 =FC=EB=F9=ED =F4=F9=ED =EA=EB=DE=F3=E5= =F9=ED =F4=F9=ED =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=FE=ED, =FC=F7=E9 =EC=FC=ED= =EF =E1=F5=F4=DD=F2 =F0=EF=F5 =DD=F7=EF=F5=ED " +"=EF=F1=E9=F3=F4=E5=DF\n" " a =E5=EC=F6=DC=ED=E9=F3=E7 =F0=F1=E1=E3=EC=E1=F4=E9=EA=FE=ED =EF=F1= =E9=F3=EC=DC=F4=F9=ED\n" " e =E5=EC=F6=DC=ED=E9=F3=E7 =E1=ED=DC=F0=F4=F5=EE=E7=F2\n" " q =F0=E1=F1=DC=E8=E5=F3=E5 =F4=E9=EC=DD=F2 =FC=F0=F9=F2 =F7=F1=E5=E9= =DC=E6=E5=F4=E1=E9, =EC=E5 =F4=E9=F2 =F3=E7=EC=E1=DF=E5=F2 a =DE e\n" " c =E5=EC=F6=DC=ED=E9=F3=E7 =F0=F1=E9=ED =F4=E7 =F3=F5=EB=EB=EF=E3=DE= , =EC=E5=F4=DC =F4=E7 =F3=F5=EB=EB=EF=E3=DE =EA=E1=E9 =EC=E5=F4=DC =F4=E7= =EA=EB=DE=F3=E7\n" -" x =F0=F1=FC=F3=E8=E5=F3=E7 =EC=EF=ED=E1=E4=E9=EA=DE=F2 =F4=E1=F5=F4= =FC=F4=E7=F4=E1=F2 =EA=EB=DE=F3=E7=F2 =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=DE=F2= , =F7=F1=DE=F3=E9=EC=EF =EC=E5 =F4=E7 =F3=E7=EC=E1=DF=E1 c\n" +" x =F0=F1=FC=F3=E8=E5=F3=E7 =EC=EF=ED=E1=E4=E9=EA=DE=F2 =F4=E1=F5=F4= =FC=F4=E7=F4=E1=F2 =EA=EB=DE=F3=E7=F2 =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=DE=F2= , =F7=F1=DE=F3=E9=EC=EF =EC=E5 =F4=E7 " +"=F3=E7=EC=E1=DF=E1 c\n" " f =E5=EC=F6=DC=ED=E9=F3=E7 =F4=F1=DD=F7=EF=ED=F4=EF=F2 =EF=ED=FC=EC= =E1=F4=EF=F2 =E1=F1=F7=E5=DF=EF=F5 =E5=E9=F3=FC=E4=EF=F5\n" " l =E5=EC=F6=DC=ED=E9=F3=E7 =E1=F1=E9=E8=EC=FC =F4=F1=E5=F7=EF=FD=F3= =E7=F2 =E3=F1=E1=EC=EC=DE=F2 =E5=E9=F3=FC=E4=EF=F5\n" " p =E5=EC=F6=DC=ED=E9=F3=E7 =E1=F0=EF=F4=E5=EB=E5=F3=EC=DC=F4=F9=ED = =E1=F0=FC =DD=F1=E5=F5=ED=E5=F2 =F3=F4=EF =EC=EF=ED=EF=F0=DC=F4=E9\n" @@ -552,7 +568,8 @@ msgid "" "If no FILE or if FILE is `-', standard input is read.\n" msgstr "" "\n" -"=D7=F9=F1=DF=F2 =C1=D1=D7=C5=C9=CF, =DE =FC=F4=E1=ED =F4=EF =E1=F1=F7=E5= =DF=EF =E5=DF=ED=E1=E9 =F4=EF -, =E1=ED=DC=E3=ED=F9=F3=E7 =E1=F0=FC =F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =E5=DF=F3=EF=E4=EF.\n" +"=D7=F9=F1=DF=F2 =C1=D1=D7=C5=C9=CF, =DE =FC=F4=E1=ED =F4=EF =E1=F1=F7=E5= =DF=EF =E5=DF=ED=E1=E9 =F4=EF -, =E1=ED=DC=E3=ED=F9=F3=E7 =E1=F0=FC =F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE " +"=E5=DF=F3=EF=E4=EF.\n" =20 #: src/main.c:159 msgid "" @@ -600,7 +617,8 @@ msgid "" "Memory bounds violation detected (SIGSEGV). Either a stack overflow\n"= "occurred, or there is a bug in " msgstr "" -"=C5=ED=F4=EF=F0=DF=F3=F4=E7=EA=E5 =F0=E1=F1=DC=E2=E1=F3=E7 =F4=F9=ED =EF= =F1=DF=F9=ED =EC=ED=DE=EC=E7=F2 (SIGSEGV). =C5=DF=F4=E5 =DD=E3=E9=ED=E5 =F5= =F0=DD=F1=E2=E1=F3=E7 =F3=F4=EF=DF=E2=E1=F2\n" +"=C5=ED=F4=EF=F0=DF=F3=F4=E7=EA=E5 =F0=E1=F1=DC=E2=E1=F3=E7 =F4=F9=ED =EF= =F1=DF=F9=ED =EC=ED=DE=EC=E7=F2 (SIGSEGV). =C5=DF=F4=E5 =DD=E3=E9=ED=E5 =F5= =F0=DD=F1=E2=E1=F3=E7 " +"=F3=F4=EF=DF=E2=E1=F2\n" "=E5=DF=F4=E5 =F5=F0=DC=F1=F7=E5=E9 =F3=F6=DC=EB=EC=E1 =F0=F1=EF=E3=F1=DC= =EC=EC=E1=F4=EF=F2 =F3=F4=EF " =20 #: src/stackovf.c:204 @@ -621,7 +639,9 @@ msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8= =E1=ED=DE =E5=F0'=DC=F0=E5=E9=F1=EF #, fuzzy #~ msgid "" #~ "INTERNAL ERROR: Builtin not found in builtin table! (m4_trace_pre ()= )" -#~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =C5=F3=F9=E4=EF= =EC=E7=EC=DD=ED=EF =E4=E5=ED =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF =F0=DF=ED=E1= =EA=E1 =E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=F9=ED! (trace_pre ())" +#~ msgstr "" +#~ "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =C5=F3=F9=E4=EF=EC=E7= =EC=DD=ED=EF =E4=E5=ED =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF =F0=DF=ED=E1=EA=E1= =E5=F3=F9=E4=EF=EC=E7=EC=DD=ED=F9=ED! " +#~ "(trace_pre ())" =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type (m4_trace_pre ())" @@ -689,7 +709,9 @@ msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8= =E1=ED=DE =E5=F0'=DC=F0=E5=E9=F1=EF =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type in produce_symbol_dump ()"= -#~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =F4=FD=F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED= =EF=F5 =F3=F4=EF freeze_one_symbol ()" +#~ msgstr "" +#~ "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2 =F4=FD= =F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED=EF=F5= =F3=F4=EF " +#~ "freeze_one_symbol ()" =20 #~ msgid "INTERNAL ERROR: Bad code in deferred arguments" #~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =EA=F9=E4=E9=EA=FC=F2 =F3=F4=E1 =E1=ED=E1=F6=E5=F1=FC=EC=E5=ED=E1 =EF=F1= =DF=F3=EC=E1=F4=E1" @@ -699,7 +721,8 @@ msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9=E8= =E1=ED=DE =E5=F0'=DC=F0=E5=E9=F1=EF =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type in install_macro ()" -#~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =F4=FD=F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED= =EF=F5 =F3=F4=EF define_macro ()" +#~ msgstr "" +#~ "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2 =F4=FD= =F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED=EF=F5= =F3=F4=EF define_macro ()" =20 #~ msgid " (options:" #~ msgstr " (=E5=F0=E9=EB=EF=E3=DD=F2:" @@ -709,13 +732,16 @@ msgstr ". =C5=EB=DD=E3=EE=E1=F4=E5 =E3=E9=E1 =F0=E9= =E8=E1=ED=DE =E5=F0'=DC=F0=E5=E9=F1=EF #~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =C1=ED=F4=E9=EA= =E1=ED=EF=ED=E9=EA=DE =EA=E1=F4=DC=F3=F4=E1=F3=E7 =F3=F4=EF symbol_lookup= ()" =20 #~ msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" -#~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =F4=FD=F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED= =EF=F5 =F3=F4=EF m4_dumpdef ()" +#~ msgstr "" +#~ "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2 =F4=FD= =F0=EF=F2 =E4=E5=E4=EF=EC=DD=ED=EF=F5 =E1=ED=F4=E9=EA=E5=E9=EC=DD=ED=EF=F5= =F3=F4=EF m4_dumpdef ()" =20 #~ msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" #~ msgstr "=C5=D3=D9=D4=C5=D1=C9=CA=CF =D3=D6=C1=CB=CC=C1: =CB=DC=E8=EF=F2= =F4=FD=F0=EF=F2 =F3=F5=EC=E2=FC=EB=EF=F5 =F3=F4=EF m4_defn ()" =20 #~ msgid " -W, --word-regexp=3DREGEXP use REGEXP for macro name syn= tax\n" -#~ msgstr " -W --word-regexp=3D=CA=C1=CD=C5=CA=D6 =F7=F1=DE=F3=E7 = =CA=C1=CD=EF=ED=E9=EA=DE=F2 =B8=CA=D6=F1=E1=F3=E7=F2 =F3=F4=EF =F3=F5=ED=F4= =E1=EA=F4=E9=EA=FC =F4=E7=F2 =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=DE=F2\n" +#~ msgstr "" +#~ " -W --word-regexp=3D=CA=C1=CD=C5=CA=D6 =F7=F1=DE=F3=E7 =CA=C1=CD= =EF=ED=E9=EA=DE=F2 =B8=CA=D6=F1=E1=F3=E7=F2 =F3=F4=EF =F3=F5=ED=F4=E1=EA=F4= =E9=EA=FC " +#~ "=F4=E7=F2 =EC=E1=EA=F1=EF=E5=ED=F4=EF=EB=DE=F2\n" =20 #~ msgid "Non-numeric argument to %s" #~ msgstr "=CC=E7 =E1=F1=E9=E8=EC=E7=F4=E9=EA=FC =FC=F1=E9=F3=EC=E1 =F3=F4= =EF %s" Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.32 diff -u -p -u -r1.32 fr.po --- po/fr.po 10 Sep 2003 17:12:02 -0000 1.32 +++ po/fr.po 12 Sep 2003 13:25:30 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -216,7 +216,7 @@ msgstr "Incapable d'op=E9rer =ABstat=BB pour l msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La fouille du chemin pour =AB%s=BB trouve =AB%s=BB" Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.33 diff -u -p -u -r1.33 it.po --- po/it.po 10 Sep 2003 17:12:02 -0000 1.33 +++ po/it.po 12 Sep 2003 13:25:30 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -214,7 +214,7 @@ msgstr "Impossibile effettuare la `stat' msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "La ricerca del percorso per `%s' ha trovato `%s'" Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.32 diff -u -p -u -r1.32 ja.po --- po/ja.po 10 Sep 2003 17:12:02 -0000 1.32 +++ po/ja.po 12 Sep 2003 13:25:30 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -218,7 +218,7 @@ msgstr "" msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "`%s' =A4=C8=A4=A4=A4=A6=A5=C7=A5=A3=A5=EC=A5=AF=A5=C8=A5=EA=A4=AB= =A4=E9 `%s' =A4=C8=A4=A4=A4=A6=A5=D5=A5=A1=A5=A4=A5=EB=A4=F2=B8=AB=A4=C4=A4= =B1=A4=DE=A4=B7=A4=BF=A1=A3" Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.32 diff -u -p -u -r1.32 nl.po --- po/nl.po 10 Sep 2003 17:12:02 -0000 1.32 +++ po/nl.po 12 Sep 2003 13:25:30 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -215,7 +215,7 @@ msgstr "Cannot stat diversion" msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Zoeken naar `%s' via PATH levert `%s'" Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.32 diff -u -p -u -r1.32 pl.po --- po/pl.po 10 Sep 2003 17:12:02 -0000 1.32 +++ po/pl.po 12 Sep 2003 13:25:30 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -214,7 +214,7 @@ msgstr "Nie mog=EA zrobi=E6 stat na danych p msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "Przeszukanie =B6cie=BFki dla `%s' znalaz=B3o `%s'" @@ -447,7 +447,8 @@ msgstr "" " --version wy=B6wietl informacj=EA o wersji i zako=F1= cz\n" " -e, --intercative nie buforuj wyj=B6cia, ignoruj przerwani= a\n" " -E, --fatal-warnings zatrzymaj si=EA po pierwszym ostrz=BFeni= u\n" -" -Q, --quiet, --silent nie pokazuj niekt=F3rych ostrze=BFe=F1 d= la wbudowanych\n" +" -Q, --quiet, --silent nie pokazuj niekt=F3rych ostrze=BFe=F1 d= la " +"wbudowanych\n" " -P, --prefix-builtins dodaj zawsze `m4_' przez wszystkimi " "wbudowanymi\n" =20 @@ -487,7 +488,8 @@ msgstr "" "\n" "Sterowanie ograniczeniami:\n" " -G, --traditional wy=B3=B1cz wszystkie rozszrzenia GNU\n" -" -H, --hashzize=3DPIERWSZA ustaw rozmiar tablicy mieszaj=B1cej dl= a symboli\n" +" -H, --hashzize=3DPIERWSZA ustaw rozmiar tablicy mieszaj=B1cej dl= a " +"symboli\n" " -L, --nesting-limit=3DLICZBA zmie=F1 sztuczny limit zag=B3ebie=F1\n= " =20 #: src/main.c:125 @@ -623,7 +625,9 @@ msgstr ". Sprawd=BC czy nie dosz=B3o do nie #, fuzzy #~ msgid "" #~ "INTERNAL ERROR: Builtin not found in builtin table! (m4_trace_pre ()= )" -#~ msgstr "B=A3=A1D WEWN=CATRZNY: Wbudowane nie znalezione w tablicy wbu= dowanych! (trace_pre ())" +#~ msgstr "" +#~ "B=A3=A1D WEWN=CATRZNY: Wbudowane nie znalezione w tablicy wbudowanyc= h! " +#~ "(trace_pre ())" =20 #, fuzzy #~ msgid "INTERNAL ERROR: Bad token data type (m4_trace_pre ())" Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.32 diff -u -p -u -r1.32 ru.po --- po/ru.po 10 Sep 2003 17:12:02 -0000 1.32 +++ po/ru.po 12 Sep 2003 13:25:30 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -122,7 +122,8 @@ msgstr "=EF=FB=E9=E2=EB=E1: =EB=CF=CE=C5=C3 =C6=C1=CA= =CC=C1 =D7 =D3=D0=C9=D3=CB=C5 =C1=D2=C7 #: m4/macro.c:230 #, c-format msgid "ERROR: Recursion limit of %d exceeded, use -L to change it" -msgstr "=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d = =C9=D3=DE=C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF= =C2=D9 =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" +msgstr "" +"=EF=FB=E9=E2=EB=E1: =EC=C9=CD=C9=D4 =D2=C5=CB=D5=D2=D3=C9=C9 %d =C9=D3=DE= =C5=D2=D0=C1=CE, =C9=D3=D0=CF=CC=D8=DA=D5=CA=D4=C5 -L =DE=D4=CF=C2=D9 = =C9=DA=CD=C5=CE=C9=D4=D8 =C5=C7=CF" =20 #: m4/macro.c:425 #, c-format @@ -188,7 +189,8 @@ msgstr "=EF=FB=E9=E2=EB=E1: =CD=CF=C4=D5=CC=D8 `%s' =CE= =C5 =CE=C1=CA=C4=C5=CE" #: m4/output.c:287 #, fuzzy msgid "cannot create temporary file for diversion" -msgstr "=EF=FB=E9=E2=EB=E1: =EF=DB=C9=C2=CB=C1 =D3=CF=DA=C4=C1=CE=C9=D1 = =D7=D2=C5=CD=C5=CE=CE=CF=C7=CF =C6=C1=CA=CC=C1 =C4=CC=D1 =D2=C1=DA=D7=C5=D4= =D7=CC=C5=CE=C9=D1 =CD=C1=CB=D2=CF=CF=C2=D2=C1=C2=CF=D4=CB=C9" +msgstr "" +"=EF=FB=E9=E2=EB=E1: =EF=DB=C9=C2=CB=C1 =D3=CF=DA=C4=C1=CE=C9=D1 =D7=D2=C5= =CD=C5=CE=CE=CF=C7=CF =C6=C1=CA=CC=C1 =C4=CC=D1 =D2=C1=DA=D7=C5=D4=D7=CC=C5= =CE=C9=D1 =CD=C1=CB=D2=CF=CF=C2=D2=C1=C2=CF=D4=CB=C9" =20 #: m4/output.c:297 #, fuzzy @@ -214,7 +216,7 @@ msgstr "=EE=C5=D7=CF=DA=CD=CF=D6=CE=CF =D0=CF=C4=D3=DE= =C9=D4=C1=D4=D8 =D2=C1=DA=D7=C5=D4=D7=CC=C5=CE msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "=F0=D5=D4=D8 =D0=CF=C9=D3=CB=C1 =C4=CC=D1 `%s' =CE=C1=CA=C4=C5=CE= `%s'" @@ -438,15 +440,19 @@ msgid "" " -Q, --quiet, --silent suppress some warnings for builtins\n" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" msgstr "" -"=EF=C2=D1=DA=C1=D4=C5=CC=D8=CE=D9=C5 =C9=CC=C9 =CE=C5=CF=C2=D1=DA=C1=D4= =C5=CC=D8=CE=D9=C5 =C1=D2=C7=D5=CD=C5=CE=D4=D9 =C4=CC=D1 =C4=CC=C9=CE=CE=D9= =C8 =CF=D0=C3=C9=C9 =D4=C1=CB=CF=D7=D9 =C9 =C4=CC=D1 =CB=CF=D2=CF=D4=CB=C9= =C8\n" +"=EF=C2=D1=DA=C1=D4=C5=CC=D8=CE=D9=C5 =C9=CC=C9 =CE=C5=CF=C2=D1=DA=C1=D4= =C5=CC=D8=CE=D9=C5 =C1=D2=C7=D5=CD=C5=CE=D4=D9 =C4=CC=D1 =C4=CC=C9=CE=CE=D9= =C8 =CF=D0=C3=C9=C9 =D4=C1=CB=CF=D7=D9 =C9 =C4=CC=D1 " +"=CB=CF=D2=CF=D4=CB=C9=C8\n" "\n" "=F2=C5=D6=C9=CD=D9 =D2=C1=C2=CF=D4=D9:\n" " --help =D0=CF=CB=C1=DA=C1=D4=D8 =D0=CF=CD=CF=DD= =D8 =C9 =D7=D9=CA=D4=C9\n" " --version =D7=D9=D7=C5=D3=D4=C9 =C9=CE=C6=CF=D2=CD= =C1=C3=C9=C0 =CF =D7=C5=D2=D3=C9=C9 =C9 =D7=D9=CA=D4=C9\n" -" -e, --interactive =CE=C5=C2=D5=C6=C5=D2=C9=DA=CF=D7=C1=CE=CE= =D9=CA =D7=D9=D7=CF=C4, =C9=C7=CE=CF=D2=C9=D2=CF=D7=C1=D4=D8 =D0=D2=C5=D2= =D9=D7=C1=CE=C9=D1\n" +" -e, --interactive =CE=C5=C2=D5=C6=C5=D2=C9=DA=CF=D7=C1=CE=CE= =D9=CA =D7=D9=D7=CF=C4, =C9=C7=CE=CF=D2=C9=D2=CF=D7=C1=D4=D8 " +"=D0=D2=C5=D2=D9=D7=C1=CE=C9=D1\n" " -E, --fatal-warnings =CF=D3=D4=C1=CE=CF=D7=C9=D4=D8=D3=D1 =D0= =CF=D3=CC=C5 =D0=C5=D2=D7=CF=C7=CF =D0=D2=C5=C4=D5=D0=D2=C5=D6=C4=C5=CE=C9= =D1\n" -" -Q, --quiet, --silent =D0=CF=C4=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C4= =D5=D0=D2=C5=D6=C4=C5=CE=C9=D1 =C4=CC=D1 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 =C6= =D5=CE=CB=C3=C9=CA\n" -" -P, --prefix-builtins =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C6= =C9=CB=D3 `m4_' =C4=CC=D1 =D7=D3=C5=C8 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 =C6= =D5=CE=CB=C3=C9=CA\n" +" -Q, --quiet, --silent =D0=CF=C4=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C4= =D5=D0=D2=C5=D6=C4=C5=CE=C9=D1 =C4=CC=D1 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 "= +"=C6=D5=CE=CB=C3=C9=CA\n" +" -P, --prefix-builtins =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D0=D2=C5=C6= =C9=CB=D3 `m4_' =C4=CC=D1 =D7=D3=C5=C8 =D7=D3=D4=D2=CF=C5=CE=CE=D9=C8 " +"=C6=D5=CE=CB=C3=C9=CA\n" =20 #: src/main.c:105 #, c-format @@ -484,8 +490,10 @@ msgstr "" "\n" "=EF=C7=D2=C1=CE=C9=DE=C5=CE=C9=D1:\n" " -G, --traditional =D0=CF=C4=C1=D7=CC=D1=D4=D8 =D7=D3=C5 GN= U =D2=C1=D3=DB=C9=D2=C5=CE=C9=D1\n" -" -H, --hashsize=3DPRIME =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D2=C1=DA= =CD=C5=D2 =C8=DC=DB-=D4=C1=C2=CC=C9=C3=D9 =C4=CC=D1 =D0=CF=C9=D3=CB=C1 =D3= =C9=CD=D7=CF=CC=CF=D7\n" -" -L, --nesting-limit=3DNUMBER =C9=DA=CD=C5=CE=C9=D4=D8 =D0=D2=C5=C4=C5= =CC =C7=CC=D5=C2=C9=CE=D9 =C9=CE=D4=C5=CC=C5=CB=D4=D5=C1=CC=D8=CE=CF=C7=CF= =D0=CF=C9=D3=CB=C1\n" +" -H, --hashsize=3DPRIME =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D2=C1=DA= =CD=C5=D2 =C8=DC=DB-=D4=C1=C2=CC=C9=C3=D9 =C4=CC=D1 =D0=CF=C9=D3=CB=C1 " +"=D3=C9=CD=D7=CF=CC=CF=D7\n" +" -L, --nesting-limit=3DNUMBER =C9=DA=CD=C5=CE=C9=D4=D8 =D0=D2=C5=C4=C5= =CC =C7=CC=D5=C2=C9=CE=D9 =C9=CE=D4=C5=CC=C5=CB=D4=D5=C1=CC=D8=CE=CF=C7=CF= " +"=D0=CF=C9=D3=CB=C1\n" =20 #: src/main.c:125 msgid "" @@ -510,10 +518,12 @@ msgid "" msgstr "" "\n" "=EF=D4=CC=C1=C4=CB=C1:\n" -" -d, --debug=3D[FLAGS] =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D5=D2=CF= =D7=C5=CE=D8 =CF=D4=CC=C1=C4=CB=C9 (=D0=CF =D5=CD=CF=CC=DE=C1=CE=C9=C0 FL= AGS=3D`aeq')\n" +" -d, --debug=3D[FLAGS] =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D5=D2=CF= =D7=C5=CE=D8 =CF=D4=CC=C1=C4=CB=C9 (=D0=CF =D5=CD=CF=CC=DE=C1=CE=C9=C0 " +"FLAGS=3D`aeq')\n" " -t, --trace=3DNAME =D4=D2=C1=D3=D3=C9=D2=CF=D7=C1=D4=D8 N= AME =CB=CF=C7=C4=C1 =CF=CE=CF =C2=D5=C4=C5=D4 =CF=D0=D2=C5=C4=C5=CC=C5=CE= =CF\n" " -l, --arglength=3DNUM =D5=D3=D4=C1=CE=CF=D7=C9=D4=D8 =D2=C1=DA= =CD=C5=D2 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CB=C9 =C4=CC=D1 =CD=C1=CB=D2=CF=D3=C1= \n" -" -o, --error-output=3DFILE =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=C9=D4=D8= =CF=D4=CC=C1=C4=CF=DE=CE=D9=CA =C9 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CF=DE=CE=D9= =CA =D7=D9=D7=CF=C4 =D7 =C6=C1=CA=CC FILE\n" +" -o, --error-output=3DFILE =D0=C5=D2=C5=CE=C1=D0=D2=C1=D7=C9=D4=D8= =CF=D4=CC=C1=C4=CF=DE=CE=D9=CA =C9 =D4=D2=C1=D3=D3=C9=D2=CF=D7=CF=DE=CE=D9= =CA " +"=D7=D9=D7=CF=C4 =D7 =C6=C1=CA=CC FILE\n" =20 #: src/main.c:139 msgid "" @@ -538,7 +548,8 @@ msgstr "" " e =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =CD=C1=CB=D2=CF=D2=C1=D3=DB=C9=D2=C5= =CE=C9=C5\n" " q =DA=C1=CB=CC=C0=DE=C1=D4=D8 =DA=CE=C1=DE=C5=CE=C9=D1 =D7 =CB=C1=D7= =D9=DE=CB=C9 =D0=CF =CE=C5=CF=C2=C8=CF=C4=C9=CD=CF=D3=D4=C9, =D3 a =C9=CC= =C9 e =C6=CC=C1=C7=C1=CD=C9\n" " c =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =D0=C5=D2=C5=C4 =D3=C2=CF=D2=CF=CD= , =D0=CF=D3=CC=C5 =D3=C2=CF=D2=C1 =C9 =D0=CF=D3=CC=C5 =D7=D9=DA=CF=D7=C1= \n" -" x =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D5=CE=C9=CB=C1=CC=D8=CE=D9=CA =C9=C4= =C5=CE=D4=C9=C6=C9=CB=C1=D4=CF=D2 =D7=D9=DA=CF=D7=C1 =CD=C1=CB=D2=CF=D3=C1= , =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D7=CD=C5=D3=D4=C5 =D3 =C6=CC=C1=C7= =CF=CD c\n" +" x =C4=CF=C2=C1=D7=CC=D1=D4=D8 =D5=CE=C9=CB=C1=CC=D8=CE=D9=CA =C9=C4= =C5=CE=D4=C9=C6=C9=CB=C1=D4=CF=D2 =D7=D9=DA=CF=D7=C1 =CD=C1=CB=D2=CF=D3=C1= , =C9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =D7=CD=C5=D3=D4=C5 " +"=D3 =C6=CC=C1=C7=CF=CD c\n" " f =D7=D9=D7=CF=C4=C9=D4=D8 =D4=C5=CB=D5=DD=C5=C5 =C9=CD=D1 =D7=C8=CF= =C4=CE=CF=C7=CF =C6=C1=CA=CC=C1\n" " l =D7=D9=D7=CF=C4=C9=D4=D8 =CE=CF=CD=C5=D2 =D4=C5=CB=D5=DD=C5=CA =D3= =D4=D2=CF=DE=CB=C9\n" " p =D0=CF=CB=C1=DA=D9=D7=C1=D4=D8 =D2=C5=DA=D5=CC=D8=D4=C1=D4=D9 =D0= =CF=C9=D3=CB=C1 =D0=CF =D0=D5=D4=D1=CD\n" @@ -714,7 +725,9 @@ msgstr ". =F0=D2=CF=D7=C5=D2=CB=C1 =CE=C1 =D7=CF=DA=CD= =CF=D6=CE=D5=C0 =C2=C5=D3=CB=CF=CE=C5=DE #~ msgstr "=F7=EE=F5=F4=F2=E5=EE=EE=F1=F1 =EF=FB=E9=E2=EB=E1: =EE=C5=D7=C5= =D2=CE=D9=CA =D4=C9=D0 =D3=C9=CD=D7=CF=CC=C1 =D7 m4_defn ()" =20 #~ msgid " -W, --word-regexp=3DREGEXP use REGEXP for macro name syn= tax\n" -#~ msgstr " -W, --word-regexp=3DREGEXP =C9=D3=D0=CF=CC=D8=DA=CF=D7=C1= =D4=D8 REGEXP =C4=CC=D1 =D3=C9=CE=D4=C1=CB=D3=C9=D3=C1 =C9=CD=C5=CE =CD=C1= =CB=D2=CF=D3=CF=D7\n" +#~ msgstr "" +#~ " -W, --word-regexp=3DREGEXP =C9=D3=D0=CF=CC=D8=DA=CF=D7=C1=D4=D8= REGEXP =C4=CC=D1 =D3=C9=CE=D4=C1=CB=D3=C9=D3=C1 =C9=CD=C5=CE " +#~ "=CD=C1=CB=D2=CF=D3=CF=D7\n" =20 #~ msgid "Non-numeric argument to %s" #~ msgstr "=EE=C5=DE=C9=D3=CC=CF=D7=CF=CA =C1=D2=C7=D5=CD=C5=CE=D4 =C4=CC= =D1 %s" @@ -762,7 +775,9 @@ msgstr ". =F0=D2=CF=D7=C5=D2=CB=C1 =CE=C1 =D7=CF=DA=CD= =CF=D6=CE=D5=C0 =C2=C5=D3=CB=CF=CE=C5=DE #~ msgstr "=F0=D2=C5=C4=D5=D0=D2=C5=D6=C4=C5=CE=C9=C5: =F3=CC=C9=DB=CB=CF= =CD =CD=C1=CC=CF =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7 =C4=CC=D1 =D7=D3=D4=D2=CF= =C5=CE=CE=CF=CA =CC=C5=CB=D3=C5=CD=D9 '%s'" =20 #~ msgid "Warning: Excess arguments to built-in `%s' ignored" -#~ msgstr "=F0=D2=C5=C4=D5=D0=D2=C5=D6=C4=C5=CE=C9=C5: =E9=DA=C2=D9=D4=CF= =DE=CE=D9=C5 =C1=D2=C7=D5=CD=C5=CE=D4=D9 =C4=CC=D1 =D7=D3=D4=D2=CF=C5=CE=CE= =CF=CA =CC=C5=CB=D3=C5=CD=D9 '%s' =D0=D2=CF=C9=C7=CE=CF=D2=C9=D2=CF=D7=C1= =CE=D9" +#~ msgstr "" +#~ "=F0=D2=C5=C4=D5=D0=D2=C5=D6=C4=C5=CE=C9=C5: =E9=DA=C2=D9=D4=CF=DE=CE= =D9=C5 =C1=D2=C7=D5=CD=C5=CE=D4=D9 =C4=CC=D1 =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA= =CC=C5=CB=D3=C5=CD=D9 '%s' " +#~ "=D0=D2=CF=C9=C7=CE=CF=D2=C9=D2=CF=D7=C1=CE=D9" =20 #~ msgid "Non-numeric argument to built-in `%s'" #~ msgstr "=EE=C5 =DE=C9=D3=CC=CF=D7=CF=CA =C1=D2=C7=D5=CD=C5=CE=D4 =C4=CC= =D1 =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA =CC=C5=CB=D3=C5=CD=D9 '%s'" Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.33 diff -u -p -u -r1.33 sv.po --- po/sv.po 10 Sep 2003 17:12:02 -0000 1.33 +++ po/sv.po 12 Sep 2003 13:25:30 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-10 11:06+0100\n" +"POT-Creation-Date: 2003-09-12 13:22+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -215,7 +215,7 @@ msgstr "Kan inte ta status p=E5 avledninge msgid "diversion too large" msgstr "" =20 -#: m4/path.c:155 +#: m4/path.c:154 #, c-format msgid "Path search for `%s' found `%s'" msgstr "\"%s\" hittades som \"%s\" i s=F6kv=E4gen" @@ -517,7 +517,8 @@ msgstr "" " (inga FLAGGOR tolkas som \"aeq\")\n" " -t, --trace=3DNAMN sp=E5ra NAMN n=E4r den blir definierad= \n" " -l, --arglength=3DANTAL begr=E4nsa makrosp=E5rningsstorleken\n= " -" -o, --error-output=3DFIL avled fels=F6knings och sp=E5rutskrift= er till FIL\n" +" -o, --error-output=3DFIL avled fels=F6knings och sp=E5rutskrift= er till " +"FIL\n" =20 #: src/main.c:139 msgid "" --------------030708000703040703040204-- From MAILER-DAEMON Fri Sep 12 09:59:06 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xoS2-0003EN-EI for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 09:59:06 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xoS0-0003De-1p for m4-patches@gnu.org; Fri, 12 Sep 2003 09:59:04 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xoRx-0003Cw-Um for m4-patches@gnu.org; Fri, 12 Sep 2003 09:59:02 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19xoRx-0003Cb-DH for m4-patches@gnu.org; Fri, 12 Sep 2003 09:59:01 -0400 Received: (qmail 4501 invoked from network); 12 Sep 2003 14:17:38 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 12 Sep 2003 14:17:38 -0000 Received: (qmail 11823 invoked from network); 12 Sep 2003 13:54:35 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 12 Sep 2003 13:54:35 -0000 Message-ID: <3F61D039.8050309@gnu.org> Date: Fri, 12 Sep 2003 14:55:05 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------090809080901070003030203" Subject: FYI: 64-gary-set-pkglibexecdir-at-make-time.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 13:59:04 -0000 This is a multi-part message in MIME format. --------------090809080901070003030203 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------090809080901070003030203 Content-Type: text/plain; name="64-gary-set-pkglibexecdir-at-make-time.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="64-gary-set-pkglibexecdir-at-make-time.patch" Index: ChangeLog from Gary V. Vaughan * configure.ac (pkglibexecdir): Don't try and set it here, PACKAGE isn't set yet. * m4/Makefile.am (MODULE_PATH): Removed. Calculate pkglibexecdir inline. * modules/Makefile.am (pkglibexecdir): Set it here. (pkgmodincdir): Renamed to pkgmodincludedir). Changed all clients. Index: configure.ac =================================================================== RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.22 diff -u -p -u -r1.22 configure.ac --- configure.ac 12 Sep 2003 13:27:54 -0000 1.22 +++ configure.ac 12 Sep 2003 13:47:11 -0000 @@ -57,9 +57,6 @@ m4_pattern_forbid([^jm_]) m4_pattern_allow([^jm_cv_]) m4_pattern_allow([^jm_ac_cv_]) -pkglibexecdir='${libexecdir}'/$PACKAGE -AC_SUBST([pkglibexecdir]) - AC_MSG_CHECKING(for modules to preload) m4_pattern_allow([^m4_default_preload$]) m4_default_preload="m4 traditional gnu" Index: m4/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/m4/Makefile.am,v retrieving revision 1.24 diff -u -p -u -r1.24 Makefile.am --- m4/Makefile.am 12 Sep 2003 13:27:54 -0000 1.24 +++ m4/Makefile.am 12 Sep 2003 13:47:11 -0000 @@ -26,10 +26,9 @@ libm4_la_SOURCES = builtin.c debug.c ha path.c symtab.c syntax.c utility.c libm4_la_LIBADD = $(top_builddir)/gnulib/m4/libgnu.la $(LIBADD_DL) -MODULE_PATH = $(pkglibexecdir) module.o module.lo: module.c pathconf.h pathconf.h: Makefile - @echo "#define MODULE_PATH \"${MODULE_PATH}\"" > pathconf.h + @echo "#define MODULE_PATH \"$(libexecdir)/$(PACKAGE)\"" > pathconf.h EXTRA_DIST = system_.h # This file needs to be regenerated at configure time. Index: modules/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/modules/Makefile.am,v retrieving revision 1.23 diff -u -p -u -r1.23 Makefile.am --- modules/Makefile.am 5 Sep 2003 18:32:26 -0000 1.23 +++ modules/Makefile.am 12 Sep 2003 13:47:11 -0000 @@ -21,8 +21,9 @@ DISTCLEANFILES = perlxsi.c MAINTAINERCLEANFILES = Makefile.in -testsubdir = testSubDir -pkgmodincdir = $(includedir)/@PACKAGE@/modules +testsubdir = testSubDir +pkgmodincludedir = $(includedir)/$(PACKAGE)/modules +pkglibexecdir = $(libexecdir)/$(PACKAGE) ETAGS_ARGS = --regex='/M4BUILTIN_HANDLER[ \t]*(\([^)]*\)/\1/' @@ -34,7 +35,7 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_ LIBS = $(top_builddir)/m4/libm4.la AM_LDFLAGS = -no-undefined -pkgmodinc_HEADERS = m4.h +pkgmodinclude_HEADERS = m4.h pkglibexec_LTLIBRARIES = gnu.la load.la m4.la \ traditional.la perl.la \ modtest.la shadow.la import.la stdlib.la time.la --------------090809080901070003030203-- From MAILER-DAEMON Fri Sep 12 10:31:28 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xoxL-0006nv-Tq for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 10:31:27 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xoxJ-0006nN-E9 for m4-patches@gnu.org; Fri, 12 Sep 2003 10:31:25 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xoxH-0006nC-Qd for m4-patches@gnu.org; Fri, 12 Sep 2003 10:31:24 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19xovj-0006T3-FY for m4-patches@gnu.org; Fri, 12 Sep 2003 10:29:47 -0400 Received: (qmail 21110 invoked from network); 12 Sep 2003 14:55:48 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 12 Sep 2003 14:55:48 -0000 Received: (qmail 15081 invoked from network); 12 Sep 2003 14:32:44 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 12 Sep 2003 14:32:44 -0000 Message-ID: <3F61D92A.10007@gnu.org> Date: Fri, 12 Sep 2003 15:33:14 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------090000070507060801010502" Subject: FYI: 65-gary-let-automake-1-8-dist-config-macros.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 14:31:26 -0000 This is a multi-part message in MIME format. --------------090000070507060801010502 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------090000070507060801010502 Content-Type: text/plain; name="65-gary-let-automake-1-8-dist-config-macros.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="65-gary-let-automake-1-8-dist-config-macros.patch" Index: configure.ac =================================================================== RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.23 diff -u -p -u -r1.23 configure.ac --- configure.ac 12 Sep 2003 13:47:48 -0000 1.23 +++ configure.ac 12 Sep 2003 14:27:20 -0000 @@ -213,7 +213,6 @@ AM_CONDITIONAL([USE_GMP], [test "x$USE_G ## Outputs. ## ## -------- ## AC_CONFIG_FILES([Makefile - config/Makefile doc/Makefile examples/Makefile gnulib/Makefile Index: Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/Makefile.am,v retrieving revision 1.14 diff -u -p -u -r1.14 Makefile.am --- Makefile.am 9 Sep 2003 11:48:49 -0000 1.14 +++ Makefile.am 12 Sep 2003 14:27:20 -0000 @@ -19,14 +19,14 @@ ## ## Written by Gary V. Vaughan -EXTRA_DIST = bootstrap +EXTRA_DIST = bootstrap config/mkstamp ## There is currently no means with Automake not to run aclocal. ACLOCAL_AMFLAGS = -I gnulib/config -I config -SUBDIRS = po gnulib config m4 modules src tests examples doc . +SUBDIRS = po gnulib m4 modules src tests examples doc . MAINTAINERCLEANFILES = ABOUT-NLS COPYING INSTALL Makefile.in aclocal.m4 \ - config-h.in configure ltmain.sh stamp-h.in \ + config-h.in configure stamp-h.in \ po/cat-id-tbl.c po/m4.pot po/stamp-cat-id Index: config/Makefile.am =================================================================== RCS file: config/Makefile.am diff -N config/Makefile.am --- config/Makefile.am 9 Sep 2003 11:48:49 -0000 1.18 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,54 +0,0 @@ -## Makefile.am -- Process this file with automake to produce Makefile.in -## -## Copyright (C) 2001, 2002 Free Software Foundation -## -## 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 of the License, 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; see the file COPYING. If not, write to -## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -## Boston, MA 02111-1307, USA. -## -## Written by Akim Demaille - -MAINTAINERCLEANFILES = \ -Makefile.in \ -ltmain.sh \ -texinfo.tex \ -$(ACLOCAL_MACROS) \ -$(STANDARD_TOOLS) - -STANDARD_TOOLS = \ -compile \ -config.guess \ -config.rpath \ -config.sub \ -depcomp \ -install-sh \ -mdate-sh \ -missing \ -mkinstalldirs - -SPECIFIC_MACROS = \ -debug.m4 \ -error.m4 \ -gmp.m4 \ -m4-obstack.m4 \ -regex.m4 \ -stackovf.m4 - -SPECIFIC_TOOLS = \ -mkstamp - -spy: - @echo $($(SPIED)) - -EXTRA_DIST = $(SPECIFIC_MACROS) $(SPECIFIC_TOOLS) --------------090000070507060801010502-- From MAILER-DAEMON Fri Sep 12 11:31:43 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xptf-0003W6-Ow for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 11:31:43 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xptd-0003Vf-Bm for m4-patches@gnu.org; Fri, 12 Sep 2003 11:31:41 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xpta-0003V8-Vm for m4-patches@gnu.org; Fri, 12 Sep 2003 11:31:40 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19xpta-0003Ud-AF for m4-patches@gnu.org; Fri, 12 Sep 2003 11:31:38 -0400 Received: (qmail 25191 invoked from network); 12 Sep 2003 15:57:38 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 12 Sep 2003 15:57:38 -0000 Received: (qmail 8166 invoked from network); 12 Sep 2003 15:34:34 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 12 Sep 2003 15:34:34 -0000 Message-ID: <3F61E7A8.90609@gnu.org> Date: Fri, 12 Sep 2003 16:35:04 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------090205010705030304050704" Subject: FYI: 67-gary-gnulib-strtol-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 15:31:42 -0000 This is a multi-part message in MIME format. --------------090205010705030304050704 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------090205010705030304050704 Content-Type: text/plain; name="67-gary-gnulib-strtol-import.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="67-gary-gnulib-strtol-import.patch" Index: ChangeLog from Gary V. Vaughan * gnulib/m4/strtol.c, gnulib/config/strtol.m4: Import strtol module from CVS gnulib. * configure.ac (AC_REPLACE_FUNCS): Remove strtol. (gl_FUNC_STRTOL): In favour of the module macro. 2003-09-12 Gary V. Vaughan Index: configure.ac =================================================================== RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.25 diff -u -p -u -r1.25 configure.ac --- configure.ac 12 Sep 2003 15:17:47 -0000 1.25 +++ configure.ac 12 Sep 2003 15:28:50 -0000 @@ -176,12 +176,12 @@ AC_SUBST([INCLUDE_STDBOOL_H]) ## Library functions required by M4. ## ## --------------------------------- ## AC_CHECK_FUNCS(bzero calloc mkstemp mktemp strerror tmpfile) -AC_REPLACE_FUNCS(strtol) AC_FUNC_ALLOCA AC_FUNC_VPRINTF AM_WITH_DMALLOC +gl_FUNC_STRTOL gl_GETOPT gl_XALLOC gl_XSTRNDUP Index: gnulib/config/strtol.m4 =================================================================== RCS file: gnulib/config/strtol.m4 diff -N gnulib/config/strtol.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/strtol.m4 12 Sep 2003 15:28:50 -0000 @@ -0,0 +1,22 @@ +# strtol.m4 serial 1 +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +AC_DEFUN([gl_FUNC_STRTOL], +[ + AC_REPLACE_FUNCS(strtol) + if test $ac_cv_func_strtol = no; then + gl_PREREQ_STRTOL + fi +]) + +# Prerequisites of lib/strtol.c. +AC_DEFUN([gl_PREREQ_STRTOL], [ + AC_REQUIRE([AC_HEADER_STDC]) + AC_CHECK_HEADERS_ONCE(limits.h) + AC_CHECK_FUNCS_ONCE(isascii) +]) Index: gnulib/m4/strtol.c =================================================================== RCS file: /cvsroot/m4/m4/gnulib/m4/strtol.c,v retrieving revision 1.1 diff -u -p -u -r1.1 strtol.c --- gnulib/m4/strtol.c 5 Sep 2003 18:32:26 -0000 1.1 +++ gnulib/m4/strtol.c 12 Sep 2003 15:28:51 -0000 @@ -1,21 +1,21 @@ /* Convert string representation of a number into an integer value. - Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc. - This file is part of the GNU C Library. + Copyright (C) 1991, 92, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc. + NOTE: The canonical source of this file is maintained with the GNU C + Library. Bugs can be reported to bug-glibc@gnu.org. + + 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. - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, + 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 - Library General Public License for more details. + 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 Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #if HAVE_CONFIG_H # include @@ -131,6 +131,31 @@ extern int errno; # define STRTOL_LONG_MIN LONG_LONG_MIN # define STRTOL_LONG_MAX LONG_LONG_MAX # define STRTOL_ULONG_MAX ULONG_LONG_MAX + +/* The extra casts work around common compiler bugs, + e.g. Cray C 5.0.3.0 when t == time_t. */ +# ifndef TYPE_SIGNED +# define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) +# endif +# ifndef TYPE_MINIMUM +# define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \ + ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) \ + : (t) 0)) +# endif +# ifndef TYPE_MAXIMUM +# define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t))) +# endif + +# ifndef ULONG_LONG_MAX +# define ULONG_LONG_MAX TYPE_MAXIMUM (unsigned long long) +# endif +# ifndef LONG_LONG_MAX +# define LONG_LONG_MAX TYPE_MAXIMUM (long long int) +# endif +# ifndef LONG_LONG_MIN +# define LONG_LONG_MIN TYPE_MINIMUM (long long int) +# endif + # if __GNUC__ == 2 && __GNUC_MINOR__ < 7 /* Work around gcc bug with using this constant. */ static const unsigned long long int maxquad = ULONG_LONG_MAX; @@ -185,15 +210,15 @@ extern int errno; # define ISALPHA(Ch) iswalpha (Ch) # define TOUPPER(Ch) towupper (Ch) # endif +#else +# if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII) +# define IN_CTYPE_DOMAIN(c) 1 # else -# if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII) -# define IN_CTYPE_DOMAIN(c) 1 -# else -# define IN_CTYPE_DOMAIN(c) isascii(c) -# endif -# define L_(Ch) Ch -# define UCHAR_TYPE unsigned char -# define STRING_TYPE char +# define IN_CTYPE_DOMAIN(c) isascii(c) +# endif +# define L_(Ch) Ch +# define UCHAR_TYPE unsigned char +# define STRING_TYPE char # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define ISSPACE(Ch) __isspace_l ((Ch), loc) # define ISALPHA(Ch) __isalpha_l ((Ch), loc) @@ -205,7 +230,9 @@ extern int errno; # endif #endif -#ifdef __STDC__ +/* For compilers which are ansi but don't define __STDC__, like SGI + Irix-4.0.5 cc, also check whether PROTOTYPES is defined. */ +#if defined (__STDC__) || defined (PROTOTYPES) # define INTERNAL(X) INTERNAL1(X) # define INTERNAL1(X) __##X##_internal # define WEAKNAME(X) WEAKNAME1(X) @@ -344,60 +371,27 @@ INTERNAL (strtol) (nptr, endptr, base, g overflow = 0; i = 0; - c = *s; - if (sizeof (long int) != sizeof (LONG int)) + for (c = *s; c != L_('\0'); c = *++s) { - unsigned long int j = 0; - unsigned long int jmax = ULONG_MAX / base; - - for (;c != L_('\0'); c = *++s) + if (s == end) + break; + if (c >= L_('0') && c <= L_('9')) + c -= L_('0'); + else if (ISALPHA (c)) + c = TOUPPER (c) - L_('A') + 10; + else + break; + if ((int) c >= base) + break; + /* Check for overflow. */ + if (i > cutoff || (i == cutoff && c > cutlim)) + overflow = 1; + else { - if (s == end) - break; - if (c >= L_('0') && c <= L_('9')) - c -= L_('0'); - else if (ISALPHA (c)) - c = TOUPPER (c) - L_('A') + 10; - else - break; - if ((int) c >= base) - break; - /* Note that we never can have an overflow. */ - else if (j >= jmax) - { - /* We have an overflow. Now use the long representation. */ - i = (unsigned LONG int) j; - goto use_long; - } - else - j = j * (unsigned long int) base + c; + i *= (unsigned LONG int) base; + i += c; } - - i = (unsigned LONG int) j; } - else - for (;c != L_('\0'); c = *++s) - { - if (s == end) - break; - if (c >= L_('0') && c <= L_('9')) - c -= L_('0'); - else if (ISALPHA (c)) - c = TOUPPER (c) - L_('A') + 10; - else - break; - if ((int) c >= base) - break; - /* Check for overflow. */ - if (i > cutoff || (i == cutoff && c > cutlim)) - overflow = 1; - else - { - use_long: - i *= (unsigned LONG int) base; - i += c; - } - } /* Check if anything actually happened. */ if (s == save) --------------090205010705030304050704-- From MAILER-DAEMON Fri Sep 12 11:37:13 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xpyy-0004kx-VN for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 11:37:12 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xpyw-0004k9-Ar for m4-patches@gnu.org; Fri, 12 Sep 2003 11:37:10 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xpyu-0004jo-EQ for m4-patches@gnu.org; Fri, 12 Sep 2003 11:37:09 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19xpyt-0004jc-OP for m4-patches@gnu.org; Fri, 12 Sep 2003 11:37:07 -0400 Received: (qmail 26297 invoked from network); 12 Sep 2003 14:16:27 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 12 Sep 2003 14:16:27 -0000 Received: (qmail 10249 invoked from network); 12 Sep 2003 13:53:23 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 12 Sep 2003 13:53:23 -0000 Message-ID: <3F61CFF1.9050903@gnu.org> Date: Fri, 12 Sep 2003 14:53:53 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------010906010907000107010004" Subject: FYI: 62-gary-clean-gnulib-m4-makefile-am.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 15:37:10 -0000 This is a multi-part message in MIME format. --------------010906010907000107010004 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------010906010907000107010004 Content-Type: text/plain; name="62-gary-clean-gnulib-m4-makefile-am.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="62-gary-clean-gnulib-m4-makefile-am.patch" Index: ChangeLog from Gary V. Vaughan * gnulib/m4/Makefile.am (EXTRA_DIST): Removed malloc.c and realloc.c: automake distributes these files already. 2003-09-12 Gary V. Vaughan Index: configure.ac =================================================================== RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.20 diff -u -p -u -r1.20 configure.ac --- configure.ac 11 Sep 2003 23:53:41 -0000 1.20 +++ configure.ac 12 Sep 2003 12:21:56 -0000 @@ -184,6 +184,7 @@ AC_FUNC_VPRINTF AM_WITH_DMALLOC +gl_REGEX gl_XALLOC gl_XSTRNDUP m4_ERROR Index: gnulib/m4/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.6 diff -u -p -u -r1.6 Makefile.am --- gnulib/m4/Makefile.am 11 Sep 2003 23:53:41 -0000 1.6 +++ gnulib/m4/Makefile.am 12 Sep 2003 12:21:56 -0000 @@ -63,10 +63,6 @@ gettext.h: gettext_.h MOSTLYCLEANFILES += gettext.h -## malloc: (not yet in gnulib) -EXTRA_DIST += malloc.c - - ## obstack: (not yet in gnulib) BUILT_SOURCES += $(OBSTACK_H) EXTRA_DIST += obstack_.h @@ -80,10 +76,6 @@ MOSTLYCLEANFILES += obstack.h ## progname: libgnu_la_SOURCES += progname.c progname.h - - -## realloc: (not yet in gnulib) -EXTRA_DIST += realloc.c ## stdbool: --------------010906010907000107010004-- From MAILER-DAEMON Fri Sep 12 12:05:22 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xqQD-0004O7-JL for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 12:05:21 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xqQ7-0004MS-O2 for m4-patches@gnu.org; Fri, 12 Sep 2003 12:05:15 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xqPu-0004K7-EX for m4-patches@gnu.org; Fri, 12 Sep 2003 12:05:13 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19xqPn-0004Ic-9k for m4-patches@gnu.org; Fri, 12 Sep 2003 12:04:55 -0400 Received: (qmail 21027 invoked from network); 12 Sep 2003 16:30:54 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 12 Sep 2003 16:30:54 -0000 Received: (qmail 9479 invoked from network); 12 Sep 2003 16:07:51 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 12 Sep 2003 16:07:51 -0000 Message-ID: <3F61EF75.5050109@gnu.org> Date: Fri, 12 Sep 2003 17:08:21 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------090908030400000805080106" Subject: FYI: 68-gary-no-need-to-link-gnulib-headers.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 16:05:18 -0000 This is a multi-part message in MIME format. --------------090908030400000805080106 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------090908030400000805080106 Content-Type: text/plain; name="68-gary-no-need-to-link-gnulib-headers.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="68-gary-no-need-to-link-gnulib-headers.patch" Index: ChangeLog from Gary V. Vaughan * doc/STYLE: Document the gnulib header naming conventions, and #include policy. * gnulib/m4/error_.h, gnulib/m4/gettext_.h, gnulib/m4/obstack_.h, gnulib/m4/regex_.h: Renamed to gnulib/m4/error.h, gnulib/m4/gettext.h, gnulib/m4/obstack.h, gnulib/m4/regex.h respectively. * gnulib/m4/Makefile.am: Remove the rules to build these headers. Index: doc/STYLE =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/doc/STYLE,v retrieving revision 1.2 diff -u -p -u -r1.2 STYLE --- doc/STYLE 29 Jul 2003 15:57:34 -0000 1.2 +++ doc/STYLE 12 Sep 2003 16:02:48 -0000 @@ -54,15 +54,27 @@ following restrictions on coding style a maybe also fast macro versions of the same), and private fields will= not export accessors at all. However, there should be non-exported (or at least in the `m4__' namespace) accessor functions for even th= e - private fields of an ADI to aid possible later refactoring. + private fields of an ADT to aid possible later refactoring. =20 * ARCHITECTURE =20 - + There are three groups of sources in subdirectories: `m4' contains - the functionality for libm4 and enables the user to write modules; - `modules' implements the builtin macros for the m4 binary; `src' is - a small wrapper program which links libm4 and loads initial modules - to implement the m4 engine. + + There are four groups of sources in subdirectories: `gnulib' contain= s + the files maintained outside of m4, as a portability layer when buil= ding + the souce for non-glibc2 machines; `m4' contains the functionality f= or + libm4 and enables the user to write modules; `modules' implements th= e + builtin macros for the m4 binary; `src' is a small wrapper program + which links libm4 and loads initial modules to implement the m4 engi= ne. + + + The headers in gnulib/m4 need to be managed carefully: gnulib/m4 hea= ders + can be included by other files in the same directory using `#include= + "file.h"', and from files in other directories with `#include + '. The include path to invocations of the compiler from + various Makefile.am are set to prevent the possibility of picking up= + an m4/file.h when the system file.h (e.g stdbool.h) is present. Thi= s, + in turn means the replacement headers can live in gnulib/m4 without + suffering a renaming scheme at configure time. Don't break with the= + `#include' convention, or the compile will go wrong in hard to debug= + ways on some platforms. =20 + Low coupling. Classes (and in C, by this I mean files of functions)= should not rely on a web of other classes to be useful, they should Index: gnulib/m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.8 diff -u -p -u -r1.8 Makefile.am --- gnulib/m4/Makefile.am 12 Sep 2003 13:27:54 -0000 1.8 +++ gnulib/m4/Makefile.am 12 Sep 2003 16:02:48 -0000 @@ -37,56 +37,12 @@ MAINTAINERCLEANFILES =3D Makefile.in # Gnulib Makefile.am snippets # # --------------------------- # =20 -## error: (not yet in gnulib) -BUILT_SOURCES +=3D $(ERROR_H) -EXTRA_DIST +=3D error_.h - -all-local $(lib_OBJECTS): $(ERROR_H) -error.h: error_.h - rm -f $@ && $(LN_S) error_.h $@ - -MOSTLYCLEANFILES +=3D error.h - - ## exitfail: libgnu_la_SOURCES +=3D exitfail.c exitfail.h =20 =20 -## gettext: (not yet in gnulib) -BUILT_SOURCES +=3D $(GETTEXT_H) -EXTRA_DIST +=3D gettext_.h - -all-local $(lib_OBJECTS): $(GETTEXT_H) -gettext.h: gettext_.h - rm -f $@ && $(LN_S) gettext_.h $@ - -MOSTLYCLEANFILES +=3D gettext.h - - -## obstack: (not yet in gnulib) -BUILT_SOURCES +=3D $(OBSTACK_H) -EXTRA_DIST +=3D obstack_.h - -all-local $(lib_OBJECTS): $(OBSTACK_H) -obstack.h: obstack_.h - rm -f $@ && $(LN_S) obstack_.h $@ - -MOSTLYCLEANFILES +=3D obstack.h - - ## progname: libgnu_la_SOURCES +=3D progname.c progname.h - - -## regex: (not in gnulib yet) -BUILT_SOURCES +=3D $(REGEX_H) -EXTRA_DIST +=3D regex_.h - -all-local $(lib_OBJECTS): $(REGEX_H) -regex.h: regex_.h - rm -f $@ && $(LN_S) regex_.h $@ - -MOSTLYCLEANFILES +=3D regex.h =20 =20 ## stdbool: Index: gnulib/m4/error.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/error.h diff -N gnulib/m4/error.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/error.h 12 Sep 2003 16:02:48 -0000 @@ -0,0 +1,78 @@ +/* Declaration for error-reporting function + Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + + + NOTE: The canonical source of this file is maintained with the GNU C = Library. + Bugs can be reported to bug-glibc@prep.ai.mit.edu. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,= + USA. */ + +#ifndef _ERROR_H +#define _ERROR_H 1 + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 5) +# define __attribute__(Spec) /* empty */ +# endif +/* The __-protected variants of `format' and `printf' attributes + are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 7) +# define __format__ format +# define __printf__ printf +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined (__STDC__) && __STDC__ + +/* Print a message with `fprintf (stderr, FORMAT, ...)'; + if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). + If STATUS is nonzero, terminate the program with `exit (STATUS)'. */= + +extern void error (int status, int errnum, const char *format, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); + +extern void error_at_line (int status, int errnum, const char *fname, + unsigned int lineno, const char *format, ...) + __attribute__ ((__format__ (__printf__, 5, 6))); + +/* If NULL, error will flush stdout, then print on stderr the program + name, a colon and a space. Otherwise, error will call this + function without parameters instead. */ +extern void (*error_print_progname) (void); + +#else +void error (); +void error_at_line (); +extern void (*error_print_progname) (); +#endif + +/* This variable is incremented each time `error' is called. */ +extern unsigned int error_message_count; + +/* Sometimes we want to have at most one error per line. This + variable controls whether this mode is selected or not. */ +extern int error_one_per_line; + +#ifdef __cplusplus +} +#endif + +#endif /* error.h */ Index: gnulib/m4/error_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/error_.h diff -N gnulib/m4/error_.h --- gnulib/m4/error_.h 9 Sep 2003 17:15:35 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,78 +0,0 @@ -/* Declaration for error-reporting function - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. - - - NOTE: The canonical source of this file is maintained with the GNU C = Library. - Bugs can be reported to bug-glibc@prep.ai.mit.edu. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,= - USA. */ - -#ifndef _ERROR_H -#define _ERROR_H 1 - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -/* The __-protected variants of `format' and `printf' attributes - are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ -# if __GNUC__ < 2 || (__GNUC__ =3D=3D 2 && __GNUC_MINOR__ < 7) -# define __format__ format -# define __printf__ printf -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined (__STDC__) && __STDC__ - -/* Print a message with `fprintf (stderr, FORMAT, ...)'; - if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). - If STATUS is nonzero, terminate the program with `exit (STATUS)'. */= - -extern void error (int status, int errnum, const char *format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); - -extern void error_at_line (int status, int errnum, const char *fname, - unsigned int lineno, const char *format, ...) - __attribute__ ((__format__ (__printf__, 5, 6))); - -/* If NULL, error will flush stdout, then print on stderr the program - name, a colon and a space. Otherwise, error will call this - function without parameters instead. */ -extern void (*error_print_progname) (void); - -#else -void error (); -void error_at_line (); -extern void (*error_print_progname) (); -#endif - -/* This variable is incremented each time `error' is called. */ -extern unsigned int error_message_count; - -/* Sometimes we want to have at most one error per line. This - variable controls whether this mode is selected or not. */ -extern int error_one_per_line; - -#ifdef __cplusplus -} -#endif - -#endif /* error.h */ Index: gnulib/m4/gettext.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/gettext.h diff -N gnulib/m4/gettext.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/gettext.h 12 Sep 2003 16:02:48 -0000 @@ -0,0 +1,68 @@ +/* Convenience header for conditional use of GNU . + Copyright (C) 1995-1998, 2000-2002 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include + +#else + +/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which + chokes if dcgettext is defined as a macro. So include it now, to mak= e + later inclusions of a NOP. We don't include + as well because people using "gettext.h" will not include = , + and also including would fail on SunOS 4, whereas + is OK. */ +#if defined(__sun) +# include +#endif + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to= + contain "#define const". */ +# define gettext(Msgid) ((const char *) (Msgid)) +# define dgettext(Domainname, Msgid) ((const char *) (Msgid)) +# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))= +# define ngettext(Msgid1, Msgid2, N) \ + ((N) =3D=3D 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((N) =3D=3D 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((N) =3D=3D 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) +# define textdomain(Domainname) ((const char *) (Domainname)) +# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) +# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (C= odeset)) + +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strin= gs + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as= + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +#endif /* _LIBGETTEXT_H */ Index: gnulib/m4/gettext_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/gettext_.h diff -N gnulib/m4/gettext_.h --- gnulib/m4/gettext_.h 9 Sep 2003 11:48:50 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,68 +0,0 @@ -/* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002 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 alo= ng - with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _LIBGETTEXT_H -#define _LIBGETTEXT_H 1 - -/* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS - -/* Get declarations of GNU message catalog functions. */ -# include - -#else - -/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which - chokes if dcgettext is defined as a macro. So include it now, to mak= e - later inclusions of a NOP. We don't include - as well because people using "gettext.h" will not include = , - and also including would fail on SunOS 4, whereas - is OK. */ -#if defined(__sun) -# include -#endif - -/* Disabled NLS. - The casts to 'const char *' serve the purpose of producing warnings - for invalid uses of the value returned from these functions. - On pre-ANSI systems without 'const', the config.h file is supposed to= - contain "#define const". */ -# define gettext(Msgid) ((const char *) (Msgid)) -# define dgettext(Domainname, Msgid) ((const char *) (Msgid)) -# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))= -# define ngettext(Msgid1, Msgid2, N) \ - ((N) =3D=3D 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define dngettext(Domainname, Msgid1, Msgid2, N) \ - ((N) =3D=3D 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ - ((N) =3D=3D 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -# define textdomain(Domainname) ((const char *) (Domainname)) -# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) -# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (C= odeset)) - -#endif - -/* A pseudo function call that serves as a marker for the automated - extraction of messages, but does not call gettext(). The run-time - translation is done at a different place in the code. - The argument, String, should be a literal string. Concatenated strin= gs - and other string expressions won't work. - The macro's expansion is not parenthesized, so that it is suitable as= - initializer for static 'char[]' or 'const char[]' variables. */ -#define gettext_noop(String) String - -#endif /* _LIBGETTEXT_H */ Index: gnulib/m4/obstack.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/obstack.h diff -N gnulib/m4/obstack.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/obstack.h 12 Sep 2003 16:02:48 -0000 @@ -0,0 +1,608 @@ +/* obstack.h - object stack macros + Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99,2003 Free Software F= oundation, Inc. + + This file is part of the GNU C Library. Its master source is NOT par= t of + the C library, however. The master source lives in /gd/gnu/lib. + + NOTE: The canonical source of this file is maintained with the GNU C = Library. + Bugs can be reported to bug-glibc@gnu.org. + + 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Summary: + +All the apparent functions defined here are macros. The idea +is that you would use these pre-tested macros to solve a +very specific set of problems, and they would run fast. +Caution: no side-effects in arguments please!! They may be +evaluated MANY times!! + +These macros operate a stack of objects. Each object starts life +small, and may grow to maturity. (Consider building a word syllable +by syllable.) An object can move while it is growing. Once it has +been "finished" it never changes address again. So the "top of the +stack" is typically an immature growing object, while the rest of the +stack is of mature, fixed size and fixed address objects. + +These routines grab large chunks of memory, using a function you +supply, called `obstack_chunk_alloc'. On occasion, they free chunks, +by calling `obstack_chunk_free'. You must define them and declare +them before using any obstack macros. + +Each independent stack is represented by a `struct obstack'. +Each of the obstack macros expects a pointer to such a structure +as the first argument. + +One motivation for this package is the problem of growing char strings +in symbol tables. Unless you are "fascist pig with a read-only mind" +--Gosper's immortal quote from HAKMEM item 154, out of context--you +would not like to put any arbitrary upper limit on the length of your +symbols. + +In practice this often means you will build many short symbols and a +few long symbols. At the time you are reading a symbol you don't know +how long it is. One traditional method is to read a symbol into a +buffer, realloc()ating the buffer every time you try to read a symbol +that is longer than the buffer. This is beaut, but you still will +want to copy the symbol from the buffer to a more permanent +symbol-table entry say about half the time. + +With obstacks, you can work differently. Use one obstack for all symbol= +names. As you read a symbol, grow the name in the obstack gradually. +When the name is complete, finalize it. Then, if the symbol exists alre= ady, +free the newly read name. + +The way we do this is to take a large chunk, allocating memory from +low addresses. When you want to build a symbol in the chunk you just +add chars above the current "high water mark" in the chunk. When you +have finished adding chars, because you got to the end of the symbol, +you know how long the chars are, and you can create a new object. +Mostly the chars will not burst over the highest address of the chunk, +because you would typically expect a chunk to be (say) 100 times as +long as an average object. + +In case that isn't clear, when we have enough chars to make up +the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) +so we just point to it where it lies. No moving of chars is +needed and this is the second win: potentially long strings need +never be explicitly shuffled. Once an object is formed, it does not +change its address during its lifetime. + +When the chars burst over a chunk boundary, we allocate a larger +chunk, and then copy the partly formed object from the end of the old +chunk to the beginning of the new larger chunk. We then carry on +accreting characters to the end of the object as we normally would. + +A special macro is provided to add a single char at a time to a +growing object. This allows the use of register variables, which +break the ordinary 'growth' macro. + +Summary: + We allocate large chunks. + We carve out one object at a time from the current chunk. + Once carved, an object never moves. + We are free to append data of any size to the currently + growing object. + Exactly one object is growing in an obstack at any one time. + You can run one obstack per control block. + You may have as many control blocks as you dare. + Because of the way we do it, you can `unwind' an obstack + back to a previous state. (You may remove objects much + as you would with a stack.) +*/ + + +/* Don't do the contents of this file more than once. */ + +#ifndef _OBSTACK_H +#define _OBSTACK_H 1 + +#ifdef __cplusplus +extern "C" { +#endif +=0C +/* We use subtraction of (char *) 0 instead of casting to int + because on word-addressable machines a simple cast to int + may ignore the byte-within-word field of the pointer. */ + +#ifndef __PTR_TO_INT +# define __PTR_TO_INT(P) ((P) - (char *) 0) +#endif + +#ifndef __INT_TO_PTR +# define __INT_TO_PTR(P) ((P) + (char *) 0) +#endif + +/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is + defined, as with GNU C, use that; that way we don't pollute the + namespace with 's symbols. Otherwise, if is + available, include it and use ptrdiff_t. In traditional C, long is + the best that we can do. */ + +#ifdef __PTRDIFF_TYPE__ +# define PTR_INT_TYPE __PTRDIFF_TYPE__ +#else +# ifdef HAVE_STDDEF_H +# include +# define PTR_INT_TYPE ptrdiff_t +# else +# define PTR_INT_TYPE long +# endif +#endif + +#if defined _LIBC || defined HAVE_STRING_H +# include +# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +#else +# ifdef memcpy +# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +# else +# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N)) +# endif +#endif + +struct _obstack_chunk /* Lives at front of each chunk. */ +{ + char *limit; /* 1 past end of this chunk */ + struct _obstack_chunk *prev; /* address of prior chunk or NULL */ + char contents[4]; /* objects begin here */ +}; + +struct obstack /* control current object in current chunk */ +{ + long chunk_size; /* preferred size to allocate chunks in */ + struct _obstack_chunk *chunk; /* address of current struct obstack_chu= nk */ + char *object_base; /* address of object we are building */ + char *next_free; /* where to add next char to current object */ + char *chunk_limit; /* address of char after current chunk */ + PTR_INT_TYPE temp; /* Temporary for some macros. */ + int alignment_mask; /* Mask of alignment for each object. */ +#if defined __STDC__ && __STDC__ + /* These prototypes vary based on `use_extra_arg', and we use + casts to the prototypeless function type in all assignments, + but having prototypes here quiets -Wstrict-prototypes. */ + struct _obstack_chunk *(*chunkfun) (void *, long); + void (*freefun) (void *, struct _obstack_chunk *); + void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ +#else + struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chu= nk. */ + void (*freefun) (); /* User's function to free a chunk. */ + char *extra_arg; /* first arg for chunk alloc/dealloc funcs */ +#endif + unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg = */ + unsigned maybe_empty_object:1;/* There is a possibility that the curre= nt + chunk contains a zero-length object. This + prevents freeing the chunk if we allocate + a bigger chunk to replace it. */ + unsigned alloc_failed:1; /* No longer used, as we now call the failed + handler on error, but retained for binary + compatibility. */ +}; + +/* Declare the external functions we use; they are in obstack.c. */ + +#if defined __STDC__ && __STDC__ +extern void _obstack_newchunk (struct obstack *, int); +extern void _obstack_free (struct obstack *, void *); +extern int _obstack_begin (struct obstack *, int, int, + void *(*) (long), void (*) (void *)); +extern int _obstack_begin_1 (struct obstack *, int, int, + void *(*) (void *, long), + void (*) (void *, void *), void *); +extern int _obstack_memory_used (struct obstack *); +#else +extern void _obstack_newchunk (); +extern void _obstack_free (); +extern int _obstack_begin (); +extern int _obstack_begin_1 (); +extern int _obstack_memory_used (); +#endif +=0C +#if defined __STDC__ && __STDC__ + +/* Do the function-declarations after the structs + but before defining the macros. */ + +void obstack_init (struct obstack *obstack); + +void * obstack_alloc (struct obstack *obstack, int size); + +void * obstack_copy (struct obstack *obstack, const void *address, int s= ize); +void * obstack_copy0 (struct obstack *obstack, const void *address, int = size); + +void obstack_free (struct obstack *obstack, void *block); + +void obstack_blank (struct obstack *obstack, int size); + +void obstack_grow (struct obstack *obstack, const void *data, int size);= +void obstack_grow0 (struct obstack *obstack, const void *data, int size)= ; + +void obstack_1grow (struct obstack *obstack, int data_char); +void obstack_ptr_grow (struct obstack *obstack, const void *data); +void obstack_int_grow (struct obstack *obstack, int data); + +void * obstack_finish (struct obstack *obstack); + +int obstack_object_size (struct obstack *obstack); + +int obstack_room (struct obstack *obstack); +void obstack_make_room (struct obstack *obstack, int size); +void obstack_1grow_fast (struct obstack *obstack, int data_char); +void obstack_ptr_grow_fast (struct obstack *obstack, const void *data); +void obstack_int_grow_fast (struct obstack *obstack, int data); +void obstack_blank_fast (struct obstack *obstack, int size); + +void * obstack_base (struct obstack *obstack); +void * obstack_next_free (struct obstack *obstack); +int obstack_alignment_mask (struct obstack *obstack); +int obstack_chunk_size (struct obstack *obstack); +int obstack_memory_used (struct obstack *obstack); + +#endif /* __STDC__ */ + +/* Non-ANSI C cannot really support alternative functions for these macr= os, + so we do not declare them. */ + +/* Error handler called when `obstack_chunk_alloc' failed to allocate + more memory. This can be set to a user defined function which + should either abort gracefully or use longjump - but shouldn't + return. The default action is to print a message and abort. */ +#if defined __STDC__ && __STDC__ +extern void (*obstack_alloc_failed_handler) (void); +#else +extern void (*obstack_alloc_failed_handler) (); +#endif + +/* Exit value used when `print_and_abort' is used. */ +extern int obstack_exit_failure; +=0C +/* Pointer to beginning of object being allocated or to be allocated nex= t. + Note that this might not be the final address of the object + because a new chunk might be needed to hold the final size. */ + +#define obstack_base(h) ((h)->object_base) + +/* Size for allocating ordinary chunks. */ + +#define obstack_chunk_size(h) ((h)->chunk_size) + +/* Pointer to next byte not yet allocated in current chunk. */ + +#define obstack_next_free(h) ((h)->next_free) + +/* Mask specifying low bits that should be clear in address of an object= =2E */ + +#define obstack_alignment_mask(h) ((h)->alignment_mask) + +/* To prevent prototype warnings provide complete argument list in + standard C version. */ +#if defined __STDC__ && __STDC__ + +# define obstack_init(h) \ + _obstack_begin ((h), 0, 0, \ + (void *(*) (long)) obstack_chunk_alloc, \ + (void (*) (void *)) obstack_chunk_free) + +# define obstack_begin(h, size) \ + _obstack_begin ((h), (size), 0, \ + (void *(*) (long)) obstack_chunk_alloc, \ + (void (*) (void *)) obstack_chunk_free) + +# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ + _obstack_begin ((h), (size), (alignment), \ + (void *(*) (long)) (chunkfun), \ + (void (*) (void *)) (freefun)) + +# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ + _obstack_begin_1 ((h), (size), (alignment), \ + (void *(*) (void *, long)) (chunkfun), \ + (void (*) (void *, void *)) (freefun), (arg)) + +# define obstack_chunkfun(h, newchunkfun) \ + ((h) -> chunkfun =3D (struct _obstack_chunk *(*)(void *, long)) (newch= unkfun)) + +# define obstack_freefun(h, newfreefun) \ + ((h) -> freefun =3D (void (*)(void *, struct _obstack_chunk *)) (newfr= eefun)) + +#else + +# define obstack_init(h) \ + _obstack_begin ((h), 0, 0, \ + (void *(*) ()) obstack_chunk_alloc, \ + (void (*) ()) obstack_chunk_free) + +# define obstack_begin(h, size) \ + _obstack_begin ((h), (size), 0, \ + (void *(*) ()) obstack_chunk_alloc, \ + (void (*) ()) obstack_chunk_free) + +# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ + _obstack_begin ((h), (size), (alignment), \ + (void *(*) ()) (chunkfun), \ + (void (*) ()) (freefun)) + +# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ + _obstack_begin_1 ((h), (size), (alignment), \ + (void *(*) ()) (chunkfun), \ + (void (*) ()) (freefun), (arg)) + +# define obstack_chunkfun(h, newchunkfun) \ + ((h) -> chunkfun =3D (struct _obstack_chunk *(*)()) (newchunkfun)) + +# define obstack_freefun(h, newfreefun) \ + ((h) -> freefun =3D (void (*)()) (newfreefun)) + +#endif + +#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ =3D achar) + +#define obstack_blank_fast(h,n) ((h)->next_free +=3D (n)) + +#define obstack_memory_used(h) _obstack_memory_used (h) +=0C +#if defined __GNUC__ && defined __STDC__ && __STDC__ +/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ =3D 2 and + does not implement __extension__. But that compiler doesn't define + __GNUC_MINOR__. */ +# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) +# define __extension__ +# endif + +/* For GNU C, if not -traditional, + we can define these macros to compute all args only once + without using a global variable. + Also, we can avoid using the `temp' slot, to make faster code. */ + +# define obstack_object_size(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (unsigned) (__o->next_free - __o->object_base); }) + +# define obstack_room(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (unsigned) (__o->chunk_limit - __o->next_free); }) + +# define obstack_make_room(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->chunk_limit - __o->next_free < __len) \ + _obstack_newchunk (__o, __len); \ + (void) 0; }) + +# define obstack_empty_p(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o =3D (OBSTACK); \ + (__o->chunk->prev =3D=3D 0 && __o->next_free - __o->chunk->contents= =3D=3D 0); }) + +# define obstack_grow(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->next_free + __len > __o->chunk_limit) \ + _obstack_newchunk (__o, __len); \ + _obstack_memcpy (__o->next_free, (where), __len); \ + __o->next_free +=3D __len; \ + (void) 0; }) + +# define obstack_grow0(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->next_free + __len + 1 > __o->chunk_limit) \ + _obstack_newchunk (__o, __len + 1); \ + _obstack_memcpy (__o->next_free, (where), __len); \ + __o->next_free +=3D __len; \ + *(__o->next_free)++ =3D 0; \ + (void) 0; }) + +# define obstack_1grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + 1 > __o->chunk_limit) \ + _obstack_newchunk (__o, 1); \ + *(__o->next_free)++ =3D (datum); \ + (void) 0; }) + +/* These assume that the obstack alignment is good enough for pointers + or ints, and that the data added so far to the current object + shares that much alignment. */ + +# define obstack_ptr_grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (void *)); \ + *((void **)__o->next_free)++ =3D (datum); \ + (void) 0; }) + +# define obstack_int_grow(OBSTACK,datum) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + if (__o->next_free + sizeof (int) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (int)); \ + *((int *)__o->next_free)++ =3D (datum); \ + (void) 0; }) + +# define obstack_ptr_grow_fast(h,aptr) \ + (*((void **) (h)->next_free)++ =3D (aptr)) + +# define obstack_int_grow_fast(h,aint) \ + (*((int *) (h)->next_free)++ =3D (aint)) + +# define obstack_blank(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + int __len =3D (length); \ + if (__o->chunk_limit - __o->next_free < __len) \ + _obstack_newchunk (__o, __len); \ + __o->next_free +=3D __len; \ + (void) 0; }) + +# define obstack_alloc(OBSTACK,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_blank (__h, (length)); \ + obstack_finish (__h); }) + +# define obstack_copy(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_grow (__h, (where), (length)); \ + obstack_finish (__h); }) + +# define obstack_copy0(OBSTACK,where,length) \ +__extension__ \ +({ struct obstack *__h =3D (OBSTACK); \ + obstack_grow0 (__h, (where), (length)); \ + obstack_finish (__h); }) + +/* The local variable is named __o1 to avoid a name conflict + when obstack_blank is called. */ +# define obstack_finish(OBSTACK) \ +__extension__ \ +({ struct obstack *__o1 =3D (OBSTACK); \ + void *value; \ + value =3D (void *) __o1->object_base; \ + if (__o1->next_free =3D=3D value) \ + __o1->maybe_empty_object =3D 1; \ + __o1->next_free \ + =3D __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_m= ask)\ + & ~ (__o1->alignment_mask)); \ + if (__o1->next_free - (char *)__o1->chunk \ + > __o1->chunk_limit - (char *)__o1->chunk) \ + __o1->next_free =3D __o1->chunk_limit; \ + __o1->object_base =3D __o1->next_free; \ + value; }) + +# define obstack_free(OBSTACK, OBJ) \ +__extension__ \ +({ struct obstack *__o =3D (OBSTACK); \ + void *__obj =3D (OBJ); \ + if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) = \ + __o->next_free =3D __o->object_base =3D (char *)__obj; \ + else (obstack_free) (__o, __obj); }) +=0C +#else /* not __GNUC__ or not __STDC__ */ + +# define obstack_object_size(h) \ + (unsigned) ((h)->next_free - (h)->object_base) + +# define obstack_room(h) \ + (unsigned) ((h)->chunk_limit - (h)->next_free) + +# define obstack_empty_p(h) \ + ((h)->chunk->prev =3D=3D 0 && (h)->next_free - (h)->chunk->contents =3D= =3D 0) + +/* Note that the call to _obstack_newchunk is enclosed in (..., 0) + so that we can avoid having void expressions + in the arms of the conditional expression. + Casting the third operand to void was tried before, + but some compilers won't accept it. */ + +# define obstack_make_room(h,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0)) + +# define obstack_grow(h,where,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ + _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ + (h)->next_free +=3D (h)->temp) + +# define obstack_grow0(h,where,length) \ +( (h)->temp =3D (length), \ + (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ + _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ + (h)->next_free +=3D (h)->temp, \ + *((h)->next_free)++ =3D 0) + +# define obstack_1grow(h,datum) \ +( (((h)->next_free + 1 > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), 1), 0) : 0), \ + (*((h)->next_free)++ =3D (datum))) + +# define obstack_ptr_grow(h,datum) \ +( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ + (*((const char **) (((h)->next_free+=3Dsizeof(char *))-sizeof(char *))= ) =3D (datum))) + +# define obstack_int_grow(h,datum) \ +( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ + (*((int *) (((h)->next_free+=3Dsizeof(int))-sizeof(int))) =3D (datum))= ) + +# define obstack_ptr_grow_fast(h,aptr) \ + (*((const char **) (h)->next_free)++ =3D (aptr)) + +# define obstack_int_grow_fast(h,aint) \ + (*((int *) (h)->next_free)++ =3D (aint)) + +# define obstack_blank(h,length) \ +( (h)->temp =3D (length), \ + (((h)->chunk_limit - (h)->next_free < (h)->temp) \ + ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ + ((h)->next_free +=3D (h)->temp)) + +# define obstack_alloc(h,length) \ + (obstack_blank ((h), (length)), obstack_finish ((h))) + +# define obstack_copy(h,where,length) \ + (obstack_grow ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_copy0(h,where,length) \ + (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_finish(h) \ +( ((h)->next_free =3D=3D (h)->object_base \ + ? (((h)->maybe_empty_object =3D 1), 0) \ + : 0), \ + (h)->temp =3D __PTR_TO_INT ((h)->object_base), \ + (h)->next_free \ + =3D __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask= ) \ + & ~ ((h)->alignment_mask)), \ + (((h)->next_free - (char *) (h)->chunk \ + > (h)->chunk_limit - (char *) (h)->chunk) \ + ? ((h)->next_free =3D (h)->chunk_limit) : 0), \ + (h)->object_base =3D (h)->next_free, \ + (void *) __INT_TO_PTR ((h)->temp)) + +# if defined __STDC__ && __STDC__ +# define obstack_free(h,obj) \ +( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ + (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ + ? (int) ((h)->next_free =3D (h)->object_base \ + =3D (h)->temp + (char *) (h)->chunk) \ + : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) +# else +# define obstack_free(h,obj) \ +( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ + (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ + ? (int) ((h)->next_free =3D (h)->object_base \ + =3D (h)->temp + (char *) (h)->chunk) \ + : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0))) +# endif + +#endif /* not __GNUC__ or not __STDC__ */ + +#ifdef __cplusplus +} /* C++ */ +#endif + +#endif /* obstack.h */ Index: gnulib/m4/obstack_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/obstack_.h diff -N gnulib/m4/obstack_.h --- gnulib/m4/obstack_.h 5 Sep 2003 18:32:26 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,608 +0,0 @@ -/* obstack.h - object stack macros - Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99,2003 Free Software F= oundation, Inc. - - This file is part of the GNU C Library. Its master source is NOT par= t of - the C library, however. The master source lives in /gd/gnu/lib. - - NOTE: The canonical source of this file is maintained with the GNU C = Library. - Bugs can be reported to bug-glibc@gnu.org. - - 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 alo= ng - with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* Summary: - -All the apparent functions defined here are macros. The idea -is that you would use these pre-tested macros to solve a -very specific set of problems, and they would run fast. -Caution: no side-effects in arguments please!! They may be -evaluated MANY times!! - -These macros operate a stack of objects. Each object starts life -small, and may grow to maturity. (Consider building a word syllable -by syllable.) An object can move while it is growing. Once it has -been "finished" it never changes address again. So the "top of the -stack" is typically an immature growing object, while the rest of the -stack is of mature, fixed size and fixed address objects. - -These routines grab large chunks of memory, using a function you -supply, called `obstack_chunk_alloc'. On occasion, they free chunks, -by calling `obstack_chunk_free'. You must define them and declare -them before using any obstack macros. - -Each independent stack is represented by a `struct obstack'. -Each of the obstack macros expects a pointer to such a structure -as the first argument. - -One motivation for this package is the problem of growing char strings -in symbol tables. Unless you are "fascist pig with a read-only mind" ---Gosper's immortal quote from HAKMEM item 154, out of context--you -would not like to put any arbitrary upper limit on the length of your -symbols. - -In practice this often means you will build many short symbols and a -few long symbols. At the time you are reading a symbol you don't know -how long it is. One traditional method is to read a symbol into a -buffer, realloc()ating the buffer every time you try to read a symbol -that is longer than the buffer. This is beaut, but you still will -want to copy the symbol from the buffer to a more permanent -symbol-table entry say about half the time. - -With obstacks, you can work differently. Use one obstack for all symbol= -names. As you read a symbol, grow the name in the obstack gradually. -When the name is complete, finalize it. Then, if the symbol exists alre= ady, -free the newly read name. - -The way we do this is to take a large chunk, allocating memory from -low addresses. When you want to build a symbol in the chunk you just -add chars above the current "high water mark" in the chunk. When you -have finished adding chars, because you got to the end of the symbol, -you know how long the chars are, and you can create a new object. -Mostly the chars will not burst over the highest address of the chunk, -because you would typically expect a chunk to be (say) 100 times as -long as an average object. - -In case that isn't clear, when we have enough chars to make up -the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) -so we just point to it where it lies. No moving of chars is -needed and this is the second win: potentially long strings need -never be explicitly shuffled. Once an object is formed, it does not -change its address during its lifetime. - -When the chars burst over a chunk boundary, we allocate a larger -chunk, and then copy the partly formed object from the end of the old -chunk to the beginning of the new larger chunk. We then carry on -accreting characters to the end of the object as we normally would. - -A special macro is provided to add a single char at a time to a -growing object. This allows the use of register variables, which -break the ordinary 'growth' macro. - -Summary: - We allocate large chunks. - We carve out one object at a time from the current chunk. - Once carved, an object never moves. - We are free to append data of any size to the currently - growing object. - Exactly one object is growing in an obstack at any one time. - You can run one obstack per control block. - You may have as many control blocks as you dare. - Because of the way we do it, you can `unwind' an obstack - back to a previous state. (You may remove objects much - as you would with a stack.) -*/ - - -/* Don't do the contents of this file more than once. */ - -#ifndef _OBSTACK_H -#define _OBSTACK_H 1 - -#ifdef __cplusplus -extern "C" { -#endif -=0C -/* We use subtraction of (char *) 0 instead of casting to int - because on word-addressable machines a simple cast to int - may ignore the byte-within-word field of the pointer. */ - -#ifndef __PTR_TO_INT -# define __PTR_TO_INT(P) ((P) - (char *) 0) -#endif - -#ifndef __INT_TO_PTR -# define __INT_TO_PTR(P) ((P) + (char *) 0) -#endif - -/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is - defined, as with GNU C, use that; that way we don't pollute the - namespace with 's symbols. Otherwise, if is - available, include it and use ptrdiff_t. In traditional C, long is - the best that we can do. */ - -#ifdef __PTRDIFF_TYPE__ -# define PTR_INT_TYPE __PTRDIFF_TYPE__ -#else -# ifdef HAVE_STDDEF_H -# include -# define PTR_INT_TYPE ptrdiff_t -# else -# define PTR_INT_TYPE long -# endif -#endif - -#if defined _LIBC || defined HAVE_STRING_H -# include -# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) -#else -# ifdef memcpy -# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) -# else -# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N)) -# endif -#endif - -struct _obstack_chunk /* Lives at front of each chunk. */ -{ - char *limit; /* 1 past end of this chunk */ - struct _obstack_chunk *prev; /* address of prior chunk or NULL */ - char contents[4]; /* objects begin here */ -}; - -struct obstack /* control current object in current chunk */ -{ - long chunk_size; /* preferred size to allocate chunks in */ - struct _obstack_chunk *chunk; /* address of current struct obstack_chu= nk */ - char *object_base; /* address of object we are building */ - char *next_free; /* where to add next char to current object */ - char *chunk_limit; /* address of char after current chunk */ - PTR_INT_TYPE temp; /* Temporary for some macros. */ - int alignment_mask; /* Mask of alignment for each object. */ -#if defined __STDC__ && __STDC__ - /* These prototypes vary based on `use_extra_arg', and we use - casts to the prototypeless function type in all assignments, - but having prototypes here quiets -Wstrict-prototypes. */ - struct _obstack_chunk *(*chunkfun) (void *, long); - void (*freefun) (void *, struct _obstack_chunk *); - void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ -#else - struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chu= nk. */ - void (*freefun) (); /* User's function to free a chunk. */ - char *extra_arg; /* first arg for chunk alloc/dealloc funcs */ -#endif - unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg = */ - unsigned maybe_empty_object:1;/* There is a possibility that the curre= nt - chunk contains a zero-length object. This - prevents freeing the chunk if we allocate - a bigger chunk to replace it. */ - unsigned alloc_failed:1; /* No longer used, as we now call the failed - handler on error, but retained for binary - compatibility. */ -}; - -/* Declare the external functions we use; they are in obstack.c. */ - -#if defined __STDC__ && __STDC__ -extern void _obstack_newchunk (struct obstack *, int); -extern void _obstack_free (struct obstack *, void *); -extern int _obstack_begin (struct obstack *, int, int, - void *(*) (long), void (*) (void *)); -extern int _obstack_begin_1 (struct obstack *, int, int, - void *(*) (void *, long), - void (*) (void *, void *), void *); -extern int _obstack_memory_used (struct obstack *); -#else -extern void _obstack_newchunk (); -extern void _obstack_free (); -extern int _obstack_begin (); -extern int _obstack_begin_1 (); -extern int _obstack_memory_used (); -#endif -=0C -#if defined __STDC__ && __STDC__ - -/* Do the function-declarations after the structs - but before defining the macros. */ - -void obstack_init (struct obstack *obstack); - -void * obstack_alloc (struct obstack *obstack, int size); - -void * obstack_copy (struct obstack *obstack, const void *address, int s= ize); -void * obstack_copy0 (struct obstack *obstack, const void *address, int = size); - -void obstack_free (struct obstack *obstack, void *block); - -void obstack_blank (struct obstack *obstack, int size); - -void obstack_grow (struct obstack *obstack, const void *data, int size);= -void obstack_grow0 (struct obstack *obstack, const void *data, int size)= ; - -void obstack_1grow (struct obstack *obstack, int data_char); -void obstack_ptr_grow (struct obstack *obstack, const void *data); -void obstack_int_grow (struct obstack *obstack, int data); - -void * obstack_finish (struct obstack *obstack); - -int obstack_object_size (struct obstack *obstack); - -int obstack_room (struct obstack *obstack); -void obstack_make_room (struct obstack *obstack, int size); -void obstack_1grow_fast (struct obstack *obstack, int data_char); -void obstack_ptr_grow_fast (struct obstack *obstack, const void *data); -void obstack_int_grow_fast (struct obstack *obstack, int data); -void obstack_blank_fast (struct obstack *obstack, int size); - -void * obstack_base (struct obstack *obstack); -void * obstack_next_free (struct obstack *obstack); -int obstack_alignment_mask (struct obstack *obstack); -int obstack_chunk_size (struct obstack *obstack); -int obstack_memory_used (struct obstack *obstack); - -#endif /* __STDC__ */ - -/* Non-ANSI C cannot really support alternative functions for these macr= os, - so we do not declare them. */ - -/* Error handler called when `obstack_chunk_alloc' failed to allocate - more memory. This can be set to a user defined function which - should either abort gracefully or use longjump - but shouldn't - return. The default action is to print a message and abort. */ -#if defined __STDC__ && __STDC__ -extern void (*obstack_alloc_failed_handler) (void); -#else -extern void (*obstack_alloc_failed_handler) (); -#endif - -/* Exit value used when `print_and_abort' is used. */ -extern int obstack_exit_failure; -=0C -/* Pointer to beginning of object being allocated or to be allocated nex= t. - Note that this might not be the final address of the object - because a new chunk might be needed to hold the final size. */ - -#define obstack_base(h) ((h)->object_base) - -/* Size for allocating ordinary chunks. */ - -#define obstack_chunk_size(h) ((h)->chunk_size) - -/* Pointer to next byte not yet allocated in current chunk. */ - -#define obstack_next_free(h) ((h)->next_free) - -/* Mask specifying low bits that should be clear in address of an object= =2E */ - -#define obstack_alignment_mask(h) ((h)->alignment_mask) - -/* To prevent prototype warnings provide complete argument list in - standard C version. */ -#if defined __STDC__ && __STDC__ - -# define obstack_init(h) \ - _obstack_begin ((h), 0, 0, \ - (void *(*) (long)) obstack_chunk_alloc, \ - (void (*) (void *)) obstack_chunk_free) - -# define obstack_begin(h, size) \ - _obstack_begin ((h), (size), 0, \ - (void *(*) (long)) obstack_chunk_alloc, \ - (void (*) (void *)) obstack_chunk_free) - -# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ - _obstack_begin ((h), (size), (alignment), \ - (void *(*) (long)) (chunkfun), \ - (void (*) (void *)) (freefun)) - -# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ - _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) (void *, long)) (chunkfun), \ - (void (*) (void *, void *)) (freefun), (arg)) - -# define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun =3D (struct _obstack_chunk *(*)(void *, long)) (newch= unkfun)) - -# define obstack_freefun(h, newfreefun) \ - ((h) -> freefun =3D (void (*)(void *, struct _obstack_chunk *)) (newfr= eefun)) - -#else - -# define obstack_init(h) \ - _obstack_begin ((h), 0, 0, \ - (void *(*) ()) obstack_chunk_alloc, \ - (void (*) ()) obstack_chunk_free) - -# define obstack_begin(h, size) \ - _obstack_begin ((h), (size), 0, \ - (void *(*) ()) obstack_chunk_alloc, \ - (void (*) ()) obstack_chunk_free) - -# define obstack_specify_allocation(h, size, alignment, chunkfun, freefu= n) \ - _obstack_begin ((h), (size), (alignment), \ - (void *(*) ()) (chunkfun), \ - (void (*) ()) (freefun)) - -# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfu= n, freefun, arg) \ - _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) ()) (chunkfun), \ - (void (*) ()) (freefun), (arg)) - -# define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun =3D (struct _obstack_chunk *(*)()) (newchunkfun)) - -# define obstack_freefun(h, newfreefun) \ - ((h) -> freefun =3D (void (*)()) (newfreefun)) - -#endif - -#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ =3D achar) - -#define obstack_blank_fast(h,n) ((h)->next_free +=3D (n)) - -#define obstack_memory_used(h) _obstack_memory_used (h) -=0C -#if defined __GNUC__ && defined __STDC__ && __STDC__ -/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ =3D 2 and - does not implement __extension__. But that compiler doesn't define - __GNUC_MINOR__. */ -# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) -# define __extension__ -# endif - -/* For GNU C, if not -traditional, - we can define these macros to compute all args only once - without using a global variable. - Also, we can avoid using the `temp' slot, to make faster code. */ - -# define obstack_object_size(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (unsigned) (__o->next_free - __o->object_base); }) - -# define obstack_room(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (unsigned) (__o->chunk_limit - __o->next_free); }) - -# define obstack_make_room(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->chunk_limit - __o->next_free < __len) \ - _obstack_newchunk (__o, __len); \ - (void) 0; }) - -# define obstack_empty_p(OBSTACK) \ - __extension__ \ - ({ struct obstack const *__o =3D (OBSTACK); \ - (__o->chunk->prev =3D=3D 0 && __o->next_free - __o->chunk->contents= =3D=3D 0); }) - -# define obstack_grow(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->next_free + __len > __o->chunk_limit) \ - _obstack_newchunk (__o, __len); \ - _obstack_memcpy (__o->next_free, (where), __len); \ - __o->next_free +=3D __len; \ - (void) 0; }) - -# define obstack_grow0(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->next_free + __len + 1 > __o->chunk_limit) \ - _obstack_newchunk (__o, __len + 1); \ - _obstack_memcpy (__o->next_free, (where), __len); \ - __o->next_free +=3D __len; \ - *(__o->next_free)++ =3D 0; \ - (void) 0; }) - -# define obstack_1grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + 1 > __o->chunk_limit) \ - _obstack_newchunk (__o, 1); \ - *(__o->next_free)++ =3D (datum); \ - (void) 0; }) - -/* These assume that the obstack alignment is good enough for pointers - or ints, and that the data added so far to the current object - shares that much alignment. */ - -# define obstack_ptr_grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (void *)); \ - *((void **)__o->next_free)++ =3D (datum); \ - (void) 0; }) - -# define obstack_int_grow(OBSTACK,datum) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - if (__o->next_free + sizeof (int) > __o->chunk_limit) \ - _obstack_newchunk (__o, sizeof (int)); \ - *((int *)__o->next_free)++ =3D (datum); \ - (void) 0; }) - -# define obstack_ptr_grow_fast(h,aptr) \ - (*((void **) (h)->next_free)++ =3D (aptr)) - -# define obstack_int_grow_fast(h,aint) \ - (*((int *) (h)->next_free)++ =3D (aint)) - -# define obstack_blank(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - int __len =3D (length); \ - if (__o->chunk_limit - __o->next_free < __len) \ - _obstack_newchunk (__o, __len); \ - __o->next_free +=3D __len; \ - (void) 0; }) - -# define obstack_alloc(OBSTACK,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_blank (__h, (length)); \ - obstack_finish (__h); }) - -# define obstack_copy(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_grow (__h, (where), (length)); \ - obstack_finish (__h); }) - -# define obstack_copy0(OBSTACK,where,length) \ -__extension__ \ -({ struct obstack *__h =3D (OBSTACK); \ - obstack_grow0 (__h, (where), (length)); \ - obstack_finish (__h); }) - -/* The local variable is named __o1 to avoid a name conflict - when obstack_blank is called. */ -# define obstack_finish(OBSTACK) \ -__extension__ \ -({ struct obstack *__o1 =3D (OBSTACK); \ - void *value; \ - value =3D (void *) __o1->object_base; \ - if (__o1->next_free =3D=3D value) \ - __o1->maybe_empty_object =3D 1; \ - __o1->next_free \ - =3D __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_m= ask)\ - & ~ (__o1->alignment_mask)); \ - if (__o1->next_free - (char *)__o1->chunk \ - > __o1->chunk_limit - (char *)__o1->chunk) \ - __o1->next_free =3D __o1->chunk_limit; \ - __o1->object_base =3D __o1->next_free; \ - value; }) - -# define obstack_free(OBSTACK, OBJ) \ -__extension__ \ -({ struct obstack *__o =3D (OBSTACK); \ - void *__obj =3D (OBJ); \ - if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) = \ - __o->next_free =3D __o->object_base =3D (char *)__obj; \ - else (obstack_free) (__o, __obj); }) -=0C -#else /* not __GNUC__ or not __STDC__ */ - -# define obstack_object_size(h) \ - (unsigned) ((h)->next_free - (h)->object_base) - -# define obstack_room(h) \ - (unsigned) ((h)->chunk_limit - (h)->next_free) - -# define obstack_empty_p(h) \ - ((h)->chunk->prev =3D=3D 0 && (h)->next_free - (h)->chunk->contents =3D= =3D 0) - -/* Note that the call to _obstack_newchunk is enclosed in (..., 0) - so that we can avoid having void expressions - in the arms of the conditional expression. - Casting the third operand to void was tried before, - but some compilers won't accept it. */ - -# define obstack_make_room(h,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0)) - -# define obstack_grow(h,where,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ - _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ - (h)->next_free +=3D (h)->temp) - -# define obstack_grow0(h,where,length) \ -( (h)->temp =3D (length), \ - (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ - _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ - (h)->next_free +=3D (h)->temp, \ - *((h)->next_free)++ =3D 0) - -# define obstack_1grow(h,datum) \ -( (((h)->next_free + 1 > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), 1), 0) : 0), \ - (*((h)->next_free)++ =3D (datum))) - -# define obstack_ptr_grow(h,datum) \ -( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ - (*((const char **) (((h)->next_free+=3Dsizeof(char *))-sizeof(char *))= ) =3D (datum))) - -# define obstack_int_grow(h,datum) \ -( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ - ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ - (*((int *) (((h)->next_free+=3Dsizeof(int))-sizeof(int))) =3D (datum))= ) - -# define obstack_ptr_grow_fast(h,aptr) \ - (*((const char **) (h)->next_free)++ =3D (aptr)) - -# define obstack_int_grow_fast(h,aint) \ - (*((int *) (h)->next_free)++ =3D (aint)) - -# define obstack_blank(h,length) \ -( (h)->temp =3D (length), \ - (((h)->chunk_limit - (h)->next_free < (h)->temp) \ - ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ - ((h)->next_free +=3D (h)->temp)) - -# define obstack_alloc(h,length) \ - (obstack_blank ((h), (length)), obstack_finish ((h))) - -# define obstack_copy(h,where,length) \ - (obstack_grow ((h), (where), (length)), obstack_finish ((h))) - -# define obstack_copy0(h,where,length) \ - (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) - -# define obstack_finish(h) \ -( ((h)->next_free =3D=3D (h)->object_base \ - ? (((h)->maybe_empty_object =3D 1), 0) \ - : 0), \ - (h)->temp =3D __PTR_TO_INT ((h)->object_base), \ - (h)->next_free \ - =3D __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask= ) \ - & ~ ((h)->alignment_mask)), \ - (((h)->next_free - (char *) (h)->chunk \ - > (h)->chunk_limit - (char *) (h)->chunk) \ - ? ((h)->next_free =3D (h)->chunk_limit) : 0), \ - (h)->object_base =3D (h)->next_free, \ - (void *) __INT_TO_PTR ((h)->temp)) - -# if defined __STDC__ && __STDC__ -# define obstack_free(h,obj) \ -( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ - (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ - ? (int) ((h)->next_free =3D (h)->object_base \ - =3D (h)->temp + (char *) (h)->chunk) \ - : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) -# else -# define obstack_free(h,obj) \ -( (h)->temp =3D (char *) (obj) - (char *) (h)->chunk, \ - (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)= \ - ? (int) ((h)->next_free =3D (h)->object_base \ - =3D (h)->temp + (char *) (h)->chunk) \ - : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0))) -# endif - -#endif /* not __GNUC__ or not __STDC__ */ - -#ifdef __cplusplus -} /* C++ */ -#endif - -#endif /* obstack.h */ Index: gnulib/m4/regex.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/regex.h diff -N gnulib/m4/regex.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/regex.h 12 Sep 2003 16:02:48 -0000 @@ -0,0 +1,556 @@ +/* Definitions for data structures and routines for the regular + expression library. + Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + + 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _REGEX_H +#define _REGEX_H 1 + +#include + +/* Allow the use in C++ code. */ +#ifdef __cplusplus +extern "C" { +#endif + +/* POSIX says that must be included (by the caller) before= + . */ + +#if !defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE && defined VMS +/* VMS doesn't have `size_t' in , even though POSIX says it= + should be there. */ +# include +#endif + +/* The following two types have to be signed and unsigned integer type + wide enough to hold a value of a pointer. For most ANSI compilers + ptrdiff_t and size_t should be likely OK. Still size of these two + types is 2 for Microsoft C. Ugh... */ +typedef long int s_reg_t; +typedef unsigned long int active_reg_t; + +/* The following bits are used to determine the regexp syntax we + recognize. The set/not-set meanings are chosen so that Emacs syntax + remains the value 0. The bits are given in alphabetical order, and + the definitions shifted by one from the previous bit; thus, when we + add or remove a bit, only one other definition need change. */ +typedef unsigned long int reg_syntax_t; + +/* If this bit is not set, then \ inside a bracket expression is literal= =2E + If set, then such a \ quotes the following character. */ +#define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) + +/* If this bit is not set, then + and ? are operators, and \+ and \? are= + literals. + If set, then \+ and \? are operators and + and ? are literals. */ +#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) + +/* If this bit is set, then character classes are supported. They are: + [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],= + [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. + If not set, then character classes are not supported. */ +#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) + +/* If this bit is set, then ^ and $ are always anchors (outside bracket + expressions, of course). + If this bit is not set, then it depends: + ^ is an anchor if it is at the beginning of a regular + expression or after an open-group or an alternation operator;= + $ is an anchor if it is at the end of a regular expression, or + before a close-group or an alternation operator. + + This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because + POSIX draft 11.2 says that * etc. in leading positions is undefined. + We already implemented a previous draft which made those constructs + invalid, though, so we haven't changed the code back. */ +#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) + +/* If this bit is set, then special characters are always special + regardless of where they are in the pattern. + If this bit is not set, then special characters are special only in + some contexts; otherwise they are ordinary. Specifically, + * + ? and intervals are only special when not after the beginning, + open-group, or alternation operator. */ +#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) + +/* If this bit is set, then *, +, ?, and { cannot be first in an re or + immediately after an alternation or begin-group operator. */ +#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) + +/* If this bit is set, then . matches newline. + If not set, then it doesn't. */ +#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) + +/* If this bit is set, then . doesn't match NUL. + If not set, then it does. */ +#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) + +/* If this bit is set, nonmatching lists [^...] do not match newline. + If not set, they do. */ +#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) + +/* If this bit is set, either \{...\} or {...} defines an + interval, depending on RE_NO_BK_BRACES. + If not set, \{, \}, {, and } are literals. */ +#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) + +/* If this bit is set, +, ? and | aren't recognized as operators. + If not set, they are. */ +#define RE_LIMITED_OPS (RE_INTERVALS << 1) + +/* If this bit is set, newline is an alternation operator. + If not set, newline is literal. */ +#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) + +/* If this bit is set, then `{...}' defines an interval, and \{ and \} + are literals. + If not set, then `\{...\}' defines an interval. */ +#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) + +/* If this bit is set, (...) defines a group, and \( and \) are literals= =2E + If not set, \(...\) defines a group, and ( and ) are literals. */ +#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) + +/* If this bit is set, then \ matches . + If not set, then \ is a back-reference. */ +#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) + +/* If this bit is set, then | is an alternation operator, and \| is lite= ral. + If not set, then \| is an alternation operator, and | is literal. */= +#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) + +/* If this bit is set, then an ending range point collating higher + than the starting range point, as in [z-a], is invalid. + If not set, then when ending range point collates higher than the + starting range point, the range is ignored. */ +#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) + +/* If this bit is set, then an unmatched ) is ordinary. + If not set, then an unmatched ) is invalid. */ +#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) + +/* If this bit is set, succeed as soon as we match the whole pattern, + without further backtracking. */ +#define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) + +/* If this bit is set, do not process the GNU regex operators. + If not set, then the GNU regex operators are recognized. */ +#define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) + +/* If this bit is set, turn on internal regex debugging. + If not set, and debugging was on, turn it off. + This only works if regex.c is compiled -DDEBUG. + We define this bit always, so that all that's needed to turn on + debugging is to recompile regex.c; the calling code can always have + this bit set, and it won't affect anything in the normal case. */ +#define RE_DEBUG (RE_NO_GNU_OPS << 1) + +/* If this bit is set, a syntactically invalid interval is treated as + a string of ordinary characters. For example, the ERE 'a{1' is + treated as 'a\{1'. */ +#define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) + +/* If this bit is set, then ignore case when matching. + If not set, then case is significant. */ +#define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) + +/* This global variable defines the particular regexp syntax to use (for= + some interfaces). When a regexp is compiled, the syntax used is + stored in the pattern buffer, so changing this does not affect + already-compiled regexps. */ +extern reg_syntax_t re_syntax_options; +=0C +/* Define combinations of the above bits for the standard possibilities.= + (The [[[ comments delimit what gets put into the Texinfo file, so + don't delete them!) */ +/* [[[begin syntaxes]]] */ +#define RE_SYNTAX_EMACS 0 + +#define RE_SYNTAX_AWK \ + (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ + | RE_NO_BK_PARENS | RE_NO_BK_REFS \ + | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ + | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ + | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) + +#define RE_SYNTAX_GNU_AWK \ + ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) = \ + & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS \ + | RE_CONTEXT_INVALID_OPS )) + +#define RE_SYNTAX_POSIX_AWK \ + (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ + | RE_INTERVALS | RE_NO_GNU_OPS) + +#define RE_SYNTAX_GREP \ + (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ + | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ + | RE_NEWLINE_ALT) + +#define RE_SYNTAX_EGREP \ + (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ + | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ + | RE_NO_BK_VBAR) + +#define RE_SYNTAX_POSIX_EGREP \ + (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \ + | RE_INVALID_INTERVAL_ORD) + +/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ +#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC + +#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC + +/* Syntax bits common to both basic and extended POSIX regex syntax. */= +#define _RE_SYNTAX_POSIX_COMMON \ + (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ + | RE_INTERVALS | RE_NO_EMPTY_RANGES) + +#define RE_SYNTAX_POSIX_BASIC \ + (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM) + +/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes + RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this + isn't minimal, since other operators, such as \`, aren't disabled. *= / +#define RE_SYNTAX_POSIX_MINIMAL_BASIC \ + (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) + +#define RE_SYNTAX_POSIX_EXTENDED \ + (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ + | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ + | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD) + +/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is + removed and RE_NO_BK_REFS is added. */ +#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ + (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ + | RE_NO_BK_PARENS | RE_NO_BK_REFS \ + | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) +/* [[[end syntaxes]]] */ +=0C +/* Maximum number of duplicates an interval can allow. Some systems + (erroneously) define this in other header files, but we want our + value, so remove any previous define. */ +#ifdef RE_DUP_MAX +# undef RE_DUP_MAX +#endif +/* If sizeof(int) =3D=3D 2, then ((1 << 15) - 1) overflows. */ +#define RE_DUP_MAX (0x7fff) + + +/* POSIX `cflags' bits (i.e., information for `regcomp'). */ + +/* If this bit is set, then use extended regular expression syntax. + If not set, then use basic regular expression syntax. */ +#define REG_EXTENDED 1 + +/* If this bit is set, then ignore case when matching. + If not set, then case is significant. */ +#define REG_ICASE (REG_EXTENDED << 1) + +/* If this bit is set, then anchors do not match at newline + characters in the string. + If not set, then anchors do match at newlines. */ +#define REG_NEWLINE (REG_ICASE << 1) + +/* If this bit is set, then report only success or fail in regexec. + If not set, then returns differ between not matching and errors. */ +#define REG_NOSUB (REG_NEWLINE << 1) + + +/* POSIX `eflags' bits (i.e., information for regexec). */ + +/* If this bit is set, then the beginning-of-line operator doesn't match= + the beginning of the string (presumably because it's not the + beginning of a line). + If not set, then the beginning-of-line operator does match the + beginning of the string. */ +#define REG_NOTBOL 1 + +/* Like REG_NOTBOL, except for the end-of-line. */ +#define REG_NOTEOL (1 << 1) + + +/* If any error codes are removed, changed, or added, update the + `re_error_msg' table in regex.c. */ +typedef enum +{ +#ifdef _XOPEN_SOURCE + REG_ENOSYS =3D -1, /* This will never happen for this implementation. = */ +#endif + + REG_NOERROR =3D 0, /* Success. */ + REG_NOMATCH, /* Didn't find a match (for regexec). */ + + /* POSIX regcomp return error codes. (In the order listed in the + standard.) */ + REG_BADPAT, /* Invalid pattern. */ + REG_ECOLLATE, /* Not implemented. */ + REG_ECTYPE, /* Invalid character class name. */ + REG_EESCAPE, /* Trailing backslash. */ + REG_ESUBREG, /* Invalid back reference. */ + REG_EBRACK, /* Unmatched left bracket. */ + REG_EPAREN, /* Parenthesis imbalance. */ + REG_EBRACE, /* Unmatched \{. */ + REG_BADBR, /* Invalid contents of \{\}. */ + REG_ERANGE, /* Invalid range end. */ + REG_ESPACE, /* Ran out of memory. */ + REG_BADRPT, /* No preceding re for repetition op. */ + + /* Error codes we've added. */ + REG_EEND, /* Premature end. */ + REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ + REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ +} reg_errcode_t; +=0C +/* This data structure represents a compiled pattern. Before calling + the pattern compiler, the fields `buffer', `allocated', `fastmap', + `translate', and `no_sub' can be set. After the pattern has been + compiled, the `re_nsub' field is available. All other fields are + private to the regex routines. */ + +#ifndef RE_TRANSLATE_TYPE +# define RE_TRANSLATE_TYPE char * +#endif + +struct re_pattern_buffer +{ +/* [[[begin pattern_buffer]]] */ + /* Space that holds the compiled pattern. It is declared as + `unsigned char *' because its elements are + sometimes used as array indexes. */ + unsigned char *buffer; + + /* Number of bytes to which `buffer' points. */ + unsigned long int allocated; + + /* Number of bytes actually used in `buffer'. */ + unsigned long int used; + + /* Syntax setting with which the pattern was compiled. */ + reg_syntax_t syntax; + + /* Pointer to a fastmap, if any, otherwise zero. re_search uses= + the fastmap, if there is one, to skip over impossible + starting points for matches. */ + char *fastmap; + + /* Either a translate table to apply to all characters before + comparing them, or zero for no translation. The translation + is applied to a pattern when it is compiled and to a string + when it is matched. */ + RE_TRANSLATE_TYPE translate; + + /* Number of subexpressions found by the compiler. */ + size_t re_nsub; + + /* Zero if this pattern cannot match the empty string, one else.= + Well, in truth it's used only in `re_search_2', to see + whether or not we should use the fastmap, so we don't set + this absolutely perfectly; see `re_compile_fastmap' (the + `duplicate' case). */ + unsigned can_be_null : 1; + + /* If REGS_UNALLOCATED, allocate space in the `regs' structure + for `max (RE_NREGS, re_nsub + 1)' groups. + If REGS_REALLOCATE, reallocate space if necessary. + If REGS_FIXED, use what's there. */ +#define REGS_UNALLOCATED 0 +#define REGS_REALLOCATE 1 +#define REGS_FIXED 2 + unsigned regs_allocated : 2; + + /* Set to zero when `regex_compile' compiles a pattern; set to o= ne + by `re_compile_fastmap' if it updates the fastmap. */ + unsigned fastmap_accurate : 1; + + /* If set, `re_match_2' does not return information about + subexpressions. */ + unsigned no_sub : 1; + + /* If set, a beginning-of-line anchor doesn't match at the + beginning of the string. */ + unsigned not_bol : 1; + + /* Similarly for an end-of-line anchor. */ + unsigned not_eol : 1; + + /* If true, an anchor at a newline matches. */ + unsigned newline_anchor : 1; + +/* [[[end pattern_buffer]]] */ +}; + +typedef struct re_pattern_buffer regex_t; +=0C +/* Type for byte offsets within the string. POSIX mandates this. */ +typedef int regoff_t; + + +/* This is the structure we store register match data in. See + regex.texinfo for a full description of what registers match. */ +struct re_registers +{ + unsigned num_regs; + regoff_t *start; + regoff_t *end; +}; + + +/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, + `re_match_2' returns information about at least this many registers + the first time a `regs' structure is passed. */ +#ifndef RE_NREGS +# define RE_NREGS 30 +#endif + + +/* POSIX specification for registers. Aside from the different names th= an + `re_registers', POSIX uses an array of structures, instead of a + structure of arrays. */ +typedef struct +{ + regoff_t rm_so; /* Byte offset from string's start to substring's sta= rt. */ + regoff_t rm_eo; /* Byte offset from string's start to substring's end= =2E */ +} regmatch_t; +=0C +/* Declarations for routines. */ + +/* Sets the current default syntax to SYNTAX, and return the old syntax.= + You can also simply assign to the `re_syntax_options' variable. */ +extern reg_syntax_t re_set_syntax (reg_syntax_t syntax); + +/* Compile the regular expression PATTERN, with length LENGTH + and syntax given by the global `re_syntax_options', into the buffer + BUFFER. Return NULL if successful, and an error string if not. */ +extern const char *re_compile_pattern (const char *pattern, size_t lengt= h, + struct re_pattern_buffer *buffer); + + +/* Compile a fastmap for the compiled pattern in BUFFER; used to + accelerate searches. Return 0 if successful and -2 if was an + internal error. */ +extern int re_compile_fastmap (struct re_pattern_buffer *buffer); + + +/* Search in the string STRING (with length LENGTH) for the pattern + compiled into BUFFER. Start searching at position START, for RANGE + characters. Return the starting position of the match, -1 for no + match, or -2 for an internal error. Also return register + information in REGS (if REGS and BUFFER->no_sub are nonzero). */ +extern int re_search (struct re_pattern_buffer *buffer, const char *stri= ng, + int length, int start, int range, + struct re_registers *regs); + + +/* Like `re_search', but search in the concatenation of STRING1 and + STRING2. Also, stop searching at index START + STOP. */ +extern int re_search_2 (struct re_pattern_buffer *buffer, const char *st= ring1, + int length1, const char *string2, int length2, + int start, int range, struct re_registers *regs, + int stop); + + +/* Like `re_search', but return how many characters in STRING the regexp= + in BUFFER matched, starting at position START. */ +extern int re_match (struct re_pattern_buffer *buffer, const char *strin= g, + int length, int start, struct re_registers *regs); + + +/* Relates to `re_match' as `re_search_2' relates to `re_search'. */ +extern int re_match_2 (struct re_pattern_buffer *buffer, const char *str= ing1, + int length1, const char *string2, int length2, + int start, struct re_registers *regs, int stop); + + +/* Set REGS to hold NUM_REGS registers, storing them in STARTS and + ENDS. Subsequent matches using BUFFER and REGS will use this memory + for recording register information. STARTS and ENDS must be + allocated with malloc, and must each be at least `NUM_REGS * sizeof + (regoff_t)' bytes long. + + If NUM_REGS =3D=3D 0, then subsequent matches should allocate their o= wn + register data. + + Unless this function is called, the first search or match using + PATTERN_BUFFER will allocate its own register data, without + freeing the old data. */ +extern void re_set_registers (struct re_pattern_buffer *buffer, + struct re_registers *regs, unsigned num_regs, + regoff_t *starts, regoff_t *ends); + +#if defined _REGEX_RE_COMP || defined _LIBC +# ifndef _CRAY +/* 4.2 bsd compatibility. */ +extern char *re_comp (const char *); +extern int re_exec (const char *); +# endif +#endif + +/* GCC 2.95 and later have "__restrict"; C99 compilers have + "restrict", and "configure" may have defined "restrict". */ +#ifndef __restrict +# if ! (2 < __GNUC__ || (2 =3D=3D __GNUC__ && 95 <=3D __GNUC_MINOR__)) +# if defined restrict || 199901L <=3D __STDC_VERSION__ +# define __restrict restrict +# else +# define __restrict +# endif +# endif +#endif +/* gcc 3.1 and up support the [restrict] syntax. */ +#ifndef __restrict_arr +# if __GNUC__ > 3 || (__GNUC__ =3D=3D 3 && __GNUC_MINOR__ >=3D 1) +# define __restrict_arr __restrict +# else +# define __restrict_arr +# endif +#endif + +/* POSIX compatibility. */ +extern int regcomp (regex_t *__restrict __preg, + const char *__restrict __pattern, + int __cflags); + +extern int regexec (const regex_t *__restrict __preg, + const char *__restrict __string, size_t __nmatch, + regmatch_t __pmatch[__restrict_arr], + int __eflags); + +extern size_t regerror (int __errcode, const regex_t *__preg, + char *__errbuf, size_t __errbuf_size); + +extern void regfree (regex_t *__preg); + + +#ifdef __cplusplus +} +#endif /* C++ */ + +#endif /* regex.h */ +=0C +/* +Local variables: +make-backup-files: t +version-control: t +trim-versions-without-asking: nil +End: +*/ Index: gnulib/m4/regex_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/regex_.h diff -N gnulib/m4/regex_.h --- gnulib/m4/regex_.h 12 Sep 2003 13:27:54 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,556 +0,0 @@ -/* Definitions for data structures and routines for the regular - expression library. - Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - 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 alo= ng - with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _REGEX_H -#define _REGEX_H 1 - -#include - -/* Allow the use in C++ code. */ -#ifdef __cplusplus -extern "C" { -#endif - -/* POSIX says that must be included (by the caller) before= - . */ - -#if !defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE && defined VMS -/* VMS doesn't have `size_t' in , even though POSIX says it= - should be there. */ -# include -#endif - -/* The following two types have to be signed and unsigned integer type - wide enough to hold a value of a pointer. For most ANSI compilers - ptrdiff_t and size_t should be likely OK. Still size of these two - types is 2 for Microsoft C. Ugh... */ -typedef long int s_reg_t; -typedef unsigned long int active_reg_t; - -/* The following bits are used to determine the regexp syntax we - recognize. The set/not-set meanings are chosen so that Emacs syntax - remains the value 0. The bits are given in alphabetical order, and - the definitions shifted by one from the previous bit; thus, when we - add or remove a bit, only one other definition need change. */ -typedef unsigned long int reg_syntax_t; - -/* If this bit is not set, then \ inside a bracket expression is literal= =2E - If set, then such a \ quotes the following character. */ -#define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) - -/* If this bit is not set, then + and ? are operators, and \+ and \? are= - literals. - If set, then \+ and \? are operators and + and ? are literals. */ -#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) - -/* If this bit is set, then character classes are supported. They are: - [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],= - [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. - If not set, then character classes are not supported. */ -#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) - -/* If this bit is set, then ^ and $ are always anchors (outside bracket - expressions, of course). - If this bit is not set, then it depends: - ^ is an anchor if it is at the beginning of a regular - expression or after an open-group or an alternation operator;= - $ is an anchor if it is at the end of a regular expression, or - before a close-group or an alternation operator. - - This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because - POSIX draft 11.2 says that * etc. in leading positions is undefined. - We already implemented a previous draft which made those constructs - invalid, though, so we haven't changed the code back. */ -#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) - -/* If this bit is set, then special characters are always special - regardless of where they are in the pattern. - If this bit is not set, then special characters are special only in - some contexts; otherwise they are ordinary. Specifically, - * + ? and intervals are only special when not after the beginning, - open-group, or alternation operator. */ -#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) - -/* If this bit is set, then *, +, ?, and { cannot be first in an re or - immediately after an alternation or begin-group operator. */ -#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) - -/* If this bit is set, then . matches newline. - If not set, then it doesn't. */ -#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) - -/* If this bit is set, then . doesn't match NUL. - If not set, then it does. */ -#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) - -/* If this bit is set, nonmatching lists [^...] do not match newline. - If not set, they do. */ -#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) - -/* If this bit is set, either \{...\} or {...} defines an - interval, depending on RE_NO_BK_BRACES. - If not set, \{, \}, {, and } are literals. */ -#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) - -/* If this bit is set, +, ? and | aren't recognized as operators. - If not set, they are. */ -#define RE_LIMITED_OPS (RE_INTERVALS << 1) - -/* If this bit is set, newline is an alternation operator. - If not set, newline is literal. */ -#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) - -/* If this bit is set, then `{...}' defines an interval, and \{ and \} - are literals. - If not set, then `\{...\}' defines an interval. */ -#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) - -/* If this bit is set, (...) defines a group, and \( and \) are literals= =2E - If not set, \(...\) defines a group, and ( and ) are literals. */ -#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) - -/* If this bit is set, then \ matches . - If not set, then \ is a back-reference. */ -#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) - -/* If this bit is set, then | is an alternation operator, and \| is lite= ral. - If not set, then \| is an alternation operator, and | is literal. */= -#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) - -/* If this bit is set, then an ending range point collating higher - than the starting range point, as in [z-a], is invalid. - If not set, then when ending range point collates higher than the - starting range point, the range is ignored. */ -#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) - -/* If this bit is set, then an unmatched ) is ordinary. - If not set, then an unmatched ) is invalid. */ -#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) - -/* If this bit is set, succeed as soon as we match the whole pattern, - without further backtracking. */ -#define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) - -/* If this bit is set, do not process the GNU regex operators. - If not set, then the GNU regex operators are recognized. */ -#define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) - -/* If this bit is set, turn on internal regex debugging. - If not set, and debugging was on, turn it off. - This only works if regex.c is compiled -DDEBUG. - We define this bit always, so that all that's needed to turn on - debugging is to recompile regex.c; the calling code can always have - this bit set, and it won't affect anything in the normal case. */ -#define RE_DEBUG (RE_NO_GNU_OPS << 1) - -/* If this bit is set, a syntactically invalid interval is treated as - a string of ordinary characters. For example, the ERE 'a{1' is - treated as 'a\{1'. */ -#define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) - -/* If this bit is set, then ignore case when matching. - If not set, then case is significant. */ -#define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) - -/* This global variable defines the particular regexp syntax to use (for= - some interfaces). When a regexp is compiled, the syntax used is - stored in the pattern buffer, so changing this does not affect - already-compiled regexps. */ -extern reg_syntax_t re_syntax_options; -=0C -/* Define combinations of the above bits for the standard possibilities.= - (The [[[ comments delimit what gets put into the Texinfo file, so - don't delete them!) */ -/* [[[begin syntaxes]]] */ -#define RE_SYNTAX_EMACS 0 - -#define RE_SYNTAX_AWK \ - (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ - | RE_NO_BK_PARENS | RE_NO_BK_REFS \ - | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ - | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ - | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) - -#define RE_SYNTAX_GNU_AWK \ - ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) = \ - & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS \ - | RE_CONTEXT_INVALID_OPS )) - -#define RE_SYNTAX_POSIX_AWK \ - (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ - | RE_INTERVALS | RE_NO_GNU_OPS) - -#define RE_SYNTAX_GREP \ - (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ - | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ - | RE_NEWLINE_ALT) - -#define RE_SYNTAX_EGREP \ - (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ - | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ - | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ - | RE_NO_BK_VBAR) - -#define RE_SYNTAX_POSIX_EGREP \ - (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \ - | RE_INVALID_INTERVAL_ORD) - -/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ -#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC - -#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC - -/* Syntax bits common to both basic and extended POSIX regex syntax. */= -#define _RE_SYNTAX_POSIX_COMMON \ - (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ - | RE_INTERVALS | RE_NO_EMPTY_RANGES) - -#define RE_SYNTAX_POSIX_BASIC \ - (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM) - -/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes - RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this - isn't minimal, since other operators, such as \`, aren't disabled. *= / -#define RE_SYNTAX_POSIX_MINIMAL_BASIC \ - (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) - -#define RE_SYNTAX_POSIX_EXTENDED \ - (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ - | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ - | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ - | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD) - -/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is - removed and RE_NO_BK_REFS is added. */ -#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ - (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ - | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ - | RE_NO_BK_PARENS | RE_NO_BK_REFS \ - | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) -/* [[[end syntaxes]]] */ -=0C -/* Maximum number of duplicates an interval can allow. Some systems - (erroneously) define this in other header files, but we want our - value, so remove any previous define. */ -#ifdef RE_DUP_MAX -# undef RE_DUP_MAX -#endif -/* If sizeof(int) =3D=3D 2, then ((1 << 15) - 1) overflows. */ -#define RE_DUP_MAX (0x7fff) - - -/* POSIX `cflags' bits (i.e., information for `regcomp'). */ - -/* If this bit is set, then use extended regular expression syntax. - If not set, then use basic regular expression syntax. */ -#define REG_EXTENDED 1 - -/* If this bit is set, then ignore case when matching. - If not set, then case is significant. */ -#define REG_ICASE (REG_EXTENDED << 1) - -/* If this bit is set, then anchors do not match at newline - characters in the string. - If not set, then anchors do match at newlines. */ -#define REG_NEWLINE (REG_ICASE << 1) - -/* If this bit is set, then report only success or fail in regexec. - If not set, then returns differ between not matching and errors. */ -#define REG_NOSUB (REG_NEWLINE << 1) - - -/* POSIX `eflags' bits (i.e., information for regexec). */ - -/* If this bit is set, then the beginning-of-line operator doesn't match= - the beginning of the string (presumably because it's not the - beginning of a line). - If not set, then the beginning-of-line operator does match the - beginning of the string. */ -#define REG_NOTBOL 1 - -/* Like REG_NOTBOL, except for the end-of-line. */ -#define REG_NOTEOL (1 << 1) - - -/* If any error codes are removed, changed, or added, update the - `re_error_msg' table in regex.c. */ -typedef enum -{ -#ifdef _XOPEN_SOURCE - REG_ENOSYS =3D -1, /* This will never happen for this implementation. = */ -#endif - - REG_NOERROR =3D 0, /* Success. */ - REG_NOMATCH, /* Didn't find a match (for regexec). */ - - /* POSIX regcomp return error codes. (In the order listed in the - standard.) */ - REG_BADPAT, /* Invalid pattern. */ - REG_ECOLLATE, /* Not implemented. */ - REG_ECTYPE, /* Invalid character class name. */ - REG_EESCAPE, /* Trailing backslash. */ - REG_ESUBREG, /* Invalid back reference. */ - REG_EBRACK, /* Unmatched left bracket. */ - REG_EPAREN, /* Parenthesis imbalance. */ - REG_EBRACE, /* Unmatched \{. */ - REG_BADBR, /* Invalid contents of \{\}. */ - REG_ERANGE, /* Invalid range end. */ - REG_ESPACE, /* Ran out of memory. */ - REG_BADRPT, /* No preceding re for repetition op. */ - - /* Error codes we've added. */ - REG_EEND, /* Premature end. */ - REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ - REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ -} reg_errcode_t; -=0C -/* This data structure represents a compiled pattern. Before calling - the pattern compiler, the fields `buffer', `allocated', `fastmap', - `translate', and `no_sub' can be set. After the pattern has been - compiled, the `re_nsub' field is available. All other fields are - private to the regex routines. */ - -#ifndef RE_TRANSLATE_TYPE -# define RE_TRANSLATE_TYPE char * -#endif - -struct re_pattern_buffer -{ -/* [[[begin pattern_buffer]]] */ - /* Space that holds the compiled pattern. It is declared as - `unsigned char *' because its elements are - sometimes used as array indexes. */ - unsigned char *buffer; - - /* Number of bytes to which `buffer' points. */ - unsigned long int allocated; - - /* Number of bytes actually used in `buffer'. */ - unsigned long int used; - - /* Syntax setting with which the pattern was compiled. */ - reg_syntax_t syntax; - - /* Pointer to a fastmap, if any, otherwise zero. re_search uses= - the fastmap, if there is one, to skip over impossible - starting points for matches. */ - char *fastmap; - - /* Either a translate table to apply to all characters before - comparing them, or zero for no translation. The translation - is applied to a pattern when it is compiled and to a string - when it is matched. */ - RE_TRANSLATE_TYPE translate; - - /* Number of subexpressions found by the compiler. */ - size_t re_nsub; - - /* Zero if this pattern cannot match the empty string, one else.= - Well, in truth it's used only in `re_search_2', to see - whether or not we should use the fastmap, so we don't set - this absolutely perfectly; see `re_compile_fastmap' (the - `duplicate' case). */ - unsigned can_be_null : 1; - - /* If REGS_UNALLOCATED, allocate space in the `regs' structure - for `max (RE_NREGS, re_nsub + 1)' groups. - If REGS_REALLOCATE, reallocate space if necessary. - If REGS_FIXED, use what's there. */ -#define REGS_UNALLOCATED 0 -#define REGS_REALLOCATE 1 -#define REGS_FIXED 2 - unsigned regs_allocated : 2; - - /* Set to zero when `regex_compile' compiles a pattern; set to o= ne - by `re_compile_fastmap' if it updates the fastmap. */ - unsigned fastmap_accurate : 1; - - /* If set, `re_match_2' does not return information about - subexpressions. */ - unsigned no_sub : 1; - - /* If set, a beginning-of-line anchor doesn't match at the - beginning of the string. */ - unsigned not_bol : 1; - - /* Similarly for an end-of-line anchor. */ - unsigned not_eol : 1; - - /* If true, an anchor at a newline matches. */ - unsigned newline_anchor : 1; - -/* [[[end pattern_buffer]]] */ -}; - -typedef struct re_pattern_buffer regex_t; -=0C -/* Type for byte offsets within the string. POSIX mandates this. */ -typedef int regoff_t; - - -/* This is the structure we store register match data in. See - regex.texinfo for a full description of what registers match. */ -struct re_registers -{ - unsigned num_regs; - regoff_t *start; - regoff_t *end; -}; - - -/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, - `re_match_2' returns information about at least this many registers - the first time a `regs' structure is passed. */ -#ifndef RE_NREGS -# define RE_NREGS 30 -#endif - - -/* POSIX specification for registers. Aside from the different names th= an - `re_registers', POSIX uses an array of structures, instead of a - structure of arrays. */ -typedef struct -{ - regoff_t rm_so; /* Byte offset from string's start to substring's sta= rt. */ - regoff_t rm_eo; /* Byte offset from string's start to substring's end= =2E */ -} regmatch_t; -=0C -/* Declarations for routines. */ - -/* Sets the current default syntax to SYNTAX, and return the old syntax.= - You can also simply assign to the `re_syntax_options' variable. */ -extern reg_syntax_t re_set_syntax (reg_syntax_t syntax); - -/* Compile the regular expression PATTERN, with length LENGTH - and syntax given by the global `re_syntax_options', into the buffer - BUFFER. Return NULL if successful, and an error string if not. */ -extern const char *re_compile_pattern (const char *pattern, size_t lengt= h, - struct re_pattern_buffer *buffer); - - -/* Compile a fastmap for the compiled pattern in BUFFER; used to - accelerate searches. Return 0 if successful and -2 if was an - internal error. */ -extern int re_compile_fastmap (struct re_pattern_buffer *buffer); - - -/* Search in the string STRING (with length LENGTH) for the pattern - compiled into BUFFER. Start searching at position START, for RANGE - characters. Return the starting position of the match, -1 for no - match, or -2 for an internal error. Also return register - information in REGS (if REGS and BUFFER->no_sub are nonzero). */ -extern int re_search (struct re_pattern_buffer *buffer, const char *stri= ng, - int length, int start, int range, - struct re_registers *regs); - - -/* Like `re_search', but search in the concatenation of STRING1 and - STRING2. Also, stop searching at index START + STOP. */ -extern int re_search_2 (struct re_pattern_buffer *buffer, const char *st= ring1, - int length1, const char *string2, int length2, - int start, int range, struct re_registers *regs, - int stop); - - -/* Like `re_search', but return how many characters in STRING the regexp= - in BUFFER matched, starting at position START. */ -extern int re_match (struct re_pattern_buffer *buffer, const char *strin= g, - int length, int start, struct re_registers *regs); - - -/* Relates to `re_match' as `re_search_2' relates to `re_search'. */ -extern int re_match_2 (struct re_pattern_buffer *buffer, const char *str= ing1, - int length1, const char *string2, int length2, - int start, struct re_registers *regs, int stop); - - -/* Set REGS to hold NUM_REGS registers, storing them in STARTS and - ENDS. Subsequent matches using BUFFER and REGS will use this memory - for recording register information. STARTS and ENDS must be - allocated with malloc, and must each be at least `NUM_REGS * sizeof - (regoff_t)' bytes long. - - If NUM_REGS =3D=3D 0, then subsequent matches should allocate their o= wn - register data. - - Unless this function is called, the first search or match using - PATTERN_BUFFER will allocate its own register data, without - freeing the old data. */ -extern void re_set_registers (struct re_pattern_buffer *buffer, - struct re_registers *regs, unsigned num_regs, - regoff_t *starts, regoff_t *ends); - -#if defined _REGEX_RE_COMP || defined _LIBC -# ifndef _CRAY -/* 4.2 bsd compatibility. */ -extern char *re_comp (const char *); -extern int re_exec (const char *); -# endif -#endif - -/* GCC 2.95 and later have "__restrict"; C99 compilers have - "restrict", and "configure" may have defined "restrict". */ -#ifndef __restrict -# if ! (2 < __GNUC__ || (2 =3D=3D __GNUC__ && 95 <=3D __GNUC_MINOR__)) -# if defined restrict || 199901L <=3D __STDC_VERSION__ -# define __restrict restrict -# else -# define __restrict -# endif -# endif -#endif -/* gcc 3.1 and up support the [restrict] syntax. */ -#ifndef __restrict_arr -# if __GNUC__ > 3 || (__GNUC__ =3D=3D 3 && __GNUC_MINOR__ >=3D 1) -# define __restrict_arr __restrict -# else -# define __restrict_arr -# endif -#endif - -/* POSIX compatibility. */ -extern int regcomp (regex_t *__restrict __preg, - const char *__restrict __pattern, - int __cflags); - -extern int regexec (const regex_t *__restrict __preg, - const char *__restrict __string, size_t __nmatch, - regmatch_t __pmatch[__restrict_arr], - int __eflags); - -extern size_t regerror (int __errcode, const regex_t *__preg, - char *__errbuf, size_t __errbuf_size); - -extern void regfree (regex_t *__preg); - - -#ifdef __cplusplus -} -#endif /* C++ */ - -#endif /* regex.h */ -=0C -/* -Local variables: -make-backup-files: t -version-control: t -trim-versions-without-asking: nil -End: -*/ --------------090908030400000805080106-- From MAILER-DAEMON Fri Sep 12 13:10:20 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19xrR5-00021X-0s for mharc-m4-patches@gnu.org; Fri, 12 Sep 2003 13:10:19 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19xrQs-0001so-SI for m4-patches@gnu.org; Fri, 12 Sep 2003 13:10:06 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19xrNd-0000bA-6L for m4-patches@gnu.org; Fri, 12 Sep 2003 13:07:04 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19xrNT-0000Ye-Oe for m4-patches@gnu.org; Fri, 12 Sep 2003 13:06:40 -0400 Received: (qmail 31604 invoked from network); 12 Sep 2003 15:45:53 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 12 Sep 2003 15:45:53 -0000 Received: (qmail 15566 invoked from network); 12 Sep 2003 15:22:49 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 12 Sep 2003 15:22:49 -0000 Message-ID: <3F61E4E7.4000004@gnu.org> Date: Fri, 12 Sep 2003 16:23:19 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------090904080202080505020102" Subject: FYI: 66-gary-gnulib-getopt-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 17:10:15 -0000 This is a multi-part message in MIME format. --------------090904080202080505020102 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------090904080202080505020102 Content-Type: text/plain; name="66-gary-gnulib-getopt-import.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="66-gary-gnulib-getopt-import.patch" Index: ChangeLog from Gary V. Vaughan Replace the getopt code with CVS gnulib getopt. The source files detect whether they are in a glibc environment and preprocess away all of the code if there is a system getopt, so we can compile them into the m4 executable unconditionally: * gnulib/m4/getopt.c, gnulib/m4/getopt1.c, gnulib/m4/getopt.h, gnulib/config/getopt.m4: Import getopt module from CVS gnulib. * configure.ac (gl_GETOPT): Use this instead of homebrew inline macros. * src/getopt.c, src/getopt1.c, src/gnu-getopt.h: Removed old version. * src/Makefile.am: Adjust. * src/main.c: Always include our shipped getopt.h. * po/POTFILES.in: Use new location of getopt.c. 2003-09-12 Gary V. Vaughan Index: configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.24 diff -u -p -u -r1.24 configure.ac --- configure.ac 12 Sep 2003 14:28:09 -0000 1.24 +++ configure.ac 12 Sep 2003 15:16:59 -0000 @@ -56,6 +56,7 @@ m4_pattern_allow([^m4_cv_]) m4_pattern_forbid([^jm_]) m4_pattern_allow([^jm_cv_]) m4_pattern_allow([^jm_ac_cv_]) +m4_pattern_allow([^jm_with_]) =20 AC_MSG_CHECKING(for modules to preload) m4_pattern_allow([^m4_default_preload$]) @@ -181,22 +182,13 @@ AC_FUNC_VPRINTF =20 AM_WITH_DMALLOC =20 +gl_GETOPT gl_XALLOC gl_XSTRNDUP m4_ERROR m4_OBSTACK m4_REGEX([gnulib/m4/regex.c]) m4_SYS_STACKOVF - -M4OBJS=3D -m4_pattern_allow([^m4_getopt_h$]) -m4_getopt_h=3Dsrc/getopt.h -rm -f $m4_getopt_h -AC_CHECK_FUNC([getopt_long], [], - [M4OBJS=3D"getopt1.$ac_objext getopt.$ac_objext" - AC_CONFIG_LINKS([$m4_getopt_h:src/gnu-getopt.h])]) -AC_SUBST([M4OBJS]) - =20 # This is for the modules AC_STRUCT_TM Index: gnulib/config/getopt.m4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/config/getopt.m4 diff -N gnulib/config/getopt.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/config/getopt.m4 12 Sep 2003 15:16:59 -0000 @@ -0,0 +1,13 @@ +# getopt.m4 serial 2 +dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +AC_DEFUN([gl_GETOPT], +[ + dnl Prerequisites of lib/getopt.c. + : +]) Index: gnulib/m4/getopt.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/getopt.c diff -N gnulib/m4/getopt.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/getopt.c 12 Sep 2003 15:16:59 -0000 @@ -0,0 +1,1209 @@ +/* Getopt for GNU. + NOTE: getopt is now part of the C library, so if you don't know what + "Keep this file name-space clean" means, talk to drepper@gnu.org + before changing it! + + Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, + 1996, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, + Inc. + + This file is part of the GNU C Library. + + 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +=0C +/* This tells Alpha OSF/1 not to define a getopt prototype in .= + Ditto for AIX 3.2 and . */ +#ifndef _NO_PROTO +# define _NO_PROTO +#endif + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include + +/* Comment out all this code if we are using the GNU C Library, and are = not + actually compiling the library itself. This code is part of the GNU = C + Library, but also included in many other GNU distributions. Compilin= g + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU= + program understand `configure --with-gnu-libc' and omit the object fi= les, + it is simpler to just do this in the source for each such file. */ + +#define GETOPT_INTERFACE_VERSION 2 +#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >=3D 2 +# include +# if _GNU_GETOPT_INTERFACE_VERSION =3D=3D GETOPT_INTERFACE_VERSION +# define ELIDE_CODE +# endif +#endif + +#ifndef ELIDE_CODE + + +/* This needs to come after some library #include + to get __GNU_LIBRARY__ defined. */ +#ifdef __GNU_LIBRARY__ +/* Don't include stdlib.h for non-GNU C libraries because some of them + contain conflicting prototypes for getopt. */ +# include +# include +#endif /* GNU C library. */ + +#include + +#ifdef VMS +# include +#endif + +#ifdef _LIBC +# include +#else +/* This is for other GNU distributions with internationalized messages. = */ +# include "gettext.h" +#endif +#define _(msgid) gettext (msgid) + +#if defined _LIBC && defined USE_IN_LIBIO +# include +#endif + +#ifndef attribute_hidden +# define attribute_hidden +#endif + +/* This version of `getopt' appears to the caller like standard Unix `ge= topt' + but it behaves differently for the user, since it allows the user + to intersperse the options with the other arguments. + + As `getopt' works, it permutes the elements of ARGV so that, + when it is done, all the options precede everything else. Thus + all application programs are extended to handle flexible argument ord= er. + + Setting the environment variable POSIXLY_CORRECT disables permutation= =2E + Then the behavior is completely standard. + + GNU application programs can use a third alternative mode in which + they can distinguish the relative order of options and other argument= s. */ + +#include "getopt.h" + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +/* 1003.2 says this must be 1 before any call. */ +int optind =3D 1; + +/* Formerly, initialization of getopt depended on optind=3D=3D0, which + causes problems with re-calling getopt as programs generally don't + know that. */ + +int __getopt_initialized attribute_hidden; + +/* The next char to be scanned in the option-element + in which the last option character we returned was found. + This allows us to pick up the scan where we left off. + + If this is zero, or a null string, it means resume the scan + by advancing to the next ARGV-element. */ + +static char *nextchar; + +/* Callers store zero here to inhibit the error message + for unrecognized options. */ + +int opterr =3D 1; + +/* Set to an option character which was unrecognized. + This must be initialized on some systems to avoid linking in the + system's own getopt implementation. */ + +int optopt =3D '?'; + +/* Describe how to deal with options that follow non-option ARGV-element= s. + + If the caller did not specify anything, + the default is REQUIRE_ORDER if the environment variable + POSIXLY_CORRECT is defined, PERMUTE otherwise. + + REQUIRE_ORDER means don't recognize them as options; + stop option processing when the first non-option is seen. + This is what Unix does. + This mode of operation is selected by either setting the environment + variable POSIXLY_CORRECT, or using `+' as the first character + of the list of option characters. + + PERMUTE is the default. We permute the contents of ARGV as we scan, + so that eventually all the non-options are at the end. This allows o= ptions + to be given in any order, even with programs that were not written to= + expect this. + + RETURN_IN_ORDER is an option available to programs that were written + to expect options and other ARGV-elements in any order and that care = about + the ordering of the two. We describe each non-option ARGV-element + as if it were the argument of an option with character code 1. + Using `-' as the first character of the list of option characters + selects this mode of operation. + + The special argument `--' forces an end of option-scanning regardless= + of the value of `ordering'. In the case of RETURN_IN_ORDER, only + `--' can cause `getopt' to return -1 with `optind' !=3D ARGC. */ + +static enum +{ + REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER +} ordering; + +/* Value of POSIXLY_CORRECT environment variable. */ +static char *posixly_correct; +=0C +#ifndef __GNU_LIBRARY__ + +/* Avoid depending on library functions or files + whose names are inconsistent. */ + +#ifndef getenv +extern char *getenv (); +#endif + +#endif /* not __GNU_LIBRARY__ */ +=0C +/* Handle permutation of arguments. */ + +/* Describe the part of ARGV that contains non-options that have + been skipped. `first_nonopt' is the index in ARGV of the first of th= em; + `last_nonopt' is the index after the last of them. */ + +static int first_nonopt; +static int last_nonopt; + +#ifdef _LIBC +/* Stored original parameters. + XXX This is no good solution. We should rather copy the args so + that we can compare them later. But we must not use malloc(3). */ +extern int __libc_argc; +extern char **__libc_argv; + +/* Bash 2.0 gives us an environment variable containing flags + indicating ARGV elements that should not be considered arguments. */= + +# ifdef USE_NONOPTION_FLAGS +/* Defined in getopt_init.c */ +extern char *__getopt_nonoption_flags; + +static int nonoption_flags_max_len; +static int nonoption_flags_len; +# endif + +# ifdef USE_NONOPTION_FLAGS +# define SWAP_FLAGS(ch1, ch2) \ + if (nonoption_flags_len > 0) \ + { \ + char __tmp =3D __getopt_nonoption_flags[ch1]; \ + __getopt_nonoption_flags[ch1] =3D __getopt_nonoption_flags[ch2]; = \ + __getopt_nonoption_flags[ch2] =3D __tmp; \ + } +# else +# define SWAP_FLAGS(ch1, ch2) +# endif +#else /* !_LIBC */ +# define SWAP_FLAGS(ch1, ch2) +#endif /* _LIBC */ + +/* Exchange two adjacent subsequences of ARGV. + One subsequence is elements [first_nonopt,last_nonopt) + which contains all the non-options that have been skipped so far. + The other is elements [last_nonopt,optind), which contains all + the options processed since those non-options were skipped. + + `first_nonopt' and `last_nonopt' are relocated so that they describe + the new indices of the non-options in ARGV after they are moved. */ + +static void +exchange (char **argv) +{ + int bottom =3D first_nonopt; + int middle =3D last_nonopt; + int top =3D optind; + char *tem; + + /* Exchange the shorter segment with the far end of the longer segment= =2E + That puts the shorter segment into the right place. + It leaves the longer segment in the right place overall, + but it consists of two parts that need to be swapped next. */ + +#if defined _LIBC && defined USE_NONOPTION_FLAGS + /* First make sure the handling of the `__getopt_nonoption_flags' + string can work normally. Our top argument must be in the range + of the string. */ + if (nonoption_flags_len > 0 && top >=3D nonoption_flags_max_len) + { + /* We must extend the array. The user plays games with us and + presents new arguments. */ + char *new_str =3D malloc (top + 1); + if (new_str =3D=3D NULL) + nonoption_flags_len =3D nonoption_flags_max_len =3D 0; + else + { + memset (__mempcpy (new_str, __getopt_nonoption_flags, + nonoption_flags_max_len), + '\0', top + 1 - nonoption_flags_max_len); + nonoption_flags_max_len =3D top + 1; + __getopt_nonoption_flags =3D new_str; + } + } +#endif + + while (top > middle && middle > bottom) + { + if (top - middle > middle - bottom) + { + /* Bottom segment is the short one. */ + int len =3D middle - bottom; + register int i; + + /* Swap it with the top part of the top segment. */ + for (i =3D 0; i < len; i++) + { + tem =3D argv[bottom + i]; + argv[bottom + i] =3D argv[top - (middle - bottom) + i]; + argv[top - (middle - bottom) + i] =3D tem; + SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); + } + /* Exclude the moved bottom segment from further swapping. */ + top -=3D len; + } + else + { + /* Top segment is the short one. */ + int len =3D top - middle; + register int i; + + /* Swap it with the bottom part of the bottom segment. */ + for (i =3D 0; i < len; i++) + { + tem =3D argv[bottom + i]; + argv[bottom + i] =3D argv[middle + i]; + argv[middle + i] =3D tem; + SWAP_FLAGS (bottom + i, middle + i); + } + /* Exclude the moved top segment from further swapping. */ + bottom +=3D len; + } + } + + /* Update records for the slots the non-options now occupy. */ + + first_nonopt +=3D (optind - last_nonopt); + last_nonopt =3D optind; +} + +/* Initialize the internal data when the first call is made. */ + +static const char * +_getopt_initialize (int argc, char *const *argv, const char *optstring) +{ + /* Start processing options with ARGV-element 1 (since ARGV-element 0 + is the program name); the sequence of previously skipped + non-option ARGV-elements is empty. */ + + first_nonopt =3D last_nonopt =3D optind; + + nextchar =3D NULL; + + posixly_correct =3D getenv ("POSIXLY_CORRECT"); + + /* Determine how to handle the ordering of options and nonoptions. */= + + if (optstring[0] =3D=3D '-') + { + ordering =3D RETURN_IN_ORDER; + ++optstring; + } + else if (optstring[0] =3D=3D '+') + { + ordering =3D REQUIRE_ORDER; + ++optstring; + } + else if (posixly_correct !=3D NULL) + ordering =3D REQUIRE_ORDER; + else + ordering =3D PERMUTE; + +#if defined _LIBC && defined USE_NONOPTION_FLAGS + if (posixly_correct =3D=3D NULL + && argc =3D=3D __libc_argc && argv =3D=3D __libc_argv) + { + if (nonoption_flags_max_len =3D=3D 0) + { + if (__getopt_nonoption_flags =3D=3D NULL + || __getopt_nonoption_flags[0] =3D=3D '\0') + nonoption_flags_max_len =3D -1; + else + { + const char *orig_str =3D __getopt_nonoption_flags; + int len =3D nonoption_flags_max_len =3D strlen (orig_str); + if (nonoption_flags_max_len < argc) + nonoption_flags_max_len =3D argc; + __getopt_nonoption_flags =3D + (char *) malloc (nonoption_flags_max_len); + if (__getopt_nonoption_flags =3D=3D NULL) + nonoption_flags_max_len =3D -1; + else + memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), + '\0', nonoption_flags_max_len - len); + } + } + nonoption_flags_len =3D nonoption_flags_max_len; + } + else + nonoption_flags_len =3D 0; +#endif + + return optstring; +} +=0C +/* Scan elements of ARGV (whose length is ARGC) for option characters + given in OPTSTRING. + + If an element of ARGV starts with '-', and is not exactly "-" or "--"= , + then it is an option element. The characters of this element + (aside from the initial '-') are option characters. If `getopt' + is called repeatedly, it returns successively each of the option char= acters + from each of the option elements. + + If `getopt' finds another option character, it returns that character= , + updating `optind' and `nextchar' so that the next call to `getopt' ca= n + resume the scan with the following option character or ARGV-element. + + If there are no more option characters, `getopt' returns -1. + Then `optind' is the index in ARGV of the first ARGV-element + that is not an option. (The ARGV-elements have been permuted + so that those that are not options now come last.) + + OPTSTRING is a string containing the legitimate option characters. + If an option character is seen that is not listed in OPTSTRING, + return '?' after printing an error message. If you set `opterr' to + zero, the error message is suppressed but we still return '?'. + + If a char in OPTSTRING is followed by a colon, that means it wants an= arg, + so the following text in the same ARGV-element, or the text of the fo= llowing + ARGV-element, is returned in `optarg'. Two colons mean an option tha= t + wants an optional arg; if there is text in the current ARGV-element, + it is returned in `optarg', otherwise `optarg' is set to zero. + + If OPTSTRING starts with `-' or `+', it requests different methods of= + handling the non-option ARGV-elements. + See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. + + Long-named options begin with `--' instead of `-'. + Their names may be abbreviated as long as the abbreviation is unique + or is an exact match for some defined option. If they have an + argument, it follows the option name in the same ARGV-element, separa= ted + from the option name by a `=3D', or else the in next ARGV-element. + When `getopt' finds a long-named option, it returns 0 if that option'= s + `flag' field is nonzero, the value of the option's `val' field + if the `flag' field is zero. + + The elements of ARGV aren't really const, because we permute them. + But we pretend they're const in the prototype to be compatible + with other systems. + + LONGOPTS is a vector of `struct option' terminated by an + element containing a name which is zero. + + LONGIND returns the index in LONGOPT of the long-named option found. + It is only valid when a long-named option has been found by the most + recent call. + + If LONG_ONLY is nonzero, '-' as well as '--' can introduce + long-named options. */ + +int +_getopt_internal (int argc, char *const *argv, + const char *optstring, const struct option *longopts, + int *longind, int long_only) +{ + int print_errors =3D opterr; + if (optstring[0] =3D=3D ':') + print_errors =3D 0; + + if (argc < 1) + return -1; + + optarg =3D NULL; + + if (optind =3D=3D 0 || !__getopt_initialized) + { + if (optind =3D=3D 0) + optind =3D 1; /* Don't scan ARGV[0], the program name. */ + optstring =3D _getopt_initialize (argc, argv, optstring); + __getopt_initialized =3D 1; + } + + /* Test whether ARGV[optind] points to a non-option argument. + Either it does not have option syntax, or there is an environment f= lag + from the shell indicating it is not an option. The later informati= on + is only used when the used in the GNU libc. */ +#if defined _LIBC && defined USE_NONOPTION_FLAGS +# define NONOPTION_P (argv[optind][0] !=3D '-' || argv[optind][1] =3D=3D= '\0' \ + || (optind < nonoption_flags_len \ + && __getopt_nonoption_flags[optind] =3D=3D '1')) +#else +# define NONOPTION_P (argv[optind][0] !=3D '-' || argv[optind][1] =3D=3D= '\0') +#endif + + if (nextchar =3D=3D NULL || *nextchar =3D=3D '\0') + { + /* Advance to the next ARGV-element. */ + + /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has b= een + moved back by the user (who may also have changed the arguments). */ + if (last_nonopt > optind) + last_nonopt =3D optind; + if (first_nonopt > optind) + first_nonopt =3D optind; + + if (ordering =3D=3D PERMUTE) + { + /* If we have just processed some options following some non-options,= + exchange them so that the options come first. */ + + if (first_nonopt !=3D last_nonopt && last_nonopt !=3D optind) + exchange ((char **) argv); + else if (last_nonopt !=3D optind) + first_nonopt =3D optind; + + /* Skip any additional non-options + and extend the range of non-options previously skipped. */ + + while (optind < argc && NONOPTION_P) + optind++; + last_nonopt =3D optind; + } + + /* The special ARGV-element `--' means premature end of options. + Skip it like a null option, + then exchange with previous non-options as if it were an option, + then skip everything else like a non-option. */ + + if (optind !=3D argc && !strcmp (argv[optind], "--")) + { + optind++; + + if (first_nonopt !=3D last_nonopt && last_nonopt !=3D optind) + exchange ((char **) argv); + else if (first_nonopt =3D=3D last_nonopt) + first_nonopt =3D optind; + last_nonopt =3D argc; + + optind =3D argc; + } + + /* If we have done all the ARGV-elements, stop the scan + and back over any non-options that we skipped and permuted. */ + + if (optind =3D=3D argc) + { + /* Set the next-arg-index to point at the non-options + that we previously skipped, so the caller will digest them. */ + if (first_nonopt !=3D last_nonopt) + optind =3D first_nonopt; + return -1; + } + + /* If we have come to a non-option and did not permute it, + either stop the scan or describe it to the caller and pass it by. */ + + if (NONOPTION_P) + { + if (ordering =3D=3D REQUIRE_ORDER) + return -1; + optarg =3D argv[optind++]; + return 1; + } + + /* We have found another option-ARGV-element. + Skip the initial punctuation. */ + + nextchar =3D (argv[optind] + 1 + + (longopts !=3D NULL && argv[optind][1] =3D=3D '-')); + } + + /* Decode the current option-ARGV-element. */ + + /* Check whether the ARGV-element is a long option. + + If long_only and the ARGV-element has the form "-f", where f is + a valid short option, don't consider it an abbreviated form of + a long option that starts with f. Otherwise there would be no + way to give the -f short option. + + On the other hand, if there's a long option "fubar" and + the ARGV-element is "-fu", do consider that an abbreviation of + the long option, just like "--fu", and not "-f" with arg "u". + + This distinction seems to be the most useful approach. */ + + if (longopts !=3D NULL + && (argv[optind][1] =3D=3D '-' + || (long_only + && (argv[optind][2] || !strchr (optstring, argv[optind][1]))))) + { + char *nameend; + const struct option *p; + const struct option *pfound =3D NULL; + int exact =3D 0; + int ambig =3D 0; + int indfound =3D -1; + int option_index; + + for (nameend =3D nextchar; *nameend && *nameend !=3D '=3D'; nameen= d++) + /* Do nothing. */ ; + + /* Test all long options for either exact match + or abbreviated matches. */ + for (p =3D longopts, option_index =3D 0; p->name; p++, option_inde= x++) + if (!strncmp (p->name, nextchar, nameend - nextchar)) + { + if ((unsigned int) (nameend - nextchar) + =3D=3D (unsigned int) strlen (p->name)) + { + /* Exact match found. */ + pfound =3D p; + indfound =3D option_index; + exact =3D 1; + break; + } + else if (pfound =3D=3D NULL) + { + /* First nonexact match found. */ + pfound =3D p; + indfound =3D option_index; + } + else if (long_only + || pfound->has_arg !=3D p->has_arg + || pfound->flag !=3D p->flag + || pfound->val !=3D p->val) + /* Second or later nonexact match found. */ + ambig =3D 1; + } + + if (ambig && !exact) + { + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), + argv[0], argv[optind]) >=3D 0) + { + + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, _("%s: option `%s' is ambiguous\n"), + argv[0], argv[optind]); +#endif + } + nextchar +=3D strlen (nextchar); + optind++; + optopt =3D 0; + return '?'; + } + + if (pfound !=3D NULL) + { + option_index =3D indfound; + optind++; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + optarg =3D nameend + 1; + else + { + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + int n; +#endif + + if (argv[optind - 1][1] =3D=3D '-') + { + /* --option */ +#if defined _LIBC && defined USE_IN_LIBIO + n =3D __asprintf (&buf, _("\ +%s: option `--%s' doesn't allow an argument\n"), + argv[0], pfound->name); +#else + fprintf (stderr, _("\ +%s: option `--%s' doesn't allow an argument\n"), + argv[0], pfound->name); +#endif + } + else + { + /* +option or -option */ +#if defined _LIBC && defined USE_IN_LIBIO + n =3D __asprintf (&buf, _("\ +%s: option `%c%s' doesn't allow an argument\n"), + argv[0], argv[optind - 1][0], + pfound->name); +#else + fprintf (stderr, _("\ +%s: option `%c%s' doesn't allow an argument\n"), + argv[0], argv[optind - 1][0], pfound->name); +#endif + } + +#if defined _LIBC && defined USE_IN_LIBIO + if (n >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#endif + } + + nextchar +=3D strlen (nextchar); + + optopt =3D pfound->val; + return '?'; + } + } + else if (pfound->has_arg =3D=3D 1) + { + if (optind < argc) + optarg =3D argv[optind++]; + else + { + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("\ +%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]) >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, + _("%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]); +#endif + } + nextchar +=3D strlen (nextchar); + optopt =3D pfound->val; + return optstring[0] =3D=3D ':' ? ':' : '?'; + } + } + nextchar +=3D strlen (nextchar); + if (longind !=3D NULL) + *longind =3D option_index; + if (pfound->flag) + { + *(pfound->flag) =3D pfound->val; + return 0; + } + return pfound->val; + } + + /* Can't find it as a long option. If this is not getopt_long_onl= y, + or the option starts with '--' or is not a valid short + option, then it's an error. + Otherwise interpret it as a short option. */ + if (!long_only || argv[optind][1] =3D=3D '-' + || strchr (optstring, *nextchar) =3D=3D NULL) + { + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + int n; +#endif + + if (argv[optind][1] =3D=3D '-') + { + /* --option */ +#if defined _LIBC && defined USE_IN_LIBIO + n =3D __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), + argv[0], nextchar); +#else + fprintf (stderr, _("%s: unrecognized option `--%s'\n"), + argv[0], nextchar); +#endif + } + else + { + /* +option or -option */ +#if defined _LIBC && defined USE_IN_LIBIO + n =3D __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), + argv[0], argv[optind][0], nextchar); +#else + fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), + argv[0], argv[optind][0], nextchar); +#endif + } + +#if defined _LIBC && defined USE_IN_LIBIO + if (n >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#endif + } + nextchar =3D (char *) ""; + optind++; + optopt =3D 0; + return '?'; + } + } + + /* Look at and handle the next short option-character. */ + + { + char c =3D *nextchar++; + char *temp =3D strchr (optstring, c); + + /* Increment `optind' when we start to process its last character. = */ + if (*nextchar =3D=3D '\0') + ++optind; + + if (temp =3D=3D NULL || c =3D=3D ':') + { + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + int n; +#endif + + if (posixly_correct) + { + /* 1003.2 specifies the format of this message. */ +#if defined _LIBC && defined USE_IN_LIBIO + n =3D __asprintf (&buf, _("%s: illegal option -- %c\n"), + argv[0], c); +#else + fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); +#endif + } + else + { +#if defined _LIBC && defined USE_IN_LIBIO + n =3D __asprintf (&buf, _("%s: invalid option -- %c\n"), + argv[0], c); +#else + fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); +#endif + } + +#if defined _LIBC && defined USE_IN_LIBIO + if (n >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#endif + } + optopt =3D c; + return '?'; + } + /* Convenience. Treat POSIX -W foo same as long option --foo */ + if (temp[0] =3D=3D 'W' && temp[1] =3D=3D ';') + { + char *nameend; + const struct option *p; + const struct option *pfound =3D NULL; + int exact =3D 0; + int ambig =3D 0; + int indfound =3D 0; + int option_index; + + /* This is an option that requires an argument. */ + if (*nextchar !=3D '\0') + { + optarg =3D nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + optind++; + } + else if (optind =3D=3D argc) + { + if (print_errors) + { + /* 1003.2 specifies the format of this message. */ +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, + _("%s: option requires an argument -- %c\n"), + argv[0], c) >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, _("%s: option requires an argument -- %c\n"), + argv[0], c); +#endif + } + optopt =3D c; + if (optstring[0] =3D=3D ':') + c =3D ':'; + else + c =3D '?'; + return c; + } + else + /* We already incremented `optind' once; + increment it again when taking next ARGV-elt as argument. */ + optarg =3D argv[optind++]; + + /* optarg is now the argument, see if it's in the + table of longopts. */ + + for (nextchar =3D nameend =3D optarg; *nameend && *nameend !=3D '=3D'; = nameend++) + /* Do nothing. */ ; + + /* Test all long options for either exact match + or abbreviated matches. */ + for (p =3D longopts, option_index =3D 0; p->name; p++, option_index++) + if (!strncmp (p->name, nextchar, nameend - nextchar)) + { + if ((unsigned int) (nameend - nextchar) =3D=3D strlen (p->name)) + { + /* Exact match found. */ + pfound =3D p; + indfound =3D option_index; + exact =3D 1; + break; + } + else if (pfound =3D=3D NULL) + { + /* First nonexact match found. */ + pfound =3D p; + indfound =3D option_index; + } + else + /* Second or later nonexact match found. */ + ambig =3D 1; + } + if (ambig && !exact) + { + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), + argv[0], argv[optind]) >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), + argv[0], argv[optind]); +#endif + } + nextchar +=3D strlen (nextchar); + optind++; + return '?'; + } + if (pfound !=3D NULL) + { + option_index =3D indfound; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + optarg =3D nameend + 1; + else + { + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("\ +%s: option `-W %s' doesn't allow an argument\n"), + argv[0], pfound->name) >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, _("\ +%s: option `-W %s' doesn't allow an argument\n"), + argv[0], pfound->name); +#endif + } + + nextchar +=3D strlen (nextchar); + return '?'; + } + } + else if (pfound->has_arg =3D=3D 1) + { + if (optind < argc) + optarg =3D argv[optind++]; + else + { + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("\ +%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]) >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, + _("%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]); +#endif + } + nextchar +=3D strlen (nextchar); + return optstring[0] =3D=3D ':' ? ':' : '?'; + } + } + nextchar +=3D strlen (nextchar); + if (longind !=3D NULL) + *longind =3D option_index; + if (pfound->flag) + { + *(pfound->flag) =3D pfound->val; + return 0; + } + return pfound->val; + } + nextchar =3D NULL; + return 'W'; /* Let the application handle it. */ + } + if (temp[1] =3D=3D ':') + { + if (temp[2] =3D=3D ':') + { + /* This is an option that accepts an argument optionally. */ + if (*nextchar !=3D '\0') + { + optarg =3D nextchar; + optind++; + } + else + optarg =3D NULL; + nextchar =3D NULL; + } + else + { + /* This is an option that requires an argument. */ + if (*nextchar !=3D '\0') + { + optarg =3D nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + optind++; + } + else if (optind =3D=3D argc) + { + if (print_errors) + { + /* 1003.2 specifies the format of this message. */ +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("\ +%s: option requires an argument -- %c\n"), + argv[0], c) >=3D 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, + _("%s: option requires an argument -- %c\n"), + argv[0], c); +#endif + } + optopt =3D c; + if (optstring[0] =3D=3D ':') + c =3D ':'; + else + c =3D '?'; + } + else + /* We already incremented `optind' once; + increment it again when taking next ARGV-elt as argument. */ + optarg =3D argv[optind++]; + nextchar =3D NULL; + } + } + return c; + } +} + +int +getopt (int argc, char *const *argv, const char *optstring) +{ + return _getopt_internal (argc, argv, optstring, + (const struct option *) 0, + (int *) 0, + 0); +} + +#endif /* Not ELIDE_CODE. */ +=0C +#ifdef TEST + +/* Compile with -DTEST to make an executable for use in testing + the above definition of `getopt'. */ + +int +main (int argc, char **argv) +{ + int c; + int digit_optind =3D 0; + + while (1) + { + int this_option_optind =3D optind ? optind : 1; + + c =3D getopt (argc, argv, "abc:d:0123456789"); + if (c =3D=3D -1) + break; + + switch (c) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + if (digit_optind !=3D 0 && digit_optind !=3D this_option_optind) + printf ("digits occur in two different argv-elements.\n"); + digit_optind =3D this_option_optind; + printf ("option %c\n", c); + break; + + case 'a': + printf ("option a\n"); + break; + + case 'b': + printf ("option b\n"); + break; + + case 'c': + printf ("option c with value `%s'\n", optarg); + break; + + case '?': + break; + + default: + printf ("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) + { + printf ("non-option ARGV-elements: "); + while (optind < argc) + printf ("%s ", argv[optind++]); + printf ("\n"); + } + + exit (0); +} + +#endif /* TEST */ Index: gnulib/m4/getopt.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/getopt.h diff -N gnulib/m4/getopt.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/getopt.h 12 Sep 2003 15:16:59 -0000 @@ -0,0 +1,169 @@ +/* Declarations for getopt. + + Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, + 1999, 2001, 2003 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _GETOPT_H + +#ifndef __need_getopt +# define _GETOPT_H 1 +#endif + +/* If __GNU_LIBRARY__ is not already defined, either we are being used + standalone, or this is the first header included in the source file. + If we are being used with glibc, we need to include , but= + that does not exist if we are standalone. So: if __GNU_LIBRARY__ is + not defined, include , which will pull in for u= s + if it's from glibc. (Why ctype.h? It's guaranteed to exist and it + doesn't flood the namespace with stuff the way some other headers do.= ) */ +#if !defined __GNU_LIBRARY__ +# include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +extern int optind; + +/* Callers store zero here to inhibit the error message `getopt' prints + for unrecognized options. */ + +extern int opterr; + +/* Set to an option character which was unrecognized. */ + +extern int optopt; + +#ifndef __need_getopt +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vec= tor + of `struct option' terminated by an element containing a name which i= s + zero. + + The field `has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field `flag' is not NULL, it points to a variable that is set + to the value given in the field `val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an `int' to + a compiled-in constant, such as set a value from `optarg', set the + option's `flag' field to zero and its `val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero `flag' field, `getopt' + returns the contents of the `val' field. */ + +struct option +{ + const char *name; + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the `has_arg' field of `struct option'. */ + +# define no_argument 0 +# define required_argument 1 +# define optional_argument 2 +#endif /* need getopt */ + + +/* Get definitions and prototypes for functions to process the + arguments in ARGV (ARGC of them, minus the program name) for + options given in OPTS. + + Return the option character from OPTS just read. Return -1 when + there are no more options. For unrecognized options, or options + missing arguments, `optopt' is set to the option letter, and '?' is + returned. + + The OPTS string is a list of characters which are recognized option + letters, optionally followed by colons, specifying that that letter + takes an argument, to be placed in `optarg'. + + If a letter in OPTS is followed by two colons, its argument is + optional. This behavior is specific to the GNU `getopt'. + + The argument `--' causes premature termination of argument + scanning, explicitly telling `getopt' that there are no more + options. + + If OPTS begins with `--', then non-option arguments are treated as + arguments to the option '\0'. This behavior is specific to the GNU + `getopt'. */ + +#ifdef __GNU_LIBRARY__ +/* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +extern int getopt (int ___argc, char *const *___argv, const char *__shor= topts); +#else /* not __GNU_LIBRARY__ */ +extern int getopt (); +#endif /* __GNU_LIBRARY__ */ + +#ifndef __need_getopt +extern int getopt_long (int ___argc, char *const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind); +extern int getopt_long_only (int ___argc, char *const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind); + +/* Internal only. Users should not call this directly. */ +extern int _getopt_internal (int ___argc, char *const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind, + int __long_only); +#endif + +#ifdef __cplusplus +} +#endif + +/* Make sure we later can get all the definitions and declarations. */ +#undef __need_getopt + +#endif /* getopt.h */ Index: gnulib/m4/getopt1.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/getopt1.c diff -N gnulib/m4/getopt1.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/getopt1.c 12 Sep 2003 15:16:59 -0000 @@ -0,0 +1,185 @@ +/* getopt_long and getopt_long_only entry points for GNU getopt. + + Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, + 1997, 1998, 2003 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + 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 alo= ng + with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +=0C +#ifdef HAVE_CONFIG_H +#include +#endif + +#ifdef _LIBC +# include +#else +# include "getopt.h" +#endif + +#include + +/* Comment out all this code if we are using the GNU C Library, and are = not + actually compiling the library itself. This code is part of the GNU = C + Library, but also included in many other GNU distributions. Compilin= g + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU= + program understand `configure --with-gnu-libc' and omit the object fi= les, + it is simpler to just do this in the source for each such file. */ + +#define GETOPT_INTERFACE_VERSION 2 +#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >=3D 2 +#include +#if _GNU_GETOPT_INTERFACE_VERSION =3D=3D GETOPT_INTERFACE_VERSION +#define ELIDE_CODE +#endif +#endif + +#ifndef ELIDE_CODE + + +/* This needs to come after some library #include + to get __GNU_LIBRARY__ defined. */ +#ifdef __GNU_LIBRARY__ +#include +#endif + +#ifndef NULL +#define NULL 0 +#endif + +int +getopt_long (int argc, + char *const *argv, + const char *options, + const struct option *long_options, + int *opt_index) +{ + return _getopt_internal (argc, argv, options, long_options, opt_index,= 0); +} + +/* Like getopt_long, but '-' as well as '--' can indicate a long option.= + If an option that starts with '-' (not '--') doesn't match a long opt= ion, + but does match a short option, it is parsed as a short option + instead. */ + +int +getopt_long_only (int argc, + char *const *argv, + const char *options, + const struct option *long_options, + int *opt_index) +{ + return _getopt_internal (argc, argv, options, long_options, opt_index,= 1); +} + +# ifdef _LIBC +libc_hidden_def (getopt_long) +libc_hidden_def (getopt_long_only) +# endif + +#endif /* Not ELIDE_CODE. */ +=0C +#ifdef TEST + +#include + +int +main (int argc, char **argv) +{ + int c; + int digit_optind =3D 0; + + while (1) + { + int this_option_optind =3D optind ? optind : 1; + int option_index =3D 0; + static struct option long_options[] =3D + { + {"add", 1, 0, 0}, + {"append", 0, 0, 0}, + {"delete", 1, 0, 0}, + {"verbose", 0, 0, 0}, + {"create", 0, 0, 0}, + {"file", 1, 0, 0}, + {0, 0, 0, 0} + }; + + c =3D getopt_long (argc, argv, "abc:d:0123456789", + long_options, &option_index); + if (c =3D=3D -1) + break; + + switch (c) + { + case 0: + printf ("option %s", long_options[option_index].name); + if (optarg) + printf (" with arg %s", optarg); + printf ("\n"); + break; + + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + if (digit_optind !=3D 0 && digit_optind !=3D this_option_optind) + printf ("digits occur in two different argv-elements.\n"); + digit_optind =3D this_option_optind; + printf ("option %c\n", c); + break; + + case 'a': + printf ("option a\n"); + break; + + case 'b': + printf ("option b\n"); + break; + + case 'c': + printf ("option c with value `%s'\n", optarg); + break; + + case 'd': + printf ("option d with value `%s'\n", optarg); + break; + + case '?': + break; + + default: + printf ("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) + { + printf ("non-option ARGV-elements: "); + while (optind < argc) + printf ("%s ", argv[optind++]); + printf ("\n"); + } + + exit (0); +} + +#endif /* TEST */ Index: po/POTFILES.in =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/POTFILES.in,v retrieving revision 1.9 diff -u -p -u -r1.9 POTFILES.in --- po/POTFILES.in 12 Sep 2003 13:27:54 -0000 1.9 +++ po/POTFILES.in 12 Sep 2003 15:16:59 -0000 @@ -1,3 +1,4 @@ +gnulib/m4/getopt.c gnulib/m4/obstack.c gnulib/m4/xmalloc.c gnulib/m4/regex.c @@ -18,6 +19,5 @@ modules/mpeval.c modules/perl.c modules/traditional.c src/freeze.c -src/getopt.c src/main.c src/stackovf.c Index: po/cs.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/cs.po,v retrieving revision 1.33 diff -u -p -u -r1.33 cs.po --- po/cs.po 12 Sep 2003 13:27:54 -0000 1.33 +++ po/cs.po 12 Sep 2003 15:16:59 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1998-12-07 22:02+01:00\n" "Last-Translator: Ji=F8=ED Pavlovsk=FD \n" "Language-Team: Czech \n" @@ -14,87 +14,144 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 # , c-format -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "=A9patn=FD regul=E1rn=ED v=FDraz `%s': %s" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "" =20 # , c-format -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "P=F8ed=E8asn=FD konec zmrazen=E9ho souboru" =20 # , c-format -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "=A9patn=FD regul=E1rn=ED v=FDraz `%s': %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 # , c-format -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 #, fuzzy msgid "No previous regular expression" msgstr "Chyba p=F8i porovn=E1v=E1n=ED regul=E1rn=EDho v=FDrazu `%s'" @@ -389,61 +446,6 @@ msgstr "=A9patn=FD form=E1t zmrazen=E9ho souboru #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' ze zmrazen=E9ho souboru nenalezeno v tabulce vestav=ECn=FDc= h maker!" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" =20 #: src/main.c:74 #, fuzzy Index: po/de.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/de.po,v retrieving revision 1.33 diff -u -p -u -r1.33 de.po --- po/de.po 12 Sep 2003 13:27:54 -0000 1.33 +++ po/de.po 12 Sep 2003 15:16:59 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4ppre2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1999-03-20 00:46+01:00\n" "Last-Translator: Martin von L=F6wis \= n" "Language-Team: German \n" @@ -16,83 +16,140 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "Falscher regul=E4rer Ausdruck =BB%s=AB: %s" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "Vorzeitiges Ende der eingefrorenen Datei" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "Falscher regul=E4rer Ausdruck =BB%s=AB: %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 #, fuzzy msgid "No previous regular expression" msgstr "Fehler beim Erkennen des regul=E4ren Ausdrucks =BB%s=AB" @@ -358,61 +415,6 @@ msgid "`%s' from frozen file not found i msgstr "" "=BB%s=AB aus eingefrorener Datei nicht in Tabelle der eingebauten Funkt= ionen " "gefunden!" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" =20 #: src/main.c:74 #, fuzzy Index: po/el.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/el.po,v retrieving revision 1.33 diff -u -p -u -r1.33 el.po --- po/el.po 12 Sep 2003 13:27:54 -0000 1.33 +++ po/el.po 12 Sep 2003 15:16:59 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1999-06-24 00:25+0000\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" @@ -14,83 +14,140 @@ msgstr "" "Content-Type: text/plain; charset=3Diso-8859-7\n" "Content-Transfer-Encoding: 8-bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "=CB=DC=E8=EF=F2 =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `= %s': %s" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "=D0=F1=FC=F9=F1=EF =F4=DD=EB=EF=F2 =F0=E1=E3=F9=EC=DD=ED=EF=F5 =E1= =F1=F7=E5=DF=EF=F5" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "=CB=DC=E8=EF=F2 =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `= %s': %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 #, fuzzy msgid "No previous regular expression" msgstr "=D3=F6=DC=EB=EC=E1 =F3=F4=EF =F4=E1=DF=F1=E9=E1=F3=EC=E1 =F3=F4=E7= =ED =EA=E1=ED=EF=ED=E9=EA=DE =DD=EA=F6=F1=E1=F3=E7 `%s'" @@ -355,61 +412,6 @@ msgstr "=CA=E1=EA=FC-=EC=EF=F1=F6=EF=F0=EF=E9=E7=EC=DD= =ED=EF =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5 #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=F4=EF `%s' =E1=F0=FC =F0=E1=E3=F9=EC=DD=ED=EF =E1=F1=F7=E5=DF=EF= =E4=E5 =E2=F1=DD=E8=E7=EA=E5 =F3=F4=EF=ED =F0=DF=ED=E1=EA=E1 =E5=F3=F9=E4= =EF=EC=E7=EC=DD=ED=F9=ED" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" =20 #: src/main.c:74 #, fuzzy Index: po/fr.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/fr.po,v retrieving revision 1.33 diff -u -p -u -r1.33 fr.po --- po/fr.po 12 Sep 2003 13:27:54 -0000 1.33 +++ po/fr.po 12 Sep 2003 15:16:59 -0000 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1998-05-23 11:53+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -16,83 +16,140 @@ msgstr "" "Content-Type: text/plain; charset=3D\n" "Content-Transfer-Encoding: 8-bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "Mauvaise expression r=E9guli=E8re =AB%s=BB: %s" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "Fin pr=E9matur=E9e de fichier fig=E9" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "Mauvaise expression r=E9guli=E8re =AB%s=BB: %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 #, fuzzy msgid "No previous regular expression" msgstr "Erreur d'appariement pour l'expressio r=E9guli=E8re =AB%s=BB" @@ -353,61 +410,6 @@ msgstr "Fichier fig=E9 difforme" #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=AB%s=BB dans le fichier fig=E9 est introuvable dans la table de= s pr=E9d=E9finis!" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" =20 #: src/main.c:74 #, fuzzy Index: po/it.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/it.po,v retrieving revision 1.34 diff -u -p -u -r1.34 it.po --- po/it.po 12 Sep 2003 13:27:54 -0000 1.34 +++ po/it.po 12 Sep 2003 15:16:59 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU M4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 2002-11-04 13:19+0100\n" "Last-Translator: full name \n" "Language-Team: Italian \n" @@ -14,83 +14,140 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "Espressione regolare errata `%s': %s" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "Errore nel confronto dell' espressione regolare `%s'" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "Fine prematura dell' archivio congelato" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "Espressione regolare errata `%s': %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 #, fuzzy msgid "No previous regular expression" msgstr "Errore nel confronto dell' espressione regolare `%s'" @@ -350,61 +407,6 @@ msgstr "Archivio congelato malformato" #: src/freeze.c:484 #, c-format msgid "`%s' from frozen file not found in builtin table!" -msgstr "" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" =20 #: src/main.c:74 Index: po/ja.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ja.po,v retrieving revision 1.33 diff -u -p -u -r1.33 ja.po --- po/ja.po 12 Sep 2003 13:27:54 -0000 1.33 +++ po/ja.po 12 Sep 2003 15:16:59 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU m4 1.4.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1996-03-28 11:52 EST\n" "Last-Translator: Akiko Matsushita \n" "Language-Team: Japanese \n" @@ -14,84 +14,141 @@ msgstr "" "Content-Type: text/plain; charset=3DEUC\n" "Content-Transfer-Encoding: 8-bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5= =F3=CC=BE=A4=C7=A4=B9=A1=A3\n" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `%c%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `%s' =A4=CF=B0=FA=BF=F4=A4=F2= =C9=AC=CD=D7=A4=C8=A4=B7=A4=DE=A4=B9=A1=A3\n" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: --%s =A4=CF=C7=A7=BC=B1=A4=B5=A4=EC=A4=CA=A4=A4=A5=AA=A5=D7=A5= =B7=A5=E7=A5=F3=A4=C7=A4=B9=A1=A3\n" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: %c%s =A4=CF=C7=A7=BC=B1=A4=B5=A4=EC=A4=CA=A4=A4=A5=AA=A5=D7=A5= =B7=A5=E7=A5=F3=A4=C7=A4=B9=A1=A3\n" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: %c =A4=CF=C9=D4=C0=B5=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=C7=A4= =B9=A1=A3\n" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: %c =A4=CF=CC=B5=B8=FA=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4= =C7=A4=B9=A1=A3\n" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: %c =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=CB=A4=CF=B0=FA=BF=F4=A4= =AC=C9=AC=CD=D7=A4=C7=A4=B9=A1=A3\n" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, fuzzy, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5= =F3=CC=BE=A4=C7=A4=B9=A1=A3\n" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, fuzzy, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 #, fuzzy msgid "memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD=A4=AC=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4= =A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "=A5=E1=A5=E2=A5=EA=A4=AC=BB=C4=A4=C3=A4=C6=A4=A4=A4=DE=A4=BB=A4=F3= =A1=A3" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD=A4=AC=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4= =A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD=A4=AC=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4= =A4=DE=A4=BB=A4=F3=A1=A3" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "`%s' : %s =A4=CF=A1=A2=C9=D4=C0=B5=A4=CA=C0=B5=B5=AC=C9=BD=B8=BD= =A4=C7=A4=B9=A1=A3" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 msgid "No previous regular expression" msgstr "=C0=B5=B5=AC=C9=BD=B8=BD=A4=AC=C4=EA=B5=C1=A4=B5=A4=EC=A4=C6=A4=A4= =A4=DE=A4=BB=A4=F3=A1=A3" =20 @@ -355,61 +412,6 @@ msgstr "=C6=E2=C9=F4=A5=A8=A5=E9=A1=BC=A1=A7=C5=E0=B7= =EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE=A5=D5=A5=A9=A1=BC #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "=C5=E0=B7=EB=A5=D5=A5=A1=A5=A4=A5=EB=A4=CE %s =A4=CF=A5=D3=A5=EB= =A5=C8=A5=A4=A5=F3=A5=B3=A5=DE=A5=F3=A5=C9=A4=CE=A5=C6=A1=BC=A5=D6=A5=EB=A4= =CB=A4=CF=A4=A2=A4=EA=A4=DE=A4=BB=A4=F3=A1=A3" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5= =F3=CC=BE=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `%c%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `%s' =A4=CF=B0=FA=BF=F4=A4=F2= =C9=AC=CD=D7=A4=C8=A4=B7=A4=DE=A4=B9=A1=A3\n" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "%s: --%s =A4=CF=C7=A7=BC=B1=A4=B5=A4=EC=A4=CA=A4=A4=A5=AA=A5=D7=A5= =B7=A5=E7=A5=F3=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "%s: %c%s =A4=CF=C7=A7=BC=B1=A4=B5=A4=EC=A4=CA=A4=A4=A5=AA=A5=D7=A5= =B7=A5=E7=A5=F3=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "%s: %c =A4=CF=C9=D4=C0=B5=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=C7=A4= =B9=A1=A3\n" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "%s: %c =A4=CF=CC=B5=B8=FA=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4= =C7=A4=B9=A1=A3\n" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "%s: %c =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3=A4=CB=A4=CF=B0=FA=BF=F4=A4= =AC=C9=AC=CD=D7=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:864 -#, fuzzy, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "%s: `%s' =A4=CF=C9=D4=CC=C0=CE=C6=A4=CA=A5=AA=A5=D7=A5=B7=A5=E7=A5= =F3=CC=BE=A4=C7=A4=B9=A1=A3\n" - -#: src/getopt.c:882 -#, fuzzy, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "%s: =A5=AA=A5=D7=A5=B7=A5=E7=A5=F3 `--%s' =A4=CF=B0=FA=BF=F4=A4=F2= =BC=E8=A4=EB=A4=B3=A4=C8=A4=AC=A4=C7=A4=AD=A4=DE=A4=BB=A4=F3=A1=A3\n" =20 #: src/main.c:74 #, fuzzy Index: po/nl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/nl.po,v retrieving revision 1.33 diff -u -p -u -r1.33 nl.po --- po/nl.po 12 Sep 2003 13:27:54 -0000 1.33 +++ po/nl.po 12 Sep 2003 15:16:59 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4d\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1998-05-23 09:27+02:00\n" "Last-Translator: Erick Branderhorst \n" "Language-Team: dutch \n" @@ -14,83 +14,140 @@ msgstr "" "Content-Type: text/plain; charset=3D\n" "Content-Transfer-Encoding: 8-bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "Onjuiste reguliere expressie `%s': %s" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "Fout overeenkomen reguliere expressies `%s'" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "Voorbarig einde van gefixeerd bestand" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "Onjuiste reguliere expressie `%s': %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 #, fuzzy msgid "No previous regular expression" msgstr "Fout overeenkomen reguliere expressies `%s'" @@ -352,61 +409,6 @@ msgstr "Slecht geformateerd gefixeerd be #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' van gefixeerd bestand niet gevonden in functie tabel!" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" =20 #: src/main.c:74 #, fuzzy Index: po/pl.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/pl.po,v retrieving revision 1.33 diff -u -p -u -r1.33 pl.po --- po/pl.po 12 Sep 2003 13:27:54 -0000 1.33 +++ po/pl.po 12 Sep 2003 15:16:59 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1999-05-03 19:47+0200\n" "Last-Translator: Rafa=B3 Maszkowski \n" "Language-Team: Polish \n" @@ -14,83 +14,140 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-2\n" "Content-Transfer-Encoding: 8-bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "B=B3=EAdne wyra=BFenie regularne `%s': %s" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "Przedwczesny koniec pliku zamro=BFonego" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "B=B3=EAdne wyra=BFenie regularne `%s': %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 #, fuzzy msgid "No previous regular expression" msgstr "B=B3=B1d dopasowania do wyra=BFenia regularnego `%s'" @@ -352,61 +409,6 @@ msgstr "=ACle sformatowy plik zamro=BFony" #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "`%s' z pliku zamro=BFonego nie znalezione w tablicy wbudowanych!= " - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" =20 #: src/main.c:74 #, fuzzy Index: po/ru.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/ru.po,v retrieving revision 1.33 diff -u -p -u -r1.33 ru.po --- po/ru.po 12 Sep 2003 13:27:54 -0000 1.33 +++ po/ru.po 12 Sep 2003 15:16:59 -0000 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1999-04-17 20:58\n" "Last-Translator: Denis Y. Pershin \n" "Language-Team: Russian \n" @@ -14,84 +14,141 @@ msgstr "" "Content-Type: text/plain; charset=3Dkoi8-r\n" "Content-Transfer-Encoding: 8-bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE=C1=DE=CE=C1\n"= + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: =D5 =CF=D0=C3=C9=C9 `%c%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: =D5 =CF=D0=C3=C9=C9 `%s' =C4=CF=CC=D6=C5=CE =C2=D9=D4=D8 =C1= =D2=C7=D5=CD=C5=CE=D4\n" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: =CE=C5=C9=DA=D7=C5=D3=D4=CE=C1=D1 =CF=D0=C3=C9=D1 `--%s'\n" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: =CE=C5=C9=DA=D7=C5=D3=D4=CE=C1=D1 =CF=D0=C3=C9=D1 '%c%s'\n" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: =DA=C1=D0=D2=C5=DD=C5=CE=CE=C1=D1 =CF=D0=C3=C9=D1 -- %c\n" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: =CE=C5=D7=C5=D2=CE=C1=D1 =CF=D0=C3=C9=D1 -- %c\n" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: =CF=D0=C3=C9=C9 =CE=C5=CF=C2=C8=CF=C4=C9=CD =C1=D2=C7=D5=CD=C5= =CE=D4 -- %c\n" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, fuzzy, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE=C1=DE=CE=C1\n"= + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, fuzzy, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 #, fuzzy msgid "memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "=EE=C5=D4 =D0=D2=C5=C4=DB=C5=C4=D3=D4=D7=D5=C0=DD=C5=C7=CF =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "=F0=C1=CD=D1=D4=D8 =C9=D3=DE=C5=D2=D0=C1=CE=C1" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "=EE=C5=D4 =D0=D2=C5=C4=DB=C5=C4=D3=D4=D7=D5=C0=DD=C5=C7=CF =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "=EE=C5=D4 =D0=D2=C5=C4=DB=C5=C4=D3=D4=D7=D5=C0=DD=C5=C7=CF =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "=EE=C5=D7=C5=D2=CE=CF=C5 =D2=C5=C7=D5=CC=D1=D2=CE=CF=C5 =D7=D9=D2= =C1=D6=C5=CE=C9=C5: '%s': %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 msgid "No previous regular expression" msgstr "=EE=C5=D4 =D0=D2=C5=C4=DB=C5=C4=D3=D4=D7=D5=C0=DD=C5=C7=CF =D2=C5= =C7=D5=CC=D1=D2=CE=CF=C7=CF =D7=D9=D2=C1=D6=C5=CE=C9=D1" =20 @@ -353,61 +410,6 @@ msgstr "=EE=C5=D7=C5=D2=CE=D9=CA =C6=CF=D2=CD=C1=D4 = =C6=C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "'%s' =C9=DA =C6=C1=CA=CC=C1-=CF=C2=D2=C1=DA=C1 =D0=C1=CD=D1=D4=C9= =CE=C5 =CE=C1=CA=C4=C5=CE=C1 =D7=CF =D7=D3=D4=D2=CF=C5=CE=CE=CF=CA =D4=C1= =C2=CC=C9=C3=C5!" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE=C1=DE=CE=C1\n"= - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "%s: =D5 =CF=D0=C3=C9=C9 `%c%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "%s: =D5 =CF=D0=C3=C9=C9 `%s' =C4=CF=CC=D6=C5=CE =C2=D9=D4=D8 =C1= =D2=C7=D5=CD=C5=CE=D4\n" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "%s: =CE=C5=C9=DA=D7=C5=D3=D4=CE=C1=D1 =CF=D0=C3=C9=D1 `--%s'\n" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "%s: =CE=C5=C9=DA=D7=C5=D3=D4=CE=C1=D1 =CF=D0=C3=C9=D1 '%c%s'\n" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "%s: =DA=C1=D0=D2=C5=DD=C5=CE=CE=C1=D1 =CF=D0=C3=C9=D1 -- %c\n" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "%s: =CE=C5=D7=C5=D2=CE=C1=D1 =CF=D0=C3=C9=D1 -- %c\n" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "%s: =CF=D0=C3=C9=C9 =CE=C5=CF=C2=C8=CF=C4=C9=CD =C1=D2=C7=D5=CD=C5= =CE=D4 -- %c\n" - -#: src/getopt.c:864 -#, fuzzy, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "%s: =CF=D0=C3=C9=D1 `%s' =CE=C5=CF=C4=CE=CF=DA=CE=C1=DE=CE=C1\n"= - -#: src/getopt.c:882 -#, fuzzy, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "%s: =D5 =CF=D0=C3=C9=C9 `--%s' =CE=C5 =C4=CF=CC=D6=CE=CF =C2=D9=D4= =D8 =C1=D2=C7=D5=CD=C5=CE=D4=CF=D7\n" =20 #: src/main.c:74 #, fuzzy Index: po/sv.po =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/po/sv.po,v retrieving revision 1.34 diff -u -p -u -r1.34 sv.po --- po/sv.po 12 Sep 2003 13:27:54 -0000 1.34 +++ po/sv.po 12 Sep 2003 15:16:59 -0000 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: m4 1.4n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2003-09-12 13:22+0100\n" +"POT-Creation-Date: 2003-09-12 15:21+0100\n" "PO-Revision-Date: 1999-03-28 18:56 +02:00\n" "Last-Translator: Jan Dj=E4rv \n" "Language-Team: Swedish \n" @@ -15,83 +15,140 @@ msgstr "" "Content-Type: text/plain; charset=3DISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" =20 +#: gnulib/m4/getopt.c:629 gnulib/m4/getopt.c:641 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:674 gnulib/m4/getopt.c:678 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:687 gnulib/m4/getopt.c:692 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:728 gnulib/m4/getopt.c:741 gnulib/m4/getopt.c:1030= +#: gnulib/m4/getopt.c:1043 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "" + +#: gnulib/m4/getopt.c:779 gnulib/m4/getopt.c:782 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:790 gnulib/m4/getopt.c:793 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "" + +#: gnulib/m4/getopt.c:840 gnulib/m4/getopt.c:843 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:849 gnulib/m4/getopt.c:852 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:899 gnulib/m4/getopt.c:910 gnulib/m4/getopt.c:1096= +#: gnulib/m4/getopt.c:1109 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "" + +#: gnulib/m4/getopt.c:962 gnulib/m4/getopt.c:973 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "" + +#: gnulib/m4/getopt.c:997 gnulib/m4/getopt.c:1009 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "" + #: gnulib/m4/obstack.c:487 gnulib/m4/obstack.c:490 gnulib/m4/xmalloc.c:6= 2 msgid "memory exhausted" msgstr "" =20 -#: m4/regex.c:1021 +#: gnulib/m4/regex.c:1302 msgid "Success" msgstr "" =20 -#: m4/regex.c:1024 +#: gnulib/m4/regex.c:1305 msgid "No match" msgstr "" =20 -#: m4/regex.c:1027 +#: gnulib/m4/regex.c:1308 #, fuzzy msgid "Invalid regular expression" msgstr "Otill=E5tet regulj=E4ruttryck \"%s\": %s" =20 -#: m4/regex.c:1030 +#: gnulib/m4/regex.c:1311 msgid "Invalid collation character" msgstr "" =20 -#: m4/regex.c:1033 +#: gnulib/m4/regex.c:1314 msgid "Invalid character class name" msgstr "" =20 -#: m4/regex.c:1036 +#: gnulib/m4/regex.c:1317 msgid "Trailing backslash" msgstr "" =20 -#: m4/regex.c:1039 +#: gnulib/m4/regex.c:1320 msgid "Invalid back reference" msgstr "" =20 -#: m4/regex.c:1042 +#: gnulib/m4/regex.c:1323 msgid "Unmatched [ or [^" msgstr "" =20 -#: m4/regex.c:1045 +#: gnulib/m4/regex.c:1326 msgid "Unmatched ( or \\(" msgstr "" =20 -#: m4/regex.c:1048 +#: gnulib/m4/regex.c:1329 msgid "Unmatched \\{" msgstr "" =20 -#: m4/regex.c:1051 +#: gnulib/m4/regex.c:1332 msgid "Invalid content of \\{\\}" msgstr "" =20 -#: m4/regex.c:1054 +#: gnulib/m4/regex.c:1335 msgid "Invalid range end" msgstr "" =20 -#: m4/regex.c:1057 +#: gnulib/m4/regex.c:1338 msgid "Memory exhausted" msgstr "" =20 -#: m4/regex.c:1060 +#: gnulib/m4/regex.c:1341 #, fuzzy msgid "Invalid preceding regular expression" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" =20 -#: m4/regex.c:1063 +#: gnulib/m4/regex.c:1344 #, fuzzy msgid "Premature end of regular expression" msgstr "F=F6r tidigt filslut i fryst fil" =20 -#: m4/regex.c:1066 +#: gnulib/m4/regex.c:1347 #, fuzzy msgid "Regular expression too big" msgstr "Otill=E5tet regulj=E4ruttryck \"%s\": %s" =20 -#: m4/regex.c:1069 +#: gnulib/m4/regex.c:1350 msgid "Unmatched ) or \\)" msgstr "" =20 -#: m4/regex.c:5566 +#: gnulib/m4/regex.c:7915 #, fuzzy msgid "No previous regular expression" msgstr "Fel n=E4r regulj=E4ruttrycket \"%s\" matchades" @@ -352,61 +409,6 @@ msgstr "Korrupt fryst fil" #, c-format msgid "`%s' from frozen file not found in builtin table!" msgstr "\"%s\" fr=E5n fryst fil hittades inte i tabellen f=F6r inbyggda = makron!" - -#: src/getopt.c:677 -#, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:702 -#, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:707 -#, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "" - -#: src/getopt.c:725 src/getopt.c:898 -#, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "" - -#: src/getopt.c:754 -#, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "" - -#: src/getopt.c:758 -#, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "" - -#: src/getopt.c:784 -#, c-format -msgid "%s: illegal option -- %c\n" -msgstr "" - -#: src/getopt.c:787 -#, c-format -msgid "%s: invalid option -- %c\n" -msgstr "" - -#: src/getopt.c:817 src/getopt.c:947 -#, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "" - -#: src/getopt.c:864 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "" - -#: src/getopt.c:882 -#, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "" =20 #: src/main.c:74 #, fuzzy Index: src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/src/Makefile.am,v retrieving revision 1.11 diff -u -p -u -r1.11 Makefile.am --- src/Makefile.am 5 Sep 2003 18:32:27 -0000 1.11 +++ src/Makefile.am 12 Sep 2003 15:16:59 -0000 @@ -23,15 +23,12 @@ AM_CPPFLAGS =3D -I$(top_builddir) -I$(top_ -I$(top_builddir)/m4 -I$(top_srcdir)/m4 $(INTLINCL) =20 bin_PROGRAMS =3D m4 -m4_SOURCES =3D main.c m4.h freeze.c stackovf.c -EXTRA_m4_SOURCES =3D getopt.c getopt1.c - -m4_LDADD =3D $(M4OBJS) $(top_builddir)/m4/libm4.la $(INTLLIBS) +m4_SOURCES =3D $(top_srcdir)/gnulib/m4/getopt.c \ + $(top_srcdir)/gnulib/m4/getopt1.c \ + $(top_srcdir)/gnulib/m4/getopt.h \ + main.c m4.h freeze.c stackovf.c +m4_LDADD =3D $(top_builddir)/m4/libm4.la $(INTLLIBS) m4_LDFLAGS =3D -no-undefined -export-dynamic $(DLPREOPEN) - -$(bin_PROGRAMS): $(M4OBJS) - -noinst_HEADERS =3D gnu-getopt.h =20 CLEANFILES =3D m4$(EXEEXT) MAINTAINERCLEANFILES =3D Makefile.in Index: src/getopt.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: src/getopt.c diff -N src/getopt.c --- src/getopt.c 27 Aug 2003 17:10:13 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,1051 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what - "Keep this file name-space clean" means, talk to drepper@gnu.org - before changing it! - - Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 - Free Software Foundation, Inc. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License a= s - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If n= ot, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, - Boston, MA 02111-1307, USA. */ -=0C -/* This tells Alpha OSF/1 not to define a getopt prototype in .= - Ditto for AIX 3.2 and . */ -#ifndef _NO_PROTO -# define _NO_PROTO -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#if !defined __STDC__ || !__STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -# ifndef const -# define const -# endif -#endif - -#include - -/* Comment out all this code if we are using the GNU C Library, and are = not - actually compiling the library itself. This code is part of the GNU = C - Library, but also included in many other GNU distributions. Compilin= g - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU= - program understand `configure --with-gnu-libc' and omit the object fi= les, - it is simpler to just do this in the source for each such file. */ - -#define GETOPT_INTERFACE_VERSION 2 -#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >=3D 2 -# include -# if _GNU_GETOPT_INTERFACE_VERSION =3D=3D GETOPT_INTERFACE_VERSION -# define ELIDE_CODE -# endif -#endif - -#ifndef ELIDE_CODE - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -/* Don't include stdlib.h for non-GNU C libraries because some of them - contain conflicting prototypes for getopt. */ -# include -# include -#endif /* GNU C library. */ - -#ifdef VMS -# include -# if HAVE_STRING_H - 0 -# include -# endif -#endif - -#ifndef _ -/* This is for other GNU distributions with internationalized messages. - When compiling libc, the _ macro is predefined. */ -# ifdef HAVE_LIBINTL_H -# include -# define _(msgid) gettext (msgid) -# else -# define _(msgid) (msgid) -# endif -#endif - -/* This version of `getopt' appears to the caller like standard Unix `ge= topt' - but it behaves differently for the user, since it allows the user - to intersperse the options with the other arguments. - - As `getopt' works, it permutes the elements of ARGV so that, - when it is done, all the options precede everything else. Thus - all application programs are extended to handle flexible argument ord= er. - - Setting the environment variable POSIXLY_CORRECT disables permutation= =2E - Then the behavior is completely standard. - - GNU application programs can use a third alternative mode in which - they can distinguish the relative order of options and other argument= s. */ - -#include "getopt.h" - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* 1003.2 says this must be 1 before any call. */ -int optind =3D 1; - -/* Formerly, initialization of getopt depended on optind=3D=3D0, which - causes problems with re-calling getopt as programs generally don't - know that. */ - -int __getopt_initialized; - -/* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - -static char *nextchar; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr =3D 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt =3D '?'; - -/* Describe how to deal with options that follow non-option ARGV-element= s. - - If the caller did not specify anything, - the default is REQUIRE_ORDER if the environment variable - POSIXLY_CORRECT is defined, PERMUTE otherwise. - - REQUIRE_ORDER means don't recognize them as options; - stop option processing when the first non-option is seen. - This is what Unix does. - This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character - of the list of option characters. - - PERMUTE is the default. We permute the contents of ARGV as we scan, - so that eventually all the non-options are at the end. This allows o= ptions - to be given in any order, even with programs that were not written to= - expect this. - - RETURN_IN_ORDER is an option available to programs that were written - to expect options and other ARGV-elements in any order and that care = about - the ordering of the two. We describe each non-option ARGV-element - as if it were the argument of an option with character code 1. - Using `-' as the first character of the list of option characters - selects this mode of operation. - - The special argument `--' forces an end of option-scanning regardless= - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return -1 with `optind' !=3D ARGC. */ - -static enum -{ - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER -} ordering; - -/* Value of POSIXLY_CORRECT environment variable. */ -static char *posixly_correct; -=0C -#ifdef __GNU_LIBRARY__ -/* We want to avoid inclusion of string.h with non-GNU libraries - because there are many ways it can cause trouble. - On some systems, it contains special magic macros that don't work - in GCC. */ -# include -# define my_index strchr -#else - -# if HAVE_STRING_H -# include -# else -# include -# endif - -/* Avoid depending on library functions or files - whose names are inconsistent. */ - -#ifndef getenv -extern char *getenv (); -#endif - -static char * -my_index (str, chr) - const char *str; - int chr; -{ - while (*str) - { - if (*str =3D=3D chr) - return (char *) str; - str++; - } - return 0; -} - -/* If using GCC, we can safely declare strlen this way. - If not using GCC, it is ok not to declare it. */ -#ifdef __GNUC__ -/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. - That was relevant to code that was here before. */ -# if (!defined __STDC__ || !__STDC__) && !defined strlen -/* gcc with -traditional declares the built-in strlen to return int, - and has done so at least since version 2.4.5. -- rms. */ -extern int strlen (const char *); -# endif /* not __STDC__ */ -#endif /* __GNUC__ */ - -#endif /* not __GNU_LIBRARY__ */ -=0C -/* Handle permutation of arguments. */ - -/* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first of th= em; - `last_nonopt' is the index after the last of them. */ - -static int first_nonopt; -static int last_nonopt; - -#ifdef _LIBC -/* Bash 2.0 gives us an environment variable containing flags - indicating ARGV elements that should not be considered arguments. */= - -/* Defined in getopt_init.c */ -extern char *__getopt_nonoption_flags; - -static int nonoption_flags_max_len; -static int nonoption_flags_len; - -static int original_argc; -static char *const *original_argv; - -/* Make sure the environment variable bash 2.0 puts in the environment - is valid for the getopt call we must make sure that the ARGV passed - to getopt is that one passed to the process. */ -static void -__attribute__ ((unused)) -store_args_and_env (int argc, char *const *argv) -{ - /* XXX This is no good solution. We should rather copy the args so - that we can compare them later. But we must not use malloc(3). */= - original_argc =3D argc; - original_argv =3D argv; -} -# ifdef text_set_element -text_set_element (__libc_subinit, store_args_and_env); -# endif /* text_set_element */ - -# define SWAP_FLAGS(ch1, ch2) \ - if (nonoption_flags_len > 0) \ - { \ - char __tmp =3D __getopt_nonoption_flags[ch1]; \ - __getopt_nonoption_flags[ch1] =3D __getopt_nonoption_flags[ch2]; = \ - __getopt_nonoption_flags[ch2] =3D __tmp; \ - } -#else /* !_LIBC */ -# define SWAP_FLAGS(ch1, ch2) -#endif /* _LIBC */ - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - `first_nonopt' and `last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -#if defined __STDC__ && __STDC__ -static void exchange (char **); -#endif - -static void -exchange (argv) - char **argv; -{ - int bottom =3D first_nonopt; - int middle =3D last_nonopt; - int top =3D optind; - char *tem; - - /* Exchange the shorter segment with the far end of the longer segment= =2E - That puts the shorter segment into the right place. - It leaves the longer segment in the right place overall, - but it consists of two parts that need to be swapped next. */ - -#ifdef _LIBC - /* First make sure the handling of the `__getopt_nonoption_flags' - string can work normally. Our top argument must be in the range - of the string. */ - if (nonoption_flags_len > 0 && top >=3D nonoption_flags_max_len) - { - /* We must extend the array. The user plays games with us and - presents new arguments. */ - char *new_str =3D malloc (top + 1); - if (new_str =3D=3D NULL) - nonoption_flags_len =3D nonoption_flags_max_len =3D 0; - else - { - memset (__mempcpy (new_str, __getopt_nonoption_flags, - nonoption_flags_max_len), - '\0', top + 1 - nonoption_flags_max_len); - nonoption_flags_max_len =3D top + 1; - __getopt_nonoption_flags =3D new_str; - } - } -#endif - - while (top > middle && middle > bottom) - { - if (top - middle > middle - bottom) - { - /* Bottom segment is the short one. */ - int len =3D middle - bottom; - register int i; - - /* Swap it with the top part of the top segment. */ - for (i =3D 0; i < len; i++) - { - tem =3D argv[bottom + i]; - argv[bottom + i] =3D argv[top - (middle - bottom) + i]; - argv[top - (middle - bottom) + i] =3D tem; - SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); - } - /* Exclude the moved bottom segment from further swapping. */ - top -=3D len; - } - else - { - /* Top segment is the short one. */ - int len =3D top - middle; - register int i; - - /* Swap it with the bottom part of the bottom segment. */ - for (i =3D 0; i < len; i++) - { - tem =3D argv[bottom + i]; - argv[bottom + i] =3D argv[middle + i]; - argv[middle + i] =3D tem; - SWAP_FLAGS (bottom + i, middle + i); - } - /* Exclude the moved top segment from further swapping. */ - bottom +=3D len; - } - } - - /* Update records for the slots the non-options now occupy. */ - - first_nonopt +=3D (optind - last_nonopt); - last_nonopt =3D optind; -} - -/* Initialize the internal data when the first call is made. */ - -#if defined __STDC__ && __STDC__ -static const char *_getopt_initialize (int, char *const *, const char *)= ; -#endif -static const char * -_getopt_initialize (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - /* Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - - first_nonopt =3D last_nonopt =3D optind; - - nextchar =3D NULL; - - posixly_correct =3D getenv ("POSIXLY_CORRECT"); - - /* Determine how to handle the ordering of options and nonoptions. */= - - if (optstring[0] =3D=3D '-') - { - ordering =3D RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] =3D=3D '+') - { - ordering =3D REQUIRE_ORDER; - ++optstring; - } - else if (posixly_correct !=3D NULL) - ordering =3D REQUIRE_ORDER; - else - ordering =3D PERMUTE; - -#ifdef _LIBC - if (posixly_correct =3D=3D NULL - && argc =3D=3D original_argc && argv =3D=3D original_argv) - { - if (nonoption_flags_max_len =3D=3D 0) - { - if (__getopt_nonoption_flags =3D=3D NULL - || __getopt_nonoption_flags[0] =3D=3D '\0') - nonoption_flags_max_len =3D -1; - else - { - const char *orig_str =3D __getopt_nonoption_flags; - int len =3D nonoption_flags_max_len =3D strlen (orig_str); - if (nonoption_flags_max_len < argc) - nonoption_flags_max_len =3D argc; - __getopt_nonoption_flags =3D - (char *) malloc (nonoption_flags_max_len); - if (__getopt_nonoption_flags =3D=3D NULL) - nonoption_flags_max_len =3D -1; - else - memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), - '\0', nonoption_flags_max_len - len); - } - } - nonoption_flags_len =3D nonoption_flags_max_len; - } - else - nonoption_flags_len =3D 0; -#endif - - return optstring; -} -=0C -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--"= , - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' - is called repeatedly, it returns successively each of the option char= acters - from each of the option elements. - - If `getopt' finds another option character, it returns that character= , - updating `optind' and `nextchar' so that the next call to `getopt' ca= n - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, `getopt' returns -1. - Then `optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an= arg, - so the following text in the same ARGV-element, or the text of the fo= llowing - ARGV-element, is returned in `optarg'. Two colons mean an option tha= t - wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. - - If OPTSTRING starts with `-' or `+', it requests different methods of= - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with `--' instead of `-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separa= ted - from the option name by a `=3D', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option'= s - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. - - The elements of ARGV aren't really const, because we permute them. - But we pretend they're const in the prototype to be compatible - with other systems. - - LONGOPTS is a vector of `struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. */ - -int -_getopt_internal (argc, argv, optstring, longopts, longind, long_only) - int argc; - char *const *argv; - const char *optstring; - const struct option *longopts; - int *longind; - int long_only; -{ - optarg =3D NULL; - - if (optind =3D=3D 0 || !__getopt_initialized) - { - if (optind =3D=3D 0) - optind =3D 1; /* Don't scan ARGV[0], the program name. */ - optstring =3D _getopt_initialize (argc, argv, optstring); - __getopt_initialized =3D 1; - } - - /* Test whether ARGV[optind] points to a non-option argument. - Either it does not have option syntax, or there is an environment f= lag - from the shell indicating it is not an option. The later informati= on - is only used when the used in the GNU libc. */ -#ifdef _LIBC -# define NONOPTION_P (argv[optind][0] !=3D '-' || argv[optind][1] =3D=3D= '\0' \ - || (optind < nonoption_flags_len \ - && __getopt_nonoption_flags[optind] =3D=3D '1')) -#else -# define NONOPTION_P (argv[optind][0] !=3D '-' || argv[optind][1] =3D=3D= '\0') -#endif - - if (nextchar =3D=3D NULL || *nextchar =3D=3D '\0') - { - /* Advance to the next ARGV-element. */ - - /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has b= een - moved back by the user (who may also have changed the arguments). */ - if (last_nonopt > optind) - last_nonopt =3D optind; - if (first_nonopt > optind) - first_nonopt =3D optind; - - if (ordering =3D=3D PERMUTE) - { - /* If we have just processed some options following some non-options,= - exchange them so that the options come first. */ - - if (first_nonopt !=3D last_nonopt && last_nonopt !=3D optind) - exchange ((char **) argv); - else if (last_nonopt !=3D optind) - first_nonopt =3D optind; - - /* Skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (optind < argc && NONOPTION_P) - optind++; - last_nonopt =3D optind; - } - - /* The special ARGV-element `--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (optind !=3D argc && !strcmp (argv[optind], "--")) - { - optind++; - - if (first_nonopt !=3D last_nonopt && last_nonopt !=3D optind) - exchange ((char **) argv); - else if (first_nonopt =3D=3D last_nonopt) - first_nonopt =3D optind; - last_nonopt =3D argc; - - optind =3D argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (optind =3D=3D argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (first_nonopt !=3D last_nonopt) - optind =3D first_nonopt; - return -1; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if (NONOPTION_P) - { - if (ordering =3D=3D REQUIRE_ORDER) - return -1; - optarg =3D argv[optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Skip the initial punctuation. */ - - nextchar =3D (argv[optind] + 1 - + (longopts !=3D NULL && argv[optind][1] =3D=3D '-')); - } - - /* Decode the current option-ARGV-element. */ - - /* Check whether the ARGV-element is a long option. - - If long_only and the ARGV-element has the form "-f", where f is - a valid short option, don't consider it an abbreviated form of - a long option that starts with f. Otherwise there would be no - way to give the -f short option. - - On the other hand, if there's a long option "fubar" and - the ARGV-element is "-fu", do consider that an abbreviation of - the long option, just like "--fu", and not "-f" with arg "u". - - This distinction seems to be the most useful approach. */ - - if (longopts !=3D NULL - && (argv[optind][1] =3D=3D '-' - || (long_only && (argv[optind][2] || !my_index (optstring, argv[optin= d][1]))))) - { - char *nameend; - const struct option *p; - const struct option *pfound =3D NULL; - int exact =3D 0; - int ambig =3D 0; - int indfound =3D -1; - int option_index; - - for (nameend =3D nextchar; *nameend && *nameend !=3D '=3D'; nameen= d++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p =3D longopts, option_index =3D 0; p->name; p++, option_inde= x++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) - =3D=3D (unsigned int) strlen (p->name)) - { - /* Exact match found. */ - pfound =3D p; - indfound =3D option_index; - exact =3D 1; - break; - } - else if (pfound =3D=3D NULL) - { - /* First nonexact match found. */ - pfound =3D p; - indfound =3D option_index; - } - else - /* Second or later nonexact match found. */ - ambig =3D 1; - } - - if (ambig && !exact) - { - if (opterr) - fprintf (stderr, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]); - nextchar +=3D strlen (nextchar); - optind++; - optopt =3D 0; - return '?'; - } - - if (pfound !=3D NULL) - { - option_index =3D indfound; - optind++; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg =3D nameend + 1; - else - { - if (opterr) - { - if (argv[optind - 1][1] =3D=3D '-') - /* --option */ - fprintf (stderr, - _("%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); - else - /* +option or -option */ - fprintf (stderr, - _("%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], pfound->name); - } - - nextchar +=3D strlen (nextchar); - - optopt =3D pfound->val; - return '?'; - } - } - else if (pfound->has_arg =3D=3D 1) - { - if (optind < argc) - optarg =3D argv[optind++]; - else - { - if (opterr) - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); - nextchar +=3D strlen (nextchar); - optopt =3D pfound->val; - return optstring[0] =3D=3D ':' ? ':' : '?'; - } - } - nextchar +=3D strlen (nextchar); - if (longind !=3D NULL) - *longind =3D option_index; - if (pfound->flag) - { - *(pfound->flag) =3D pfound->val; - return 0; - } - return pfound->val; - } - - /* Can't find it as a long option. If this is not getopt_long_onl= y, - or the option starts with '--' or is not a valid short - option, then it's an error. - Otherwise interpret it as a short option. */ - if (!long_only || argv[optind][1] =3D=3D '-' - || my_index (optstring, *nextchar) =3D=3D NULL) - { - if (opterr) - { - if (argv[optind][1] =3D=3D '-') - /* --option */ - fprintf (stderr, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); - else - /* +option or -option */ - fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); - } - nextchar =3D (char *) ""; - optind++; - optopt =3D 0; - return '?'; - } - } - - /* Look at and handle the next short option-character. */ - - { - char c =3D *nextchar++; - char *temp =3D my_index (optstring, c); - - /* Increment `optind' when we start to process its last character. = */ - if (*nextchar =3D=3D '\0') - ++optind; - - if (temp =3D=3D NULL || c =3D=3D ':') - { - if (opterr) - { - if (posixly_correct) - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, _("%s: illegal option -- %c\n"), - argv[0], c); - else - fprintf (stderr, _("%s: invalid option -- %c\n"), - argv[0], c); - } - optopt =3D c; - return '?'; - } - /* Convenience. Treat POSIX -W foo same as long option --foo */ - if (temp[0] =3D=3D 'W' && temp[1] =3D=3D ';') - { - char *nameend; - const struct option *p; - const struct option *pfound =3D NULL; - int exact =3D 0; - int ambig =3D 0; - int indfound =3D 0; - int option_index; - - /* This is an option that requires an argument. */ - if (*nextchar !=3D '\0') - { - optarg =3D nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind =3D=3D argc) - { - if (opterr) - { - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, _("%s: option requires an argument -- %c\n"), - argv[0], c); - } - optopt =3D c; - if (optstring[0] =3D=3D ':') - c =3D ':'; - else - c =3D '?'; - return c; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg =3D argv[optind++]; - - /* optarg is now the argument, see if it's in the - table of longopts. */ - - for (nextchar =3D nameend =3D optarg; *nameend && *nameend !=3D '=3D'; = nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p =3D longopts, option_index =3D 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) =3D=3D strlen (p->name)) - { - /* Exact match found. */ - pfound =3D p; - indfound =3D option_index; - exact =3D 1; - break; - } - else if (pfound =3D=3D NULL) - { - /* First nonexact match found. */ - pfound =3D p; - indfound =3D option_index; - } - else - /* Second or later nonexact match found. */ - ambig =3D 1; - } - if (ambig && !exact) - { - if (opterr) - fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]); - nextchar +=3D strlen (nextchar); - optind++; - return '?'; - } - if (pfound !=3D NULL) - { - option_index =3D indfound; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg =3D nameend + 1; - else - { - if (opterr) - fprintf (stderr, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name); - - nextchar +=3D strlen (nextchar); - return '?'; - } - } - else if (pfound->has_arg =3D=3D 1) - { - if (optind < argc) - optarg =3D argv[optind++]; - else - { - if (opterr) - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); - nextchar +=3D strlen (nextchar); - return optstring[0] =3D=3D ':' ? ':' : '?'; - } - } - nextchar +=3D strlen (nextchar); - if (longind !=3D NULL) - *longind =3D option_index; - if (pfound->flag) - { - *(pfound->flag) =3D pfound->val; - return 0; - } - return pfound->val; - } - nextchar =3D NULL; - return 'W'; /* Let the application handle it. */ - } - if (temp[1] =3D=3D ':') - { - if (temp[2] =3D=3D ':') - { - /* This is an option that accepts an argument optionally. */ - if (*nextchar !=3D '\0') - { - optarg =3D nextchar; - optind++; - } - else - optarg =3D NULL; - nextchar =3D NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*nextchar !=3D '\0') - { - optarg =3D nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind =3D=3D argc) - { - if (opterr) - { - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, - _("%s: option requires an argument -- %c\n"), - argv[0], c); - } - optopt =3D c; - if (optstring[0] =3D=3D ':') - c =3D ':'; - else - c =3D '?'; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg =3D argv[optind++]; - nextchar =3D NULL; - } - } - return c; - } -} - -int -getopt (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - return _getopt_internal (argc, argv, optstring, - (const struct option *) 0, - (int *) 0, - 0); -} - -#endif /* Not ELIDE_CODE. */ -=0C -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind =3D 0; - - while (1) - { - int this_option_optind =3D optind ? optind : 1; - - c =3D getopt (argc, argv, "abc:d:0123456789"); - if (c =3D=3D -1) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind !=3D 0 && digit_optind !=3D this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind =3D this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ Index: src/getopt1.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: src/getopt1.c diff -N src/getopt1.c --- src/getopt1.c 27 Aug 2003 17:10:13 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,188 +0,0 @@ -/* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License a= s - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If n= ot, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, - Boston, MA 02111-1307, USA. */ -=0C -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "getopt.h" - -#if !defined __STDC__ || !__STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -#ifndef const -#define const -#endif -#endif - -#include - -/* Comment out all this code if we are using the GNU C Library, and are = not - actually compiling the library itself. This code is part of the GNU = C - Library, but also included in many other GNU distributions. Compilin= g - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU= - program understand `configure --with-gnu-libc' and omit the object fi= les, - it is simpler to just do this in the source for each such file. */ - -#define GETOPT_INTERFACE_VERSION 2 -#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >=3D 2 -#include -#if _GNU_GETOPT_INTERFACE_VERSION =3D=3D GETOPT_INTERFACE_VERSION -#define ELIDE_CODE -#endif -#endif - -#ifndef ELIDE_CODE - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -#include -#endif - -#ifndef NULL -#define NULL 0 -#endif - -int -getopt_long (argc, argv, options, long_options, opt_index) - int argc; - char *const *argv; - const char *options; - const struct option *long_options; - int *opt_index; -{ - return _getopt_internal (argc, argv, options, long_options, opt_index,= 0); -} - -/* Like getopt_long, but '-' as well as '--' can indicate a long option.= - If an option that starts with '-' (not '--') doesn't match a long opt= ion, - but does match a short option, it is parsed as a short option - instead. */ - -int -getopt_long_only (argc, argv, options, long_options, opt_index) - int argc; - char *const *argv; - const char *options; - const struct option *long_options; - int *opt_index; -{ - return _getopt_internal (argc, argv, options, long_options, opt_index,= 1); -} - - -#endif /* Not ELIDE_CODE. */ -=0C -#ifdef TEST - -#include - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind =3D 0; - - while (1) - { - int this_option_optind =3D optind ? optind : 1; - int option_index =3D 0; - static struct option long_options[] =3D - { - {"add", 1, 0, 0}, - {"append", 0, 0, 0}, - {"delete", 1, 0, 0}, - {"verbose", 0, 0, 0}, - {"create", 0, 0, 0}, - {"file", 1, 0, 0}, - {0, 0, 0, 0} - }; - - c =3D getopt_long (argc, argv, "abc:d:0123456789", - long_options, &option_index); - if (c =3D=3D -1) - break; - - switch (c) - { - case 0: - printf ("option %s", long_options[option_index].name); - if (optarg) - printf (" with arg %s", optarg); - printf ("\n"); - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind !=3D 0 && digit_optind !=3D this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind =3D this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case 'd': - printf ("option d with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ Index: src/gnu-getopt.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: src/gnu-getopt.h diff -N src/gnu-getopt.h --- src/gnu-getopt.h 27 Nov 2000 22:54:22 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,180 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989,90,91,92,93,94,96,97,98,99 Free Software Foundatio= n, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License a= s - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If n= ot, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite = 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _GETOPT_H - -#ifndef __need_getopt -# define _GETOPT_H 1 -#endif - -/* If __GNU_LIBRARY__ is not already defined, either we are being used - standalone, or this is the first header included in the source file. - If we are being used with glibc, we need to include , but= - that does not exist if we are standalone. So: if __GNU_LIBRARY__ is - not defined, include , which will pull in for u= s - if it's from glibc. (Why ctype.h? It's guaranteed to exist and it - doesn't flood the namespace with stuff the way some other headers do.= ) */ -#if !defined __GNU_LIBRARY__ -# include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -#ifndef __need_getopt -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vec= tor - of `struct option' terminated by an element containing a name which i= s - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -# if defined __STDC__ && __STDC__ - const char *name; -# else - char *name; -# endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -# define no_argument 0 -# define required_argument 1 -# define optional_argument 2 -#endif /* need getopt */ - - -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. - - Return the option character from OPTS just read. Return -1 when - there are no more options. For unrecognized options, or options - missing arguments, `optopt' is set to the option letter, and '?' is - returned. - - The OPTS string is a list of characters which are recognized option - letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in `optarg'. - - If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU `getopt'. - - The argument `--' causes premature termination of argument - scanning, explicitly telling `getopt' that there are no more - options. - - If OPTS begins with `--', then non-option arguments are treated as - arguments to the option '\0'. This behavior is specific to the GNU - `getopt'. */ - -#if defined __STDC__ && __STDC__ -# ifdef __GNU_LIBRARY__ -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int __argc, char *const *__argv, const char *__shorto= pts); -# else /* not __GNU_LIBRARY__ */ -extern int getopt (); -# endif /* __GNU_LIBRARY__ */ - -# ifndef __need_getopt -extern int getopt_long (int __argc, char *const *__argv, const char *__s= hortopts, - const struct option *__longopts, int *__longind); -extern int getopt_long_only (int __argc, char *const *__argv, - const char *__shortopts, - const struct option *__longopts, int *__longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int __argc, char *const *__argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only); -# endif -#else /* not __STDC__ */ -extern int getopt (); -# ifndef __need_getopt -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -# endif -#endif /* __STDC__ */ - -#ifdef __cplusplus -} -#endif - -/* Make sure we later can get all the definitions and declarations. */ -#undef __need_getopt - -#endif /* getopt.h */ Index: src/main.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/src/main.c,v retrieving revision 1.52 diff -u -p -u -r1.52 main.c --- src/main.c 11 Sep 2003 16:38:12 -0000 1.52 +++ src/main.c 12 Sep 2003 15:16:59 -0000 @@ -17,12 +17,12 @@ 02111-1307 USA */ =20 -#include #include =20 #include "m4.h" #include "m4private.h" #include "m4/progname.h" +#include "m4/getopt.h" =20 static void print_program_name_CB (void); =20 --------------090904080202080505020102-- From MAILER-DAEMON Mon Sep 15 05:38:23 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19ypoN-0001Wv-7v for mharc-m4-patches@gnu.org; Mon, 15 Sep 2003 05:38:23 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19ypoL-0001Vj-2H for m4-patches@gnu.org; Mon, 15 Sep 2003 05:38:21 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19ypoJ-0001VY-Kd for m4-patches@gnu.org; Mon, 15 Sep 2003 05:38:20 -0400 Received: from [66.111.4.26] (helo=mail.messagingengine.com) by monty-python.gnu.org with esmtp (Exim 4.22) id 19ypoJ-0001VP-9c for m4-patches@gnu.org; Mon, 15 Sep 2003 05:38:19 -0400 Received: from mail.messagingengine.com (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id 8CC5A1D087A; Mon, 15 Sep 2003 05:38:15 -0400 (EDT) Received: from 10.202.2.150 ([10.202.2.150] helo=mail.messagingengine.com) by messagingengine.com with SMTP; Mon, 15 Sep 2003 05:38:15 -0400 X-Mail-from: gary@gnu.org X-Spam-score: 0 X-Spam-hits: BAYES_01, EMAIL_ATTRIBUTION, IN_REP_TO, QUOTED_EMAIL_TEXT, REPLY_WITH_QUOTES, USER_AGENT_APPLEMAIL X-Epoch: 1063618695 X-Sasl-enc: p5gAhAJMuDKDayTINKc2yg Received: from gnu.org (oranda.demon.co.uk [194.222.82.6]) by mail.messagingengine.com (Postfix) with ESMTP id 2A5B51D0886; Mon, 15 Sep 2003 05:38:13 -0400 (EDT) Date: Mon, 15 Sep 2003 10:39:46 +0100 Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v552) To: Charles Wilson From: Gary V.Vaughan In-Reply-To: <3F636F6B.3020304@cwilson.fastmail.fm> Message-Id: <8B1A8691-E760-11D7-857D-000393D63F80@gnu.org> Content-Transfer-Encoding: 7bit X-Mailer: Apple Mail (2.552) Cc: m4-patches@gnu.org, cgf@redhat.com Subject: Re: m4 from cvs, cygwin X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Sep 2003 09:38:21 -0000 Hi Chuck! On Saturday, September 13, 2003, at 08:26 pm, Charles Wilson wrote: > I was messing around with the latest m4 sources the other day > (2003-09-12) and found a few things that needed changing in order to > build on cygwin. Excellent, this is much appreciated as I don't have access to a cygwin machine since I upgraded to an iBook. > I was able to build a static version -- that did not work at all > thanks to problems with libltdl and static "lt_dlopen". Hmm. I'd be interested in trying to sort this out too. Is preloading broken on cygwin? > OTOH, I could also build a dynamic version that worked pretty well. > Most of the changes (necessary for both builds to complete) involved > adding $(LTLIBINTL) to the _LDFLAGS of every module, and some autoconf > tweaks. I'm applying the majority of this. Can you retest when you see the patch go in please? > I also did some truly horrendous things to get the perl module to > build (tricking libtool into linking a dll even though it depends on > the static libutil, libcrypt, and DynaLoader.a). It might be better > to just drop support for the perl module in cygwin... Ick! I'm thinking of dropping Perl support altogether... it's all a nasty hack. If I can get guile or python to work as a loadable module, then perl is definitely outa here! :-) > Anyway, if you're interested, I've attached the patches (to build > dynamicly, apply the -static patch first, and then apply the -dll > patch) I've also included the testsuite logs for both. Most definitely. Thanks. Please supply a ChangeLog entry next time. Cheers, Gary. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ From MAILER-DAEMON Mon Sep 15 05:57:28 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19yq6q-00004t-E6 for mharc-m4-patches@gnu.org; Mon, 15 Sep 2003 05:57:28 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19yq6n-0008VG-I7 for m4-patches@gnu.org; Mon, 15 Sep 2003 05:57:25 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19yq6l-0008U0-3H for m4-patches@gnu.org; Mon, 15 Sep 2003 05:57:23 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.22) id 19yq2b-0007pa-8Z for m4-patches@gnu.org; Mon, 15 Sep 2003 05:53:05 -0400 Received: from [66.111.4.26] (helo=mail.messagingengine.com) by mx20.gnu.org with esmtp (Exim 4.22) id 19yq15-0000oB-2V for m4-patches@gnu.org; Mon, 15 Sep 2003 05:51:31 -0400 Received: from mail.messagingengine.com (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id 34C441D08AE for ; Mon, 15 Sep 2003 05:51:29 -0400 (EDT) Received: from 10.202.2.150 ([10.202.2.150] helo=mail.messagingengine.com) by messagingengine.com with SMTP; Mon, 15 Sep 2003 05:51:29 -0400 X-Epoch: 1063619489 X-Sasl-enc: 70JfJxKQyjTMZ5ebEOi3Pw Received: from gnu.org (oranda.demon.co.uk [194.222.82.6]) by mail.messagingengine.com (Postfix) with ESMTP id 789461D08B0 for ; Mon, 15 Sep 2003 05:51:27 -0400 (EDT) Date: Mon, 15 Sep 2003 10:52:53 +0100 Mime-Version: 1.0 (Apple Message framework v552) Content-Type: multipart/mixed; boundary=Apple-Mail-64--586972224 From: Gary V.Vaughan To: m4-patches@gnu.org Message-Id: <6024BA61-E762-11D7-857D-000393D63F80@gnu.org> X-Mailer: Apple Mail (2.552) Subject: FYI: 69-gary-use-shipped-regex-h-include.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Sep 2003 09:57:26 -0000 --Apple-Mail-64--586972224 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Applied to HEAD. -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --Apple-Mail-64--586972224 Content-Disposition: attachment; filename=69-gary-use-shipped-regex-h-include.patch Content-Transfer-Encoding: quoted-printable Content-Type: application/octet-stream; x-unix-mode=0644; name="69-gary-use-shipped-regex-h-include.patch" Index:=20ChangeLog=0Afrom=20=20Gary=20V.=20Vaughan=20=20=0A= =0A=09*=20gnulib/m4/regex.c:=20=20s//"regex.h"/=20or=20else=20= the=20compiler=0A=09picks=20up=20the=20system=20regex.h=20if=20gl_REGEX=20= decides=20gnulib/m4/regex.c=0A=09is=20required.=0A=0AIndex:=20= gnulib/m4/regex.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0ARCS=20file:=20= /cvsroot/m4/m4/gnulib/m4/regex.c,v=0Aretrieving=20revision=201.1=0Adiff=20= -u=20-p=20-u=20-r1.1=20regex.c=0A---=20gnulib/m4/regex.c=2012=20Sep=20= 2003=2013:27:54=20-0000=201.1=0A+++=20gnulib/m4/regex.c=2015=20Sep=20= 2003=2009:42:46=20-0000=0A@@=20-164,7=20+164,7=20@@=0A=20#=20endif=0A=20=0C= =0A=20/*=20Get=20the=20interface,=20including=20the=20syntax=20bits.=20=20= */=0A-#=20include=20=0A+#=20include=20"regex.h"=0A=20=0A=20/*=20= isalpha=20etc.=20are=20used=20for=20the=20character=20classes.=20=20*/=0A= =20#=20include=20=0A= --Apple-Mail-64--586972224-- From MAILER-DAEMON Mon Sep 15 06:01:56 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19yqBA-0001as-2b for mharc-m4-patches@gnu.org; Mon, 15 Sep 2003 06:01:56 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19yqB7-0001aU-Lj for m4-patches@gnu.org; Mon, 15 Sep 2003 06:01:53 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19yqB5-0001aH-Vs for m4-patches@gnu.org; Mon, 15 Sep 2003 06:01:52 -0400 Received: from [66.111.4.26] (helo=mail.messagingengine.com) by monty-python.gnu.org with esmtp (Exim 4.22) id 19yqB5-0001Zw-KU for m4-patches@gnu.org; Mon, 15 Sep 2003 06:01:51 -0400 Received: from mail.messagingengine.com (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id E53B61D08E6; Mon, 15 Sep 2003 06:01:48 -0400 (EDT) X-Attached: 70-gary-gettext-on-cygwin.patch X-Virus-checked: Yes Received: from 10.202.2.150 ([10.202.2.150] helo=mail.messagingengine.com) by messagingengine.com with SMTP; Mon, 15 Sep 2003 06:01:49 -0400 X-Mail-from: gary@gnu.org X-Spam-score: 0 X-Spam-hits: BAYES_00, USER_AGENT_APPLEMAIL X-Epoch: 1063620108 X-Sasl-enc: /dtDxUHBvvUzOhMIidkZ0Q Received: from gnu.org (oranda.demon.co.uk [194.222.82.6]) by mail.messagingengine.com (Postfix) with ESMTP id 080FA1D0840; Mon, 15 Sep 2003 06:01:46 -0400 (EDT) Date: Mon, 15 Sep 2003 11:03:18 +0100 Content-Type: multipart/mixed; boundary=Apple-Mail-69--586347410 Mime-Version: 1.0 (Apple Message framework v552) To: m4-patches@gnu.org From: Gary V.Vaughan Message-Id: X-Mailer: Apple Mail (2.552) Cc: cgf@redhat.com, Charles Wilson Subject: FYI: 70-gary-gettext-on-cygwin.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Sep 2003 10:01:54 -0000 --Apple-Mail-69--586347410 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Applied to HEAD. --Apple-Mail-69--586347410 Content-Disposition: attachment; filename=70-gary-gettext-on-cygwin.patch Content-Transfer-Encoding: 7bit Content-Type: application/octet-stream; x-unix-mode=0644; name="70-gary-gettext-on-cygwin.patch" Index: ChangeLog from Charles Wilson , Gary V. Vaughan * bootstrap: Separate options. * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.12.1. * gnulib/m4/Makefile.am (stdbool.h): Use srcdir, gnulib_srcdir is not set. * modules/Makefile.am (gnu_la_LIBADD, load_la_LIBADD) (m4_la_LIBADD, mpeval_la_LIBADD, traditianal_la_LIBADD) (modtest_la_LIBADD, import_la_LIBADD, perl_la_LIBADD) (shadow_la_LIBADD, stdlib_la_LIBADD, time_la_LIBADD): Add $(LTLIBINTL) for gettext support on cygwin. * src/Makefile.am (m4_LDADD): Remove $(INTLLIBS), since we now have $(LTLIBINTL) from the preloaded module la files. * README: Remove the warning about using --disable-nls on Windows machines. Index: README =================================================================== RCS file: /cvsroot/m4/m4/README,v retrieving revision 1.4 diff -u -p -u -r1.4 README --- README 12 Jun 2003 10:28:48 -0000 1.4 +++ README 15 Sep 2003 09:56:51 -0000 @@ -46,12 +46,6 @@ doesn't handle optional arguments proper this is to force the build to use the included getopt files like this, `ac_cv_func_getopt_long=no ./configure`. -The Windows dll mechanism conflicts with the requirements of NLS, so -you should use `./configure --disable-nls' on these machines. The problem -is that an internationalised libm4.dll requires libintl.a to resolve its -unbound symbols at compile time. On real operating systems, linking -libintl.a into the m4 binary and using -export-dynamic is good enough. - 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 Index: bootstrap =================================================================== RCS file: /cvsroot/m4/m4/bootstrap,v retrieving revision 1.19 diff -u -p -u -r1.19 bootstrap --- bootstrap 9 Sep 2003 14:25:20 -0000 1.19 +++ bootstrap 15 Sep 2003 09:56:51 -0000 @@ -3,7 +3,7 @@ # helps bootstrapping M4, when checked out from CVS # requires GNU Autoconf, GNU Automake, GNU Gettext and GNU Libtool -autoreconf -fvi +autoreconf -f -v -i ( cd tests Index: configure.ac =================================================================== RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.26 diff -u -p -u -r1.26 configure.ac --- configure.ac 12 Sep 2003 15:29:57 -0000 1.26 +++ configure.ac 15 Sep 2003 09:56:51 -0000 @@ -131,7 +131,7 @@ AC_SUBST([LTDLINCL], ["${LTDLINCL-INCLTD ## Gettext support. ## ## ---------------- ## AM_GNU_GETTEXT(external, need-ngettext) -AM_GNU_GETTEXT_VERSION(0.12) +AM_GNU_GETTEXT_VERSION(0.12.1) m4_GNU_GETTEXT Index: gnulib/m4/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.9 diff -u -p -u -r1.9 Makefile.am --- gnulib/m4/Makefile.am 12 Sep 2003 16:03:26 -0000 1.9 +++ gnulib/m4/Makefile.am 15 Sep 2003 09:56:51 -0000 @@ -52,8 +52,8 @@ EXTRA_DIST += stdbool_.h # We need the following in order to create an when the system # doesn't have one that works. all-local $(lib_OBJECTS): $(STDBOOL_H) -stdbool.h: $(gnulib_srcdir)/stdbool_.h - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(gnulib_srcdir)/stdbool_.h > $@-t +stdbool.h: $(srcdir)/stdbool_.h + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool_.h > $@-t mv $@-t $@ MOSTLYCLEANFILES += stdbool.h stdbool.h-t Index: modules/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/modules/Makefile.am,v retrieving revision 1.24 diff -u -p -u -r1.24 Makefile.am --- modules/Makefile.am 12 Sep 2003 13:47:48 -0000 1.24 +++ modules/Makefile.am 15 Sep 2003 09:56:54 -0000 @@ -44,43 +44,53 @@ if USE_GMP pkglibexec_LTLIBRARIES += mpeval.la endif -gnu_la_SOURCES = gnu.c -EXTRA_gnu_la_SOURCES = format.c -gnu_la_LDFLAGS = -module - -load_la_SOURCES = load.c -load_la_LDFLAGS = -module +gnu_la_SOURCES = gnu.c +EXTRA_gnu_la_SOURCES = format.c +gnu_la_LDFLAGS = -module +gnu_la_LIBADD = $(LTLIBINTL) + +load_la_SOURCES = load.c +load_la_LDFLAGS = -module +load_la_LIBADD = $(LTLIBINTL) m4_la_SOURCES = m4.c EXTRA_m4_la_SOURCES = evalparse.c m4_la_LDFLAGS = -module +m4_la_LIBADD = $(LTLIBINTL) mpeval_la_SOURCES = mpeval.c EXTRA_mpeval_la_SOURCES = evalparse.c mpeval_la_LDFLAGS = -module -mpeval_la_LIBADD = $(LIBADD_GMP) - -traditional_la_SOURCES = traditional.c -traditional_la_LDFLAGS = -module - -modtest_la_SOURCES = modtest.c -modtest_la_LDFLAGS = -module - -import_la_SOURCES = import.c -import_la_LDFLAGS = -module - -perl_la_SOURCES = perl.c -perl_la_CFLAGS = `perl -MExtUtils::Embed -e ccopts` -perl_la_LDFLAGS = -module `perl -MExtUtils::Embed -e ldopts` - -shadow_la_SOURCES = shadow.c -shadow_la_LDFLAGS = -module - -stdlib_la_SOURCES = stdlib.c -stdlib_la_LDFLAGS = -module +mpeval_la_LIBADD = $(LIBADD_GMP) $(LTLIBINTL) -time_la_SOURCES = time.c -time_la_LDFLAGS = -module +traditional_la_SOURCES = traditional.c +traditional_la_LDFLAGS = -module +traditional_la_LIBADD = $(LTLIBINTL) + +modtest_la_SOURCES = modtest.c +modtest_la_LDFLAGS = -module +modtest_la_LIBADD = $(LTLIBINTL) + +import_la_SOURCES = import.c +import_la_LDFLAGS = -module +import_la_LIBADD = $(LTLIBINTL) + +perl_la_SOURCES = perl.c +perl_la_CFLAGS = `perl -MExtUtils::Embed -e ccopts` +perl_la_LDFLAGS = -module `perl -MExtUtils::Embed -e ldopts` +perl_la_LIBADDD = $(LTLIBINTL) + +shadow_la_SOURCES = shadow.c +shadow_la_LDFLAGS = -module +shadow_la_LIBADD = $(LTLIBINTL) + +stdlib_la_SOURCES = stdlib.c +stdlib_la_LDFLAGS = -module +stdlib_la_LIBADD = $(LTLIBINTL) + +time_la_SOURCES = time.c +time_la_LDFLAGS = -module +time_la_LIBADD = $(LTLIBINTL) BUILT_SOURCES = perlxsi.c perlxsi.c: Index: modules/gnu.c =================================================================== RCS file: /cvsroot/m4/m4/modules/gnu.c,v retrieving revision 1.33 diff -u -p -u -r1.33 gnu.c --- modules/gnu.c 27 Aug 2003 17:10:12 -0000 1.33 +++ modules/gnu.c 15 Sep 2003 09:56:56 -0000 @@ -41,8 +41,6 @@ int errno; # include "m4private.h" #endif -#include "regex.h" - #define RE_SYNTAX_BRE RE_SYNTAX_EMACS #define RE_SYNTAX_ERE \ Index: src/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/src/Makefile.am,v retrieving revision 1.12 diff -u -p -u -r1.12 Makefile.am --- src/Makefile.am 12 Sep 2003 15:17:49 -0000 1.12 +++ src/Makefile.am 15 Sep 2003 09:56:56 -0000 @@ -27,7 +27,7 @@ m4_SOURCES = $(top_srcdir)/gnulib/m4/ge $(top_srcdir)/gnulib/m4/getopt1.c \ $(top_srcdir)/gnulib/m4/getopt.h \ main.c m4.h freeze.c stackovf.c -m4_LDADD = $(top_builddir)/m4/libm4.la $(INTLLIBS) +m4_LDADD = $(top_builddir)/m4/libm4.la m4_LDFLAGS = -no-undefined -export-dynamic $(DLPREOPEN) CLEANFILES = m4$(EXEEXT) --Apple-Mail-69--586347410 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --Apple-Mail-69--586347410-- From MAILER-DAEMON Mon Sep 15 06:03:05 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19yq9o-0001VR-60 for mharc-m4-patches@gnu.org; Mon, 15 Sep 2003 06:00:32 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19yq9k-0001V0-Cv for m4-patches@gnu.org; Mon, 15 Sep 2003 06:00:28 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19yq9h-0001UD-C8 for m4-patches@gnu.org; Mon, 15 Sep 2003 06:00:26 -0400 Received: from [66.111.4.26] (helo=mail.messagingengine.com) by monty-python.gnu.org with esmtp (Exim 4.22) id 19yq9e-0001SZ-My for m4-patches@gnu.org; Mon, 15 Sep 2003 06:00:22 -0400 Received: from mail.messagingengine.com (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id A35901D032D; Mon, 15 Sep 2003 06:00:19 -0400 (EDT) X-Attached: 70-gary-gettext-on-cygwin.patch X-Virus-checked: Yes Received: from 10.202.2.150 ([10.202.2.150] helo=mail.messagingengine.com) by messagingengine.com with SMTP; Mon, 15 Sep 2003 06:00:19 -0400 X-Mail-from: gary@gnu.org X-Spam-score: 0 X-Spam-hits: BAYES_00, USER_AGENT_APPLEMAIL X-Epoch: 1063620019 X-Sasl-enc: uotQcggK0sWIhjHXnaaZjQ Received: from gnu.org (oranda.demon.co.uk [194.222.82.6]) by mail.messagingengine.com (Postfix) with ESMTP id A31171D08F3; Mon, 15 Sep 2003 06:00:03 -0400 (EDT) Date: Mon, 15 Sep 2003 11:01:29 +0100 Content-Type: multipart/mixed; boundary=Apple-Mail-67--586456592 Mime-Version: 1.0 (Apple Message framework v552) To: m4-patches@gnu.org From: Gary V.Vaughan Message-Id: <937BECF7-E763-11D7-857D-000393D63F80@gnu.org> X-Mailer: Apple Mail (2.552) Cc: cgf@redhat.com, Charles Wilson Subject: FYI: 70-gary-gettext-on-cygwin.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Sep 2003 10:00:31 -0000 --Apple-Mail-67--586456592 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Applied to HEAD. --Apple-Mail-67--586456592 Content-Disposition: attachment; filename=70-gary-gettext-on-cygwin.patch Content-Transfer-Encoding: 7bit Content-Type: application/octet-stream; x-unix-mode=0644; name="70-gary-gettext-on-cygwin.patch" Index: ChangeLog from Charles Wilson , Gary V. Vaughan * bootstrap: Separate options. * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.12.1. * gnulib/m4/Makefile.am (stdbool.h): Use srcdir, gnulib_srcdir is not set. * modules/Makefile.am (gnu_la_LIBADD, load_la_LIBADD) (m4_la_LIBADD, mpeval_la_LIBADD, traditianal_la_LIBADD) (modtest_la_LIBADD, import_la_LIBADD, perl_la_LIBADD) (shadow_la_LIBADD, stdlib_la_LIBADD, time_la_LIBADD): Add $(LTLIBINTL) for gettext support on cygwin. * src/Makefile.am (m4_LDADD): Remove $(INTLLIBS), since we now have $(LTLIBINTL) from the preloaded module la files. * README: Remove the warning about using --disable-nls on Windows machines. Index: README =================================================================== RCS file: /cvsroot/m4/m4/README,v retrieving revision 1.4 diff -u -p -u -r1.4 README --- README 12 Jun 2003 10:28:48 -0000 1.4 +++ README 15 Sep 2003 09:56:51 -0000 @@ -46,12 +46,6 @@ doesn't handle optional arguments proper this is to force the build to use the included getopt files like this, `ac_cv_func_getopt_long=no ./configure`. -The Windows dll mechanism conflicts with the requirements of NLS, so -you should use `./configure --disable-nls' on these machines. The problem -is that an internationalised libm4.dll requires libintl.a to resolve its -unbound symbols at compile time. On real operating systems, linking -libintl.a into the m4 binary and using -export-dynamic is good enough. - 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 Index: bootstrap =================================================================== RCS file: /cvsroot/m4/m4/bootstrap,v retrieving revision 1.19 diff -u -p -u -r1.19 bootstrap --- bootstrap 9 Sep 2003 14:25:20 -0000 1.19 +++ bootstrap 15 Sep 2003 09:56:51 -0000 @@ -3,7 +3,7 @@ # helps bootstrapping M4, when checked out from CVS # requires GNU Autoconf, GNU Automake, GNU Gettext and GNU Libtool -autoreconf -fvi +autoreconf -f -v -i ( cd tests Index: configure.ac =================================================================== RCS file: /cvsroot/m4/m4/configure.ac,v retrieving revision 1.26 diff -u -p -u -r1.26 configure.ac --- configure.ac 12 Sep 2003 15:29:57 -0000 1.26 +++ configure.ac 15 Sep 2003 09:56:51 -0000 @@ -131,7 +131,7 @@ AC_SUBST([LTDLINCL], ["${LTDLINCL-INCLTD ## Gettext support. ## ## ---------------- ## AM_GNU_GETTEXT(external, need-ngettext) -AM_GNU_GETTEXT_VERSION(0.12) +AM_GNU_GETTEXT_VERSION(0.12.1) m4_GNU_GETTEXT Index: gnulib/m4/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.9 diff -u -p -u -r1.9 Makefile.am --- gnulib/m4/Makefile.am 12 Sep 2003 16:03:26 -0000 1.9 +++ gnulib/m4/Makefile.am 15 Sep 2003 09:56:51 -0000 @@ -52,8 +52,8 @@ EXTRA_DIST += stdbool_.h # We need the following in order to create an when the system # doesn't have one that works. all-local $(lib_OBJECTS): $(STDBOOL_H) -stdbool.h: $(gnulib_srcdir)/stdbool_.h - sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(gnulib_srcdir)/stdbool_.h > $@-t +stdbool.h: $(srcdir)/stdbool_.h + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool_.h > $@-t mv $@-t $@ MOSTLYCLEANFILES += stdbool.h stdbool.h-t Index: modules/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/modules/Makefile.am,v retrieving revision 1.24 diff -u -p -u -r1.24 Makefile.am --- modules/Makefile.am 12 Sep 2003 13:47:48 -0000 1.24 +++ modules/Makefile.am 15 Sep 2003 09:56:54 -0000 @@ -44,43 +44,53 @@ if USE_GMP pkglibexec_LTLIBRARIES += mpeval.la endif -gnu_la_SOURCES = gnu.c -EXTRA_gnu_la_SOURCES = format.c -gnu_la_LDFLAGS = -module - -load_la_SOURCES = load.c -load_la_LDFLAGS = -module +gnu_la_SOURCES = gnu.c +EXTRA_gnu_la_SOURCES = format.c +gnu_la_LDFLAGS = -module +gnu_la_LIBADD = $(LTLIBINTL) + +load_la_SOURCES = load.c +load_la_LDFLAGS = -module +load_la_LIBADD = $(LTLIBINTL) m4_la_SOURCES = m4.c EXTRA_m4_la_SOURCES = evalparse.c m4_la_LDFLAGS = -module +m4_la_LIBADD = $(LTLIBINTL) mpeval_la_SOURCES = mpeval.c EXTRA_mpeval_la_SOURCES = evalparse.c mpeval_la_LDFLAGS = -module -mpeval_la_LIBADD = $(LIBADD_GMP) - -traditional_la_SOURCES = traditional.c -traditional_la_LDFLAGS = -module - -modtest_la_SOURCES = modtest.c -modtest_la_LDFLAGS = -module - -import_la_SOURCES = import.c -import_la_LDFLAGS = -module - -perl_la_SOURCES = perl.c -perl_la_CFLAGS = `perl -MExtUtils::Embed -e ccopts` -perl_la_LDFLAGS = -module `perl -MExtUtils::Embed -e ldopts` - -shadow_la_SOURCES = shadow.c -shadow_la_LDFLAGS = -module - -stdlib_la_SOURCES = stdlib.c -stdlib_la_LDFLAGS = -module +mpeval_la_LIBADD = $(LIBADD_GMP) $(LTLIBINTL) -time_la_SOURCES = time.c -time_la_LDFLAGS = -module +traditional_la_SOURCES = traditional.c +traditional_la_LDFLAGS = -module +traditional_la_LIBADD = $(LTLIBINTL) + +modtest_la_SOURCES = modtest.c +modtest_la_LDFLAGS = -module +modtest_la_LIBADD = $(LTLIBINTL) + +import_la_SOURCES = import.c +import_la_LDFLAGS = -module +import_la_LIBADD = $(LTLIBINTL) + +perl_la_SOURCES = perl.c +perl_la_CFLAGS = `perl -MExtUtils::Embed -e ccopts` +perl_la_LDFLAGS = -module `perl -MExtUtils::Embed -e ldopts` +perl_la_LIBADDD = $(LTLIBINTL) + +shadow_la_SOURCES = shadow.c +shadow_la_LDFLAGS = -module +shadow_la_LIBADD = $(LTLIBINTL) + +stdlib_la_SOURCES = stdlib.c +stdlib_la_LDFLAGS = -module +stdlib_la_LIBADD = $(LTLIBINTL) + +time_la_SOURCES = time.c +time_la_LDFLAGS = -module +time_la_LIBADD = $(LTLIBINTL) BUILT_SOURCES = perlxsi.c perlxsi.c: Index: modules/gnu.c =================================================================== RCS file: /cvsroot/m4/m4/modules/gnu.c,v retrieving revision 1.33 diff -u -p -u -r1.33 gnu.c --- modules/gnu.c 27 Aug 2003 17:10:12 -0000 1.33 +++ modules/gnu.c 15 Sep 2003 09:56:56 -0000 @@ -41,8 +41,6 @@ int errno; # include "m4private.h" #endif -#include "regex.h" - #define RE_SYNTAX_BRE RE_SYNTAX_EMACS #define RE_SYNTAX_ERE \ Index: src/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/src/Makefile.am,v retrieving revision 1.12 diff -u -p -u -r1.12 Makefile.am --- src/Makefile.am 12 Sep 2003 15:17:49 -0000 1.12 +++ src/Makefile.am 15 Sep 2003 09:56:56 -0000 @@ -27,7 +27,7 @@ m4_SOURCES = $(top_srcdir)/gnulib/m4/ge $(top_srcdir)/gnulib/m4/getopt1.c \ $(top_srcdir)/gnulib/m4/getopt.h \ main.c m4.h freeze.c stackovf.c -m4_LDADD = $(top_builddir)/m4/libm4.la $(INTLLIBS) +m4_LDADD = $(top_builddir)/m4/libm4.la m4_LDFLAGS = -no-undefined -export-dynamic $(DLPREOPEN) CLEANFILES = m4$(EXEEXT) --Apple-Mail-67--586456592 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed -- ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --Apple-Mail-67--586456592-- From MAILER-DAEMON Tue Sep 16 11:55:37 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19zIAz-0007A6-52 for mharc-m4-patches@gnu.org; Tue, 16 Sep 2003 11:55:37 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19zIAw-00079C-DA for m4-patches@gnu.org; Tue, 16 Sep 2003 11:55:34 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19zIAt-00078U-Se for m4-patches@gnu.org; Tue, 16 Sep 2003 11:55:32 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19zIAt-00078D-8W for m4-patches@gnu.org; Tue, 16 Sep 2003 11:55:31 -0400 Received: (qmail 26360 invoked from network); 16 Sep 2003 16:21:12 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 16 Sep 2003 16:21:12 -0000 Received: (qmail 24965 invoked from network); 16 Sep 2003 15:58:12 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 16 Sep 2003 15:58:12 -0000 Message-ID: <3F673342.1080800@gnu.org> Date: Tue, 16 Sep 2003 16:58:58 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------040808020801080001000908" Subject: FYI: 71-gary-gnulib-exit-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Sep 2003 15:55:35 -0000 This is a multi-part message in MIME format. --------------040808020801080001000908 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------040808020801080001000908 Content-Type: text/plain; name="71-gary-gnulib-exit-import.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="71-gary-gnulib-exit-import.patch" Index: ChangeLog from Gary V. Vaughan * gnulib/m4/exit.h: Import exit module from CVS gnulib. * gnulib/m4/Makefile.am (pkginclude_HEADERS): Add exit.h. * m4/system_.h: Don't define EXIT_SUCCESS and FAILURE, include exit.h instead. Index: m4/system_.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/m4/system_.h,v retrieving revision 1.6 diff -u -p -u -r1.6 system_.h --- m4/system_.h 12 Sep 2003 13:27:54 -0000 1.6 +++ m4/system_.h 16 Sep 2003 15:02:55 -0000 @@ -34,6 +34,7 @@ @INCLUDE_OBSTACK_H@ @INCLUDE_REGEX_H@ @INCLUDE_STDBOOL_H@ +#include #include #include =20 @@ -148,16 +149,7 @@ BEGIN_C_DECLS =20 =20 =0C -/* Make sure these are defined. */ -#ifndef EXIT_FAILURE -# define EXIT_SUCCESS 0 -# define EXIT_FAILURE 1 -#endif - -=0C #define DELETE(Expr) ((Expr) =3D (xfree (Expr), (void *) 0)) - -extern char *xstrzdup (const char *string, size_t len); =20 END_C_DECLS =20 Index: gnulib/m4/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/m4/m4/gnulib/m4/Makefile.am,v retrieving revision 1.10 diff -u -p -u -r1.10 Makefile.am --- gnulib/m4/Makefile.am 15 Sep 2003 10:00:02 -0000 1.10 +++ gnulib/m4/Makefile.am 16 Sep 2003 15:02:55 -0000 @@ -37,6 +37,9 @@ MAINTAINERCLEANFILES =3D Makefile.in # Gnulib Makefile.am snippets # # --------------------------- # =20 +## exit (not from gnulib): +pkginclude_HEADERS +=3D exit.h + ## exitfail: libgnu_la_SOURCES +=3D exitfail.c exitfail.h =20 Index: gnulib/m4/exit.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: gnulib/m4/exit.h diff -N gnulib/m4/exit.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/exit.h 16 Sep 2003 15:02:55 -0000 @@ -0,0 +1,32 @@ +/* exit() function. + Copyright (C) 1995, 2001 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 Foundatio= n, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _EXIT_H +#define _EXIT_H + +/* Get exit() declaration. */ +#include + +/* Some systems do not define EXIT_*, even with STDC_HEADERS. */ +#ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +#endif +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +#endif + +#endif /* _EXIT_H */ --------------040808020801080001000908-- From MAILER-DAEMON Tue Sep 16 11:56:20 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 19zIBf-0007JB-ES for mharc-m4-patches@gnu.org; Tue, 16 Sep 2003 11:56:19 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19zIBY-0007II-VM for m4-patches@gnu.org; Tue, 16 Sep 2003 11:56:12 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19zIBW-0007HF-KC for m4-patches@gnu.org; Tue, 16 Sep 2003 11:56:11 -0400 Received: from [128.98.1.1] (helo=mail.eris.qinetiq.com) by monty-python.gnu.org with smtp (Exim 4.22) id 19zIBV-0007Gn-Tw for m4-patches@gnu.org; Tue, 16 Sep 2003 11:56:10 -0400 Received: (qmail 19771 invoked from network); 16 Sep 2003 16:21:51 -0000 Received: from mailhost.eris.qinetiq.com (HELO mailhost.eris.dera.gov.uk) (qmailr@128.98.2.2) by ns0.eris.qinetiq.com with SMTP; 16 Sep 2003 16:21:51 -0000 Received: (qmail 1443 invoked from network); 16 Sep 2003 15:58:44 -0000 Received: from unknown (HELO gnu.org) (128.98.76.60) by mailhost.eris.qinetiq.com with SMTP; 16 Sep 2003 15:58:44 -0000 Message-ID: <3F673361.3050402@gnu.org> Date: Tue, 16 Sep 2003 16:59:29 +0100 From: "Gary V. Vaughan" Organization: FSF User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030903 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: M4 Patches Content-Type: multipart/mixed; boundary="------------060503080202080301010603" Subject: FYI: 72-gary-gnulib-version-etc-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Sep 2003 15:56:13 -0000 This is a multi-part message in MIME format. --------------060503080202080301010603 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Applied to HEAD. -- ())_. Gary V. Vaughan gary@(lilith.warpmail.net|gnu.org) ( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____ / )= GNU Hacker http://www.gnu.org/software/libtool \' `& `(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/ --------------060503080202080301010603 Content-Type: text/plain; name="72-gary-gnulib-version-etc-import.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="72-gary-gnulib-version-etc-import.patch" Index: ChangeLog from Gary V. Vaughan * gnulib/m4/version-etc.c, gnulib/m4/version-etc.h: Import version-etc module from CVS gnulib. * po/POTFILES.in: Add gnulib/m4/version-etc.c. * src/Makefile.am: Build it. * src/main.c: Use it. Index: src/Makefile.am =================================================================== RCS file: /cvsroot/m4/m4/src/Makefile.am,v retrieving revision 1.13 diff -u -p -u -r1.13 Makefile.am --- src/Makefile.am 15 Sep 2003 10:00:03 -0000 1.13 +++ src/Makefile.am 16 Sep 2003 15:52:34 -0000 @@ -26,6 +26,8 @@ bin_PROGRAMS = m4 m4_SOURCES = $(top_srcdir)/gnulib/m4/getopt.c \ $(top_srcdir)/gnulib/m4/getopt1.c \ $(top_srcdir)/gnulib/m4/getopt.h \ + $(top_srcdir)/gnulib/m4/version-etc.c \ + $(top_srcdir)/gnulib/m4/version-etc.h \ main.c m4.h freeze.c stackovf.c m4_LDADD = $(top_builddir)/m4/libm4.la m4_LDFLAGS = -no-undefined -export-dynamic $(DLPREOPEN) Index: src/main.c =================================================================== RCS file: /cvsroot/m4/m4/src/main.c,v retrieving revision 1.53 diff -u -p -u -r1.53 main.c --- src/main.c 12 Sep 2003 15:17:49 -0000 1.53 +++ src/main.c 16 Sep 2003 15:52:34 -0000 @@ -21,8 +21,9 @@ #include "m4.h" #include "m4private.h" -#include "m4/progname.h" #include "m4/getopt.h" +#include "m4/progname.h" +#include "m4/version-etc.h" static void print_program_name_CB (void); @@ -217,9 +218,15 @@ main (int argc, char *const *argv, char int exit_status; + /* Initialise gnulib error module. */ set_program_name (argv[0]); error_print_progname = print_program_name_CB; + /* Initialise gnulib version-etc module. + Do *not* mark this string for translation. */ + version_etc_copyright = + "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc."; + setlocale (LC_ALL, ""); #ifdef ENABLE_NLS textdomain(PACKAGE); @@ -367,17 +374,8 @@ main (int argc, char *const *argv, char if (show_version) { - printf ("GNU %s %s%s\n", PACKAGE, VERSION, TIMESTAMP); - fputs (_("Written by Rene' Seindal and Gary V. Vaughan.\n"), stdout); - putc ('\n', stdout); - - fputs (_("Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc."), stdout); - putc ('\n', stdout); - - fputs (_("\ -This is free software; see the source for copying conditions. There is NO\n\ -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"), - stdout); + version_etc (stdout, NULL, "GNU " PACKAGE, VERSION TIMESTAMP, + _("Written by Rene' Seindal and Gary V. Vaughan.")); exit (EXIT_SUCCESS); } Index: gnulib/m4/version-etc.c =================================================================== RCS file: gnulib/m4/version-etc.c diff -N gnulib/m4/version-etc.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/version-etc.c 16 Sep 2003 15:52:34 -0000 @@ -0,0 +1,67 @@ +/* Utility to help print --version output in a consistent format. + Copyright (C) 1999, 2000, 2001, 2002, 2003 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Written by Jim Meyering. */ + +#if HAVE_CONFIG_H +# include +#endif + +#include +#include "unlocked-io.h" +#include "version-etc.h" + +#include "gettext.h" +#define _(msgid) gettext (msgid) + +/* Default copyright goes to the FSF. */ + +char* version_etc_copyright = + /* Do *not* mark this string for translation. */ + "Copyright (C) 2003 Free Software Foundation, Inc."; + + +/* Display the --version information the standard way. + + If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of + the program. The formats are therefore: + + PACKAGE VERSION + + or + + COMMAND_NAME (PACKAGE) VERSION. */ +void +version_etc (FILE *stream, + const char *command_name, const char *package, + const char *version, const char *authors) +{ + if (command_name) + fprintf (stream, "%s (%s) %s\n", command_name, package, version); + else + fprintf (stream, "%s %s\n", package, version); + fprintf (stream, "%s\n", authors); + putc ('\n', stream); + + fputs (version_etc_copyright, stream); + putc ('\n', stream); + + fputs (_("\ +This is free software; see the source for copying conditions. There is NO\n\ +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"), + stream); +} Index: gnulib/m4/version-etc.h =================================================================== RCS file: gnulib/m4/version-etc.h diff -N gnulib/m4/version-etc.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnulib/m4/version-etc.h 16 Sep 2003 15:52:34 -0000 @@ -0,0 +1,31 @@ +/* Utility to help print --version output in a consistent format. + Copyright (C) 1999, 2003 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Written by Jim Meyering. */ + +#ifndef VERSION_ETC_H +# define VERSION_ETC_H 1 + +# include + +extern char *version_etc_copyright; + +void version_etc (FILE *stream, + const char *command_name, const char *package, + const char *version, const char *authors); + +#endif /* VERSION_ETC_H */ --------------060503080202080301010603-- From MAILER-DAEMON Thu Sep 25 03:39:10 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.22) id 1A2QiU-000695-4o for mharc-m4-patches@gnu.org; Thu, 25 Sep 2003 03:39:10 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 1A2QiR-00068J-WB for m4-patches@gnu.org; Thu, 25 Sep 2003 03:39:07 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 1A2QiM-00067J-PW for m4-patches@gnu.org; Thu, 25 Sep 2003 03:39:03 -0400 Received: from [163.5.255.10] (helo=epita.fr) by monty-python.gnu.org with esmtp (Exim 4.22) id 1A2QiM-00066m-2V; Thu, 25 Sep 2003 03:39:02 -0400 Received: from kualalumpur.lrde.epita.fr (kualalumpur.lrde.epita.fr [10.223.13.1]) by epita.fr id h8P7d0N05359 Thu, 25 Sep 2003 09:39:00 +0200 (CEST) Received: from nostromo.lrde.epita.fr ([10.223.13.52] ident=mail) by kualalumpur.lrde.epita.fr with esmtp (Exim 3.35 #1 (Debian)) id 1A2QiQ-0004dG-00; Thu, 25 Sep 2003 09:39:06 +0200 Received: from akim by nostromo.lrde.epita.fr with local (Exim 3.36 #1 (Debian)) id 1A2QiQ-0006zn-00; Thu, 25 Sep 2003 09:39:06 +0200 To: "Gary V. Vaughan" References: <3F673361.3050402@gnu.org> From: Akim Demaille Date: Thu, 25 Sep 2003 09:39:06 +0200 In-Reply-To: <3F673361.3050402@gnu.org> (Gary V. Vaughan's message of "Tue, 16 Sep 2003 16:59:29 +0100") Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Akim Demaille Cc: M4 Patches Subject: Re: FYI: 72-gary-gnulib-version-etc-import.patch X-BeenThere: m4-patches@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Patch submission list for GNU M4 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2003 07:39:08 -0000 > + /* Initialise gnulib version-etc module. > + Do *not* mark this string for translation. */ > + version_etc_copyright = > + "Copyright (C) 1989-1994, 1999, 2000 Free Software Foundation, Inc."; The rule is now more like the year of that release, not all the years (that's only for source files). ~/src/ace % autoconf --version nostromo 9:30 autoconf (GNU Autoconf) 2.57c Written by David J. MacKenzie and Akim Demaille. Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ~/src/ace % automake --version nostromo 9:38 automake (GNU automake) 1.7a Written by Tom Tromey . Copyright 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ~/src/ace % emacs --version nostromo 9:38 GNU Emacs 21.3.1 Copyright (C) 2002 Free Software Foundation, Inc. GNU Emacs comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of Emacs under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. ~/src/ace % gcc --version nostromo 9:38 gcc (GCC) 3.3.2 20030908 (Debian prerelease) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ~/src/ace % nostromo 9:38