Merge in texinfo-3.12.

From-SVN: r18811
This commit is contained in:
Jeff Law 1998-03-24 12:41:43 -07:00
parent f35e74f9a6
commit d275726b33
79 changed files with 4723 additions and 4443 deletions

View File

@ -1,16 +1,16 @@
Notes on the GNU Translation Project Notes on the Free Translation Project
************************************ *************************************
GNU is going international! The GNU Translation Project is a way to Free software is going international! The Free Translation Project
get maintainers, translators, and users all together, so that GNU will is a way to get maintainers of free software, translators, and users all
gradually become able to speak many languages. A few packages already together, so that will gradually become able to speak many languages.
provide translations for their messages. A few packages already provide translations for their messages.
If you found this `ABOUT-NLS' file inside a GNU distribution, you If you found this `ABOUT-NLS' file inside a distribution, you may
may assume that the distributed package does use GNU `gettext' assume that the distributed package does use GNU `gettext' internally,
internally, itself available at your nearest GNU archive site. But you itself available at your nearest GNU archive site. But you do *not*
do *not* need to install GNU `gettext' prior to configuring, installing need to install GNU `gettext' prior to configuring, installing or using
or using this package with messages translated. this package with messages translated.
Installers will find here some useful hints. These notes also Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the explain how users should proceed for getting the programs to use the
@ -31,19 +31,23 @@ should configure it using
./configure --with-included-gettext ./configure --with-included-gettext
to force usage of internationalizing routines provided within this to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in package, despite the existence of internationalizing capabilities in the
the operating system where this package is being installed. So far, no operating system where this package is being installed. So far, only
prior implementation provides as many useful features (such as locale the `gettext' implementation in the GNU C library version 2 provides as
alias or message inheritance). It is also not possible to offer this many features (such as locale alias or message inheritance) as the
additional functionality on top of a `catgets' implementation. Future implementation here. It is also not possible to offer this additional
versions of GNU `gettext' will very likely convey even more functionality on top of a `catgets' implementation. Future versions of
functionality. So it might be a good idea to change to GNU `gettext' GNU `gettext' will very likely convey even more functionality. So it
as soon as possible. might be a good idea to change to GNU `gettext' as soon as possible.
So you need not provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
INSTALL Matters INSTALL Matters
=============== ===============
Some GNU packages are "localizable" when properly installed; the Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language. programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'. Other packages have their own Most such packages use GNU `gettext'. Other packages have their own
ways to internationalization, predating GNU `gettext'. ways to internationalization, predating GNU `gettext'.
@ -113,37 +117,34 @@ shell prompt, merely execute `setenv LANG de' (in `csh'),
can be done from your `.login' or `.profile' file, once and for all. can be done from your `.login' or `.profile' file, once and for all.
An operating system might already offer message localization for An operating system might already offer message localization for
many of its programs, while other programs (whether GNU or not) have many of its programs, while other programs have been installed locally
been installed locally with the full capabilities of GNU `gettext'. with the full capabilities of GNU `gettext'. Just using `gettext'
Just using `gettext' extended syntax for `LANG' would break proper extended syntax for `LANG' would break proper localization of already
localization of already available operating system programs. In this available operating system programs. In this case, users should set
case, users should set both `LANGUAGE' and `LANG' variables in their both `LANGUAGE' and `LANG' variables in their environment, as programs
environment, as programs using GNU `gettext' give preference to using GNU `gettext' give preference to `LANGUAGE'. For example, some
`LANGUAGE'. For example, some Swedish users would rather read Swedish users would rather read translations in German than English for
translations in German than English for when Swedish is not available. when Swedish is not available. This is easily accomplished by setting
This is easily accomplished by setting `LANGUAGE' to `sv:de' while `LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
leaving `LANG' to `sv'.
Translating Teams Translating Teams
================= =================
For the GNU Translation Project to be a success, we need interested For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language. able to synergize with other translators speaking the same language.
Each translation team has its own mailing list, courtesy of Linux Each translation team has its own mailing list, courtesy of Linux
International. You may reach your translation team at the address International. You may reach your translation team at the address
`LL@li.org', replacing LL by the two-letter ISO 639 code for your `LL@li.org', replacing LL by the two-letter ISO 639 code for your
language. Language codes are *not* the same as the country codes given language. Language codes are *not* the same as the country codes given
in ISO 3166. The following translation teams exist, as of February in ISO 3166. The following translation teams exist, as of August 1997:
1997:
Arabic `ar', Chinese `zh', Czech `cs', Danish `da', Dutch `nl', Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
English `en', Esperanto `eo', Finnish `fi', French `fr', German Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
`de', Greek `el', Hebrew `he', Hungarian `hu', Irish `ga', Italian `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
`it', Indonesian `id', Japanese `ja', Korean `ko', Latin `la', Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
Norwegian `no', Persian `fa', Polish `pl', Portuguese `pt', `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
Russian `ru', Slovenian `sl', Spanish `es', Swedish `sv', Telugu Swedish `sv', and Turkish `tr'.
`te', Turkish `tr' and Ukrainian `uk'.
For example, you may reach the Chinese translation team by writing to For example, you may reach the Chinese translation team by writing to
`zh@li.org'. `zh@li.org'.
@ -160,55 +161,53 @@ message to `sv-request@li.org', having this message body:
*actively* in translations, or at solving translational difficulties, *actively* in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to you want to start one, or if you are unsure about what to do or how to
get started, please write to `gnu-translation@gnu.ai.mit.edu' to reach get started, please write to `translation@iro.umontreal.ca' to reach the
the GNU coordinator for all translator teams. coordinator for all translator teams.
The English team is special. It works at improving and uniformizing The English team is special. It works at improving and uniformizing
the terminology used in GNU. Proven linguistic skill are praised more the terminology in use. Proven linguistic skill are praised more than
than programming skill, here. For the time being, please avoid programming skill, here.
subscribing to the English team unless explicitly invited to do so.
Available Packages Available Packages
================== ==================
Languages are not equally supported in all GNU packages. The Languages are not equally supported in all packages. The following
following matrix shows the current state of GNU internationalization, matrix shows the current state of internationalization, as of August
as of February 1997. The matrix shows, in regard of each package, for 1997. The matrix shows, in regard of each package, for which languages
which languages PO files have been submitted to translation PO files have been submitted to translation coordination.
coordination.
Ready PO files cs de en es fi fr ja ko nl no pl pt sl sv Ready PO files cs da de en es fi fr it ja ko nl no pl pt sl sv
.-------------------------------------------. .-------------------------------------------------.
bash | [] [] [] | 3 bash | [] [] [] | 3
bison | [] [] [] | 3 bison | [] [] [] | 3
clisp | [] [] [] | 3 clisp | [] [] [] [] | 4
cpio | [] [] [] [] [] | 5 cpio | [] [] [] [] [] | 5
diffutils | [] [] [] [] | 4 diffutils | [] [] [] [] [] | 5
enscript | [] [] [] [] [] | 5 enscript | [] [] [] [] [] [] | 6
fileutils | [] [] [] [] [] [] [] [] | 8 fileutils | [] [] [] [] [] [] [] [] [] [] | 10
findutils | [] [] [] [] [] [] [] | 7 findutils | [] [] [] [] [] [] [] [] | 8
flex | [] [] [] | 3 flex | [] [] [] [] | 4
gcal | [] [] [] | 3 gcal | [] [] [] [] [] | 5
gettext | [] [] [] [] [] [] [] [] [] [] | 11 gettext | [] [] [] [] [] [] [] [] [] [] | 11
grep | [] [] [] [] [] [] [] [] | 8 grep | [] [] [] [] [] [] [] [] [] | 9
hello | [] [] [] [] [] [] [] [] [] [] | 10 hello | [] [] [] [] [] [] [] [] [] [] | 10
id-utils | [] [] | 2 id-utils | [] [] [] | 3
indent | [] [] | 2 indent | [] [] [] [] | 4
libc | [] [] [] [] [] [] [] | 7 libc | [] [] [] [] [] [] [] | 7
m4 | [] [] [] [] [] | 5 m4 | [] [] [] [] [] | 5
make | [] [] [] [] [] [] | 6 make | [] [] [] [] [] [] | 6
music | [] | 1 music | [] [] | 2
ptx | [] [] [] [] [] [] [] [] | 8 ptx | [] [] [] [] [] [] [] [] | 8
recode | [] [] [] [] [] [] [] [] | 8 recode | [] [] [] [] [] [] [] [] [] | 9
sh-utils | [] [] [] [] [] | 5 sh-utils | [] [] [] [] [] [] [] | 7
sharutils | [] [] [] [] [] | 5 sharutils | [] [] [] [] [] | 5
tar | [] [] [] [] [] [] [] [] [] | 9 tar | [] [] [] [] [] [] [] [] [] [] | 10
texinfo | | 0 texinfo | [] | 1
textutils | [] [] [] [] [] [] | 6 textutils | [] [] [] [] [] [] [] [] [] | 9
wdiff | [] [] [] [] [] [] [] [] | 8 wdiff | [] [] [] [] [] [] [] [] | 8
`-------------------------------------------' `-------------------------------------------------'
14 languages cs de en es fi fr ja ko nl no pl pt sl sv 16 languages cs da de en es fi fr it ja ko nl no pl pt sl sv
27 packages 1 22 1 14 1 25 1 10 20 7 14 7 7 15 145 27 packages 3 2 24 1 17 1 26 2 1 11 20 9 19 7 7 17 167
Some counters in the preceding matrix are higher than the number of Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are visible blocks let us expect. This is because a few extra PO files are
@ -219,8 +218,8 @@ dialects.
which it applies should also have been internationalized and which it applies should also have been internationalized and
distributed as such by its maintainer. There might be an observable distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a lag between the mere existence a PO file and its wide availability in a
GNU distribution. distribution.
If February 1997 seems to be old, you may fetch a more recent copy If August 1997 seems to be old, you may fetch a more recent copy of
of this `ABOUT-NLS' file on most GNU archive sites. this `ABOUT-NLS' file on most GNU archive sites.

View File

@ -1,47 +1,227 @@
Mon Feb 2 17:17:17 1998 Jason Molenda (crash@bugshack.cygnus.com) Tue Mar 3 13:29:17 1998 Karl Berry <karl@cs.umb.edu>
* info/termdep.h (TIOCGETC): Don't define if we have termios.h. * configure.in: Version 3.12.
From Robert Lipe.
Tue Oct 7 11:14:04 1997 Michael Meissner <meissner@cygnus.com> * po/de.po: New version.
* po/POTFILES.in: Do not include doc.c; that gets built at
runtime, thus causing texinfo.pot to try to get rebuilt. Besides,
it doesn't have any translatable strings.
* info/tilde.c (alloca): Don't redefine alloca as __builtin_alloca Sun Mar 1 10:38:47 1998 Karl Berry <karl@cs.umb.edu>
if alloca was already defined.
Mon Oct 6 12:46:27 1997 Ian Lance Taylor <ian@cygnus.com> * util/install-info.c: No need for i18n on version message. From
ke@suse.de.
* util/Makefile.am (bin_PROGRAMS): Remove install-info. Fri Feb 27 16:06:23 1998 Karl Berry <karl@cs.umb.edu>
(noinst_PROGRAMS, install_inf_SOURCES): Define.
(install-exec-local): New target.
* util/Makefile.in: Rebuild.
* info/Makefile.in: Rebuild with current automake.
Wed Sep 3 12:44:18 1997 Ian Lance Taylor <ian@cygnus.com> * configure.in: Run texconfig conf instead of confall.
* po/Makefile.in.in: More --enable-maintainer-mode changes. * doc/Makefile.am (INSTALL_INFO): New variable.
(install-info-am): Use install-info from our distribution.
Thu Aug 28 23:52:29 1997 Ian Lance Taylor <ian@cygnus.com> * info/info.c (info_minor_version): Increment.
* (info_patch_level),
* info/info.h (info_patch_level): Remove.
* po/Makefile.in.in: Make automatic dependencies only run programs * info/info.c (program_name): Move decl.
if --enable-maintainer-mode.
Mon Aug 25 16:50:32 1997 Ian Lance Taylor <ian@cygnus.com> * util/install-info.c (ensure_dirfile_exists): Use commas and \t
instead of an explicit tab, which make dist expands.
* configure.in: Add AM_MAINTAINER_MODE and AM_EXEEXT. * doc/texinfo.txi: @prep.ai.mit.edu -> @gnu.org.
* Makefile.in, */Makefile.in: Rebuild with automake --cygnus.
* configure: Rebuild with current autoconf.
Wed Feb 12 11:15:16 1997 Michael Meissner <meissner@cygnus.com> * info/info.c: Make help messages consistent with others.
* util/texindex.c (main): Make main an int function, not void. * util/install-info.c (print_help): Format consistently.
(readfile): Support gzipped files via libz.
From: Elliot Lee <sopwith@redhat.com>
Date: Mon, 1 Sep 1997 23:37:14 -0400 (EDT)
Sat Jun 29 18:56:07 1996 Geoffrey Noer <noer@cygnus.com> Thu Feb 26 16:13:14 1998 Karl Berry <karl@cs.umb.edu>
* configure.in: if ac_cv_c_cross is yes, don't run the * info/echo-area.c: Whoops, _ might not start with parens.
AC_FUNC_SETVBUF_REVERSED call since it tries to do a run
test. This allows texinfo to build for cygwin32 Canadian * configure.in: Check for libz.
crosses/natives Do not output emacs/Makefile.
* configure: regenerate
* Makefile.am (AUTOMAKE_OPTIONS): Set to 1.2f.
* util/texi2dvi: Always remove temporary directories. (From Akim.)
Formatting changes.
Wed Feb 25 15:26:26 1998 Karl Berry <karl@cs.umb.edu>
* util/texi2dvi: New options --batch, --clean.
From: Akim Demaille <demaille@inf.enst.fr>
Date: 15 Aug 1997 18:05:33 +0200
* doc/texinfo.txi (Format with texi2dvi): Mention --help.
Applied this:
1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* makeinfo/makeinfo.c (me_executing_string): New variable.
(me_execute_string): Use it instead of executing_string.
(popfile): Check for me_executing_string as well as
executing_string.
(get_until_in_line): Likewise.
(insert_and_underscore): Do not write any expansion output if
executing a string.
(cm_node, cm_include, index_add_arg, cm_footnote, execute_macro,
cm_macro, cm_unmacro): Likewise.
(cm_footnote): Include the footnote marker in the expansion
output.
(append_to_expansion_output): Do nothing if the input_text wasn't
a remembered text.
(defun_internal): Make the index entry even if expanding macros.
(expansion): Don't reset macro_expansion_output_stream around call
to execute_string.
(apply): Fix typo.
Tue Feb 24 17:33:44 1998 Karl Berry <karl@cs.umb.edu>
1997-11-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* makeinfo/makeinfo.c (get_until_in_line): Don't use xstrdup on
the unterminated input_text.
* makeinfo/makeinfo.c: Don't assume all \'s in macro bodies are
arguments.
From: Mathias.Herberts@irisa.fr (Mathias Herberts)
Date: Tue, 6 Jan 1998 18:54:26 +0100
* configure.in: Check for sigblock in libc before libbsd.
* From: hjl@lucon.org (H.J. Lu)
* Date: Fri, 23 Jan 1998 21:50:25 -0800 (PST)
Mon Feb 23 16:26:31 1998 Karl Berry <karl@cs.umb.edu>
* info/window.c (character_width): If ISO_Latin_p is set, make
printable_limit 255, not 160. ISO Latin 1 uses
essentially all of the 256 characters.
Reported by: Marius Groeger <mag@sysgo.de>
Date: Wed, 17 Dec 1997 16:05:27 +0100
* info/info.c: Improve help message.
Sun Feb 22 17:38:32 1998 Karl Berry <karl@cs.umb.edu>
* Makefile.am (SUBDIRS): Remove emacs; we'll just distribute the
Elisp files with Emacs.
* doc/Makefile.am (info_TEXINFOS, texinfo): Rename manual to
texinfo.txi to avoid DOS filename clash with texinfo.tex.
* info/tilde.c: Copy slightly updated alloca stuff from makeinfo.
* util/texindex.c (main): Declare as returning int to placate
warnings.
* info/Makefile.am: Uncomment BUILT_SOURCES stuff and add missing _.
From: "Joel N. Weber II" <devnull@gnu.org>
Date: Fri, 30 Jan 1998 17:21:38 -1000
* util/texindex.c,
* util/install-info.c,
* makeinfo/makeinfo.c,
* info/info.c: Change help address to @gnu.org.
1998-01-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* makeinfo/makeinfo.c (usage): Fix order of arguments to help
format string.
* makeinfo/makeinfo.c (cm_top): Error message wording.
* doc/texinfo.texi (Functions in Typed Languages): Remove
duplicate description of @deftypemethod.
From: KHMarbaise@p69.ks.fido.de (Karl Heinz Marbaise)
Date: Wed, 07 Jan 1998 11:11:50 +0100
* info/session.c (info_get_input_char) [EINTR]: Keep reading if we
get EINTR.
From: Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Date: 22 Dec 1997 10:32:53 +0100
Sat Feb 21 17:41:26 1998 Karl Berry <karl@cs.umb.edu>
* makeinfo/makeinfo.c (find_and_load): Malloc enough room for the
null as well as the newline.
From: "John W. Eaton" <jwe@bevo.che.wisc.edu>
Date: Tue, 30 Sep 1997 21:12:01 -0500
* util/texindex.c (--version),
* makeinfo/makeinfo.c (cm_today),
* makeinfo/makeinfo.c (print_version_info): Version strings etc. do not
need translation.
From: Karl Eichwalder <ke@suse.de>
Date: 13 Sep 1997 16:20:02 +0200
* info/echo-area.c: Rewrite pluralization to be translatable.
From: Karl Eichwalder <ke@suse.de>
Date: 13 Sep 1997 16:20:02 +0200
* util/texindex.c,
* info/info.c,
* makeinfo/makeinfo.c,
* util/install-info.c: --version: Give year as argument to printf,
to reduce the number of translations needed.
From: Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
Date: 02 Sep 1997 18:01:26 +0200
* util/texindex.c: Remove the fnctl.h and sys/file.h conditional #includes, they are
already in lib/system.h.
From: "Philippe De Muyter" <phdm@macqel.be>
Date: Thu, 21 Aug 1997 20:16:49 +0200 (MET DST)
* info/terminal.c (terminal_begin_using_terminal,
terminal_end_using_terminal): #ifdef SIGWINCH settings for
m68k-motorola-sysv.
From: "Philippe De Muyter" <phdm@macqel.be>
Date: Thu, 21 Aug 1997 20:16:49 +0200 (MET DST)
* info/filesys.c (info_suffixes): Add /index as a possibility for
subdirectories.
From: Matthew Wilcox <willy@odie.barnet.ac.uk>
Date: Wed, 6 Aug 1997 15:55:16 +0100 (BST)
* configure.in: Redirect texconfig input from /dev/null to avoid
stoppage.
From: Thomas Esser <te@informatik.uni-hannover.de>
Date: Mon, 4 Aug 1997 18:15:49 +0200
* makeinfo/makeinfo.c (find_and_load): Null-terminate the input text.
From: Kenneth Stailey <kstailey@disclosure.com>.
* info/Makefile.am (INCLUDES): Add -I.. -I$(srcdir).
Fri Aug 22 16:24:59 1997 Karl Berry <karl@cs.umb.edu>
* doc/texinfo.texi: Adjust ISBN, edition number for print run.
Mon Aug 4 16:12:42 1997 Karl Berry <karl@cs.umb.edu>
* info/info.c (main) [INFODIR]: Add this to infopath, if set.
* info/Makefile.am (DEFS): New define, include -DINFODIR.
From: Larry Schwimmer <rosebud@cyclone.Stanford.EDU>.
* util/install-info.c (ensure_dirfile_exists): Use tabs instead of
spaces on the File: dir line.
Bug from: Dave Love <d.love@dl.ac.uk>.
Sat Aug 2 12:43:57 1997 Karl Berry <karl@cs.umb.edu>
* makeinfo/makeinfo.c (cm_value, cm_email, cm_uref): Have to cast
from unsigned char * to char * or IRIX cc complains.
From: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>.
Fri Aug 1 14:05:10 1997 Karl Berry <karl@cs.umb.edu>
* Makefile.am (EXTRA_DIST): Remove README-alpha.
From: "ir. Mark M._Kettenis" <kettenis@phys.uva.nl>.
1997-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in: Use AC_CHECK_HEADERS, not AC_CHECK_HEADER.
Thu Jul 31 11:57:46 1997 Karl Berry <karl@cs.umb.edu> Thu Jul 31 11:57:46 1997 Karl Berry <karl@cs.umb.edu>

View File

@ -1,14 +1,6 @@
Getting Started with Texinfo Getting Started with Texinfo
============================ ============================
25 March 1993
Most of the installation instructions are described in the file `INSTALL'.
One additional note to make is that if your info files are in a nonstandard
place (i.e. not in the `info' directory immediately under $prefix) you may
wish to change the default info path as specified via DEFAULT_INFOPATH in
info/Makefile.in.
"Texinfo" is a documentation system that uses a single source file to "Texinfo" is a documentation system that uses a single source file to
produce both on-line information and printed output. Using Texinfo, produce both on-line information and printed output. Using Texinfo,
you can create a printed document with the normal features of a book, you can create a printed document with the normal features of a book,
@ -16,23 +8,23 @@ including chapters, sections, cross references, and indices. From the
same Texinfo source file, you can create a menu-driven, on-line Info same Texinfo source file, you can create a menu-driven, on-line Info
file with nodes, menus, cross references, and indices. file with nodes, menus, cross references, and indices.
The name of the Texinfo source documentation file is `texinfo.texi'. The name of the Texinfo source documentation file is `texinfo.txi'.
You can produce both on-line information and printed output from this You can produce both on-line information and printed output from this
source file. The documentation describes Texinfo in detail, including source file. The documentation describes Texinfo in detail, including
how to write Texinfo files, how to format them for both hard copy and how to write Texinfo files, how to format them for both hard copy and
Info, and how to install Info files. Info, and how to install Info files.
To get started, you need to create either a printed manual or an To get started, you need to create either a printed manual or an
on-line Info file from the `texinfo.texi' file. You do not need to on-line Info file from the `texinfo.txi' file. You do not need to
create both, although you will probably want both eventually. create both, although you will probably want both eventually.
To learn how to use Info, read the info documentation. You can do this in To learn how to use Info, read the info documentation. You can do this in
one of two ways: using the standalone `info' program, or using Info mode in one of two ways: using the standalone `info' program, or using Info mode in
GNU Emacs. GNU Emacs.
* If you want to use the `info' program, type * If you want to use the `info' program, run
$ info -f info-stnd info -f info-stnd
* If you want to use Emacs, start up emacs and type `C-h i' [M-x info]. * If you want to use Emacs, start up emacs and type `C-h i' [M-x info].
Follow the instructions to learn how to use Info. Follow the instructions to learn how to use Info.
@ -40,7 +32,7 @@ GNU Emacs.
After learning how to use Info, you can read the Texinfo documentation. After learning how to use Info, you can read the Texinfo documentation.
Using the standalone `info', type the following at the shell prompt: Using the standalone `info', type the following at the shell prompt:
$ info -f texinfo info -f texinfo
To use read this manual in Emacs, you first need to edit the Info-directory To use read this manual in Emacs, you first need to edit the Info-directory
menu (the file `dir' in the system info directory) to contain the menu (the file `dir' in the system info directory) to contain the
@ -114,6 +106,6 @@ The name of the printing command depends on the system; `lpr -d' is
common, and is illustrated here. You may use a different name for the common, and is illustrated here. You may use a different name for the
printing command. printing command.
Please report bugs to bug-texinfo@prep.ai.mit.edu. Please report bugs to bug-texinfo@gnu.org.
Happy formatting. Happy formatting.

View File

@ -1,15 +1,16 @@
## Makefile.am for texinfo. ## Makefile.am for texinfo.
## $Id: Makefile.am,v 1.3 1998/03/24 18:04:57 law Exp $ ## $Id: Makefile.am,v 1.5 1998/04/10 00:37:57 law Exp $
## Process this file with automake to produce Makefile.in in all directories. ## Process this file with automake to produce Makefile.in in all directories.
## Be sure we're using the right version of Automake. # Be sure we're using the right version of Automake.
AUTOMAKE_OPTIONS = 1.1p # 1.2f was the first version that supported .txi as a Texinfo suffix.
AUTOMAKE_OPTIONS = 1.2f
# Additional files to distribute. # Additional files to distribute.
EXTRA_DIST = INTRODUCTION dir-example README-alpha EXTRA_DIST = INTRODUCTION dir-example
# All subdirectories. # All subdirectories.
# Do intl/ and lib/ first since the C programs depend on them. # Do intl/ and lib/ first since the C programs depend on them.
# Do doc/ last so makeinfo will be built when we get there. # Do doc/ last so makeinfo will be built when we get there.
# Others are alphabetical. # Others are alphabetical.
SUBDIRS = intl lib emacs info makeinfo po util doc SUBDIRS = intl lib info makeinfo po util doc

View File

@ -1,8 +1,17 @@
# Makefile.in generated automatically by automake 1.2 from Makefile.am # Makefile.in generated automatically by automake 1.2f from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. # Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it. # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# Be sure we're using the right version of Automake.
# 1.2f was the first version that supported .txi as a Texinfo suffix.
SHELL = /bin/sh SHELL = /bin/sh
@ -43,27 +52,26 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
NORMAL_INSTALL = true NORMAL_INSTALL = :
PRE_INSTALL = true PRE_INSTALL = :
POST_INSTALL = true POST_INSTALL = :
NORMAL_UNINSTALL = true NORMAL_UNINSTALL = :
PRE_UNINSTALL = true PRE_UNINSTALL = :
POST_UNINSTALL = true POST_UNINSTALL = :
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@ GT_NO = @GT_NO@
GT_YES = @GT_YES@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
@ -79,24 +87,24 @@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
l = @l@ l = @l@
AUTOMAKE_OPTIONS = 1.1p AUTOMAKE_OPTIONS = 1.2f
# Additional files to distribute. # Additional files to distribute.
EXTRA_DIST = INTRODUCTION dir-example README-alpha EXTRA_DIST = INTRODUCTION dir-example
# All subdirectories. # All subdirectories.
# Do intl/ and lib/ first since the C programs depend on them. # Do intl/ and lib/ first since the C programs depend on them.
# Do doc/ last so makeinfo will be built when we get there. # Do doc/ last so makeinfo will be built when we get there.
# Others are alphabetical. # Others are alphabetical.
SUBDIRS = intl lib emacs info makeinfo po util doc SUBDIRS = intl lib info makeinfo po util doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \ DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS THANKS TODO acconfig.h acinclude.m4 \ Makefile.am Makefile.in NEWS TODO acconfig.h aclocal.m4 config.guess \
aclocal.m4 config.guess config.h.in config.sub configure configure.in \ config.h.in config.sub configure configure.in install-sh missing \
install-sh missing mkinstalldirs stamp-h.in texinfo.tex mkinstalldirs stamp-h.in texinfo.tex
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
@ -106,28 +114,29 @@ GZIP = --best
default: all default: all
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(ACLOCAL_M4): @MAINT@ configure.in acinclude.m4 $(ACLOCAL_M4): configure.in
cd $(srcdir) && $(ACLOCAL) cd $(srcdir) && $(ACLOCAL)
config.status: $(srcdir)/configure config.status: $(srcdir)/configure
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF) cd $(srcdir) && $(AUTOCONF)
config.h: stamp-h ; @: config.h: stamp-h
@:
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \ && CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status $(SHELL) ./config.status
@echo timestamp > stamp-h @echo timestamp > stamp-h
$(srcdir)/config.h.in: @MAINT@$(srcdir)/stamp-h.in $(srcdir)/config.h.in: $(srcdir)/stamp-h.in
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h $(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
cd $(top_srcdir) && $(AUTOHEADER) cd $(top_srcdir) && $(AUTOHEADER)
@echo timestamp > $(srcdir)/stamp-h.in @echo timestamp > $(srcdir)/stamp-h.in
@ -137,7 +146,7 @@ mostlyclean-hdr:
clean-hdr: clean-hdr:
distclean-hdr: distclean-hdr:
rm -f config.h -rm -f config.h
maintainer-clean-hdr: maintainer-clean-hdr:
@ -151,10 +160,10 @@ maintainer-clean-hdr:
@SET_MAKE@ @SET_MAKE@
all-recursive install-data-recursive install-exec-recursive \ all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive install-info-recursive \ installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive: check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \ @set fnord $(MAKEFLAGS); amf=$$2; \
for subdir in $(SUBDIRS); do \ list='$(SUBDIRS)'; for subdir in $$list; do \
target=`echo $@ | sed s/-recursive//`; \ target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \ echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $$target) \ (cd $$subdir && $(MAKE) $$target) \
@ -164,7 +173,9 @@ check-recursive installcheck-recursive info-recursive dvi-recursive:
mostlyclean-recursive clean-recursive distclean-recursive \ mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive: maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \ @set fnord $(MAKEFLAGS); amf=$$2; \
rev=''; for subdir in $(SUBDIRS); do rev="$$rev $$subdir"; done; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
done; \
for subdir in $$rev; do \ for subdir in $$rev; do \
target=`echo $@ | sed s/-recursive//`; \ target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \ echo "Making $$target in $$subdir"; \
@ -178,24 +189,29 @@ tags-recursive:
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) ID: $(HEADERS) $(SOURCES) $(LISP)
here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS) here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
done; \ done; \
test -z "$(ETAGS_ARGS)config.h.in$(SOURCES)$(HEADERS)$$tags" \ list='$(SOURCES) $(HEADERS)'; \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $(SOURCES) $(HEADERS) -o $$here/TAGS) unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags: mostlyclean-tags:
clean-tags: clean-tags:
distclean-tags: distclean-tags:
rm -f TAGS ID -rm -f TAGS ID
maintainer-clean-tags: maintainer-clean-tags:
@ -206,7 +222,7 @@ top_distdir = $(distdir)
# it guarantees that the distribution is self-contained by making another # it guarantees that the distribution is self-contained by making another
# tarfile. # tarfile.
distcheck: dist distcheck: dist
rm -rf $(distdir) -rm -rf $(distdir)
GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
mkdir $(distdir)/=build mkdir $(distdir)/=build
mkdir $(distdir)/=inst mkdir $(distdir)/=inst
@ -219,34 +235,34 @@ distcheck: dist
&& $(MAKE) install \ && $(MAKE) install \
&& $(MAKE) installcheck \ && $(MAKE) installcheck \
&& $(MAKE) dist && $(MAKE) dist
rm -rf $(distdir) -rm -rf $(distdir)
@echo "========================"; \ @echo "========================"; \
echo "$(distdir).tar.gz is ready for distribution"; \ echo "$(distdir).tar.gz is ready for distribution"; \
echo "========================" echo "========================"
dist: distdir dist: distdir
-chmod -R a+r $(distdir) -chmod -R a+r $(distdir)
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
rm -rf $(distdir) -rm -rf $(distdir)
dist-all: distdir dist-all: distdir
-chmod -R a+r $(distdir) -chmod -R a+r $(distdir)
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
rm -rf $(distdir) -rm -rf $(distdir)
distdir: $(DISTFILES) distdir: $(DISTFILES)
rm -rf $(distdir) -rm -rf $(distdir)
mkdir $(distdir) mkdir $(distdir)
-chmod 777 $(distdir) -chmod 777 $(distdir)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ d=$(srcdir); \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \ || cp -p $$d/$$file $(distdir)/$$file; \
done done
for subdir in $(SUBDIRS); do \ for subdir in $(SUBDIRS); do \
test -d $(distdir)/$$subdir \ test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \
|| exit 1; \ || exit 1; \
chmod 777 $(distdir)/$$subdir; \ chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ (cd $$subdir && $(MAKE) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \ || exit 1; \
done done
info: info-recursive info: info-recursive
@ -254,7 +270,6 @@ dvi: dvi-recursive
check: all-am check: all-am
$(MAKE) check-recursive $(MAKE) check-recursive
installcheck: installcheck-recursive installcheck: installcheck-recursive
install-info: install-info-recursive
all-recursive-am: config.h all-recursive-am: config.h
$(MAKE) all-recursive $(MAKE) all-recursive
@ -279,19 +294,19 @@ installdirs: installdirs-recursive
mostlyclean-generic: mostlyclean-generic:
test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(DISTCLEANFILES)
rm -f config.cache config.log stamp-h stamp-h[0-9]* -rm -f config.cache config.log stamp-h stamp-h[0-9]*
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
clean-am: clean-hdr clean-tags clean-generic mostlyclean-am clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
@ -306,12 +321,12 @@ mostlyclean: mostlyclean-recursive mostlyclean-am
clean: clean-recursive clean-am clean: clean-recursive clean-am
distclean: distclean-recursive distclean-am distclean: distclean-recursive distclean-am
rm -f config.status -rm -f config.status
maintainer-clean: maintainer-clean-recursive maintainer-clean-am maintainer-clean: maintainer-clean-recursive maintainer-clean-am
@echo "This command is intended for maintainers to use;" @echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
rm -f config.status -rm -f config.status
.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \ .PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \
maintainer-clean-hdr install-data-recursive uninstall-data-recursive \ maintainer-clean-hdr install-data-recursive uninstall-data-recursive \
@ -321,10 +336,10 @@ installcheck-recursive info-recursive dvi-recursive \
mostlyclean-recursive distclean-recursive clean-recursive \ mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
installcheck install-info all-recursive-am all-am install-exec \ installcheck all-recursive-am all-am install-exec install-data install \
install-data install uninstall all installdirs mostlyclean-generic \ uninstall all installdirs mostlyclean-generic distclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \ clean-generic maintainer-clean-generic clean mostlyclean distclean \
mostlyclean distclean maintainer-clean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -1,5 +1,11 @@
This file records noteworthy changes. This file records noteworthy changes.
3.12 (3 March 1998)
* Elisp files removed, since they are only usefully distributed with Emacs.
* Restore inclusion of compile-time $(infodir) to INFOPATH.
* install-info creates a proper dir file.
* Various portability fixes.
3.11 (31 July 1997) 3.11 (31 July 1997)
* New commands: * New commands:
- @uref to make a reference to a url; @url now only indicates such. - @uref to make a reference to a url; @url now only indicates such.

View File

@ -1,62 +1,48 @@
This is the README file for the GNU Texinfo distribution. This is the README file for the GNU Texinfo distribution.
The primary distribution point is ftp://ftp.gnu.org/pub/gnu.
Please email bugs or suggestions to bug-texinfo@prep.ai.mit.edu. Please email bugs or suggestions to bug-texinfo@gnu.org. (If you wish,
you can join this list by sending a subscribe message to
bug-texinfo-request@gnu.org.) Patches are welcome; if possible, please
make them with diff -c and include ChangeLog entries.
Files within this distribution have their own version and edition Programs within this distribution have their own version numbers. When
numbers. When you refer to a file, please mention its own version, as you refer to a file, please mention its own version, as well as the
well as the version number of the Texinfo distribution. version number of the Texinfo distribution.
For instructions on compiling and installing info, makeinfo, texi2dvi, For generic installation instructions on compiling and installing this
and texindex, please read the file `INSTALL'. Also: Automake-based distribution, please read the file `INSTALL'.
Installation notes specific to Texinfo:
* The Emacs Lisp files are not compiled or installed by default; to
install them, use `make install' in the `emacs' subdirectory. See
./emacs/README for some considerations.
* The Info tree uses a file `dir' as its root node; the `dir-example' * The Info tree uses a file `dir' as its root node; the `dir-example'
file in this distribution is included for informative purposes. file in this distribution is included for informative purposes.
Use it or not as you like. Use it, modify it, or ignore it just as you like.
* You can create a file texinfo.cnf to be read by TeX when * You can create a file texinfo.cnf to be read by TeX when
processing Texinfo manuals. For example, it might contain the processing Texinfo manuals. For example, it might contain the
command @afourpaper. See the `Preparing for TeX' node in command @afourpaper. See the `Preparing for TeX' node in
texinfo.texi for more details. texinfo.texi for more details.
* If your info files are not in $prefix/info, you may wish to add a line
Texinfo is a documentation system that uses a single source file to #define DEFAULT_INFOPATH "/mydir1:/mydir2:/etc"
produce both online information and printed output. This means that to config.h after running configure.
instead of writing two different documents, one for the online help or
other online information and the other for a typeset manual or other
printed work, you need write only one document. When the work is
revised, you need revise only one document. You can read the online
information, known as an "Info file", with an Info documentation-reading
program. By convention, Texinfo source file names end with a `.texi' or
`.texinfo' extension. Texinfo is described in the Texinfo manual (the
file ./doc/texinfo.texi).
You can write and format Texinfo files into Info files within GNU Emacs,
and read them using the Emacs Info reader. If you do not have Emacs,
you can format Texinfo files into Info files using `makeinfo' and read
them using `info'. Use TeX, which is not included in this package (see
`How to Obtain TeX' in the Texinfo manual for information), to typeset
Texinfo files for printing.
This distribution includes (but is not limited to) the following files: This distribution includes (but is not limited to) the following files:
README This file. README This file.
INTRODUCTION This file tells you how to create INTRODUCTION Brief introduction to the system, and
readable files from the Texinfo source how to create readable files from the
files in this distribution. Texinfo source files in this distribution.
Texinfo source files (in ./doc): Texinfo source files (in ./doc):
texinfo.texi This manual describes Texinfo. It texinfo.texi This manual describes the Texinfo language
and many of the associated tools. It
tells how to use Texinfo to write tells how to use Texinfo to write
documentation, how to use Texinfo mode documentation, how to use Texinfo mode
in GNU Emacs, how to use TeX, in GNU Emacs, TeX, makeinfo, and the
makeinfo, and the Emacs Lisp Texinfo Emacs Lisp Texinfo formatting commands.
formatting commands.
info.texi This manual tells you how to use info.texi This manual tells you how to use
Info. This document comes as part of Info. This document comes as part of
@ -74,7 +60,7 @@ Texinfo source files (in ./doc):
Printing related files: Printing related files:
texinfo.tex This TeX definitions file tells doc/texinfo.tex This TeX definitions file tells
the TeX program how to typeset a the TeX program how to typeset a
Texinfo file into a DVI file ready for Texinfo file into a DVI file ready for
printing. printing.
@ -90,25 +76,6 @@ Printing related files:
source document uses Texinfo @macros. source document uses Texinfo @macros.
GNU Emacs related files (in ./emacs):
texinfmt.el This Emacs Lisp file provides the
functions that GNU Emacs uses to
format a Texinfo file into an Info
file.
texinfo.el This file provides Texinfo mode
for GNU Emacs.
texnfo-upd.el These files provides commands to
makeinfo.el help you write Texinfo files
using GNU Emacs Texinfo mode.
info.el These are the standard GNU Emacs
informat.el Info reading and support files,
included here for your convenience.
Source files for standalone C programs (./lib, ./makeinfo, ./info): Source files for standalone C programs (./lib, ./makeinfo, ./info):
makeinfo.c This file contains the source for makeinfo.c This file contains the source for
@ -143,7 +110,7 @@ Installation files:
to use to make a Makefile.in. to use to make a Makefile.in.
Other files: Other files (util):
NEWS This contains a summary of new NEWS This contains a summary of new
features since the first edition features since the first edition

View File

@ -1,8 +1,8 @@
If you are interested in working on any of these, If you are interested in working on any of these, email bug-texinfo@gnu.org.
email bug-texinfo@prep.ai.mit.edu.
* Makeinfo: * Makeinfo:
- HTML output. - HTML output is being actively worked on, and with luck will be in
the next release.
- A detexinfo program, like detex or delatex. This command would - A detexinfo program, like detex or delatex. This command would
strip all the texinfo commands out, and would be used as a filter on strip all the texinfo commands out, and would be used as a filter on
the way to a speller. An option would be to NOT strip comments out. the way to a speller. An option would be to NOT strip comments out.
@ -12,8 +12,9 @@ email bug-texinfo@prep.ai.mit.edu.
enumerate chapters and sections, convert cross-refs and indices to enumerate chapters and sections, convert cross-refs and indices to
chapter/section references. See: chapter/section references. See:
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2/faq201s.zip ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2/faq201s.zip
- Call Ghostscript to get ASCII output for the @image command.
n* TeX: * TeX:
- Use @ as the escape character, and Texinfo syntax generally, in the - Use @ as the escape character, and Texinfo syntax generally, in the
table of contents, aux, and index files. Eliminate all the crazy table of contents, aux, and index files. Eliminate all the crazy
multiple redefinitions of every Texinfo command in different contexts. multiple redefinitions of every Texinfo command in different contexts.

251
texinfo/config.guess vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Attempt to guess a canonical system name. # Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. # Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
# #
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@ -52,11 +52,53 @@ trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
alpha:OSF1:*:*) alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
fi
# A Vn.n version is a released version. # A Vn.n version is a released version.
# A Tn.n version is a released field test version. # A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel. # A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r. # 1.2 uses "1.2" for uname -r.
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'` cat <<EOF >dummy.s
.globl main
.ent main
main:
.frame \$30,0,\$26,0
.prologue 0
.long 0x47e03d80 # implver $0
lda \$2,259
.long 0x47e20c21 # amask $2,$1
srl \$1,8,\$2
sll \$2,2,\$2
sll \$0,3,\$0
addl \$1,\$0,\$0
addl \$2,\$0,\$0
ret \$31,(\$26),1
.end main
EOF
${CC-cc} dummy.s -o dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
;;
15)
UNAME_MACHINE="alphaev5"
;;
14)
UNAME_MACHINE="alphaev56"
;;
10)
UNAME_MACHINE="alphapca56"
;;
16)
UNAME_MACHINE="alphaev6"
;;
esac
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
exit 0 ;; exit 0 ;;
21064:Windows_NT:50:3) 21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5 echo alpha-dec-winnt3.5
@ -68,11 +110,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo m68k-cbm-netbsd${UNAME_RELEASE} echo m68k-cbm-netbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
amiga:OpenBSD:*:*) amiga:OpenBSD:*:*)
echo m68k-cbm-openbsd${UNAME_RELEASE} echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
arc64:OpenBSD:*:*)
echo mips64el-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hkmips:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE} echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;; exit 0;;
arm32:NetBSD:*:*)
echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
SR2?01:HI-UX/MPP:*:*) SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp echo hppa1.1-hitachi-hiuxmpp
exit 0;; exit 0;;
@ -111,6 +174,18 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sun3*:SunOS:*:*) sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE} echo m68k-sun-sunos${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit 0 ;;
aushp:SunOS:*:*) aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE} echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
@ -118,19 +193,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo m68k-atari-netbsd${UNAME_RELEASE} echo m68k-atari-netbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
atari*:OpenBSD:*:*) atari*:OpenBSD:*:*)
echo m68k-atari-openbsd${UNAME_RELEASE} echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
sun3*:NetBSD:*:*) sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE} echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
sun3*:OpenBSD:*:*) sun3*:OpenBSD:*:*)
echo m68k-sun-openbsd${UNAME_RELEASE} echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
mac68k:NetBSD:*:*) mac68k:NetBSD:*:*)
echo m68k-apple-netbsd${UNAME_RELEASE} echo m68k-apple-netbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
mac68k:OpenBSD:*:*) mac68k:OpenBSD:*:*)
echo m68k-apple-openbsd${UNAME_RELEASE} echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
powerpc:machten:*:*) powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE} echo powerpc-apple-machten${UNAME_RELEASE}
@ -144,6 +225,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
VAX*:ULTRIX*:*:*) VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE} echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
2020:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos) mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; { int main (argc, argv) int argc; char **argv; {
@ -378,8 +462,8 @@ EOF
hp3[0-9][05]:NetBSD:*:*) hp3[0-9][05]:NetBSD:*:*)
echo m68k-hp-netbsd${UNAME_RELEASE} echo m68k-hp-netbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
hp3[0-9][05]:OpenBSD:*:*) hp300:OpenBSD:*:*)
echo m68k-hp-openbsd${UNAME_RELEASE} echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*) i?86:BSD/386:*:* | *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@ -394,7 +478,10 @@ EOF
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;; exit 0 ;;
i*:CYGWIN*:*) i*:CYGWIN*:*)
echo i386-pc-cygwin32 echo ${UNAME_MACHINE}-pc-cygwin32
exit 0 ;;
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;; exit 0 ;;
p*:CYGWIN*:*) p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32 echo powerpcle-unknown-cygwin32
@ -403,33 +490,86 @@ EOF
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;; exit 0 ;;
*:GNU:*:*) *:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,-.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;; exit 0 ;;
*:Linux:*:*) *:Linux:*:*)
# uname on the ARM produces all sorts of strangeness, and we need to
# filter it out.
case "$UNAME_MACHINE" in
arm* | sa110*) UNAME_MACHINE="arm" ;;
esac
# The BFD linker knows what the default object file format is, so # The BFD linker knows what the default object file format is, so
# first see if it will tell us. # first see if it will tell us.
ld_help_string=`ld --help 2>&1` ld_help_string=`ld --help 2>&1`
if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then ld_supported_emulations=`echo $ld_help_string \
echo "${UNAME_MACHINE}-pc-linux-gnu" ; exit 0 | sed -ne '/supported emulations:/!d
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then s/[ ][ ]*/ /g
echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 s/.*supported emulations: *//
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then s/ .*//
echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 p'`
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then case "$ld_supported_emulations" in
echo "${UNAME_MACHINE}-unknown-linux-gnu" ; exit 0 i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
echo "powerpc-unknown-linux-gnu" ; exit 0 m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elif test "${UNAME_MACHINE}" = "alpha" ; then elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
echo alpha-unknown-linux-gnu ; exit 0 esac
elif test "${UNAME_MACHINE}" = "sparc" ; then
echo sparc-unknown-linux-gnu ; exit 0 if test "${UNAME_MACHINE}" = "alpha" ; then
sed 's/^ //' <<EOF >dummy.s
.globl main
.ent main
main:
.frame \$30,0,\$26,0
.prologue 0
.long 0x47e03d80 # implver $0
lda \$2,259
.long 0x47e20c21 # amask $2,$1
srl \$1,8,\$2
sll \$2,2,\$2
sll \$0,3,\$0
addl \$1,\$0,\$0
addl \$2,\$0,\$0
ret \$31,(\$26),1
.end main
EOF
LIBC=""
${CC-cc} dummy.s -o dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
;;
15)
UNAME_MACHINE="alphaev5"
;;
14)
UNAME_MACHINE="alphaev56"
;;
10)
UNAME_MACHINE="alphapca56"
;;
16)
UNAME_MACHINE="alphaev6"
;;
esac
objdump --private-headers dummy | \
grep ld.so.1 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then elif test "${UNAME_MACHINE}" = "mips" ; then
cat >dummy.c <<EOF cat >dummy.c <<EOF
main(argc, argv) main(argc, argv)
int argc; int argc;
char *argv[]; char *argv[];
{ {
#ifdef __MIPSEB__ #ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]); printf ("%s-unknown-linux-gnu\n", argv[1]);
@ -443,20 +583,41 @@ EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy rm -f dummy.c dummy
else else
# Either a pre-BFD a.out linker (linux-gnuoldld) or one that does not give us # Either a pre-BFD a.out linker (linux-gnuoldld)
# useful --help. Gcc wants to distinguish between linux-gnuoldld and linux-gnuaout. # or one that does not give us useful --help.
test ! -d /usr/lib/ldscripts/. \ # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
&& echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 # If ld does not provide *any* "supported emulations:"
# that means it is gnuoldld.
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
case "${UNAME_MACHINE}" in
i?86)
VENDOR=pc;
;;
*)
VENDOR=unknown;
;;
esac
# Determine whether the default compiler is a.out or elf # Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF cat >dummy.c <<EOF
#include <features.h>
main(argc, argv) main(argc, argv)
int argc; int argc;
char *argv[]; char *argv[];
{ {
#ifdef __ELF__ #ifdef __ELF__
printf ("%s-pc-linux-gnu\n", argv[1]); # ifdef __GLIBC__
# if __GLIBC__ >= 2
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
# else
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
# endif
#else #else
printf ("%s-pc-linux-gnuaout\n", argv[1]); printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
#endif #endif
return 0; return 0;
} }
@ -469,6 +630,14 @@ EOF
i?86:DYNIX/ptx:4*:*) i?86:DYNIX/ptx:4*:*)
echo i386-sequent-sysv4 echo i386-sequent-sysv4
exit 0 ;; exit 0 ;;
i?86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*) i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
@ -490,6 +659,11 @@ EOF
echo ${UNAME_MACHINE}-pc-sysv32 echo ${UNAME_MACHINE}-pc-sysv32
fi fi
exit 0 ;; exit 0 ;;
pc:*:*:*)
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
exit 0 ;;
Intel:Mach:3*:*) Intel:Mach:3*:*)
echo i386-pc-mach3 echo i386-pc-mach3
exit 0 ;; exit 0 ;;
@ -565,6 +739,9 @@ EOF
mc68*:A/UX:*:*) mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE} echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*) R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
if [ -d /usr/nec ]; then if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE} echo mips-nec-sysv${UNAME_RELEASE}

View File

@ -185,6 +185,9 @@
/* Define if you have the <malloc.h> header file. */ /* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H #undef HAVE_MALLOC_H
/* Define if you have the <ncurses/termcap.h> header file. */
#undef HAVE_NCURSES_TERMCAP_H
/* Define if you have the <nl_types.h> header file. */ /* Define if you have the <nl_types.h> header file. */
#undef HAVE_NL_TYPES_H #undef HAVE_NL_TYPES_H
@ -203,6 +206,9 @@
/* Define if you have the <sys/file.h> header file. */ /* Define if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H #undef HAVE_SYS_FILE_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/ptem.h> header file. */ /* Define if you have the <sys/ptem.h> header file. */
#undef HAVE_SYS_PTEM_H #undef HAVE_SYS_PTEM_H
@ -236,6 +242,9 @@
/* Define if you have the i library (-li). */ /* Define if you have the i library (-li). */
#undef HAVE_LIBI #undef HAVE_LIBI
/* Define if you have the z library (-lz). */
#undef HAVE_LIBZ
/* For gettext (NLS) */ /* For gettext (NLS) */
#include <libintl.h> #include <libintl.h>
#define _(String) gettext (String) #define _(String) gettext (String)

99
texinfo/config.sub vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script, version 1.1. # Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. # Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can. # can handle that machine. It does not imply ALL GNU software can.
@ -149,19 +149,20 @@ esac
case $basic_machine in case $basic_machine in
# Recognize the basic CPU types without company name. # Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below. # Some are omitted here because they have special meanings below.
tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \ tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid \ | arme[lb] | pyramid | mn10200 | mn10300 \
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \ | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
| alpha | we32k | ns16k | clipper | i370 | sh \ | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \ | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
| pdp11 | mips64el | mips64orion | mips64orionel \ | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
| sparc | sparclet | sparclite | sparc64) | mipstx39 | mipstx39el \
| sparc | sparclet | sparclite | sparc64 | v850)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
;; ;;
# We use `pc' rather than `unknown' # We use `pc' rather than `unknown'
# because (1) that's what they normally are, and # because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users. # (2) the word "unknown" tends to confuse beginning users.
i[3456]86) i[34567]86)
basic_machine=$basic_machine-pc basic_machine=$basic_machine-pc
;; ;;
# Object if more than one company name word. # Object if more than one company name word.
@ -170,14 +171,18 @@ case $basic_machine in
exit 1 exit 1
;; ;;
# Recognize the basic CPU types with company name. # Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \ vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
| hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \ | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \ | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
| mips64el-* | mips64orion-* | mips64orionel-* | f301-*) | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mipstx39-* | mipstx39el-* \
| f301-*)
;; ;;
# Recognize the various machine names and aliases which stand # Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS. # for a CPU type and a company and sometimes even an OS.
@ -204,9 +209,9 @@ case $basic_machine in
amiga | amiga-*) amiga | amiga-*)
basic_machine=m68k-cbm basic_machine=m68k-cbm
;; ;;
amigados) amigaos | amigados)
basic_machine=m68k-cbm basic_machine=m68k-cbm
os=-amigados os=-amigaos
;; ;;
amigaunix | amix) amigaunix | amix)
basic_machine=m68k-cbm basic_machine=m68k-cbm
@ -345,19 +350,19 @@ case $basic_machine in
os=-mvs os=-mvs
;; ;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2? # I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[3456]86v32) i[34567]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32 os=-sysv32
;; ;;
i[3456]86v4*) i[34567]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4 os=-sysv4
;; ;;
i[3456]86v) i[34567]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv os=-sysv
;; ;;
i[3456]86sol2) i[34567]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2 os=-solaris2
;; ;;
@ -391,11 +396,11 @@ case $basic_machine in
;; ;;
mipsel*-linux*) mipsel*-linux*)
basic_machine=mipsel-unknown basic_machine=mipsel-unknown
os=-linux os=-linux-gnu
;; ;;
mips*-linux*) mips*-linux*)
basic_machine=mips-unknown basic_machine=mips-unknown
os=-linux os=-linux-gnu
;; ;;
mips3*-*) mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
@ -464,25 +469,23 @@ case $basic_machine in
pc532 | pc532-*) pc532 | pc532-*)
basic_machine=ns32k-pc532 basic_machine=ns32k-pc532
;; ;;
pentium | p5) pentium | p5 | k5 | nexen)
basic_machine=i586-intel basic_machine=i586-pc
;; ;;
pentiumpro | p6) pentiumpro | p6 | k6 | 6x86)
basic_machine=i686-intel basic_machine=i686-pc
;; ;;
pentium-* | p5-*) pentiumii | pentium2)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumpro-* | p6-*) pentiumpro-* | p6-* | k6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
k5) pentiumii-* | pentium2-*)
# We don't have specific support for AMD's K5 yet, so just call it a Pentium basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
basic_machine=i586-amd
;;
nexen)
# We don't have specific support for Nexgen yet, so just call it a Pentium
basic_machine=i586-nexgen
;; ;;
pn) pn)
basic_machine=pn-gould basic_machine=pn-gould
@ -566,6 +569,12 @@ case $basic_machine in
basic_machine=i386-sequent basic_machine=i386-sequent
os=-dynix os=-dynix
;; ;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
tower | tower-32) tower | tower-32)
basic_machine=m68k-ncr basic_machine=m68k-ncr
;; ;;
@ -585,7 +594,7 @@ case $basic_machine in
basic_machine=vax-dec basic_machine=vax-dec
os=-vms os=-vms
;; ;;
vpp*|vx|vx-*) vpp*|vx|vx-*)
basic_machine=f301-fujitsu basic_machine=f301-fujitsu
;; ;;
vxworks960) vxworks960)
@ -615,7 +624,7 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in # Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular. # some cases the only manufacturer, in others, it is the most popular.
mips) mips)
if [ x$os = x-linux ]; then if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown basic_machine=mips-unknown
else else
basic_machine=mips-mips basic_machine=mips-mips
@ -680,9 +689,12 @@ case $os in
-solaris) -solaris)
os=-solaris2 os=-solaris2
;; ;;
-unixware* | svr4*) -svr4*)
os=-sysv4 os=-sysv4
;; ;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*) -gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;; ;;
@ -693,7 +705,8 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
@ -701,7 +714,7 @@ case $os in
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -linux-gnu* | -uxpv*) | -mingw32* | -linux-gnu* | -uxpv*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
-linux*) -linux*)
@ -827,7 +840,7 @@ case $basic_machine in
os=-sysv os=-sysv
;; ;;
*-cbm) *-cbm)
os=-amigados os=-amigaos
;; ;;
*-dg) *-dg)
os=-dgux os=-dgux

841
texinfo/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,11 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl $Id: configure.in,v 1.5 1998/03/24 18:05:13 law Exp $ dnl $Id: configure.in,v 1.7 1998/03/26 10:30:41 law Exp $
dnl dnl
AC_INIT(makeinfo/makeinfo.c) AC_INIT(makeinfo/makeinfo.c)
AC_PREREQ(2.12)dnl Minimum Autoconf version required. AC_PREREQ(2.12)dnl Minimum Autoconf version required.
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([texinfo], [3.11]) AM_INIT_AUTOMAKE([texinfo], [3.12])
dnl Checks for programs. dnl Checks for programs.
AC_PROG_CC AC_PROG_CC
@ -16,7 +16,7 @@ AC_PROG_RANLIB
# We do this for the sake of a more helpful warning in doc/Makefile. # We do this for the sake of a more helpful warning in doc/Makefile.
TEXMF='$(datadir)/texmf' TEXMF='$(datadir)/texmf'
AC_CHECK_PROG(TEXCONFIG, texconfig, true, false) AC_CHECK_PROG(TEXCONFIG, texconfig, true, false)
$TEXCONFIG && eval `texconfig confall | grep '^TEXMF='` $TEXCONFIG && eval `texconfig conf </dev/null | grep '^TEXMF='`
AC_SUBST(TEXMF) AC_SUBST(TEXMF)
AC_ISC_POSIX AC_ISC_POSIX
@ -27,8 +27,10 @@ AM_MAINTAINER_MODE
AM_EXEEXT AM_EXEEXT
dnl Checks for libraries. dnl Checks for libraries.
# Needed on sysV68 for sigblock, sigsetmask. AC_CHECK_LIB(z, gzdopen)
AC_CHECK_LIB(bsd, sigblock)
# Needed on sysV68 for sigblock, sigsetmask. But check for it in libc first.
AC_CHECK_FUNC(sigblock, , AC_CHECK_LIB(bsd, sigblock))
# Some GNU/Linux systems (e.g., SuSE 4.3, 1996) don't have curses, but # Some GNU/Linux systems (e.g., SuSE 4.3, 1996) don't have curses, but
# rather ncurses. So we check for it. # rather ncurses. So we check for it.
@ -40,16 +42,16 @@ done
AC_SUBST(TERMLIBS) AC_SUBST(TERMLIBS)
dnl Checks for header files. dnl Checks for header files.
dnl Do not use <ncurses/termcap.h> unless we're linking with ncurses.
if test "x$termlib" = xncurses; then
dnl Use AC_CHECK_HEADERS so the HAVE_*_H symbol gets defined.
AC_CHECK_HEADERS(ncurses/termcap.h)
fi
AC_HEADER_STDC AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h pwd.h string.h strings.h termcap.h termio.h \ AC_CHECK_HEADERS(fcntl.h pwd.h string.h strings.h termcap.h termio.h \
termios.h unistd.h \ termios.h unistd.h \
sys/fcntl.h sys/file.h sys/ptem.h sys/time.h sys/ttold.h sys/wait.h) sys/fcntl.h sys/file.h sys/ptem.h sys/time.h sys/ttold.h sys/wait.h)
dnl Do not use <ncurses/termcap.h> unless we're linking with ncurses.
if test "x$termlib" = xncurses; then
AC_CHECK_HEADER(ncurses/termcap.h)
fi
dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_OFF_T AC_TYPE_OFF_T
AC_TYPE_SIGNAL AC_TYPE_SIGNAL
@ -59,9 +61,7 @@ AC_STRUCT_TM
dnl Checks for library functions. dnl Checks for library functions.
AC_FUNC_ALLOCA AC_FUNC_ALLOCA
AC_FUNC_VPRINTF AC_FUNC_VPRINTF
if test "$ac_cv_c_cross" = no; then AC_FUNC_SETVBUF_REVERSED
AC_FUNC_SETVBUF_REVERSED
fi
AC_CHECK_FUNCS(setvbuf getcwd memset bzero strchr strcasecmp \ AC_CHECK_FUNCS(setvbuf getcwd memset bzero strchr strcasecmp \
sigprocmask sigsetmask) sigprocmask sigsetmask)
dnl strcasecmp, strerror, xmalloc, xrealloc, probably others should be added. dnl strcasecmp, strerror, xmalloc, xrealloc, probably others should be added.
@ -74,7 +74,6 @@ AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
AC_OUTPUT([Makefile \ AC_OUTPUT([Makefile \
doc/Makefile \ doc/Makefile \
emacs/Makefile \
info/Makefile \ info/Makefile \
intl/Makefile \ intl/Makefile \
lib/Makefile \ lib/Makefile \

View File

@ -1,32 +1,39 @@
This is the directory file `dir' a.k.a. `DIR', which contains the This is the directory file `dir' a.k.a. `DIR', which contains the
topmost node of the Info hierarchy. This file is merely made available topmost node of the Info hierarchy.
for your hacking pleasure, not official or standard in any way. This particular dir file is merely made available for your hacking
If it doesn't make sense to you, or you don't like it, ignore it. pleasure, not official or standard in any way. If it doesn't make sense
to you, or you don't like it, ignore it.
If you have dir entries for Texinfo manuals you'd like to be added here,
please send them to karl@gnu.org.
$Id: dir-example,v 1.3 1998/03/24 18:05:15 law Exp $ $Id: dir-example,v 1.1.1.3 1998/03/24 18:19:30 law Exp $
 
File: dir Node: Top This is the top of the INFO tree. File: dir, Node: Top, This is the top of the INFO tree.
This node gives a menu of the major topics accessible through Info. This is the Info main menu (aka directory node).
A few useful Info commands:
`q' quits; `q' quits;
`?' lists all Info commands; `?' lists all Info commands;
`h' starts the Info tutorial; `h' starts the Info tutorial;
`mTexinfo RET' visits the Texinfo manual, etc. `mTexinfo RET' visits the Texinfo manual, etc.
Not all of the topics shown below may be available on this system.
* Menu: * Menu:
GNU packages GNU packages
* Bash: (bash). Bourne again shell. * Bash: (bash). Bourne-Again SHell.
* Cpio: (cpio). Cpio archiver. * Cpio: (cpio). Copy-in-copy-out archiver.
* DC: (dc). Postfix arbitrary expression calculator. * DC: (dc). Postfix desk calculator.
* Diff: (diff). Comparing and merging programs. * Diff: (diff). Comparing and merging programs.
* Ed: (ed). Line editor. * Ed: (ed). Line editor.
* Emacs: (emacs). Extensible self-documenting text editor. * Emacs: (emacs). Extensible self-documenting text editor.
* File utilities: (fileutils). GNU file utilities. * File utilities: (fileutils). GNU file utilities.
* Finding files: (find). Operating on files matching certain criteria. * Finding files: (find). Operating on files matching certain criteria.
* Font utilities: (fontu). Programs for font manipulation. * Font utilities: (fontu). Programs for font manipulation.
* Gawk: (gawk.info). A text scanning and processing language. * Gawk: (gawk.info). A text scanning and processing language.
* Gcal: (gcal). GNU calendar program.
* Gzip: (gzip). General (de)compression. * Gzip: (gzip). General (de)compression.
* Identifier DB: (id-utils). Identifier database utilities. * Identifier DB: (id-utils). Identifier database utilities.
* Ispell: (ispell). Interactive spelling corrector. * Ispell: (ispell). Interactive spelling corrector.
@ -34,13 +41,13 @@ GNU packages
* Make: (make). Remake files automatically. * Make: (make). Remake files automatically.
* Ptx: (ptx). Permuted index generator. * Ptx: (ptx). Permuted index generator.
* Shar: (sharutils). Shell archiver, uudecode/uuencode. * Shar: (sharutils). Shell archiver, uudecode/uuencode.
* Shell utilities: (sh-utils). GNU shell utilities. * Shell utilities: (sh-utils). GNU shell utilities.
* tar: (tar). Making tape (or disk) archives. * tar: (tar). Making tape (or disk) archives.
* Text utilities: (textutils). GNU text utilities. * Text utilities: (textutils). GNU text utilities.
* Time: (time). Measuring program resource usage. * Time: (time). Measuring program resource usage.
* UUCP: (uucp). Copying between machines, offline. * UUCP: (uucp). Copying between machines, offline.
* Wdiff: (wdiff). Word-by-word comparison. * Wdiff: (wdiff). Word-by-word comparison.
* Wget: (wget). URL download. * Wget: (wget). URL download.
GNU programming tools GNU programming tools
* As: (as). Assembler. * As: (as). Assembler.
@ -61,20 +68,21 @@ GNU programming tools
* Ld: (ld). Linker. * Ld: (ld). Linker.
Texinfo documentation system Texinfo documentation system
* Info: (info). Documentation browsing system. * Info: (info). Documentation browsing system.
* Texinfo: (texinfo). The GNU documentation format. * Texinfo: (texinfo). The GNU documentation format.
* info program: (info-stnd). Standalone Info-reading program. * info program: (info-stnd). Standalone Info-reading program.
* install-info: (texinfo)Invoking install-info. Updating info/dir entries. * install-info: (texinfo)Invoking install-info. Updating info/dir entries.
* texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation. * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation.
* texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files. * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files.
* makeinfo: (texinfo)makeinfo preferred. Translate Texinfo source. * makeinfo: (texinfo)makeinfo preferred. Translate Texinfo source.
GNU Emacs Lisp GNU Emacs Lisp
* Elisp: (elisp). GNU Emacs Lisp reference manual. * Elisp: (elisp). GNU Emacs Lisp reference manual.
* Intro Elisp: (emacs-lisp-intro). Introduction to Elisp programming. * Intro Elisp: (emacs-lisp-intro). Introduction to Elisp programming.
* AUC TeX: (auctex). Editing (La)TeX files.
* Calc: (calc). Calculator and more. * Calc: (calc). Calculator and more.
* CC-mode: (ccmode). Editing C, C++, and Objective C. * CC mode: (cc-mode). Editing C, C++, Objective C, and Java.
* Common Lisp: (cl). Partial Common Lisp support for Emacs Lisp. * Common Lisp: (cl). Partial Common Lisp support for Emacs Lisp.
* Dired-x: (dired-x). Extra directory editor features. * Dired-x: (dired-x). Extra directory editor features.
* Edebug: (edebug). Source-level debugger for Emacs Lisp. * Edebug: (edebug). Source-level debugger for Emacs Lisp.
@ -121,9 +129,10 @@ GNU programming documentation
* Stabs: (stabs). Symbol table debugging information format. * Stabs: (stabs). Symbol table debugging information format.
* Standards: (standards). GNU coding standards. * Standards: (standards). GNU coding standards.
DOS Linux
* Demacs: (demacs). GNU Emacs for DOS. * dosemu: (dosemu). Linux DOS emulator.
* GNUish: (gnuish). GNU utilities for DOS. * gpm: (gpm). Linux general purpose mouse interface.
* linux-faq: (linux-faq). The Linux FAQ List
TeX things TeX things
* Afm2tfm: (dvips)Invoking afm2tfm. Making Type 1 fonts available to TeX. * Afm2tfm: (dvips)Invoking afm2tfm. Making Type 1 fonts available to TeX.
@ -137,124 +146,133 @@ TeX things
* TeXDraw: (texdraw). Drawing PostScript diagrams within TeX. * TeXDraw: (texdraw). Drawing PostScript diagrams within TeX.
* Web2c: (web2c). TeX, Metafont, and their companion programs. * Web2c: (web2c). TeX, Metafont, and their companion programs.
DOS
* Demacs: (demacs). GNU Emacs for DOS.
* GNUish: (gnuish). GNU utilities for DOS.
Other things Other things
* Amd: (amdref). Filesystem automounter. * Amd: (amdref). Filesystem automounter.
* CMUCL: (cmu-user). CMU Common Lisp. * CMUCL: (cmu-user). CMU Common Lisp.
* File headers: (filehdr). Bibliographic information for computer files. * File headers: (filehdr). Bibliographic information for computer files.
* GCP: (gcp). Game club protocol. * GCP: (gcp). Game club protocol.
* GIMP: (pdb). The GIMP procedural database.
* HTML: (snafu). Hypertext Markup Language 2.0 specification. * HTML: (snafu). Hypertext Markup Language 2.0 specification.
* Jargon: (jargon). The jargon file. * Jargon: (jargon). The jargon file.
* JED: (jed). JED editor documentation.
* octave: (octave). Octave - A language for numerical computation.
* Perl: (perl). Practical extraction and report language. * Perl: (perl). Practical extraction and report language.
* PRCS: (prcs). Project revision control system. * PRCS: (prcs). Project revision control system.
* Screen: (screen). Virtual screen manager. * Screen: (screen). Virtual screen manager.
* UMB C.S. Dept.: (csinfo). UMass/Boston Computer Science Dept. info. * UMB C.S. Dept.: (csinfo). UMass/Boston Computer Science Dept. info.
Individual utilities Individual utilities
* aclocal: (automake)Invoking aclocal. Generating aclocal.m4. * aclocal: (automake)Invoking aclocal. Generating aclocal.m4.
* aid: (id-utils)aid invocation. Matching strings. * aid: (id-utils)aid invocation. Matching strings.
* ar: (binutils)ar. Create/modify/extract archives. * ar: (binutils)ar. Create/modify/extract archives.
* at-pr: (gnats)at-pr. Bug report timely reminders. * at-pr: (gnats)at-pr. Bug report timely reminders.
* automake: (automake). Making Makefile.in's. * automake: (automake). Making Makefile.in's.
* autoreconf: (autoconf)Invoking autoreconf. Remake multiple configure's. * autoreconf: (autoconf)Invoking autoreconf. Remake multiple configure's.
* autoscan: (autoconf)Invoking autoscan. Automate initial configure.in. * autoscan: (autoconf)Invoking autoscan. Automate initial configure.in.
* awk: (gawk)Invoking gawk. Text processing and scanning. * awk: (gawk)Invoking gawk. Text processing and scanning.
* basename: (sh-utils)basename invocation. Strip directory and suffix. * basename: (sh-utils)basename invocation. Strip directory and suffix.
* bibtex: (web2c)BibTeX invocation. Maintaining bibliographies. * bibtex: (web2c)BibTeX invocation. Maintaining bibliographies.
* c++filt: (binutils)c++filt. Demangle C++ symbols. * c++filt: (binutils)c++filt. Demangle C++ symbols.
* cat: (textutils)cat invocation. Concatenate and write files. * cat: (textutils)cat invocation. Concatenate and write files.
* chgrp: (fileutils)chgrp invocation. Change file groups. * chgrp: (fileutils)chgrp invocation. Change file groups.
* chmod: (fileutils)chmod invocation. Change file permissions. * chmod: (fileutils)chmod invocation. Change file permissions.
* chown: (fileutils)chown invocation. Change file owners/groups. * chown: (fileutils)chown invocation. Change file owners/groups.
* chroot: (sh-utils)chroot invocation. Specify the root directory. * chroot: (sh-utils)chroot invocation. Specify the root directory.
* cksum: (textutils)cksum invocation. Print POSIX CRC checksum. * cksum: (textutils)cksum invocation. Print POSIX CRC checksum.
* cmp: (diff)Invoking cmp. Character-by-character diff. * cmp: (diff)Invoking cmp. Character-by-character diff.
* comm: (textutils)comm invocation. Compare sorted files by line. * comm: (textutils)comm invocation. Compare sorted files by line.
* cp: (fileutils)cp invocation. Copy files. * cp: (fileutils)cp invocation. Copy files.
* csplit: (textutils)csplit invocation. Split by context. * csplit: (textutils)csplit invocation. Split by context.
* cut: (textutils)cut invocation. Print selected parts of lines. * cut: (textutils)cut invocation. Print selected parts of lines.
* date: (sh-utils)date invocation. Print/set system date and time. * date: (sh-utils)date invocation. Print/set system date and time.
* dd: (fileutils)dd invocation. Copy and convert a file. * dd: (fileutils)dd invocation. Copy and convert a file.
* df: (fileutils)df invocation. Report filesystem disk usage. * df: (fileutils)df invocation. Report filesystem disk usage.
* diff3: (diff)Invoking diff3. Three-way diff. * diff3: (diff)Invoking diff3. Three-way diff.
* dir: (fileutils)dir invocation. List directories briefly. * dir: (fileutils)dir invocation. List directories briefly.
* dircolors: (fileutils)dircolors invocation. Color setup for ls. * dircolors: (fileutils)dircolors invocation. Color setup for ls.
* dirname: (sh-utils)dirname invocation. Strip non-directory suffix. * dirname: (sh-utils)dirname invocation. Strip non-directory suffix.
* dmp: (web2c)Dmp invocation. Troff->MPX (MetaPost pictures). * dmp: (web2c)Dmp invocation. Troff->MPX (MetaPost pictures).
* du: (fileutils)du invocation. Report on disk usage. * du: (fileutils)du invocation. Report on disk usage.
* dvicopy: (web2c)DVIcopy invocation. Virtual font expansion * dvicopy: (web2c)DVIcopy invocation. Virtual font expansion
* dvitomp: (web2c)DVItoMP invocation. DVI to MPX (MetaPost pictures). * dvitomp: (web2c)DVItoMP invocation. DVI to MPX (MetaPost pictures).
* dvitype: (web2c)DVItype invocation. DVI to human-readable text. * dvitype: (web2c)DVItype invocation. DVI to human-readable text.
* echo: (sh-utils)echo invocation. Print a line of text. * echo: (sh-utils)echo invocation. Print a line of text.
* edit-pr: (gnats)Invoking edit-pr. Changing bugs. * edit-pr: (gnats)Invoking edit-pr. Changing bugs.
* eid: (id-utils)eid invocation. Invoking an editor on matches. * eid: (id-utils)eid invocation. Invoking an editor on matches.
* emacsclient: (emacs)Emacs Server. Connecting to a running Emacs. * emacsclient: (emacs)Emacs Server. Connecting to a running Emacs.
* emacsserver: (emacs)Emacs Server. Connecting to a running Emacs. * emacsserver: (emacs)Emacs Server. Connecting to a running Emacs.
* env: (sh-utils)env invocation. Modify the environment. * env: (sh-utils)env invocation. Modify the environment.
* etags: (emacs)Create Tags Table. Creating a TAGS table. * etags: (emacs)Create Tags Table. Creating a TAGS table.
* expand: (textutils)expand invocation. Convert tabs to spaces. * expand: (textutils)expand invocation. Convert tabs to spaces.
* expr: (sh-utils)expr invocation. Evaluate expressions. * expr: (sh-utils)expr invocation. Evaluate expressions.
* factor: (sh-utils)factor invocation. Print prime factors * factor: (sh-utils)factor invocation. Print prime factors
* false: (sh-utils)false invocation. Do nothing, unsuccessfully. * false: (sh-utils)false invocation. Do nothing, unsuccessfully.
* fid: (id-utils)fid invocation. Listing a file's identifiers. * fid: (id-utils)fid invocation. Listing a file's identifiers.
* file-pr: (gnats)file-pr. Processing incoming traffic. * file-pr: (gnats)file-pr. Processing incoming traffic.
* find: (find)Invoking find. Finding and acting on files. * find: (find)Invoking find. Finding and acting on files.
* fmt: (textutils)fmt invocation. Reformat paragraph text. * fmt: (textutils)fmt invocation. Reformat paragraph text.
* fold: (textutils)fold invocation. Wrap long input lines. * fold: (textutils)fold invocation. Wrap long input lines.
* g++: (gcc)Invoking G++. The GNU C++ compiler. * g++: (gcc)Invoking G++. The GNU C++ compiler.
* gcal2txt: (gcal)Invoking gcal2txt. Calendar resource to text file.
* gettextize: (gettext)gettextize Invocation. Prepare a package for gettext. * gettextize: (gettext)gettextize Invocation. Prepare a package for gettext.
* gftodvi: (web2c)GFtoDVI invocation. Generic font proofsheets. * gftodvi: (web2c)GFtoDVI invocation. Generic font proofsheets.
* gftopk: (web2c)GFtoPK invocation. Generic to packed fonts. * gftopk: (web2c)GFtoPK invocation. Generic to packed fonts.
* gftype: (web2c)GFtype invocation. GF to human-readable text. * gftype: (web2c)GFtype invocation. GF to human-readable text.
* gid: (id-utils)gid invocation. Listing all matching lines. * gid: (id-utils)gid invocation. Listing all matching lines.
* groups: (sh-utils)groups invocation. Print group names a user is in. * git: (git). GNU interactive tools.
* groups: (sh-utils)groups invocation. Print group names a user is in.
* gunzip: (gzip)Overview. Decompression. * gunzip: (gzip)Overview. Decompression.
* head: (textutils)head invocation. Output the first part of files. * head: (textutils)head invocation. Output the first part of files.
* hostname: (sh-utils)hostname invocation. Print or set system name. * hostname: (sh-utils)hostname invocation. Print or set system name.
* id: (sh-utils)id invocation. Print real/effective uid/gid. * id: (sh-utils)id invocation. Print real/effective uid/gid.
* idx: (id-utils)idx invocation. Testing mkid scanners. * idx: (id-utils)idx invocation. Testing mkid scanners.
* ifnames: (autoconf)Invoking ifnames. List conditionals in source. * ifnames: (autoconf)Invoking ifnames. List conditionals in source.
* iid: (id-utils)iid invocation. Interactive complex queries. * iid: (id-utils)iid invocation. Interactive complex queries.
* inimf: (web2c)inimf invocation. Initial Metafont. * inimf: (web2c)inimf invocation. Initial Metafont.
* inimp: (web2c)inimp invocation. Initial MetaPost. * inimp: (web2c)inimp invocation. Initial MetaPost.
* initex: (web2c)initex invocation. Initial TeX. * initex: (web2c)initex invocation. Initial TeX.
* install: (fileutils)install invocation. Copy and change attributes. * install: (fileutils)install invocation. Copy and change attributes.
* join: (textutils)join invocation. Join lines on a common field. * join: (textutils)join invocation. Join lines on a common field.
* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching. * kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
* lid: (id-utils)lid invocation. Matching identifier patterns. * lid: (id-utils)lid invocation. Matching identifier patterns.
* ln: (fileutils)ln invocation. Make links between files. * ln: (fileutils)ln invocation. Make links between files.
* locate: (find)Invoking locate. Finding files in a database. * locate: (find)Invoking locate. Finding files in a database.
* logname: (sh-utils)logname invocation. Print current login name. * logname: (sh-utils)logname invocation. Print current login name.
* ls: (fileutils)ls invocation. List directory contents. * ls: (fileutils)ls invocation. List directory contents.
* makempx: (web2c)MakeMPX invocation. MetaPost label typesetting. * makempx: (web2c)MakeMPX invocation. MetaPost label typesetting.
* maketexmf: (kpathsea)MakeTeX scripts. MF source generation. * maketexmf: (kpathsea)MakeTeX scripts. MF source generation.
* maketexpk: (kpathsea)MakeTeX scripts. PK bitmap generation. * maketexpk: (kpathsea)MakeTeX scripts. PK bitmap generation.
* maketextex: (kpathsea)MakeTeX scripts. TeX source generation. * maketextex: (kpathsea)MakeTeX scripts. TeX source generation.
* maketextfm: (kpathsea)MakeTeX scripts. TeX font metric generation. * maketextfm: (kpathsea)MakeTeX scripts. TeX font metric generation.
* md5sum: (textutils)md5sum invocation. Print or check message-digests. * md5sum: (textutils)md5sum invocation. Print or check message-digests.
* mf: (web2c)mf invocation. Creating typeface families. * mf: (web2c)mf invocation. Creating typeface families.
* mft: (web2c)MFT invocation. Prettyprinting Metafont source. * mft: (web2c)MFT invocation. Prettyprinting Metafont source.
* mkdir: (fileutils)mkdir invocation. Create directories. * mkdir: (fileutils)mkdir invocation. Create directories.
* mkfifo: (fileutils)mkfifo invocation. Create FIFOs: (named pipes). * mkfifo: (fileutils)mkfifo invocation. Create FIFOs: (named pipes).
* mkid: (id-utils)mkid invocation. Creating an ID database. * mkid: (id-utils)mkid invocation. Creating an ID database.
* mknod: (fileutils)mknod invocation. Create special files. * mknod: (fileutils)mknod invocation. Create special files.
* mp: (web2c)mp invocation. Creating technical diagrams. * mp: (web2c)mp invocation. Creating technical diagrams.
* mpto: (web2c)MPto invocation. MetaPost label extraction. * mpto: (web2c)MPto invocation. MetaPost label extraction.
* msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files. * msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files.
* msgmerge: (gettext)msgmerge Invocation. Update two PO files into one. * msgmerge: (gettext)msgmerge Invocation. Update two PO files into one.
* mv: (fileutils)mv invocation. Rename files. * mv: (fileutils)mv invocation. Rename files.
* newer: (web2c)Newer invocation. Compare modification times. * newer: (web2c)Newer invocation. Compare modification times.
* nice: (sh-utils)nice invocation. Modify scheduling priority. * nice: (sh-utils)nice invocation. Modify scheduling priority.
* nl: (textutils)nl invocation. Number lines and write files. * nl: (textutils)nl invocation. Number lines and write files.
* nlmconv: (binutils)nlmconv. Convert object to NetWare LM. * nlmconv: (binutils)nlmconv. Convert object to NetWare LM.
* nm: (binutils)nm. List symbols in object files. * nm: (binutils)nm. List symbols in object files.
* nohup: (sh-utils)nohup invocation. Immunize to hangups. * nohup: (sh-utils)nohup invocation. Immunize to hangups.
* objcopy: (binutils)objcopy. Copy/translate object files. * objcopy: (binutils)objcopy. Copy/translate object files.
* objdump: (binutils)objdump. Display info from object files. * objdump: (binutils)objdump. Display info from object files.
* od: (textutils)od invocation. Dump files in octal, etc. * od: (textutils)od invocation. Dump files in octal, etc.
* paste: (textutils)paste invocation. Merge lines of files. * paste: (textutils)paste invocation. Merge lines of files.
* patch: (diff)Invoking patch. Automatically applying diffs. * patch: (diff)Invoking patch. Automatically applying diffs.
* patgen: (web2c)Patgen invocation. Creating hyphenation patterns. * patgen: (web2c)Patgen invocation. Creating hyphenation patterns.
* pathchk: (sh-utils)pathchk invocation. Check file name portability. * pathchk: (sh-utils)pathchk invocation. Check file name portability.
* pid: (id-utils)pid invocation. Looking up filenames. * pid: (id-utils)pid invocation. Looking up filenames.
* pktogf: (web2c)PKtoGF invocation. Packed to generic fonts. * pktogf: (web2c)PKtoGF invocation. Packed to generic fonts.
* pktype: (web2c)PKtype invocation. PK to human-readable text. * pktype: (web2c)PKtype invocation. PK to human-readable text.
@ -262,60 +280,62 @@ Individual utilities
* pooltype: (web2c)Pooltype invocation. Display WEB pool files. * pooltype: (web2c)Pooltype invocation. Display WEB pool files.
* pr-addr: (gnats)pr-addr. Bug report address retrieval. * pr-addr: (gnats)pr-addr. Bug report address retrieval.
* pr-edit: (gnats)pr-edit. The edit-pr driver. * pr-edit: (gnats)pr-edit. The edit-pr driver.
* pr: (textutils)pr invocation. Paginate or columnate files. * pr: (textutils)pr invocation. Paginate or columnate files.
* printenv: (sh-utils)printenv invocation. Print environment variables. * printenv: (sh-utils)printenv invocation. Print environment variables.
* printf: (sh-utils)printf invocation. Format and print data. * printf: (sh-utils)printf invocation. Format and print data.
* pwd: (sh-utils)pwd invocation. Print working directory. * pwd: (sh-utils)pwd invocation. Print working directory.
* query-pr: (gnats)Invoking query-pr. Bug searching/reporting. * query-pr: (gnats)Invoking query-pr. Bug searching/reporting.
* queue-pr: (gnats)queue-pr. Handling incoming traffic. * queue-pr: (gnats)queue-pr. Handling incoming traffic.
* ranlib: (binutils)ranlib. Index archive file contents. * ranlib: (binutils)ranlib. Index archive file contents.
* rm: (fileutils)rm invocation. Remove files. * rm: (fileutils)rm invocation. Remove files.
* rmdir: (fileutils)rmdir invocation. Remove empty directories. * rmdir: (fileutils)rmdir invocation. Remove empty directories.
* sdiff: (diff)Invoking sdiff. Interactively merge files. * sdiff: (diff)Invoking sdiff. Interactively merge files.
* send-pr: (gnats)Invoking send-pr. Submitting bugs. * send-pr: (gnats)Invoking send-pr. Submitting bugs.
* seq: (sh-utils)seq invocation. Print numeric sequences * seq: (sh-utils)seq invocation. Print numeric sequences
* shar: (sharutils)shar invocation. Create shell archive. * shar: (sharutils)shar invocation. Create shell archive.
* size: (binutils)size. List object file section sizes. * size: (binutils)size. List object file section sizes.
* sleep: (sh-utils)sleep invocation. Delay for a specified time. * sleep: (sh-utils)sleep invocation. Delay for a specified time.
* sort: (textutils)sort invocation. Sort text files. * sort: (textutils)sort invocation. Sort text files.
* split: (textutils)split invocation. Split into fixed-size pieces. * split: (textutils)split invocation. Split into fixed-size pieces.
* strings: (binutils)strings. List printable strings. * strings: (binutils)strings. List printable strings.
* strip: (binutils)strip. Discard symbols. * strip: (binutils)strip. Discard symbols.
* stty: (sh-utils)stty invocation. Print/change terminal settings. * stty: (sh-utils)stty invocation. Print/change terminal settings.
* su: (sh-utils)su invocation. Modify user and group id. * su: (sh-utils)su invocation. Modify user and group id.
* sum: (textutils)sum invocation. Print traditional checksum. * sum: (textutils)sum invocation. Print traditional checksum.
* sync: (fileutils)sync invocation. Synchronize memory and disk. * sync: (fileutils)sync invocation. Synchronize memory and disk.
* tabs: (tput)Invoking tabs. Tab settings. * tabs: (tput)Invoking tabs. Tab settings.
* tac: (textutils)tac invocation. Reverse files. * tac: (textutils)tac invocation. Reverse files.
* tail: (textutils)tail invocation. Output the last part of files. * tail: (textutils)tail invocation. Output the last part of files.
* tangle: (web2c)Tangle invocation. WEB to Pascal. * tangle: (web2c)Tangle invocation. WEB to Pascal.
* tee: (sh-utils)tee invocation. Redirect to multiple files. * tcal: (gcal)Invoking tcal. Run Gcal with tomorrow's date.
* test: (sh-utils)test invocation. File/string tests. * tee: (sh-utils)tee invocation. Redirect to multiple files.
* test: (sh-utils)test invocation. File/string tests.
* tex: (web2c)tex invocation. Typesetting. * tex: (web2c)tex invocation. Typesetting.
* tftopl: (web2c)TFtoPL invocation. TFM -> property list. * tftopl: (web2c)TFtoPL invocation. TFM -> property list.
* touch: (fileutils)touch invocation. Change file timestamps. * touch: (fileutils)touch invocation. Change file timestamps.
* tput: (tput)Invoking tput. Termcap in shell scripts. * tput: (tput)Invoking tput. Termcap in shell scripts.
* tr: (textutils)tr invocation. Translate characters. * tr: (textutils)tr invocation. Translate characters.
* true: (sh-utils)true invocation. Do nothing, successfully. * true: (sh-utils)true invocation. Do nothing, successfully.
* tty: (sh-utils)tty invocation. Print terminal name. * tty: (sh-utils)tty invocation. Print terminal name.
* uname: (sh-utils)uname invocation. Print system information. * txt2gcal: (gcal)Invoking txt2gcal. Calendar text to resource file.
* unexpand: (textutils)unexpand invocation. Convert spaces to tabs. * uname: (sh-utils)uname invocation. Print system information.
* uniq: (textutils)uniq invocation. Uniqify files. * unexpand: (textutils)unexpand invocation. Convert spaces to tabs.
* uniq: (textutils)uniq invocation. Uniqify files.
* unshar: (sharutils)unshar invocation. Extract from shell archive. * unshar: (sharutils)unshar invocation. Extract from shell archive.
* updatedb: (find)Invoking updatedb. Building the locate database. * updatedb: (find)Invoking updatedb. Building the locate database.
* users: (sh-utils)users invocation. Print current user names. * users: (sh-utils)users invocation. Print current user names.
* vdir: (fileutils)vdir invocation. List directories verbosely. * vdir: (fileutils)vdir invocation. List directories verbosely.
* vftovp: (web2c)VFtoVP invocation. Virtual font -> virtual pl. * vftovp: (web2c)VFtoVP invocation. Virtual font -> virtual pl.
* view-pr: (gnats)Invoking view-pr. Showing bug reports. * view-pr: (gnats)Invoking view-pr. Showing bug reports.
* virmf: (web2c)virmf invocation. Virgin Metafont. * virmf: (web2c)virmf invocation. Virgin Metafont.
* virmp: (web2c)virmp invocation. Virgin MetaPost. * virmp: (web2c)virmp invocation. Virgin MetaPost.
* virtex: (web2c)virtex invocation. Virgin TeX. * virtex: (web2c)virtex invocation. Virgin TeX.
* vptovf: (web2c)VPtoVF invocation. Virtual pl -> virtual font. * vptovf: (web2c)VPtoVF invocation. Virtual pl -> virtual font.
* wc: (textutils)wc invocation. Byte, word, and line counts. * wc: (textutils)wc invocation. Byte, word, and line counts.
* weave: (web2c)Weave invocation. WEB to TeX. * weave: (web2c)Weave invocation. WEB to TeX.
* who: (sh-utils)who invocation. Print who is logged in. * who: (sh-utils)who invocation. Print who is logged in.
* whoami: (sh-utils)whoami invocation. Print effective user id. * whoami: (sh-utils)whoami invocation. Print effective user id.
* xargs: (find)Invoking xargs. Operating on many files. * xargs: (find)Invoking xargs. Operating on many files.
* xgettext: (gettext)xgettext Invocation. Extract strings into a PO file. * xgettext: (gettext)xgettext Invocation. Extract strings into a PO file.
* yes: (sh-utils)yes invocation. Print a string indefinitely. * yes: (sh-utils)yes invocation. Print a string indefinitely.
* zcat: (gzip)Overview. Decompression to stdout. * zcat: (gzip)Overview. Decompression to stdout.

View File

@ -1,11 +1,12 @@
## Makefile.am for texinfo/emacs. ## Makefile.am for texinfo/emacs.
## $Id: Makefile.am,v 1.2 1998/03/24 18:05:32 law Exp $ ## $Id: Makefile.am,v 1.1.1.2 1998/03/24 18:20:38 law Exp $
## Run automake in .. to produce Makefile.in from this. ## Run automake in .. to produce Makefile.in from this.
info_TEXINFOS = info-stnd.texi info.texi texinfo.texi info_TEXINFOS = info-stnd.texi info.texi texinfo.txi
# Use the makeinfo built in our distribution. # Use the programs built in our distribution.
MAKEINFO = ../makeinfo/makeinfo MAKEINFO = ../makeinfo/makeinfo
INSTALL_INFO = ../util/install-info
# Include our texinfo.tex, not Automake's. # Include our texinfo.tex, not Automake's.
EXTRA_DIST = macro.texi userdoc.texi epsf.tex texinfo.tex EXTRA_DIST = macro.texi userdoc.texi epsf.tex texinfo.tex
@ -26,10 +27,10 @@ dist-info:
# since we don't distribute them. # since we don't distribute them.
.texi.info: .texi.info:
$(MAKEINFO) -I$(srcdir) `echo $< | sed 's,.*/,,'` $(MAKEINFO) -I$(srcdir) `echo $< | sed 's,.*/,,'`
texinfo: $(srcdir)/texinfo.texi texinfo: $(srcdir)/texinfo.txi
$(MAKEINFO) -I$(srcdir) texinfo.texi $(MAKEINFO) -I$(srcdir) texinfo.txi
# Do not try to install them from $(srcdir). # Similarly, Do not try to install the info files from $(srcdir).
install-info-am: $(INFO_DEPS) install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(infodir) $(mkinstalldirs) $(infodir)
@ -43,14 +44,14 @@ install-info-am: $(INFO_DEPS)
done; \ done; \
done done
@$(POST_INSTALL) @$(POST_INSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ @if $(SHELL) -c '$(INSTALL_INFO) --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
for file in $(INFO_DEPS); do \ for file in $(INFO_DEPS); do \
echo " install-info --info-dir=$(infodir) $(infodir)/$$file";\ echo " $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/$$file";\
install-info --info-dir=$(infodir) $(infodir)/$$file || :;\ $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/$$file || :;\
done; \ done; \
else : ; fi else : ; fi
# Remove them at make distclean. # Remove the info files at make distclean.
distclean-aminfo: distclean-aminfo:
rm -f texinfo texinfo-* info*.info* rm -f texinfo texinfo-* info*.info*

View File

@ -1,8 +1,14 @@
# Makefile.in generated automatically by automake 1.2 from Makefile.am # Makefile.in generated automatically by automake 1.2f from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. # Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it. # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = /bin/sh
@ -43,27 +49,26 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
NORMAL_INSTALL = true NORMAL_INSTALL = :
PRE_INSTALL = true PRE_INSTALL = :
POST_INSTALL = true POST_INSTALL = :
NORMAL_UNINSTALL = true NORMAL_UNINSTALL = :
PRE_UNINSTALL = true PRE_UNINSTALL = :
POST_UNINSTALL = true POST_UNINSTALL = :
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@ GT_NO = @GT_NO@
GT_YES = @GT_YES@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
MAINT = @MAINT@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
@ -77,10 +82,11 @@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
l = @l@ l = @l@
info_TEXINFOS = info-stnd.texi info.texi texinfo.texi info_TEXINFOS = info-stnd.texi info.texi texinfo.txi
# Use the makeinfo built in our distribution. # Use the programs built in our distribution.
MAKEINFO = ../makeinfo/makeinfo MAKEINFO = ../makeinfo/makeinfo
INSTALL_INFO = ../util/install-info
# Include our texinfo.tex, not Automake's. # Include our texinfo.tex, not Automake's.
EXTRA_DIST = macro.texi userdoc.texi epsf.tex texinfo.tex EXTRA_DIST = macro.texi userdoc.texi epsf.tex texinfo.tex
@ -90,11 +96,11 @@ TEXMF = @TEXMF@
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi` TEXI2DVI = texi2dvi
TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex TEXINFO_TEX = $(srcdir)/texinfo.tex
INFO_DEPS = info-stnd.info info.info texinfo INFO_DEPS = info-stnd.info info.info texinfo
DVIS = info-stnd.dvi info.dvi texinfo.dvi DVIS = info-stnd.dvi info.dvi texinfo.dvi
TEXINFOS = info-stnd.texi info.texi texinfo.texi TEXINFOS = info-stnd.texi info.texi texinfo.txi
DIST_COMMON = README $(info_TEXINFOS) Makefile.am Makefile.in \ DIST_COMMON = README $(info_TEXINFOS) Makefile.am Makefile.in \
texinfo.tex texinfo.tex
@ -106,9 +112,9 @@ GZIP = --best
default: all default: all
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .dvi .info .ps .texi .texinfo .SUFFIXES: .dvi .info .ps .texi .texinfo .txi
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
@ -123,31 +129,48 @@ info.info: info.texi $(info_TEXINFOS)
info.dvi: info.texi $(info_TEXINFOS) info.dvi: info.texi $(info_TEXINFOS)
texinfo: texinfo.texi texinfo: texinfo.txi
texinfo.dvi: texinfo.texi texinfo.dvi: texinfo.txi
DVIPS = dvips DVIPS = dvips
.texi.dvi: .texi.dvi:
TEXINPUTS=$(top_srcdir)/../texinfo:$$TEXINPUTS \ TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.texi: .texi:
@rm -f $@ $@-[0-9] $@-[0-9][0-9] @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
$(MAKEINFO) -I $(srcdir) $< cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo.info: .texinfo.info:
@rm -f $@ $@-[0-9] $@-[0-9][0-9] @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
$(MAKEINFO) -I $(srcdir) $< cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo: .texinfo:
@rm -f $@ $@-[0-9] $@-[0-9][0-9] @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
$(MAKEINFO) -I $(srcdir) $< cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo.dvi: .texinfo.dvi:
TEXINPUTS=$(top_srcdir)/../texinfo:$$TEXINPUTS \ TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.txi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.txi.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.txi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.dvi.ps: .dvi.ps:
$(DVIPS) $< -o $@ $(DVIPS) $< -o $@
@ -157,33 +180,39 @@ uninstall-info:
ii=yes; \ ii=yes; \
else ii=; fi; \ else ii=; fi; \
for file in $(INFO_DEPS); do \ for file in $(INFO_DEPS); do \
test -z $ii || install-info --info-dir=$(infodir) --remove $$file; \ test -z "$ii" \
|| install-info --info-dir=$(infodir) --remove $$file; \
done done
$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
for file in $(INFO_DEPS); do \ for file in $(INFO_DEPS); do \
(cd $(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \ (cd $(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
done done
mostlyclean-aminfo: mostlyclean-aminfo:
rm -f info-stnd.aux info-stnd.cp info-stnd.cps info-stnd.dvi \ -rm -f info-stnd.aux info-stnd.cp info-stnd.cps info-stnd.dvi \
info-stnd.fn info-stnd.fns info-stnd.ky info-stnd.log \ info-stnd.fn info-stnd.fns info-stnd.ky info-stnd.kys \
info-stnd.pg info-stnd.toc info-stnd.tp info-stnd.tps \ info-stnd.ps info-stnd.log info-stnd.pg info-stnd.toc \
info-stnd.vr info-stnd.vrs info-stnd.op info-stnd.tr \ info-stnd.tp info-stnd.tps info-stnd.vr info-stnd.vrs \
info-stnd.cv info.aux info.cp info.cps info.dvi info.fn \ info-stnd.op info-stnd.tr info-stnd.cv info-stnd.cn info.aux \
info.fns info.ky info.log info.pg info.toc info.tp info.tps \ info.cp info.cps info.dvi info.fn info.fns info.ky info.kys \
info.vr info.vrs info.op info.tr info.cv texinfo.aux \ info.ps info.log info.pg info.toc info.tp info.tps info.vr \
info.vrs info.op info.tr info.cv info.cn texinfo.aux \
texinfo.cp texinfo.cps texinfo.dvi texinfo.fn texinfo.fns \ texinfo.cp texinfo.cps texinfo.dvi texinfo.fn texinfo.fns \
texinfo.ky texinfo.log texinfo.pg texinfo.toc texinfo.tp \ texinfo.ky texinfo.kys texinfo.ps texinfo.log texinfo.pg \
texinfo.tps texinfo.vr texinfo.vrs texinfo.op texinfo.tr \ texinfo.toc texinfo.tp texinfo.tps texinfo.vr texinfo.vrs \
texinfo.cv texinfo.op texinfo.tr texinfo.cv texinfo.cn
clean-aminfo: clean-aminfo:
distclean-aminfo: distclean-aminfo:
maintainer-clean-aminfo: maintainer-clean-aminfo:
for i in $(INFO_DEPS); do rm -f `eval echo $$i*`; done for i in $(INFO_DEPS); do \
clean-info: mostlyclean-aminfo rm -f $$i; \
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
rm -f $$i-[0-9]*; \
fi; \
done
tags: TAGS tags: TAGS
TAGS: TAGS:
@ -194,7 +223,7 @@ subdir = doc
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ d=$(srcdir); \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \ || cp -p $$d/$$file $(distdir)/$$file; \
@ -205,45 +234,45 @@ dvi: $(DVIS)
check: all check: all
$(MAKE) $(MAKE)
installcheck: installcheck:
install-info: install-info-am
install-exec: install-exec:
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
install-data: install-data-local install-data: install-info-am install-data-local
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
install: install-exec install-data all install: install-exec install-data all
@: @:
uninstall: uninstall: uninstall-info
all: Makefile all: Makefile $(INFO_DEPS)
install-strip: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
installdirs: installdirs:
$(mkinstalldirs) $(infodir)
mostlyclean-generic: mostlyclean-generic:
test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(DISTCLEANFILES)
rm -f config.cache config.log stamp-h stamp-h[0-9]* -rm -f config.cache config.log stamp-h stamp-h[0-9]*
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-aminfo mostlyclean-generic mostlyclean: mostlyclean-aminfo mostlyclean-generic
clean: clean-aminfo clean-generic mostlyclean clean: clean-aminfo clean-generic mostlyclean
distclean: distclean-aminfo distclean-generic clean distclean: distclean-aminfo distclean-generic clean
rm -f config.status -rm -f config.status
maintainer-clean: maintainer-clean-aminfo maintainer-clean-generic \ maintainer-clean: maintainer-clean-aminfo maintainer-clean-generic \
distclean distclean
@ -252,10 +281,9 @@ maintainer-clean: maintainer-clean-aminfo maintainer-clean-generic \
.PHONY: default install-info-am uninstall-info mostlyclean-aminfo \ .PHONY: default install-info-am uninstall-info mostlyclean-aminfo \
distclean-aminfo clean-aminfo maintainer-clean-aminfo tags distdir info \ distclean-aminfo clean-aminfo maintainer-clean-aminfo tags distdir info \
dvi installcheck install-info install-exec install-data install \ dvi installcheck install-exec install-data install uninstall all \
uninstall all installdirs mostlyclean-generic distclean-generic \ installdirs mostlyclean-generic distclean-generic clean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean
maintainer-clean
install-data-local: install-data-local:
@ -271,10 +299,10 @@ dist-info:
# since we don't distribute them. # since we don't distribute them.
.texi.info: .texi.info:
$(MAKEINFO) -I$(srcdir) `echo $< | sed 's,.*/,,'` $(MAKEINFO) -I$(srcdir) `echo $< | sed 's,.*/,,'`
texinfo: $(srcdir)/texinfo.texi texinfo: $(srcdir)/texinfo.txi
$(MAKEINFO) -I$(srcdir) texinfo.texi $(MAKEINFO) -I$(srcdir) texinfo.txi
# Do not try to install them from $(srcdir). # Similarly, Do not try to install the info files from $(srcdir).
install-info-am: $(INFO_DEPS) install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(infodir) $(mkinstalldirs) $(infodir)
@ -288,14 +316,14 @@ install-info-am: $(INFO_DEPS)
done; \ done; \
done done
@$(POST_INSTALL) @$(POST_INSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ @if $(SHELL) -c '$(INSTALL_INFO) --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
for file in $(INFO_DEPS); do \ for file in $(INFO_DEPS); do \
echo " install-info --info-dir=$(infodir) $(infodir)/$$file";\ echo " $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/$$file";\
install-info --info-dir=$(infodir) $(infodir)/$$file || :;\ $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/$$file || :;\
done; \ done; \
else : ; fi else : ; fi
# Remove them at make distclean. # Remove the info files at make distclean.
distclean-aminfo: distclean-aminfo:
rm -f texinfo texinfo-* info*.info* rm -f texinfo texinfo-* info*.info*

View File

@ -1,5 +1,6 @@
This directory contains documentation on the Texinfo system and the TeX This directory contains documentation on the Texinfo system and the TeX
sources needed to process Texinfo sources. sources needed to process Texinfo sources. (Use texi2dvi to run a
Texinfo manual through TeX to produce a DVI file.)
The .tex files are not installed automatically because TeX installations The .tex files are not installed automatically because TeX installations
vary so widely. Installing them in the wrong place would give a false vary so widely. Installing them in the wrong place would give a false

View File

@ -9,7 +9,7 @@
@synindex fn cp @synindex fn cp
@synindex ky cp @synindex ky cp
@comment %**end of header @comment %**end of header
@comment $Id: info-stnd.texi,v 1.2 1998/03/24 18:05:36 law Exp $ @comment $Id: info-stnd.texi,v 1.1.1.2 1998/03/24 18:20:36 law Exp $
@dircategory Texinfo documentation system @dircategory Texinfo documentation system
@direntry @direntry

View File

@ -3,7 +3,7 @@
@setfilename info.info @setfilename info.info
@settitle Info 1.0 @settitle Info 1.0
@comment %**end of header @comment %**end of header
@comment $Id: info.texi,v 1.2 1998/03/24 18:05:37 law Exp $ @comment $Id: info.texi,v 1.1.1.2 1998/03/24 18:20:37 law Exp $
@dircategory Texinfo documentation system @dircategory Texinfo documentation system
@direntry @direntry

View File

@ -1,32 +1,40 @@
%% TeX macros to handle Texinfo files. % texinfo.tex -- TeX macros to handle Texinfo files.
%% $Id: texinfo.tex,v 1.2 1998/03/24 18:05:39 law Exp $ % $Id: texinfo.tex,v 1.1.1.2 1998/03/24 18:20:39 law Exp $
%
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98
% 94, 95, 96, 97 Free Software Foundation, Inc. % Free Software Foundation, Inc.
%
%This texinfo.tex file is free software; you can redistribute it and/or % This texinfo.tex file is free software; you can redistribute it and/or
%modify it under the terms of the GNU General Public License as % modify it under the terms of the GNU General Public License as
%published by the Free Software Foundation; either version 2, or (at % published by the Free Software Foundation; either version 2, or (at
%your option) any later version. % your option) any later version.
%
%This texinfo.tex file is distributed in the hope that it will be % This texinfo.tex file is distributed in the hope that it will be
%useful, but WITHOUT ANY WARRANTY; without even the implied warranty % useful, but WITHOUT ANY WARRANTY; without even the implied warranty
%of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU % of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%General Public License for more details. % General Public License for more details.
%
%You should have received a copy of the GNU General Public License % You should have received a copy of the GNU General Public License
%along with this texinfo.tex file; see the file COPYING. If not, write % along with this texinfo.tex file; see the file COPYING. If not, write
%to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, % to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
%Boston, MA 02111-1307, USA. % Boston, MA 02111-1307, USA.
%
% In other words, you are welcome to use, share and improve this program.
%In other words, you are welcome to use, share and improve this program. % You are forbidden to forbid anyone else to use, share and improve
%You are forbidden to forbid anyone else to use, share and improve % what you give them. Help stamp out software-hoarding!
%what you give them. Help stamp out software-hoarding! %
% Please try the latest version of texinfo.tex before submitting bug
% reports; you can get the latest version from:
% Send bug reports to bug-texinfo@prep.ai.mit.edu. % ftp://ftp.cs.umb.edu/pub/tex/texinfo.tex
% Please include a *precise* test case in each bug report. % /home/gd/gnu/doc/texinfo.tex on the GNU machines.
%
% Send bug reports to bug-texinfo@gnu.org.
% Please include a precise test case in each bug report,
% including a complete document with which we can reproduce the problem.
%
% Texinfo macros (with @macro) are *not* supported by texinfo.tex. You
% have to run makeinfo -E to expand macros first; the texi2dvi script
% does this.
% Make it possible to create a .fmt file just by loading this file: % Make it possible to create a .fmt file just by loading this file:
@ -36,7 +44,7 @@
% This automatically updates the version number based on RCS. % This automatically updates the version number based on RCS.
\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}} \def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
\deftexinfoversion$Revision: 1.2 $ \deftexinfoversion$Revision: 1.1.1.2 $
\message{Loading texinfo package [Version \texinfoversion]:} \message{Loading texinfo package [Version \texinfoversion]:}
% If in a .fmt file, print the version number % If in a .fmt file, print the version number
@ -54,7 +62,8 @@
\let\ptexdot=\. \let\ptexdot=\.
\let\ptexdots=\dots \let\ptexdots=\dots
\let\ptexend=\end \let\ptexend=\end
\let\ptexequiv = \equiv \let\ptexequiv=\equiv
\let\ptexexclam=\!
\let\ptexi=\i \let\ptexi=\i
\let\ptexlbrace=\{ \let\ptexlbrace=\{
\let\ptexrbrace=\} \let\ptexrbrace=\}
@ -441,14 +450,11 @@
% @. is an end-of-sentence period. % @. is an end-of-sentence period.
\def\.{.\spacefactor=3000 } \def\.{.\spacefactor=3000 }
% @enddots{} is an end-of-sentence ellipsis.
\gdef\enddots{$\mathinner{\ldotp\ldotp\ldotp\ldotp}$\spacefactor=3000}
% @! is an end-of-sentence bang. % @! is an end-of-sentence bang.
\gdef\!{!\spacefactor=3000 } \def\!{!\spacefactor=3000 }
% @? is an end-of-sentence query. % @? is an end-of-sentence query.
\gdef\?{?\spacefactor=3000 } \def\?{?\spacefactor=3000 }
% @w prevents a word break. Without the \leavevmode, @w at the % @w prevents a word break. Without the \leavevmode, @w at the
% beginning of a paragraph, when TeX is still in vertical mode, would % beginning of a paragraph, when TeX is still in vertical mode, would
@ -573,9 +579,27 @@ where each line of input produces a line of output.}
\let\br = \par \let\br = \par
% @dots{} output some dots % @dots{} output an ellipsis using the current font.
% We do .5em per period so that it has the same spacing in a typewriter
% font as three actual period characters.
%
\def\dots{\hbox to 1.5em{%
\hskip 0pt plus 0.25fil minus 0.25fil
.\hss.\hss.%
\hskip 0pt plus 0.5fil minus 0.5fil
}}
% @enddots{} is an end-of-sentence ellipsis.
%
\def\enddots{%
\hbox to 2em{%
\hskip 0pt plus 0.25fil minus 0.25fil
.\hss.\hss.\hss.%
\hskip 0pt plus 0.5fil minus 0.5fil
}%
\spacefactor=3000
}
\def\dots{$\ldots$}
% @page forces the start of a new page % @page forces the start of a new page
@ -1236,7 +1260,7 @@ where each line of input produces a line of output.}
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
\let\tenttsl=\titlettsl \let\tenttsl=\titlettsl
\resetmathfonts \setleading{25pt}} \resetmathfonts \setleading{25pt}}
\def\titlefont#1{{\titlefonts #1}} \def\titlefont#1{{\titlefonts\rm #1}}
\def\chapfonts{% \def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
@ -1263,6 +1287,10 @@ where each line of input produces a line of output.}
% %
\textfonts \textfonts
% Define these so they can be easily changed for other fonts.
\def\angleleft{$\langle$}
\def\angleright{$\rangle$}
% Count depth in font-changes, for error checks % Count depth in font-changes, for error checks
\newcount\fontdepth \fontdepth=0 \newcount\fontdepth \fontdepth=0
@ -1300,15 +1328,15 @@ where each line of input produces a line of output.}
\null \null
} }
\let\ttfont=\t \let\ttfont=\t
\def\samp #1{`\tclose{#1}'\null} \def\samp#1{`\tclose{#1}'\null}
\setfont\smallrm\rmshape{8}{1000} \setfont\smallrm\rmshape{8}{1000}
\font\smallsy=cmsy9 \font\smallsy=cmsy9
\def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{% \def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{%
\raise0.4pt\hbox{$\langle$}\kern-.08em\vtop{% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
\vbox{\hrule\kern-0.4pt \vbox{\hrule\kern-0.4pt
\hbox{\raise0.4pt\hbox{\vphantom{$\langle$}}#1}}% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
\kern-0.4pt\hrule}% \kern-0.4pt\hrule}%
\kern-.06em\raise0.4pt\hbox{$\rangle$}}}} \kern-.06em\raise0.4pt\hbox{\angleright}}}}
% The old definition, with no lozenge: % The old definition, with no lozenge:
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
\def\ctrl #1{{\tt \rawbackslash \hat}#1} \def\ctrl #1{{\tt \rawbackslash \hat}#1}
@ -1421,7 +1449,7 @@ where each line of input produces a line of output.}
% rms does not like the angle brackets --karl, 17may97. % rms does not like the angle brackets --karl, 17may97.
% So now @email is just like @uref. % So now @email is just like @uref.
%\def\email#1{$\langle${\tt #1}$\rangle$} %\def\email#1{\angleleft{\tt #1}\angleright}
\let\email=\uref \let\email=\uref
% Check if we are currently using a typewriter font. Since all the % Check if we are currently using a typewriter font. Since all the
@ -2043,10 +2071,7 @@ July\or August\or September\or October\or November\or December\fi
% @multitablelinespace is space to leave between table items, baseline % @multitablelinespace is space to leave between table items, baseline
% to baseline. % to baseline.
% 0pt means it depends on current normal line spacing. % 0pt means it depends on current normal line spacing.
%
%%%%
% Dimensions
\newskip\multitableparskip \newskip\multitableparskip
\newskip\multitableparindent \newskip\multitableparindent
\newdimen\multitablecolspace \newdimen\multitablecolspace
@ -2056,15 +2081,15 @@ July\or August\or September\or October\or November\or December\fi
\multitablecolspace=12pt \multitablecolspace=12pt
\multitablelinespace=0pt \multitablelinespace=0pt
%%%%
% Macros used to set up halign preamble: % Macros used to set up halign preamble:
%
\let\endsetuptable\relax \let\endsetuptable\relax
\def\xendsetuptable{\endsetuptable} \def\xendsetuptable{\endsetuptable}
\let\columnfractions\relax \let\columnfractions\relax
\def\xcolumnfractions{\columnfractions} \def\xcolumnfractions{\columnfractions}
\newif\ifsetpercent \newif\ifsetpercent
%% 2/1/96, to allow fractions to be given with more than one digit. % 2/1/96, to allow fractions to be given with more than one digit.
\def\pickupwholefraction#1 {\global\advance\colcount by1 % \def\pickupwholefraction#1 {\global\advance\colcount by1 %
\expandafter\xdef\csname col\the\colcount\endcsname{.#1\hsize}% \expandafter\xdef\csname col\the\colcount\endcsname{.#1\hsize}%
\setuptable} \setuptable}
@ -2090,80 +2115,84 @@ July\or August\or September\or October\or November\or December\fi
\ifx\go\pickupwholefraction\else\let\go\setuptable\fi% \ifx\go\pickupwholefraction\else\let\go\setuptable\fi%
\fi\go} \fi\go}
%%%%
% multitable syntax % multitable syntax
\def\tab{&\hskip1sp\relax} % 2/2/96 \def\tab{&\hskip1sp\relax} % 2/2/96
% tiny skip here makes sure this column space is % tiny skip here makes sure this column space is
% maintained, even if it is never used. % maintained, even if it is never used.
%%%%
% @multitable ... @end multitable definitions: % @multitable ... @end multitable definitions:
\def\multitable{\parsearg\dotable} \def\multitable{\parsearg\dotable}
\def\dotable#1{\bgroup \def\dotable#1{\bgroup
\let\item\cr \vskip\parskip
\tolerance=9500 \let\item\crcr
\hbadness=9500 \tolerance=9500
\setmultitablespacing \hbadness=9500
\parskip=\multitableparskip \setmultitablespacing
\parindent=\multitableparindent \parskip=\multitableparskip
\overfullrule=0pt \parindent=\multitableparindent
\global\colcount=0\relax% \overfullrule=0pt
\def\Emultitable{\global\setpercentfalse\global\everycr{}\cr\egroup\egroup}% \global\colcount=0
% To parse everything between @multitable and @item : \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}%
\setuptable#1 \endsetuptable %
% Need to reset this to 0 after \setuptable. % To parse everything between @multitable and @item:
\global\colcount=0\relax% \setuptable#1 \endsetuptable
% %
% This preamble sets up a generic column definition, which will % \everycr will reset column counter, \colcount, at the end of
% be used as many times as user calls for columns. % each line. Every column entry will cause \colcount to advance by one.
% \vtop will set a single line and will also let text wrap and % The table preamble
% continue for many paragraphs if desired. % looks at the current \colcount to find the correct column width.
\halign\bgroup&\global\advance\colcount by 1\relax% \everycr{\noalign{%
\multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname %
% In order to keep entries from bumping into each other % \filbreak%% keeps underfull box messages off when table breaks over pages.
% we will add a \leftskip of \multitablecolspace to all columns after % Maybe so, but it also creates really weird page breaks when the table
% the first one. % breaks over pages. Wouldn't \vfil be better? Wait until the problem
% If a template has been used, we will add \multitablecolspace % manifests itself, so it can be fixed for real --karl.
% to the width of each template entry. \global\colcount=0\relax}}%
% If user has set preamble in terms of percent of \hsize %
% we will use that dimension as the width of the column, and % This preamble sets up a generic column definition, which will
% the \leftskip will keep entries from bumping into each other. % be used as many times as user calls for columns.
% Table will start at left margin and final column will justify at % \vtop will set a single line and will also let text wrap and
% right margin. % continue for many paragraphs if desired.
\ifnum\colcount=1 \halign\bgroup&\global\advance\colcount by 1\relax
\else \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
\ifsetpercent %
% In order to keep entries from bumping into each other
% we will add a \leftskip of \multitablecolspace to all columns after
% the first one.
%
% If a template has been used, we will add \multitablecolspace
% to the width of each template entry.
%
% If the user has set preamble in terms of percent of \hsize we will
% use that dimension as the width of the column, and the \leftskip
% will keep entries from bumping into each other. Table will start at
% left margin and final column will justify at right margin.
%
% Make sure we don't inherit \rightskip from the outer environment.
\rightskip=0pt
\ifnum\colcount=1
% The first column will be indented with the surrounding text.
\advance\hsize by\leftskip
\else \else
% If user has <not> set preamble in terms of percent of \hsize \ifsetpercent \else
% we will advance \hsize by \multitablecolspace % If user has not set preamble in terms of percent of \hsize
\advance\hsize by \multitablecolspace % we will advance \hsize by \multitablecolspace.
\advance\hsize by \multitablecolspace
\fi
% In either case we will make \leftskip=\multitablecolspace:
\leftskip=\multitablecolspace
\fi \fi
% In either case we will make \leftskip=\multitablecolspace: % Ignoring space at the beginning and end avoids an occasional spurious
\leftskip=\multitablecolspace % blank line, when TeX decides to break the line at the space before the
\fi % box from the multistrut, so the strut ends up on a line by itself.
% Ignoring space at the beginning and end avoids an occasional spurious % For example:
% blank line, when TeX decides to break the line at the space before the % @multitable @columnfractions .11 .89
% box from the multistrut, so the strut ends up on a line by itself. % @item @code{#}
% For example: % @tab Legal holiday which is valid in major parts of the whole country.
% @multitable @columnfractions .11 .89 % Is automatically provided with highlighting sequences respectively marking
% @item @code{#} % characters.
% @tab Legal holiday which is valid in major parts of the whole country. \noindent\ignorespaces##\unskip\multistrut}\cr
% Is automatically provided with highlighting sequences respectively marking
% characters.
\noindent\ignorespaces##\unskip\multistrut}\cr
% \everycr will reset column counter, \colcount, at the end of
% each line. Every column entry will cause \colcount to advance by one.
% The table preamble
% looks at the current \colcount to find the correct column width.
\global\everycr{\noalign{%
% \filbreak%% keeps underfull box messages off when table breaks over pages.
% Maybe so, but it also creates really weird page breaks when the table
% breaks over pages Wouldn't \vfil be better? Wait until the problem
% manifests itself, so it can be fixed for real --karl.
\global\colcount=0\relax}}
} }
\def\setmultitablespacing{% test to see if user has set \multitablelinespace. \def\setmultitablespacing{% test to see if user has set \multitablelinespace.
@ -2510,6 +2539,11 @@ width0pt\relax} \fi
\indexbreaks \indexbreaks
% %
% See if the index file exists and is nonempty. % See if the index file exists and is nonempty.
% Change catcode of @ here so that if the index file contains
% \initial {@}
% as its first line, TeX doesn't complain about mismatched braces
% (because it thinks @} is a control sequence).
\catcode`\@ = 11
\openin 1 \jobname.#1s \openin 1 \jobname.#1s
\ifeof 1 \ifeof 1
% \enddoublecolumns gets confused if there is no text in the index, % \enddoublecolumns gets confused if there is no text in the index,
@ -2531,7 +2565,6 @@ width0pt\relax} \fi
% to make right now. % to make right now.
\def\indexbackslash{\rawbackslashxx}% \def\indexbackslash{\rawbackslashxx}%
\catcode`\\ = 0 \catcode`\\ = 0
\catcode`\@ = 11
\escapechar = `\\ \escapechar = `\\
\begindoublecolumns \begindoublecolumns
\input \jobname.#1s \input \jobname.#1s
@ -3427,11 +3460,12 @@ width0pt\relax} \fi
% the index entries, but we want to suppress hyphenation here. (We % the index entries, but we want to suppress hyphenation here. (We
% can't do that in the \entry macro, since index entries might consist % can't do that in the \entry macro, since index entries might consist
% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.) % of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
%
% \turnoffactive is for the sake of @" used for umlauts.
\def\tocentry#1#2{\begingroup \def\tocentry#1#2{\begingroup
\vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
\entry{\turnoffactive #1}{\turnoffactive #2}% % Do not use \turnoffactive in these arguments. Since the toc is
% typeset in cmr, so characters such as _ would come out wrong; we
% have to do the usual translation tricks.
\entry{#1}{#2}%
\endgroup} \endgroup}
% Space between chapter (or whatever) number and the title. % Space between chapter (or whatever) number and the title.
@ -3497,30 +3531,35 @@ width0pt\relax} \fi
% But \@ or @@ will get a plain tex @ character. % But \@ or @@ will get a plain tex @ character.
\def\tex{\begingroup \def\tex{\begingroup
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
\catcode `\%=14 \catcode `\%=14
\catcode 43=12 % plus \catcode 43=12 % plus
\catcode`\"=12 \catcode`\"=12
\catcode`\==12 \catcode`\==12
\catcode`\|=12 \catcode`\|=12
\catcode`\<=12 \catcode`\<=12
\catcode`\>=12 \catcode`\>=12
\escapechar=`\\ \escapechar=`\\
% %
\let\,=\ptexcomma \let\b=\ptexb
\let\{=\ptexlbrace \let\bullet=\ptexbullet
\let\}=\ptexrbrace \let\c=\ptexc
\let\.=\ptexdot \let\,=\ptexcomma
\let\*=\ptexstar \let\.=\ptexdot
\let\dots=\ptexdots \let\dots=\ptexdots
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \let\equiv=\ptexequiv
\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \let\!=\ptexexclam
\def\@{@}% \let\i=\ptexi
\let\bullet=\ptexbullet \let\{=\ptexlbrace
\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext \let\}=\ptexrbrace
% \let\*=\ptexstar
\let\t=\ptext
%
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
\def\@{@}%
\let\Etex=\endgroup} \let\Etex=\endgroup}
% Define @lisp ... @endlisp. % Define @lisp ... @endlisp.
@ -4373,7 +4412,7 @@ width0pt\relax} \fi
\def\refx#1#2{% \def\refx#1#2{%
\expandafter\ifx\csname X#1\endcsname\relax \expandafter\ifx\csname X#1\endcsname\relax
% If not defined, say something at least. % If not defined, say something at least.
$\langle$un\-de\-fined$\rangle$% \angleleft un\-de\-fined\angleright
\ifhavexrefs \ifhavexrefs
\message{\linenumber Undefined cross reference `#1'.}% \message{\linenumber Undefined cross reference `#1'.}%
\else \else
@ -4390,10 +4429,13 @@ width0pt\relax} \fi
} }
% This is the macro invoked by entries in the aux file. % This is the macro invoked by entries in the aux file.
\def\xrdef #1#2{{% %
\catcode`\'=\other \def\xrdef#1{\begingroup
\expandafter\gdef\csname X#1\endcsname{#2}% % Reenable \ as an escape while reading the second argument.
}} \catcode`\\ = 0
\afterassignment\endgroup
\expandafter\gdef\csname X#1\endcsname
}
% Read the last existing aux file, if any. No error if none exists. % Read the last existing aux file, if any. No error if none exists.
\def\readauxfile{\begingroup \def\readauxfile{\begingroup
@ -4617,7 +4659,7 @@ width0pt\relax} \fi
% Check for and read epsf.tex up front. If we read it only at @image % Check for and read epsf.tex up front. If we read it only at @image
% time, we might be inside a group, and then its definitions would get % time, we might be inside a group, and then its definitions would get
% undone and the next image would fail. % undone and the next image would fail.
\openin 1 = xepsf.tex \openin 1 = epsf.tex
\ifeof 1 \else \ifeof 1 \else
\closein 1 \closein 1
\def\epsfannounce{\toks0 = }% do not bother showing banner \def\epsfannounce{\toks0 = }% do not bother showing banner

View File

@ -1,5 +1,5 @@
## Makefile.am for texinfo/info. ## Makefile.am for texinfo/info.
## $Id: Makefile.am,v 1.2 1998/03/24 18:05:58 law Exp $ ## $Id: Makefile.am,v 1.1.1.2 1998/03/24 18:20:06 law Exp $
## Run automake in .. to produce Makefile.in from this. ## Run automake in .. to produce Makefile.in from this.
noinst_PROGRAMS = makedoc noinst_PROGRAMS = makedoc
@ -13,7 +13,10 @@ transform = s/ginfo/info/; @program_transform_name@
localedir = $(datadir)/locale localedir = $(datadir)/locale
# -I. for funs.h. # -I. for funs.h.
INCLUDES = -I. -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" # Automake puts -I.. and -I$(srcdir) into DEFS by default, but
# we need to override it, so include them ourselves.
INCLUDES = -I. -I$(top_srcdir)/lib -I../intl -I.. -I$(srcdir)
DEFS = -DINFODIR=\"$(infodir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@
LDADD = ../lib/libtxi.a @TERMLIBS@ @INTLLIBS@ LDADD = ../lib/libtxi.a @TERMLIBS@ @INTLLIBS@
makedoc_SOURCES = makedoc.c makedoc_SOURCES = makedoc.c
@ -32,13 +35,11 @@ EXTRA_DIST = README
# files which contain DECLARE_INFO_COMMAND. `funs.h' is a header file # files which contain DECLARE_INFO_COMMAND. `funs.h' is a header file
# listing the functions found. `doc.c' is a structure containing pointers # listing the functions found. `doc.c' is a structure containing pointers
# to those functions along with completable names and documentation strings. # to those functions along with completable names and documentation strings.
# BUILT_SOURCES = doc.c funs.h
# I do not know how to get this right.
# BUILT_SOURCES = doc.c funs.h cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
# $(srcdir)/m-x.c $(srcdir)/indices.c $(srcdir)/nodemenu.c \
#cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \ $(srcdir)/footnotes.c $(srcdir)/variables.c
# $(srcdir)/m-x.c $(srcdir)/indices.c $(srcdir)/nodemenu.c \
# $(srcdir)/footnotes.c $(srcdir)/variables.c $(BUILT_SOURCES): makedoc $(cmd_sources)
# ./makedoc $(cmd_sources)
#$(BUILTSOURCES): makedoc $(cmd_sources)
# ./makedoc $(cmd_sources)

View File

@ -1,8 +1,14 @@
# Makefile.in generated automatically by automake 1.2 from Makefile.am # Makefile.in generated automatically by automake 1.2f from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. # Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it. # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = /bin/sh
@ -42,27 +48,26 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
NORMAL_INSTALL = true NORMAL_INSTALL = :
PRE_INSTALL = true PRE_INSTALL = :
POST_INSTALL = true POST_INSTALL = :
NORMAL_UNINSTALL = true NORMAL_UNINSTALL = :
PRE_UNINSTALL = true PRE_UNINSTALL = :
POST_UNINSTALL = true POST_UNINSTALL = :
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@ GT_NO = @GT_NO@
GT_YES = @GT_YES@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
@ -89,7 +94,10 @@ transform = s/ginfo/info/; @program_transform_name@
localedir = $(datadir)/locale localedir = $(datadir)/locale
# -I. for funs.h. # -I. for funs.h.
INCLUDES = -I. -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" # Automake puts -I.. and -I$(srcdir) into DEFS by default, but
# we need to override it, so include them ourselves.
INCLUDES = -I. -I$(top_srcdir)/lib -I../intl -I.. -I$(srcdir)
DEFS = -DINFODIR=\"$(infodir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@
LDADD = ../lib/libtxi.a @TERMLIBS@ @INTLLIBS@ LDADD = ../lib/libtxi.a @TERMLIBS@ @INTLLIBS@
makedoc_SOURCES = makedoc.c makedoc_SOURCES = makedoc.c
@ -103,15 +111,21 @@ ginfo_SOURCES = dir.c display.c display.h doc.c doc.h dribble.c dribble.h \
variables.c variables.h window.c window.h variables.c variables.h window.c window.h
EXTRA_DIST = README EXTRA_DIST = README
# The files `doc.c' and `funs.h' are created by ./makedoc run over the source
# files which contain DECLARE_INFO_COMMAND. `funs.h' is a header file
# listing the functions found. `doc.c' is a structure containing pointers
# to those functions along with completable names and documentation strings.
BUILT_SOURCES = doc.c funs.h
cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
$(srcdir)/m-x.c $(srcdir)/indices.c $(srcdir)/nodemenu.c \
$(srcdir)/footnotes.c $(srcdir)/variables.c
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
bin_PROGRAMS = ginfo$(EXEEXT)
noinst_PROGRAMS = makedoc$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
@ -142,9 +156,9 @@ OBJECTS = $(ginfo_OBJECTS) $(makedoc_OBJECTS)
default: all default: all
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .c .o .SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --cygnus info/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps info/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
@ -154,7 +168,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
mostlyclean-binPROGRAMS: mostlyclean-binPROGRAMS:
clean-binPROGRAMS: clean-binPROGRAMS:
test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
distclean-binPROGRAMS: distclean-binPROGRAMS:
@ -171,7 +185,7 @@ install-binPROGRAMS: $(bin_PROGRAMS)
done done
uninstall-binPROGRAMS: uninstall-binPROGRAMS:
$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \ list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
done done
@ -179,7 +193,7 @@ uninstall-binPROGRAMS:
mostlyclean-noinstPROGRAMS: mostlyclean-noinstPROGRAMS:
clean-noinstPROGRAMS: clean-noinstPROGRAMS:
test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
distclean-noinstPROGRAMS: distclean-noinstPROGRAMS:
@ -188,41 +202,52 @@ maintainer-clean-noinstPROGRAMS:
.c.o: .c.o:
$(COMPILE) -c $< $(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile: mostlyclean-compile:
rm -f *.o core -rm -f *.o core *.core
clean-compile: clean-compile:
distclean-compile: distclean-compile:
rm -f *.tab.c -rm -f *.tab.c
maintainer-clean-compile: maintainer-clean-compile:
ginfo$(EXEEXT): $(ginfo_OBJECTS) $(ginfo_DEPENDENCIES) ginfo: $(ginfo_OBJECTS) $(ginfo_DEPENDENCIES)
@rm -f ginfo$(EXEEXT) @rm -f ginfo
$(LINK) $(ginfo_LDFLAGS) $(ginfo_OBJECTS) $(ginfo_LDADD) $(LIBS) $(LINK) $(ginfo_LDFLAGS) $(ginfo_OBJECTS) $(ginfo_LDADD) $(LIBS)
makedoc$(EXEEXT): $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES) makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
@rm -f makedoc$(EXEEXT) @rm -f makedoc
$(LINK) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS) $(LINK) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS)
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) ID: $(HEADERS) $(SOURCES) $(LISP)
here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS) here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \ list='$(SOURCES) $(HEADERS)'; \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $(SOURCES) $(HEADERS) -o $$here/TAGS) unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags: mostlyclean-tags:
clean-tags: clean-tags:
distclean-tags: distclean-tags:
rm -f TAGS ID -rm -f TAGS ID
maintainer-clean-tags: maintainer-clean-tags:
@ -232,17 +257,112 @@ subdir = info
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ d=$(srcdir); \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \ || cp -p $$d/$$file $(distdir)/$$file; \
done done
dir.o: dir.c info.h ../lib/system.h ../config.h filesys.h display.h \
info-utils.h nodes.h window.h infomap.h search.h terminal.h \
session.h dribble.h echo-area.h doc.h footnotes.h gc.h tilde.h
display.o: display.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
doc.o: doc.c doc.h info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h footnotes.h gc.h \
funs.h
dribble.o: dribble.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
echo-area.o: echo-area.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
filesys.o: filesys.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h tilde.h
footnotes.o: footnotes.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
gc.o: gc.c info.h ../lib/system.h ../config.h filesys.h display.h \
info-utils.h nodes.h window.h infomap.h search.h terminal.h \
session.h dribble.h echo-area.h doc.h footnotes.h gc.h
indices.o: indices.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h indices.h
info-utils.o: info-utils.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h man.h
info.o: info.c info.h ../lib/system.h ../config.h filesys.h display.h \
info-utils.h nodes.h window.h infomap.h search.h terminal.h \
session.h dribble.h echo-area.h doc.h footnotes.h gc.h \
indices.h ../lib/getopt.h man.h
infodoc.o: infodoc.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
infomap.o: infomap.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h funs.h
m-x.o: m-x.c info.h ../lib/system.h ../config.h filesys.h display.h \
info-utils.h nodes.h window.h infomap.h search.h terminal.h \
session.h dribble.h echo-area.h doc.h footnotes.h gc.h
makedoc.o: makedoc.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
man.o: man.c info.h ../lib/system.h ../config.h filesys.h display.h \
info-utils.h nodes.h window.h infomap.h search.h terminal.h \
session.h dribble.h echo-area.h doc.h footnotes.h gc.h \
signals.h tilde.h man.h
nodemenu.o: nodemenu.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
nodes.o: nodes.c info.h ../lib/system.h ../config.h filesys.h display.h \
info-utils.h nodes.h window.h infomap.h search.h terminal.h \
session.h dribble.h echo-area.h doc.h footnotes.h gc.h man.h
search.o: search.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
session.o: session.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h man.h
signals.o: signals.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h signals.h
terminal.o: terminal.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h termdep.h
tilde.o: tilde.c info.h ../lib/system.h ../config.h filesys.h display.h \
info-utils.h nodes.h window.h infomap.h search.h terminal.h \
session.h dribble.h echo-area.h doc.h footnotes.h gc.h
variables.o: variables.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h variables.h
window.o: window.c info.h ../lib/system.h ../config.h filesys.h \
display.h info-utils.h nodes.h window.h infomap.h search.h \
terminal.h session.h dribble.h echo-area.h doc.h footnotes.h \
gc.h
info: info:
dvi: dvi:
check: all check: all
$(MAKE) $(MAKE)
installcheck: installcheck:
install-info:
install-exec: install-binPROGRAMS install-exec: install-binPROGRAMS
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
@ -263,19 +383,19 @@ installdirs:
mostlyclean-generic: mostlyclean-generic:
test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(DISTCLEANFILES)
rm -f config.cache config.log stamp-h stamp-h[0-9]* -rm -f config.cache config.log stamp-h stamp-h[0-9]*
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \ mostlyclean: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
mostlyclean-compile mostlyclean-tags \ mostlyclean-compile mostlyclean-tags \
mostlyclean-generic mostlyclean-generic
@ -286,7 +406,7 @@ clean: clean-binPROGRAMS clean-noinstPROGRAMS clean-compile clean-tags \
distclean: distclean-binPROGRAMS distclean-noinstPROGRAMS \ distclean: distclean-binPROGRAMS distclean-noinstPROGRAMS \
distclean-compile distclean-tags distclean-generic \ distclean-compile distclean-tags distclean-generic \
clean clean
rm -f config.status -rm -f config.status
maintainer-clean: maintainer-clean-binPROGRAMS \ maintainer-clean: maintainer-clean-binPROGRAMS \
maintainer-clean-noinstPROGRAMS \ maintainer-clean-noinstPROGRAMS \
@ -302,25 +422,13 @@ clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \ mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile tags mostlyclean-tags distclean-tags \ maintainer-clean-compile tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir info dvi installcheck \ clean-tags maintainer-clean-tags distdir info dvi installcheck \
install-info install-exec install-data install uninstall all \ install-exec install-data install uninstall all installdirs \
installdirs mostlyclean-generic distclean-generic clean-generic \ mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# The files `doc.c' and `funs.h' are created by ./makedoc run over the source $(BUILT_SOURCES): makedoc $(cmd_sources)
# files which contain DECLARE_INFO_COMMAND. `funs.h' is a header file ./makedoc $(cmd_sources)
# listing the functions found. `doc.c' is a structure containing pointers
# to those functions along with completable names and documentation strings.
#
# I do not know how to get this right.
# BUILT_SOURCES = doc.c funs.h
#
#cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
# $(srcdir)/m-x.c $(srcdir)/indices.c $(srcdir)/nodemenu.c \
# $(srcdir)/footnotes.c $(srcdir)/variables.c
#
#$(BUILTSOURCES): makedoc $(cmd_sources)
# ./makedoc $(cmd_sources)
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -6,8 +6,7 @@ maintain, and thus decided to write this one.
The rewrite consists of about 12,000 lines of code written in about 12 The rewrite consists of about 12,000 lines of code written in about 12
days. I believe this version of Info to be in much better shape than the days. I believe this version of Info to be in much better shape than the
original Info, and the only reason it is in Beta test is because of its original Info.
short life span.
Info 2.0 is substantially different from its original standalone Info 2.0 is substantially different from its original standalone
predecessor. It appears almost identical to the GNU Emacs version, but has predecessor. It appears almost identical to the GNU Emacs version, but has
@ -24,8 +23,4 @@ A full listing of the commands available in Info can be gotten by typing
`?' while within an Info window. This produces a node in a window which `?' while within an Info window. This produces a node in a window which
can be viewed just like any Info node. can be viewed just like any Info node.
Please send your comments, bug reports, and suggestions to --Brian Fox <bfox@gnu.org>
bug-texinfo@prep.ai.mit.edu
--Brian Fox <bfox@ai.mit.edu>

View File

@ -24,106 +24,106 @@
FUNCTION_DOC function_doc_array[] = { FUNCTION_DOC function_doc_array[] = {
/* Commands found in "./session.c". */ /* Commands found in "./session.c". */
{ info_next_line, "next-line", N_("Move down to the next line") }, { info_next_line, "next-line", "Move down to the next line" },
{ info_prev_line, "prev-line", N_("Move up to the previous line") }, { info_prev_line, "prev-line", "Move up to the previous line" },
{ info_end_of_line, "end-of-line", N_("Move to the end of the line") }, { info_end_of_line, "end-of-line", "Move to the end of the line" },
{ info_beginning_of_line, "beginning-of-line", N_("Move to the start of the line") }, { info_beginning_of_line, "beginning-of-line", "Move to the start of the line" },
{ info_forward_char, "forward-char", N_("Move forward a character") }, { info_forward_char, "forward-char", "Move forward a character" },
{ info_backward_char, "backward-char", N_("Move backward a character") }, { info_backward_char, "backward-char", "Move backward a character" },
{ info_forward_word, "forward-word", N_("Move forward a word") }, { info_forward_word, "forward-word", "Move forward a word" },
{ info_backward_word, "backward-word", N_("Move backward a word") }, { info_backward_word, "backward-word", "Move backward a word" },
{ info_global_next_node, "global-next-node", N_("Move forwards or down through node structure") }, { info_global_next_node, "global-next-node", "Move forwards or down through node structure" },
{ info_global_prev_node, "global-prev-node", N_("Move backwards or up through node structure") }, { info_global_prev_node, "global-prev-node", "Move backwards or up through node structure" },
{ info_scroll_forward, "scroll-forward", N_("Scroll forward in this window") }, { info_scroll_forward, "scroll-forward", "Scroll forward in this window" },
{ info_scroll_backward, "scroll-backward", N_("Scroll backward in this window") }, { info_scroll_backward, "scroll-backward", "Scroll backward in this window" },
{ info_beginning_of_node, "beginning-of-node", N_("Move to the start of this node") }, { info_beginning_of_node, "beginning-of-node", "Move to the start of this node" },
{ info_end_of_node, "end-of-node", N_("Move to the end of this node") }, { info_end_of_node, "end-of-node", "Move to the end of this node" },
{ info_next_window, "next-window", N_("Select the next window") }, { info_next_window, "next-window", "Select the next window" },
{ info_prev_window, "prev-window", N_("Select the previous window") }, { info_prev_window, "prev-window", "Select the previous window" },
{ info_split_window, "split-window", N_("Split the current window") }, { info_split_window, "split-window", "Split the current window" },
{ info_delete_window, "delete-window", N_("Delete the current window") }, { info_delete_window, "delete-window", "Delete the current window" },
{ info_keep_one_window, "keep-one-window", N_("Delete all other windows") }, { info_keep_one_window, "keep-one-window", "Delete all other windows" },
{ info_scroll_other_window, "scroll-other-window", N_("Scroll the other window") }, { info_scroll_other_window, "scroll-other-window", "Scroll the other window" },
{ info_grow_window, "grow-window", N_("Grow (or shrink) this window") }, { info_grow_window, "grow-window", "Grow (or shrink) this window" },
{ info_tile_windows, "tile-windows", N_("Divide the available screen space among the visible windows") }, { info_tile_windows, "tile-windows", "Divide the available screen space among the visible windows" },
{ info_toggle_wrap, "toggle-wrap", N_("Toggle the state of line wrapping in the current window") }, { info_toggle_wrap, "toggle-wrap", "Toggle the state of line wrapping in the current window" },
{ info_next_node, "next-node", N_("Select the `Next' node") }, { info_next_node, "next-node", "Select the `Next' node" },
{ info_prev_node, "prev-node", N_("Select the `Prev' node") }, { info_prev_node, "prev-node", "Select the `Prev' node" },
{ info_up_node, "up-node", N_("Select the `Up' node") }, { info_up_node, "up-node", "Select the `Up' node" },
{ info_last_node, "last-node", N_("Select the last node in this file") }, { info_last_node, "last-node", "Select the last node in this file" },
{ info_first_node, "first-node", N_("Select the first node in this file") }, { info_first_node, "first-node", "Select the first node in this file" },
{ info_history_node, "history-node", N_("Select the most recently selected node") }, { info_last_menu_item, "last-menu-item", "Select the last item in this node's menu" },
{ info_last_menu_item, "last-menu-item", N_("Select the last item in this node's menu") }, { info_menu_digit, "menu-digit", "Select this menu item" },
{ info_menu_digit, "menu-digit", N_("Select this menu item") }, { info_menu_item, "menu-item", "Read a menu item and select its node" },
{ info_menu_item, "menu-item", N_("Read a menu item and select its node") }, { info_xref_item, "xref-item", "Read a footnote or cross reference and select its node" },
{ info_xref_item, "xref-item", N_("Read a footnote or cross reference and select its node") }, { info_find_menu, "find-menu", "Move to the start of this node's menu" },
{ info_find_menu, "find-menu", N_("Move to the start of this node's menu") }, { info_visit_menu, "visit-menu", "Visit as many menu items at once as possible" },
{ info_visit_menu, "visit-menu", N_("Visit as many menu items at once as possible") }, { info_goto_node, "goto-node", "Read a node name and select it" },
{ info_goto_node, "goto-node", N_("Read a node name and select it") }, { info_man, "man", "Read a manpage reference and select it" },
{ info_man, "man", N_("Read a manpage reference and select it") }, { info_top_node, "top-node", "Select the node `Top' in this file" },
{ info_top_node, "top-node", N_("Select the node `Top' in this file") }, { info_dir_node, "dir-node", "Select the node `(dir)'" },
{ info_dir_node, "dir-node", N_("Select the node `(dir)'") }, { info_history_node, "history-node", "Select the most recently selected node" },
{ info_kill_node, "kill-node", N_("Kill this node") }, { info_kill_node, "kill-node", "Kill this node" },
{ info_view_file, "view-file", N_("Read the name of a file and select it") }, { info_view_file, "view-file", "Read the name of a file and select it" },
{ info_print_node, "print-node", N_("Pipe the contents of this node through INFO_PRINT_COMMAND") }, { info_print_node, "print-node", "Pipe the contents of this node through INFO_PRINT_COMMAND" },
{ info_search, "search", N_("Read a string and search for it") }, { info_search, "search", "Read a string and search for it" },
{ isearch_forward, "isearch-forward", N_("Search interactively for a string as you type it") }, { isearch_forward, "isearch-forward", "Search interactively for a string as you type it" },
{ isearch_backward, "isearch-backward", N_("Search interactively for a string as you type it") }, { isearch_backward, "isearch-backward", "Search interactively for a string as you type it" },
{ info_move_to_prev_xref, "move-to-prev-xref", N_("Move to the previous cross reference") }, { info_move_to_prev_xref, "move-to-prev-xref", "Move to the previous cross reference" },
{ info_move_to_next_xref, "move-to-next-xref", N_("Move to the next cross reference") }, { info_move_to_next_xref, "move-to-next-xref", "Move to the next cross reference" },
{ info_select_reference_this_line, "select-reference-this-line", N_("Select reference or menu item appearing on this line") }, { info_select_reference_this_line, "select-reference-this-line", "Select reference or menu item appearing on this line" },
{ info_abort_key, "abort-key", N_("Cancel current operation") }, { info_abort_key, "abort-key", "Cancel current operation" },
{ info_move_to_window_line, "move-to-window-line", N_("Move to the cursor to a specific line of the window") }, { info_move_to_window_line, "move-to-window-line", "Move to the cursor to a specific line of the window" },
{ info_redraw_display, "redraw-display", N_("Redraw the display") }, { info_redraw_display, "redraw-display", "Redraw the display" },
{ info_quit, "quit", N_("Quit using Info") }, { info_quit, "quit", "Quit using Info" },
{ info_do_lowercase_version, "do-lowercase-version", "" }, { info_do_lowercase_version, "do-lowercase-version", "" },
{ info_add_digit_to_numeric_arg, "add-digit-to-numeric-arg", N_("Add this digit to the current numeric argument") }, { info_add_digit_to_numeric_arg, "add-digit-to-numeric-arg", "Add this digit to the current numeric argument" },
{ info_universal_argument, N_("universal-argument"), N_("Start (or multiply by 4) the current numeric argument") }, { info_universal_argument, "universal-argument", "Start (or multiply by 4) the current numeric argument" },
{ info_numeric_arg_digit_loop, "numeric-arg-digit-loop", N_("Internally used by \\[universal-argument]") }, { info_numeric_arg_digit_loop, "numeric-arg-digit-loop", "Internally used by \\[universal-argument]" },
/* Commands found in "./echo-area.c". */ /* Commands found in "./echo-area.c". */
{ ea_forward, "echo-area-forward", N_("Move forward a character") }, { ea_forward, "echo-area-forward", "Move forward a character" },
{ ea_backward, "echo-area-backward", N_("Move backward a character") }, { ea_backward, "echo-area-backward", "Move backward a character" },
{ ea_beg_of_line, "echo-area-beg-of-line", N_("Move to the start of this line") }, { ea_beg_of_line, "echo-area-beg-of-line", "Move to the start of this line" },
{ ea_end_of_line, "echo-area-end-of-line", N_("Move to the end of this line") }, { ea_end_of_line, "echo-area-end-of-line", "Move to the end of this line" },
{ ea_forward_word, "echo-area-forward-word", N_("Move forward a word") }, { ea_forward_word, "echo-area-forward-word", "Move forward a word" },
{ ea_backward_word, "echo-area-backward-word", N_("Move backward a word") }, { ea_backward_word, "echo-area-backward-word", "Move backward a word" },
{ ea_delete, "echo-area-delete", N_("Delete the character under the cursor") }, { ea_delete, "echo-area-delete", "Delete the character under the cursor" },
{ ea_rubout, "echo-area-rubout", N_("Delete the character behind the cursor") }, { ea_rubout, "echo-area-rubout", "Delete the character behind the cursor" },
{ ea_abort, "echo-area-abort", N_("Cancel or quit operation") }, { ea_abort, "echo-area-abort", "Cancel or quit operation" },
{ ea_newline, "echo-area-newline", N_("Accept (or force completion of) this line") }, { ea_newline, "echo-area-newline", "Accept (or force completion of) this line" },
{ ea_quoted_insert, "echo-area-quoted-insert", N_("Insert next character verbatim") }, { ea_quoted_insert, "echo-area-quoted-insert", "Insert next character verbatim" },
{ ea_insert, "echo-area-insert", N_("Insert this character") }, { ea_insert, "echo-area-insert", "Insert this character" },
{ ea_tab_insert, "echo-area-tab-insert", N_("Insert a TAB character") }, { ea_tab_insert, "echo-area-tab-insert", "Insert a TAB character" },
{ ea_transpose_chars, "echo-area-transpose-chars", N_("Transpose characters at point") }, { ea_transpose_chars, "echo-area-transpose-chars", "Transpose characters at point" },
{ ea_yank, "echo-area-yank", N_("Yank back the contents of the last kill") }, { ea_yank, "echo-area-yank", "Yank back the contents of the last kill" },
{ ea_yank_pop, "echo-area-yank-pop", N_("Yank back a previous kill") }, { ea_yank_pop, "echo-area-yank-pop", "Yank back a previous kill" },
{ ea_kill_line, "echo-area-kill-line", N_("Kill to the end of the line") }, { ea_kill_line, "echo-area-kill-line", "Kill to the end of the line" },
{ ea_backward_kill_line, "echo-area-backward-kill-line", N_("Kill to the beginning of the line") }, { ea_backward_kill_line, "echo-area-backward-kill-line", "Kill to the beginning of the line" },
{ ea_kill_word, "echo-area-kill-word", N_("Kill the word following the cursor") }, { ea_kill_word, "echo-area-kill-word", "Kill the word following the cursor" },
{ ea_backward_kill_word, "echo-area-backward-kill-word", N_("Kill the word preceding the cursor") }, { ea_backward_kill_word, "echo-area-backward-kill-word", "Kill the word preceding the cursor" },
{ ea_possible_completions, "echo-area-possible-completions", N_("List possible completions") }, { ea_possible_completions, "echo-area-possible-completions", "List possible completions" },
{ ea_complete, "echo-area-complete", N_("Insert completion") }, { ea_complete, "echo-area-complete", "Insert completion" },
{ ea_scroll_completions_window, "echo-area-scroll-completions-window", N_("Scroll the completions window") }, { ea_scroll_completions_window, "echo-area-scroll-completions-window", "Scroll the completions window" },
/* Commands found in "./infodoc.c". */ /* Commands found in "./infodoc.c". */
{ info_get_help_window, "get-help-window", N_("Display help message") }, { info_get_help_window, "get-help-window", "Display help message" },
{ info_get_info_help_node, "get-info-help-node", N_("Visit Info node `(info)Help'") }, { info_get_info_help_node, "get-info-help-node", "Visit Info node `(info)Help'" },
{ describe_key, "describe-key", N_("Print documentation for KEY") }, { describe_key, "describe-key", "Print documentation for KEY" },
{ info_where_is, "where-is", N_("Show what to type to execute a given command") }, { info_where_is, "where-is", "Show what to type to execute a given command" },
/* Commands found in "./m-x.c". */ /* Commands found in "./m-x.c". */
{ describe_command, "describe-command", N_("Read the name of an Info command and describe it") }, { describe_command, "describe-command", "Read the name of an Info command and describe it" },
{ info_execute_command, "execute-command", N_("Read a command name in the echo area and execute it") }, { info_execute_command, "execute-command", "Read a command name in the echo area and execute it" },
{ set_screen_height, "set-screen-height", N_("Set the height of the displayed window") }, { set_screen_height, "set-screen-height", "Set the height of the displayed window" },
/* Commands found in "./indices.c". */ /* Commands found in "./indices.c". */
{ info_index_search, "index-search", N_("Look up a string in the index for this file") }, { info_index_search, "index-search", "Look up a string in the index for this file" },
{ info_next_index_match, "next-index-match", N_("Go to the next matching index item from the last `\\[index-search]' command") }, { info_next_index_match, "next-index-match", "Go to the next matching index item from the last `\\[index-search]' command" },
{ info_index_apropos, "index-apropos", N_("Grovel all known info file's indices for a string and build a menu") }, { info_index_apropos, "index-apropos", "Grovel all known info file's indices for a string and build a menu" },
/* Commands found in "./nodemenu.c". */ /* Commands found in "./nodemenu.c". */
{ list_visited_nodes, "list-visited-nodes", N_("Make a window containing a menu of all of the currently visited nodes") }, { list_visited_nodes, "list-visited-nodes", "Make a window containing a menu of all of the currently visited nodes" },
{ select_visited_node, "select-visited-node", N_("Select a node which has been previously visited in a visible window") }, { select_visited_node, "select-visited-node", "Select a node which has been previously visited in a visible window" },
/* Commands found in "./footnotes.c". */ /* Commands found in "./footnotes.c". */
{ info_show_footnotes, "show-footnotes", N_("Show the footnotes associated with this node in another window") }, { info_show_footnotes, "show-footnotes", "Show the footnotes associated with this node in another window" },
/* Commands found in "./variables.c". */ /* Commands found in "./variables.c". */
{ describe_variable, "describe-variable", N_("Explain the use of a variable") }, { describe_variable, "describe-variable", "Explain the use of a variable" },
{ set_variable, "set-variable", N_("Set the value of an Info variable") }, { set_variable, "set-variable", "Set the value of an Info variable" },
{ (VFunction *)NULL, (char *)NULL, (char *)NULL } { (VFunction *)NULL, (char *)NULL, (char *)NULL }
}; };

View File

@ -1,7 +1,7 @@
/* echo-area.c -- How to read a line in the echo area. /* echo-area.c -- How to read a line in the echo area.
$Id: echo-area.c,v 1.2 1998/03/24 18:06:11 law Exp $ $Id: echo-area.c,v 1.1.1.2 1998/03/24 18:20:08 law Exp $
Copyright (C) 1993, 97 Free Software Foundation, Inc. Copyright (C) 1993, 97, 98 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -938,11 +938,9 @@ DECLARE_INFO_COMMAND (ea_possible_completions, _("List possible completions"))
int limit, count, max_label = 0; int limit, count, max_label = 0;
initialize_message_buffer (); initialize_message_buffer ();
printf_to_message_buffer printf_to_message_buffer (completions_found_index == 1
(_("There %s %d "), completions_found_index == 1 ? _("is") : _("are"), ? _("One completion:\n")
completions_found_index); : _("%d completions:\n"));
printf_to_message_buffer
(_("completion%s:\n"), completions_found_index == 1 ? "" : "s");
/* Find the maximum length of a label. */ /* Find the maximum length of a label. */
for (i = 0; i < completions_found_index; i++) for (i = 0; i < completions_found_index; i++)

View File

@ -1,5 +1,5 @@
/* echo-area.h -- Functions used in reading information from the echo area. /* echo-area.h -- Functions used in reading information from the echo area.
$Id: echo-area.h,v 1.2 1998/03/24 18:06:12 law Exp $ $Id: echo-area.h,v 1.1.1.2 1998/03/24 18:20:09 law Exp $
This file is part of GNU Info, a program for reading online documentation This file is part of GNU Info, a program for reading online documentation
stored in Info format. stored in Info format.

View File

@ -1,7 +1,7 @@
/* filesys.c -- File system specific functions for hacking this system. /* filesys.c -- File system specific functions for hacking this system.
$Id: filesys.c,v 1.2 1998/03/24 18:06:16 law Exp $ $Id: filesys.c,v 1.1.1.3 1998/03/24 18:20:10 law Exp $
Copyright (C) 1993, 97 Free Software Foundation, Inc. Copyright (C) 1993, 97, 98 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -38,6 +38,7 @@ static char *info_suffixes[] = {
"", "",
".info", ".info",
"-info", "-info",
"/index",
(char *)NULL (char *)NULL
}; };

View File

@ -29,7 +29,6 @@ extern void info_prev_node ();
extern void info_up_node (); extern void info_up_node ();
extern void info_last_node (); extern void info_last_node ();
extern void info_first_node (); extern void info_first_node ();
extern void info_history_node ();
extern void info_last_menu_item (); extern void info_last_menu_item ();
extern void info_menu_digit (); extern void info_menu_digit ();
extern void info_menu_item (); extern void info_menu_item ();
@ -40,6 +39,7 @@ extern void info_goto_node ();
extern void info_man (); extern void info_man ();
extern void info_top_node (); extern void info_top_node ();
extern void info_dir_node (); extern void info_dir_node ();
extern void info_history_node ();
extern void info_kill_node (); extern void info_kill_node ();
extern void info_view_file (); extern void info_view_file ();
extern void info_print_node (); extern void info_print_node ();

View File

@ -1,7 +1,7 @@
/* info.c -- Display nodes of Info files in multiple windows. /* info.c -- Display nodes of Info files in multiple windows.
$Id: info.c,v 1.2 1998/03/24 18:06:30 law Exp $ $Id: info.c,v 1.1.1.3 1998/03/24 18:20:13 law Exp $
Copyright (C) 1993, 96, 97 Free Software Foundation, Inc. Copyright (C) 1993, 96, 97, 98 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -29,8 +29,10 @@
/* The version numbers of this version of Info. */ /* The version numbers of this version of Info. */
int info_major_version = 2; int info_major_version = 2;
int info_minor_version = 17; int info_minor_version = 18;
int info_patch_level = 0;
/* basename (argv[0]) */
static char *program_name = NULL;
/* Non-zero means search all indices for APROPOS_SEARCH_STRING. */ /* Non-zero means search all indices for APROPOS_SEARCH_STRING. */
static int apropos_p = 0; static int apropos_p = 0;
@ -100,7 +102,7 @@ static char *short_options = "d:n:f:o:s";
int info_windows_initialized_p = 0; int info_windows_initialized_p = 0;
/* Some "forward" declarations. */ /* Some "forward" declarations. */
static void usage (), info_short_help (), remember_info_program_name (); static void info_short_help (), remember_info_program_name ();
/* **************************************************************** */ /* **************************************************************** */
@ -207,7 +209,8 @@ main (argc, argv)
break; break;
default: default:
usage (); fprintf (stderr, _("Try --help for more information."));
exit (1);
} }
} }
@ -223,11 +226,13 @@ main (argc, argv)
/* If the user specified --version, then show the version and exit. */ /* If the user specified --version, then show the version and exit. */
if (print_version_p) if (print_version_p)
{ {
printf ("info (GNU %s %s) %s\n", PACKAGE, VERSION, version_string ()); printf ("%s (GNU %s %s) %s\n", program_name, PACKAGE, VERSION,
puts ("Copyright (C) 1997 Free Software Foundation, Inc.\n\ version_string ());
printf (_("Copyright (C) %s Free Software Foundation, Inc.\n\
There is NO warranty. You may redistribute this software\n\ There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License.\n\ under the terms of the GNU General Public License.\n\
For more information about these matters, see the files named COPYING."); For more information about these matters, see the files named COPYING.\n"),
"1998");
exit (0); exit (0);
} }
@ -238,7 +243,10 @@ For more information about these matters, see the files named COPYING.");
exit (0); exit (0);
} }
/* If the user hasn't specified a path for Info files, default it. */ /* If the user hasn't specified a path for Info files, default it.
Lowest priority is our messy hardwired list in filesys.h.
Then comes the user's INFODIR from the Makefile.
Highest priority is the environment variable, if set. */
if (!infopath) if (!infopath)
{ {
char *path_from_env = getenv ("INFOPATH"); char *path_from_env = getenv ("INFOPATH");
@ -252,10 +260,18 @@ For more information about these matters, see the files named COPYING.");
path_from_env[len - 1] = 0; path_from_env[len - 1] = 0;
info_add_path (DEFAULT_INFOPATH, INFOPATH_PREPEND); info_add_path (DEFAULT_INFOPATH, INFOPATH_PREPEND);
} }
#ifdef INFODIR /* from the Makefile */
info_add_path (INFODIR, INFOPATH_PREPEND);
#endif
info_add_path (path_from_env, INFOPATH_PREPEND); info_add_path (path_from_env, INFOPATH_PREPEND);
} }
else else
info_add_path (DEFAULT_INFOPATH, INFOPATH_PREPEND); {
info_add_path (DEFAULT_INFOPATH, INFOPATH_PREPEND);
#ifdef INFODIR /* from the Makefile */
info_add_path (INFODIR, INFOPATH_PREPEND);
#endif
}
} }
/* If the user specified a particular filename, add the path of that /* If the user specified a particular filename, add the path of that
@ -517,19 +533,12 @@ version_string ()
{ {
vstring = (char *)xmalloc (50); vstring = (char *)xmalloc (50);
sprintf (vstring, "%d.%d", info_major_version, info_minor_version); sprintf (vstring, "%d.%d", info_major_version, info_minor_version);
if (info_patch_level)
sprintf (vstring + strlen (vstring), "-p%d", info_patch_level);
} }
return (vstring); return (vstring);
} }
/* **************************************************************** */
/* */
/* Error Handling for Info */
/* */
/* **************************************************************** */
static char *program_name = (char *)NULL;
/* Error handling. */
static void static void
remember_info_program_name (fullpath) remember_info_program_name (fullpath)
@ -586,44 +595,33 @@ info_error (format, arg1, arg2)
} }
} }
/* Produce a very brief descripton of the available options and exit with
an error. */
static void
usage ()
{
fprintf (stderr,"%s\n%s\n%s\n%s\n%s\n",
_("Usage: info [-d dir-path] [-f info-file] [-o output-file] [-n node-name]..."),
_(" [--directory dir-path] [--file info-file] [--node node-name]..."),
_(" [--help] [--output output-file] [--subnodes] [--version]"),
_(" [--dribble dribble-file] [--restore from-file]"),
_(" [menu-selection ...]"));
exit (1);
}
/* Produce a scaled down description of the available options to Info. */ /* Produce a scaled down description of the available options to Info. */
static void static void
info_short_help () info_short_help ()
{ {
puts (_("\ printf (_("\
Here is a quick description of Info's options. For a more complete\n\ Usage: %s [OPTION]... [INFO-FILE [MENU-ITEM...]]\n\
description of how to use Info, type `info info options'.\n\
\n\ \n\
--directory DIR Add DIR to INFOPATH.\n\ Read documentation in Info format.\n\
--dribble FILENAME Remember user keystrokes in FILENAME.\n\ For more complete documentation on how to use Info, run `info info options'.\n\
--file FILENAME Specify Info file to visit.\n\
--node NODENAME Specify nodes in first visited Info file.\n\
--output FILENAME Output selected nodes to FILENAME.\n\
--restore FILENAME Read initial keystrokes from FILENAME.\n\
--subnodes Recursively output menu items.\n\
--help Get this help message.\n\
--version Display Info's version information.\n\
\n\ \n\
Remaining arguments to Info are treated as the names of menu\n\ Options:\n\
items in the initial node visited. You can easily move to the\n\ --directory DIR add DIR to INFOPATH.\n\
node of your choice by specifying the menu names which describe\n\ --dribble FILENAME remember user keystrokes in FILENAME.\n\
the path to that node. For example, `info emacs buffers'.\n\ --file FILENAME specify Info file to visit.\n\
--node NODENAME specify nodes in first visited Info file.\n\
--output FILENAME output selected nodes to FILENAME.\n\
--restore FILENAME read initial keystrokes from FILENAME.\n\
--subnodes recursively output menu items.\n\
--help display this help and exit.\n\
--version display version information and exit.\n\
\n\ \n\
Email bug reports to bug-texinfo@prep.ai.mit.edu.")); The first argument, if present, is the name of the Info file to read.\n\
Any remaining arguments are treated as the names of menu\n\
items in the initial node visited. For example, `info emacs buffers'\n\
moves to the node `buffers' in the info file `emacs'.\n\
\n\
Email bug reports to bug-texinfo@gnu.org."), program_name);
exit (0); exit (0);
} }

View File

@ -1,10 +1,10 @@
/* info.h -- Header file which includes all of the other headers. /* info.h -- Header file which includes all of the other headers.
$Id: info.h,v 1.2 1998/03/24 18:06:31 law Exp $ $Id: info.h,v 1.1.1.3 1998/03/24 18:20:14 law Exp $
This file is part of GNU Info, a program for reading online documentation This file is part of GNU Info, a program for reading online documentation
stored in Info format. stored in Info format.
Copyright (C) 1993, 97 Free Software Foundation, Inc. Copyright (C) 1993, 97, 98 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -125,7 +125,7 @@ extern int info_error_rings_bell_p;
extern void info_error (); extern void info_error ();
/* The version numbers of Info. */ /* The version numbers of Info. */
extern int info_major_version, info_minor_version, info_patch_level; extern int info_major_version, info_minor_version;
/* How to get the version string for this version of Info. Returns /* How to get the version string for this version of Info. Returns
something similar to "2.11". */ something similar to "2.11". */

View File

@ -1,5 +1,5 @@
/* session.c -- The user windowing interface to Info. /* session.c -- The user windowing interface to Info.
$Id: session.c,v 1.2 1998/03/24 18:06:46 law Exp $ $Id: session.c,v 1.1.1.3 1998/03/24 18:20:15 law Exp $
Copyright (C) 1993, 96, 97 Free Software Foundation, Inc. Copyright (C) 1993, 96, 97 Free Software Foundation, Inc.
@ -4206,7 +4206,20 @@ info_get_input_char ()
out how many characters are currently buffered, we out how many characters are currently buffered, we
should stay with away from stream I/O. should stay with away from stream I/O.
--Egil Kvaleberg <egilk@sn.no>, January 1997. */ --Egil Kvaleberg <egilk@sn.no>, January 1997. */
#ifdef EINTR
/* Keep reading if we got EINTR, so that we don't just exit.
--Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>,
22 Dec 1997. */
{
int n;
do
n = read (tty, &c, 1);
while (n == -1 && errno == EINTR);
rawkey = n == 1 ? c : EOF;
}
#else
rawkey = (read (tty, &c, 1) == 1) ? c : EOF; rawkey = (read (tty, &c, 1) == 1) ? c : EOF;
#endif
keystroke = rawkey; keystroke = rawkey;

View File

@ -1,5 +1,5 @@
/* termdep.h -- System things that terminal.c depends on. /* termdep.h -- System things that terminal.c depends on.
$Id: termdep.h,v 1.4 1998/03/24 18:06:50 law Exp $ $Id: termdep.h,v 1.5 1998/03/24 19:40:54 law Exp $
This file is part of GNU Info, a program for reading online documentation This file is part of GNU Info, a program for reading online documentation
stored in Info format. stored in Info format.
@ -33,11 +33,6 @@
#ifdef HAVE_TERMIOS_H #ifdef HAVE_TERMIOS_H
# include <termios.h> # include <termios.h>
/*
POSIX does not mandate that we have these and it may, in fact, be only
partially implemented.
*/
# undef TIOCGETC
#else #else
# if defined (HAVE_TERMIO_H) # if defined (HAVE_TERMIO_H)
# include <termio.h> # include <termio.h>

View File

@ -1,8 +1,8 @@
/* terminal.c -- How to handle the physical terminal for Info. /* terminal.c -- How to handle the physical terminal for Info.
$Id: terminal.c,v 1.4 1998/03/24 18:06:53 law Exp $ $Id: terminal.c,v 1.1.1.3 1998/03/24 18:20:18 law Exp $
Copyright (C) 1988, 89, 90, 91, 92, 93, 96, 97 Free Software Copyright (C) 1988, 89, 90, 91, 92, 93, 96, 97, 98
Foundation, Inc. Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -141,7 +141,10 @@ terminal_begin_using_terminal ()
if (!term_begin_use || !*term_begin_use) if (!term_begin_use || !*term_begin_use)
return; return;
#ifdef SIGWINCH
sigsave = signal (SIGWINCH, SIG_IGN); sigsave = signal (SIGWINCH, SIG_IGN);
#endif
send_to_terminal (term_begin_use); send_to_terminal (term_begin_use);
/* Without this fflush and sleep, running info in a shelltool or /* Without this fflush and sleep, running info in a shelltool or
cmdtool (TERM=sun-cmd) with scrollbars loses -- the scrollbars are cmdtool (TERM=sun-cmd) with scrollbars loses -- the scrollbars are
@ -149,7 +152,10 @@ terminal_begin_using_terminal ()
From: strube@physik3.gwdg.de (Hans Werner Strube). */ From: strube@physik3.gwdg.de (Hans Werner Strube). */
fflush (stdout); fflush (stdout);
sleep (1); sleep (1);
#ifdef SIGWINCH
signal (SIGWINCH, sigsave); signal (SIGWINCH, sigsave);
#endif
} }
/* Tell the terminal that we will not be doing any more cursor /* Tell the terminal that we will not be doing any more cursor
@ -165,11 +171,17 @@ terminal_end_using_terminal ()
if (!term_end_use || !*term_end_use) if (!term_end_use || !*term_end_use)
return; return;
#ifdef SIGWINCH
sigsave = signal (SIGWINCH, SIG_IGN); sigsave = signal (SIGWINCH, SIG_IGN);
#endif
send_to_terminal (term_end_use); send_to_terminal (term_end_use);
fflush (stdout); fflush (stdout);
sleep (1); sleep (1);
#ifdef SIGWINCH
signal (SIGWINCH, sigsave); signal (SIGWINCH, sigsave);
#endif
} }
/* **************************************************************** */ /* **************************************************************** */

View File

@ -1,10 +1,11 @@
/* tilde.c -- Tilde expansion code (~/foo := $HOME/foo). /* tilde.c -- Tilde expansion code (~/foo := $HOME/foo).
$Id: tilde.c,v 1.2 1998/03/24 18:06:55 law Exp $ $Id: tilde.c,v 1.1.1.3 1998/03/24 18:20:19 law Exp $
This file is part of GNU Info, a program for reading online documentation This file is part of GNU Info, a program for reading online documentation
stored in Info format. stored in Info format.
Copyright (C) 1988, 89, 90, 91, 92, 93, 96 Free Software Foundation, Inc. Copyright (C) 1988, 89, 90, 91, 92, 93, 96, 98
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -22,22 +23,26 @@
Written by Brian Fox (bfox@ai.mit.edu). */ Written by Brian Fox (bfox@ai.mit.edu). */
/* Indent #pragma so that older Cpp's don't try to parse it. */
#ifdef _AIX
#pragma alloca
#endif /* _AIX */
/* Include config.h before doing alloca. */ /* Include config.h before doing alloca. */
#include "info.h" #include "info.h"
#ifndef alloca #ifdef __GNUC__
#if defined (__GNUC__) # undef alloca
# define alloca __builtin_alloca # define alloca __builtin_alloca
#else /* !__GNUC__ */ #else
# if defined (_AIX) # ifdef HAVE_ALLOCA_H
#pragma alloca # include <alloca.h>
# else /* !_AIX */ # else
# if defined (HAVE_ALLOCA_H) # ifndef _AIX
# include <alloca.h> char *alloca ();
# endif /* HAVE_ALLOCA_H */ # endif
# endif /* !AIX */ # endif
#endif /* !__GNUC__ */ #endif
#endif /* ! defined alloca */
#if defined (TEST) || defined (STATIC_MALLOC) #if defined (TEST) || defined (STATIC_MALLOC)
static void *xmalloc (), *xrealloc (); static void *xmalloc (), *xrealloc ();

View File

@ -1,5 +1,5 @@
/* window.c -- Windows in Info. /* window.c -- Windows in Info.
$Id: window.c,v 1.2 1998/03/24 18:06:59 law Exp $ $Id: window.c,v 1.1.1.3 1998/03/24 18:20:20 law Exp $
This file is part of GNU Info, a program for reading online documentation This file is part of GNU Info, a program for reading online documentation
stored in Info format. stored in Info format.
@ -723,7 +723,7 @@ character_width (character, hpos)
int width = 1; int width = 1;
if (ISO_Latin_p) if (ISO_Latin_p)
printable_limit = 160; printable_limit = 255;
if (character > printable_limit) if (character > printable_limit)
width = 3; width = 3;

View File

@ -1,6 +1,57 @@
Thu Sep 4 15:01:11 1997 Jeffrey A Law (law@cygnus.com) 1997-09-06 02:10 Ulrich Drepper <drepper@cygnus.com>
* Makefile.in (install-info): Add dummy target. * intlh.inst.in: Reformat copyright.
1997-08-19 15:22 Ulrich Drepper <drepper@cygnus.com>
* dcgettext.c (DCGETTEXT): Remove wrong comment.
1997-08-16 00:13 Ulrich Drepper <drepper@cygnus.com>
* Makefile.in (install-data): Don't change directory to install.
1997-08-01 14:30 Ulrich Drepper <drepper@cygnus.com>
* cat-compat.c: Fix copyright.
* localealias.c: Don't define strchr unless !HAVE_STRCHR.
* loadmsgcat.c: Update copyright. Fix typos.
* l10nflist.c: Don't define strchr unless !HAVE_STRCHR.
(_nl_make_l10nflist): Handle sponsor and revision correctly.
* gettext.c: Update copyright.
* gettext.h: Likewise.
* hash-string.h: Likewise.
* finddomain.c: Remoave dead code. Define strchr only if
!HAVE_STRCHR.
* explodename.c: Include <sys/types.h>.
* explodename.c: Reformat copyright text.
(_nl_explode_name): Fix typo.
* dcgettext.c: Define and use __set_errno.
(guess_category_value): Don't use setlocale if HAVE_LC_MESSAGES is
not defined.
* bindtextdom.c: Pretty printing.
1997-05-01 02:25 Ulrich Drepper <drepper@cygnus.com>
* dcgettext.c (guess_category_value): Don't depend on
HAVE_LC_MESSAGES. We don't need the macro here.
Patch by Bruno Haible <haible@ilog.fr>.
* cat-compat.c (textdomain): DoN't refer to HAVE_SETLOCALE_NULL
macro. Instead use HAVE_LOCALE_NULL and define it when using
glibc, as in dcgettext.c.
Patch by Bruno Haible <haible@ilog.fr>.
* Makefile.in (CPPFLAGS): New variable. Reported by Franc,ois
Pinard.
Mon Mar 10 06:51:17 1997 Ulrich Drepper <drepper@cygnus.com> Mon Mar 10 06:51:17 1997 Ulrich Drepper <drepper@cygnus.com>

View File

@ -50,6 +50,7 @@ RANLIB = @RANLIB@
DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \ DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
-DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@ -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
CPPFLAGS = @CPPFLAGS@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
@ -130,10 +131,9 @@ install-data: all
$(top_srcdir)/mkinstalldirs $(gettextsrcdir); \ $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
fi; \ fi; \
$(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \ $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \
cd $(srcdir) && \
dists="$(DISTFILES.common)"; \ dists="$(DISTFILES.common)"; \
for file in $$dists; do \ for file in $$dists; do \
$(INSTALL_DATA) $$file $(gettextsrcdir)/$$file; \ $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \
done; \ done; \
else \ else \
: ; \ : ; \
@ -148,7 +148,7 @@ uninstall:
rm -f $(gettextsrcdir)/$$file; \ rm -f $(gettextsrcdir)/$$file; \
done done
info dvi install-info: info dvi:
$(OBJECTS): ../config.h libgettext.h $(OBJECTS): ../config.h libgettext.h
bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h

View File

@ -1 +1 @@
GNU gettext library from gettext-0.10.27 GNU gettext library from gettext-0.10.32

View File

@ -1,5 +1,5 @@
/* bindtextdom.c -- implementation of the bindtextdomain(3) function /* Implementation of the bindtextdomain(3) function
Copyright (C) 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -34,7 +34,7 @@ void free ();
#else #else
# include <strings.h> # include <strings.h>
# ifndef memcpy # ifndef memcpy
# define memcpy(Dst, Src, Num) bcopy ((Src), (Dst), (Num)) # define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
# endif # endif
#endif #endif
@ -61,6 +61,7 @@ extern struct binding *_nl_domain_bindings;
prefix. So we have to make a difference here. */ prefix. So we have to make a difference here. */
#ifdef _LIBC #ifdef _LIBC
# define BINDTEXTDOMAIN __bindtextdomain # define BINDTEXTDOMAIN __bindtextdomain
# define strdup(str) __strdup (str)
#else #else
# define BINDTEXTDOMAIN bindtextdomain__ # define BINDTEXTDOMAIN bindtextdomain__
#endif #endif
@ -98,25 +99,36 @@ BINDTEXTDOMAIN (domainname, dirname)
if (binding != NULL) if (binding != NULL)
{ {
/* The domain is already bound. Replace the old binding. */ /* The domain is already bound. If the new value and the old
char *new_dirname; one are equal we simply do nothing. Otherwise replace the
old binding. */
if (strcmp (dirname, _nl_default_dirname) == 0) if (strcmp (dirname, binding->dirname) != 0)
new_dirname = (char *) _nl_default_dirname;
else
{ {
size_t len = strlen (dirname) + 1; char *new_dirname;
new_dirname = (char *) malloc (len);
if (new_dirname == NULL)
return NULL;
memcpy (new_dirname, dirname, len); if (strcmp (dirname, _nl_default_dirname) == 0)
new_dirname = (char *) _nl_default_dirname;
else
{
#if defined _LIBC || defined HAVE_STRDUP
new_dirname = strdup (dirname);
if (new_dirname == NULL)
return NULL;
#else
size_t len = strlen (dirname) + 1;
new_dirname = (char *) malloc (len);
if (new_dirname == NULL)
return NULL;
memcpy (new_dirname, dirname, len);
#endif
}
if (binding->dirname != _nl_default_dirname)
free (binding->dirname);
binding->dirname = new_dirname;
} }
if (strcmp (binding->dirname, _nl_default_dirname) != 0)
free (binding->dirname);
binding->dirname = new_dirname;
} }
else else
{ {
@ -128,21 +140,33 @@ BINDTEXTDOMAIN (domainname, dirname)
if (new_binding == NULL) if (new_binding == NULL)
return NULL; return NULL;
#if defined _LIBC || defined HAVE_STRDUP
new_binding->domainname = strdup (domainname);
if (new_binding->domainname == NULL)
return NULL;
#else
len = strlen (domainname) + 1; len = strlen (domainname) + 1;
new_binding->domainname = (char *) malloc (len); new_binding->domainname = (char *) malloc (len);
if (new_binding->domainname == NULL) if (new_binding->domainname == NULL)
return NULL; return NULL;
memcpy (new_binding->domainname, domainname, len); memcpy (new_binding->domainname, domainname, len);
#endif
if (strcmp (dirname, _nl_default_dirname) == 0) if (strcmp (dirname, _nl_default_dirname) == 0)
new_binding->dirname = (char *) _nl_default_dirname; new_binding->dirname = (char *) _nl_default_dirname;
else else
{ {
#if defined _LIBC || defined HAVE_STRDUP
new_binding->dirname = strdup (dirname);
if (new_binding->dirname == NULL)
return NULL;
#else
len = strlen (dirname) + 1; len = strlen (dirname) + 1;
new_binding->dirname = (char *) malloc (len); new_binding->dirname = (char *) malloc (len);
if (new_binding->dirname == NULL) if (new_binding->dirname == NULL)
return NULL; return NULL;
memcpy (new_binding->dirname, dirname, len); memcpy (new_binding->dirname, dirname, len);
#endif
} }
/* Now enqueue it. */ /* Now enqueue it. */

View File

@ -1,20 +1,19 @@
/* Compatibility code for gettext-using-catgets interface. /* Compatibility code for gettext-using-catgets interface.
Copyright (C) 1995 Free Software Foundation, Inc. Copyright (C) 1995, 1997 Free Software Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or modify
modify it under the terms of the GNU Library General Public License as it under the terms of the GNU General Public License as published by
published by the Free Software Foundation; either version 2 of the the Free Software Foundation; either version 2, or (at your option)
License, or (at your option) any later version. 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Library General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU General Public License
License along with the GNU C Library; see the file COPYING.LIB. If along with this program; if not, write to the Free Software Foundation,
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
@ -40,6 +39,16 @@ char *getenv ();
/* @@ end of prolog @@ */ /* @@ end of prolog @@ */
/* XPG3 defines the result of `setlocale (category, NULL)' as:
``Directs `setlocale()' to query `category' and return the current
setting of `local'.''
However it does not specify the exact format. And even worse: POSIX
defines this not at all. So we can use this feature only on selected
system (e.g. those using GNU C Library). */
#ifdef _LIBC
# define HAVE_LOCALE_NULL
#endif
/* The catalog descriptor. */ /* The catalog descriptor. */
static nl_catd catalog = (nl_catd) -1; static nl_catd catalog = (nl_catd) -1;
@ -68,7 +77,8 @@ textdomain (domainname)
size_t new_name_len; size_t new_name_len;
char *lang; char *lang;
#if HAVE_SETLOCALE && HAVE_LC_MESSAGES && HAVE_SETLOCALE_NULL #if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \
&& defined HAVE_LOCALE_NULL
lang = setlocale (LC_MESSAGES, NULL); lang = setlocale (LC_MESSAGES, NULL);
#else #else
lang = getenv ("LC_ALL"); lang = getenv ("LC_ALL");

View File

@ -1,19 +1,19 @@
/* dcgettext.c -- implementation of the dcgettext(3) function /* Implementation of the dcgettext(3) function
Copyright (C) 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software Foundation,
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
@ -42,6 +42,9 @@ char *alloca ();
#ifndef errno #ifndef errno
extern int errno; extern int errno;
#endif #endif
#ifndef __set_errno
# define __set_errno(val) errno = (val)
#endif
#if defined STDC_HEADERS || defined _LIBC #if defined STDC_HEADERS || defined _LIBC
# include <stdlib.h> # include <stdlib.h>
@ -273,13 +276,13 @@ DCGETTEXT (domainname, msgid, category)
dirname = (char *) alloca (path_max + dirname_len); dirname = (char *) alloca (path_max + dirname_len);
ADD_BLOCK (block_list, dirname); ADD_BLOCK (block_list, dirname);
errno = 0; __set_errno (0);
while ((ret = getcwd (dirname, path_max)) == NULL && errno == ERANGE) while ((ret = getcwd (dirname, path_max)) == NULL && errno == ERANGE)
{ {
path_max += PATH_INCR; path_max += PATH_INCR;
dirname = (char *) alloca (path_max + dirname_len); dirname = (char *) alloca (path_max + dirname_len);
ADD_BLOCK (block_list, dirname); ADD_BLOCK (block_list, dirname);
errno = 0; __set_errno (0);
} }
if (ret == NULL) if (ret == NULL)
@ -287,14 +290,10 @@ DCGETTEXT (domainname, msgid, category)
/* We cannot get the current working directory. Don't signal an /* We cannot get the current working directory. Don't signal an
error but simply return the default string. */ error but simply return the default string. */
FREE_BLOCKS (block_list); FREE_BLOCKS (block_list);
errno = saved_errno; __set_errno (saved_errno);
return (char *) msgid; return (char *) msgid;
} }
/* We don't want libintl.a to depend on any other library. So
we avoid the non-standard function stpcpy. In GNU C Library
this function is available, though. Also allow the symbol
HAVE_STPCPY to be defined. */
stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname); stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
} }
@ -305,10 +304,7 @@ DCGETTEXT (domainname, msgid, category)
xdomainname = (char *) alloca (strlen (categoryname) xdomainname = (char *) alloca (strlen (categoryname)
+ strlen (domainname) + 5); + strlen (domainname) + 5);
ADD_BLOCK (block_list, xdomainname); ADD_BLOCK (block_list, xdomainname);
/* We don't want libintl.a to depend on any other library. So we
avoid the non-standard function stpcpy. In GNU C Library this
function is available, though. Also allow the symbol HAVE_STPCPY
to be defined. */
stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
domainname), domainname),
".mo"); ".mo");
@ -329,7 +325,7 @@ DCGETTEXT (domainname, msgid, category)
{ {
/* The whole contents of CATEGORYVALUE has been searched but /* The whole contents of CATEGORYVALUE has been searched but
no valid entry has been found. We solve this situation no valid entry has been found. We solve this situation
by implicitely appending a "C" entry, i.e. no translation by implicitly appending a "C" entry, i.e. no translation
will take place. */ will take place. */
single_locale[0] = 'C'; single_locale[0] = 'C';
single_locale[1] = '\0'; single_locale[1] = '\0';
@ -348,7 +344,7 @@ DCGETTEXT (domainname, msgid, category)
|| strcmp (single_locale, "POSIX") == 0) || strcmp (single_locale, "POSIX") == 0)
{ {
FREE_BLOCKS (block_list); FREE_BLOCKS (block_list);
errno = saved_errno; __set_errno (saved_errno);
return (char *) msgid; return (char *) msgid;
} }
@ -377,7 +373,7 @@ DCGETTEXT (domainname, msgid, category)
if (retval != NULL) if (retval != NULL)
{ {
FREE_BLOCKS (block_list); FREE_BLOCKS (block_list);
errno = saved_errno; __set_errno (saved_errno);
return retval; return retval;
} }
} }
@ -538,7 +534,8 @@ category_to_name (category)
} }
/* Guess value of current locale from value of the environment variables. */ /* Guess value of current locale from value of the environment variables. */
static const char *guess_category_value (category, categoryname) static const char *
guess_category_value (category, categoryname)
int category; int category;
const char *categoryname; const char *categoryname;
{ {

View File

@ -1,21 +1,19 @@
/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. /* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
The GNU C Library is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or modify
modify it under the terms of the GNU Library General Public License as it under the terms of the GNU General Public License as published by
published by the Free Software Foundation; either version 2 of the the Free Software Foundation; either version 2, or (at your option)
License, or (at your option) any later version. 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Library General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU General Public License
License along with the GNU C Library; see the file COPYING.LIB. If along with this program; if not, write to the Free Software Foundation,
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
@ -23,6 +21,7 @@ Boston, MA 02111-1307, USA. */
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <sys/types.h>
#include "loadinfo.h" #include "loadinfo.h"
@ -164,7 +163,7 @@ _nl_explode_name (name, language, modifier, territory, codeset,
} }
} }
/* For CEN sytnax values it might be important to have the /* For CEN syntax values it might be important to have the
separator character in the file name, not for XPG syntax. */ separator character in the file name, not for XPG syntax. */
if (syntax == xpg) if (syntax == xpg)
{ {

View File

@ -1,5 +1,5 @@
/* finddomain.c -- handle list of needed message catalogs /* Handle list of needed message catalogs
Copyright (C) 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -39,12 +39,14 @@ void free ();
# include <string.h> # include <string.h>
#else #else
# include <strings.h> # include <strings.h>
# ifndef memcpy
# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
# endif
#endif
#if !HAVE_STRCHR && !defined _LIBC
# ifndef strchr # ifndef strchr
# define strchr index # define strchr index
# endif # endif
# ifndef memcpy
# define memcpy(Dst, Src, Num) bcopy ((Src), (Dst), (Num))
# endif
#endif #endif
#if defined HAVE_UNISTD_H || defined _LIBC #if defined HAVE_UNISTD_H || defined _LIBC
@ -60,18 +62,6 @@ void free ();
#endif #endif
/* @@ end of prolog @@ */ /* @@ end of prolog @@ */
#ifdef _LIBC
/* Rename the non ANSI C functions. This is required by the standard
because some ANSI C functions will require linking with this object
file and the name space must not be polluted. */
# define stpcpy(dest, src) __stpcpy(dest, src)
#else
# ifndef HAVE_STPCPY
static char *stpcpy PARAMS ((char *dest, const char *src));
# endif
#endif
/* List of already loaded domains. */ /* List of already loaded domains. */
static struct loaded_l10nfile *_nl_loaded_domains; static struct loaded_l10nfile *_nl_loaded_domains;
@ -103,7 +93,7 @@ _nl_find_domain (dirname, locale, domainname)
and six parts for the CEN syntax: and six parts for the CEN syntax:
language[_territory][+audience][+special][,sponsor][_revision] language[_territory][+audience][+special][,[sponsor][_revision]]
Beside the first all of them are allowed to be missing. If the Beside the first all of them are allowed to be missing. If the
full specified locale is not found, the less specific one are full specified locale is not found, the less specific one are
@ -168,7 +158,7 @@ _nl_find_domain (dirname, locale, domainname)
&sponsor, &revision); &sponsor, &revision);
/* Create all possible locale entries which might be interested in /* Create all possible locale entries which might be interested in
generalzation. */ generalization. */
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
strlen (dirname) + 1, mask, language, territory, strlen (dirname) + 1, mask, language, territory,
codeset, normalized_codeset, modifier, special, codeset, normalized_codeset, modifier, special,
@ -197,21 +187,3 @@ _nl_find_domain (dirname, locale, domainname)
return retval; return retval;
} }
/* @@ begin of epilog @@ */
/* We don't want libintl.a to depend on any other library. So we
avoid the non-standard function stpcpy. In GNU C Library this
function is available, though. Also allow the symbol HAVE_STPCPY
to be defined. */
#if !_LIBC && !HAVE_STPCPY
static char *
stpcpy (dest, src)
char *dest;
const char *src;
{
while ((*dest++ = *src++) != '\0')
/* Do nothing. */ ;
return dest - 1;
}
#endif

View File

@ -1,19 +1,19 @@
/* gettext.c -- implementation of gettext(3) function /* Implementation of gettext(3) function
Copyright (C) 1995 Software Foundation, Inc. Copyright (C) 1995, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software Foundation,
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>

View File

@ -1,20 +1,20 @@
/* gettext.h - internal header for GNU gettext internationalization functions /* Internal header for GNU gettext internationalization functions
Copyright (C) 1995 Software Foundation, Inc. Copyright (C) 1995, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU Library General Public 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 License along with the GNU C Library; see the file COPYING.LIB. If not,
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#ifndef _GETTEXT_H #ifndef _GETTEXT_H
#define _GETTEXT_H 1 #define _GETTEXT_H 1

View File

@ -1,19 +1,20 @@
/* hash-string - Implements a string hashing function. /* Implements a string hashing function.
Copyright (C) 1995 Free Software Foundation, Inc. Copyright (C) 1995, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU Library General Public
along with this program; if not, write to the Free Software License along with the GNU C Library; see the file COPYING.LIB. If not,
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifdef HAVE_VALUES_H #ifdef HAVE_VALUES_H
# include <values.h> # include <values.h>

View File

@ -1,5 +1,5 @@
/* finddomain.c -- handle list of needed message catalogs /* Handle list of needed message catalogs
Copyright (C) 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -20,6 +20,7 @@
# include <config.h> # include <config.h>
#endif #endif
#if defined HAVE_STRING_H || defined _LIBC #if defined HAVE_STRING_H || defined _LIBC
# ifndef _GNU_SOURCE # ifndef _GNU_SOURCE
# define _GNU_SOURCE 1 # define _GNU_SOURCE 1
@ -27,18 +28,21 @@
# include <string.h> # include <string.h>
#else #else
# include <strings.h> # include <strings.h>
# ifndef memcpy
# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
# endif
#endif
#if !HAVE_STRCHR && !defined _LIBC
# ifndef strchr # ifndef strchr
# define strchr index # define strchr index
# endif # endif
# ifndef memcpy
# define memcpy(Dst, Src, Num) bcopy ((Src), (Dst), (Num))
# endif
#endif #endif
#if defined _LIBC || defined HAVE_ARGZ_H #if defined _LIBC || defined HAVE_ARGZ_H
# include <argz.h> # include <argz.h>
#endif #endif
#include <ctype.h> #include <ctype.h>
#include <sys/types.h>
#if defined STDC_HEADERS || defined _LIBC #if defined STDC_HEADERS || defined _LIBC
# include <stdlib.h> # include <stdlib.h>
@ -198,14 +202,16 @@ _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
+ ((mask & XPG_NORM_CODESET) != 0 + ((mask & XPG_NORM_CODESET) != 0
? strlen (normalized_codeset) + 1 : 0) ? strlen (normalized_codeset) + 1 : 0)
+ (((mask & XPG_MODIFIER) != 0 + (((mask & XPG_MODIFIER) != 0
|| (mask & CEN_AUDIENCE) != 0) ? || (mask & CEN_AUDIENCE) != 0)
strlen (modifier) + 1 : 0) ? strlen (modifier) + 1 : 0)
+ ((mask & CEN_SPECIAL) != 0 + ((mask & CEN_SPECIAL) != 0
? strlen (special) + 1 : 0) ? strlen (special) + 1 : 0)
+ ((mask & CEN_SPONSOR) != 0 + (((mask & CEN_SPONSOR) != 0
? strlen (sponsor) + 1 : 0) || (mask & CEN_REVISION) != 0)
+ ((mask & CEN_REVISION) != 0 ? (1 + ((mask & CEN_SPONSOR) != 0
? strlen (revision) + 1 : 0) ? strlen (sponsor) + 1 : 0)
+ ((mask & CEN_REVISION) != 0
? strlen (revision) + 1 : 0)) : 0)
+ 1 + strlen (filename) + 1); + 1 + strlen (filename) + 1);
if (abs_filename == NULL) if (abs_filename == NULL)
@ -248,15 +254,16 @@ _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
*cp++ = '+'; *cp++ = '+';
cp = stpcpy (cp, special); cp = stpcpy (cp, special);
} }
if ((mask & CEN_SPONSOR) != 0) if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
{ {
*cp++ = ','; *cp++ = ',';
cp = stpcpy (cp, sponsor); if ((mask & CEN_SPONSOR) != 0)
} cp = stpcpy (cp, sponsor);
if ((mask & CEN_REVISION) != 0) if ((mask & CEN_REVISION) != 0)
{ {
*cp++ = '_'; *cp++ = '_';
cp = stpcpy (cp, revision); cp = stpcpy (cp, revision);
}
} }
*cp++ = '/'; *cp++ = '/';
@ -313,8 +320,8 @@ _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
} }
entries = 0; entries = 0;
/* If the DIRLIST is a real list the RETVAL entry correcponds not to /* If the DIRLIST is a real list the RETVAL entry corresponds not to
a real file. So we have to use the DIRLIST separation machanism a real file. So we have to use the DIRLIST separation mechanism
of the inner loop. */ of the inner loop. */
cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask; cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
for (; cnt >= 0; --cnt) for (; cnt >= 0; --cnt)

View File

@ -1,19 +1,19 @@
/* libgettext.h -- Message catalogs for internationalization. /* Message catalogs for internationalization.
Copyright (C) 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software Foundation,
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Because on some systems (e.g. Solaris) we sometimes have to include /* Because on some systems (e.g. Solaris) we sometimes have to include
the systems libintl.h as well as this file we have more complex the systems libintl.h as well as this file we have more complex
@ -151,13 +151,13 @@ extern int _nl_msg_cat_cntr;
if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \ if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \
{ \ { \
__translation__ = \ __translation__ = \
dcgettext__ ((Domainname), (Msgid), (Category)); \ dcgettext__ (Domainname, Msgid, Category); \
__catalog_counter__ = _nl_msg_cat_cntr; \ __catalog_counter__ = _nl_msg_cat_cntr; \
} \ } \
__result = __translation__; \ __result = __translation__; \
} \ } \
else \ else \
__result = dcgettext__ ((Domainname), (Msgid), (Category)); \ __result = dcgettext__ (Domainname, Msgid, Category); \
__result; \ __result; \
})) }))
# endif # endif

View File

@ -1,19 +1,19 @@
/* loadmsgcat.c -- load needed message catalogs /* Load needed message catalogs
Copyright (C) 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software Foundation,
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
# include <config.h> # include <config.h>
@ -41,8 +41,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* @@ end of prolog @@ */ /* @@ end of prolog @@ */
#ifdef _LIBC #ifdef _LIBC
/* Rename the non ANSI C functions. This is required by the standard /* Rename the non ISO C functions. This is required by the standard
because some ANSI C functions will require linking with this object because some ISO C functions will require linking with this object
file and the name space must not be polluted. */ file and the name space must not be polluted. */
# define fstat __fstat # define fstat __fstat
# define open __open # define open __open
@ -55,7 +55,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* We need a sign, whether a new catalog was loaded, which can be associated /* We need a sign, whether a new catalog was loaded, which can be associated
with all translations. This is important if the translations are with all translations. This is important if the translations are
cached by one of GCC's features. */ cached by one of GCC's features. */
int _nl_msg_cat_cntr; int _nl_msg_cat_cntr = 0;
/* Load the message catalogs specified by FILENAME. If it is no valid /* Load the message catalogs specified by FILENAME. If it is no valid

View File

@ -1,5 +1,5 @@
/* localealias.c -- handle aliases for locale names /* Handle aliases for locale names
Copyright (C) 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -59,12 +59,14 @@ void free ();
# include <string.h> # include <string.h>
#else #else
# include <strings.h> # include <strings.h>
# ifndef memcpy
# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
# endif
#endif
#if !HAVE_STRCHR && !defined _LIBC
# ifndef strchr # ifndef strchr
# define strchr index # define strchr index
# endif # endif
# ifndef memcpy
# define memcpy(Dst, Src, Num) bcopy ((Src), (Dst), (Num))
# endif
#endif #endif
#include "gettext.h" #include "gettext.h"
@ -295,7 +297,7 @@ read_alias_file (fname, fname_len)
} }
} }
/* Possibily not the whole line fitted into the buffer. Ignore /* Possibly not the whole line fits into the buffer. Ignore
the rest of the line. */ the rest of the line. */
while (strchr (cp, '\n') == NULL) while (strchr (cp, '\n') == NULL)
{ {

View File

@ -1,5 +1,5 @@
/* textdomain.c -- implementation of the textdomain(3) function /* Implementation of the textdomain(3) function
Copyright (C) 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -29,7 +29,7 @@
#else #else
# include <strings.h> # include <strings.h>
# ifndef memcpy # ifndef memcpy
# define memcpy(Dst, Src, Num) bcopy ((Src), (Dst), (Num)) # define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
# endif # endif
#endif #endif
@ -54,6 +54,7 @@ extern const char *_nl_current_default_domain;
prefix. So we have to make a difference here. */ prefix. So we have to make a difference here. */
#ifdef _LIBC #ifdef _LIBC
# define TEXTDOMAIN __textdomain # define TEXTDOMAIN __textdomain
# define strdup(str) __strdup (str)
#else #else
# define TEXTDOMAIN textdomain__ # define TEXTDOMAIN textdomain__
#endif #endif
@ -82,11 +83,15 @@ TEXTDOMAIN (domainname)
/* If the following malloc fails `_nl_current_default_domain' /* If the following malloc fails `_nl_current_default_domain'
will be NULL. This value will be returned and so signals we will be NULL. This value will be returned and so signals we
are out of core. */ are out of core. */
#if defined _LIBC || defined HAVE_STRDUP
_nl_current_default_domain = strdup (domainname);
#else
size_t len = strlen (domainname) + 1; size_t len = strlen (domainname) + 1;
char *cp = (char *) malloc (len); char *cp = (char *) malloc (len);
if (cp != NULL) if (cp != NULL)
memcpy (cp, domainname, len); memcpy (cp, domainname, len);
_nl_current_default_domain = cp; _nl_current_default_domain = cp;
#endif
} }
if (old != _nl_default_default_domain) if (old != _nl_default_default_domain)

View File

@ -1,5 +1,5 @@
## Makefile.am for texinfo/lib. ## Makefile.am for texinfo/lib.
## $Id: Makefile.am,v 1.2 1998/03/24 18:07:26 law Exp $ ## $Id: Makefile.am,v 1.1.1.2 1998/03/24 18:19:49 law Exp $
## Run automake in .. to produce Makefile.in from this. ## Run automake in .. to produce Makefile.in from this.
noinst_LIBRARIES = libtxi.a noinst_LIBRARIES = libtxi.a

View File

@ -1,8 +1,14 @@
# Makefile.in generated automatically by automake 1.2 from Makefile.am # Makefile.in generated automatically by automake 1.2f from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. # Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it. # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = /bin/sh
@ -43,27 +49,26 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
NORMAL_INSTALL = true NORMAL_INSTALL = :
PRE_INSTALL = true PRE_INSTALL = :
POST_INSTALL = true POST_INSTALL = :
NORMAL_UNINSTALL = true NORMAL_UNINSTALL = :
PRE_UNINSTALL = true PRE_UNINSTALL = :
POST_UNINSTALL = true POST_UNINSTALL = :
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@ GT_NO = @GT_NO@
GT_YES = @GT_YES@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
@ -117,9 +122,9 @@ OBJECTS = $(libtxi_a_OBJECTS)
default: all default: all
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .c .o .SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --cygnus lib/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps lib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
@ -129,7 +134,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
mostlyclean-noinstLIBRARIES: mostlyclean-noinstLIBRARIES:
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
distclean-noinstLIBRARIES: distclean-noinstLIBRARIES:
@ -138,38 +143,49 @@ maintainer-clean-noinstLIBRARIES:
.c.o: .c.o:
$(COMPILE) -c $< $(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile: mostlyclean-compile:
rm -f *.o core -rm -f *.o core *.core
clean-compile: clean-compile:
distclean-compile: distclean-compile:
rm -f *.tab.c -rm -f *.tab.c
maintainer-clean-compile: maintainer-clean-compile:
libtxi.a: $(libtxi_a_OBJECTS) $(libtxi_a_DEPENDENCIES) libtxi.a: $(libtxi_a_OBJECTS) $(libtxi_a_DEPENDENCIES)
rm -f libtxi.a -rm -f libtxi.a
$(AR) cru libtxi.a $(libtxi_a_OBJECTS) $(libtxi_a_LIBADD) $(AR) cru libtxi.a $(libtxi_a_OBJECTS) $(libtxi_a_LIBADD)
$(RANLIB) libtxi.a $(RANLIB) libtxi.a
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) ID: $(HEADERS) $(SOURCES) $(LISP)
here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS) here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \ list='$(SOURCES) $(HEADERS)'; \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $(SOURCES) $(HEADERS) -o $$here/TAGS) unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags: mostlyclean-tags:
clean-tags: clean-tags:
distclean-tags: distclean-tags:
rm -f TAGS ID -rm -f TAGS ID
maintainer-clean-tags: maintainer-clean-tags:
@ -179,17 +195,21 @@ subdir = lib
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ d=$(srcdir); \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \ || cp -p $$d/$$file $(distdir)/$$file; \
done done
getopt.o: getopt.c ../config.h
getopt1.o: getopt1.c ../config.h getopt.h
xmalloc.o: xmalloc.c
xstrdup.o: xstrdup.c ../config.h
info: info:
dvi: dvi:
check: all check: all
$(MAKE) $(MAKE)
installcheck: installcheck:
install-info:
install-exec: install-exec:
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
@ -209,19 +229,19 @@ installdirs:
mostlyclean-generic: mostlyclean-generic:
test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(DISTCLEANFILES)
rm -f config.cache config.log stamp-h stamp-h[0-9]* -rm -f config.cache config.log stamp-h stamp-h[0-9]*
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \ mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean-tags mostlyclean-generic mostlyclean-tags mostlyclean-generic
@ -230,7 +250,7 @@ clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \ distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
distclean-generic clean distclean-generic clean
rm -f config.status -rm -f config.status
maintainer-clean: maintainer-clean-noinstLIBRARIES \ maintainer-clean: maintainer-clean-noinstLIBRARIES \
maintainer-clean-compile maintainer-clean-tags \ maintainer-clean-compile maintainer-clean-tags \
@ -243,8 +263,8 @@ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \ mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile tags mostlyclean-tags distclean-tags \ maintainer-clean-compile tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir info dvi installcheck \ clean-tags maintainer-clean-tags distdir info dvi installcheck \
install-info install-exec install-data install uninstall all \ install-exec install-data install uninstall all installdirs \
installdirs mostlyclean-generic distclean-generic clean-generic \ mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean maintainer-clean-generic clean mostlyclean distclean maintainer-clean

View File

@ -1,3 +1,4 @@
Common routines to the Texinfo package. Common routines for the Texinfo package.
Many are common to other GNU packages as well. Many are common to other GNU packages as well.
(On the FSF machines, check /gd/gnu/lib for the latest.) (On the FSF machines, check /home/gd/gnu/lib for the latest.)

View File

@ -6,23 +6,23 @@
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97 Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97
Free Software Foundation, Inc. Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library. 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. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
This program is free software; you can redistribute it and/or modify it 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 under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any Free Software Foundation; either version 2, or (at your option) any
later version. later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */ USA. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>. /* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */ Ditto for AIX 3.2 and <stdlib.h>. */
@ -79,12 +79,6 @@ USA. */
#endif #endif
#endif #endif
#if defined (WIN32) && !defined (__CYGWIN32__)
/* It's not Unix, really. See? Capital letters. */
#include <windows.h>
#define getpid() GetCurrentProcessId()
#endif
#ifndef _ #ifndef _
/* This is for other GNU distributions with internationalized messages. /* This is for other GNU distributions with internationalized messages.
When compiling libc, the _ macro is predefined. */ When compiling libc, the _ macro is predefined. */
@ -262,8 +256,6 @@ static int nonoption_flags_len;
static int original_argc; static int original_argc;
static char *const *original_argv; static char *const *original_argv;
extern pid_t __libc_pid;
/* Make sure the environment variable bash 2.0 puts in the environment /* 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 is valid for the getopt call we must make sure that the ARGV passed
to getopt is that one passed to the process. */ to getopt is that one passed to the process. */
@ -276,7 +268,9 @@ store_args_and_env (int argc, char *const *argv)
original_argc = argc; original_argc = argc;
original_argv = argv; original_argv = argv;
} }
# ifdef text_set_element
text_set_element (__libc_subinit, store_args_and_env); text_set_element (__libc_subinit, store_args_and_env);
# endif /* text_set_element */
# define SWAP_FLAGS(ch1, ch2) \ # define SWAP_FLAGS(ch1, ch2) \
if (nonoption_flags_len > 0) \ if (nonoption_flags_len > 0) \
@ -329,9 +323,9 @@ exchange (argv)
nonoption_flags_len = nonoption_flags_max_len = 0; nonoption_flags_len = nonoption_flags_max_len = 0;
else else
{ {
memcpy (new_str, __getopt_nonoption_flags, nonoption_flags_max_len); memset (__mempcpy (new_str, __getopt_nonoption_flags,
memset (&new_str[nonoption_flags_max_len], '\0', nonoption_flags_max_len),
top + 1 - nonoption_flags_max_len); '\0', top + 1 - nonoption_flags_max_len);
nonoption_flags_max_len = top + 1; nonoption_flags_max_len = top + 1;
__getopt_nonoption_flags = new_str; __getopt_nonoption_flags = new_str;
} }
@ -440,11 +434,8 @@ _getopt_initialize (argc, argv, optstring)
if (__getopt_nonoption_flags == NULL) if (__getopt_nonoption_flags == NULL)
nonoption_flags_max_len = -1; nonoption_flags_max_len = -1;
else else
{ memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
memcpy (__getopt_nonoption_flags, orig_str, len); '\0', nonoption_flags_max_len - len);
memset (&__getopt_nonoption_flags[len], '\0',
nonoption_flags_max_len - len);
}
} }
} }
nonoption_flags_len = nonoption_flags_max_len; nonoption_flags_len = nonoption_flags_max_len;

View File

@ -1,23 +1,23 @@
/* Declarations for getopt. /* Declarations for getopt.
Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library. 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. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
This program is free software; you can redistribute it and/or modify it 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 under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any Free Software Foundation; either version 2, or (at your option) any
later version. later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */ USA. */
#ifndef _GETOPT_H #ifndef _GETOPT_H
#define _GETOPT_H 1 #define _GETOPT_H 1
@ -130,4 +130,4 @@ extern int _getopt_internal ();
} }
#endif #endif
#endif /* _GETOPT_H */ #endif /* getopt.h */

View File

@ -1,23 +1,23 @@
/* getopt_long and getopt_long_only entry points for GNU getopt. /* getopt_long and getopt_long_only entry points for GNU getopt.
Copyright (C) 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc. Copyright (C) 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library. 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. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
This program is free software; you can redistribute it and/or modify it 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 under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any Free Software Foundation; either version 2, or (at your option) any
later version. later version.
This program 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 but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */ USA. */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>

View File

@ -1,5 +1,5 @@
/* system.h: System-dependent declarations. Include this first. /* system.h: System-dependent declarations. Include this first.
$Id: system.h,v 1.2 1998/03/24 18:07:37 law Exp $ $Id: system.h,v 1.1.1.2 1998/03/24 18:19:53 law Exp $
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997 Free Software Foundation, Inc.

View File

@ -1,5 +1,5 @@
## Makefile.am for texinfo/makeinfo. ## Makefile.am for texinfo/makeinfo.
## $Id: Makefile.am,v 1.2 1998/03/24 18:07:49 law Exp $ ## $Id: Makefile.am,v 1.3 1998/03/24 19:41:22 law Exp $
## Run automake in .. to produce Makefile.in from this. ## Run automake in .. to produce Makefile.in from this.
bin_PROGRAMS = makeinfo bin_PROGRAMS = makeinfo

View File

@ -1,8 +1,14 @@
# Makefile.in generated automatically by automake 1.2 from Makefile.am # Makefile.in generated automatically by automake 1.2f from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. # Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it. # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = /bin/sh
@ -43,27 +49,26 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
NORMAL_INSTALL = true NORMAL_INSTALL = :
PRE_INSTALL = true PRE_INSTALL = :
POST_INSTALL = true POST_INSTALL = :
NORMAL_UNINSTALL = true NORMAL_UNINSTALL = :
PRE_UNINSTALL = true PRE_UNINSTALL = :
POST_UNINSTALL = true POST_UNINSTALL = :
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@ GT_NO = @GT_NO@
GT_YES = @GT_YES@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
@ -91,7 +96,6 @@ EXTRA_DIST = README
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
bin_PROGRAMS = makeinfo$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) PROGRAMS = $(bin_PROGRAMS)
@ -119,9 +123,9 @@ OBJECTS = $(makeinfo_OBJECTS)
default: all default: all
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .c .o .SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --cygnus makeinfo/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps makeinfo/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
@ -131,7 +135,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
mostlyclean-binPROGRAMS: mostlyclean-binPROGRAMS:
clean-binPROGRAMS: clean-binPROGRAMS:
test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
distclean-binPROGRAMS: distclean-binPROGRAMS:
@ -148,7 +152,7 @@ install-binPROGRAMS: $(bin_PROGRAMS)
done done
uninstall-binPROGRAMS: uninstall-binPROGRAMS:
$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \ list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
done done
@ -156,37 +160,48 @@ uninstall-binPROGRAMS:
.c.o: .c.o:
$(COMPILE) -c $< $(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile: mostlyclean-compile:
rm -f *.o core -rm -f *.o core *.core
clean-compile: clean-compile:
distclean-compile: distclean-compile:
rm -f *.tab.c -rm -f *.tab.c
maintainer-clean-compile: maintainer-clean-compile:
makeinfo$(EXEEXT): $(makeinfo_OBJECTS) $(makeinfo_DEPENDENCIES) makeinfo: $(makeinfo_OBJECTS) $(makeinfo_DEPENDENCIES)
@rm -f makeinfo$(EXEEXT) @rm -f makeinfo
$(LINK) $(makeinfo_LDFLAGS) $(makeinfo_OBJECTS) $(makeinfo_LDADD) $(LIBS) $(LINK) $(makeinfo_LDFLAGS) $(makeinfo_OBJECTS) $(makeinfo_LDADD) $(LIBS)
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) ID: $(HEADERS) $(SOURCES) $(LISP)
here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS) here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \ list='$(SOURCES) $(HEADERS)'; \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $(SOURCES) $(HEADERS) -o $$here/TAGS) unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags: mostlyclean-tags:
clean-tags: clean-tags:
distclean-tags: distclean-tags:
rm -f TAGS ID -rm -f TAGS ID
maintainer-clean-tags: maintainer-clean-tags:
@ -196,17 +211,20 @@ subdir = makeinfo
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ d=$(srcdir); \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \ || cp -p $$d/$$file $(distdir)/$$file; \
done done
makeinfo.o: makeinfo.c ../lib/system.h ../config.h ../lib/getopt.h \
makeinfo.h
multi.o: multi.c ../lib/system.h ../config.h makeinfo.h
info: info:
dvi: dvi:
check: all check: all
$(MAKE) $(MAKE)
installcheck: installcheck:
install-info:
install-exec: install-binPROGRAMS install-exec: install-binPROGRAMS
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
@ -227,19 +245,19 @@ installdirs:
mostlyclean-generic: mostlyclean-generic:
test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(DISTCLEANFILES)
rm -f config.cache config.log stamp-h stamp-h[0-9]* -rm -f config.cache config.log stamp-h stamp-h[0-9]*
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-binPROGRAMS mostlyclean-compile \ mostlyclean: mostlyclean-binPROGRAMS mostlyclean-compile \
mostlyclean-tags mostlyclean-generic mostlyclean-tags mostlyclean-generic
@ -248,7 +266,7 @@ clean: clean-binPROGRAMS clean-compile clean-tags clean-generic \
distclean: distclean-binPROGRAMS distclean-compile distclean-tags \ distclean: distclean-binPROGRAMS distclean-compile distclean-tags \
distclean-generic clean distclean-generic clean
rm -f config.status -rm -f config.status
maintainer-clean: maintainer-clean-binPROGRAMS maintainer-clean-compile \ maintainer-clean: maintainer-clean-binPROGRAMS maintainer-clean-compile \
maintainer-clean-tags maintainer-clean-generic \ maintainer-clean-tags maintainer-clean-generic \
@ -261,8 +279,8 @@ clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \ install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile tags mostlyclean-tags distclean-tags \ maintainer-clean-compile tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir info dvi installcheck \ clean-tags maintainer-clean-tags distdir info dvi installcheck \
install-info install-exec install-data install uninstall all \ install-exec install-data install uninstall all installdirs \
installdirs mostlyclean-generic distclean-generic clean-generic \ mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean maintainer-clean-generic clean mostlyclean distclean maintainer-clean

View File

@ -1,6 +1,8 @@
A standalone program to convert Texinfo source into Info files makeinfo is a standalone program to convert Texinfo source into Info
readable with standalone info or M-x info in Emacs. files readable with standalone info or M-x info in Emacs.
makeinfo can also output plain ASCII.
The Emacs function M-x texinfo-format-buffer does the same job, but makeinfo can also output plain ASCII. Work to support HTML and Troff
makeinfo is faster and gives better error messages. output is almost complete.
The Emacs function M-x texinfo-format-buffer does more or less the same
job, but makeinfo is faster and gives better error messages.

View File

@ -1,7 +1,8 @@
/* Makeinfo -- convert Texinfo source files into Info files. /* Makeinfo -- convert Texinfo source files into Info files.
$Id: makeinfo.c,v 1.8 1998/03/24 18:07:53 law Exp $ $Id: makeinfo.c,v 1.11 1998/07/06 21:58:00 law Exp $
Copyright (C) 1987, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. Copyright (C) 1987, 92, 93, 94, 95, 96, 97, 98
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -115,6 +116,9 @@ int must_start_paragraph = 0;
/* Nonzero means a string is in execution, as opposed to a file. */ /* Nonzero means a string is in execution, as opposed to a file. */
static int executing_string = 0; static int executing_string = 0;
/* Nonzero means a macro string is in execution, as opposed to a file. */
static int me_executing_string = 0;
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
/* If non-NULL, this is an output stream to write the full macro expansion /* If non-NULL, this is an output stream to write the full macro expansion
of the input text to. The result is another texinfo file, but of the input text to. The result is another texinfo file, but
@ -1082,10 +1086,11 @@ main (argc, argv)
case 'V': case 'V':
/* User requested version info. */ /* User requested version info. */
print_version_info (); print_version_info ();
puts (_("Copyright (C) 1996 Free Software Foundation, Inc.\n\ printf (_("Copyright (C) %s Free Software Foundation, Inc.\n\
There is NO warranty. You may redistribute this software\n\ There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License.\n\ under the terms of the GNU General Public License.\n\
For more information about these matters, see the files named COPYING.")); For more information about these matters, see the files named COPYING.\n"),
"1998");
exit (NO_ERROR); exit (NO_ERROR);
break; break;
@ -1143,7 +1148,7 @@ For more information about these matters, see the files named COPYING."));
void void
print_version_info () print_version_info ()
{ {
printf (_("makeinfo (GNU %s %s) %d.%d\n"), PACKAGE, VERSION, printf ("makeinfo (GNU %s %s) %d.%d\n", PACKAGE, VERSION,
major_version, minor_version); major_version, minor_version);
} }
@ -1188,10 +1193,10 @@ Options:\n\
--verbose report about what is being done.\n\ --verbose report about what is being done.\n\
--version display version information and exit.\n\ --version display version information and exit.\n\
\n\ \n\
Email bug reports to bug-texinfo@prep.ai.mit.edu.\n\ Email bug reports to bug-texinfo@gnu.org.\n\
"), "),
progname, paragraph_start_indent, progname, max_error_level, fill_column,
fill_column, max_error_level, reference_warning_limit); paragraph_start_indent, reference_warning_limit);
exit (exit_value); exit (exit_value);
} }
@ -1248,8 +1253,8 @@ find_and_load (filename)
if (file < 0) if (file < 0)
goto error_exit; goto error_exit;
/* Load the file. */ /* Load the file, with enough room for a newline and a null. */
result = (char *)xmalloc (1 + file_size); result = xmalloc (file_size + 2);
/* VMS stat lies about the st_size value. The actual number of /* VMS stat lies about the st_size value. The actual number of
readable bytes is always less than this value. The arcane readable bytes is always less than this value. The arcane
@ -1291,8 +1296,10 @@ find_and_load (filename)
line_number = 1; line_number = 1;
/* Not strictly necessary. This magic prevents read_token () from doing /* Not strictly necessary. This magic prevents read_token () from doing
extra unnecessary work each time it is called (that is a lot of times). extra unnecessary work each time it is called (that is a lot of times).
The SIZE_OF_INPUT_TEXT is one past the actual end of the text. */ SIZE_OF_INPUT_TEXT is one past the actual end of the text. */
input_text[size_of_input_text] = '\n'; input_text[size_of_input_text] = '\n';
/* This, on the other hand, is always necessary. */
input_text[size_of_input_text+1] = 0;
return (result); return (result);
} }
@ -1333,7 +1340,7 @@ popfile ()
filestack = filestack->next; filestack = filestack->next;
/* Make sure that commands with braces have been satisfied. */ /* Make sure that commands with braces have been satisfied. */
if (!executing_string) if (!executing_string && !me_executing_string)
discard_braces (); discard_braces ();
/* Get the top of the stack into the globals. */ /* Get the top of the stack into the globals. */
@ -1817,7 +1824,7 @@ get_until_in_line (expand, match, string)
`execution_strings' array. This happens when processing the `execution_strings' array. This happens when processing the
(synthetic) Overview-Footnotes node in the Texinfo manual. */ (synthetic) Overview-Footnotes node in the Texinfo manual. */
if (expand && !executing_string) if (expand && !executing_string && !me_executing_string)
{ {
char *xp; char *xp;
unsigned xp_len, new_len; unsigned xp_len, new_len;
@ -1833,12 +1840,15 @@ get_until_in_line (expand, match, string)
xp_len = strlen (xp); xp_len = strlen (xp);
free (str); free (str);
/* Plunk the expansion into the middle of input_text. */ /* Plunk the expansion into the middle of `input_text' --
str = xstrdup (input_text + limit); which is terminated by a newline, not a null. */
new_len = input_text_offset + xp_len + strlen (str) + 1; str = xmalloc (real_bottom - limit + 1);
strncpy (str, input_text + limit, real_bottom - limit + 1);
new_len = input_text_offset + xp_len + real_bottom - limit + 1;
input_text = xrealloc (input_text, new_len); input_text = xrealloc (input_text, new_len);
strcpy (input_text + input_text_offset, xp); strcpy (input_text + input_text_offset, xp);
strcat (input_text, str); strncpy (input_text + input_text_offset + xp_len, str,
real_bottom - limit + 1);
free (str); free (str);
free (xp); free (xp);
@ -3973,7 +3983,7 @@ cm_today (arg)
{ {
time_t timer = time (0); time_t timer = time (0);
struct tm *ts = localtime (&timer); struct tm *ts = localtime (&timer);
add_word_args (_("%d %s %d"), ts->tm_mday, _(months[ts->tm_mon]), add_word_args ("%d %s %d", ts->tm_mday, _(months[ts->tm_mon]),
ts->tm_year + 1900); ts->tm_year + 1900);
} }
} }
@ -4160,7 +4170,7 @@ insert_and_underscore (with_char)
no_indent = 1; no_indent = 1;
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
append_to_expansion_output (input_text_offset + 1); append_to_expansion_output (input_text_offset + 1);
#endif /* HAVE_MACROS */ #endif /* HAVE_MACROS */
@ -4168,7 +4178,7 @@ insert_and_underscore (with_char)
starting_pos = output_position + output_paragraph_offset; starting_pos = output_position + output_paragraph_offset;
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
{ {
char *temp1 = (char *) xmalloc (2 + strlen (temp)); char *temp1 = (char *) xmalloc (2 + strlen (temp));
sprintf (temp1, "%s\n", temp); sprintf (temp1, "%s\n", temp);
@ -4312,7 +4322,7 @@ cm_top ()
{ {
TAG_ENTRY *tag = tag_table; TAG_ENTRY *tag = tag_table;
line_error (_("There already is a node having %ctop as a section"), line_error (_("Node with %ctop as a section already exists"),
COMMAND_PREFIX); COMMAND_PREFIX);
while (tag != (TAG_ENTRY *)NULL) while (tag != (TAG_ENTRY *)NULL)
@ -4730,7 +4740,7 @@ cm_node ()
current_footnote_number = 1; current_footnote_number = 1;
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
append_to_expansion_output (input_text_offset + 1); append_to_expansion_output (input_text_offset + 1);
#endif /* HAVE_MACROS */ #endif /* HAVE_MACROS */
@ -4743,7 +4753,7 @@ cm_node ()
printf (_("Formatting node %s...\n"), node); printf (_("Formatting node %s...\n"), node);
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
remember_itext (input_text, input_text_offset); remember_itext (input_text, input_text_offset);
#endif /* HAVE_MACROS */ #endif /* HAVE_MACROS */
@ -4753,7 +4763,7 @@ cm_node ()
add_word_args ("\037\nFile: %s, Node: ", pretty_output_filename); add_word_args ("\037\nFile: %s, Node: ", pretty_output_filename);
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
me_execute_string (node); me_execute_string (node);
else else
#endif /* HAVE_MACROS */ #endif /* HAVE_MACROS */
@ -4934,7 +4944,7 @@ cm_node ()
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
/* Insert the correct args if we are expanding macros, and the node's /* Insert the correct args if we are expanding macros, and the node's
pointers weren't defaulted. */ pointers weren't defaulted. */
if (macro_expansion_output_stream && !defaulting) if (macro_expansion_output_stream && !executing_string && !defaulting)
{ {
char *temp; char *temp;
int op_orig = output_paragraph_offset; int op_orig = output_paragraph_offset;
@ -5833,7 +5843,7 @@ cm_uref (arg, start_pos, end_pos)
if (arg == END) if (arg == END)
{ {
char *comma; char *comma;
char *arg = &output_paragraph[start_pos]; char *arg = (char *) &output_paragraph[start_pos];
output_paragraph[end_pos] = 0; output_paragraph[end_pos] = 0;
output_column -= end_pos - start_pos; output_column -= end_pos - start_pos;
@ -5877,7 +5887,7 @@ cm_email (arg, start_pos, end_pos)
if (arg == END) if (arg == END)
{ {
char *comma; char *comma;
char *arg = &output_paragraph[start_pos]; char *arg = (char *) &output_paragraph[start_pos];
output_paragraph[end_pos] = 0; output_paragraph[end_pos] = 0;
output_column -= end_pos - start_pos; output_column -= end_pos - start_pos;
@ -6314,8 +6324,8 @@ cm_value (arg, start_pos, end_pos)
{ {
if (arg == END) if (arg == END)
{ {
char *name, *value; char *name = (char *) &output_paragraph[start_pos];
name = &output_paragraph[start_pos]; char *value;
output_paragraph[end_pos] = 0; output_paragraph[end_pos] = 0;
name = xstrdup (name); name = xstrdup (name);
value = set_p (name); value = set_p (name);
@ -6623,13 +6633,10 @@ expansion (str, implicit_code)
/* Inhibit any real output. */ /* Inhibit any real output. */
int start = output_paragraph_offset; int start = output_paragraph_offset;
int saved_paragraph_is_open = paragraph_is_open; int saved_paragraph_is_open = paragraph_is_open;
FILE *saved_macro_expansion_output_stream = macro_expansion_output_stream;
inhibit_output_flushing (); inhibit_output_flushing ();
macro_expansion_output_stream = NULL;
paragraph_is_open = 1; paragraph_is_open = 1;
execute_string (implicit_code ? "@code{%s}" : "%s", str); execute_string (implicit_code ? "@code{%s}" : "%s", str);
macro_expansion_output_stream = saved_macro_expansion_output_stream;
uninhibit_output_flushing (); uninhibit_output_flushing ();
/* Copy the expansion from the buffer. */ /* Copy the expansion from the buffer. */
@ -7268,29 +7275,27 @@ defun_internal (type, x_p)
current_indent -= default_indentation_increment; current_indent -= default_indentation_increment;
close_single_paragraph (); close_single_paragraph ();
if (!macro_expansion_output_stream) /* Make an entry in the appropriate index. */
/* Make an entry in the appropriate index unless we are just switch (base_type)
expanding macros. */ {
switch (base_type) case deffn:
{ case deftypefn:
case deffn: execute_string ("%cfindex %s\n", COMMAND_PREFIX, defined_name);
case deftypefn: break;
execute_string ("%cfindex %s\n", COMMAND_PREFIX, defined_name); case defvr:
break; case deftypevr:
case defvr: case defcv:
case deftypevr: execute_string ("%cvindex %s\n", COMMAND_PREFIX, defined_name);
case defcv: break;
execute_string ("%cvindex %s\n", COMMAND_PREFIX, defined_name); case defop:
break; case deftypemethod:
case defop: execute_string ("%cfindex %s on %s\n",
case deftypemethod: COMMAND_PREFIX, defined_name, type_name);
execute_string ("%cfindex %s on %s\n", break;
COMMAND_PREFIX, defined_name, type_name); case deftp:
break; execute_string ("%ctindex %s\n", COMMAND_PREFIX, defined_name);
case deftp: break;
execute_string ("%ctindex %s\n", COMMAND_PREFIX, defined_name); }
break;
}
/* Deallocate the token list. */ /* Deallocate the token list. */
scan_args = defun_args; scan_args = defun_args;
@ -7562,7 +7567,7 @@ cm_include ()
char *filename; char *filename;
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
me_append_before_this_command (); me_append_before_this_command ();
#endif /* HAVE_MACROS */ #endif /* HAVE_MACROS */
@ -7570,7 +7575,7 @@ cm_include ()
get_rest_of_line (&filename); get_rest_of_line (&filename);
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
remember_itext (input_text, input_text_offset); remember_itext (input_text, input_text_offset);
#endif /* HAVE_MACROS */ #endif /* HAVE_MACROS */
@ -7608,7 +7613,7 @@ cm_include ()
else else
{ {
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
remember_itext (input_text, input_text_offset); remember_itext (input_text, input_text_offset);
#endif /* HAVE_MACROS */ #endif /* HAVE_MACROS */
reader_loop (); reader_loop ();
@ -7936,7 +7941,7 @@ index_add_arg (name)
which = tem ? tem->write_index : -1; which = tem ? tem->write_index : -1;
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
append_to_expansion_output (input_text_offset + 1); append_to_expansion_output (input_text_offset + 1);
#endif /* HAVE_MACROS */ #endif /* HAVE_MACROS */
@ -7944,7 +7949,7 @@ index_add_arg (name)
ignore_blank_line (); ignore_blank_line ();
#if defined (HAVE_MACROS) #if defined (HAVE_MACROS)
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
{ {
int op_orig; int op_orig;
@ -8436,12 +8441,12 @@ cm_footnote ()
char *marker; char *marker;
char *note; char *note;
if (macro_expansion_output_stream)
append_to_expansion_output (input_text_offset + 1); /* include the { */
get_until ("{", &marker); get_until ("{", &marker);
canon_white (marker); canon_white (marker);
if (macro_expansion_output_stream && !executing_string)
append_to_expansion_output (input_text_offset + 1); /* include the { */
/* Read the argument in braces. */ /* Read the argument in braces. */
if (curchar () != '{') if (curchar () != '{')
{ {
@ -8483,7 +8488,7 @@ cm_footnote ()
/* Must write the macro-expanded argument to the macro expansion /* Must write the macro-expanded argument to the macro expansion
output stream. This is like the case in index_add_arg. */ output stream. This is like the case in index_add_arg. */
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
{ {
int op_orig; int op_orig;
@ -8854,10 +8859,10 @@ apply (named, actuals, body)
} }
else else
{ /* not a parameter, restore \'s */ { /* not a parameter, restore \'s */
char *trailer = body[i] ? "/" : ""; i = body[i] ? (i - 1) : i;
len += 1 + strlen (trailer); len++;
text = (char *)xmalloc (1 + len); text = xmalloc (1 + len);
sprintf (text, "\\%s%s", param, trailer); sprintf (text, "\\%s", param);
} }
if ((2 + strlen (param)) < len) if ((2 + strlen (param)) < len)
@ -8888,7 +8893,7 @@ execute_macro (def)
int num_args; int num_args;
char *execution_string = (char *)NULL; char *execution_string = (char *)NULL;
if (macro_expansion_output_stream && !me_inhibit_expansion) if (macro_expansion_output_stream && !executing_string && !me_inhibit_expansion)
me_append_before_this_command (); me_append_before_this_command ();
/* Find out how many arguments this macro definition takes. */ /* Find out how many arguments this macro definition takes. */
@ -8911,7 +8916,7 @@ execute_macro (def)
if (def->body) if (def->body)
{ {
if (macro_expansion_output_stream && !me_inhibit_expansion) if (macro_expansion_output_stream && !executing_string && !me_inhibit_expansion)
{ {
remember_itext (input_text, input_text_offset); remember_itext (input_text, input_text_offset);
me_execute_string (execution_string); me_execute_string (execution_string);
@ -8939,7 +8944,7 @@ cm_macro ()
body_size = 0; body_size = 0;
body_index = 0; body_index = 0;
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
me_append_before_this_command (); me_append_before_this_command ();
skip_whitespace (); skip_whitespace ();
@ -9136,7 +9141,7 @@ cm_macro ()
add_macro (name, arglist, body, input_filename, defining_line, flags); add_macro (name, arglist, body, input_filename, defining_line, flags);
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
remember_itext (input_text, input_text_offset); remember_itext (input_text, input_text_offset);
} }
@ -9147,7 +9152,7 @@ cm_unmacro ()
char *line, *name; char *line, *name;
MACRO_DEF *def; MACRO_DEF *def;
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
me_append_before_this_command (); me_append_before_this_command ();
get_rest_of_line (&line); get_rest_of_line (&line);
@ -9181,7 +9186,7 @@ cm_unmacro ()
free (line); free (line);
free (name); free (name);
if (macro_expansion_output_stream) if (macro_expansion_output_stream && !executing_string)
remember_itext (input_text, input_text_offset); remember_itext (input_text, input_text_offset);
} }
@ -9284,10 +9289,10 @@ me_execute_string (execution_string)
remember_itext (execution_string, 0); remember_itext (execution_string, 0);
executing_string++; me_executing_string++;
reader_loop (); reader_loop ();
popfile (); popfile ();
executing_string--; me_executing_string--;
} }
/* Append the text which appears in input_text from the last offset to /* Append the text which appears in input_text from the last offset to
@ -9307,7 +9312,7 @@ append_to_expansion_output (offset)
} }
if (!itext) if (!itext)
itext = remember_itext (input_text, 0); return;
if (offset > itext->offset) if (offset > itext->offset)
{ {

View File

@ -80,7 +80,15 @@ WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`configure.in'. You might want you modified \`acconfig.h' or \`configure.in'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site." from any GNU archive site."
touch config.h.in files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in`
if test -z "$files"; then
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in`
test -z "$files" || files="$files.in"
else
files=`echo "$files" | sed -e 's/:/ /g'`
fi
test -z "$files" && files="config.h.in"
touch $files
;; ;;
automake) automake)

View File

@ -4,7 +4,7 @@
# Created: 1993-05-16 # Created: 1993-05-16
# Public domain # Public domain
# $Id: mkinstalldirs,v 1.3 1998/03/24 18:05:22 law Exp $ # $Id: mkinstalldirs,v 1.1.1.2 1998/03/24 18:19:28 law Exp $
errstatus=0 errstatus=0

View File

@ -1,5 +0,0 @@
Thu Sep 4 15:01:33 1997 Jeffrey A Law (law@cygnus.com)
* Makefile.in.in (install-info): Add dummy target.

View File

@ -1,19 +1,10 @@
# Makefile for program source directory in GNU NLS utilities package. # Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996 Free Software Foundation, Inc. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
# #
# This program is free software; you can redistribute it and/or modify # This file file be copied and used freely without restrictions. It can
# it under the terms of the GNU General Public License as published by # be used in projects which are not available under the GNU Public License
# the Free Software Foundation; either version 2, or (at your option) # but which still want to provide support for the GNU gettext functionality.
# any later version. # Please note that the actual code is *not* freely available.
#
# 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.
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
VERSION = @VERSION@ VERSION = @VERSION@
@ -35,7 +26,7 @@ subdir = po
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@
CC = @CC@ CC = @CC@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
@ -71,35 +62,19 @@ INSTOBJEXT = @INSTOBJEXT@
$(COMPILE) $< $(COMPILE) $<
.po.pox: .po.pox:
if [ x"@MAINT@" = x ]; then \ $(MAKE) $(PACKAGE).pot
$(MAKE) $(PACKAGE).pot; \ $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox; \
else \
touch $@; \
fi
.po.mo: .po.mo:
if [ x"@MAINT@" = x ]; then \ $(MSGFMT) -o $@ $<
$(MSGFMT) -o $@ $<; \
else \
touch $@; \
fi
.po.gmo: .po.gmo:
if [ x"@MAINT@" = x ]; then \ file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $<
&& rm -f $$file && $(GMSGFMT) -o $$file $<; \
else \
touch $@; \
fi
.po.cat: .po.cat:
if [ x"@MAINT@" = x ]; then \ sed -f ../intl/po2msg.sed < $< > $*.msg \
sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && $(GENCAT) $@ $*.msg
&& rm -f $@ && $(GENCAT) $@ $*.msg; \
else \
touch $@; \
fi
all: all-@USE_NLS@ all: all-@USE_NLS@
@ -107,20 +82,15 @@ all: all-@USE_NLS@
all-yes: cat-id-tbl.c $(CATALOGS) all-yes: cat-id-tbl.c $(CATALOGS)
all-no: all-no:
$(PACKAGE).pot: @MAINT@ $(POTFILES) $(srcdir)/$(PACKAGE).pot: $(POTFILES)
$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
--add-comments --keyword=_ --keyword=N_ \ --add-comments --keyword=_ --keyword=N_ \
--files-from=$(srcdir)/POTFILES.in --files-from=$(srcdir)/POTFILES.in
if [ ! -s $(PACKAGE).po ] \ rm -f $(srcdir)/$(PACKAGE).pot
|| cmp -s $(PACKAGE).po $(srcdir)/$(PACKAGE).pot; then \ mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot
rm -f $(PACKAGE).po; \
else \
rm -f $(srcdir)/$(PACKAGE).pot \
&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot; \
fi
cat-id-tbl.c: stamp-cat-id $(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
stamp-cat-id: @MAINT@ $(PACKAGE).pot $(srcdir)/stamp-cat-id: $(PACKAGE).pot
rm -f cat-id-tbl.tmp rm -f cat-id-tbl.tmp
sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \ sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
@ -146,11 +116,12 @@ install-data-yes: all
fi fi
@catalogs='$(CATALOGS)'; \ @catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \ for cat in $$catalogs; do \
cat=`basename $$cat`; \
case "$$cat" in \ case "$$cat" in \
*.gmo) destdir=$(gnulocaledir);; \ *.gmo) destdir=$(gnulocaledir);; \
*) destdir=$(localedir);; \ *) destdir=$(localedir);; \
esac; \ esac; \
lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
dir=$$destdir/$$lang/LC_MESSAGES; \ dir=$$destdir/$$lang/LC_MESSAGES; \
if test -r $(MKINSTALLDIRS); then \ if test -r $(MKINSTALLDIRS); then \
$(MKINSTALLDIRS) $$dir; \ $(MKINSTALLDIRS) $$dir; \
@ -185,8 +156,8 @@ install-data-yes: all
else \ else \
$(top_srcdir)/mkinstalldirs $(gettextsrcdir); \ $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
fi; \ fi; \
cd $(srcdir) && \ $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
$(INSTALL_DATA) Makefile.in.in $(gettextsrcdir)/Makefile.in.in; \ $(gettextsrcdir)/Makefile.in.in; \
else \ else \
: ; \ : ; \
fi fi
@ -197,7 +168,8 @@ installcheck:
uninstall: uninstall:
catalogs='$(CATALOGS)'; \ catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \ for cat in $$catalogs; do \
lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \ cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
@ -209,7 +181,7 @@ check: all
cat-id-tbl.o: ../intl/libgettext.h cat-id-tbl.o: ../intl/libgettext.h
dvi info install-info tags TAGS ID: dvi info tags TAGS ID:
mostlyclean: mostlyclean:
rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
@ -223,6 +195,7 @@ distclean: clean
maintainer-clean: distclean maintainer-clean: distclean
@echo "This command is intended for maintainers to use;" @echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
rm -f $(GMOFILES)
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir: update-po $(DISTFILES) dist distdir: update-po $(DISTFILES)
@ -238,7 +211,8 @@ update-po: Makefile
cd $(srcdir); \ cd $(srcdir); \
catalogs='$(CATALOGS)'; \ catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \ for cat in $$catalogs; do \
lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \ cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
mv $$lang.po $$lang.old.po; \ mv $$lang.po $$lang.old.po; \
echo "$$lang:"; \ echo "$$lang:"; \
if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \ if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
@ -256,9 +230,12 @@ POTFILES: POTFILES.in
else \ else \
posrcprefix="../"; \ posrcprefix="../"; \
fi; \ fi; \
sed -e '/^#/d' -e '/^[ ]*$$/d' \ rm -f $@-t $@ \
-e "s@.*@ $$posrcprefix& \\\\@" \ && (sed -e '/^#/d' -e '/^[ ]*$$/d' \
-e '$$s/\(.*\) \\/\1/' < $(srcdir)/POTFILES.in > POTFILES ) -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
| sed -e '$$s/\\$$//') > $@-t \
&& chmod a-w $@-t \
&& mv $@-t $@ )
Makefile: Makefile.in.in ../config.status POTFILES Makefile: Makefile.in.in ../config.status POTFILES
cd .. \ cd .. \

View File

@ -1,19 +1,21 @@
# List of source files containing translatable strings. # List of source files containing translatable strings.
# The last line must not be a comment. # The last line must not be a comment.
info/doc.c
info/echo-area.c info/echo-area.c
info/footnotes.c info/footnotes.c
info/footnotes.h
info/indices.c info/indices.c
info/info.c info/info.c
info/info.h
info/infodoc.c info/infodoc.c
info/m-x.c info/m-x.c
info/makedoc.c info/makedoc.c
info/nodemenu.c info/nodemenu.c
info/nodes.h
info/session.c info/session.c
info/tilde.c
info/variables.c info/variables.c
info/window.c info/window.c
lib/getopt.c
makeinfo/makeinfo.c makeinfo/makeinfo.c
makeinfo/multi.c makeinfo/multi.c
util/install-info.c util/install-info.c

View File

@ -498,4 +498,5 @@ Email bug reports to bug-texinfo@prep.ai.mit.edu.", 358},
{"%s; for file `%s'.\n", 363}, {"%s; for file `%s'.\n", 363},
{"Virtual memory exhausted in %s ()! Needed %d bytes.", 364}, {"Virtual memory exhausted in %s ()! Needed %d bytes.", 364},
}; };
int _msg_tbl_length = 364; int _msg_tbl_length = 364;

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.10 # Generated automatically using autoconf version 2.12.1
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
# #
# This configure script is free software; the Free Software Foundation # This configure script is free software; the Free Software Foundation
@ -49,6 +49,9 @@ mandir='${prefix}/man'
# Initialize some other variables. # Initialize some other variables.
subdirs= subdirs=
MFLAGS= MAKEFLAGS= MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
ac_prev= ac_prev=
for ac_option for ac_option
@ -330,7 +333,7 @@ EOF
verbose=yes ;; verbose=yes ;;
-version | --version | --versio | --versi | --vers) -version | --version | --versio | --versi | --vers)
echo "configure generated by autoconf version 2.10" echo "configure generated by autoconf version 2.12.1"
exit 0 ;; exit 0 ;;
-with-* | --with-*) -with-* | --with-*)
@ -432,11 +435,14 @@ do
done done
# NLS nuisances. # NLS nuisances.
# Only set LANG and LC_ALL to C if already set. # Only set these to C if already set. These must not be set unconditionally
# These must not be set unconditionally because not all systems understand # because not all systems understand e.g. LANG=C (notably SCO).
# e.g. LANG=C (notably SCO). # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi # Non-C LC_CTYPE values break the ctype check.
if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LANG+set}" = set; then LANG=C; export LANG; fi
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
# confdefs.h avoids OS command line length limits that DEFS can exceed. # confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h rm -rf conftest* confdefs.h
@ -498,6 +504,7 @@ ac_ext=c
ac_cpp='$CPP $CPPFLAGS' ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
@ -530,11 +537,25 @@ cat > confcache <<\EOF
# --recheck option to rerun configure. # --recheck option to rerun configure.
# #
EOF EOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, don't put newlines in cache variables' values.
# Ultrix sh set writes to stderr and can't be redirected directly, # Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars. # and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 | (set) 2>&1 |
sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \ case `(ac_space=' '; set) 2>&1 | grep ac_space` in
>> confcache *ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
sed -n \
-e "s/'/'\\\\''/g" \
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
;;
esac >> confcache
if cmp -s $cache_file confcache; then if cmp -s $cache_file confcache; then
: :
else else
@ -601,7 +622,7 @@ do
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v) -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
echo "$CONFIG_STATUS generated by autoconf version 2.10" echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
exit 0 ;; exit 0 ;;
-help | --help | --hel | --he | --h) -help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;; echo "\$ac_cs_usage"; exit 0 ;;
@ -620,6 +641,7 @@ sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub $ac_vpsub
$extrasub $extrasub
s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g
@ -644,20 +666,56 @@ s%@mandir@%$mandir%g
CEOF CEOF
EOF EOF
cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.
ac_more_lines=:
ac_sed_cmds=""
while $ac_more_lines; do
if test $ac_beg -gt 1; then
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
else
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
fi
if test ! -s conftest.s$ac_file; then
ac_more_lines=false
rm -f conftest.s$ac_file
else
if test -z "$ac_sed_cmds"; then
ac_sed_cmds="sed -f conftest.s$ac_file"
else
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
fi
ac_file=`expr $ac_file + 1`
ac_beg=$ac_end
ac_end=`expr $ac_end + $ac_max_sed_cmds`
fi
done
if test -z "$ac_sed_cmds"; then
ac_sed_cmds=cat
fi
EOF
cat >> $CONFIG_STATUS <<EOF cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"Makefile"} CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
EOF EOF
cat >> $CONFIG_STATUS <<\EOF cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# Support "outfile[:infile]", defaulting infile="outfile.in". # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
case "$ac_file" in case "$ac_file" in
*:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
*) ac_file_in="${ac_file}.in" ;; *) ac_file_in="${ac_file}.in" ;;
esac esac
# Adjust relative srcdir, etc. for subdirectories. # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
# Remove last slash and all that follows it. Not all systems have dirname. # Remove last slash and all that follows it. Not all systems have dirname.
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
@ -681,6 +739,7 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
top_srcdir="$ac_dots$ac_given_srcdir" ;; top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac esac
echo creating "$ac_file" echo creating "$ac_file"
rm -f "$ac_file" rm -f "$ac_file"
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
@ -689,15 +748,21 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
# $configure_input" ;; # $configure_input" ;;
*) ac_comsub= ;; *) ac_comsub= ;;
esac esac
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
sed -e "$ac_comsub sed -e "$ac_comsub
s%@configure_input@%$configure_input%g s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g s%@top_srcdir@%$top_srcdir%g
" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done fi; done
rm -f conftest.subs rm -f conftest.s*
EOF
cat >> $CONFIG_STATUS <<EOF
EOF
cat >> $CONFIG_STATUS <<\EOF
exit 0 exit 0
EOF EOF

View File

@ -1,23 +1,13 @@
## Makefile.am for texinfo/util. ## Makefile.am for texinfo/util.
## $Id: Makefile.am,v 1.2 1998/03/24 18:08:38 law Exp $ ## $Id: Makefile.am,v 1.3 1998/03/24 19:41:36 law Exp $
## Run automake in .. to produce Makefile.in from this. ## Run automake in .. to produce Makefile.in from this.
bin_PROGRAMS = texindex bin_PROGRAMS = install-info texindex
bin_SCRIPTS = texi2dvi bin_SCRIPTS = texi2dvi
## CYGNUS LOCAL: Build install-inf locally, and install it as
## install-info, to avoid confusing with the install-info target
## generated by automake --cygnus.
noinst_PROGRAMS = install-inf
install_inf_SOURCES = install-info.c
localedir = $(datadir)/locale localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\"
LDADD = ../lib/libtxi.a @INTLLIBS@ LDADD = ../lib/libtxi.a @INTLLIBS@
EXTRA_DIST = README deref.c fixfonts gen-dir-node tex3patch texi2dvi \ EXTRA_DIST = README deref.c fixfonts gen-dir-node tex3patch texi2dvi \
update-info update-info
install-exec-local: $(noinst_PROGRAMS)
$(mkinstalldirs) $(bindir)
$(INSTALL_PROGRAM) install-inf$(EXEEXT) $(bindir)/`echo install-info$(EXEEXT)|sed '$(transform)'`; \

View File

@ -1,8 +1,15 @@
# Makefile.in generated automatically by automake 1.2 from Makefile.am # Makefile.in generated automatically by automake 1.2f from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. # Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it. # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = /bin/sh
@ -42,27 +49,26 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
NORMAL_INSTALL = true NORMAL_INSTALL = :
PRE_INSTALL = true PRE_INSTALL = :
POST_INSTALL = true POST_INSTALL = :
NORMAL_UNINSTALL = true NORMAL_UNINSTALL = :
PRE_UNINSTALL = true PRE_UNINSTALL = :
POST_UNINSTALL = true POST_UNINSTALL = :
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GT_NO = @GT_NO@ GT_NO = @GT_NO@
GT_YES = @GT_YES@ GT_YES = @GT_YES@
INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
INSTOBJEXT = @INSTOBJEXT@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@ INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@ INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@ INTLOBJS = @INTLOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
@ -78,12 +84,9 @@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
l = @l@ l = @l@
bin_PROGRAMS = texindex bin_PROGRAMS = install-info texindex
bin_SCRIPTS = texi2dvi bin_SCRIPTS = texi2dvi
noinst_PROGRAMS = install-inf
install_inf_SOURCES = install-info.c
localedir = $(datadir)/locale localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\"
LDADD = ../lib/libtxi.a @INTLLIBS@ LDADD = ../lib/libtxi.a @INTLLIBS@
@ -93,24 +96,23 @@ EXTRA_DIST = README deref.c fixfonts gen-dir-node tex3patch texi2dvi \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
bin_PROGRAMS = texindex$(EXEEXT) PROGRAMS = $(bin_PROGRAMS)
noinst_PROGRAMS = install-inf$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
DEFS = @DEFS@ -I. -I$(srcdir) -I.. DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
install_info_SOURCES = install-info.c
install_info_OBJECTS = install-info.o
install_info_LDADD = $(LDADD)
install_info_DEPENDENCIES = ../lib/libtxi.a
install_info_LDFLAGS =
texindex_SOURCES = texindex.c texindex_SOURCES = texindex.c
texindex_OBJECTS = texindex.o texindex_OBJECTS = texindex.o
texindex_LDADD = $(LDADD) texindex_LDADD = $(LDADD)
texindex_DEPENDENCIES = ../lib/libtxi.a texindex_DEPENDENCIES = ../lib/libtxi.a
texindex_LDFLAGS = texindex_LDFLAGS =
install_inf_OBJECTS = install-info.o
install_inf_LDADD = $(LDADD)
install_inf_DEPENDENCIES = ../lib/libtxi.a
install_inf_LDFLAGS =
SCRIPTS = $(bin_SCRIPTS) SCRIPTS = $(bin_SCRIPTS)
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
@ -123,15 +125,15 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP = --best
SOURCES = texindex.c $(install_inf_SOURCES) SOURCES = install-info.c texindex.c
OBJECTS = texindex.o $(install_inf_OBJECTS) OBJECTS = install-info.o texindex.o
default: all default: all
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .c .o .SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --cygnus util/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps util/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
@ -141,7 +143,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
mostlyclean-binPROGRAMS: mostlyclean-binPROGRAMS:
clean-binPROGRAMS: clean-binPROGRAMS:
test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
distclean-binPROGRAMS: distclean-binPROGRAMS:
@ -158,77 +160,79 @@ install-binPROGRAMS: $(bin_PROGRAMS)
done done
uninstall-binPROGRAMS: uninstall-binPROGRAMS:
$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \ list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
done done
mostlyclean-noinstPROGRAMS:
clean-noinstPROGRAMS:
test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
distclean-noinstPROGRAMS:
maintainer-clean-noinstPROGRAMS:
.c.o: .c.o:
$(COMPILE) -c $< $(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile: mostlyclean-compile:
rm -f *.o core -rm -f *.o core *.core
clean-compile: clean-compile:
distclean-compile: distclean-compile:
rm -f *.tab.c -rm -f *.tab.c
maintainer-clean-compile: maintainer-clean-compile:
texindex$(EXEEXT): $(texindex_OBJECTS) $(texindex_DEPENDENCIES) install-info: $(install_info_OBJECTS) $(install_info_DEPENDENCIES)
@rm -f texindex$(EXEEXT) @rm -f install-info
$(LINK) $(texindex_LDFLAGS) $(texindex_OBJECTS) $(texindex_LDADD) $(LIBS) $(LINK) $(install_info_LDFLAGS) $(install_info_OBJECTS) $(install_info_LDADD) $(LIBS)
install-inf$(EXEEXT): $(install_inf_OBJECTS) $(install_inf_DEPENDENCIES) texindex: $(texindex_OBJECTS) $(texindex_DEPENDENCIES)
@rm -f install-inf$(EXEEXT) @rm -f texindex
$(LINK) $(install_inf_LDFLAGS) $(install_inf_OBJECTS) $(install_inf_LDADD) $(LIBS) $(LINK) $(texindex_LDFLAGS) $(texindex_OBJECTS) $(texindex_LDADD) $(LIBS)
install-binSCRIPTS: $(bin_SCRIPTS) install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(bindir) $(mkinstalldirs) $(bindir)
@list='$(bin_SCRIPTS)'; for p in $$list; do \ @list='$(bin_SCRIPTS)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
echo " $(INSTALL_SCRIPT) $$p $(bindir)/`echo $$p|sed '$(transform)'`$(EXEEXT)"; \ echo " $(INSTALL_SCRIPT) $$p $(bindir)/`echo $$p|sed '$(transform)'`"; \
$(INSTALL_SCRIPT) $$p $(bindir)/`echo $$p|sed '$(transform)'`$(EXEEXT); \ $(INSTALL_SCRIPT) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
else if test -f $(srcdir)/$$p; then \ else if test -f $(srcdir)/$$p; then \
echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(bindir)/`echo $$p|sed '$(transform)'`$(EXEEXT)"; \ echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(bindir)/`echo $$p|sed '$(transform)'`"; \
$(INSTALL_SCRIPT) $(srcdir)/$$p $(bindir)/`echo $$p|sed '$(transform)'`$(EXEEXT); \ $(INSTALL_SCRIPT) $(srcdir)/$$p $(bindir)/`echo $$p|sed '$(transform)'`; \
else :; fi; fi; \ else :; fi; fi; \
done done
uninstall-binSCRIPTS: uninstall-binSCRIPTS:
$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(bin_SCRIPTS)'; for p in $$list; do \ list='$(bin_SCRIPTS)'; for p in $$list; do \
rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \ rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
done done
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) ID: $(HEADERS) $(SOURCES) $(LISP)
here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS) here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \ list='$(SOURCES) $(HEADERS)'; \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $(SOURCES) $(HEADERS) -o $$here/TAGS) unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags: mostlyclean-tags:
clean-tags: clean-tags:
distclean-tags: distclean-tags:
rm -f TAGS ID -rm -f TAGS ID
maintainer-clean-tags: maintainer-clean-tags:
@ -238,18 +242,21 @@ subdir = util
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ d=$(srcdir); \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \ || cp -p $$d/$$file $(distdir)/$$file; \
done done
install-info.o: install-info.c ../lib/system.h ../config.h \
../lib/getopt.h
texindex.o: texindex.c ../lib/system.h ../config.h ../lib/getopt.h
info: info:
dvi: dvi:
check: all check: all
$(MAKE) $(MAKE)
installcheck: installcheck:
install-info: install-exec: install-binPROGRAMS install-binSCRIPTS
install-exec: install-binPROGRAMS install-binSCRIPTS install-exec-local
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
install-data: install-data:
@ -269,55 +276,46 @@ installdirs:
mostlyclean-generic: mostlyclean-generic:
test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(DISTCLEANFILES)
rm -f config.cache config.log stamp-h stamp-h[0-9]* -rm -f config.cache config.log stamp-h stamp-h[0-9]*
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \ mostlyclean: mostlyclean-binPROGRAMS mostlyclean-compile \
mostlyclean-compile mostlyclean-tags \ mostlyclean-tags mostlyclean-generic
mostlyclean-generic
clean: clean-binPROGRAMS clean-noinstPROGRAMS clean-compile clean-tags \ clean: clean-binPROGRAMS clean-compile clean-tags clean-generic \
clean-generic mostlyclean mostlyclean
distclean: distclean-binPROGRAMS distclean-noinstPROGRAMS \ distclean: distclean-binPROGRAMS distclean-compile distclean-tags \
distclean-compile distclean-tags distclean-generic \ distclean-generic clean
clean -rm -f config.status
rm -f config.status
maintainer-clean: maintainer-clean-binPROGRAMS \ maintainer-clean: maintainer-clean-binPROGRAMS maintainer-clean-compile \
maintainer-clean-noinstPROGRAMS \ maintainer-clean-tags maintainer-clean-generic \
maintainer-clean-compile maintainer-clean-tags \ distclean
maintainer-clean-generic distclean
@echo "This command is intended for maintainers to use;" @echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
.PHONY: default mostlyclean-binPROGRAMS distclean-binPROGRAMS \ .PHONY: default mostlyclean-binPROGRAMS distclean-binPROGRAMS \
clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \ clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
install-binPROGRAMS mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \
clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile uninstall-binSCRIPTS install-binSCRIPTS tags \ maintainer-clean-compile uninstall-binSCRIPTS install-binSCRIPTS tags \
mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \ mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \
distdir info dvi installcheck install-info install-exec install-data \ distdir info dvi installcheck install-exec install-data install \
install uninstall all installdirs mostlyclean-generic distclean-generic \ uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean maintainer-clean
install-exec-local: $(noinst_PROGRAMS)
$(mkinstalldirs) $(bindir)
$(INSTALL_PROGRAM) install-inf$(EXEEXT) $(bindir)/`echo install-info$(EXEEXT)|sed '$(transform)'`; \
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:

View File

@ -1,3 +1,4 @@
Assorted Texinfo-related programs and scripts. Assorted Texinfo-related programs and scripts.
texindex, texi2dvi, and install-info get installed. texindex, texi2dvi, and install-info get installed.
The other programs are for your amusement. The other items here are for your amusement and/or hacking pleasure.

View File

@ -1,7 +1,7 @@
/* install-info -- create Info directory entry(ies) for an Info file. /* install-info -- create Info directory entry(ies) for an Info file.
$Id: install-info.c,v 1.5 1998/03/24 18:08:44 law Exp $ $Id: install-info.c,v 1.1.1.3 1998/03/24 18:20:30 law Exp $
Copyright (C) 1996, 97 Free Software Foundation, Inc. Copyright (C) 1996, 97, 98 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -20,6 +20,10 @@
#include "system.h" #include "system.h"
#include <getopt.h> #include <getopt.h>
#ifdef HAVE_LIBZ
#include <zlib.h>
#endif
/* Name this program was invoked with. */ /* Name this program was invoked with. */
char *progname; char *progname;
@ -283,8 +287,9 @@ suggest_asking_for_help ()
void void
print_help () print_help ()
{ {
printf (_("%s [OPTION]... [INFO-FILE [DIR-FILE]]\n\ printf (_("Usage: %s [OPTION]... [INFO-FILE [DIR-FILE]]\n\
Install INFO-FILE in the Info directory file DIR-FILE.\n\ \n\
Install INFO-FILE in the Info directory file DIR-FILE.\n\
\n\ \n\
Options:\n\ Options:\n\
--delete Delete existing entries in INFO-FILE;\n\ --delete Delete existing entries in INFO-FILE;\n\
@ -312,12 +317,14 @@ Options:\n\
from information in the Info file itself.\n\ from information in the Info file itself.\n\
--version Display version information and exit.\n\ --version Display version information and exit.\n\
\n\ \n\
Email bug reports to bug-texinfo@prep.ai.mit.edu.\n\ Email bug reports to bug-texinfo@gnu.org.\n\
"), progname); "), progname);
} }
/* If DIRFILE does not exist, create a minimal one (or abort). If it /* If DIRFILE does not exist, create a minimal one (or abort). If it
already exists, do nothing. */ already exists, do nothing. */
void void
ensure_dirfile_exists (dirfile) ensure_dirfile_exists (dirfile)
char *dirfile; char *dirfile;
@ -335,7 +342,7 @@ ensure_dirfile_exists (dirfile)
topmost node of the Info hierarchy, called (dir)Top.\n\ topmost node of the Info hierarchy, called (dir)Top.\n\
The first time you invoke Info you start off looking at this node.\n\ The first time you invoke Info you start off looking at this node.\n\
\n\ \n\
File: dir Node: Top This is the top of the INFO tree\n\ File: dir,\tNode: Top,\tThis is the top of the INFO tree\n\
\n\ \n\
This (the Directory node) gives a menu of major topics.\n\ This (the Directory node) gives a menu of major topics.\n\
Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n\ Typing \"q\" exits, \"?\" lists all Info commands, \"d\" returns here,\n\
@ -368,19 +375,20 @@ File: dir Node: Top This is the top of the INFO tree\n\
struct option longopts[] = struct option longopts[] =
{ {
{ "delete", no_argument, NULL, 'r' }, { "delete", no_argument, NULL, 'r' },
{ "dir-file", required_argument, NULL, 'd' }, { "dir-file", required_argument, NULL, 'd' },
{ "entry", required_argument, NULL, 'e' }, { "entry", required_argument, NULL, 'e' },
{ "help", no_argument, NULL, 'h' }, { "help", no_argument, NULL, 'h' },
{ "info-dir", required_argument, NULL, 'D' }, { "info-dir", required_argument, NULL, 'D' },
{ "info-file", required_argument, NULL, 'i' }, { "info-file", required_argument, NULL, 'i' },
{ "item", required_argument, NULL, 'e' }, { "item", required_argument, NULL, 'e' },
{ "quiet", no_argument, NULL, 'q' }, { "quiet", no_argument, NULL, 'q' },
{ "remove", no_argument, NULL, 'r' }, { "remove", no_argument, NULL, 'r' },
{ "section", required_argument, NULL, 's' }, { "section", required_argument, NULL, 's' },
{ "version", no_argument, NULL, 'V' }, { "version", no_argument, NULL, 'V' },
{ 0 } { 0 }
}; };
int int
main (argc, argv) main (argc, argv)
@ -518,11 +526,12 @@ main (argc, argv)
break; break;
case 'V': case 'V':
printf (_("install-info (GNU %s) %s\n"), PACKAGE, VERSION); printf ("install-info (GNU %s) %s\n", PACKAGE, VERSION);
puts (_("Copyright (C) 1996 Free Software Foundation, Inc.\n\ printf (_("Copyright (C) %s Free Software Foundation, Inc.\n\
There is NO warranty. You may redistribute this software\n\ There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License.\n\ under the terms of the GNU General Public License.\n\
For more information about these matters, see the files named COPYING.")); For more information about these matters, see the files named COPYING.\n"),
"1998");
exit (0); exit (0);
default: default:
@ -955,18 +964,49 @@ readfile (filename, sizep)
char *filename; char *filename;
int *sizep; int *sizep;
{ {
int desc;
int data_size = 1024; int data_size = 1024;
char *data = (char *) xmalloc (data_size); char *data = (char *) xmalloc (data_size);
int filled = 0; int filled = 0;
int nread = 0; int nread = 0;
#ifdef HAVE_LIBZ
int isGZ = 0;
gzFile zdesc;
#endif
int desc = open (filename, O_RDONLY); desc = open (filename, O_RDONLY);
if (desc < 0) if (desc < 0)
pfatal_with_name (filename); pfatal_with_name (filename);
#ifdef HAVE_LIBZ
/* The file should always be two bytes long. */
if (read (desc, data, 2) != 2)
pfatal_with_name (filename);
/* Undo that read. */
lseek (desc, 0, SEEK_SET);
/* If we see gzip magic, use gzdopen. */
if (data[0] == '\x1f' && data[1] == '\x8b')
{
isGZ = 1;
zdesc = gzdopen (desc, "r");
if (zdesc == NULL) {
close (desc);
pfatal_with_name (filename);
}
}
#endif /* HAVE_LIBZ */
while (1) while (1)
{ {
nread = read (desc, data + filled, data_size - filled); #ifdef HAVE_LIBZ
if (isGZ)
nread = gzread (zdesc, data + filled, data_size - filled);
else
#endif
nread = read (desc, data + filled, data_size - filled);
if (nread < 0) if (nread < 0)
pfatal_with_name (filename); pfatal_with_name (filename);
if (nread == 0) if (nread == 0)
@ -981,6 +1021,14 @@ readfile (filename, sizep)
} }
*sizep = filled; *sizep = filled;
#ifdef HAVE_LIBZ
if (isGZ)
gzclose (zdesc);
else
#endif
close(desc);
return data; return data;
} }

View File

@ -1,10 +1,9 @@
#! /bin/sh #! /bin/sh
# texi2dvi --- smartly produce DVI files from texinfo sources # texi2dvi --- smartly produce DVI files from texinfo sources
# $Id: texi2dvi,v 1.1.1.3 1998/03/24 18:20:32 law Exp $
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. #
# Copyright (C) 1992, 93, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
# $Id: texi2dvi,v 1.2 1998/03/24 18:08:49 law Exp $ #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option) # the Free Software Foundation; either version 2, or (at your option)
@ -19,35 +18,34 @@
# along with this program; if not, you can either send email to this # along with this program; if not, you can either send email to this
# program's maintainer or write to: The Free Software Foundation, # program's maintainer or write to: The Free Software Foundation,
# Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA. # Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA.
#
# Commentary: # Commentary:
#
# Author: Noah Friedman <friedman@prep.ai.mit.edu> # Author: Noah Friedman <friedman@gnu.org>
#
# Please send bug reports, etc. to bug-texinfo@prep.ai.mit.edu # Please send bug reports, etc. to bug-texinfo@gnu.org.
# If possible, please send a copy of the output of the script called with # If possible, please send a copy of the output of the script called with
# the `--debug' option when making a bug report. # the `--debug' option when making a bug report.
#
# In the interest of general portability, some common bourne shell # In the interest of general portability, some common bourne shell
# constructs were avoided because they weren't guaranteed to be available # constructs were avoided because they weren't guaranteed to be available
# in some earlier implementations. I've tried to make this program as # in some earlier implementations. I've tried to make this program as
# portable as possible. Welcome to unix, where the lowest common # portable as possible. Welcome to unix, where the lowest common
# denominator is rapidly diminishing. # denominator is rapidly diminishing.
# #
# Among the more interesting lossages I noticed with some bourne shells # Among the more interesting lossages I noticed among Bourne shells:
# are:
# * No shell functions. # * No shell functions.
# * No `unset' builtin. # * No `unset' builtin.
# * `shift' cannot take a numeric argument, and signals an error if # * `shift' cannot take a numeric argument, and signals an error if
# there are no arguments to shift. # there are no arguments to shift.
#
# Code: # Code:
# Name by which this script was invoked. # Name by which this script was invoked.
progname=`echo "$0" | sed -e 's/[^\/]*\///g'` progname=`echo "$0" | sed -e 's/[^\/]*\///g'`
# This string is expanded by rcs automatically when this file is checked out. # This string is expanded by rcs automatically when this file is checked out.
rcs_revision='$Revision: 1.2 $' rcs_revision='$Revision: 1.1.1.3 $'
version=`set - $rcs_revision; echo $2` version=`set - $rcs_revision; echo $2`
# To prevent hairy quoting and escaping later. # To prevent hairy quoting and escaping later.
@ -58,6 +56,8 @@ usage="Usage: $0 [OPTION]... FILE...
Run a Texinfo document through TeX. Run a Texinfo document through TeX.
Options: Options:
-b, --batch No interaction (\nonstopmode in TeX).
-c, --clean Remove all auxiliary files.
-D, --debug Turn on shell debugging ($bq${bq}set -x$eq$eq). -D, --debug Turn on shell debugging ($bq${bq}set -x$eq$eq).
-t, --texinfo CMD Insert CMD after @setfilename before running TeX. -t, --texinfo CMD Insert CMD after @setfilename before running TeX.
--verbose Report on what is done. --verbose Report on what is done.
@ -67,14 +67,15 @@ Options:
The values of the TEX, TEXINDEX, and MAKEINFO environment variables are The values of the TEX, TEXINDEX, and MAKEINFO environment variables are
used to run those commands, if they are set. used to run those commands, if they are set.
Email bug reports to bug-texinfo@prep.ai.mit.edu. Email bug reports to bug-texinfo@gnu.org."
"
# Initialize variables. # Initialize variables.
# Don't use `unset' since old bourne shells don't have this command. # Don't use `unset' since old bourne shells don't have this command.
# Instead, assign them an empty value. # Instead, assign them an empty value.
# Some of these, like TEX and TEXINDEX, may be inherited from the environment. # Some of these, like TEX and TEXINDEX, may be inherited from the environment.
backup_extension=.bak # these files get deleted if all goes well. backup_extension=.bak # these files get deleted if all goes well.
batch=
clean=
debug= debug=
orig_pwd="`pwd`" orig_pwd="`pwd`"
textra= textra=
@ -92,16 +93,19 @@ export TEXINPUTS
# It's a good idea to document the full long option name in each case. # It's a good idea to document the full long option name in each case.
# Long options which take arguments will need a `*' appended to the # Long options which take arguments will need a `*' appended to the
# canonical name to match the value appended after the `=' character. # canonical name to match the value appended after the `=' character.
while : ; do while :; do
case $# in 0) break ;; esac test $# -eq 0 && break
case "$1" in case "$1" in
-b | --batch | --b* ) batch=t; shift ;;
-c | --clean | --c* ) clean=t; shift ;;
-D | --debug | --d* ) debug=t; shift ;; -D | --debug | --d* ) debug=t; shift ;;
-h | --help | --h* ) echo "$usage"; exit 0 ;; -h | --help | --h* ) echo "$usage"; exit 0 ;;
# OK, we should do real option parsing here, but be lazy for now. # OK, we should do real option parsing here, but be lazy for now.
-t | --texinfo | --t*) shift; textra="$textra $1"; shift ;; -t | --texinfo | --t*) shift; textra="$textra $1"; shift ;;
-v | --vers* ) -v | --vers* )
echo "$progname (Texinfo 3.9) $version" echo "$progname (GNU Texinfo 3.12) $version"
echo "Copyright (C) 1996 Free Software Foundation, Inc. echo "Copyright (C) 1998 Free Software Foundation, Inc.
There is NO warranty. You may redistribute this software There is NO warranty. You may redistribute this software
under the terms of the GNU General Public License. under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING." For more information about these matters, see the files named COPYING."
@ -109,8 +113,7 @@ For more information about these matters, see the files named COPYING."
--verb* ) verbose=echo; shift ;; --verb* ) verbose=echo; shift ;;
-- ) # Stop option processing -- ) # Stop option processing
shift shift
break break ;;
;;
-* ) -* )
case "$1" in case "$1" in
--*=* ) arg=`echo "$1" | sed -e 's/=.*//'` ;; --*=* ) arg=`echo "$1" | sed -e 's/=.*//'` ;;
@ -119,11 +122,8 @@ For more information about these matters, see the files named COPYING."
exec 1>&2 exec 1>&2
echo "$progname: Unknown or ambiguous option $bq$arg$eq." echo "$progname: Unknown or ambiguous option $bq$arg$eq."
echo "$progname: Try $bq--help$eq for more information." echo "$progname: Try $bq--help$eq for more information."
exit 1 exit 1 ;;
;; * ) break ;;
* )
break
;;
esac esac
done done
@ -139,14 +139,14 @@ fi
test "$debug" = t && set -x test "$debug" = t && set -x
# Texify files # Texify files
for command_line_filename in ${1+"$@"} ; do for command_line_filename in ${1+"$@"}; do
$verbose "Processing $command_line_filename ..." $verbose "Processing $command_line_filename ..."
# See if file exists. If it doesn't we're in trouble since, even # See if file exists. If it doesn't we're in trouble since, even
# though the user may be able to reenter a valid filename at the tex # though the user may be able to reenter a valid filename at the tex
# prompt (assuming they're attending the terminal), this script won't # prompt (assuming they're attending the terminal), this script won't
# be able to find the right index files and so forth. # be able to find the right index files and so forth.
if test ! -r "${command_line_filename}" ; then if test ! -r "${command_line_filename}"; then
echo "$0: Could not read ${command_line_filename}." >&2 echo "$0: Could not read ${command_line_filename}." >&2
continue continue
fi fi
@ -161,17 +161,22 @@ for command_line_filename in ${1+"$@"} ; do
# basename as the manual. Use extension .texi for the temp file so # basename as the manual. Use extension .texi for the temp file so
# that TeX will ignore it. Thus, we must use a subdirectory. # that TeX will ignore it. Thus, we must use a subdirectory.
# #
# Output the macro-expanded file to here. # Output the macro-expanded file to here. The vastly abbreviated
tmp_dir=${TMPDIR-/tmp}/$$ # temporary directory name is so we don't have collisions on 8.3 or
# 14-character filesystems.
tmp_dir=${TMPDIR-/tmp}/txi2d.$$
filename_tmp=$tmp_dir/$filename_noext.texi filename_tmp=$tmp_dir/$filename_noext.texi
# Output the file with the user's extra commands to here. # Output the file with the user's extra commands to here.
filename_tmp2=$tmp_dir.2/$filename_noext.texi tmp_dir2=${tmp_dir}.2
mkdir $tmp_dir $tmp_dir.2 filename_tmp2=$tmp_dir2/$filename_noext.texi
mkdir $tmp_dir $tmp_dir2
# Always remove the temporary directories.
trap "rm -rf $tmp_dir $tmp_dir2" 1 2 15
# If directory and file are the same, then it's probably because there's # If directory and file are the same, then it's probably because there's
# no pathname component. Set dirname to `.', the current directory. # no pathname component. Set dirname to `.', the current directory.
if test "z${directory}" = "z${command_line_filename}" ; then if test "z${directory}" = "z${command_line_filename}"; then
directory=. directory=.
fi fi
# Source file might @include additional texinfo sources. Put `.' and # Source file might @include additional texinfo sources. Put `.' and
@ -195,10 +200,10 @@ for command_line_filename in ${1+"$@"} ; do
# let's be safe.) # let's be safe.)
if test $? -ne 0 || cmp -s $filename_tmp $command_line_filename; then if test $? -ne 0 || cmp -s $filename_tmp $command_line_filename; then
$verbose "Reverting to $command_line_filename ..." $verbose "Reverting to $command_line_filename ..."
filename_input=$command_line_filename cp -p $command_line_filename $filename_tmp
else
filename_input=$filename_tmp
fi fi
filename_input=$filename_tmp
dirname_input=$tmp_dir
# Used most commonly for @finalout, @smallbook, etc. # Used most commonly for @finalout, @smallbook, etc.
if test -n "$textra"; then if test -n "$textra"; then
@ -206,6 +211,14 @@ for command_line_filename in ${1+"$@"} ; do
sed '/^@setfilename/a\ sed '/^@setfilename/a\
'"$textra" $filename_input >$filename_tmp2 '"$textra" $filename_input >$filename_tmp2
filename_input=$filename_tmp2 filename_input=$filename_tmp2
dirname_input=$tmp_dir2
fi
# If clean mode was specified, then move to the temporary directory.
if test "$clean" = t; then
$verbose "cd $dirname_input"
cd $dirname_input || exit 1
filename_input=`basename $filename_input`
fi fi
while true; do # will break out of loop below while true; do # will break out of loop below
@ -218,17 +231,17 @@ for command_line_filename in ${1+"$@"} ; do
# is actually the cross-references file, but we need to keep track of # is actually the cross-references file, but we need to keep track of
# that too. # that too.
possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`" possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`"
for this_file in ${possible_index_files} ; do for this_file in ${possible_index_files}; do
# If file is empty, forget it. # If file is empty, forget it.
test -s "${this_file}" || continue test -s "${this_file}" || continue
# Examine first character of file. If it's not suitable to be an # Examine first character of file. If it's not suitable to be an
# index or xref file, don't process it. # index or xref file, don't process it.
first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`" first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`"
if test "x${first_character}" = "x\\" \ if test "x${first_character}" = "x\\" \
|| test "x${first_character}" = "x'"; then || test "x${first_character}" = "x'"; then
definite_index_files="${definite_index_files} ${this_file}" definite_index_files="${definite_index_files} ${this_file}"
fi fi
done done
orig_index_files="${definite_index_files}" orig_index_files="${definite_index_files}"
orig_index_files_sans_aux="`echo ${definite_index_files} \ orig_index_files_sans_aux="`echo ${definite_index_files} \
@ -238,7 +251,7 @@ for command_line_filename in ${1+"$@"} ; do
# Now save copies of original index files so we have some means of # Now save copies of original index files so we have some means of
# comparison later. # comparison later.
$verbose "Backing up current index files: $orig_index_files ..." $verbose "Backing up current index files: $orig_index_files ..."
for index_file_to_save in ${orig_index_files} ; do for index_file_to_save in ${orig_index_files}; do
cp "${index_file_to_save}" "${index_file_to_save}${backup_extension}" cp "${index_file_to_save}" "${index_file_to_save}${backup_extension}"
done done
@ -246,21 +259,27 @@ for command_line_filename in ${1+"$@"} ; do
# after running TeX a first time the index files don't change, then # after running TeX a first time the index files don't change, then
# there's no reason to run TeX again. But we won't know that if the # there's no reason to run TeX again. But we won't know that if the
# index files are out of date or nonexistent. # index files are out of date or nonexistent.
if test -n "${orig_index_files_sans_aux}" ; then if test -n "${orig_index_files_sans_aux}"; then
$verbose "Running $texindex $orig_index_files_sans_aux ..." $verbose "Running $texindex $orig_index_files_sans_aux ..."
${texindex} ${orig_index_files_sans_aux} ${texindex} ${orig_index_files_sans_aux}
fi fi
# Finally, run TeX. # Finally, run TeX.
if test "$batch" = t; then
tex_mode='\nonstopmode'
else
tex_mode=
fi
$verbose "Running $tex $filename_input ..." $verbose "Running $tex $filename_input ..."
${tex} "$filename_input" cmd="$tex $tex_mode \\input $filename_input"
$cmd
# Check if index files changed. # Check if index files changed.
# #
definite_index_files= definite_index_files=
# Get list of new index files. # Get list of new index files.
possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`" possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`"
for this_file in ${possible_index_files} ; do for this_file in ${possible_index_files}; do
# If file is empty, forget it. # If file is empty, forget it.
test -s "${this_file}" || continue test -s "${this_file}" || continue
@ -283,17 +302,17 @@ for command_line_filename in ${1+"$@"} ; do
# file or another has definitely changed. # file or another has definitely changed.
$verbose "Original index files =$orig_index_files" $verbose "Original index files =$orig_index_files"
$verbose "New index files =$new_index_files" $verbose "New index files =$new_index_files"
if test "z${orig_index_files}" != "z${new_index_files}" ; then if test "z${orig_index_files}" != "z${new_index_files}"; then
index_files_changed_p=t index_files_changed_p=t
else else
# File list is the same. We must compare each file until we find a # File list is the same. We must compare each file until we find a
# difference. # difference.
index_files_changed_p= index_files_changed_p=
for this_file in ${new_index_files} ; do for this_file in ${new_index_files}; do
$verbose "Comparing index file $this_file ..." $verbose "Comparing index file $this_file ..."
# cmp -s will return nonzero exit status if files differ. # cmp -s will return nonzero exit status if files differ.
cmp -s "${this_file}" "${this_file}${backup_extension}" cmp -s "${this_file}" "${this_file}${backup_extension}"
if test $? -ne 0 ; then if test $? -ne 0; then
# We only need to keep comparing until we find *one* that # We only need to keep comparing until we find *one* that
# differs, because we'll have to run texindex & tex no # differs, because we'll have to run texindex & tex no
# matter what. # matter what.
@ -308,22 +327,34 @@ for command_line_filename in ${1+"$@"} ; do
# If index files have changed since TeX has been run, or if the aux # If index files have changed since TeX has been run, or if the aux
# file wasn't present originally, run texindex and TeX again. # file wasn't present originally, run texindex and TeX again.
if test "${index_files_changed_p}" ; then :; else if test "${index_files_changed_p}"; then :; else
# Nothing changed. We're done with TeX. # Nothing changed. We're done with TeX.
break break
fi fi
done done
# If we were in clean mode, compilation was in a tmp directory.
# Copy the DVI file into the directory where the compilation
# has been done. (The temp dir is about to get removed anyway.)
# We also return to the original directory so that
# - the next file is processed in correct conditions
# - the temporary file can be removed
if test -n "$clean"; then
$verbose "Copying DVI file from `pwd` to $orig_pwd"
cp -p $filename_noext.dvi $orig_pwd
cd $orig_pwd || exit 1
fi
# Generate list of files to delete, then call rm once with the entire # Generate list of files to delete, then call rm once with the entire
# list. This is significantly faster than multiple executions of rm. # list. This is significantly faster than multiple executions of rm.
file_list= file_list=
for file in ${orig_index_files} ; do for file in ${orig_index_files}; do
file_list="${file_list} ${file}${backup_extension}" file_list="${file_list} ${file}${backup_extension}"
done done
if test -n "${file_list}" ; then if test -n "${file_list}"; then
$verbose "Removing $file_list $tmp_dir $tmp_dir.2 ..." $verbose "Removing $file_list $tmp_dir $tmp_dir2 ..."
rm -f ${file_list} rm -f ${file_list}
rm -rf $tmp_dir $tmp_dir.2 rm -rf $tmp_dir $tmp_dir2
fi fi
done done

View File

@ -1,7 +1,7 @@
/* Prepare TeX index dribble output into an actual index. /* Prepare TeX index dribble output into an actual index.
$Id: texindex.c,v 1.2 1998/03/24 18:08:47 law Exp $ $Id: texindex.c,v 1.1.1.3 1998/03/24 18:20:31 law Exp $
Copyright (C) 1987, 91, 92, 96, 97 Free Software Foundation, Inc. Copyright (C) 1987, 91, 92, 96, 97, 98 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -43,18 +43,6 @@ char *mktemp ();
# define TI_FATAL_ERROR ((1 << 28) | 4) # define TI_FATAL_ERROR ((1 << 28) | 4)
# define unlink delete # define unlink delete
#else /* !VMS */ #else /* !VMS */
# if defined (HAVE_SYS_FCNTL_H)
# include <sys/types.h>
# include <sys/fcntl.h>
# endif /* HAVE_SYS_FCNTL_H */
# if defined (_AIX) || !defined (_POSIX_VERSION)
# include <sys/file.h>
# else /* !AIX && _POSIX_VERSION */
# if !defined (HAVE_SYS_FCNTL_H)
# include <fcntl.h>
# endif /* !HAVE_FCNTL_H */
# endif /* !_AIX && _POSIX_VERSION */
# define TI_NO_ERROR 0 # define TI_NO_ERROR 0
# define TI_FATAL_ERROR 1 # define TI_FATAL_ERROR 1
#endif /* !VMS */ #endif /* !VMS */
@ -246,6 +234,8 @@ main (argc, argv)
flush_tempfiles (tempcount); flush_tempfiles (tempcount);
exit (TI_NO_ERROR); exit (TI_NO_ERROR);
return 0; /* Avoid bogus warnings. */
} }
typedef struct typedef struct
@ -297,7 +287,7 @@ usage (result_value)
fprintf (f, "\t%s\n", _(texindex_options[i].doc_string)); fprintf (f, "\t%s\n", _(texindex_options[i].doc_string));
} }
puts (_("\nEmail bug reports to bug-texinfo@prep.ai.mit.edu.")); puts (_("\nEmail bug reports to bug-texinfo@gnu.org."));
exit (result_value); exit (result_value);
} }
@ -344,11 +334,12 @@ decode_command (argc, argv)
{ {
if (strcmp (arg, "--version") == 0) if (strcmp (arg, "--version") == 0)
{ {
printf (_("texindex (GNU %s %s) 2.1\n"), PACKAGE, VERSION); printf ("texindex (GNU %s) %s\n", PACKAGE, VERSION);
puts (_("Copyright (C) 1996 Free Software Foundation, Inc.\n\ printf (_("Copyright (C) %s Free Software Foundation, Inc.\n\
There is NO warranty. You may redistribute this software\n\ There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License.\n\ under the terms of the GNU General Public License.\n\
For more information about these matters, see the files named COPYING.")); For more information about these matters, see the files named COPYING.\n"),
"1998");
exit (0); exit (0);
} }
else if ((strcmp (arg, "--keep") == 0) || else if ((strcmp (arg, "--keep") == 0) ||

View File

@ -213,7 +213,7 @@ Options:
Backup of the info node has a '.old' suffix added. This is a shell script. Backup of the info node has a '.old' suffix added. This is a shell script.
Files: update-info.f -- contains functions (optional). Files: update-info.f -- contains functions (optional).
Environment Variables: COLUMNS, EDITOR, LINES, TMPDIR Environment Variables: COLUMNS, EDITOR, LINES, TMPDIR
Email bug reports to bug-texinfo@prep.ai.mit.edu. Email bug reports to bug-texinfo@gnu.org.
HelpEndOfFile HelpEndOfFile
exit;; exit;;