From f4370a0607e9a52f4c8a7b75584ad5b0448f229d Mon Sep 17 00:00:00 2001 From: wiz Date: Fri, 17 Jan 2003 15:25:44 +0000 Subject: [PATCH] Handle conflicts after 4.3 import. --- gnu/dist/texinfo/acconfig.h | 50 - gnu/dist/texinfo/configure.in | 115 --- gnu/dist/texinfo/dir-example | 367 ------- gnu/dist/texinfo/djgpp/README | 422 -------- gnu/dist/texinfo/djgpp/config.bat | 88 -- gnu/dist/texinfo/djgpp/config.sed | 26 - gnu/dist/texinfo/djgpp/config.site | 25 - gnu/dist/texinfo/doc/macro.texi | 177 ---- gnu/dist/texinfo/doc/stamp-vti.1 | 3 - gnu/dist/texinfo/doc/userdoc.texi | 1270 ------------------------- gnu/dist/texinfo/info/Makefile.in | 698 ++++++++------ gnu/dist/texinfo/info/info.c | 152 +-- gnu/dist/texinfo/info/nodes.c | 80 +- gnu/dist/texinfo/info/terminal.c | 62 +- gnu/dist/texinfo/intl/cat-compat.c | 262 ----- gnu/dist/texinfo/intl/gettext.h | 105 -- gnu/dist/texinfo/intl/libgettext.h | 182 ---- gnu/dist/texinfo/intl/linux-msg.sed | 100 -- gnu/dist/texinfo/intl/po2tbl.sed.in | 102 -- gnu/dist/texinfo/intl/xopen-msg.sed | 110 --- gnu/dist/texinfo/lib/getopt.c | 411 ++++++-- gnu/dist/texinfo/lib/system.h | 76 +- gnu/dist/texinfo/makeinfo/Makefile.in | 627 +++++++----- gnu/dist/texinfo/makeinfo/files.c | 99 +- gnu/dist/texinfo/makeinfo/makeinfo.c | 1044 ++++++++++++++------ gnu/dist/texinfo/po/Makefile.in.in | 380 +++++--- gnu/dist/texinfo/po/cat-id-tbl.c | 651 ------------- gnu/dist/texinfo/po/stamp-cat-id | 1 - gnu/dist/texinfo/stamp-h.in | 1 - gnu/dist/texinfo/util/Makefile.in | 559 +++++++---- gnu/dist/texinfo/util/install-info.c | 72 +- gnu/dist/texinfo/util/texi2dvi | 185 +++- gnu/dist/texinfo/util/texindex.c | 86 +- 33 files changed, 3022 insertions(+), 5566 deletions(-) delete mode 100644 gnu/dist/texinfo/acconfig.h delete mode 100644 gnu/dist/texinfo/configure.in delete mode 100644 gnu/dist/texinfo/dir-example delete mode 100644 gnu/dist/texinfo/djgpp/README delete mode 100644 gnu/dist/texinfo/djgpp/config.bat delete mode 100644 gnu/dist/texinfo/djgpp/config.sed delete mode 100644 gnu/dist/texinfo/djgpp/config.site delete mode 100644 gnu/dist/texinfo/doc/macro.texi delete mode 100644 gnu/dist/texinfo/doc/stamp-vti.1 delete mode 100644 gnu/dist/texinfo/doc/userdoc.texi delete mode 100644 gnu/dist/texinfo/intl/cat-compat.c delete mode 100644 gnu/dist/texinfo/intl/gettext.h delete mode 100644 gnu/dist/texinfo/intl/libgettext.h delete mode 100644 gnu/dist/texinfo/intl/linux-msg.sed delete mode 100644 gnu/dist/texinfo/intl/po2tbl.sed.in delete mode 100644 gnu/dist/texinfo/intl/xopen-msg.sed delete mode 100644 gnu/dist/texinfo/po/cat-id-tbl.c delete mode 100644 gnu/dist/texinfo/po/stamp-cat-id delete mode 100644 gnu/dist/texinfo/stamp-h.in diff --git a/gnu/dist/texinfo/acconfig.h b/gnu/dist/texinfo/acconfig.h deleted file mode 100644 index 7684540945af..000000000000 --- a/gnu/dist/texinfo/acconfig.h +++ /dev/null @@ -1,50 +0,0 @@ -/* acconfig.h - This file is in the public domain. - $Id: acconfig.h,v 1.1.1.2 2001/07/25 16:20:35 assar Exp $ - - Descriptive text for the C preprocessor macros that - the distributed Autoconf macros can define. - No software package will use all of them; autoheader copies the ones - your configure.in uses into your configuration header file templates. - - The entries are in sort -df order: alphabetical, case insensitive, - ignoring punctuation (such as underscores). Although this order - can split up related entries, it makes it easier to check whether - a given entry is in the file. - - Leave the following blank line there!! Autoheader needs it. */ - - -@TOP@ - -/* Define to 1 if including sys/ioctl.h is needed to get TIOCGWINSZ. */ -#undef GWINSZ_IN_SYS_IOCTL - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define to the name of the distribution. */ -#undef PACKAGE - -/* Define to the version of the distribution. */ -#undef VERSION - -@BOTTOM@ - - -/* Leave that blank line there!! Autoheader needs it. - If you're adding to this file, keep in mind: - The entries are in sort -df order: alphabetical, case insensitive, - ignoring punctuation (such as underscores). */ diff --git a/gnu/dist/texinfo/configure.in b/gnu/dist/texinfo/configure.in deleted file mode 100644 index 3fcb62bd4322..000000000000 --- a/gnu/dist/texinfo/configure.in +++ /dev/null @@ -1,115 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.in,v 1.1.1.2 2001/07/25 16:20:39 assar Exp $ -dnl -AC_INIT(makeinfo/makeinfo.c) -AC_PREREQ(2.13)dnl Minimum Autoconf version required. -AM_CONFIG_HEADER(config.h:config.in)dnl Keep filename to 8.3 for MS-DOS. - -AM_INIT_AUTOMAKE([texinfo], [4.0]) - -AM_CONDITIONAL(TEXINFO_MAINT, test -n "$TEXINFO_MAINT") - -dnl Checks for programs. -AC_PROG_CC -AC_PROG_GCC_TRADITIONAL -AC_PROG_INSTALL -AC_PROG_RANLIB - -AC_ISC_POSIX -AC_MINIX - -# 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 -# rather ncurses. So we check for it. -TERMLIBS= -# Check for termlib before termcap because Solaris termcap needs libucb. -for termlib in ncurses curses termlib termcap terminfo; do - AC_CHECK_LIB(${termlib}, tgetent, - [TERMLIBS="${TERMLIBS} -l${termlib}"; break]) -done - -dnl Checks for header files. -dnl Do not use 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_STAT -AC_HEADER_STDC -AC_CHECK_HEADERS(fcntl.h pwd.h string.h strings.h termcap.h termio.h \ - termios.h unistd.h \ - sys/fcntl.h sys/file.h sys/ptem.h sys/time.h sys/ttold.h sys/wait.h) -AM_SYS_POSIX_TERMIOS -AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_TYPE_OFF_T -AC_TYPE_SIGNAL -AC_C_CONST -AC_STRUCT_TM - -dnl Checks for function declarations. -txi_CHECK_DECLS - -dnl Checks for library functions. -AC_FUNC_ALLOCA -AC_FUNC_STRCOLL -AC_FUNC_VPRINTF -AC_FUNC_SETVBUF_REVERSED -AC_CHECK_FUNCS(setvbuf getcwd memset bzero strchr sigprocmask sigsetmask) -dnl strerror, xmalloc, xrealloc, probably others should be added. -AC_REPLACE_FUNCS(memcpy memmove strdup strcasecmp strerror strncasecmp) - -dnl Checks for variables. -# HP-UX 9 (at least) needs -lncurses which defines termcap variables PC etc. -AC_MSG_CHECKING(for library with termcap variables) -AC_CACHE_VAL(ac_cv_var_ospeed, -oldLIBS=$LIBS -for trylib in $termlib ncurses curses termlib termcap terminfo; do - if test "x$trylib" != "x$termlib"; then - LIBS="$oldLIBS -l$termlib -l$trylib" - else - LIBS="$oldLIBS -l$termlib" - fi - AC_TRY_LINK(, -#ifdef HAVE_NCURSES_TERMCAP_H -#include -#else -#ifdef HAVE_TERMCAP_H -#include -#else -#undef PC -char *BC; -char* *UP; -char PC; -short ospeed; -#endif -#endif -return ospeed != 0; -, ac_cv_var_ospeed=$trylib; break) -done -LIBS=$oldLIBS -) -AC_MSG_RESULT($ac_cv_var_ospeed) -if test -n "$ac_cv_var_ospeed" \ - && test "x$termlib" != "x$ac_cv_var_ospeed"; then - TERMLIBS="${TERMLIBS} -l${ac_cv_var_ospeed}" -fi -AC_SUBST(TERMLIBS) - -dnl Set of available languages and i18n macros. -ALL_LINGUAS="cs de de_AT eo fr nl no ru" -AM_GNU_GETTEXT - -AC_OUTPUT([Makefile \ - doc/Makefile \ - info/Makefile \ - intl/Makefile \ - lib/Makefile \ - makeinfo/Makefile \ - makeinfo/tests/Makefile \ - po/Makefile.in \ - util/Makefile \ - ]) diff --git a/gnu/dist/texinfo/dir-example b/gnu/dist/texinfo/dir-example deleted file mode 100644 index 5f6333c54e16..000000000000 --- a/gnu/dist/texinfo/dir-example +++ /dev/null @@ -1,367 +0,0 @@ -This is the directory file `dir' a.k.a. `DIR', which contains the - topmost node of the Info hierarchy. -This particular dir file is merely made available for your hacking - 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.1.1.2 2001/07/25 16:20:40 assar Exp $ - -File: dir, Node: Top, This is the top of the INFO tree. - -This is the Info main menu (aka directory node). -A few useful Info commands: - - `q' quits; - `?' lists all Info commands; - `h' starts the Info tutorial; - `mTexinfo RET' visits the Texinfo manual, etc. - -Not all of the topics shown below may be available on this system. - -* Menu: - -GNU Packages -* accounting: (psacct). GNU process accounting suite. -* Bash: (bash). Bourne-Again SHell. -* Cpio: (cpio). Copy-in-copy-out archiver. -* DC: (dc). Postfix desk calculator. -* Diff: (diff). Comparing and merging programs. -* Ed: (ed). Line editor. -* Emacs: (emacs). Extensible self-documenting text editor. -* File utilities: (fileutils). GNU file utilities. -* Finding files: (find). Operating on files matching certain criteria. -* Font utilities: (fontu). Programs for font manipulation. -* Gawk: (gawk.info). A text scanning and processing language. -* Gcal: (gcal). GNU calendar program. -* Gzip: (gzip). General (de)compression. -* Identifier DB: (id-utils). Identifier database utilities. -* Ispell: (ispell). Interactive spelling corrector. -* M4: (m4). Macro processor. -* Make: (make). Remake files automatically. -* Ptx: (ptx). Permuted index generator. -* Shar utilities: (sharutils). Shell archiver, uudecode/uuencode. -* Shell utilities: (sh-utils). GNU shell utilities. -* tar: (tar). Making tape (or disk) archives. -* Text utilities: (textutils). GNU text utilities. -* Time: (time). Measuring program resource usage. -* UUCP: (uucp). Copying between machines, offline. -* Wdiff: (wdiff). Word-by-word comparison. -* Wget: (wget). URL download. - -GNU programming tools -* As: (as). Assembler. -* Binutils: (binutils). ar/copy/objdump/nm/size/strip/ranlib. -* Bison: (bison). LALR(1) parser generator. -* CPP: (cpp). C preprocessor. -* CVS: (cvs). Concurrent versions system for source control. -* DejaGnu: (dejagnu). Testing framework. -* egcs: (egcs). Experimental GNU C compiler. -* g77: (g77). GNU Fortran 77 compiler. -* Flex: (flex). A fast scanner generator. -* Gasp: (gasp). GNU Assembler preprocessor. -* Libtool: (libtool). Generic library support script. -* GCC: (gcc). C compiler. -* GDB: (gdb). Source-level debugger for C and C++. -* Gettext Utilities: (gettext). GNU gettext utilities. -* Gperf: (gperf). Perfect hash function generator. -* Gprof: (gprof). Profiler. -* Indent: (indent). Prettyprinter for programs. -* Ld: (ld). Linker. -* R FAQ: (R-FAQ). The R statistical language FAQ. - -Texinfo documentation system -* Info: (info). Documentation browsing system. -* Texinfo: (texinfo). The GNU documentation format. -* info program: (info-stnd). Standalone Info-reading program. -* install-info: (texinfo)Invoking install-info. Updating info/dir entries. -* texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation. -* texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files. -* makeinfo: (texinfo)makeinfo options. Translate Texinfo source. - -Printing Tools -* a2ps: (a2ps). PostScript Generating Utility -* PreScript: (a2ps) PreScript. Input language for a2ps -* card: (a2ps) card. Print Reference Cards -* fixps: (a2ps) fixps. Fixing Some Ill Designed PostScript Files -* fixnt: (a2ps) fixnt. Fixing Microsoft NT PostScript Files -* pdiff: (a2ps) pdiff. Produce Pretty Comparison of Files -* psmandup: (a2ps) psmandup. Printing Duplex on Simplex Printers -* psset: (a2ps) psset. Inserting calls to setpagedevice - -GNU Emacs Lisp -* Elisp: (elisp). GNU Emacs Lisp reference manual. -* Intro Elisp: (emacs-lisp-intro). Introduction to Elisp programming. - -* AUC TeX: (auctex). Editing (La)TeX files. -* Calc: (calc). Calculator and more. -* CC mode: (ccmode). Editing C, C++, Objective C, and Java. -* Common Lisp: (cl). Partial Common Lisp support for Emacs Lisp. -* Dired-x: (dired-x). Extra directory editor features. -* Edebug: (edebug). Source-level debugger for Emacs Lisp. -* Ediff: (ediff). Comprehensive visual interface to diff & patch. -* EDB: (edb). Database for Emacs. -* Forms: (forms). Fill-in-the-form data entry. -* Gmhist: (gmhist). Generic minibuffer history. -* GNUS: (gnus). Netnews reading and posting. -* Mailcrypt: (mailcrypt). Use PGP in Emacs. -* MH-E: (mh-e). Emacs interface to the MH mail system. -* PCL-CVS: (pcl-cvs). Emacs front end to CVS. -* Supercite: (sc). Supercite for including other people's words. -* VIP: (vip). vi emulation. -* VIPER: (viper). The new VI-emulation mode in Emacs-19.29. -* VM: (vm). Mail reader. -* W3: (w3). WWW browser. - -GNU programming support -* Autoconf: (autoconf). Automatic generation of package configuration. -* Configure: (configure). Cygnus configure. -* Gnats: (gnats). Cygnus bug tracking system. -* Remsync: (remsync). Remote synchronization of directory trees. -* Send PR: (send-pr). Cygnus bug reporting for Gnats. - -GNU libraries -* Annotate: (annotate). High-level GDB to GUI's. -* BFD: (bfd). Binary file descriptors for object file IO. -* CVS protocol: (cvsclient). CVS client/server protocol specification. -* GDB library: (libgdb). Application programming interface to GDB. -* GDBM: (gdbm). Hashed databases. -* GDK: (gdk). General drawing kit. -* GTK: (gtk). GIMP toolkit. -* History: (history). Recall previous lines of input. -* Iostream: (iostream). C++ input/output. -* Libc: (libc). C library. -* Libg++: (libg++). C++ classes. -* Mmalloc: (mmalloc). Memory-mapped malloc. -* Readline: (readline). General command-line interface. -* Regex: (regex). Regular expressions. -* Termcap: (termcap). All about /etc/termcap. - -GNU programming documentation -* GDB internals: (gdbint). Debugger internals. -* Ld internals: (ldint). GNU linker internals. -* Maintaining: (maintain). Maintaining GNU software. -* Source config: (cfg-paper). Some theory on configuring source packages. -* Stabs: (stabs). Symbol table debugging information format. -* Standards: (standards). GNU coding standards. - -Linux -* dosemu: (dosemu). Linux DOS emulator. -* gpm: (gpm). Linux general purpose mouse interface. -* linux-faq: (linux-faq). The Linux FAQ List. - -Utilities -* bzip2: (bzip2). (de)compression. - -TeX -* Afm2tfm: (dvips)Invoking afm2tfm. Making Type 1 fonts available to TeX. -* Dvips: (dvips). DVI-to-PostScript translator. -* Eplain: (eplain). Expanding on plain TeX. -* Kpathsearch: (kpathsea). File lookup along search paths. -* LaTeX: (latex). LaTeX. -* MakeIndex: (makeindex). Index creation for TeX. -* Naming fonts: (fontname). Filenames for TeX fonts. -* TDS: (tds). Standard TeX directory structure. -* TeXDraw: (texdraw). Drawing PostScript diagrams within TeX. -* Web2c: (web2c). TeX, Metafont, and their companion programs. - -DOS -* GNUish: (gnuish). GNU utilities for DOS. -* Mtools: (mtools). Access DOS disks from Unix. - -Other things -* Amd: (am-utils). Filesystem automounter. -* CMUCL: (cmu-user). CMU Common Lisp. -* File headers: (filehdr). Bibliographic information for computer files. -* GCP: (gcp). Game club protocol. -* GIMP: (pdb). The GIMP procedural database. -* HTML: (snafu). Hypertext Markup Language 2.0 specification. -* 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. -* PRCS: (prcs). Project revision control system. -* Screen: (screen). Terminal multiplexer. -* UMB C.S. Dept.: (csinfo). UMass/Boston Computer Science Dept. info. - -Individual utilities -* aclocal: (automake)Invoking aclocal. Generating aclocal.m4. -* aid: (id-utils)aid invocation. Matching strings. -* ar: (binutils)ar. Create/modify/extract archives. -* at-pr: (gnats)at-pr. Bug report timely reminders. -* automake: (automake). Making Makefile.in's. -* autoreconf: (autoconf)Invoking autoreconf. Remake multiple configure's. -* autoscan: (autoconf)Invoking autoscan. Automate initial configure.in. -* awk: (gawk)Invoking gawk. Text processing and scanning. -* basename: (sh-utils)basename invocation. Strip directory and suffix. -* bibtex: (web2c)BibTeX invocation. Maintaining bibliographies. -* c++filt: (binutils)c++filt. Demangle C++ symbols. -* cat: (textutils)cat invocation. Concatenate and write files. -* chgrp: (fileutils)chgrp invocation. Change file groups. -* chmod: (fileutils)chmod invocation. Change file permissions. -* chown: (fileutils)chown invocation. Change file owners/groups. -* chroot: (sh-utils)chroot invocation. Specify the root directory. -* cksum: (textutils)cksum invocation. Print POSIX CRC checksum. -* cmp: (diff)Invoking cmp. Character-by-character diff. -* comm: (textutils)comm invocation. Compare sorted files by line. -* cp: (fileutils)cp invocation. Copy files. -* csplit: (textutils)csplit invocation. Split by context. -* cut: (textutils)cut invocation. Print selected parts of lines. -* date: (sh-utils)date invocation. Print/set system date and time. -* dd: (fileutils)dd invocation. Copy and convert a file. -* df: (fileutils)df invocation. Report filesystem disk usage. -* diff3: (diff)Invoking diff3. Three-way diff. -* dir: (fileutils)dir invocation. List directories briefly. -* dircolors: (fileutils)dircolors invocation. Color setup for ls. -* dirname: (sh-utils)dirname invocation. Strip non-directory suffix. -* dmp: (web2c)Dmp invocation. Troff->MPX (MetaPost pictures). -* du: (fileutils)du invocation. Report on disk usage. -* dvicopy: (web2c)DVIcopy invocation. Virtual font expansion -* dvitomp: (web2c)DVItoMP invocation. DVI to MPX (MetaPost pictures). -* dvitype: (web2c)DVItype invocation. DVI to human-readable text. -* echo: (sh-utils)echo invocation. Print a line of text. -* edit-pr: (gnats)Invoking edit-pr. Changing bugs. -* eid: (id-utils)eid invocation. Invoking an editor on matches. -* emacsclient: (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. -* etags: (emacs)Create Tags Table. Creating a TAGS table. -* expand: (textutils)expand invocation. Convert tabs to spaces. -* expr: (sh-utils)expr invocation. Evaluate expressions. -* factor: (sh-utils)factor invocation. Print prime factors -* false: (sh-utils)false invocation. Do nothing, unsuccessfully. -* fid: (id-utils)fid invocation. Listing a file's identifiers. -* file-pr: (gnats)file-pr. Processing incoming traffic. -* find: (find)Invoking find. Finding and acting on files. -* fmt: (textutils)fmt invocation. Reformat paragraph text. -* fold: (textutils)fold invocation. Wrap long input lines. -* 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. -* gftodvi: (web2c)GFtoDVI invocation. Generic font proofsheets. -* gftopk: (web2c)GFtoPK invocation. Generic to packed fonts. -* gftype: (web2c)GFtype invocation. GF to human-readable text. -* gid: (id-utils)gid invocation. Listing all matching lines. -* git: (git). GNU interactive tools. -* groups: (sh-utils)groups invocation. Print group names a user is in. -* gunzip: (gzip)Overview. Decompression. -* head: (textutils)head invocation. Output the first part of files. -* hostname: (sh-utils)hostname invocation. Print or set system name. -* id: (sh-utils)id invocation. Print real/effective uid/gid. -* idx: (id-utils)idx invocation. Testing mkid scanners. -* ifnames: (autoconf)Invoking ifnames. List conditionals in source. -* iid: (id-utils)iid invocation. Interactive complex queries. -* inimf: (web2c)inimf invocation. Initial Metafont. -* inimp: (web2c)inimp invocation. Initial MetaPost. -* initex: (web2c)initex invocation. Initial TeX. -* install: (fileutils)install invocation. Copy and change attributes. -* join: (textutils)join invocation. Join lines on a common field. -* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching. -* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. -* lid: (id-utils)lid invocation. Matching identifier patterns. -* ln: (fileutils)ln invocation. Make links between files. -* locate: (find)Invoking locate. Finding files in a database. -* logname: (sh-utils)logname invocation. Print current login name. -* ls: (fileutils)ls invocation. List directory contents. -* mail-files: (sharutils)mail-files invocation. Send files to remote site. -* mailshar: (sharutils)mailshar invocation. Make and send a shell archive. -* makempx: (web2c)MakeMPX invocation. MetaPost label typesetting. -* maketexmf: (kpathsea)MakeTeX scripts. MF source generation. -* maketexpk: (kpathsea)MakeTeX scripts. PK bitmap generation. -* maketextex: (kpathsea)MakeTeX scripts. TeX source generation. -* maketextfm: (kpathsea)MakeTeX scripts. TeX font metric generation. -* md5sum: (textutils)md5sum invocation. Print or check message-digests. -* mf: (web2c)mf invocation. Creating typeface families. -* mft: (web2c)MFT invocation. Prettyprinting Metafont source. -* mgetty: (mgetty). Faxes, voicemail and more. -* mkdir: (fileutils)mkdir invocation. Create directories. -* mkfifo: (fileutils)mkfifo invocation. Create FIFOs: (named pipes). -* mkid: (id-utils)mkid invocation. Creating an ID database. -* mknod: (fileutils)mknod invocation. Create special files. -* mp: (web2c)mp invocation. Creating technical diagrams. -* mpto: (web2c)MPto invocation. MetaPost label extraction. -* msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files. -* msgmerge: (gettext)msgmerge Invocation. Update two PO files into one. -* mv: (fileutils)mv invocation. Rename files. -* newer: (web2c)Newer invocation. Compare modification times. -* nice: (sh-utils)nice invocation. Modify scheduling priority. -* nl: (textutils)nl invocation. Number lines and write files. -* nlmconv: (binutils)nlmconv. Convert object to NetWare LM. -* nm: (binutils)nm. List symbols in object files. -* nohup: (sh-utils)nohup invocation. Immunize to hangups. -* objcopy: (binutils)objcopy. Copy/translate object files. -* objdump: (binutils)objdump. Display info from object files. -* od: (textutils)od invocation. Dump files in octal, etc. -* paste: (textutils)paste invocation. Merge lines of files. -* patch: (diff)Invoking patch. Automatically applying diffs. -* patgen: (web2c)Patgen invocation. Creating hyphenation patterns. -* pathchk: (sh-utils)pathchk invocation. Check file name portability. -* pid: (id-utils)pid invocation. Looking up filenames. -* pktogf: (web2c)PKtoGF invocation. Packed to generic fonts. -* pktype: (web2c)PKtype invocation. PK to human-readable text. -* pltotf: (web2c)PLtoTF invocation. Property list to TFM. -* pooltype: (web2c)Pooltype invocation. Display WEB pool files. -* pr-addr: (gnats)pr-addr. Bug report address retrieval. -* pr-edit: (gnats)pr-edit. The edit-pr driver. -* pr: (textutils)pr invocation. Paginate or columnate files. -* printenv: (sh-utils)printenv invocation. Print environment variables. -* printf: (sh-utils)printf invocation. Format and print data. -* pwd: (sh-utils)pwd invocation. Print working directory. -* query-pr: (gnats)Invoking query-pr. Bug searching/reporting. -* queue-pr: (gnats)queue-pr. Handling incoming traffic. -* ranlib: (binutils)ranlib. Index archive file contents. -* rm: (fileutils)rm invocation. Remove files. -* rmdir: (fileutils)rmdir invocation. Remove empty directories. -* sdiff: (diff)Invoking sdiff. Interactively merge files. -* send-pr: (gnats)Invoking send-pr. Submitting bugs. -* seq: (sh-utils)seq invocation. Print numeric sequences -* shar: (sharutils)shar invocation. Create shell archive. -* size: (binutils)size. List object file section sizes. -* sleep: (sh-utils)sleep invocation. Delay for a specified time. -* sort: (textutils)sort invocation. Sort text files. -* split: (textutils)split invocation. Split into fixed-size pieces. -* strings: (binutils)strings. List printable strings. -* strip: (binutils)strip. Discard symbols. -* stty: (sh-utils)stty invocation. Print/change terminal settings. -* su: (sh-utils)su invocation. Modify user and group id. -* sum: (textutils)sum invocation. Print traditional checksum. -* sync: (fileutils)sync invocation. Synchronize memory and disk. -* tabs: (tput)Invoking tabs. Tab settings. -* tac: (textutils)tac invocation. Reverse files. -* tail: (textutils)tail invocation. Output the last part of files. -* tangle: (web2c)Tangle invocation. WEB to Pascal. -* tcal: (gcal)Invoking tcal. Run Gcal with tomorrow's date. -* tee: (sh-utils)tee invocation. Redirect to multiple files. -* test: (sh-utils)test invocation. File/string tests. -* tex: (web2c)tex invocation. Typesetting. -* tftopl: (web2c)TFtoPL invocation. TFM -> property list. -* touch: (fileutils)touch invocation. Change file timestamps. -* tput: (tput)Invoking tput. Termcap in shell scripts. -* tr: (textutils)tr invocation. Translate characters. -* true: (sh-utils)true invocation. Do nothing, successfully. -* tty: (sh-utils)tty invocation. Print terminal name. -* txt2gcal: (gcal)Invoking txt2gcal. Calendar text to resource file. -* umb-scheme: (umb-scheme). UMB Scheme Interpreter. -* uname: (sh-utils)uname invocation. Print system information. -* unexpand: (textutils)unexpand invocation. Convert spaces to tabs. -* uniq: (textutils)uniq invocation. Uniqify files. -* unshar: (sharutils)unshar invocation. Extract from shell archive. -* updatedb: (find)Invoking updatedb. Building the locate database. -* users: (sh-utils)users invocation. Print current user names. -* vdir: (fileutils)vdir invocation. List directories verbosely. -* vftovp: (web2c)VFtoVP invocation. Virtual font -> virtual pl. -* view-pr: (gnats)Invoking view-pr. Showing bug reports. -* virmf: (web2c)virmf invocation. Virgin Metafont. -* virmp: (web2c)virmp invocation. Virgin MetaPost. -* virtex: (web2c)virtex invocation. Virgin TeX. -* vptovf: (web2c)VPtoVF invocation. Virtual pl -> virtual font. -* wc: (textutils)wc invocation. Byte, word, and line counts. -* weave: (web2c)Weave invocation. WEB to TeX. -* who: (sh-utils)who invocation. Print who is logged in. -* whoami: (sh-utils)whoami invocation. Print effective user id. -* xargs: (find)Invoking xargs. Operating on many files. -* xgettext: (gettext)xgettext Invocation. Extract strings into a PO file. -* yes: (sh-utils)yes invocation. Print a string indefinitely. -* zcat: (gzip)Overview. Decompression to stdout. -* zsh: (zsh). An enhanced Bourne shell. diff --git a/gnu/dist/texinfo/djgpp/README b/gnu/dist/texinfo/djgpp/README deleted file mode 100644 index 064486f43229..000000000000 --- a/gnu/dist/texinfo/djgpp/README +++ /dev/null @@ -1,422 +0,0 @@ -Building and installing GNU Texinfo with DJGPP v2.x -=================================================== - -This directory holds files required for building Texinfo with DJGPP -tools for MS-DOS and MS-Windows. If you got this file with a binary -distribution, look for the "Installation" section below. - - -1. Building Texinfo - ---------------- - - a. To compile Texinfo, you will need the following tools: - - - basic DJGPP development environment: GCC, Binutils and djdev; - - a DJGPP port of GNU Make version 3.75 or later; - - a DJGPP port of Bash; - - a port of GNU Sed; - - ginstall and rm from the Fileutils package; - - DJGPP ports of Fileutils, Diffutils, and Grep (only if you - need to reconfigure the source distribution); - - etags (from the Emacs distribution) and mkid (from ID-utils) - if you need the TAGS and ID targets of the Makefile's. - - All of the above are available from the DJGPP ftp sites on - SimTel.NET mirrors, in the pub/simtelnet/gnu/djgpp/v2gnu - directory. - - b. From the root of your DJGPP installation, unzip the source package: - - - if you are unpacking the official GNU source distribution: - - tar -xvzf texinfo-X.YZ.tar.gz - - or - - djtar -x texinfo-X.YZ.tar.gz - - where X.YZ is the version number. (Users of MS-DOS and - MS-Windows 3.X, which don't support long file names, will need - to rename the archive to something like texi-XYZ.tgz.) - - - if you are unpacking a source distribution from a DJGPP ftp - site: - - unzip txiXYZs - - or - - pkunzip -d txiXYZs - - If you build Texinfo on Windows 9X, you are advised to use a - version of Unzip which supports long filenames, so that the - original long filenames of the source files will be preserved. - Otherwise, the build procedure will most probably fail. - - Note: do NOT use an unzip program which supports long file names - on Windows NT, as DJGPP doesn't support long names there. - - c. If the source distribution comes with a ready Makefile (this is - usually the case with archives downloaded from the DJGPP sites), - and all you need is to build Texinfo, you may skip the configure - step below and go directly to step e. - - d. To build the official GNU distribution, or to configure Texinfo - for any environment but stock DJGPP v2.x, run djgpp\config.bat - first, like this: - - SRCDIR\djgpp\config SRCDIR - - Here SRCDIR is the directory where you unpacked the sources. If - you are configuring from the source directory itself, you may - omit the argument to the config.bat file. If you do supply the - argument, you MUST use forward slashes in it, or else the batch - file might fail. - - config.bat sets some environment variables, then invokes the - configure script. The script will run for a few minutes and - create Makefile's in all the directories, and the config.h file. - - e. Run `Make'. This builds the programs and the Info files. - - - -2. Installation - ------------ - - a. If you are installing the binary distribution, then go to your - main DJGPP directory and unzip the files. For instance, if your - DJGPP installation is rooted on C:\DJGPP, then type this (XYZ is - the version number): - - cd c:\djgpp - unzip txiXYZb - - or, if you prefer `pkunzip': - - pkunzip -d txiXYZb - - b. If you downloaded and built Texinfo from sources, install by - invoking Make: - - make install - - This requires a port of Unix-like program `install.exe'. It is - available from the DJGPP port of GNU Fileutils on SimTel.NET. - - c. Info needs a file named DIR with the top-level menu of all the - Info files installed on your system. If you installed the DJGPP - development environment (djdevNN.zip), then you already have - this file in the info/ subdirectory of your DJGPP installation. - Otherwise, you will need to create it. A minimal DIR file is - available in this distribution, as a starting point. Copy it to - the directory where you install the Info files from this - distribution. - - Even if you already have a DIR file, you should review it to - make sure it is consistent with the names of the Info file you - are installing. Here's how your Texinfo-related entries in DIR - should look like: - - * Info: (info). - Documentation browsing system. This topic teaches you about - how to use the online help information. - - * Info-Standalone: (info-stnd). - This topic helps you use the standalone Info-Program (info.exe) - - * Texinfo: (texinfo). - With one source file, make either a printed manual - (through TeX) or an Info file (through makeinfo). - Full documentation in this menu item. - - * install-info: (texinfo)Invoking install-info. - How to update info/dir entries when installing GNU packages. - - * texi2dvi: (texinfo)Format with texi2dvi. - Printing Texinfo documentation with TeX. - - * texindex: (texinfo)Format with tex/texindex. - Sorting Texinfo index files automatically. - - * makeinfo: (texinfo)makeinfo options. - Translate Texinfo source into Info, plain ASCII, or HTML. - - - Note that the asterisk `*' should be flushed all the way to the - left, it is indented here just to make reading more convenient. - - If your DIR file entries differ from these, I suggest to edit them - so they are as shown above. Otherwise, Info might not be able to - find some of the files. You HAVE been warned! - - d. Optionally, set up environment variables for Info. These are: - - * INFO_LINES -- screen size for Info. - * INFO_COLORS -- screen colors for Info. - - (If you have DJGPP installed on your system, the file djgpp.env - which comes with it already has entries for Info, see the [info] - section there.) - - INFO_LINES can be one of 25 (the default), 28, 35, 40, 43, or 50 - (that's if you have a VGA; EGAs only support 25, 35 and 43 lines). - I recommend 40 if your monitor is 17" or larger, and at least 28 - lines for smaller monitors (I work with 40 lines even on 14" - monitors). - - INFO_COLORS should have the following syntax: - - set INFO_COLORS=XX.YY - - where XX is the text attribute for text displayed in the text - windows and the echo area, and YY is the text attribute for the - modeline (aka the status line). Each attribute is a numeric - value of a byte which describes the desired combination of - foreground and background colors. The individual bits in the - attribute byte are defined as follows: - - bBBBFFFF - - where `b' is the blink bit, `BBB' are the 3 bits for background - color and `FFFF' are the 4 bits for the foreground color. This is - the usual PC text attribute byte structure, and is further explained - in any standard reference on text-mode programming for the PC. - - My favorite setting for INFO_COLORS is `0x1e.0x31'. This makes - Info use yellow foreground on blue background for the text and - blue foreground on cyan background for the modelines. - - After you've played with these variables and have chosen the values - you like, it's a good idea to put them on the DJGPP.ENV file, in the - [info] section. - - e. Beginning with version 3.6, GNU Info can read Unix man pages. If - you have a `man' clone on your system and would like to be able to - read man pages with Info, read the chapter ``Reading Man Pages'' - below. One such clone is available as v2apps/manXYb.zip from - the DJGPP sites (XY is the version number). - - f. This port supports compressed Info files, like what Info under Unix - gives you. For this to work, you will need to install a DOS port of - GNU `Gzip' package and to observe certain rules of file naming, so - that Info will find the compressed files working around the DOS 8.3 - filename restriction. The chapter ``Compressed Info Files'' below - explains the details of this. - - g. If you need to use the `print-node' command, read the chapter - ``Printing Nodes'' below. - - h. That's it! You are now ready to use Info, Makeinfo, and Texindex. - To learn about them, type `Info' and press [Enter]. You will be - presented with the top-level menu of GNU/DJGPP hypertext - documentation. If you are unfamiliar with Info, press `?' to see - the available commands. Pressing `h' will cause Info to take you on - a guided tour through its features (recommended for first-time - users). - - i. If you are used to Info ports of versions before 3.6, you should - know that the command bindings to PC-specific keys has changed: the - numeric keypad keys invoke the same commands as their extended - namesakes. That is, e.g., the key `PgUp' on the numeric keypad - invokes the same command as the grey `PgUp' key on the extended - keypad. This was done at DJ's request, because laptop machines - don't have extended keys. Commands to move between nodes - (previously bound to numeric keypad) are now bound to Ctrl- - varieties of numeric keypad keys (e.g., `next-node' is on - `Ctrl-PgDn', `prev-node' is on `Ctrl-PgUp', etc.). You can use - the `Alt-x describe-key' command to see which command is invoked - by a particular key. - - j. There are several MSDOS-specific changes in Texinfo, relative to - previous Texinfo ports (for other changes, see the file NEWS): - - * Full support for both forward and backslashes in all file - names. Previously, Info was sensitive to the style of - slashes in directories mentioned in the INFOPATH environment - variable. - - * The default operation of the `print-node' command has been - changed so that it will automatically print to the local - printer device connected to the PRN port. (If your printer - is connected to another port, set the INFO_PRINT_COMMAND - environment variable like this: - - set INFO_PRINT_COMMAND=>LPT2 - - In other words, if the value of INFO_PRINT_COMMAND begins - wih a `>' character, Info will write to the file or device - whose name follows the `>' character. (Don't leave any - blanks between `>' and the device name!). - - Note that stock DOS shell won't let you use the `>' - character in environment variables set from the DOS prompt - or batch files, but you can set it in the [info] section of - your DJGPP.ENV file. - - * The `set-screen-height' command now actually changes the - screen dimensions from within Info if you specify one of the - sizes supported by your video hardware. - - * If you don't have a `man' clone installed, and you invoke - Info with a name of a document which Info cannot find, it - will no longer wait for 15 seconds. - - * Several bugs in handling of man pages were corrected. - - * Info opens the dribble and input files in BINARY mode. This - allows to record keystrokes and restore them in another Info - session, thus using dribble files as a startup or init file - which changes default behavior, binds keys, etc. - - * Info recognizes a new DOS-specific command-line option `-b' - or `--speech-friendly'. This option causes Info to use DOS - I/O functions (`printf', `puts', etc.) instead of direct - screen writes, which is required to enable speech - synthesizer software (used by visually-impaired people) to - grab the output. When this option is given, the screen - colors defined by the `INFO_COLORS' environment variable and - the visible-bell feature will be disabled, because stdio - functions don't support neither color text nor inverting - screen colors. This improvement was suggested and - originally implemented by Hans-Bernhard Broeker - . - - * Makeinfo now generates full .info-NN filenames when long - filenames are supported (e.g. on Win9x) and short .iNN - filenames otherwise. When the Texinfo source or the - command-line parameter -o specify an output file with no - extension (like `texinfo'), and long filenames aren't - supported, Makeinfo will make sure the generated names will - be unique (it will create e.g. `texinf-1', `texin-10' etc.). - - * The texi2dvi script is now fully compatible with - MS-DOS/MS-Windows and with the DJGPP port of TeX. - - -3. Reading Man Pages - ----------------- - - Yes, Info can now read man pages! This port supports that feature, - but for it to work, you will have to make sure your `man' clone is - set up correctly: - - a. You should have an executable file named `man.exe', `man.com' - etc. somewhere on your PATH. - - b. When invoked with redirected stdout, that executable should - print the contents of the file it gets as its argument to stdout - and exit. If your man command calls some pager, that pager - should have this behavior (various ports of Unix command `more' - and the DJGPP port of GNU Less behave that way). - - One `man' clone is available as v2apps/manNNb.zip from the DJGPP - sites on SimTel.NET. - - -4. Compressed Info Files - --------------------- - - Info allows you to hold your Info files in compressed form, to save - disk space. When a file Info wants cannot be found, it will - automatically try to find that file in compressed form. Info does - this by trying to find the original file with specific extensions. - Each extension tells Info which program should be called to - decompress the file. - - This port supports compression by the GNU Gzip program. When Info - cannot find a file `foo', it will first try to find `foo.z' or - `foo.gz'. If this fails, and the file has an extension, the last - one or two characters of the extension are replaced by `z' and `gz' - respectively, and Info tries again. If it finds any of these, it - will call the `GUnzip' program to decompress the file, catch its - output and display it. (The original compressed file stays - intact.) - - So, to use this feature, compress your files with Gzip and call the - compressed files using the following as guidelines: - - foo --> foo.gz - foo.inf --> foo.igz - foo.i5 --> foo.i5z - foo.25 --> foo.25z - - If you have a package whose Info docs are split into more than 9 - sub-files and you need to compress those files, you will have to - rename the sub-files from `foo.iNN' to `foo.NN' so that there will - be place for the trailing `z' in the compressed names. Don't - forget to edit the indirect file table in the main Info file and - change the sub-file filenames there too! - - An alternative for those packages which have more than 99 Info - sub-files is to generate them from the Texinfo sources and force - Makeinfo to produce files without the .iNN extensions, like this: - - makeinfo -o foo foo.txi - - This causes Makeinfo to generate file names like foo-1, foo-2, - etc., which leave more place for the numeric index. If necessary, - Makeinfo will automatically remove characters from the end of the - argument to `-o'. For example, "-o texinfo" produces files - texinf-1, ..., texin-10, ..., texi-100, etc. on platforms which - only support 8+3 file names. - - Saying "@setfilename foo" near the beginning of the Texinfo source - file is another way of forcing Makeinfo to produce files without - the .iNN extensions. - - Using Makeinfo to produce files whose names are "compression-ready" - is more convenient, since you don't need to edit the the indirect - file table to reflect the changes in file names. - - On platforms which support long filenames, the usual Info behavior - of appending `.gz' or `.Z' to the original filename also works; - this is done *before* Info checks the above butchered names. - - Special considerations apply if you are installing Info on dual - DOS/Windows 9X system, where you'd like Info to work with the same - files both in plain DOS and from the Windows DOS box. In this - case, you should make sure your compressed Info files follow the - 8+3 DOS naming conventions outlined above, even though Info - supports long file names on Windows 9X. Also, you need to turn off - the generation of numeric tails in short 8+3 aliases Windows - creates for long names (if you don't know how, the DJGPP FAQ list - explains it). - - Please note: for the automatic decompression to work, Info must be - able to find the file it looks for with an extension which - indicates that the file is compressed. Do NOT call the compressed - files as the original uncompressed files were called, or Info - won't be able to find them! File names like bison-1, gcc.i10 or - make.info-3 have nothing in them to suggest that they are - compressed, so don't expect Info to uncompress them. - - -5. Printing Nodes - -------------- - - Info has a `print-node' command. It works by piping the contents of - the current node through a program which is named by the environment - variable INFO_PRINT_COMMAND. That command should read its standard - input and write it to your printer. Find any such program, put its - name into the above environment variable, and you can print nodes from - within Info. - - If the value of INFO_PRINT_COMMAND begins with a redirection - character `>', Info will write the contents of the node to the file - whose name follows the `>' character. - - If INFO_PRINT_COMMAND is not defined, the DJGPP port will use - ">PRN" as the default, which causes it to print to the local printer - device, PRN. - -6. Bug Reports - ----------- - - If you see any bugs which seem specific to this DOS port, please tell - me about them. - - - Enjoy, - - Eli Zaretskii diff --git a/gnu/dist/texinfo/djgpp/config.bat b/gnu/dist/texinfo/djgpp/config.bat deleted file mode 100644 index 5b09e0f12a88..000000000000 --- a/gnu/dist/texinfo/djgpp/config.bat +++ /dev/null @@ -1,88 +0,0 @@ -@echo off -echo Configuring GNU Texinfo for DJGPP v2.x... - -Rem The SmallEnv tests protect against fixed and too small size -Rem of the environment in stock DOS shell. - -Rem Find out where the sources are -set XSRC=. -if not "%XSRC%" == "." goto SmallEnv -if "%1" == "" goto InPlace -set XSRC=%1 -if not "%XSRC%" == "%1" goto SmallEnv -redir -e /dev/null update %XSRC%/configure.orig ./configure -if not exist configure update %XSRC%/configure ./configure - -:InPlace -Rem Update configuration files -echo Updating configuration scripts... -if not exist configure.orig update configure configure.orig -sed -f %XSRC%/djgpp/config.sed configure.orig > configure -if errorlevel 1 goto SedError - -Rem Make sure they have a config.site file -set CONFIG_SITE=%XSRC%/djgpp/config.site -if not "%CONFIG_SITE%" == "%XSRC%/djgpp/config.site" goto SmallEnv - -Rem Make sure crucial file names are not munged by unpacking -test -f %XSRC%/intl/po2tbl.sed.in -if not errorlevel 1 mv -f %XSRC%/intl/po2tbl.sed.in %XSRC%/intl/po2tblsed.in -test -f %XSRC%/intl/po2tblsed.in -if errorlevel 1 mv -f %XSRC%/intl/po2tbl.sed %XSRC%/intl/po2tblsed.in -test -f %XSRC%/po/Makefile.in-in -if errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in -if exist INSTALL ren INSTALL INSTALL.txt - -Rem Set HOSTNAME so it shows in config.status -if not "%HOSTNAME%" == "" goto hostdone -if "%windir%" == "" goto msdos -set OS=MS-Windows -if not "%OS%" == "MS-Windows" goto SmallEnv -goto haveos -:msdos -set OS=MS-DOS -if not "%OS%" == "MS-DOS" goto SmallEnv -:haveos -if not "%USERNAME%" == "" goto haveuname -if not "%USER%" == "" goto haveuser -echo No USERNAME and no USER found in the environment, using default values -set HOSTNAME=Unknown PC -if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv -:haveuser -set HOSTNAME=%USER%'s PC -if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv -goto userdone -:haveuname -set HOSTNAME=%USERNAME%'s PC -if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv -:userdone -set HOSTNAME=%HOSTNAME%, %OS% -if not "%HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv -:hostdone -set OS= - - -Rem install-sh is required by the configure script but clashes with the -Rem various Makefile install-foo targets, so we MUST have it before the -Rem script runs and rename it afterwards -if not exist install-sh if exist install-sh.sh ren install-sh.sh install-sh -echo Running the ./configure script... -sh ./configure --src=%XSRC% --infodir=c:/djgpp/info --disable-nls -if errorlevel 1 goto CfgError -if not exist install-sh.sh if exist install-sh ren install-sh install-sh.sh -echo Done. -goto End - -:SedError -echo ./configure script editing failed! -goto End - -:CfgError -echo ./configure script exited abnormally! -goto End - -:SmallEnv -echo Your environment size is too small. Enlarge it and run me again. -echo Configuration NOT done! -:End -set XSRC= diff --git a/gnu/dist/texinfo/djgpp/config.sed b/gnu/dist/texinfo/djgpp/config.sed deleted file mode 100644 index bad8c8426df3..000000000000 --- a/gnu/dist/texinfo/djgpp/config.sed +++ /dev/null @@ -1,26 +0,0 @@ -/for ac_dir in \$PATH; do/,/IFS="\$ac_save_[Ii][Ff][Ss]"/ { - s|test -f \$ac_dir/|test -x $ac_dir/| -} - -/IFS="\${IFS=/,/IFS="\$ac_save_ifs"/ { - s|test -f \$ac_dir/|test -x $ac_dir/| -} - -s|po2tbl\.sed\.in|po2tblsed.in|g - -/ac_given_INSTALL=/,/^CEOF/ { - /^s%@l@%/a\ - /TEXINPUTS=/s,:,\\\\\\\\\\\\\\;,g\ - /^terminal\\.o:/s,: ,: pcterm.c ,\ - s,po2tbl\\.sed\\.in,po2tblsed.in,g\ - s,Makefile\\.in\\.in,Makefile.in-in,g -} - -/^CONFIG_FILES=/,/^EOF/ { - s|po/Makefile.in|po/Makefile.in:po/Makefile.in-in| -} - -/\*) srcdir=/s,/\*,/*|[A-z]:/*, -/\$]\*) INSTALL=/s,\[/\$\]\*,&|[A-z]:/*, -/\$]\*) ac_rel_source=/s,\[/\$\]\*,&|[A-z]:/*, -/ac_file_inputs=/s,\( -e "s%\^%\$ac_given_srcdir/%"\)\( -e "s%:% $ac_given_srcdir/%g"\),\2\1, diff --git a/gnu/dist/texinfo/djgpp/config.site b/gnu/dist/texinfo/djgpp/config.site deleted file mode 100644 index e2238ac4d0c6..000000000000 --- a/gnu/dist/texinfo/djgpp/config.site +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/sh - -# This is the config.site file for configuring GNU packages -# which are to be built with DJGPP tools. - -# These two variables are required, otherwise looking for -# programs along the PATH will not work. -PATH_SEPARATOR=: -PATH_EXPAND=y - -# The root of the DJGPP tree serves as the default prefix -test "x$prefix" = xNONE && prefix='${DJDIR}' - -# This is required for config.status script to be run, since -# ./configure runs it by invoking ${CONFIG_SHELL-/bin/sh} -CONFIG_SHELL=${CONFIG_SHELL='sh'} - -# These are set here so the generated Makefile's will be good -# for every DJGPP installation, not only the one where the -# package was configured. -# $INSTALL must be an absolute path name, otherwise config.status -# will try to prepend ./ and ../ to it when it goes into subdirs. -INSTALL=${INSTALL='${DJDIR}/bin/ginstall -c'} -RANLIB=${RANLIB='ranlib'} - diff --git a/gnu/dist/texinfo/doc/macro.texi b/gnu/dist/texinfo/doc/macro.texi deleted file mode 100644 index 8a3fe802392e..000000000000 --- a/gnu/dist/texinfo/doc/macro.texi +++ /dev/null @@ -1,177 +0,0 @@ -@c This file is included in makeinfo.texi. -@c -@ifinfo -@comment Here are some useful examples of the macro facility. - -@c Simply insert the right version of the texinfo name. -@macro texinfo{} -TeXinfo -@end macro - -@macro dfn{text} -@dfn{\text\} -@cpindex \text\ -@end macro - -@c Define a macro which expands to a pretty version of the name of the -@c Makeinfo program. -@macro makeinfo{} -@code{Makeinfo} -@end macro - -@c Define a macro which is used to define other macros. This one makes -@c a macro which creates a node and gives it a sectioning command. Note -@c that the created macro uses the original definition within the -@c expansion text. This takes advantage of the non-recursion feature of -@c macro execution. -@macro node_define{orig-name} -@macro \orig-name\{title} -@node \title\ -@\orig-name\ \title\ -@end macro -@end macro - -@c Now actually define a new set of sectioning commands. -@node_define {chapter} -@node_define {section} -@node_define {subsection} -@end ifinfo - -@chapter The Macro Facility - -This chapter describes the new macro facility. - -A @dfn{macro} is a command that you define in terms of other commands. -It doesn't exist as a @texinfo{} command until you define it as part of -the input file to @makeinfo{}. Once the command exists, it behaves much -as any other @texinfo{} command. Macros are a useful way to ease the -details and tedium of writing a `correct' info file. The following -sections explain how to write and invoke macros. - -@menu -* How to Use Macros in @texinfo{}:: - How to use the macro facility. - -* Using Macros Recursively:: - How to write a macro which does (or doesn't) recurse. - -* Using @texinfo{} Macros As Arguments:: - Passing a macro as an argument. -@end menu - -@section How to Use Macros in @texinfo{} - -Using macros in @texinfo{} is easy. First you define the macro. After -that, the macro command is available as a normal @texinfo{} command. -Here is what a definition looks like: - -@example -@@macro @var{name}@{@var{arg1}, @var{@dots{}} @var{argn}@} -@var{@texinfo{} commands@dots{}} -@@end macro -@end example - -The arguments that you specify that the macro takes are expanded with -the actual parameters used when calling the macro if they are seen -surrounded by backslashes. For example, here is a definition of -@code{@@codeitem}, a macro which can be used wherever @code{@@item} can -be used, but which surrounds its argument with @code{@@code@{@dots{}@}}. - -@example -@@macro codeitem@{item@} -@@item @@code@{\item\@} -@@end macro -@end example - -When the macro is expanded, all of the text between the @code{@@macro} -and @code{@@end macro} is inserted into the document at the expansion -point, with the actual parameters substituted for the named parameters. -So, a call to the above macro might look like: - -@example -@@codeitem@{Foo@} -@end example - -and @makeinfo{} would execute the following code: - -@example -@@item @@code@{Foo@} -@end example - -A special case is made for macros which only take a single argument, and -which are invoked without any brace characters (i.e., -@samp{@{}@dots{}@samp{@}}) surrounding an argument; the rest of the line -is supplied as is as the sole argument to the macro. This special case -allows one to redefine some standard @texinfo{} commands without -modifying the input file. Along with the non-recursive action of macro -invocation, one can easily redefine the sectioning commands to also -provide index entries: - -@example -@@macro chapter@{name@} -@@chapter \name\ -@@findex \name\ -@@end macro -@end example - -Thus, the text: - -@example -@@chapter strlen -@end example - -will expand to: - -@example -@@chapter strlen -@@findex strlen -@end example - -@section Using Macros Recursively - -Normally, while a particular macro is executing, any call to that macro -will be seen as a call to a builtin @texinfo{} command. This allows one -to redefine a builtin @texinfo{} command as a macro, and then use that -command within the definition of the macro itself. For example, one -might wish to make sure that whereever a term was defined with -@code{@@dfn@{@dots{}@}}, the location of the definition would appear -in the concept index for the manual. Here is a macro which redefines -@code{@@dfn} to do just that: - -@example -@@macro dfn@{text@} -@@dfn@{\text\@} -@@cpindex \text\ -@@end macro -@end example - -Note that we used the builtin @texinfo{} command @code{@@dfn} within our -overriding macro definition. - -This behaviour itself can be overridden for macro execution by writing a -special @dfn{macro control command} in the definition of the macro. The -command is considered special because it doesn't affect the output text -directly, rather, it affects the way in which the macro is defined. One -such special command is @code{@@allow-recursion}. - -@example -@@macro silly@{arg@} -@@allow-recursion -\arg\ -@@end macro -@end example - -Now @code{@@silly} is a macro that can be used within a call to itself: - -@example -This text @@silly@{@@silly@{some text@}@} is ``some text''. -@end example - -@section Using @texinfo{} Macros As Arguments - -@printindex cp -How to use @texinfo{} macros as arguments to other @texinfo{} macros. - -@bye - - diff --git a/gnu/dist/texinfo/doc/stamp-vti.1 b/gnu/dist/texinfo/doc/stamp-vti.1 deleted file mode 100644 index 6a12e3065597..000000000000 --- a/gnu/dist/texinfo/doc/stamp-vti.1 +++ /dev/null @@ -1,3 +0,0 @@ -@set UPDATED 22 March 1999 -@set EDITION 3.12g -@set VERSION 3.12g diff --git a/gnu/dist/texinfo/doc/userdoc.texi b/gnu/dist/texinfo/doc/userdoc.texi deleted file mode 100644 index cee6b084efab..000000000000 --- a/gnu/dist/texinfo/doc/userdoc.texi +++ /dev/null @@ -1,1270 +0,0 @@ -@c This file is meant to be included in any arbitrary piece of -@c documentation that wishes to describe the info program. Some day -@c info-stnd.texi should probably use this file instead of duplicating -@c its contents. -@c -@c This file documents the use of the standalone GNU Info program, -@c versions 2.7 and later. - -@ifclear InfoProgVer -@set InfoProgVer 2.11 -@end ifclear -@synindex vr cp -@synindex fn cp -@synindex ky cp - -@heading What is Info? - -This text documents the use of the GNU Info program, version -@value{InfoProgVer}. - -@dfn{Info} is a program which is used to view info files on an ASCII -terminal. @dfn{info files} are the result of processing texinfo files -with the program @code{makeinfo} or with the Emacs command @code{M-x -texinfo-format-buffer}. Finally, @dfn{texinfo} is a documentation -language which allows a printed manual and online documentation (an info -file) to be produced from a single source file. - -@menu -* Options:: Options you can pass on the command line. -* Cursor Commands:: Commands which move the cursor within a node. -* Scrolling Commands:: Commands for moving the node around in a window. -* Node Commands:: Commands for selecting a new node. -* Searching Commands:: Commands for searching an info file. -* Xref Commands:: Commands for selecting cross references. -* Window Commands:: Commands which manipulate multiple windows. -* Printing Nodes:: How to print out the contents of a node. -* Miscellaneous Commands:: A few commands that defy categories. -* Variables:: How to change the default behaviour of Info. -@ifset NOTSET -* Info for Sys Admins:: How to setup Info. Using special options. -@end ifset -@ifset STANDALONE -* GNU Info Global Index:: Global index containing keystrokes, command names, - variable names, and general concepts. -@end ifset -@end menu - -@node Options -@chapter Command Line Options -@cindex command line options -@cindex arguments, command line - -GNU Info accepts several options to control the initial node being -viewed, and to specify which directories to search for info files. Here -is a template showing an invocation of GNU Info from the shell: - -@example -info [--@var{option-name} @var{option-value}] @var{menu-item}@dots{} -@end example - -The following @var{option-names} are available when invoking Info from -the shell: - -@table @code -@cindex directory path -@item --directory @var{directory-path} -@itemx -d @var{directory-path} -Adds @var{directory-path} to the list of directory paths searched when -Info needs to find a file. You may issue @code{--directory} multiple -times; once for each directory which contains info files. -Alternatively, you may specify a value for the environment variable -@code{INFOPATH}; if @code{--directory} is not given, the value of -@code{INFOPATH} is used. The value of @code{INFOPATH} is a colon -separated list of directory names. If you do not supply -@code{INFOPATH} or @code{--directory-path} a default path is used. - -@item --file @var{filename} -@itemx -f @var{filename} -@cindex info file, selecting -Specifies a particular info file to visit. Instead of visiting the file -@code{dir}, Info will start with @code{(@var{filename})Top} as the first -file and node. - -@item --node @var{nodename} -@itemx -n @var{nodename} -@cindex node, selecting -Specifies a particular node to visit in the initial file loaded. This -is especially useful in conjunction with @code{--file}@footnote{Of -course, you can specify both the file and node in a @code{--node} -command; but don't forget to escape the open and close parentheses from -the shell as in: @code{info --node '(emacs)Buffers'}}. You may specify -@code{--node} multiple times; for an interactive Info, each -@var{nodename} is visited in its own window, for a non-interactive Info -(such as when @code{--output} is given) each @var{nodename} is processed -sequentially. - -@item --output @var{filename} -@itemx -o @var{filename} -@cindex file, outputting to -@cindex outputting to a file -Specify @var{filename} as the name of a file to output to. Each node -that Info visits will be output to @var{filename} instead of -interactively viewed. A value of @code{-} for @var{filename} specifies -the standard output. - -@item --subnodes -@cindex @code{--subnodes}, command line option -This option only has meaning when given in conjunction with -@code{--output}. It means to recursively output the nodes appearing in -the menus of each node being output. Menu items which resolve to -external info files are not output, and neither are menu items which are -members of an index. Each node is only output once. - -@item --help -@itemx -h -Produces a relatively brief description of the available Info options. - -@item --version -@cindex version information -Prints the version information of Info and exits. - -@item @var{menu-item} -@cindex menu, following -Remaining arguments to Info are treated as the names of menu items. The -first argument would be a menu item in the initial node visited, while -the second argument would be a menu item in the first argument's node. -You can easily move to the node of your choice by specifying the menu -names which describe the path to that node. For example, - -@example -info emacs buffers -@end example - -first selects the menu item @samp{Emacs} in the node @samp{(dir)Top}, -and then selects the menu item @samp{Buffers} in the node -@samp{(emacs)Top}. - -@end table - -@node Cursor Commands -@chapter Moving the Cursor -@cindex cursor, moving -Many people find that reading screens of text page by page is made -easier when one is able to indicate particular pieces of text with some -kind of pointing device. Since this is the case, GNU Info (both the -Emacs and standalone versions) have several commands which allow you to -move the cursor about the screen. The notation used in this manual to -describe keystrokes is identical to the notation used within the Emacs -manual, and the GNU Readline manual. @xref{Characters, , Character -Conventions, emacs, the GNU Emacs Manual}, if you are unfamilar with the -notation. - -The following table lists the basic cursor movement commands in Info. -Each entry consists of the key sequence you should type to execute the -cursor movement, the @code{M-x}@footnote{@code{M-x} is also a command; it -invokes @code{execute-extended-command}. @xref{M-x, , Executing an -extended command, emacs, the GNU Emacs Manual}, for more detailed -information.} command name (displayed in parentheses), and a short -description of what the command does. All of the cursor motion commands -can take an @dfn{numeric} argument (@pxref{Miscellaneous Commands, -@code{universal-argument}}), to find out how to supply them. With a -numeric argument, the motion commands are simply executed that -many times; for example, a numeric argument of 4 given to -@code{next-line} causes the cursor to move down 4 lines. With a -negative numeric argument, the motion is reversed; an argument of -4 -given to the @code{next-line} command would cause the cursor to move -@emph{up} 4 lines. - -@table @asis -@item @code{C-n} (@code{next-line}) -@kindex C-n -@findex next-line -Moves the cursor down to the next line. - -@item @code{C-p} (@code{prev-line}) -@kindex C-p -@findex prev-line -Move the cursor up to the previous line. - -@item @code{C-a} (@code{beginning-of-line}) -@kindex C-a, in Info windows -@findex beginning-of-line -Move the cursor to the start of the current line. - -@item @code{C-e} (@code{end-of-line}) -@kindex C-e, in Info windows -@findex end-of-line -Moves the cursor to the end of the current line. - -@item @code{C-f} (@code{forward-char}) -@kindex C-f, in Info windows -@findex forward-char -Move the cursor forward a character. - -@item @code{C-b} (@code{backward-char}) -@kindex C-b, in Info windows -@findex backward-char -Move the cursor backward a character. - -@item @code{M-f} (@code{forward-word}) -@kindex M-f, in Info windows -@findex forward-word -Moves the cursor forward a word. - -@item @code{M-b} (@code{backward-word}) -@kindex M-b, in Info winows -@findex backward-word -Moves the cursor backward a word. - -@item @code{M-<} (@code{beginning-of-node}) -@itemx @code{b} -@kindex b, in Info winows -@kindex M-< -@findex beginning-of-node -Moves the cursor to the start of the current node. - -@item @code{M->} (@code{end-of-node}) -@kindex M-> -@findex end-of-node -Moves the cursor to the end of the current node. - -@item @code{M-r} (@code{move-to-window-line}) -@kindex M-r -@findex move-to-window-line -Moves the cursor to a specific line of the window. Without a numeric -argument, @code{M-r} moves the cursor to the start of the line in the -center of the window. With a numeric argument of @var{n}, @code{M-r} -moves the cursor to the start of the @var{n}th line in the window. -@end table - -@node Scrolling Commands -@chapter Moving Text Within a Window -@cindex scrolling - -Sometimes you are looking at a screenful of text, and only part of the -current paragraph you are reading is visible on the screen. The -commands detailed in this section are used to shift which part of the -current node is visible on the screen. - -@table @asis -@item @code{SPC} (@code{scroll-forward}) -@itemx @code{C-v} -@kindex SPC, in Info windows -@kindex C-v -@findex scroll-forward -Shift the text in this window up. That is, show more of the node which -is currently below the bottom of the window. With a numeric argument, -show that many more lines at the bottom of the window; a numeric -argument of 4 would shift all of the text in the window up 4 lines -(discarding the top 4 lines), and show you four new lines at the bottom -of the window. Without a numeric argument, @key{SPC} takes the bottom -two lines of the window and places them at the top of the window, -redisplaying almost a completely new screenful of lines. - -@item @code{DEL} (@code{scroll-backward}) -@itemx @code{M-v} -@kindex DEL, in Info windows -@kindex M-v -@findex scroll-backward -Shift the text in this window down. The inverse of -@code{scroll-forward}. - -@end table - -@cindex scrolling through node structure -The @code{scroll-forward} and @code{scroll-backward} commands can also -move forward and backward through the node structure of the file. If -you press @key{SPC} while viewing the end of a node, or @key{DEL} while -viewing the beginning of a node, what happens is controlled by the -variable @code{scroll-behaviour}. @xref{Variables, -@code{scroll-behaviour}}, for more information. - -@table @asis -@item @code{C-l} (@code{redraw-display}) -@kindex C-l -@findex redraw-display -Redraw the display from scratch, or shift the line containing the cursor -to a specified location. With no numeric argument, @samp{C-l} clears -the screen, and then redraws its entire contents. Given a numeric -argument of @var{n}, the line containing the cursor is shifted so that -it is on the @var{n}th line of the window. - -@item @code{C-x w} (@code{toggle-wrap}) -@kindex C-w -@findex toggle-wrap -Toggles the state of line wrapping in the current window. Normally, -lines which are longer than the screen width @dfn{wrap}, i.e., they are -continued on the next line. Lines which wrap have a @samp{\} appearing -in the rightmost column of the screen. You can cause such lines to be -terminated at the rightmost column by changing the state of line -wrapping in the window with @code{C-x w}. When a line which needs more -space than one screen width to display is displayed, a @samp{$} appears -in the rightmost column of the screen, and the remainder of the line is -invisible. -@end table - -@node Node Commands -@chapter Selecting a New Node -@cindex nodes, selection of - -This section details the numerous Info commands which select a new node -to view in the current window. - -The most basic node commands are @samp{n}, @samp{p}, @samp{u}, and -@samp{l}. - -When you are viewing a node, the top line of the node contains some Info -@dfn{pointers} which describe where the next, previous, and up nodes -are. Info uses this line to move about the node structure of the file -when you use the following commands: - -@table @asis -@item @code{n} (@code{next-node}) -@kindex n -@findex next-node -Selects the `Next' node. - -@item @code{p} (@code{prev-node}) -@kindex p -@findex prev-node -Selects the `Prev' node. - -@item @code{u} (@code{up-node}) -@kindex u -@findex up-node -Selects the `Up' node. -@end table - -You can easily select a node that you have already viewed in this window -by using the @samp{l} command -- this name stands for "last", and -actually moves through the list of already visited nodes for this -window. @samp{l} with a negative numeric argument moves forward through -the history of nodes for this window, so you can quickly step between -two adjacent (in viewing history) nodes. - -@table @asis -@item @code{l} (@code{history-node}) -@kindex l -@findex history-node -Selects the most recently selected node in this window. -@end table - -Two additional commands make it easy to select the most commonly -selected nodes; they are @samp{t} and @samp{d}. - -@table @asis -@item @code{t} (@code{top-node}) -@kindex t -@findex top-node -Selects the node @samp{Top} in the current info file. - -@item @code{d} (@code{dir-node}) -@kindex d -@findex dir-node -Selects the directory node (i.e., the node @samp{(dir)}). -@end table - -Here are some other commands which immediately result in the selection -of a different node in the current window: - -@table @asis -@item @code{<} (@code{first-node}) -@kindex < -@findex first-node -Selects the first node which appears in this file. This node is most -often @samp{Top}, but it doesn't have to be. - -@item @code{>} (@code{last-node}) -@kindex > -@findex last-node -Selects the last node which appears in this file. - -@item @code{]} (@code{global-next-node}) -@kindex ] -@findex global-next-node -Moves forward or down through node structure. If the node that you are -currently viewing has a @samp{Next} pointer, that node is selected. -Otherwise, if this node has a menu, the first menu item is selected. If -there is no @samp{Next} and no menu, the same process is tried with the -@samp{Up} node of this node. - -@item @code{[} (@code{global-prev-node}) -@kindex [ -@findex global-prev-node -Moves backward or up through node structure. If the node that you are -currently viewing has a @samp{Prev} pointer, that node is selected. -Otherwise, if the node has an @samp{Up} pointer, that node is selected, -and if it has a menu, the last item in the menu is selected. -@end table - -You can get the same behaviour as @code{global-next-node} and -@code{global-prev-node} while simply scrolling through the file with -@key{SPC} and @key{DEL}; @xref{Variables, @code{scroll-behaviour}}, for -more information. - -@table @asis -@item @code{g} (@code{goto-node}) -@kindex g -@findex goto-node -Reads the name of a node and selects it. No completion is done while -reading the node name, since the desired node may reside in a separate -file. The node must be typed exactly as it appears in the info file. A -file name may be included as with any node specification, for example - -@example -@code{g(emacs)Buffers} -@end example - -finds the node @samp{Buffers} in the info file @file{emacs}. - -@item @code{C-x k} (@code{kill-node}) -@kindex C-x k -@findex kill-node -Kills a node. The node name is prompted for in the echo area, with a -default of the current node. @dfn{Killing} a node means that Info tries -hard to forget about it, removing it from the list of history nodes kept -for the window where that node is found. Another node is selected in -the window which contained the killed node. - -@item @code{C-x C-f} (@code{view-file}) -@kindex C-x C-f -@findex view-file -Reads the name of a file and selects the entire file. The command -@example -@code{C-x C-f @var{filename}} -@end example -is equivalent to typing -@example -@code{g(@var{filename})*} -@end example - -@item @code{C-x C-b} (@code{list-visited-nodes}) -@kindex C-x C-b -@findex list-visited-nodes -Makes a window containing a menu of all of the currently visited nodes. -This window becomes the selected window, and you may use the standard -Info commands within it. - -@item @code{C-x b} (@code{select-visited-node}) -@kindex C-x b -@findex select-visited-node -Selects a node which has been previously visited in a visible window. -This is similar to @samp{C-x C-b} followed by @samp{m}, but no window is -created. -@end table - -@node Searching Commands -@chapter Searching an Info File -@cindex searching - -GNU Info allows you to search for a sequence of characters throughout an -entire info file, search through the indices of an info file, or find -areas within an info file which discuss a particular topic. - -@table @asis -@item @code{s} (@code{search}) -@kindex s -@findex search -Reads a string in the echo area and searches for it. - -@item @code{C-s} (@code{isearch-forward}) -@kindex C-s -@findex isearch-forward -Interactively searches forward through the info file for a string as you -type it. - -@item @code{C-r} (@code{isearch-backward}) -@kindex C-r -@findex isearch-backward -Interactively searches backward through the info file for a string as -you type it. - -@item @code{i} (@code{index-search}) -@kindex i -@findex index-search -Looks up a string in the indices for this info file, and selects a node -where the found index entry points to. - -@item @code{,} (@code{next-index-match}) -@kindex , -@findex next-index-match -Moves to the node containing the next matching index item from the last -@samp{i} command. -@end table - -The most basic searching command is @samp{s} (@code{search}). The -@samp{s} command prompts you for a string in the echo area, and then -searches the remainder of the info file for an ocurrence of that string. -If the string is found, the node containing it is selected, and the -cursor is left positioned at the start of the found string. Subsequent -@samp{s} commands show you the default search string within @samp{[} and -@samp{]}; pressing @key{RET} instead of typing a new string will use the -default search string. - -@dfn{Incremental searching} is similar to basic searching, but the -string is looked up while you are typing it, instead of waiting until -the entire search string has been specified. - -@node Xref Commands -@chapter Selecting Cross References - -We have already discussed the @samp{Next}, @samp{Prev}, and @samp{Up} -pointers which appear at the top of a node. In addition to these -pointers, a node may contain other pointers which refer you to a -different node, perhaps in another info file. Such pointers are called -@dfn{cross references}, or @dfn{xrefs} for short. - -@menu -* Parts of an Xref:: What a cross reference is made of. -* Selecting Xrefs:: Commands for selecting menu or note items. -@end menu - -@node Parts of an Xref -@section Parts of an Xref - -Cross references have two major parts: the first part is called the -@dfn{label}; it is the name that you can use to refer to the cross -reference, and the second is the @dfn{target}; it is the full name of -the node that the cross reference points to. - -The target is separated from the label by a colon @samp{:}; first the -label appears, and then the target. For example, in the sample menu -cross reference below, the single colon separates the label from the -target. - -@example -* Foo Label: Foo Target. More information about Foo. -@end example - -Note the @samp{.} which ends the name of the target. The @samp{.} is -not part of the target; it serves only to let Info know where the target -name ends. - -A shorthand way of specifying references allows two adjacent colons to -stand for a target name which is the same as the label name: - -@example -* Foo Commands:: Commands pertaining to Foo. -@end example - -In the above example, the name of the target is the same as the name of -the label, in this case @code{Foo Commands}. - -You will normally see two types of cross references while viewing nodes: -@dfn{menu} references, and @dfn{note} references. Menu references -appear within a node's menu; they begin with a @samp{*} at the beginning -of a line, and continue with a label, a target, and a comment which -describes what the contents of the node pointed to contains. - -Note references appear within the body of the node text; they begin with -@code{*Note}, and continue with a label and a target. - -Like @samp{Next}, @samp{Prev} and @samp{Up} pointers, cross references -can point to any valid node. They are used to refer you to a place -where more detailed information can be found on a particular subject. -Here is a cross reference which points to a node within the Texinfo -documentation: @xref{xref, , Writing an Xref, texinfo, the Texinfo -Manual}, for more information on creating your own texinfo cross -references. - -@node Selecting Xrefs -@section Selecting Xrefs - -The following table lists the Info commands which operate on menu items. - -@table @asis -@item @code{1} (@code{menu-digit}) -@itemx @code{2} @dots{} @code{9} -@cindex 1 @dots{} 9, in Info windows -@kindex 1 @dots{} 9, in Info windows -@findex menu-digit -Within an Info window, pressing a single digit, (such as @samp{1}), -selects that menu item, and places its node in the current window. -For convenience, there is one exception; pressing @samp{0} selects the -@emph{last} item in the node's menu. - -@item @code{0} (@code{last-menu-item}) -@kindex 0, in Info windows -@findex last-menu-item -Select the last item in the current node's menu. - -@item @code{m} (@code{menu-item}) -@kindex m -@findex menu-item -Reads the name of a menu item in the echo area and selects its node. -Completion is available while reading the menu label. - -@item @code{M-x find-menu} -@findex find-menu -Moves the cursor to the start of this node's menu. -@end table - -This table lists the Info commands which operate on note cross references. - -@table @asis -@item @code{f} (@code{xref-item}) -@itemx @code{r} -@kindex f -@kindex r -@findex xref-item -Reads the name of a note cross reference in the echo area and selects -its node. Completion is available while reading the cross reference -label. -@end table - -Finally, the next few commands operate on menu or note references alike: - -@table @asis -@item @code{TAB} (@code{move-to-next-xref}) -@kindex TAB, in Info windows -@findex move-to-next-xref -Moves the cursor to the start of the next nearest menu item or note -reference in this node. You can then use @key{RET} -(@code{select-reference-this-line} to select the menu or note reference. - -@item @code{M-TAB} (@code{move-to-prev-xref}) -@kindex M-TAB, in Info windows -@findex move-to-prev-xref -Moves the cursor the start of the nearest previous menu item or note -reference in this node. - -@item @code{RET} (@code{select-reference-this-line}) -@kindex RET, in Info windows -@findex select-reference-this-line -Selects the menu item or note reference appearing on this line. -@end table - -@node Window Commands -@chapter Manipulating Multiple Windows -@cindex windows, manipulating - -A @dfn{window} is a place to show the text of a node. Windows have a -view area where the text of the node is displayed, and an associated -@dfn{mode line}, which briefly describes the node being viewed. - -GNU Info supports multiple windows appearing in a single screen; each -window is separated from the next by its modeline. At any time, there -is only one @dfn{active} window, that is, the window in which the cursor -appears. There are commands available for creating windows, changing -the size of windows, selecting which window is active, and for deleting -windows. - -@menu -* The Mode Line:: What appears in the mode line? -* Basic Windows:: Manipulating windows in Info. -* The Echo Area:: Used for displaying errors and reading input. -@end menu - -@node The Mode Line -@section The Mode Line - -A @dfn{mode line} is a line of inverse video which appears at the bottom -of an info window. It describes the contents of the window just above -it; this information includes the name of the file and node appearing in -that window, the number of screen lines it takes to display the node, -and the percentage of text that is above the top of the window. It can -also tell you if the indirect tags table for this info file needs to be -updated, and whether or not the info file was compressed when stored on -disk. - -Here is a sample mode line for a window containing an uncompressed file -named @file{dir}, showing the node @samp{Top}. - -@example ------Info: (dir)Top, 40 lines --Top--------------------------------------- - ^^ ^ ^^^ ^^ - (file)Node #lines where -@end example - -When a node comes from a file which is compressed on disk, this is -indicated in the mode line with two small @samp{z}'s. In addition, if -the info file containing the node has been split into subfiles, the name -of the subfile containing the node appears in the modeline as well: - -@example ---zz-Info: (emacs)Top, 291 lines --Top-- Subfile: emacs-1.Z--------------- -@end example - -When Info makes a node internally, such that there is no corresponding -info file on disk, the name of the node is surrounded by asterisks -(@samp{*}). The name itself tells you what the contents of the window -are; the sample mode line below shows an internally constructed node -showing possible completions: - -@example ------Info: *Completions*, 7 lines --All----------------------------------- -@end example - -@node Basic Windows -@section Window Commands - -It can be convenient to view more than one node at a time. To allow -this, Info can display more than one @dfn{window}. Each window has its -own mode line (@pxref{The Mode Line}) and history of nodes viewed in that -window (@pxref{Node Commands, , @code{history-node}}). - -@table @asis -@item @code{C-x o} (@code{next-window}) -@cindex windows, selecting -@kindex C-x o -@findex next-window -Selects the next window on the screen. Note that the echo area can only be -selected if it is already in use, and you have left it temporarily. -Normally, @samp{C-x o} simply moves the cursor into the next window on -the screen, or if you are already within the last window, into the first -window on the screen. Given a numeric argument, @samp{C-x o} moves over -that many windows. A negative argument causes @samp{C-x o} to select -the previous window on the screen. - -@item @code{M-x prev-window} -@findex prev-window -Selects the previous window on the screen. This is identical to -@samp{C-x o} with a negative argument. - -@item @code{C-x 2} (@code{split-window}) -@cindex windows, creating -@kindex C-x 2 -@findex split-window -Splits the current window into two windows, both showing the same node. -Each window is one half the size of the original window, and the cursor -remains in the original window. The variable @code{automatic-tiling} -can cause all of the windows on the screen to be resized for you -automatically, please @pxref{Variables, , automatic-tiling} for more -information. - -@item @code{C-x 0} (@code{delete-window}) -@cindex windows, deleting -@kindex C-x 0 -@findex delete-window -Deletes the current window from the screen. If you have made too many -windows and your screen appears cluttered, this is the way to get rid of -some of them. - -@item @code{C-x 1} (@code{keep-one-window}) -@kindex C-x 1 -@findex keep-one-window -Deletes all of the windows excepting the current one. - -@item @code{ESC C-v} (@code{scroll-other-window}) -@kindex ESC C-v, in Info windows -@findex scroll-other-window -Scrolls the other window, in the same fashion that @samp{C-v} might -scroll the current window. Given a negative argument, the "other" -window is scrolled backward. - -@item @code{C-x ^} (@code{grow-window}) -@kindex C-x ^ -@findex grow-window -Grows (or shrinks) the current window. Given a numeric argument, grows -the current window that many lines; with a negative numeric argument, -the window is shrunk instead. - -@item @code{C-x t} (@code{tile-windows}) -@cindex tiling -@kindex C-x t -@findex tile-windows -Divides the available screen space among all of the visible windows. -Each window is given an equal portion of the screen in which to display -its contents. The variable @code{automatic-tiling} can cause -@code{tile-windows} to be called when a window is created or deleted. -@xref{Variables, , @code{automatic-tiling}}. -@end table - -@node The Echo Area -@section The Echo Area -@cindex echo area - -The @dfn{echo area} is a one line window which appears at the bottom of -the screen. It is used to display informative or error messages, and to -read lines of input from you when that is necessary. Almost all of the -commands available in the echo area are identical to their Emacs -counterparts, so please refer to that documentation for greater depth of -discussion on the concepts of editing a line of text. The following -table briefly lists the commands that are available while input is being -read in the echo area: - -@table @asis -@item @code{C-f} (@code{echo-area-forward}) -@kindex C-f, in the echo area -@findex echo-area-forward -Moves forward a character. - -@item @code{C-b} (@code{echo-area-backward}) -@kindex C-b, in the echo area -@findex echo-area-backward -Moves backward a character. - -@item @code{C-a} (@code{echo-area-beg-of-line}) -@kindex C-a, in the echo area -@findex echo-area-beg-of-line -Moves to the start of the input line. - -@item @code{C-e} (@code{echo-area-end-of-line}) -@kindex C-e, in the echo area -@findex echo-area-end-of-line -Moves to the end of the input line. - -@item @code{M-f} (@code{echo-area-forward-word}) -@kindex M-f, in the echo area -@findex echo-area-forward-word -Moves forward a word. - -@item @code{M-b} (@code{echo-area-backward-word}) -@kindex M-b, in the echo area -@findex echo-area-backward-word -Moves backward a word. - -@item @code{C-d} (@code{echo-area-delete}) -@kindex C-d, in the echo area -@findex echo-area-delete -Deletes the character under the cursor. - -@item @code{DEL} (@code{echo-area-rubout}) -@kindex DEL, in the echo area -@findex echo-area-rubout -Deletes the character behind the cursor. - -@item @code{C-g} (@code{echo-area-abort}) -@kindex C-g, in the echo area -@findex echo-area-abort -Cancels or quits the current operation. If completion is being read, -@samp{C-g} discards the text of the input line which does not match any -completion. If the input line is empty, @samp{C-g} aborts the calling -function. - -@item @code{RET} (@code{echo-area-newline}) -@kindex RET, in the echo area -@findex echo-area-newline -Accepts (or forces completion of) the current input line. - -@item @code{C-q} (@code{echo-area-quoted-insert}) -@kindex C-q, in the echo area -@findex echo-area-quoted-insert -Inserts the next character verbatim. This is how you can insert control -characters into a search string, for example. - -@item @var{printing character} (@code{echo-area-insert}) -@kindex printing characters, in the echo area -@findex echo-area-insert -Inserts the character. - -@item @code{M-TAB} (@code{echo-area-tab-insert}) -@kindex M-TAB, in the echo area -@findex echo-area-tab-insert -Inserts a TAB character. - -@item @code{C-t} (@code{echo-area-transpose-chars}) -@kindex C-t, in the echo area -@findex echo-area-transpose-chars -Transposes the characters at the cursor. -@end table - -The next group of commands deal with @dfn{killing}, and @dfn{yanking} -text. For an in depth discussion of killing and yanking, -@pxref{Killing, , Killing and Deleting, emacs, the GNU Emacs Manual} - -@table @asis -@item @code{M-d} (@code{echo-area-kill-word}) -@kindex M-d, in the echo area -@findex echo-area-kill-word -Kills the word following the cursor. - -@item @code{M-DEL} (@code{echo-area-backward-kill-word}) -@kindex M-DEL, in the echo area -@findex echo-area-backward-kill-word -Kills the word preceding the cursor. - -@item @code{C-k} (@code{echo-area-kill-line}) -@kindex C-k, in the echo area -@findex echo-area-kill-line -Kills the text from the cursor to the end of the line. - -@item @code{C-x DEL} (@code{echo-area-backward-kill-line}) -@kindex C-x DEL, in the echo area -@findex echo-area-backward-kill-line -Kills the text from the cursor to the beginning of the line. - -@item @code{C-y} (@code{echo-area-yank}) -@kindex C-y, in the echo area -@findex echo-area-yank -Yanks back the contents of the last kill. - -@item @code{M-y} (@code{echo-area-yank-pop}) -@kindex M-y, in the echo area -@findex echo-area-yank-pop -Yanks back a previous kill, removing the last yanked text first. -@end table - -Sometimes when reading input in the echo area, the command that needed -input will only accept one of a list of several choices. The choices -represent the @dfn{possible completions}, and you must respond with one -of them. Since there are a limited number of responses you can make, -Info allows you to abbreviate what you type, only typing as much of the -response as is necessary to uniquely identify it. In addition, you can -request Info to fill in as much of the response as is possible; this -is called @dfn{completion}. - -The following commands are available when completing in the echo area: - -@table @asis -@item @code{TAB} (@code{echo-area-complete}) -@itemx @code{SPC} -@kindex TAB, in the echo area -@kindex SPC, in the echo area -@findex echo-area-complete -Inserts as much of a completion as is possible. - -@item @code{?} (@code{echo-area-possible-completions}) -@kindex ?, in the echo area -@findex echo-area-possible-completions -Displays a window containing a list of the possible completions of what -you have typed so far. For example, if the available choices are: -@example -bar -foliate -food -forget -@end example -and you have typed an @samp{f}, followed by @samp{?}, the possible -completions would contain: -@example -foliate -food -forget -@end example -i.e., all of the choices which begin with @samp{f}. Pressing @key{SPC} -or @key{TAB} would result in @samp{fo} appearing in the echo area, since -all of the choices which begin with @samp{f} continue with @samp{o}. -Now, typing @samp{l} followed by @samp{TAB} results in @samp{foliate} -appearing in the echo area, since that is the only choice which begins -with @samp{fol}. - -@item @code{ESC C-v} (@code{echo-area-scroll-completions-window}) -@kindex ESC C-v, in the echo area -@findex echo-area-scroll-completions-window -Scrolls the completions window, if that is visible, or the "other" -window if not. -@end table - -@node Printing Nodes -@chapter Printing Out Nodes -@cindex printing - -You may wish to print out the contents of a node as a quick reference -document for later use. Info provides you with a command for doing -this. In general, we recommend that you use @TeX{} to format the -document and print sections of it, by running @code{tex} on the texinfo -source file. - -@table @asis -@item @code{M-x print-node} -@findex print-node -@cindex INFO_PRINT_COMMAND, environment variable -Pipes the contents of the current node through the command in the -environment variable @code{INFO_PRINT_COMMAND}. If the variable doesn't -exist, the node is simply piped to @code{lpr}. -@end table - -@node Miscellaneous Commands -@chapter Miscellaneous Commands - -GNU Info contains several commands which self-document GNU Info: - -@table @asis -@item @code{M-x describe-command} -@cindex functions, describing -@cindex commands, describing -@findex describe-command -Reads the name of an Info command in the echo area and then displays a -brief description of what that command does. - -@item @code{M-x describe-key} -@cindex keys, describing -@findex describe-key -Reads a key sequence in the echo area, and then displays the name and -documentation of the Info command that the key sequence invokes. - -@item @code{M-x describe-variable} -Reads the name of a variable in the echo area and then displays a brief -description of what the variable affects. - -@item @code{M-x where-is} -@findex where-is -Reads the name of an Info command in the echo area, and then displays -a key sequence which can be typed in order to invoke that command. - -@item @code{C-h} (@code{get-help-window}) -@itemx @code{?} -@kindex C-h -@kindex ?, in Info windows -@findex get-help-window -Creates (or moves into) the window displaying @code{*Help*}, and places -a node containing a quick reference card into it. This window displays -the most concise information about GNU Info available. - -@item @code{h} (@code{get-info-help-node}) -@kindex h -@findex get-info-help-node -Tries hard to visit the node @code{(info)Help}. The info file -@file{info.texi} distributed with GNU Info contains this node. Of -course, the file must first be processed with @code{makeinfo}, and then -placed into the location of your info directory. -@end table - -Here are the commands for creating a numeric argument: - -@table @asis -@item @code{C-u} (@code{universal-argument}) -@cindex numeric arguments -@kindex C-u -@findex universal-argument -Starts (or multiplies by 4) the current numeric argument. @samp{C-u} is -a good way to give a small numeric argument to cursor movement or -scrolling commands; @samp{C-u C-v} scrolls the screen 4 lines, while -@samp{C-u C-u C-n} moves the cursor down 16 lines. - -@item @code{M-1} (@code{add-digit-to-numeric-arg}) -@itemx @code{M-2} @dots{} @code{M-9} -@kindex M-1 @dots{} M-9 -@findex add-digit-to-numeric-arg -Adds the digit value of the invoking key to the current numeric -argument. Once Info is reading a numeric argument, you may just type -the digits of the argument, without the Meta prefix. For example, you -might give @samp{C-l} a numeric argument of 32 by typing: - -@example -@kbd{C-u 3 2 C-l} -@end example -or -@example -@kbd{M-3 2 C-l} -@end example -@end table - -@samp{C-g} is used to abort the reading of a multi-character key -sequence, to cancel lengthy operations (such as multi-file searches) and -to cancel reading input in the echo area. - -@table @asis -@item @code{C-g} (@code{abort-key}) -@cindex cancelling typeahead -@cindex cancelling the current operation -@kindex C-g, in Info windows -@findex abort-key -Cancels current operation. -@end table - -The @samp{q} command of Info simply quits running Info. - -@table @asis -@item @code{q} (@code{quit}) -@cindex quitting -@kindex q -@findex quit -Exits GNU Info. -@end table - -If the operating system tells GNU Info that the screen is 60 lines tall, -and it is actually only 40 lines tall, here is a way to tell Info that -the operating system is correct. - -@table @asis -@item @code{M-x set-screen-height} -@findex set-screen-height -@cindex screen, changing the height of -Reads a height value in the echo area and sets the height of the -displayed screen to that value. -@end table - -Finally, Info provides a convenient way to display footnotes which might -be associated with the current node that you are viewing: - -@table @asis -@item @code{ESC C-f} (@code{show-footnotes}) -@kindex ESC C-f -@findex show-footnotes -@cindex footnotes, displaying -Shows the footnotes (if any) associated with the current node in another -window. You can have Info automatically display the footnotes -associated with a node when the node is selected by setting the variable -@code{automatic-footnotes}. @xref{Variables, , @code{automatic-footnotes}}. -@end table - -@node Variables -@chapter Manipulating Variables - -GNU Info contains several @dfn{variables} whose values are looked at by various -Info commands. You can change the values of these variables, and thus -change the behaviour of Info to more closely match your environment and -info file reading manner. - -@table @asis -@item @code{M-x set-variable} -@cindex variables, setting -@findex set-variable -Reads the name of a variable, and the value for it, in the echo area and -then sets the variable to that value. Completion is available when -reading the variable name; often, completion is available when reading -the value to give to the variable, but that depends on the variable -itself. If a variable does @emph{not} supply multiple choices to -complete over, it expects a numeric value. - -@item @code{M-x describe-variable} -@cindex variables, describing -@findex describe-variable -Reads the name of a variable in the echo area and then displays a brief -description of what the variable affects. -@end table - -Here is a list of the variables that you can set in Info. - -@table @code -@item automatic-footnotes -@vindex automatic-footnotes -When set to @code{On}, footnotes appear and disappear automatically. -This variable is @code{On} by default. When a node is selected, a -window containing the footnotes which appear in that node is created, -and the footnotes are displayed within the new window. The window that -Info creates to contain the footnotes is called @samp{*Footnotes*}. If -a node is selected which contains no footnotes, and a @samp{*Footnotes*} -window is on the screen, the @samp{*Footnotes*} window is deleted. -Footnote windows created in this fashion are not automatically tiled so -that they can use as little of the display as is possible. - -@item automatic-tiling -@vindex automatic-tiling -When set to @code{On}, creating or deleting a window resizes other -windows. This variable is @code{Off} by default. Normally, typing -@samp{C-x 2} divides the current window into two equal parts. When -@code{automatic-tiling} is set to @code{On}, all of the windows are -resized automatically, keeping an equal number of lines visible in each -window. There are exceptions to the automatic tiling; specifically, the -windows @samp{*Completions*} and @samp{*Footnotes*} are @emph{not} -resized through automatic tiling; they remain their original size. - -@item visible-bell -@vindex visible-bell -When set to @code{On}, GNU Info attempts to flash the screen instead of -ringing the bell. This variable is @code{Off} by default. Of course, -Info can only flash the screen if the terminal allows it; in the case -that the terminal does not allow it, the setting of this variable has no -effect. However, you can make Info perform quietly by setting the -@code{errors-ring-bell} variable to @code{Off}. - -@item errors-ring-bell -@vindex errors-ring-bell -When set to @code{On}, errors cause the bell to ring. The default -setting of this variable is @code{On}. - -@item gc-compressed-files -@vindex gc-compressed-files -When set to @code{On}, Info garbage collects files which had to be -uncompressed. The default value of this variable is @code{Off}. -Whenever a node is visited in Info, the info file containing that node -is read into core, and Info reads information about the tags and nodes -contained in that file. Once the tags information is read by Info, it -is never forgotten. However, the actual text of the nodes does not need -to remain in core unless a particular info window needs it. For -non-compressed files, the text of the nodes does not remain in core when -it is no longer in use. But de-compressing a file can be a time -consuming operation, and so Info tries hard not to do it twice. -@code{gc-compressed-files} tells Info it is okay to garbage collect the -text of the nodes of a file which was compressed on disk. - -@item show-index-match -@vindex show-index-match -When set to @code{On}, the portion of the matched search string is -highlighted in the message which explains where the matched search -string was found. The default value of this variable is @code{On}. -When Info displays the location where an index match was found, -(@pxref{Searching Commands, , @code{next-index-match}}), the portion of the -string that you had typed is highlighted by displaying it in the inverse -case from its surrounding characters. - -@item scroll-behaviour -@vindex scroll-behaviour -Controls what happens when forward scrolling is requested at the end of -a node, or when backward scrolling is requested at the beginning of a -node. The default value for this variable is @code{Continuous}. There -are three possible values for this variable: - -@table @code -@item Continuous -Tries to get the first item in this node's menu, or failing that, the -@samp{Next} node, or failing that, the @samp{Next} of the @samp{Up}. -This behaviour is identical to using the @samp{]} -(@code{global-next-node}) and @samp{[} (@code{global-prev-node}) -commands. - -@item Next Only -Only tries to get the @samp{Next} node. - -@item Page Only -Simply gives up, changing nothing. If @code{scroll-behaviour} is -@code{Page Only}, no scrolling command can change the node that is being -viewed. -@end table - -@item scroll-step -@vindex scroll-step -The number of lines to scroll when the cursor moves out of the window. -Scrolling happens automatically if the cursor has moved out of the -visible portion of the node text when it is time to display. Usually -the scrolling is done so as to put the cursor on the center line of the -current window. However, if the variable @code{scroll-step} has a -nonzero value, Info attempts to scroll the node text by that many lines; -if that is enough to bring the cursor back into the window, that is what -is done. The default value of this variable is 0, thus placing the -cursor (and the text it is attached to) in the center of the window. -Setting this variable to 1 causes a kind of "smooth scrolling" which -some people prefer. - -@item ISO-Latin -@cindex ISO Latin characters -@vindex ISO-Latin -When set to @code{On}, Info accepts and displays ISO Latin characters. -By default, Info assumes an ASCII character set. @code{ISO-Latin} tells -Info that it is running in an environment where the European standard -character set is in use, and allows you to input such characters to -Info, as well as display them. -@end table - -@c The following node and its children are currently unfinished. Please feel -@c free to finish it! - -@ifset NOTSET -@node Info for Sys Admins -@chapter Info for System Administrators - -This text describes some common ways of setting up an Info heierarchy -from scratch, and details the various options that are available when -installing Info. This text is designed for the person who is installing -GNU Info on the system; although users may find the information present -in this section interesting, none of it is vital to understanding how to -use GNU Info. - -@menu -* Setting the INFOPATH:: Where are my Info files kept? -* Editing the DIR node:: What goes in `DIR', and why? -* Storing Info files:: Alternate formats allow flexibilty in setups. -* Using `localdir':: Building DIR on the fly. -* Example setups:: Some common ways to origanize Info files. -@end menu - -@node Setting the INFOPATH -@section Setting the INFOPATH -Where are my Info files kept? - -@node Editing the DIR node -@section Editing the DIR node -What goes in `DIR', and why? - -@node Storing Info files -@section Storing Info files -Alternate formats allow flexibilty in setups. - -@node Using `localdir' -@section Using `localdir' -Building DIR on the fly. - -@node Example setups -@section Example setups -Some common ways to origanize Info files. -@end ifset - -@ifset STANDALONE -@node GNU Info Global Index -@appendix Global Index -@printindex cp -@end ifset diff --git a/gnu/dist/texinfo/info/Makefile.in b/gnu/dist/texinfo/info/Makefile.in index 684e9a9877fa..68bca7682bf0 100644 --- a/gnu/dist/texinfo/info/Makefile.in +++ b/gnu/dist/texinfo/info/Makefile.in @@ -1,6 +1,8 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated by automake 1.7.1 from Makefile.am. +# @configure_input@ -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,86 +12,151 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +@SET_MAKE@ -SHELL = @SHELL@ +# Id: Makefile.am,v 1.2 2002/09/29 19:08:10 karl Exp +# Makefile.am for texinfo/info. +# Run automake in .. to produce Makefile.in from this. +# +# This file is free software; as a special exception the author 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. srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ - top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ - +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -CATALOGS = @CATALOGS@ +host_triplet = @host@ +transform = s/ginfo/info/; @program_transform_name@ +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ +DEFS = -DINFODIR=\"$(infodir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ +GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ +INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBS = @LIBS@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ TERMLIBS = @TERMLIBS@ +TEXINFO_MAINT_FALSE = @TEXINFO_MAINT_FALSE@ +TEXINFO_MAINT_TRUE = @TEXINFO_MAINT_TRUE@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ -l = @l@ +XGETTEXT = @XGETTEXT@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ noinst_PROGRAMS = makedoc # Use `ginfo' for building to avoid confusion with the standard `info' # target. Removes the `g' in the install rule before applying any # user-specified name transformations. -bin_PROGRAMS = ginfo -transform = s/ginfo/info/; @program_transform_name@ +bin_PROGRAMS = ginfo infokey localedir = $(datadir)/locale @@ -97,363 +164,378 @@ localedir = $(datadir)/locale # 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@ - -EXTRA_DIST = README pcterm.c +LDADD = ../lib/libtxi.a @TERMLIBS@ @LIBINTL@ # 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 +BUILT_SOURCES = doc.c funs.h key.c + +EXTRA_DIST = README pcterm.c $(BUILT_SOURCES) makedoc_SOURCES = makedoc.c -ginfo_SOURCES = dir.c display.c display.h doc.h dribble.c dribble.h echo-area.c echo-area.h filesys.c filesys.h footnotes.c footnotes.h gc.c gc.h indices.c indices.h info-utils.c info-utils.h info.c info.h infodoc.c infomap.c infomap.h m-x.c man.c man.h nodemenu.c nodes.c nodes.h search.c search.h session.c session.h signals.c signals.h termdep.h terminal.c terminal.h tilde.c tilde.h variables.c variables.h window.c window.h $(BUILT_SOURCES) +ginfo_SOURCES = dir.c display.c display.h doc.h dribble.c dribble.h \ + echo-area.c echo-area.h \ + filesys.c filesys.h footnotes.c footnotes.h gc.c gc.h \ + indices.c indices.h info-utils.c info-utils.h info.c info.h infodoc.c \ + infomap.c infomap.h m-x.c man.c man.h nodemenu.c nodes.c nodes.h \ + search.c search.h session.c session.h signals.c signals.h \ + termdep.h terminal.c terminal.h tilde.c tilde.h \ + variables.c variables.h window.c window.h \ + $(BUILT_SOURCES) $(generated_sources) +infokey_SOURCES = infokey.c infokey.h key.c key.h # Files with Info commands defined that makedoc should read. -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 +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 +subdir = info mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +bin_PROGRAMS = ginfo$(EXEEXT) infokey$(EXEEXT) +noinst_PROGRAMS = makedoc$(EXEEXT) +PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -ginfo_OBJECTS = dir.o display.o dribble.o echo-area.o filesys.o \ -footnotes.o gc.o indices.o info-utils.o info.o infodoc.o infomap.o \ -m-x.o man.o nodemenu.o nodes.o search.o session.o signals.o terminal.o \ -tilde.o variables.o window.o doc.o +am__objects_1 = doc.$(OBJEXT) key.$(OBJEXT) +am_ginfo_OBJECTS = dir.$(OBJEXT) display.$(OBJEXT) dribble.$(OBJEXT) \ + echo-area.$(OBJEXT) filesys.$(OBJEXT) footnotes.$(OBJEXT) \ + gc.$(OBJEXT) indices.$(OBJEXT) info-utils.$(OBJEXT) \ + info.$(OBJEXT) infodoc.$(OBJEXT) infomap.$(OBJEXT) \ + m-x.$(OBJEXT) man.$(OBJEXT) nodemenu.$(OBJEXT) nodes.$(OBJEXT) \ + search.$(OBJEXT) session.$(OBJEXT) signals.$(OBJEXT) \ + terminal.$(OBJEXT) tilde.$(OBJEXT) variables.$(OBJEXT) \ + window.$(OBJEXT) $(am__objects_1) $(am__objects_2) +ginfo_OBJECTS = $(am_ginfo_OBJECTS) ginfo_LDADD = $(LDADD) -ginfo_DEPENDENCIES = ../lib/libtxi.a -ginfo_LDFLAGS = -makedoc_OBJECTS = makedoc.o +ginfo_DEPENDENCIES = ../lib/libtxi.a +ginfo_LDFLAGS = +am_infokey_OBJECTS = infokey.$(OBJEXT) key.$(OBJEXT) +infokey_OBJECTS = $(am_infokey_OBJECTS) +infokey_LDADD = $(LDADD) +infokey_DEPENDENCIES = ../lib/libtxi.a +infokey_LDFLAGS = +am_makedoc_OBJECTS = makedoc.$(OBJEXT) +makedoc_OBJECTS = $(am_makedoc_OBJECTS) makedoc_LDADD = $(LDADD) -makedoc_DEPENDENCIES = ../lib/libtxi.a -makedoc_LDFLAGS = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +makedoc_DEPENDENCIES = ../lib/libtxi.a +makedoc_LDFLAGS = + +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/dir.Po ./$(DEPDIR)/display.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/doc.Po ./$(DEPDIR)/dribble.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/echo-area.Po ./$(DEPDIR)/filesys.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/footnotes.Po ./$(DEPDIR)/gc.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/indices.Po ./$(DEPDIR)/info-utils.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/info.Po ./$(DEPDIR)/infodoc.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/infokey.Po ./$(DEPDIR)/infomap.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/key.Po ./$(DEPDIR)/m-x.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/makedoc.Po ./$(DEPDIR)/man.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/nodemenu.Po ./$(DEPDIR)/nodes.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/search.Po ./$(DEPDIR)/session.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/signals.Po ./$(DEPDIR)/terminal.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/tilde.Po ./$(DEPDIR)/variables.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/window.Po +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = README Makefile.am Makefile.in +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(ginfo_SOURCES) $(infokey_SOURCES) $(makedoc_SOURCES) +DIST_COMMON = README Makefile.am Makefile.in +SOURCES = $(ginfo_SOURCES) $(infokey_SOURCES) $(makedoc_SOURCES) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = gtar -GZIP_ENV = --best -SOURCES = $(ginfo_SOURCES) $(makedoc_SOURCES) -OBJECTS = $(ginfo_OBJECTS) $(makedoc_OBJECTS) - -all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps info/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu info/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ + rm -f $(DESTDIR)$(bindir)/$$f; \ done -mostlyclean-noinstPROGRAMS: +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - -distclean-noinstPROGRAMS: - -maintainer-clean-noinstPROGRAMS: - -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< +ginfo$(EXEEXT): $(ginfo_OBJECTS) $(ginfo_DEPENDENCIES) + @rm -f ginfo$(EXEEXT) + $(LINK) $(ginfo_LDFLAGS) $(ginfo_OBJECTS) $(ginfo_LDADD) $(LIBS) +infokey$(EXEEXT): $(infokey_OBJECTS) $(infokey_DEPENDENCIES) + @rm -f infokey$(EXEEXT) + $(LINK) $(infokey_LDFLAGS) $(infokey_OBJECTS) $(infokey_LDADD) $(LIBS) +makedoc$(EXEEXT): $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES) + @rm -f makedoc$(EXEEXT) + $(LINK) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS) mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: + -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c -maintainer-clean-compile: +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/display.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/doc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dribble.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo-area.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filesys.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/footnotes.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indices.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/info-utils.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/info.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infodoc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infokey.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infomap.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m-x.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/makedoc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/man.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nodemenu.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nodes.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/search.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terminal.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tilde.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/variables.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window.Po@am__quote@ -ginfo: $(ginfo_OBJECTS) $(ginfo_DEPENDENCIES) - @rm -f ginfo - $(LINK) $(ginfo_LDFLAGS) $(ginfo_OBJECTS) $(ginfo_LDADD) $(LIBS) +distclean-depend: + -rm -rf ./$(DEPDIR) -makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES) - @rm -f makedoc - $(LINK) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS) +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`; \ +@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'` +uninstall-info-am: + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = tags: TAGS -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) + mkid -fID $$unique -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + 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) + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique -mostlyclean-tags: +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique -clean-tags: +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = info +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ fi; \ done -dir.o: dir.c info.h ../lib/system.h ../config.h ../lib/getopt.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 ../lib/getopt.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 ../lib/getopt.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 ../lib/getopt.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 \ - ../lib/getopt.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 ../lib/getopt.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 \ - ../lib/getopt.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 ../lib/getopt.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 ../lib/getopt.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 \ - ../lib/getopt.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 ../lib/getopt.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 man.h -infodoc.o: infodoc.c info.h ../lib/system.h ../config.h ../lib/getopt.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 -infokey.o: infokey.c info.h ../lib/system.h ../config.h filesys.h doc.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 \ - infokey.h key.h ../lib/getopt.h -infomap.o: infomap.c info.h ../lib/system.h ../config.h ../lib/getopt.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 -key.o: key.c key.h funs.h -m-x.o: m-x.c info.h ../lib/system.h ../config.h ../lib/getopt.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 ../lib/getopt.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 ../lib/getopt.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 \ - ../lib/getopt.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 ../lib/getopt.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 ../lib/getopt.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 ../lib/getopt.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 ../lib/getopt.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 \ - ../lib/getopt.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 ../lib/getopt.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 \ - ../lib/getopt.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 ../lib/getopt.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-am: -info: info-am -dvi-am: -dvi: dvi-am check-am: all-am check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-binPROGRAMS -install-exec: install-exec-am +all-am: Makefile $(PROGRAMS) -install-data-am: +installdirs: + $(mkinstalldirs) $(DESTDIR)$(bindir) + +install: install-am +install-exec: install-exec-am install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binPROGRAMS -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) -all-redirect: all-am + +installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) - - + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \ - mostlyclean-compile mostlyclean-tags \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-binPROGRAMS clean-noinstPROGRAMS clean-compile \ - clean-tags clean-generic mostlyclean-am - clean: clean-am -distclean-am: distclean-binPROGRAMS distclean-noinstPROGRAMS \ - distclean-compile distclean-tags distclean-generic \ - clean-am +clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \ + mostlyclean-am distclean: distclean-am -maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-noinstPROGRAMS \ - maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." +distclean-am: clean-am distclean-compile distclean-depend \ + distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: maintainer-clean: maintainer-clean-am -.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ -clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile tags mostlyclean-tags distclean-tags \ -clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \ -check-am installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-depend distclean-generic \ + distclean-tags distdir dvi dvi-am info info-am install \ + install-am install-binPROGRAMS install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am -$(BUILT_SOURCES): makedoc $(cmd_sources) -# This is insufficient. We really need them not to be in the -# distribution in the first place, but it seems Automake does not -# currently allow that. +# The $(EXEEXT) should be added by Automake, but isn't. Fine. +$(BUILT_SOURCES): makedoc$(EXEEXT) $(cmd_sources) rm -f $(BUILT_SOURCES) ./makedoc $(cmd_sources) - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/gnu/dist/texinfo/info/info.c b/gnu/dist/texinfo/info/info.c index 79c5893fbb3e..45156e4ff43b 100644 --- a/gnu/dist/texinfo/info/info.c +++ b/gnu/dist/texinfo/info/info.c @@ -1,7 +1,10 @@ -/* info.c -- Display nodes of Info files in multiple windows. - $Id: info.c,v 1.5 2001/09/02 21:42:49 wiz Exp $ +/* $NetBSD: info.c,v 1.6 2003/01/17 15:25:49 wiz Exp $ */ - Copyright (C) 1993, 96, 97, 98, 99 Free Software Foundation, Inc. +/* info.c -- Display nodes of Info files in multiple windows. + Id: info.c,v 1.1 2002/08/25 23:38:38 karl Exp + + Copyright (C) 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002 + Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -76,6 +79,9 @@ int dump_subnodes = 0; /* Non-zero means make default keybindings be loosely modeled on vi(1). */ int vi_keys_p = 0; +/* Non-zero means don't remove ANSI escape sequences from man pages. */ +int raw_escapes_p = 0; + #ifdef __MSDOS__ /* Non-zero indicates that screen output should be made 'speech-friendly'. Since on MSDOS the usual behavior is to write directly to the video @@ -95,29 +101,30 @@ int speech_friendly = 0; static struct option long_options[] = { { "apropos", 1, 0, APROPOS_OPTION }, { "directory", 1, 0, 'd' }, - { "node", 1, 0, 'n' }, - { "file", 1, 0, 'f' }, - { "subnodes", 0, &dump_subnodes, 1 }, - { "output", 1, 0, 'o' }, - { "show-options", 0, 0, 'O' }, - { "usage", 0, 0, 'O' }, - { "vi-keys", 0, &vi_keys_p, 1 }, - { "help", 0, &print_help_p, 1 }, - { "version", 0, &print_version_p, 1 }, { "dribble", 1, 0, DRIBBLE_OPTION }, + { "file", 1, 0, 'f' }, + { "help", 0, &print_help_p, 1 }, + { "index-search", 1, 0, IDXSRCH_OPTION }, + { "node", 1, 0, 'n' }, + { "output", 1, 0, 'o' }, + { "raw-escapes", 0, &raw_escapes_p, 1 }, { "restore", 1, 0, RESTORE_OPTION }, + { "show-options", 0, 0, 'O' }, + { "subnodes", 0, &dump_subnodes, 1 }, + { "usage", 0, 0, 'O' }, + { "version", 0, &print_version_p, 1 }, + { "vi-keys", 0, &vi_keys_p, 1 }, #ifdef __MSDOS__ { "speech-friendly", 0, &speech_friendly, 1 }, #endif - { "index-search", 1, 0, IDXSRCH_OPTION }, {NULL, 0, NULL, 0} }; /* String describing the shorthand versions of the long options found above. */ #ifdef __MSDOS__ -static char *short_options = "d:n:f:o:Osb"; +static char *short_options = "d:n:f:o:ORsb"; #else -static char *short_options = "d:n:f:o:Os"; +static char *short_options = "d:n:f:o:ORs"; #endif /* When non-zero, the Info window system has been initialized. */ @@ -126,6 +133,7 @@ int info_windows_initialized_p = 0; /* Some "forward" declarations. */ static void info_short_help (), remember_info_program_name (); static void init_messages (); +extern void add_file_directory_to_path (); /* **************************************************************** */ @@ -208,6 +216,12 @@ main (argc, argv) goto_invocation_p = 1; break; + /* User has specified that she wants the escape sequences + in man pages to be passed thru unaltered. */ + case 'R': + raw_escapes_p = 1; + break; + /* User is specifying that she wishes to dump the subnodes of the node that she is dumping. */ case 's': @@ -215,7 +229,7 @@ main (argc, argv) break; #ifdef __MSDOS__ - /* User specifies that she wants speech-friendly output. */ + /* User wants speech-friendly output. */ case 'b': speech_friendly = 1; break; @@ -270,7 +284,7 @@ main (argc, argv) There is NO warranty. You may redistribute this software\n\ under the terms of the GNU General Public License.\n\ For more information about these matters, see the files named COPYING.\n"), - "1999"); + "2002"); xexit (0); } @@ -315,25 +329,7 @@ For more information about these matters, see the files named COPYING.\n"), /* If the user specified a particular filename, add the path of that file to the contents of INFOPATH. */ if (user_filename) - { - char *directory_name = xstrdup (user_filename); - char *temp = filename_non_directory (directory_name); - - if (temp != directory_name) - { - if (HAVE_DRIVE (directory_name) && temp == directory_name + 2) - { - /* The directory of "d:foo" is stored as "d:.", to avoid - mixing it with "d:/" when a slash is appended. */ - *temp = '.'; - temp += 2; - } - temp[-1] = 0; - info_add_path (directory_name, INFOPATH_PREPEND); - } - - free (directory_name); - } + add_file_directory_to_path (user_filename); /* If the user wants to search every known index for a given string, do that now, and report the results. */ @@ -384,13 +380,14 @@ For more information about these matters, see the files named COPYING.\n"), char *errstr, *errarg1, *errarg2; NODE *new_initial_node = info_follow_menus (initial_node, argv + optind, &errstr, &errarg1, &errarg2); + if (new_initial_node && new_initial_node != initial_node) initial_node = new_initial_node; /* If the user specified that this node should be output, then do that now. Otherwise, start the Info session with this node. Or act accordingly if the initial node was not found. */ - if (user_output_filename) + if (user_output_filename && !goto_invocation_p) { if (!errstr) dump_node_to_file (initial_node, user_output_filename, @@ -449,7 +446,13 @@ For more information about these matters, see the files named COPYING.\n"), free (program); } - info_read_and_dispatch (); + if (user_output_filename) + { + dump_node_to_file (windows->node, user_output_filename, + dump_subnodes); + } + else + info_read_and_dispatch (); /* On program exit, leave the cursor at the bottom of the window, and restore the terminal IO. */ @@ -476,6 +479,29 @@ For more information about these matters, see the files named COPYING.\n"), } } +void +add_file_directory_to_path (filename) + char *filename; +{ + char *directory_name = xstrdup (filename); + char *temp = filename_non_directory (directory_name); + + if (temp != directory_name) + { + if (HAVE_DRIVE (directory_name) && temp == directory_name + 2) + { + /* The directory of "d:foo" is stored as "d:.", to avoid + mixing it with "d:/" when a slash is appended. */ + *temp = '.'; + temp += 2; + } + temp[-1] = 0; + info_add_path (directory_name, INFOPATH_PREPEND); + } + + free (directory_name); +} + /* Error handling. */ @@ -529,25 +555,34 @@ info_error (format, arg1, arg2) static void info_short_help () { +#ifdef __MSDOS__ + static const char speech_friendly_string[] = N_("\ + -b, --speech-friendly be friendly to speech synthesizers.\n"); +#else + static const char speech_friendly_string[] = ""; +#endif + + printf (_("\ Usage: %s [OPTION]... [MENU-ITEM...]\n\ \n\ Read documentation in Info format.\n\ \n\ Options:\n\ - --apropos=SUBJECT look up SUBJECT in all indices of all manuals.\n\ - --directory=DIR add DIR to INFOPATH.\n\ - --dribble=FILENAME remember user keystrokes in FILENAME.\n\ - --file=FILENAME specify Info file to visit.\n\ - --help display this help and exit.\n\ - --index-search=STRING go to node pointed by index entry STRING.\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\ - --show-options, --usage go to command-line options node.\n\ - --subnodes recursively output menu items.\n%s\ - --vi-keys use vi-like and less-like key bindings.\n\ - --version display version information and exit.\n\ + --apropos=STRING look up STRING in all indices of all manuals.\n\ + -d, --directory=DIR add DIR to INFOPATH.\n\ + --dribble=FILENAME remember user keystrokes in FILENAME.\n\ + -f, --file=FILENAME specify Info file to visit.\n\ + -h, --help display this help and exit.\n\ + --index-search=STRING go to node pointed by index entry STRING.\n\ + -n, --node=NODENAME specify nodes in first visited Info file.\n\ + -o, --output=FILENAME output selected nodes to FILENAME.\n\ + -R, --raw-escapes don't remove ANSI escapes from man pages.\n\ + --restore=FILENAME read initial keystrokes from FILENAME.\n\ + -O, --show-options, --usage go to command-line options node.\n%s\ + --subnodes recursively output menu items.\n\ + --vi-keys use vi-like and less-like key bindings.\n\ + --version display version information and exit.\n\ \n\ The first non-option argument, if present, is the menu entry to start from;\n\ it is searched for in all `dir' files along INFOPATH.\n\ @@ -561,18 +596,13 @@ Examples:\n\ info emacs buffers start at buffers node within emacs manual\n\ info --show-options emacs start at node with emacs' command line options\n\ info -f ./foo.info show file ./foo.info, not searching dir\n\ -\n\ +"), + program_name, speech_friendly_string); + + puts (_("\n\ Email bug reports to bug-texinfo@gnu.org,\n\ general questions and discussion to help-texinfo@gnu.org.\n\ -"), - program_name, -#ifdef __MSDOS__ -"\ - --speech-friendly be friendly to speech synthesizers.\n" -#else -"" -#endif - ); +Texinfo home page: http://www.gnu.org/software/texinfo/")); xexit (0); } diff --git a/gnu/dist/texinfo/info/nodes.c b/gnu/dist/texinfo/info/nodes.c index 3a2c5936a98c..3204e66533e5 100644 --- a/gnu/dist/texinfo/info/nodes.c +++ b/gnu/dist/texinfo/info/nodes.c @@ -1,7 +1,9 @@ -/* nodes.c -- how to get an Info file and node. - $Id: nodes.c,v 1.2 2002/01/16 17:22:37 tv Exp $ +/* $NetBSD: nodes.c,v 1.3 2003/01/17 15:25:49 wiz Exp $ */ - Copyright (C) 1993, 98, 99 Free Software Foundation, Inc. +/* nodes.c -- how to get an Info file and node. + Id: nodes.c,v 1.1 2002/08/25 23:38:38 karl Exp + + Copyright (C) 1993, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -223,11 +225,12 @@ info_find_file_internal (filename, get_tags) if (info_loaded_files) { for (i = 0; (file_buffer = info_loaded_files[i]); i++) - if ((FILENAME_CMP (filename, file_buffer->filename) == 0) || - (FILENAME_CMP (filename, file_buffer->fullpath) == 0) || - (!IS_ABSOLUTE (filename) && - FILENAME_CMP (filename, - filename_non_directory (file_buffer->fullpath)) == 0)) + if ((FILENAME_CMP (filename, file_buffer->filename) == 0) + || (FILENAME_CMP (filename, file_buffer->fullpath) == 0) + || (!IS_ABSOLUTE (filename) + && FILENAME_CMP (filename, + filename_non_directory (file_buffer->fullpath)) + == 0)) { struct stat new_info, *old_info; @@ -242,9 +245,8 @@ info_find_file_internal (filename, get_tags) return file_buffer; #endif /* HANDLE_MAN_PAGES */ - /* The file appears to be already loaded, and it is not "dir". - Check to see if it has changed since the last time it was - loaded. */ + /* The file appears to be already loaded, and is not "dir". Check + to see if it's changed since the last time it was loaded. */ if (stat (file_buffer->fullpath, &new_info) == -1) { filesys_error_number = errno; @@ -253,8 +255,8 @@ info_find_file_internal (filename, get_tags) old_info = &file_buffer->finfo; - if ((new_info.st_size != old_info->st_size) || - (new_info.st_mtime != old_info->st_mtime)) + if (new_info.st_size != old_info->st_size + || new_info.st_mtime != old_info->st_mtime) { /* The file has changed. Forget that we ever had loaded it in the first place. */ @@ -268,13 +270,13 @@ info_find_file_internal (filename, get_tags) for this file, and there isn't one here, build the nodes for this file_buffer. In any case, return the file_buffer object. */ - if (!file_buffer->contents) - { - /* The file's contents have been gc'ed. Reload it. */ - info_reload_file_buffer_contents (file_buffer); - if (!file_buffer->contents) - return NULL; - } + if (!file_buffer->contents) + { + /* The file's contents have been gc'ed. Reload it. */ + info_reload_file_buffer_contents (file_buffer); + if (!file_buffer->contents) + return NULL; + } if (get_tags && !file_buffer->tags) build_tags_and_nodes (file_buffer); @@ -771,20 +773,20 @@ get_tags_of_indirect_tags_table (file_buffer, indirect_binding, tags_binding) /* Build the file buffer's list of subfiles. */ { char *containing_dir = xstrdup (file_buffer->fullpath); - char *temp = filename_non_directory (containing_dir); + char *temp = filename_non_directory (containing_dir); int len_containing_dir; - if (temp > containing_dir) - { - if (HAVE_DRIVE (file_buffer->fullpath) && - temp == containing_dir + 2) - { - /* Avoid converting "d:foo" into "d:/foo" below. */ - *temp = '.'; - temp += 2; - } - temp[-1] = 0; - } + if (temp > containing_dir) + { + if (HAVE_DRIVE (file_buffer->fullpath) && + temp == containing_dir + 2) + { + /* Avoid converting "d:foo" into "d:/foo" below. */ + *temp = '.'; + temp += 2; + } + temp[-1] = 0; + } len_containing_dir = strlen (containing_dir); @@ -941,20 +943,22 @@ info_node_of_file_buffer_tags (file_buffer, nodename) TAG *tag; int i; + /* If no tags at all (possibly a misformatted info file), quit. */ + if (!file_buffer->tags) { + return NULL; + } + for (i = 0; (tag = file_buffer->tags[i]); i++) if (strcmp (nodename, tag->nodename) == 0) { - FILE_BUFFER *subfile; - - subfile = info_find_file_internal (tag->filename, INFO_NO_TAGS); - + FILE_BUFFER *subfile = info_find_file_internal (tag->filename, + INFO_NO_TAGS); if (!subfile) return NULL; if (!subfile->contents) { info_reload_file_buffer_contents (subfile); - if (!subfile->contents) return NULL; } @@ -1188,7 +1192,7 @@ info_reload_file_buffer_contents (fb) /* Let the filesystem do all the work for us. */ fb->contents = filesys_read_info_file (fb->fullpath, &(fb->filesize), &(fb->finfo), - &is_compressed); + &is_compressed); if (is_compressed) fb->flags |= N_IsCompressed; } diff --git a/gnu/dist/texinfo/info/terminal.c b/gnu/dist/texinfo/info/terminal.c index d075d25e1927..1d79d5a03149 100644 --- a/gnu/dist/texinfo/info/terminal.c +++ b/gnu/dist/texinfo/info/terminal.c @@ -1,8 +1,10 @@ -/* terminal.c -- How to handle the physical terminal for Info. - $Id: terminal.c,v 1.5 2001/09/02 21:50:55 wiz Exp $ +/* $NetBSD: terminal.c,v 1.6 2003/01/17 15:25:50 wiz Exp $ */ - Copyright (C) 1988, 89, 90, 91, 92, 93, 96, 97, 98, 99 - Free Software Foundation, Inc. +/* terminal.c -- how to handle the physical terminal for Info. + Id: terminal.c,v 1.1 2002/08/25 23:38:38 karl Exp + + Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1996, 1997, 1998, + 1999, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,7 +28,6 @@ #include #include -#include /* TIOCGWINSZ on LynxOS, at least */ /* The Unix termcap interface code. */ #ifdef HAVE_NCURSES_TERMCAP_H @@ -223,12 +224,17 @@ int terminal_use_visible_bell_p = 0; int terminal_can_scroll = 0; /* The key sequences output by the arrow keys, if this terminal has any. */ -char *term_ku = (char *)NULL; -char *term_kd = (char *)NULL; -char *term_kr = (char *)NULL; -char *term_kl = (char *)NULL; -char *term_kP = (char *)NULL; /* page-up */ -char *term_kN = (char *)NULL; /* page-down */ +char *term_ku = NULL; +char *term_kd = NULL; +char *term_kr = NULL; +char *term_kl = NULL; +char *term_kP = NULL; /* page-up */ +char *term_kN = NULL; /* page-down */ +char *term_kh = NULL; /* home */ +char *term_ke = NULL; /* end */ +char *term_kD = NULL; /* delete */ +char *term_ki = NULL; /* ins */ +char *term_kx = NULL; /* del */ /* Move the cursor to the terminal location of X and Y. */ void @@ -561,6 +567,8 @@ terminal_initialize_terminal (terminal_name) term_up = term_dn = audible_bell = visible_bell = NULL; term_ku = term_kd = term_kl = term_kr = NULL; term_kP = term_kN = NULL; + term_kh = term_ke = NULL; + term_kD = NULL; return; } @@ -607,7 +615,7 @@ terminal_initialize_terminal (terminal_name) if (term_invbeg) term_invend = tgetstr ("me", &buffer); else - term_invend = (char *)NULL; + term_invend = NULL; if (!term_cr) term_cr = "\r"; @@ -617,7 +625,7 @@ terminal_initialize_terminal (terminal_name) term_up = tgetstr ("up", &buffer); term_dn = tgetstr ("dn", &buffer); visible_bell = tgetstr ("vb", &buffer); - terminal_has_visible_bell_p = (visible_bell != (char *)NULL); + terminal_has_visible_bell_p = (visible_bell != NULL); audible_bell = tgetstr ("bl", &buffer); if (!audible_bell) audible_bell = "\007"; @@ -636,8 +644,8 @@ terminal_initialize_terminal (terminal_name) } else { - term_mm = (char *)NULL; - term_mo = (char *)NULL; + term_mm = NULL; + term_mo = NULL; } /* Attempt to find the arrow keys. */ @@ -649,6 +657,19 @@ terminal_initialize_terminal (terminal_name) term_kP = tgetstr ("kP", &buffer); term_kN = tgetstr ("kN", &buffer); +#if defined(INFOKEY) + term_kh = tgetstr ("kh", &buffer); + term_ke = tgetstr ("@7", &buffer); + term_ki = tgetstr ("kI", &buffer); + term_kx = tgetstr ("kD", &buffer); +#endif /* defined(INFOKEY) */ + + /* Home and end keys. */ + term_kh = tgetstr ("kh", &buffer); + term_ke = tgetstr ("@7", &buffer); + + term_kD = tgetstr ("kD", &buffer); + /* If this terminal is not cursor addressable, then it is really dumb. */ if (!term_goto) terminal_is_dumb_p = 1; @@ -742,11 +763,22 @@ terminal_prep_terminal () #endif /* VLNEXT */ #endif /* TERMIOS or TERMIO */ +/* cf. emacs/src/sysdep.c for being sure output is on. */ #if defined (HAVE_TERMIOS_H) + /* linux kernel 2.2.x needs a TCOFF followed by a TCOON to turn output + back on if the user presses ^S at the very beginning; just a TCOON + doesn't work. --Kevin Ryde , 16jun2000. */ tcsetattr (tty, TCSANOW, &ttybuff); +# ifdef TCOON + tcflow (tty, TCOOFF); + tcflow (tty, TCOON); +# endif #else # if defined (HAVE_TERMIO_H) ioctl (tty, TCSETA, &ttybuff); +# ifdef TCXONC + ioctl (tty, TCXONC, 1); +# endif # endif #endif diff --git a/gnu/dist/texinfo/intl/cat-compat.c b/gnu/dist/texinfo/intl/cat-compat.c deleted file mode 100644 index 867d901b8ffc..000000000000 --- a/gnu/dist/texinfo/intl/cat-compat.c +++ /dev/null @@ -1,262 +0,0 @@ -/* Compatibility code for gettext-using-catgets interface. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#ifdef STDC_HEADERS -# include -# include -#else -char *getenv (); -# ifdef HAVE_MALLOC_H -# include -# endif -#endif - -#ifdef HAVE_NL_TYPES_H -# include -#endif - -#include "libgettext.h" - -/* @@ 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. */ -static nl_catd catalog = (nl_catd) -1; - -/* Name of the default catalog. */ -static const char default_catalog_name[] = "messages"; - -/* Name of currently used catalog. */ -static const char *catalog_name = default_catalog_name; - -/* Get ID for given string. If not found return -1. */ -static int msg_to_cat_id PARAMS ((const char *msg)); - -/* Substitution for systems lacking this function in their C library. */ -#if !_LIBC && !HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); -#endif - - -/* Set currently used domain/catalog. */ -char * -textdomain (domainname) - const char *domainname; -{ - nl_catd new_catalog; - char *new_name; - size_t new_name_len; - char *lang; - -#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \ - && defined HAVE_LOCALE_NULL - lang = setlocale (LC_MESSAGES, NULL); -#else - lang = getenv ("LC_ALL"); - if (lang == NULL || lang[0] == '\0') - { - lang = getenv ("LC_MESSAGES"); - if (lang == NULL || lang[0] == '\0') - lang = getenv ("LANG"); - } -#endif - if (lang == NULL || lang[0] == '\0') - lang = "C"; - - /* See whether name of currently used domain is asked. */ - if (domainname == NULL) - return (char *) catalog_name; - - if (domainname[0] == '\0') - domainname = default_catalog_name; - - /* Compute length of added path element. */ - new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang) - + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1 - + sizeof (".cat"); - - new_name = (char *) malloc (new_name_len); - if (new_name == NULL) - return NULL; - - strcpy (new_name, PACKAGE); - new_catalog = catopen (new_name, 0); - - if (new_catalog == (nl_catd) -1) - { - /* NLSPATH search didn't work, try absolute path */ - sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang, - PACKAGE); - new_catalog = catopen (new_name, 0); - - if (new_catalog == (nl_catd) -1) - { - free (new_name); - return (char *) catalog_name; - } - } - - /* Close old catalog. */ - if (catalog != (nl_catd) -1) - catclose (catalog); - if (catalog_name != default_catalog_name) - free ((char *) catalog_name); - - catalog = new_catalog; - catalog_name = new_name; - - return (char *) catalog_name; -} - -char * -bindtextdomain (domainname, dirname) - const char *domainname; - const char *dirname; -{ -#if HAVE_SETENV || HAVE_PUTENV - char *old_val, *new_val, *cp; - size_t new_val_len; - - /* This does not make much sense here but to be compatible do it. */ - if (domainname == NULL) - return NULL; - - /* Compute length of added path element. If we use setenv we don't need - the first byts for NLSPATH=, but why complicate the code for this - peanuts. */ - new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname) - + sizeof ("/%L/LC_MESSAGES/%N.cat"); - - old_val = getenv ("NLSPATH"); - if (old_val == NULL || old_val[0] == '\0') - { - old_val = NULL; - new_val_len += 1 + sizeof (LOCALEDIR) - 1 - + sizeof ("/%L/LC_MESSAGES/%N.cat"); - } - else - new_val_len += strlen (old_val); - - new_val = (char *) malloc (new_val_len); - if (new_val == NULL) - return NULL; - -# if HAVE_SETENV - cp = new_val; -# else - cp = stpcpy (new_val, "NLSPATH="); -# endif - - cp = stpcpy (cp, dirname); - cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:"); - - if (old_val == NULL) - { -# if __STDC__ - stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat"); -# else - - cp = stpcpy (cp, LOCALEDIR); - stpcpy (cp, "/%L/LC_MESSAGES/%N.cat"); -# endif - } - else - stpcpy (cp, old_val); - -# if HAVE_SETENV - setenv ("NLSPATH", new_val, 1); - free (new_val); -# else - putenv (new_val); - /* Do *not* free the environment entry we just entered. It is used - from now on. */ -# endif - -#endif - - return (char *) domainname; -} - -#undef gettext -char * -gettext (msg) - const char *msg; -{ - int msgid; - - if (msg == NULL || catalog == (nl_catd) -1) - return (char *) msg; - - /* Get the message from the catalog. We always use set number 1. - The message ID is computed by the function `msg_to_cat_id' - which works on the table generated by `po-to-tbl'. */ - msgid = msg_to_cat_id (msg); - if (msgid == -1) - return (char *) msg; - - return catgets (catalog, 1, msgid, (char *) msg); -} - -/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries - for the one equal to msg. If it is found return the ID. In case when - the string is not found return -1. */ -static int -msg_to_cat_id (msg) - const char *msg; -{ - int cnt; - - for (cnt = 0; cnt < _msg_tbl_length; ++cnt) - if (strcmp (msg, _msg_tbl[cnt]._msg) == 0) - return _msg_tbl[cnt]._msg_number; - - return -1; -} - - -/* @@ 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 diff --git a/gnu/dist/texinfo/intl/gettext.h b/gnu/dist/texinfo/intl/gettext.h deleted file mode 100644 index 3cd23d7d6ad9..000000000000 --- a/gnu/dist/texinfo/intl/gettext.h +++ /dev/null @@ -1,105 +0,0 @@ -/* Internal header for GNU gettext internationalization functions. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _GETTEXT_H -#define _GETTEXT_H 1 - -#include - -#if HAVE_LIMITS_H || _LIBC -# include -#endif - -/* @@ end of prolog @@ */ - -/* The magic number of the GNU message catalog format. */ -#define _MAGIC 0x950412de -#define _MAGIC_SWAPPED 0xde120495 - -/* Revision number of the currently used .mo (binary) file format. */ -#define MO_REVISION_NUMBER 0 - -/* The following contortions are an attempt to use the C preprocessor - to determine an unsigned integral type that is 32 bits wide. An - alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but - doing that would require that the configure script compile and *run* - the resulting executable. Locally running cross-compiled executables - is usually not possible. */ - -#if __STDC__ -# define UINT_MAX_32_BITS 4294967295U -#else -# define UINT_MAX_32_BITS 0xFFFFFFFF -#endif - -/* If UINT_MAX isn't defined, assume it's a 32-bit type. - This should be valid for all systems GNU cares about because - that doesn't include 16-bit systems, and only modern systems - (that certainly have ) have 64+-bit integral types. */ - -#ifndef UINT_MAX -# define UINT_MAX UINT_MAX_32_BITS -#endif - -#if UINT_MAX == UINT_MAX_32_BITS -typedef unsigned nls_uint32; -#else -# if USHRT_MAX == UINT_MAX_32_BITS -typedef unsigned short nls_uint32; -# else -# if ULONG_MAX == UINT_MAX_32_BITS -typedef unsigned long nls_uint32; -# else - /* The following line is intended to throw an error. Using #error is - not portable enough. */ - "Cannot determine unsigned 32-bit data type." -# endif -# endif -#endif - - -/* Header for binary .mo file format. */ -struct mo_file_header -{ - /* The magic number. */ - nls_uint32 magic; - /* The revision number of the file format. */ - nls_uint32 revision; - /* The number of strings pairs. */ - nls_uint32 nstrings; - /* Offset of table with start offsets of original strings. */ - nls_uint32 orig_tab_offset; - /* Offset of table with start offsets of translation strings. */ - nls_uint32 trans_tab_offset; - /* Size of hashing table. */ - nls_uint32 hash_tab_size; - /* Offset of first hashing entry. */ - nls_uint32 hash_tab_offset; -}; - -struct string_desc -{ - /* Length of addressed string. */ - nls_uint32 length; - /* Offset of string in file. */ - nls_uint32 offset; -}; - -/* @@ begin of epilog @@ */ - -#endif /* gettext.h */ diff --git a/gnu/dist/texinfo/intl/libgettext.h b/gnu/dist/texinfo/intl/libgettext.h deleted file mode 100644 index 3a92960ae3ee..000000000000 --- a/gnu/dist/texinfo/intl/libgettext.h +++ /dev/null @@ -1,182 +0,0 @@ -/* Message catalogs for internationalization. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* 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 - include protection above. But the systems header might perhaps also - define _LIBINTL_H and therefore we have to protect the definition here. */ - -#if !defined _LIBINTL_H || !defined _LIBGETTEXT_H -#ifndef _LIBINTL_H -# define _LIBINTL_H 1 -#endif -#define _LIBGETTEXT_H 1 - -/* We define an additional symbol to signal that we use the GNU - implementation of gettext. */ -#define __USE_GNU_GETTEXT 1 - -#include - -#if HAVE_LOCALE_H -# include -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - -/* @@ end of prolog @@ */ - -#ifndef PARAMS -# if __STDC__ || defined __cplusplus -# define PARAMS(args) args -# else -# define PARAMS(args) () -# endif -#endif - -#ifndef NULL -# if !defined __cplusplus || defined __GNUC__ -# define NULL ((void *) 0) -# else -# define NULL (0) -# endif -#endif - -#if !HAVE_LC_MESSAGES -/* This value determines the behaviour of the gettext() and dgettext() - function. But some system does not have this defined. Define it - to a default value. */ -# define LC_MESSAGES (-1) -#endif - - -/* Declarations for gettext-using-catgets interface. Derived from - Jim Meyering's libintl.h. */ -struct _msg_ent -{ - const char *_msg; - int _msg_number; -}; - - -#if HAVE_CATGETS -/* These two variables are defined in the automatically by po-to-tbl.sed - generated file `cat-id-tbl.c'. */ -extern const struct _msg_ent _msg_tbl[]; -extern int _msg_tbl_length; -#endif - - -/* For automatical extraction of messages sometimes no real - translation is needed. Instead the string itself is the result. */ -#define gettext_noop(Str) (Str) - -/* Look up MSGID in the current default message catalog for the current - LC_MESSAGES locale. If not found, returns MSGID itself (the default - text). */ -extern char *gettext PARAMS ((const char *__msgid)); -extern char *gettext__ PARAMS ((const char *__msgid)); - -/* Look up MSGID in the DOMAINNAME message catalog for the current - LC_MESSAGES locale. */ -extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid)); -extern char *dgettext__ PARAMS ((const char *__domainname, - const char *__msgid)); - -/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY - locale. */ -extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid, - int __category)); -extern char *dcgettext__ PARAMS ((const char *__domainname, - const char *__msgid, int __category)); - - -/* Set the current default message catalog to DOMAINNAME. - If DOMAINNAME is null, return the current default. - If DOMAINNAME is "", reset to the default of "messages". */ -extern char *textdomain PARAMS ((const char *__domainname)); -extern char *textdomain__ PARAMS ((const char *__domainname)); - -/* Specify that the DOMAINNAME message catalog will be found - in DIRNAME rather than in the system locale data base. */ -extern char *bindtextdomain PARAMS ((const char *__domainname, - const char *__dirname)); -extern char *bindtextdomain__ PARAMS ((const char *__domainname, - const char *__dirname)); - -#if ENABLE_NLS - -/* Solaris 2.3 has the gettext function but dcgettext is missing. - So we omit this optimization for Solaris 2.3. BTW, Solaris 2.4 - has dcgettext. */ -# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT) - -# define gettext(Msgid) \ - dgettext (NULL, Msgid) - -# define dgettext(Domainname, Msgid) \ - dcgettext (Domainname, Msgid, LC_MESSAGES) - -# if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7 -/* This global variable is defined in loadmsgcat.c. We need a sign, - whether a new catalog was loaded, which can be associated with all - translations. */ -extern int _nl_msg_cat_cntr; - -# define dcgettext(Domainname, Msgid, Category) \ - (__extension__ \ - ({ \ - char *__result; \ - if (__builtin_constant_p (Msgid)) \ - { \ - static char *__translation__; \ - static int __catalog_counter__; \ - if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \ - { \ - __translation__ = \ - dcgettext__ (Domainname, Msgid, Category); \ - __catalog_counter__ = _nl_msg_cat_cntr; \ - } \ - __result = __translation__; \ - } \ - else \ - __result = dcgettext__ (Domainname, Msgid, Category); \ - __result; \ - })) -# endif -# endif - -#else - -# define gettext(Msgid) (Msgid) -# define dgettext(Domainname, Msgid) (Msgid) -# define dcgettext(Domainname, Msgid, Category) (Msgid) -# define textdomain(Domainname) ((char *) Domainname) -# define bindtextdomain(Domainname, Dirname) ((char *) Dirname) - -#endif - -/* @@ begin of epilog @@ */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/gnu/dist/texinfo/intl/linux-msg.sed b/gnu/dist/texinfo/intl/linux-msg.sed deleted file mode 100644 index 5918e720a9ad..000000000000 --- a/gnu/dist/texinfo/intl/linux-msg.sed +++ /dev/null @@ -1,100 +0,0 @@ -# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file -# Copyright (C) 1995 Free Software Foundation, Inc. -# Ulrich Drepper , 1995. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# -# The first directive in the .msg should be the definition of the -# message set number. We use always set number 1. -# -1 { - i\ -$set 1 # Automatically created by po2msg.sed - h - s/.*/0/ - x -} -# -# Mitch's old catalog format does not allow comments. -# -# We copy the original message as a comment into the .msg file. -# -/^msgid/ { - s/msgid[ ]*"// -# -# This does not work now with the new format. -# /"$/! { -# s/\\$// -# s/$/ ... (more lines following)"/ -# } - x -# The following nice solution is by -# Bruno - td -# Increment a decimal number in pattern space. -# First hide trailing `9' digits. - :d - s/9\(_*\)$/_\1/ - td -# Assure at least one digit is available. - s/^\(_*\)$/0\1/ -# Increment the last digit. - s/8\(_*\)$/9\1/ - s/7\(_*\)$/8\1/ - s/6\(_*\)$/7\1/ - s/5\(_*\)$/6\1/ - s/4\(_*\)$/5\1/ - s/3\(_*\)$/4\1/ - s/2\(_*\)$/3\1/ - s/1\(_*\)$/2\1/ - s/0\(_*\)$/1\1/ -# Convert the hidden `9' digits to `0's. - s/_/0/g - x - G - s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p -} -# -# The .msg file contains, other then the .po file, only the translations -# but each given a unique ID. Starting from 1 and incrementing by 1 for -# each message we assign them to the messages. -# It is important that the .po file used to generate the cat-id-tbl.c file -# (with po-to-tbl) is the same as the one used here. (At least the order -# of declarations must not be changed.) -# -/^msgstr/ { - s/msgstr[ ]*"\(.*\)"/# \1/ -# Clear substitution flag. - tb -# Append the next line. - :b - N -# Look whether second part is continuation line. - s/\(.*\n\)"\(.*\)"/\1\2/ -# Yes, then branch. - ta - P - D -# Note that D includes a jump to the start!! -# We found a continuation line. But before printing insert '\'. - :a - s/\(.*\)\(\n.*\)/\1\\\2/ - P -# We cannot use D here. - s/.*\n\(.*\)/\1/ - tb -} -d diff --git a/gnu/dist/texinfo/intl/po2tbl.sed.in b/gnu/dist/texinfo/intl/po2tbl.sed.in deleted file mode 100644 index b3bcca4d7302..000000000000 --- a/gnu/dist/texinfo/intl/po2tbl.sed.in +++ /dev/null @@ -1,102 +0,0 @@ -# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets -# Copyright (C) 1995 Free Software Foundation, Inc. -# Ulrich Drepper , 1995. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -1 { - i\ -/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\ -\ -#if HAVE_CONFIG_H\ -# include \ -#endif\ -\ -#include "libgettext.h"\ -\ -const struct _msg_ent _msg_tbl[] = { - h - s/.*/0/ - x -} -# -# Write msgid entries in C array form. -# -/^msgid/ { - s/msgid[ ]*\(".*"\)/ {\1/ - tb -# Append the next line - :b - N -# Look whether second part is continuation line. - s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/ -# Yes, then branch. - ta -# Because we assume that the input file correctly formed the line -# just read cannot be again be a msgid line. So it's safe to ignore -# it. - s/\(.*\)\n.*/\1/ - bc -# We found a continuation line. But before printing insert '\'. - :a - s/\(.*\)\(\n.*\)/\1\\\2/ - P -# We cannot use D here. - s/.*\n\(.*\)/\1/ -# Some buggy seds do not clear the `successful substitution since last ``t''' -# flag on `N', so we do a `t' here to clear it. - tb -# Not reached - :c - x -# The following nice solution is by -# Bruno - td -# Increment a decimal number in pattern space. -# First hide trailing `9' digits. - :d - s/9\(_*\)$/_\1/ - td -# Assure at least one digit is available. - s/^\(_*\)$/0\1/ -# Increment the last digit. - s/8\(_*\)$/9\1/ - s/7\(_*\)$/8\1/ - s/6\(_*\)$/7\1/ - s/5\(_*\)$/6\1/ - s/4\(_*\)$/5\1/ - s/3\(_*\)$/4\1/ - s/2\(_*\)$/3\1/ - s/1\(_*\)$/2\1/ - s/0\(_*\)$/1\1/ -# Convert the hidden `9' digits to `0's. - s/_/0/g - x - G - s/\(.*\)\n\([0-9]*\)/\1, \2},/ - s/\(.*\)"$/\1/ - p -} -# -# Last line. -# -$ { - i\ -};\ - - g - s/0*\(.*\)/int _msg_tbl_length = \1;/p -} -d diff --git a/gnu/dist/texinfo/intl/xopen-msg.sed b/gnu/dist/texinfo/intl/xopen-msg.sed deleted file mode 100644 index d36b9eeec110..000000000000 --- a/gnu/dist/texinfo/intl/xopen-msg.sed +++ /dev/null @@ -1,110 +0,0 @@ -# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file -# Copyright (C) 1995 Free Software Foundation, Inc. -# Ulrich Drepper , 1995. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# -# The first directive in the .msg should be the definition of the -# message set number. We use always set number 1. -# -1 { - i\ -$set 1 # Automatically created by po2msg.sed - h - s/.*/0/ - x -} -# -# We copy all comments into the .msg file. Perhaps they can help. -# -/^#/ s/^#[ ]*/$ /p -# -# We copy the original message as a comment into the .msg file. -# -/^msgid/ { -# Does not work now -# /"$/! { -# s/\\$// -# s/$/ ... (more lines following)"/ -# } - s/^msgid[ ]*"\(.*\)"$/$ Original Message: \1/ - p -} -# -# The .msg file contains, other then the .po file, only the translations -# but each given a unique ID. Starting from 1 and incrementing by 1 for -# each message we assign them to the messages. -# It is important that the .po file used to generate the cat-id-tbl.c file -# (with po-to-tbl) is the same as the one used here. (At least the order -# of declarations must not be changed.) -# -/^msgstr/ { - s/msgstr[ ]*"\(.*\)"/\1/ - x -# The following nice solution is by -# Bruno - td -# Increment a decimal number in pattern space. -# First hide trailing `9' digits. - :d - s/9\(_*\)$/_\1/ - td -# Assure at least one digit is available. - s/^\(_*\)$/0\1/ -# Increment the last digit. - s/8\(_*\)$/9\1/ - s/7\(_*\)$/8\1/ - s/6\(_*\)$/7\1/ - s/5\(_*\)$/6\1/ - s/4\(_*\)$/5\1/ - s/3\(_*\)$/4\1/ - s/2\(_*\)$/3\1/ - s/1\(_*\)$/2\1/ - s/0\(_*\)$/1\1/ -# Convert the hidden `9' digits to `0's. - s/_/0/g - x -# Bring the line in the format ` ' - G - s/^[^\n]*$/& / - s/\(.*\)\n\([0-9]*\)/\2 \1/ -# Change escaped quotes into regular quotes. - s/\\"/"/g -# Clear flag from last substitution. - tb -# Append the next line. - :b - N -# Look whether second part is a continuation line. - s/\(.*\n\)"\(.*\)"/\1\2/ -# Yes, then branch. - ta -# Comment out if no message exists. - s/^\([0-9]* *\n\)/$ \1/ - P - D -# Note that `D' includes a jump to the start!! -# We found a continuation line. But before printing insert '\'. - :a - s/\(.*\)\(\n.*\)/\1\\\2/ -# Change escaped quotes into regular quotes. - s/\\"/"/g - P -# We cannot use the sed command `D' here - s/.*\n\(.*\)/\1/ - tb -} -d diff --git a/gnu/dist/texinfo/lib/getopt.c b/gnu/dist/texinfo/lib/getopt.c index 03effcbdb3e1..1be096da9ce2 100644 --- a/gnu/dist/texinfo/lib/getopt.c +++ b/gnu/dist/texinfo/lib/getopt.c @@ -1,28 +1,27 @@ +/* $NetBSD: getopt.c,v 1.4 2003/01/17 15:25:53 wiz Exp $ */ + /* Getopt for GNU. NOTE: getopt is now part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! - - Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 + Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002 Free Software Foundation, Inc. + This file is part of 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@gnu.org. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, + The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser 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. */ + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ /* This tells Alpha OSF/1 not to define a getopt prototype in . Ditto for AIX 3.2 and . */ @@ -80,14 +79,22 @@ #endif #ifndef _ -/* This is for other GNU distributions with internationalized messages. - When compiling libc, the _ macro is predefined. */ -# ifdef HAVE_LIBINTL_H +/* This is for other GNU distributions with internationalized messages. */ +# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include -# define _(msgid) gettext (msgid) +# ifndef _ +# define _(msgid) gettext (msgid) +# endif # else # define _(msgid) (msgid) # endif +# if defined _LIBC && defined USE_IN_LIBIO +# include +# endif +#endif + +#ifndef attribute_hidden +# define attribute_hidden #endif /* This version of `getopt' appears to the caller like standard Unix `getopt' @@ -112,7 +119,7 @@ Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ -char *optarg = NULL; +char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller @@ -133,7 +140,7 @@ int optind = 1; causes problems with re-calling getopt as programs generally don't know that. */ -int __getopt_initialized = 0; +int __getopt_initialized attribute_hidden; /* The next char to be scanned in the option-element in which the last option character we returned was found. @@ -252,41 +259,34 @@ static int first_nonopt; static int last_nonopt; #ifdef _LIBC +/* Stored original parameters. + XXX This is no good solution. We should rather copy the args so + that we can compare them later. But we must not use malloc(3). */ +extern int __libc_argc; +extern char **__libc_argv; + /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ +# ifdef USE_NONOPTION_FLAGS /* Defined in getopt_init.c */ extern char *__getopt_nonoption_flags; static int nonoption_flags_max_len; static int nonoption_flags_len; +# endif -static int original_argc; -static char *const *original_argv; - -/* Make sure the environment variable bash 2.0 puts in the environment - is valid for the getopt call we must make sure that the ARGV passed - to getopt is that one passed to the process. */ -static void -__attribute__ ((unused)) -store_args_and_env (int argc, char *const *argv) -{ - /* XXX This is no good solution. We should rather copy the args so - that we can compare them later. But we must not use malloc(3). */ - original_argc = argc; - original_argv = argv; -} -# ifdef text_set_element -text_set_element (__libc_subinit, store_args_and_env); -# endif /* text_set_element */ - -# define SWAP_FLAGS(ch1, ch2) \ +# ifdef USE_NONOPTION_FLAGS +# define SWAP_FLAGS(ch1, ch2) \ if (nonoption_flags_len > 0) \ { \ char __tmp = __getopt_nonoption_flags[ch1]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch2] = __tmp; \ } +# else +# define SWAP_FLAGS(ch1, ch2) +# endif #else /* !_LIBC */ # define SWAP_FLAGS(ch1, ch2) #endif /* _LIBC */ @@ -318,7 +318,7 @@ exchange (argv) It leaves the longer segment in the right place overall, but it consists of two parts that need to be swapped next. */ -#ifdef _LIBC +#if defined _LIBC && defined USE_NONOPTION_FLAGS /* First make sure the handling of the `__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ @@ -422,9 +422,9 @@ _getopt_initialize (argc, argv, optstring) else ordering = PERMUTE; -#ifdef _LIBC +#if defined _LIBC && defined USE_NONOPTION_FLAGS if (posixly_correct == NULL - && argc == original_argc && argv == original_argv) + && argc == __libc_argc && argv == __libc_argv) { if (nonoption_flags_max_len == 0) { @@ -520,6 +520,13 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) int *longind; int long_only; { + int print_errors = opterr; + if (optstring[0] == ':') + print_errors = 0; + + if (argc < 1) + return -1; + optarg = NULL; if (optind == 0 || !__getopt_initialized) @@ -534,7 +541,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) Either it does not have option syntax, or there is an environment flag from the shell indicating it is not an option. The later information is only used when the used in the GNU libc. */ -#ifdef _LIBC +#if defined _LIBC && defined USE_NONOPTION_FLAGS # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ || (optind < nonoption_flags_len \ && __getopt_nonoption_flags[optind] == '1')) @@ -669,16 +676,37 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) pfound = p; indfound = option_index; } - else + else if (long_only + || pfound->has_arg != p->has_arg + || pfound->flag != p->flag + || pfound->val != p->val) /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { - if (opterr) - fprintf (stderr, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]); + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), + argv[0], argv[optind]) >= 0) + { + + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, _("%s: option `%s' is ambiguous\n"), + argv[0], argv[optind]); +#endif + } nextchar += strlen (nextchar); optind++; optopt = 0; @@ -697,17 +725,53 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) optarg = nameend + 1; else { - if (opterr) - if (argv[optind - 1][1] == '-') - /* --option */ - fprintf (stderr, - _("%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); - else - /* +option or -option */ - fprintf (stderr, - _("%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], pfound->name); + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + int n; +#endif + + if (argv[optind - 1][1] == '-') + { + /* --option */ +#if defined _LIBC && defined USE_IN_LIBIO + n = __asprintf (&buf, _("\ +%s: option `--%s' doesn't allow an argument\n"), + argv[0], pfound->name); +#else + fprintf (stderr, _("\ +%s: option `--%s' doesn't allow an argument\n"), + argv[0], pfound->name); +#endif + } + else + { + /* +option or -option */ +#if defined _LIBC && defined USE_IN_LIBIO + n = __asprintf (&buf, _("\ +%s: option `%c%s' doesn't allow an argument\n"), + argv[0], argv[optind - 1][0], + pfound->name); +#else + fprintf (stderr, _("\ +%s: option `%c%s' doesn't allow an argument\n"), + argv[0], argv[optind - 1][0], pfound->name); +#endif + } + +#if defined _LIBC && defined USE_IN_LIBIO + if (n >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#endif + } nextchar += strlen (nextchar); @@ -721,10 +785,28 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) optarg = argv[optind++]; else { - if (opterr) - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("\ +%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]) >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, + _("%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]); +#endif + } nextchar += strlen (nextchar); optopt = pfound->val; return optstring[0] == ':' ? ':' : '?'; @@ -748,16 +830,47 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) if (!long_only || argv[optind][1] == '-' || my_index (optstring, *nextchar) == NULL) { - if (opterr) + if (print_errors) { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + int n; +#endif + if (argv[optind][1] == '-') - /* --option */ - fprintf (stderr, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); + { + /* --option */ +#if defined _LIBC && defined USE_IN_LIBIO + n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), + argv[0], nextchar); +#else + fprintf (stderr, _("%s: unrecognized option `--%s'\n"), + argv[0], nextchar); +#endif + } else - /* +option or -option */ - fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); + { + /* +option or -option */ +#if defined _LIBC && defined USE_IN_LIBIO + n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), + argv[0], argv[optind][0], nextchar); +#else + fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), + argv[0], argv[optind][0], nextchar); +#endif + } + +#if defined _LIBC && defined USE_IN_LIBIO + if (n >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#endif } nextchar = (char *) ""; optind++; @@ -778,15 +891,44 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) if (temp == NULL || c == ':') { - if (opterr) + if (print_errors) { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + int n; +#endif + if (posixly_correct) - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, _("%s: illegal option -- %c\n"), - argv[0], c); + { + /* 1003.2 specifies the format of this message. */ +#if defined _LIBC && defined USE_IN_LIBIO + n = __asprintf (&buf, _("%s: illegal option -- %c\n"), + argv[0], c); +#else + fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); +#endif + } else - fprintf (stderr, _("%s: invalid option -- %c\n"), - argv[0], c); + { +#if defined _LIBC && defined USE_IN_LIBIO + n = __asprintf (&buf, _("%s: invalid option -- %c\n"), + argv[0], c); +#else + fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); +#endif + } + +#if defined _LIBC && defined USE_IN_LIBIO + if (n >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#endif } optopt = c; return '?'; @@ -812,11 +954,27 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) } else if (optind == argc) { - if (opterr) + if (print_errors) { /* 1003.2 specifies the format of this message. */ +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, + _("%s: option requires an argument -- %c\n"), + argv[0], c) >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); +#endif } optopt = c; if (optstring[0] == ':') @@ -861,9 +1019,26 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) } if (ambig && !exact) { - if (opterr) - fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]); + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), + argv[0], argv[optind]) >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), + argv[0], argv[optind]); +#endif + } nextchar += strlen (nextchar); optind++; return '?'; @@ -879,10 +1054,28 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) optarg = nameend + 1; else { - if (opterr) - fprintf (stderr, _("\ + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("\ %s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name); + argv[0], pfound->name) >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, _("\ +%s: option `-W %s' doesn't allow an argument\n"), + argv[0], pfound->name); +#endif + } nextchar += strlen (nextchar); return '?'; @@ -894,10 +1087,28 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) optarg = argv[optind++]; else { - if (opterr) - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); + if (print_errors) + { +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("\ +%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]) >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else + fprintf (stderr, + _("%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]); +#endif + } nextchar += strlen (nextchar); return optstring[0] == ':' ? ':' : '?'; } @@ -941,12 +1152,28 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only) } else if (optind == argc) { - if (opterr) + if (print_errors) { /* 1003.2 specifies the format of this message. */ +#if defined _LIBC && defined USE_IN_LIBIO + char *buf; + + if (__asprintf (&buf, _("\ +%s: option requires an argument -- %c\n"), + argv[0], c) >= 0) + { + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", buf); + else + fputs (buf, stderr); + + free (buf); + } +#else fprintf (stderr, - _("%s: option requires an argument -- %c\n"), - argv[0], c); + _("%s: option requires an argument -- %c\n"), + argv[0], c); +#endif } optopt = c; if (optstring[0] == ':') diff --git a/gnu/dist/texinfo/lib/system.h b/gnu/dist/texinfo/lib/system.h index b00bd7d0852a..df6e3fa489e4 100644 --- a/gnu/dist/texinfo/lib/system.h +++ b/gnu/dist/texinfo/lib/system.h @@ -1,7 +1,10 @@ -/* system.h: system-dependent declarations; include this first. - $Id: system.h,v 1.4 2002/01/16 17:22:38 tv Exp $ +/* $NetBSD: system.h,v 1.5 2003/01/17 15:25:53 wiz Exp $ */ - Copyright (C) 1997, 98, 99 Free Software Foundation, Inc. +/* system.h: system-dependent declarations; include this first. + Id: system.h,v 1.4 2002/10/31 13:44:06 karl Exp + + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software + Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,6 +27,16 @@ #include +#ifdef MIKTEX +#include +#define S_ISDIR(x) ((x)&_S_IFDIR) +#else +/* MiKTeX defines substring() in a separate DLL, where it has its + own __declspec declaration. We don't want to try to duplicate + this Microsoft-ism here. */ +extern char *substring (); +#endif + /* should be included before any preprocessor test of _POSIX_VERSION. */ #ifdef HAVE_UNISTD_H @@ -34,6 +47,7 @@ #include #include +/* All systems nowadays probably have these functions, but ... */ #ifdef HAVE_LOCALE_H #include #endif @@ -42,12 +56,17 @@ #endif /* For gettext (NLS). */ -#ifdef HAVE_LIBINTL_H -#include -#endif +#define const +#include "gettext.h" +#undef const + #define _(String) gettext (String) #define N_(String) (String) +#ifndef HAVE_LC_MESSAGES +#define LC_MESSAGES (-1) +#endif + #ifdef STDC_HEADERS #define getopt system_getopt #include @@ -80,6 +99,16 @@ extern int errno; extern char *strerror (); #endif +#ifdef HAVE_LIMITS_H +#include +#endif +#ifndef PATH_MAX +#ifndef _POSIX_PATH_MAX +# define _POSIX_PATH_MAX 255 +#endif +#define PATH_MAX _POSIX_PATH_MAX +#endif + #ifndef HAVE_DECL_STRCASECMP extern int strcasecmp (); #endif @@ -125,7 +154,6 @@ extern int strcoll (); - directories in environment variables (like INFOPATH) are separated by `;' rather than `:'; - text files can have their lines ended either with \n or with \r\n pairs; - These are all parameterized here except the last, which is handled by the source code as appropriate (mostly, in info/). */ #ifndef O_BINARY @@ -136,13 +164,35 @@ extern int strcoll (); # endif #endif /* O_BINARY */ +/* We'd like to take advantage of _doprnt if it's around, a la error.c, + but then we'd have no VA_SPRINTF. */ +#if HAVE_VPRINTF +# if __STDC__ +# include +# define VA_START(args, lastarg) va_start(args, lastarg) +# else +# include +# define VA_START(args, lastarg) va_start(args) +# endif +# define VA_FPRINTF(file, fmt, ap) vfprintf (file, fmt, ap) +# define VA_SPRINTF(str, fmt, ap) vsprintf (str, fmt, ap) +#else /* not HAVE_VPRINTF */ +# define VA_START(args, lastarg) +# define va_alist a1, a2, a3, a4, a5, a6, a7, a8 +# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8; +# define va_end(args) +#endif + #if O_BINARY -# include +# ifdef HAVE_IO_H +# include +# endif # ifdef __MSDOS__ # include # ifdef __DJGPP__ # define HAVE_LONG_FILENAMES(dir) (pathconf (dir, _PC_NAME_MAX) > 12) # define NULL_DEVICE "/dev/null" +# define DEFAULT_INFOPATH "c:/djgpp/info;/usr/local/info;/usr/info;." # else /* !__DJGPP__ */ # define HAVE_LONG_FILENAMES(dir) (0) # define NULL_DEVICE "NUL" @@ -192,6 +242,15 @@ extern int strcoll (); # define PIPE_USE_FORK 1 #endif /* not O_BINARY */ +/* DJGPP supports /dev/null, which is okay for Unix aficionados, + shell scripts and Makefiles, but interactive DOS die-hards + would probably want to have NUL as well. */ +#ifdef __DJGPP__ +# define ALSO_NULL_DEVICE "NUL" +#else +# define ALSO_NULL_DEVICE "" +#endif + #ifdef HAVE_PWD_H #include #endif @@ -202,7 +261,6 @@ struct passwd *getpwnam (); extern void *xmalloc (), *xrealloc (); extern char *xstrdup (); extern void xexit (); -extern char *substring (); /* For convenience. */ #define STREQ(s1,s2) (strcmp (s1, s2) == 0) diff --git a/gnu/dist/texinfo/makeinfo/Makefile.in b/gnu/dist/texinfo/makeinfo/Makefile.in index 25822ee0602c..31786102493b 100644 --- a/gnu/dist/texinfo/makeinfo/Makefile.in +++ b/gnu/dist/texinfo/makeinfo/Makefile.in @@ -1,6 +1,8 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated by automake 1.7.1 from Makefile.am. +# @configure_input@ -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,179 +12,311 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +@SET_MAKE@ -SHELL = @SHELL@ +# Id: Makefile.am,v 1.2 2002/11/12 23:42:14 karl Exp +# Makefile.am for texinfo/makeinfo. +# Run automake in .. to produce Makefile.in from this. +# +# This file is free software; as a special exception the author 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. srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ - top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -CATALOGS = @CATALOGS@ +host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ -GMOFILES = @GMOFILES@ +GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ -GT_NO = @GT_NO@ -GT_YES = @GT_YES@ -INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ -INTLDEPS = @INTLDEPS@ +INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ +INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBS = @LIBS@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -POFILES = @POFILES@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ TERMLIBS = @TERMLIBS@ +TEXINFO_MAINT_FALSE = @TEXINFO_MAINT_FALSE@ +TEXINFO_MAINT_TRUE = @TEXINFO_MAINT_TRUE@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ -l = @l@ +XGETTEXT = @XGETTEXT@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ bin_PROGRAMS = makeinfo localedir = $(datadir)/locale INCLUDES = -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" -LDADD = ../lib/libtxi.a @INTLLIBS@ +LDADD = ../lib/libtxi.a @LIBINTL@ -makeinfo_SOURCES = cmds.c cmds.h defun.c defun.h files.c files.h footnote.c footnote.h html.c html.h index.c index.h insertion.c insertion.h lang.c lang.h macro.c macro.h makeinfo.c makeinfo.h multi.c node.c node.h sectioning.c sectioning.h toc.c toc.h +makeinfo_SOURCES = \ + cmds.c cmds.h defun.c defun.h \ + files.c files.h footnote.c footnote.h \ + html.c html.h index.c index.h insertion.c insertion.h lang.c lang.h \ + macro.c macro.h makeinfo.c makeinfo.h multi.c node.c node.h \ + sectioning.c sectioning.h toc.c toc.h xml.c xml.h -EXTRA_DIST = README +pkgdata_DATA = texinfo.dtd texinfo.xsl + +EXTRA_DIST = README $(pkgdata_DATA) SUBDIRS = tests +subdir = makeinfo mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -PROGRAMS = $(bin_PROGRAMS) +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +bin_PROGRAMS = makeinfo$(EXEEXT) +PROGRAMS = $(bin_PROGRAMS) - -DEFS = @DEFS@ -I. -I$(srcdir) -I.. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -makeinfo_OBJECTS = cmds.o defun.o files.o footnote.o html.o index.o \ -insertion.o lang.o macro.o makeinfo.o multi.o node.o sectioning.o toc.o +am_makeinfo_OBJECTS = cmds.$(OBJEXT) defun.$(OBJEXT) files.$(OBJEXT) \ + footnote.$(OBJEXT) html.$(OBJEXT) index.$(OBJEXT) \ + insertion.$(OBJEXT) lang.$(OBJEXT) macro.$(OBJEXT) \ + makeinfo.$(OBJEXT) multi.$(OBJEXT) node.$(OBJEXT) \ + sectioning.$(OBJEXT) toc.$(OBJEXT) xml.$(OBJEXT) +makeinfo_OBJECTS = $(am_makeinfo_OBJECTS) makeinfo_LDADD = $(LDADD) -makeinfo_DEPENDENCIES = ../lib/libtxi.a -makeinfo_LDFLAGS = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +makeinfo_DEPENDENCIES = ../lib/libtxi.a +makeinfo_LDFLAGS = + +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/cmds.Po ./$(DEPDIR)/defun.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/files.Po ./$(DEPDIR)/footnote.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/html.Po ./$(DEPDIR)/index.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/insertion.Po ./$(DEPDIR)/lang.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/macro.Po ./$(DEPDIR)/makeinfo.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/multi.Po ./$(DEPDIR)/node.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/sectioning.Po ./$(DEPDIR)/toc.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/xml.Po +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = README Makefile.am Makefile.in +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DIST_SOURCES = $(makeinfo_SOURCES) +DATA = $(pkgdata_DATA) -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = gtar -GZIP_ENV = --best +RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ + ps-recursive install-info-recursive uninstall-info-recursive \ + all-recursive install-data-recursive install-exec-recursive \ + installdirs-recursive install-recursive uninstall-recursive \ + check-recursive installcheck-recursive +DIST_COMMON = README Makefile.am Makefile.in +DIST_SUBDIRS = $(SUBDIRS) SOURCES = $(makeinfo_SOURCES) -OBJECTS = $(makeinfo_OBJECTS) -all: all-redirect +all: all-recursive + .SUFFIXES: -.SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps makeinfo/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu makeinfo/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(INSTALL_PROGRAM) $$p$(EXEEXT) $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ + rm -f $(DESTDIR)$(bindir)/$$f; \ done -.c.o: - $(COMPILE) -c $< - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +makeinfo$(EXEEXT): $(makeinfo_OBJECTS) $(makeinfo_DEPENDENCIES) + @rm -f makeinfo$(EXEEXT) + $(LINK) $(makeinfo_LDFLAGS) $(makeinfo_OBJECTS) $(makeinfo_LDADD) $(LIBS) mostlyclean-compile: - -rm -f *.o core *.core - -clean-compile: + -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c -maintainer-clean-compile: +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmds.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/defun.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/files.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/footnote.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/html.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/index.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insertion.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lang.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/macro.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/makeinfo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/node.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sectioning.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml.Po@am__quote@ -makeinfo: $(makeinfo_OBJECTS) $(makeinfo_DEPENDENCIES) - @rm -f makeinfo - $(LINK) $(makeinfo_LDFLAGS) $(makeinfo_OBJECTS) $(makeinfo_LDADD) $(LIBS) +distclean-depend: + -rm -rf ./$(DEPDIR) + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ +@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ +@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`; \ +@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ +@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ +@am__fastdepCC_TRUE@ fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'` +uninstall-info-am: +pkgdataDATA_INSTALL = $(INSTALL_DATA) +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(pkgdataDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \ + $(pkgdataDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \ + rm -f $(DESTDIR)$(pkgdatadir)/$$f; \ + done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -190,13 +324,8 @@ makeinfo: $(makeinfo_OBJECTS) $(makeinfo_DEPENDENCIES) # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. - -@SET_MAKE@ - -all-recursive install-data-recursive install-exec-recursive \ -installdirs-recursive install-recursive uninstall-recursive \ -check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -216,13 +345,18 @@ check-recursive installcheck-recursive info-recursive dvi-recursive: mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ - rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ - rev="$$subdir $$rev"; \ - test "$$subdir" = "." && dot_seen=yes; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ done; \ - test "$$dot_seen" = "no" && rev=". $$rev"; \ + rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ @@ -238,174 +372,211 @@ tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = tags: TAGS -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) + mkid -fID $$unique -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ + fi; \ done; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + 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) + test -z "$(ETAGS_ARGS)$$tags$$unique" \ + || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique -mostlyclean-tags: +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique -clean-tags: +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = makeinfo +top_distdir = .. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - d=$(srcdir); \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ fi; \ done - for subdir in $(SUBDIRS); do \ + list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" \ + distdir=../$(distdir)/$$subdir \ + distdir) \ || exit 1; \ fi; \ done -cmds.o: cmds.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h \ - defun.h insertion.h files.h footnote.h lang.h macro.h \ - makeinfo.h node.h sectioning.h toc.h -defun.o: defun.c ../lib/system.h ../config.h ../lib/getopt.h defun.h \ - insertion.h makeinfo.h -files.o: files.c ../lib/system.h ../config.h ../lib/getopt.h files.h \ - macro.h makeinfo.h -footnote.o: footnote.c ../lib/system.h ../config.h ../lib/getopt.h \ - footnote.h macro.h makeinfo.h -html.o: html.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h html.h \ - lang.h makeinfo.h sectioning.h -index.o: index.c ../lib/system.h ../config.h ../lib/getopt.h index.h \ - makeinfo.h cmds.h lang.h macro.h toc.h -insertion.o: insertion.c ../lib/system.h ../config.h ../lib/getopt.h \ - cmds.h defun.h insertion.h macro.h makeinfo.h -lang.o: lang.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h lang.h \ - makeinfo.h -macro.o: macro.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h \ - macro.h makeinfo.h insertion.h -makeinfo.o: makeinfo.c ../lib/system.h ../config.h ../lib/getopt.h \ - makeinfo.h cmds.h files.h footnote.h html.h index.h insertion.h \ - macro.h node.h toc.h -multi.o: multi.c ../lib/system.h ../config.h ../lib/getopt.h insertion.h \ - makeinfo.h -node.o: node.c ../lib/system.h ../config.h ../lib/getopt.h cmds.h \ - files.h footnote.h macro.h makeinfo.h node.h sectioning.h \ - insertion.h -sectioning.o: sectioning.c ../lib/system.h ../config.h ../lib/getopt.h \ - cmds.h macro.h makeinfo.h node.h toc.h sectioning.h -toc.o: toc.c ../lib/system.h ../config.h ../lib/getopt.h makeinfo.h \ - cmds.h files.h macro.h node.h lang.h sectioning.h toc.h - -info-am: -info: info-recursive -dvi-am: -dvi: dvi-recursive check-am: all-am check: check-recursive -installcheck-am: -installcheck: installcheck-recursive -install-exec-am: install-binPROGRAMS -install-exec: install-exec-recursive +all-am: Makefile $(PROGRAMS) $(DATA) +installdirs: installdirs-recursive +installdirs-am: + $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir) -install-data-am: +install: install-recursive +install-exec: install-exec-recursive install-data: install-data-recursive +uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive -uninstall-am: uninstall-binPROGRAMS -uninstall: uninstall-recursive -all-am: Makefile $(PROGRAMS) -all-redirect: all-recursive + +installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(bindir) - - + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: -mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ - mostlyclean-tags mostlyclean-generic - -mostlyclean: mostlyclean-recursive - -clean-am: clean-binPROGRAMS clean-compile clean-tags clean-generic \ - mostlyclean-am - + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive -distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \ - distclean-generic clean-am +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-recursive -maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." +distclean-am: clean-am distclean-compile distclean-depend \ + distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +info: info-recursive + +info-am: + +install-data-am: install-pkgdataDATA + +install-exec-am: install-binPROGRAMS + +install-info: install-info-recursive + +install-man: + +installcheck-am: maintainer-clean: maintainer-clean-recursive -.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile install-data-recursive \ -uninstall-data-recursive install-exec-recursive \ -uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ -all-recursive check-recursive installcheck-recursive info-recursive \ -dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ -install-exec install-data-am install-data install-am install \ -uninstall-am uninstall all-redirect all-am all installdirs-am \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +maintainer-clean-am: distclean-am maintainer-clean-generic +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ + uninstall-pkgdataDATA + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ + clean-binPROGRAMS clean-generic clean-recursive ctags \ + ctags-recursive distclean distclean-compile distclean-depend \ + distclean-generic distclean-recursive distclean-tags distdir \ + dvi dvi-am dvi-recursive info info-am info-recursive install \ + install-am install-binPROGRAMS install-data install-data-am \ + install-data-recursive install-exec install-exec-am \ + install-exec-recursive install-info install-info-am \ + install-info-recursive install-man install-pkgdataDATA \ + install-recursive install-strip installcheck installcheck-am \ + installdirs installdirs-am installdirs-recursive \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-recursive pdf pdf-am \ + pdf-recursive ps ps-am ps-recursive tags tags-recursive \ + uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am \ + uninstall-info-recursive uninstall-pkgdataDATA \ + uninstall-recursive # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/gnu/dist/texinfo/makeinfo/files.c b/gnu/dist/texinfo/makeinfo/files.c index 8bb8b0aa3250..5afea7a6156d 100644 --- a/gnu/dist/texinfo/makeinfo/files.c +++ b/gnu/dist/texinfo/makeinfo/files.c @@ -1,7 +1,9 @@ -/* files.c -- file-related functions for Texinfo. - $Id: files.c,v 1.2 2002/01/16 17:22:38 tv Exp $ +/* $NetBSD: files.c,v 1.3 2003/01/17 15:25:53 wiz Exp $ */ - Copyright (C) 1998, 99 Free Software Foundation, Inc. +/* files.c -- file-related functions for makeinfo. + Id: files.c,v 1.1 2002/08/25 23:38:38 karl Exp + + Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -139,9 +141,7 @@ find_and_load (filename) long file_size; int file = -1, count = 0; char *fullpath, *result; -#if O_BINARY || defined (VMS) - int n; -#endif + int n, bytes_to_read; result = fullpath = NULL; @@ -163,28 +163,18 @@ find_and_load (filename) /* VMS stat lies about the st_size value. The actual number of readable bytes is always less than this value. The arcane mysteries of VMS/RMS are too much to probe, so this hack - suffices to make things work. */ -#if O_BINARY || defined (VMS) -#ifdef VMS - while ((n = read (file, result + count, file_size)) > 0) -#else /* !VMS */ -#ifndef WIN32 - while ((n = read (file, result + count, file_size)) > 0) -#else /* WIN32 */ - /* Does WIN32 really need reading 1 character at a time?? */ - while ((n = read (file, result + count, 1)) > 0) -#endif /* WIN32 */ -#endif /* !VMS */ - count += n; + suffices to make things work. It's also needed on Cygwin. And so + we might as well use it everywhere. */ + bytes_to_read = file_size; + while ((n = read (file, result + count, bytes_to_read)) > 0) + { + count += n; + bytes_to_read -= n; + } if (0 < count && count < file_size) result = xrealloc (result, count + 2); /* why waste the slack? */ else if (n == -1) -#else /* !VMS && !O_BINARY */ - count = file_size; - if (read (file, result, file_size) != file_size) -#endif /* !VMS && !WIN32 */ - - error_exit: +error_exit: { if (result) free (result); @@ -527,3 +517,62 @@ output_name_from_input_name (name) { return expand_filename (NULL, name); } + + +/* Modify the file name FNAME so that it fits the limitations of the + underlying filesystem. In particular, truncate the file name as it + would be truncated by the filesystem. We assume the result can + never be longer than the original, otherwise we couldn't be sure we + have enough space in the original string to modify it in place. */ +char * +normalize_filename (fname) + char *fname; +{ + int maxlen; + char orig[PATH_MAX + 1]; + int i; + char *lastdot, *p; + +#ifdef _PC_NAME_MAX + maxlen = pathconf (fname, _PC_NAME_MAX); + if (maxlen < 1) +#endif + maxlen = PATH_MAX; + + i = skip_directory_part (fname); + if (fname[i] == '\0') + return fname; /* only a directory name -- don't modify */ + strcpy (orig, fname + i); + + switch (maxlen) + { + case 12: /* MS-DOS 8+3 filesystem */ + if (orig[0] == '.') /* leading dots are not allowed */ + orig[0] = '_'; + lastdot = strrchr (orig, '.'); + if (!lastdot) + lastdot = orig + strlen (orig); + strncpy (fname + i, orig, lastdot - orig); + for (p = fname + i; + p < fname + i + (lastdot - orig) && p < fname + i + 8; + p++) + if (*p == '.') + *p = '_'; + *p = '\0'; + if (*lastdot == '.') + strncat (fname + i, lastdot, 4); + break; + case 14: /* old Unix systems with 14-char limitation */ + strcpy (fname + i, orig); + if (strlen (fname + i) > 14) + fname[i + 14] = '\0'; + break; + default: + strcpy (fname + i, orig); + if (strlen (fname) > maxlen - 1) + fname[maxlen - 1] = '\0'; + break; + } + + return fname; +} diff --git a/gnu/dist/texinfo/makeinfo/makeinfo.c b/gnu/dist/texinfo/makeinfo/makeinfo.c index 6b298f6874fe..e6a4ea926057 100644 --- a/gnu/dist/texinfo/makeinfo/makeinfo.c +++ b/gnu/dist/texinfo/makeinfo/makeinfo.c @@ -1,8 +1,10 @@ -/* makeinfo -- convert Texinfo source into other formats. - $Id: makeinfo.c,v 1.6 2001/09/02 21:55:03 wiz Exp $ +/* $NetBSD: makeinfo.c,v 1.7 2003/01/17 15:25:53 wiz Exp $ */ - Copyright (C) 1987, 92, 93, 94, 95, 96, 97, 98, 99 - Free Software Foundation, Inc. +/* makeinfo -- convert Texinfo source into other formats. + Id: makeinfo.c,v 1.14 2002/11/13 00:34:10 karl Exp + + Copyright (C) 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,34 +36,7 @@ #include "macro.h" #include "node.h" #include "toc.h" - -/* We'd like to take advantage of _doprnt if it's around, a la error.c, - but then we'd have no VA_SPRINTF. */ -#if HAVE_VPRINTF -# if __STDC__ -# include -# define VA_START(args, lastarg) va_start(args, lastarg) -# else -# include -# define VA_START(args, lastarg) va_start(args) -# endif -# define VA_FPRINTF(file, fmt, ap) vfprintf (file, fmt, ap) -# define VA_SPRINTF(str, fmt, ap) vsprintf (str, fmt, ap) -#else /* not HAVE_VPRINTF */ -# define VA_START(args, lastarg) -# define va_alist a1, a2, a3, a4, a5, a6, a7, a8 -# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8; -# define va_end(args) -#endif - -/* DJGPP supports /dev/null, which is okay for Unix aficionados, - shell scripts and Makefiles, but interactive DOS die-hards - would probably want to have NUL as well. */ -#ifdef __DJGPP__ -# define ALSO_NULL_DEVICE "NUL" -#else -# define ALSO_NULL_DEVICE "" -#endif +#include "xml.h" /* You can change some of the behavior of Makeinfo by changing the following defines: */ @@ -93,6 +68,7 @@ char *output_filename = NULL; /* Name of the output file that the user elected to pass on the command line. Such a name overrides any name found with the @setfilename command. */ char *command_output_filename = NULL; +static char *save_command_output_filename = NULL; /* Flags which control initial output string for xrefs. */ int px_ref_flag = 0; @@ -157,6 +133,12 @@ int insertion_paragraph_closed = 0; /* Nonzero means attempt to make all of the lines have fill_column width. */ int do_justification = 0; +/* Nonzero means don't replace whitespace with   in HTML mode. */ +int in_html_elt = 0; + +/* True when expanding a macro definition. */ +static int executing_macro = 0; + typedef struct brace_element { struct brace_element *next; @@ -262,7 +244,38 @@ error (format, va_alist) putc ('\n', stderr); } -/* Just like error (), but print the line number as well. */ +/* Just like error (), but print the input file and line number as well. */ +void +#if defined (VA_FPRINTF) && __STDC__ +file_line_error (char *infile, int lno, char *format, ...) +#else +file_line_error (infile, lno, format, va_alist) + char *infile; + int lno; + char *format; + va_dcl +#endif +{ +#ifdef VA_FPRINTF + va_list ap; +#endif + + remember_error (); + fprintf (stderr, "%s:%d: ", infile, lno); + + VA_START (ap, format); +#ifdef VA_FPRINTF + VA_FPRINTF (stderr, format, ap); +#else + fprintf (stderr, format, a1, a2, a3, a4, a5, a6, a7, a8); +#endif /* not VA_FPRINTF */ + va_end (ap); + + fprintf (stderr, ".\n"); +} + +/* Just like file_line_error (), but take the input file and the line + number from global variables. */ void #if defined (VA_FPRINTF) && __STDC__ line_error (char *format, ...) @@ -362,76 +375,122 @@ usage (exit_value) fprintf (stderr, _("Try `%s --help' for more information.\n"), progname); else { - printf (_("Usage: %s [OPTION]... TEXINFO-FILE...\n\ -\n\ -Translate Texinfo source documentation to various other formats:\n\ -Info files suitable for reading online with Emacs or standalone GNU Info\n\ -(by default); plain text (with --no-headers); or HTML (with --html).\n\ -\n\ -Options:\n\ - --commands-in-node-names allow @ commands in node names.\n\ - -D VAR define a variable, as with @set.\n\ - -E, --macro-expand FILE output macro-expanded source to FILE.\n\ - --error-limit=NUM quit after NUM errors (default %d).\n\ - --fill-column=NUM break Info lines at NUM characters (default %d).\n\ - --footnote-style=STYLE output footnotes according to STYLE:\n\ - `separate' to place footnotes in their own node,\n\ - `end' to place the footnotes at the end of the\n\ - node in which they are defined (the default).\n\ - --force preserve output even if errors.\n\ - --help display this help and exit.\n\ - --html output HTML rather than Info format;\n\ - -I DIR append DIR to the @include search path.\n\ - --ifhtml process @ifhtml and @html text even when not\n\ - generating HTML.\n\ - --ifinfo process @ifinfo text even when generating HTML.\n\ - --iftex process @iftex and @tex text.\n\ - implies --no-split.\n"), - progname, max_error_level, fill_column); + printf (_("Usage: %s [OPTION]... TEXINFO-FILE...\n"), progname); + printf ("\n"); + + puts (_("\ +Translate Texinfo source documentation to various other formats, by default\n\ +Info files suitable for reading online with Emacs or standalone GNU Info.\n")); + printf (_("\ - --no-headers suppress Info node separators and Node: lines and\n\ - write to standard output without --output.\n\ - --no-ifhtml do not process @ifhtml and @html text.\n\ - --no-ifinfo do not process @ifinfo text.\n\ - --no-iftex do not process @iftex and @tex text.\n\ - --no-split suppress splitting of large Info output files or\n\ - generation of one HTML file per node.\n\ - --no-validate suppress node cross-reference validation.\n\ - --no-warn suppress warnings (but not errors).\n\ - --number-sections include chapter, section, etc. numbers in output.\n\ - -o, --output=FILE output to FILE, ignoring any @setfilename.\n\ - -P DIR prepend DIR to the @include search path.\n\ - --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %d).\n\ - if VAL is `none', do not indent;\n\ - if VAL is `asis', preserve existing indentation.\n\ - --reference-limit=NUM warn about at most NUM references (default %d).\n\ - -U VAR undefine a variable, as with @clear.\n\ - -v, --verbose explain what is being done.\n\ - --version display version information and exit.\n\ -"), - paragraph_start_indent, reference_warning_limit); +General options:\n\ + --error-limit=NUM quit after NUM errors (default %d).\n\ + --force preserve output even if errors.\n\ + --help display this help and exit.\n\ + --no-validate suppress node cross-reference validation.\n\ + --no-warn suppress warnings (but not errors).\n\ + --reference-limit=NUM warn about at most NUM references (default %d).\n\ + -v, --verbose explain what is being done.\n\ + --version display version information and exit.\n"), + max_error_level, reference_warning_limit); + printf ("\n"); + + /* xgettext: no-wrap */ + puts (_("\ +Output format selection (default is to produce Info):\n\ + --docbook output DocBook XML rather than Info.\n\ + --html output HTML rather than Info.\n\ + --xml output Texinfo XML rather than Info.\n\ +")); + + puts (_("\ +General output options:\n\ + -E, --macro-expand FILE output macro-expanded source to FILE.\n\ + ignoring any @setfilename.\n\ + --no-headers suppress node separators, Node: lines, and menus\n\ + from Info output (thus producing plain text)\n\ + or from HTML (thus producing shorter output);\n\ + also, write to standard output by default.\n\ + --no-split suppress splitting of Info or HTML output,\n\ + generate only one output file.\n\ + --number-sections output chapter and sectioning numbers.\n\ + -o, --output=FILE output to FILE (directory if split HTML),\n\ +")); + + printf (_("\ +Options for Info and plain text:\n\ + --enable-encoding output accented and special characters in\n\ + Info output based on @documentencoding.\n\ + --fill-column=NUM break Info lines at NUM characters (default %d).\n\ + --footnote-style=STYLE output footnotes in Info according to STYLE:\n\ + `separate' to put them in their own node;\n\ + `end' to put them at the end of the node\n\ + in which they are defined (default).\n\ + --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %d).\n\ + If VAL is `none', do not indent; if VAL is\n\ + `asis', preserve existing indentation.\n\ + --split-size=NUM split Info files at size NUM (default %d).\n"), + fill_column, paragraph_start_indent, + DEFAULT_SPLIT_SIZE); } + printf ("\n"); + + puts (_("\ +Input file options:\n\ + --commands-in-node-names allow @ commands in node names.\n\ + -D VAR define the variable VAR, as with @set.\n\ + -I DIR append DIR to the @include search path.\n\ + -P DIR prepend DIR to the @include search path.\n\ + -U VAR undefine the variable VAR, as with @clear.\n\ +")); + + puts (_("\ +Conditional processing in input:\n\ + --ifhtml process @ifhtml and @html even if not generating HTML.\n\ + --ifinfo process @ifinfo even if not generating Info.\n\ + --ifplaintext process @ifplaintext even if not generating plain text.\n\ + --iftex process @iftex and @tex; implies --no-split.\n\ + --ifxml process @ifxml and @xml.\n\ + --no-ifhtml do not process @ifhtml and @html text.\n\ + --no-ifinfo do not process @ifinfo text.\n\ + --no-ifplaintext do not process @ifplaintext text.\n\ + --no-iftex do not process @iftex and @tex text.\n\ + --no-ifxml do not process @ifxml and @xml text.\n\ +")); + + puts (_("\ + The defaults for the @if... conditionals depend on the output format:\n\ + if generating HTML, --ifhtml is on and the others are off;\n\ + if generating Info, --ifinfo is on and the others are off;\n\ + if generating plain text, --ifplaintext is on and the others are off;\n\ +")); + + fputs (_("\ +Examples:\n\ + makeinfo foo.texi write Info to foo's @setfilename\n\ + makeinfo --html foo.texi write HTML to @setfilename\n\ + makeinfo --xml foo.texi write Texinfo XML to @setfilename\n\ + makeinfo --docbook foo.texi write DocBook XML to @setfilename\n\ + makeinfo --no-headers foo.texi write plain text to standard output\n\ +\n\ + makeinfo --html --no-headers foo.texi write html without node lines, menus\n\ + makeinfo --number-sections foo.texi write Info with numbered sections\n\ + makeinfo --no-split foo.texi write one Info file however big\n\ +"), stdout); puts (_("\n\ -The defaults for the @if... conditionals depend on the output format:\n\ -if generating HTML, --ifhtml is on and the others are off;\n\ -if generating Info or plain text, --ifinfo is on and the others are off.\n\ -\n\ -Examples:\n\ - makeinfo foo.texi write Info to foo's @setfilename\n\ - makeinfo --html foo.texi write HTML to foo's @setfilename\n\ - makeinfo --no-headers -o - foo.texi write plain text to standard output\n\ - makeinfo --number-sections foo.texi write Info with numbered sections\n\ - makeinfo --no-split foo.texi write one Info file however big\n\ -\n\ Email bug reports to bug-texinfo@gnu.org,\n\ -general questions and discussion to help-texinfo@gnu.org.")); +general questions and discussion to help-texinfo@gnu.org.\n\ +Texinfo home page: http://www.gnu.org/software/texinfo/")); + xexit (exit_value); } struct option long_options[] = { { "commands-in-node-names", 0, &expensive_validation, 1 }, + { "docbook", 0, 0, 'd' }, + { "enable-encoding", 0, &enable_encoding, 1 }, { "error-limit", 1, 0, 'e' }, { "fill-column", 1, 0, 'f' }, { "footnote-style", 1, 0, 's' }, @@ -440,12 +499,16 @@ struct option long_options[] = { "html", 0, 0, 'w' }, { "ifhtml", 0, &process_html, 1 }, { "ifinfo", 0, &process_info, 1 }, + { "ifplaintext", 0, &process_plaintext, 1 }, { "iftex", 0, &process_tex, 1 }, + { "ifxml", 0, &process_xml, 1 }, { "macro-expand", 1, 0, 'E' }, { "no-headers", 0, &no_headers, 1 }, { "no-ifhtml", 0, &process_html, 0 }, { "no-ifinfo", 0, &process_info, 0 }, + { "no-ifplaintext", 0, &process_plaintext, 0 }, { "no-iftex", 0, &process_tex, 0 }, + { "no-ifxml", 0, &process_xml, 0 }, { "no-number-footnotes", 0, &number_footnotes, 0 }, { "no-number-sections", 0, &number_sections, 0 }, { "no-pointer-validate", 0, &validating, 0 }, @@ -457,8 +520,10 @@ struct option long_options[] = { "output", 1, 0, 'o' }, { "paragraph-indent", 1, 0, 'p' }, { "reference-limit", 1, 0, 'r' }, + { "split-size", 1, 0, 'S'}, { "verbose", 0, &verbose_mode, 1 }, { "version", 0, 0, 'V' }, + { "xml", 0, 0, 'x' }, {NULL, 0, NULL, 0} }; @@ -489,7 +554,7 @@ main (argc, argv) #endif /* Parse argument flags from the input line. */ - while ((c = getopt_long (argc, argv, "D:e:E:f:hI:o:p:P:r:s:U:vV:w", + while ((c = getopt_long (argc, argv, "D:de:E:f:hI:o:p:P:r:s:U:vV:wx", long_options, &ind)) != EOF) { if (c == 0 && long_options[ind].flag == 0) @@ -503,13 +568,19 @@ main (argc, argv) handle_variable_internal ((c == 'D') ? SET : CLEAR, optarg); break; + case 'd': /* --docbook */ + splitting = 0; + xml = 1; + docbook = 1; + break; + case 'e': /* --error-limit */ if (sscanf (optarg, "%d", &max_error_level) != 1) { fprintf (stderr, _("%s: %s arg must be numeric, not `%s'.\n"), "--error-limit", progname, optarg); - usage (stderr, 1); + usage (1); } break; @@ -554,6 +625,7 @@ main (argc, argv) case 'o': /* --output */ command_output_filename = xstrdup (optarg); + save_command_output_filename = command_output_filename; break; case 'p': /* --paragraph-indent */ @@ -608,6 +680,16 @@ main (argc, argv) footnote_style_preset = 1; break; + case 'S': /* --split-size */ + if (sscanf (optarg, "%d", &split_size) != 1) + { + fprintf (stderr, + _("%s: %s arg must be numeric, not `%s'.\n"), + "--split-size", progname, optarg); + usage (1); + } + break; + case 'v': verbose_mode++; break; @@ -619,17 +701,21 @@ main (argc, argv) There is NO warranty. You may redistribute this software\n\ under the terms of the GNU General Public License.\n\ For more information about these matters, see the files named COPYING.\n"), - "1999"); - exit (0); + "2002"); + xexit (0); break; case 'w': /* --html */ html = 1; process_html = 1; - process_info = 0; - splitting = 0; /* too complicated for now */ break; + case 'x': /* --xml */ + splitting = 0; + xml = 1; + process_xml = 1; + break; + case '?': usage (1); break; @@ -668,7 +754,19 @@ For more information about these matters, see the files named COPYING.\n"), if (!command_output_filename) command_output_filename = xstrdup ("-"); } + + if (process_info == -1) + { /* no explicit --[no-]ifinfo option, so we'll do @ifinfo + if we're generating info or (for compatibility) plain text. */ + process_info = !html && !xml; + } + if (process_plaintext == -1) + { /* no explicit --[no-]ifplaintext option, so we'll do @ifplaintext + if we're generating plain text. */ + process_plaintext = no_headers && !html && !xml; + } + if (verbose_mode) print_version_info (); @@ -973,12 +1071,13 @@ get_rest_of_line (expand, string) int expand; char **string; { + xml_no_para ++; if (expand) { char *tem; /* Don't expand non-macros in input, since we want them - intact in the macro-expanded output. */ + intact in the macro-expanded output. */ only_macro_expansion++; get_until_in_line (1, "\n", &tem); only_macro_expansion--; @@ -995,6 +1094,7 @@ get_rest_of_line (expand, string) line_number++; input_text_offset++; } + xml_no_para --; } /* Backup the input pointer to the previous character, keeping track @@ -1022,10 +1122,21 @@ get_until_in_braces (match, string) for (i = input_text_offset; i < input_text_length; i++) { - if (input_text[i] == '{') + if (i < input_text_length - 1 && input_text[i] == '@') + { + i++; /* skip commands like @, and @{ */ + continue; + } + else if (input_text[i] == '{') brace++; else if (input_text[i] == '}') - brace--; + { + brace--; + /* If looking for a brace, don't stop at the interior brace, + like after "baz" in "@foo{something @bar{baz} more}". */ + if (brace == 0) + continue; + } else if (input_text[i] == '\n') line_number++; @@ -1193,6 +1304,90 @@ convert_from_file (name) convert_from_loaded_file (name); } +/* Given OUTPUT_FILENAME == ``/foo/bar/baz.html'', return + "/foo/bar/baz/baz.html". This routine is called only if html && splitting. + + Split html output goes into the subdirectory of the toplevel + filename, without extension. For example: + @setfilename foo.info + produces output in files foo/index.html, foo/second-node.html, ... + + But if the user said -o foo.whatever on the cmd line, then use + foo.whatever unchanged. */ + +static char * +insert_toplevel_subdirectory (output_filename) + char *output_filename; +{ + char *dir, *subdir, *base, *basename, *p; + char buf[PATH_MAX]; + struct stat st; + static const char index_name[] = "index.html"; + const int index_len = sizeof (index_name) - 1; + + strcpy (buf, output_filename); + dir = pathname_part (buf); + base = filename_part (buf); + basename = xstrdup (base); /* remember real @setfilename name */ + p = dir + strlen (dir) - 1; + if (p > dir && IS_SLASH (*p)) + *p = 0; + p = strrchr (base, '.'); + if (p) + *p = 0; + + /* Split html output goes into subdirectory of toplevel name. */ + subdir = ""; + if (FILENAME_CMP (base, filename_part (dir)) != 0) + { + if (save_command_output_filename + && STREQ (output_filename, save_command_output_filename)) + subdir = basename; /* from user, use unchanged */ + else + subdir = base; /* implicit, omit suffix */ + } + + free (output_filename); + output_filename = xmalloc (strlen (dir) + 1 + + strlen (basename) + 1 + + index_len + + 1); + strcpy (output_filename, dir); + if (strlen (dir)) + strcat (output_filename, "/"); + strcat (output_filename, subdir); + if (mkdir (output_filename, 0777) == -1 && errno != EEXIST + /* output_filename might exist, but be a non-directory. */ + || (stat (output_filename, &st) == 0 && !S_ISDIR (st.st_mode))) + { /* that failed, try subdir name with .html */ + strcpy (output_filename, dir); + if (strlen (dir)) + strcat (output_filename, "/"); + strcat (output_filename, basename); + if (mkdir (output_filename, 0777) == -1) + { + char *errmsg = strerror (errno); + + if ((errno == EEXIST +#ifdef __MSDOS__ + || errno == EACCES +#endif + ) + && (stat (output_filename, &st) == 0 && !S_ISDIR (st.st_mode))) + errmsg = _("File exists, but is not a directory"); + line_error (_("Can't create directory `%s': %s"), + output_filename, errmsg); + xexit (1); + } + strcat (output_filename, "/"); + } + else if (strlen (subdir)) + strcat (output_filename, "/"); + strcat (output_filename, index_name); + return output_filename; +} + +/* FIXME: this is way too hairy */ void convert_from_loaded_file (name) char *name; @@ -1262,12 +1457,15 @@ convert_from_loaded_file (name) if (!command_output_filename) { get_until ("\n", &output_filename); /* read rest of line */ - if (html) - { /* Change any extension to .html. */ + if (xml && !docbook) + xml_begin_document (output_filename); + if (html || xml) + { /* Change any extension to .html or .xml. */ char *html_name, *directory_part, *basename_part, *temp; canon_white (output_filename); directory_part = pathname_part (output_filename); + basename_part = filename_part (output_filename); /* Zap any existing extension. */ @@ -1280,7 +1478,7 @@ convert_from_loaded_file (name) + strlen (basename_part) + 6); strcpy (html_name, directory_part); strcat (html_name, basename_part); - strcat (html_name, ".html"); + strcat (html_name, html ? ".html" : ".xml"); /* Replace name from @setfilename with the html name. */ free (output_filename); @@ -1295,17 +1493,19 @@ convert_from_loaded_file (name) input_text_offset = 0; real_output_filename = output_filename = command_output_filename; - command_output_filename = NULL; + command_output_filename = NULL; /* for included files or whatever */ } canon_white (output_filename); + toplevel_output_filename = xstrdup (output_filename); if (real_output_filename && strcmp (real_output_filename, "-") == 0) { if (macro_expansion_filename && strcmp (macro_expansion_filename, "-") == 0) { - fprintf (stderr, _("%s: Skipping macro expansion to stdout as Info output is going there.\n"), + fprintf (stderr, + _("%s: Skipping macro expansion to stdout as Info output is going there.\n"), progname); macro_expansion_output_stream = NULL; } @@ -1315,7 +1515,16 @@ convert_from_loaded_file (name) } else { - if (!real_output_filename) + if (html && splitting) + { + if (FILENAME_CMP (output_filename, NULL_DEVICE) == 0 + || FILENAME_CMP (output_filename, ALSO_NULL_DEVICE) == 0) + splitting = 0; + else + output_filename = insert_toplevel_subdirectory (output_filename); + real_output_filename = xstrdup (output_filename); + } + else if (!real_output_filename) real_output_filename = expand_filename (output_filename, name); else real_output_filename = xstrdup (real_output_filename); @@ -1327,7 +1536,10 @@ convert_from_loaded_file (name) if (verbose_mode) printf (_("Making %s file `%s' from `%s'.\n"), - no_headers ? "text" : (html ? "HTML" : "info"), + no_headers ? "text" + : html ? "HTML" + : xml ? "XML" + : "info", output_filename, input_filename); if (output_stream == NULL) @@ -1338,6 +1550,7 @@ convert_from_loaded_file (name) /* Make the displayable filename from output_filename. Only the base portion of the filename need be displayed. */ + flush_output (); /* in case there was no @bye */ if (output_stream != stdout) pretty_output_filename = filename_part (output_filename); else @@ -1356,12 +1569,15 @@ convert_from_loaded_file (name) } /* html fixxme: should output this as trailer on first page. */ - if (!no_headers && !html) + if (!no_headers && !html && !xml) add_word_args (_("This is %s, produced by makeinfo version %s from %s.\n"), output_filename, VERSION, input_filename); close_paragraph (); reader_loop (); + if (xml) + xml_end_document (); + finished: discard_insertions (0); @@ -1400,6 +1616,7 @@ finished: close_paragraph (); } + flush_output (); /* in case there was no @bye */ if (output_stream != stdout) fclose (output_stream); @@ -1409,10 +1626,10 @@ finished: /* If we need to output the table of contents, do it now. */ if (contents_filename || shortcontents_filename) - toc_update (); + toc_update (); if (splitting && !html && (!errors_printed || force)) - split_file (real_output_filename, 0); + split_file (real_output_filename, split_size); else if (errors_printed && !force && strcmp (real_output_filename, "-") != 0 @@ -1503,7 +1720,7 @@ handle_menu_entry () if (had_menu_commentary) { - add_word ("