Texinfo: Upgrade version from 4.8 to 4.13
authorJohn Marino <draco@marino.st>
Sun, 1 May 2011 11:07:06 +0000 (13:07 +0200)
committerJohn Marino <draco@marino.st>
Sun, 1 May 2011 14:50:53 +0000 (16:50 +0200)
This is the first upgrade of Texinfo in nearly 6 years.
There are 3 new executables:
  * texi2dvi
  * texi2pdf
  * pdftexi2dvi
As the host version 4.8 can not build the tex.info file, a full buildworld
is required to obtain this upgrade.

====================
 4.9 (29 June 2007)
====================
* GPLv3.
* texi2dvi:
  . new mode --build=tidy which supports compilation in a separate
    directory, where intermediate files are preserved.
  . new option --build-dir, to specify where the tidy build will take
    place, either locally or globally.  This allows avoiding the clutter
    while preserving auxiliary files.
  . new support for AUC-TeX: texi2dvi (weakly) supports arguments a la
    TeX such as `\nonstopmode\input{file.tex}'.
  . new options --ps and --dvipdf, useful especially for pstricks docs.
  . new option --src-specials, passed to TeX.
* texinfo.tex:
  . Latin1, Latin2, Latin9, and UTF-8 are supported -- only as well as
    the Computer Modern fonts can manage, which means primarily English
    and western European languages, to a limited extent.
  . png and jpg images supported in pdf output.
  . new Russian, Serbian, and Ukrainian translations for texinfo.tex:
    txi-ru.tex, txi-sr.tex, txi-uk.tex.
  . section names with \ characters work properly in pdf outlines.
  . have .toc files use @ as the escape character, instead of \.

==============
 Version 4.10
==============
Never published.

=========================
 4.11 (9 September 2007)
=========================
* Language:
  . @documentlanguage now supports an optional country code
    specification after the language code, a la gettext.
  . new command @allowcodebreaks controls breaks at _ and - within @code.
  . new command @frenchspacing controls spacing after sentences.
  . new command @fonttextsize allows changing body text font size to 10pt.
  . new command @textdegree{} produces the normal degrees symbol.
  . new command @thischapternum can be used in TeX headers/footers.
  . new commands for quotes: @quotedblleft @quotedblright
     @quoteleft @quoteright  @quotedblbase @quotesinglbase
     @guillemetleft @guillemetright @guilsinglleft @guilsinglright.
  . new option @set txicodequoteundirected produces an undirected quote
    in code and example output, instead of the regular right quote.
  . new option @set txicodequotebacktick produces a grave accent in
    code and example output, instead of the regular left quote.
* makeinfo:
  . The @documentlanguage locale is used to translate various doc strings.
  . --enable-encoding is now the default, meaning Info and plain text
    output use 8-bit characters given a supported @documentencoding.
  . new option --css-ref=URL for creating a stylesheet <link> in HTML.
  . new option --transliterate-file-names to use a reduction-to-ASCII
    algorithm for split HTML file names, useful for non-Latin-based langs.
  . @enddots{} outputs three dots instead of four, for consistency with
    texinfo.tex.
  . the Local Variables coding: setting written by --enable-encoding now
    comes at the very end, after the tags table, so that Emacs can find
    it in more cases.
  . @allow-recursion (not documented) is deprecated and produces a warning.
  . @quote-args (not documented) is now the default behavior.
  . centering and such take account of character widths.
  . the --reference-limit option is now a no-op.
  . improvements to XML and Docbook output and the DTD.
* texinfo.tex:
  . @thissection can now be used in custom headings, and @thischapter
    works reliably even without @set chapternewpage.  Custom headings
    have additional flexibility as well.
* texi2dvi:
  . pdftexi2dvi is a new wrapper to `texi2dvi --pdf', equal to texi2pdf,
    for the sake of AUC-TeX which prepends `pdf' to the compilation
    command when requested to produce PDF.
* info:
  . look for info files in the current directory first, by default.
  . when calling man, use -a if no explicit section is found.
  . avoid showing the top(1) man page for nonexistent info files.
* install-info:
  . new options --section-regex, --remove-exactly, --debug, --test.
* Distribution:
  . autoconf 2.60, automake 1.10, gettext 0.16.1.
  . gettext support now [external].
  . new translations: hu (Hungarian), rw (Kinyarwandan), vi (Vietnamese).
  . most common sources imported from gnulib.

======================
 4.12 (20 April 2008)
======================
* Language:
  . new commands @clicksequence, @click, and @clickstyle for documenting
    GUI sequences, and @arrow for the default glyph used.
  . new commands @geq{} and @leq{} for the normal >= and <= relations.
* install-info:
  . lzma compression supported.
  . Much work towards compatibility with Debian's independent
    implementation.  Changes in behavior:
    - new entries are formatted to start at column 34 by default.
    - existing entries are replaced by default.
    - new sections are alphabetized among existing sections.
    - if an entry being removed is the last one in a section, the
      section is also removed.
  . Also many new options:
    --section REGEX TITLE.
    --no-indent: disable formatting of new entries.
    --menuentry, --name: specify left-hand side of an entry.
    --dry-run: alias for --test.
    --regex REGEX: renamed from --section regex, adds to all sections
      matching REGEX by default.
    --add-once: add only to first specified or matching section.
    --align COL: start description at column COL.
    --calign COL: start continuation lines in description at COL.
    --max-width COL: wrap the description at COL.
  . New section in the Texinfo manual describing all this.
* info:
  Our goal with these changes to the default interface is to make Info
  documents more easily and quickly readable, especially by non-experts.
  . the PageUp and PageDown keys move through the whole document by
    default, instead of just the current node.
  . the h command shows the basic help, and H starts the Info tutorial.
  . the newly-bound x command deletes the current window, e.g. within help.
  . the scroll-step variable is set to 1 by default, for smooth scrolling.
  . the cursor-movement-scrolls-p variable is set to 1 by default, so
    link searches look through the whole document.
  . regular expression searches are supported, and are the default for
    both regular and incremental searches.
  . the new R command toggles between regexp and literal-string searches.
  . the new variable scroll-last-node controls scrolling at the end of
    the last node; by default, it now simply reports there are no more
    nodes.  To restore the old behavior, set scroll-last-node=Scroll.
  . the precise line number specified in index entries is used if avail.
  . --usage=info shows usage for standalone Info.
  . lzma compression supported.
* Distribution:
  . lang support for no removed/renamed to nb, per Norwegian translators.
  . new translation: es.
  . bug fixes in make check (and elsewhere).
  . gettext 0.17, automake 1.10.1, autoconf 2.62.

==========================
 4.13 (18 September 2008)
==========================
* A reference card for Texinfo is now available, in doc/refcard.  For
  convenience, preformatted PDFs for letter-size and A4 paper are included.
* makeinfo:
  . new option --internal-links for HTML output, to write a tsv file
    mapping indexed/toc terms to links, for easy reference from external
    documents.
  . - as an input file name reads standard input.
* info:
  . support for multibyte encodings such as UTF-8.
  . new option --show-malformed-multibytes, to display malformed multibyte
  sequences.
  . new environment variable INFO_MAN_COMMAND sets the name of man binary
  (use it if you a need to override PATH settings).
* install-info:
  . bug fix: support names w/ embedded periods (e.g., config.status) again.
* Distribution:
  . autoconf 2.63.

30 files changed:
contrib/texinfo/README.DELETED [new file with mode: 0644]
contrib/texinfo/README.DRAGONFLY [new file with mode: 0644]
contrib/texinfo/install-info/install-info.c
contrib/texinfo/util/texindex.c
gnu/usr.bin/texinfo/Makefile
gnu/usr.bin/texinfo/Makefile.inc
gnu/usr.bin/texinfo/Makefile.inc0 [new file with mode: 0644]
gnu/usr.bin/texinfo/config.h [deleted file]
gnu/usr.bin/texinfo/doc/Makefile
gnu/usr.bin/texinfo/info/Makefile
gnu/usr.bin/texinfo/info/doc.c [new file with mode: 0644]
gnu/usr.bin/texinfo/info/funs.h [new file with mode: 0644]
gnu/usr.bin/texinfo/infokey/Makefile
gnu/usr.bin/texinfo/infokey/key.c [new file with mode: 0644]
gnu/usr.bin/texinfo/install-info/Makefile
gnu/usr.bin/texinfo/install-info/patches/install-info.c.patch [deleted file]
gnu/usr.bin/texinfo/libgnu/Makefile [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/alloca.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/argz.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/config.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/configmake.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/getopt.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/string.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/sys/stat.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/unitypes.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libgnu/uniwidth.h [new file with mode: 0644]
gnu/usr.bin/texinfo/libtxi/Makefile
gnu/usr.bin/texinfo/makeinfo/Makefile
gnu/usr.bin/texinfo/texindex/Makefile
gnu/usr.bin/texinfo/texindex/texindex.c.patch [deleted file]

diff --git a/contrib/texinfo/README.DELETED b/contrib/texinfo/README.DELETED
new file mode 100644 (file)
index 0000000..aa31586
--- /dev/null
@@ -0,0 +1,109 @@
+ABOUT-NLS
+AUTHORS
+ChangeLog
+ChangeLog.46
+INSTALL
+INSTALL.generic
+INTRODUCTION
+Makefile.am
+Makefile.in
+NEWS
+README.dev
+TODO
+aclocal.m4
+build-aux/
+config.in
+configure
+configure.ac
+djgpp/
+doc/Makefile.am
+doc/Makefile.in
+doc/README
+doc/epsf.tex
+doc/refcard/
+doc/stamp-1
+doc/stamp-vti
+doc/txi-cs.tex
+doc/txi-de.tex
+doc/txi-en.tex
+doc/txi-es.tex
+doc/txi-fr.tex
+doc/txi-it.tex
+doc/txi-nb.tex
+doc/txi-nl.tex
+doc/txi-pl.tex
+doc/txi-pt.tex
+doc/txi-ru.tex
+doc/txi-sr.tex
+doc/txi-tr.tex
+doc/txi-uk.tex
+gnulib/lib/Makefile.am
+gnulib/lib/Makefile.in
+gnulib/lib/alloca.in.h
+gnulib/lib/argz.in.h
+gnulib/lib/config.charset
+gnulib/lib/getopt.in.h
+gnulib/lib/gettimeofday.c
+gnulib/lib/ref-add.sin
+gnulib/lib/ref-del.sin
+gnulib/lib/setenv.c
+gnulib/lib/stdbool.in.h
+gnulib/lib/stdint.in.h
+gnulib/lib/stdlib.in.h
+gnulib/lib/stpcpy.c
+gnulib/lib/strdup.c
+gnulib/lib/strerror.c
+gnulib/lib/string.in.h
+gnulib/lib/strndup.c
+gnulib/lib/strnlen.c
+gnulib/lib/sys_stat.in.h
+gnulib/lib/sys_time.in.h
+gnulib/lib/unistd.in.h
+gnulib/lib/unsetenv.c
+gnulib/lib/wchar.in.h
+gnulib/lib/wctype.in.h
+gnulib/m4/
+info/Makefile.am
+info/Makefile.in
+info/README
+info/makedoc.c
+install-info/Makefile.am
+install-info/Makefile.in
+install-info/README
+install-info/tests/
+lib/Makefile.am
+lib/Makefile.in
+lib/README
+makeinfo/Makefile.am
+makeinfo/Makefile.in
+makeinfo/README
+makeinfo/tests/
+po/
+util/Makefile.am
+util/Makefile.in
+util/README
+util/bibtex.test
+util/defs.in
+util/deref.c
+util/dir-example
+util/dvipdf.test
+util/fix-info-dir
+util/fixfonts
+util/fixref.gawk
+util/gdoc
+util/gen-dir-node
+util/gendocs.sh
+util/gendocs_template
+util/infosrch
+util/install-info-html
+util/latex2html.test
+util/local.test
+util/outline.gawk
+util/prepinfo.awk
+util/tex3patch
+util/texi-docstring-magic.el
+util/texi2dvi.test
+util/texinfo-cat.in
+util/texinfo.dtd
+util/texinfo.xsl
+util/txitextest
diff --git a/contrib/texinfo/README.DRAGONFLY b/contrib/texinfo/README.DRAGONFLY
new file mode 100644 (file)
index 0000000..7de7a03
--- /dev/null
@@ -0,0 +1,16 @@
+TEXINFO 4.13
+============
+
+Original source can be downloaded from:
+http://ftp.gnu.org/gnu/texinfo
+
+file = texinfo-4.13a.tar.gz
+date = 22 Sep 2008
+size = 2751071
+sha1 = a1533cf8e03ea4fa6c443b73f4c85e4da04dead0
+
+A list of files and directories removed is in README.DELETED
+
+Local modifications applied to following files:
+       install-info/install-info.c
+       util/texindex.c
index d61697d..25f5740 100644 (file)
@@ -25,6 +25,7 @@
 #define TAB_WIDTH 8
 
 static char *progname = "install-info";
+static char *default_section = NULL;
 
 struct spec_entry;
 struct spec_section;
@@ -145,6 +146,8 @@ struct option longopts[] =
   { "calign",    required_argument, NULL, 'C'},
   { "debug",     no_argument, NULL, 'g' },
   { "delete",    no_argument, NULL, 'r' },
+  { "defentry",  required_argument, NULL, 'E' },
+  { "defsection", required_argument, NULL, 'S' },
   { "dir-file",  required_argument, NULL, 'd' },
   { "entry",     required_argument, NULL, 'e' },
   { "name",      required_argument, NULL, 't' },
@@ -515,6 +518,10 @@ Options:\n\
  --debug             report what is being done.\n\
  --delete            delete existing entries for INFO-FILE from DIR-FILE;\n\
                       don't insert any new entries.\n\
+ --defentry=TEXT     like --entry, but only use TEXT if an entry\n\
+                       is not present in INFO-FILE.\n\
+ --defsection=TEXT   like --section, but only use TEXT if a section\n\
+                       is not present in INFO-FILE.\n\
  --description=TEXT  the description of the entry is TEXT; used with\n\
                       the --name option to become synonymous with the\n\
                       --entry option.\n\
@@ -1033,7 +1040,8 @@ parse_input (const struct line_data *lines, int nlines,
                      specified.  Default to section "Miscellaneous".  */
                   *sections = (struct spec_section *)
                     xmalloc (sizeof (struct spec_section));
-                  (*sections)->name = "Miscellaneous";
+                  (*sections)->name = default_section ?
+                    default_section : "Miscellaneous";
                   (*sections)->next = 0;
                   (*sections)->missing = 1;
                   head = *sections;
@@ -1814,6 +1822,8 @@ main (int argc, char *argv[])
   struct spec_entry *entries_to_add = NULL;
   struct spec_entry *entries_to_add_from_file = NULL;
   int n_entries_to_add = 0;
+  struct spec_entry *default_entries_to_add = NULL;
+  int n_default_entries_to_add = 0;
 
   /* Record the old text of the dir file, as plain characters,
      as lines, and as nodes.  */
@@ -1840,9 +1850,11 @@ main (int argc, char *argv[])
   setlocale (LC_ALL, "");
 #endif
 
+#ifdef ENABLE_NLS
   /* Set the text message domain.  */
   bindtextdomain (PACKAGE, LOCALEDIR);
   textdomain (PACKAGE);
+#endif
 
   munge_old_style_debian_options (argc, argv, &argc, &argv);
 
@@ -1998,6 +2010,7 @@ main (int argc, char *argv[])
           }
           break;
 
+        case 'E':
         case 'e':
           {
             struct spec_entry *next
@@ -2012,12 +2025,21 @@ main (int argc, char *argv[])
             next->text_len = olen;
             next->entry_sections = NULL;
             next->entry_sections_tail = NULL;
-            next->next = entries_to_add;
             next->missing_name = 0;
             next->missing_basename = 0;
             next->missing_description = 0;
-            entries_to_add = next;
-            n_entries_to_add++;
+           if (opt == 'e')
+             {
+               next->next = entries_to_add;
+               entries_to_add = next;
+               n_entries_to_add++;
+             }
+           else
+             {
+               next->next = default_entries_to_add;
+               default_entries_to_add = next;
+               n_default_entries_to_add++;
+             }
           }
           break;
 
@@ -2095,6 +2117,10 @@ main (int argc, char *argv[])
           }
           break;
 
+       case 'S':
+         default_section = optarg;
+         break;
+
         case 'V':
           printf ("install-info (GNU %s) %s\n", PACKAGE, VERSION);
           puts ("");
@@ -2273,7 +2299,8 @@ There is NO WARRANTY, to the extent permitted by law.\n"),
         {
           input_sections = (struct spec_section *)
             xmalloc (sizeof (struct spec_section));
-          input_sections->name = "Miscellaneous";
+          input_sections->name = default_section ?
+            default_section : "Miscellaneous";
           input_sections->next = NULL;
           input_sections->missing = 1;
         }
index 431f27e..dc19994 100644 (file)
@@ -132,9 +132,11 @@ main (int argc, char *argv[])
   setlocale (LC_ALL, "");
 #endif
 
+#ifdef ENABLE_NLS
   /* Set the text message domain.  */
   bindtextdomain (PACKAGE, LOCALEDIR);
   textdomain (PACKAGE);
+#endif
 
   /* In case we write to a redirected stdout that fails.  */
   /* not ready atexit (close_stdout); */
index aec31a7..add966e 100644 (file)
@@ -1,8 +1,10 @@
-#
-# $FreeBSD: src/gnu/usr.bin/texinfo/Makefile,v 1.10.2.1 2002/03/30 17:09:24 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/Makefile,v 1.2 2003/06/17 04:25:49 dillon Exp $
-#
-
-SUBDIR= libtxi makeinfo info infokey install-info texindex doc
+SUBDIR= libgnu \
+       libtxi \
+       install-info \
+       info \
+       infokey \
+       makeinfo \
+       texindex \
+       doc
 
 .include <bsd.subdir.mk>
index f2cc579..1279aa3 100644 (file)
@@ -1,16 +1 @@
-# $FreeBSD: src/gnu/usr.bin/texinfo/Makefile.inc,v 1.11 2000/01/17 10:59:13 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/Makefile.inc,v 1.3 2005/08/28 12:25:04 asmodai Exp $
-
-TOPLVLDIR:=    ${.CURDIR}/..
-TXIDIR=                ${.CURDIR}/../../../../contrib/texinfo-4
-
-.if exists(${.OBJDIR}/../libtxi)
-LIBTXI=                ${.OBJDIR}/../libtxi/libtxi.a
-.else
-LIBTXI=                ${.CURDIR}/../libtxi/libtxi.a
-.endif
-
-CFLAGS+=       -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/share/locale\" \
-               -I${TOPLVLDIR} -I${TXIDIR} -I${TXIDIR}/lib
-
-.include "../Makefile.inc"
+BASEDIR=       ${.CURDIR}/${RELATIVE}../../../../contrib/texinfo
\ No newline at end of file
diff --git a/gnu/usr.bin/texinfo/Makefile.inc0 b/gnu/usr.bin/texinfo/Makefile.inc0
new file mode 100644 (file)
index 0000000..8c900a0
--- /dev/null
@@ -0,0 +1,14 @@
+RELTOP:= ..
+
+RELSRC=                ${RELTOP}/../../../contrib/texinfo
+SRCDIR=                ${.CURDIR}/${RELSRC}
+
+CFLAGS+=       -I. -I${.CURDIR}
+
+DPADD=         ${RELTOP}/libgnu/libgnu.a
+LDADD=         ${RELTOP}/libgnu/libgnu.a
+DPADD+=                ${RELTOP}/libtxi/libtxi.a
+LDADD+=                ${RELTOP}/libtxi/libtxi.a
+
+
+BINDIR?=       /usr/bin
diff --git a/gnu/usr.bin/texinfo/config.h b/gnu/usr.bin/texinfo/config.h
deleted file mode 100644 (file)
index ebcdb92..0000000
+++ /dev/null
@@ -1,423 +0,0 @@
-/* $DragonFly: src/gnu/usr.bin/texinfo/config.h,v 1.1 2005/08/28 12:25:04 asmodai Exp $ */
-
-/* config.h.  Generated by configure.  */
-/* config.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
-   systems. This function is required for `alloca.c' support on those systems.
-   */
-/* #undef CRAY_STACKSEG_END */
-
-/* Define to 1 if using `alloca.c'. */
-/* #undef C_ALLOCA */
-
-/* Define to 1 if translation of program messages to the user's native
-   language is requested. */
-/* #undef ENABLE_NLS */
-
-/* Define to 1 if `TIOCGWINSZ' requires <sys/ioctl.h>. */
-/* #undef GWINSZ_IN_SYS_IOCTL */
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#define HAVE_ALLOCA 1
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
-/* #undef HAVE_ALLOCA_H */
-
-/* Define to 1 if you have the <argz.h> header file. */
-/* #undef HAVE_ARGZ_H */
-
-/* Define to 1 if you have the `asprintf' function. */
-#define HAVE_ASPRINTF 1
-
-/* Define to 1 if you have the `bzero' function. */
-#define HAVE_BZERO 1
-
-/* Define if the GNU dcgettext() function is already present or preinstalled.
-   */
-/* #undef HAVE_DCGETTEXT */
-
-/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
-   don't. */
-#define HAVE_DECL_FEOF_UNLOCKED 1
-
-/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
-   you don't. */
-#define HAVE_DECL_FGETS_UNLOCKED 0
-
-/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
-   don't. */
-#define HAVE_DECL_GETC_UNLOCKED 1
-
-/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
-   */
-#define HAVE_DECL_GETENV 1
-
-/* Define to 1 if you have the declaration of `memchr', and to 0 if you don't.
-   */
-#define HAVE_DECL_MEMCHR 1
-
-/* Define to 1 if you have the declaration of `strcoll', and to 0 if you
-   don't. */
-#define HAVE_DECL_STRCOLL 1
-
-/* Define to 1 if you have the declaration of `strerror', and to 0 if you
-   don't. */
-#define HAVE_DECL_STRERROR 1
-
-/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
-   don't. */
-#define HAVE_DECL__SNPRINTF 0
-
-/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you
-   don't. */
-#define HAVE_DECL__SNWPRINTF 0
-
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-/* #undef HAVE_DOPRNT */
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define to 1 if you have the `fwprintf' function. */
-#define HAVE_FWPRINTF 1
-
-/* Define to 1 if you have the `getcwd' function. */
-#define HAVE_GETCWD 1
-
-/* Define to 1 if you have the `getegid' function. */
-#define HAVE_GETEGID 1
-
-/* Define to 1 if you have the `geteuid' function. */
-#define HAVE_GETEUID 1
-
-/* Define to 1 if you have the `getgid' function. */
-#define HAVE_GETGID 1
-
-/* Define to 1 if you have the `getpagesize' function. */
-#define HAVE_GETPAGESIZE 1
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-/* #undef HAVE_GETTEXT */
-
-/* Define to 1 if you have the `gettimeofday' function. */
-/* #undef HAVE_GETTIMEOFDAY */
-
-/* Define to 1 if you have the `getuid' function. */
-#define HAVE_GETUID 1
-
-/* Define if you have the iconv() function. */
-#define HAVE_ICONV 1
-
-/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
-#define HAVE_INTMAX_T 1
-
-/* Define if <inttypes.h> exists and doesn't clash with <sys/types.h>. */
-#define HAVE_INTTYPES_H 1
-
-/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
-   declares uintmax_t. */
-#define HAVE_INTTYPES_H_WITH_UINTMAX 1
-
-/* Define to 1 if you have the <io.h> header file. */
-/* #undef HAVE_IO_H */
-
-/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#define HAVE_LANGINFO_CODESET 1
-
-/* Define if your <locale.h> file defines LC_MESSAGES. */
-#define HAVE_LC_MESSAGES 1
-
-/* Define to 1 if you have the `bsd' library (-lbsd). */
-/* #undef HAVE_LIBBSD */
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the <locale.h> header file. */
-#define HAVE_LOCALE_H 1
-
-/* Define if you have the 'long double' type. */
-#define HAVE_LONG_DOUBLE 1
-
-/* Define if you have the 'long long' type. */
-#define HAVE_LONG_LONG 1
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H 1
-
-/* Define to 1 if you have the `memcpy' function. */
-#define HAVE_MEMCPY 1
-
-/* Define to 1 if you have the `memmove' function. */
-#define HAVE_MEMMOVE 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `mempcpy' function. */
-/* #undef HAVE_MEMPCPY */
-
-/* Define to 1 if you have the `memset' function. */
-#define HAVE_MEMSET 1
-
-/* Define to 1 if you have the `mkstemp' function. */
-#define HAVE_MKSTEMP 1
-
-/* Define to 1 if you have a working `mmap' system call. */
-#define HAVE_MMAP 1
-
-/* Define to 1 if you have the `munmap' function. */
-#define HAVE_MUNMAP 1
-
-/* Define to 1 if you have the <ncurses/termcap.h> header file. */
-/* #undef HAVE_NCURSES_TERMCAP_H */
-
-/* Define to 1 if you have the <nl_types.h> header file. */
-#define HAVE_NL_TYPES_H 1
-
-/* Define if your printf() function supports format strings with positions. */
-#define HAVE_POSIX_PRINTF 1
-
-/* Define to 1 if you have the `putenv' function. */
-#define HAVE_PUTENV 1
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#define HAVE_PWD_H 1
-
-/* Define to 1 if you have the `setenv' function. */
-#define HAVE_SETENV 1
-
-/* Define to 1 if you have the `setlocale' function. */
-#define HAVE_SETLOCALE 1
-
-/* Define to 1 if you have the `setvbuf' function. */
-#define HAVE_SETVBUF 1
-
-/* Define to 1 if you have the `sigaction' function. */
-#define HAVE_SIGACTION 1
-
-/* Define to 1 if you have the `sigprocmask' function. */
-#define HAVE_SIGPROCMASK 1
-
-/* Define to 1 if you have the `sigsetmask' function. */
-#define HAVE_SIGSETMASK 1
-
-/* Define to 1 if you have the `snprintf' function. */
-#define HAVE_SNPRINTF 1
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#define HAVE_STDDEF_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
-   uintmax_t. */
-#define HAVE_STDINT_H_WITH_UINTMAX 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `stpcpy' function. */
-/* #undef HAVE_STPCPY */
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#define HAVE_STRCASECMP 1
-
-/* Define to 1 if you have the `strchr' function. */
-#define HAVE_STRCHR 1
-
-/* Define to 1 if you have the `strcoll' function and it is properly defined.
-   */
-#define HAVE_STRCOLL 1
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strerror' function. */
-#define HAVE_STRERROR 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strncasecmp' function. */
-#define HAVE_STRNCASECMP 1
-
-/* Define to 1 if you have the `strtoul' function. */
-#define HAVE_STRTOUL 1
-
-/* Define to 1 if you have the <sys/fcntl.h> header file. */
-#define HAVE_SYS_FCNTL_H 1
-
-/* Define to 1 if you have the <sys/file.h> header file. */
-#define HAVE_SYS_FILE_H 1
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define to 1 if you have the <sys/ptem.h> header file. */
-/* #undef HAVE_SYS_PTEM_H */
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/stream.h> header file. */
-/* #undef HAVE_SYS_STREAM_H */
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/ttold.h> header file. */
-/* #undef HAVE_SYS_TTOLD_H */
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define to 1 if you have the <termcap.h> header file. */
-#define HAVE_TERMCAP_H 1
-
-/* Define to 1 if you have the <termios.h> header file. */
-#define HAVE_TERMIOS_H 1
-
-/* Define to 1 if you have the <termio.h> header file. */
-/* #undef HAVE_TERMIO_H */
-
-/* Define to 1 if you have the `tsearch' function. */
-#define HAVE_TSEARCH 1
-
-/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */
-#define HAVE_UINTMAX_T 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define if you have the 'unsigned long long' type. */
-#define HAVE_UNSIGNED_LONG_LONG 1
-
-/* Define to 1 if you have the `vprintf' function. */
-#define HAVE_VPRINTF 1
-
-/* Define if you have the 'wchar_t' type. */
-#define HAVE_WCHAR_T 1
-
-/* Define to 1 if you have the `wcslen' function. */
-#define HAVE_WCSLEN 1
-
-/* Define if you have the 'wint_t' type. */
-#define HAVE_WINT_T 1
-
-/* Define to 1 if you have the `__argz_count' function. */
-/* #undef HAVE___ARGZ_COUNT */
-
-/* Define to 1 if you have the `__argz_next' function. */
-/* #undef HAVE___ARGZ_NEXT */
-
-/* Define to 1 if you have the `__argz_stringify' function. */
-/* #undef HAVE___ARGZ_STRINGIFY */
-
-/* Define to 1 if you have the `__fsetlocking' function. */
-/* #undef HAVE___FSETLOCKING */
-
-/* Define to 1 if you have the `__secure_getenv' function. */
-/* #undef HAVE___SECURE_GETENV */
-
-/* Define as const if the declaration of iconv() needs const. */
-#define ICONV_CONST 
-
-/* Define if integer division by zero raises signal SIGFPE. */
-#define INTDIV0_RAISES_SIGFPE 1
-
-/* Name of package */
-#define PACKAGE "texinfo"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "GNU Texinfo"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU Texinfo 4.8"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "texinfo"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "4.8"
-
-/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
-/* #undef PRI_MACROS_BROKEN */
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* Define as the maximum value of type 'size_t', if the system doesn't define
-   it. */
-/* #undef SIZE_MAX */
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at run-time.
-       STACK_DIRECTION > 0 => grows toward higher addresses
-       STACK_DIRECTION < 0 => grows toward lower addresses
-       STACK_DIRECTION = 0 => direction of growth unknown */
-/* #undef STACK_DIRECTION */
-
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-/* #undef STAT_MACROS_BROKEN */
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if your <sys/time.h> declares `struct tm'. */
-/* #undef TM_IN_SYS_TIME */
-
-/* Version number of package */
-#define VERSION "4.8"
-
-/* Define to 1 if on MINIX. */
-/* #undef _MINIX */
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-/* #undef inline */
-#endif
-
-/* Define to rpl_mkstemp if the replacement function should be used. */
-/* #undef mkstemp */
-
-/* Define to `long' if <sys/types.h> does not define. */
-/* #undef off_t */
-
-/* Define as the type of the result of subtracting two pointers, if the system
-   doesn't define it. */
-/* #undef ptrdiff_t */
-
-/* Define to empty if the C compiler doesn't support this keyword. */
-/* #undef signed */
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-/* #undef size_t */
-
-/* Define to unsigned long or unsigned long long if <stdint.h> and
-   <inttypes.h> don't define. */
-/* #undef uintmax_t */
index af3bfad..145d88e 100644 (file)
@@ -1,12 +1,12 @@
-# $FreeBSD: src/gnu/usr.bin/texinfo/doc/Makefile,v 1.12 2000/01/17 10:59:24 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/doc/Makefile,v 1.3 2005/07/07 11:49:55 corecode Exp $
+.include "../Makefile.inc"
 
-INFO=  info info-stnd texinfo
-SRCDIR=        ${TXIDIR}/doc
+INFO=          info info-stnd texinfo
+SRCDIR=                ${BASEDIR}/doc
+INFOSECTION=   "System Utilities"
 
-CLEANFILES=    texinfo.texi
-
-texinfo.texi: texinfo.txi
+texinfo.texi:  texinfo.txi
        ${LN} -fs ${.ALLSRC} ${.TARGET}
+       
+CLEANFILES=    texinfo.texi
 
 .include <bsd.info.mk>
index 7e73a9a..b3a9715 100644 (file)
@@ -1,19 +1,37 @@
-# $FreeBSD: src/gnu/usr.bin/texinfo/info/Makefile,v 1.10.2.4 2002/08/07 16:53:35 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/info/Makefile,v 1.4 2007/03/25 11:35:11 swildner Exp $
+.include "../Makefile.inc0"
+.PATH: ${SRCDIR}/info ${SRCDIR}/doc
 
-PROG=  info
-MAN=   info.1 info.5 texinfo.5
+PROG=          info
+MAN=           info.1 info.5 texinfo.5
 
-SRCS=  dir.c display.c doc.c dribble.c echo-area.c filesys.c \
-       footnotes.c gc.c indices.c info-utils.c info.c infodoc.c \
-       infomap.c m-x.c man.c nodemenu.c nodes.c search.c session.c \
-       signals.c terminal.c tilde.c variables.c window.c
+LDADD+=                -lncurses
+CFLAGS+=       -I${SRCDIR} -I${SRCDIR}/lib -I${SRCDIR}/gnulib/lib
+CFLAGS+=       -I${SRCDIR}/info -I${.CURDIR}/../libgnu
+CFLAGS+=       -DHAVE_CONFIG_H
 
-CFLAGS+= -DINFODIR=\"${INFODIR}:/usr/pkg/info:/usr/local/info:/usr/pkg/xorg/info:/usr/X11R6/info:.\"
-
-DPADD= ${LIBTERMCAP} ${LIBTXI}
-LDADD= -ltermcap ${LIBTXI}
+SRCS=  dir.c \
+       display.c \
+       dribble.c \
+       echo-area.c \
+       filesys.c \
+       footnotes.c \
+       gc.c \
+       indices.c \
+       info-utils.c \
+       info.c \
+       infodoc.c \
+       infomap.c \
+       m-x.c \
+       man.c \
+       nodemenu.c \
+       nodes.c \
+       search.c \
+       session.c \
+       signals.c \
+       terminal.c \
+       tilde.c \
+       variables.c \
+       window.c \
+       doc.c
 
 .include <bsd.prog.mk>
-
-.PATH: ${TXIDIR}/info ${TXIDIR}/doc
diff --git a/gnu/usr.bin/texinfo/info/doc.c b/gnu/usr.bin/texinfo/info/doc.c
new file mode 100644 (file)
index 0000000..ac370d1
--- /dev/null
@@ -0,0 +1,147 @@
+/* doc.c -- Generated structure containing function names and doc strings.
+
+   This file was automatically made from various source files with the
+   command `..//info/makedoc'.  DO NOT EDIT THIS FILE, only `..//info/makedoc.c'.
+   Source files groveled to make this file include:
+
+       ./session.c
+       ./echo-area.c
+       ./infodoc.c
+       ./m-x.c
+       ./indices.c
+       ./nodemenu.c
+       ./footnotes.c
+       ./variables.c
+
+   An entry in the array FUNCTION_DOC_ARRAY is made for each command
+   found in the above files; each entry consists of a function pointer,
+   a string which is the user-visible name of the function,
+   and a string which documents its purpose. */
+
+#include "info.h"
+#include "funs.h"
+
+FUNCTION_DOC function_doc_array[] = {
+
+/* Commands found in "./session.c". */
+   { (VFunction *)info_next_line, "next-line", (FUNCTION_KEYSEQ *)0, "Move down to the next line" },
+   { (VFunction *)info_prev_line, "prev-line", (FUNCTION_KEYSEQ *)0, "Move up to the previous line" },
+   { (VFunction *)info_end_of_line, "end-of-line", (FUNCTION_KEYSEQ *)0, "Move to the end of the line" },
+   { (VFunction *)info_beginning_of_line, "beginning-of-line", (FUNCTION_KEYSEQ *)0, "Move to the start of the line" },
+   { (VFunction *)info_forward_char, "forward-char", (FUNCTION_KEYSEQ *)0, "Move forward a character" },
+   { (VFunction *)info_backward_char, "backward-char", (FUNCTION_KEYSEQ *)0, "Move backward a character" },
+   { (VFunction *)info_forward_word, "forward-word", (FUNCTION_KEYSEQ *)0, "Move forward a word" },
+   { (VFunction *)info_backward_word, "backward-word", (FUNCTION_KEYSEQ *)0, "Move backward a word" },
+   { (VFunction *)info_global_next_node, "global-next-node", (FUNCTION_KEYSEQ *)0, "Move forwards or down through node structure" },
+   { (VFunction *)info_global_prev_node, "global-prev-node", (FUNCTION_KEYSEQ *)0, "Move backwards or up through node structure" },
+   { (VFunction *)info_scroll_forward, "scroll-forward", (FUNCTION_KEYSEQ *)0, "Scroll forward in this window" },
+   { (VFunction *)info_scroll_forward_set_window, "scroll-forward-set-window", (FUNCTION_KEYSEQ *)0, "Scroll forward in this window and set default window size" },
+   { (VFunction *)info_scroll_forward_page_only, "scroll-forward-page-only", (FUNCTION_KEYSEQ *)0, "Scroll forward in this window staying within node" },
+   { (VFunction *)info_scroll_forward_page_only_set_window, "scroll-forward-page-only-set-window", (FUNCTION_KEYSEQ *)0, "Scroll forward in this window staying within node and set default window size" },
+   { (VFunction *)info_scroll_backward, "scroll-backward", (FUNCTION_KEYSEQ *)0, "Scroll backward in this window" },
+   { (VFunction *)info_scroll_backward_set_window, "scroll-backward-set-window", (FUNCTION_KEYSEQ *)0, "Scroll backward in this window and set default window size" },
+   { (VFunction *)info_scroll_backward_page_only, "scroll-backward-page-only", (FUNCTION_KEYSEQ *)0, "Scroll backward in this window staying within node" },
+   { (VFunction *)info_scroll_backward_page_only_set_window, "scroll-backward-page-only-set-window", (FUNCTION_KEYSEQ *)0, "Scroll backward in this window staying within node and set default window size" },
+   { (VFunction *)info_beginning_of_node, "beginning-of-node", (FUNCTION_KEYSEQ *)0, "Move to the start of this node" },
+   { (VFunction *)info_end_of_node, "end-of-node", (FUNCTION_KEYSEQ *)0, "Move to the end of this node" },
+   { (VFunction *)info_down_line, "down-line", (FUNCTION_KEYSEQ *)0, "Scroll down by lines" },
+   { (VFunction *)info_up_line, "up-line", (FUNCTION_KEYSEQ *)0, "Scroll up by lines" },
+   { (VFunction *)info_scroll_half_screen_down, "scroll-half-screen-down", (FUNCTION_KEYSEQ *)0, "Scroll down by half screen size" },
+   { (VFunction *)info_scroll_half_screen_up, "scroll-half-screen-up", (FUNCTION_KEYSEQ *)0, "Scroll up by half screen size" },
+   { (VFunction *)info_next_window, "next-window", (FUNCTION_KEYSEQ *)0, "Select the next window" },
+   { (VFunction *)info_prev_window, "prev-window", (FUNCTION_KEYSEQ *)0, "Select the previous window" },
+   { (VFunction *)info_split_window, "split-window", (FUNCTION_KEYSEQ *)0, "Split the current window" },
+   { (VFunction *)info_delete_window, "delete-window", (FUNCTION_KEYSEQ *)0, "Delete the current window" },
+   { (VFunction *)info_keep_one_window, "keep-one-window", (FUNCTION_KEYSEQ *)0, "Delete all other windows" },
+   { (VFunction *)info_scroll_other_window, "scroll-other-window", (FUNCTION_KEYSEQ *)0, "Scroll the other window" },
+   { (VFunction *)info_scroll_other_window_backward, "scroll-other-window-backward", (FUNCTION_KEYSEQ *)0, "Scroll the other window backward" },
+   { (VFunction *)info_grow_window, "grow-window", (FUNCTION_KEYSEQ *)0, "Grow (or shrink) this window" },
+   { (VFunction *)info_tile_windows, "tile-windows", (FUNCTION_KEYSEQ *)0, "Divide the available screen space among the visible windows" },
+   { (VFunction *)info_toggle_wrap, "toggle-wrap", (FUNCTION_KEYSEQ *)0, "Toggle the state of line wrapping in the current window" },
+   { (VFunction *)info_toggle_regexp, "toggle-regexp", (FUNCTION_KEYSEQ *)0, "Toggle the usage of regular expressions in searches" },
+   { (VFunction *)info_next_node, "next-node", (FUNCTION_KEYSEQ *)0, "Select the Next node" },
+   { (VFunction *)info_prev_node, "prev-node", (FUNCTION_KEYSEQ *)0, "Select the Prev node" },
+   { (VFunction *)info_up_node, "up-node", (FUNCTION_KEYSEQ *)0, "Select the Up node" },
+   { (VFunction *)info_last_node, "last-node", (FUNCTION_KEYSEQ *)0, "Select the last node in this file" },
+   { (VFunction *)info_first_node, "first-node", (FUNCTION_KEYSEQ *)0, "Select the first node in this file" },
+   { (VFunction *)info_last_menu_item, "last-menu-item", (FUNCTION_KEYSEQ *)0, "Select the last item in this node's menu" },
+   { (VFunction *)info_menu_digit, "menu-digit", (FUNCTION_KEYSEQ *)0, "Select this menu item" },
+   { (VFunction *)info_menu_item, "menu-item", (FUNCTION_KEYSEQ *)0, "Read a menu item and select its node" },
+   { (VFunction *)info_xref_item, "xref-item", (FUNCTION_KEYSEQ *)0, "Read a footnote or cross reference and select its node" },
+   { (VFunction *)info_find_menu, "find-menu", (FUNCTION_KEYSEQ *)0, "Move to the start of this node's menu" },
+   { (VFunction *)info_visit_menu, "visit-menu", (FUNCTION_KEYSEQ *)0, "Visit as many menu items at once as possible" },
+   { (VFunction *)info_goto_node, "goto-node", (FUNCTION_KEYSEQ *)0, "Read a node name and select it" },
+   { (VFunction *)info_menu_sequence, "menu-sequence", (FUNCTION_KEYSEQ *)0, "Read a list of menus starting from dir and follow them" },
+   { (VFunction *)info_goto_invocation_node, "goto-invocation-node", (FUNCTION_KEYSEQ *)0, "Find the node describing program invocation" },
+   { (VFunction *)info_man, "man", (FUNCTION_KEYSEQ *)0, "Read a manpage reference and select it" },
+   { (VFunction *)info_top_node, "top-node", (FUNCTION_KEYSEQ *)0, "Select the node `Top' in this file" },
+   { (VFunction *)info_dir_node, "dir-node", (FUNCTION_KEYSEQ *)0, "Select the node `(dir)'" },
+   { (VFunction *)info_history_node, "history-node", (FUNCTION_KEYSEQ *)0, "Select the most recently selected node" },
+   { (VFunction *)info_kill_node, "kill-node", (FUNCTION_KEYSEQ *)0, "Kill this node" },
+   { (VFunction *)info_view_file, "view-file", (FUNCTION_KEYSEQ *)0, "Read the name of a file and select it" },
+   { (VFunction *)info_print_node, "print-node", (FUNCTION_KEYSEQ *)0, "Pipe the contents of this node through INFO_PRINT_COMMAND" },
+   { (VFunction *)info_search_case_sensitively, "search-case-sensitively", (FUNCTION_KEYSEQ *)0, "Read a string and search for it case-sensitively" },
+   { (VFunction *)info_search, "search", (FUNCTION_KEYSEQ *)0, "Read a string and search for it" },
+   { (VFunction *)info_search_backward, "search-backward", (FUNCTION_KEYSEQ *)0, "Read a string and search backward for it" },
+   { (VFunction *)info_search_next, "search-next", (FUNCTION_KEYSEQ *)0, "Repeat last search in the same direction" },
+   { (VFunction *)info_search_previous, "search-previous", (FUNCTION_KEYSEQ *)0, "Repeat last search in the reverse direction" },
+   { (VFunction *)isearch_forward, "isearch-forward", (FUNCTION_KEYSEQ *)0, "Search interactively for a string as you type it" },
+   { (VFunction *)isearch_backward, "isearch-backward", (FUNCTION_KEYSEQ *)0, "Search interactively for a string as you type it" },
+   { (VFunction *)info_move_to_prev_xref, "move-to-prev-xref", (FUNCTION_KEYSEQ *)0, "Move to the previous cross reference" },
+   { (VFunction *)info_move_to_next_xref, "move-to-next-xref", (FUNCTION_KEYSEQ *)0, "Move to the next cross reference" },
+   { (VFunction *)info_select_reference_this_line, "select-reference-this-line", (FUNCTION_KEYSEQ *)0, "Select reference or menu item appearing on this line" },
+   { (VFunction *)info_abort_key, "abort-key", (FUNCTION_KEYSEQ *)0, "Cancel current operation" },
+   { (VFunction *)info_move_to_window_line, "move-to-window-line", (FUNCTION_KEYSEQ *)0, "Move the cursor to a specific line of the window" },
+   { (VFunction *)info_redraw_display, "redraw-display", (FUNCTION_KEYSEQ *)0, "Redraw the display" },
+   { (VFunction *)info_quit, "quit", (FUNCTION_KEYSEQ *)0, "Quit using Info" },
+   { (VFunction *)info_do_lowercase_version, "do-lowercase-version", (FUNCTION_KEYSEQ *)0, "Run command bound to this key's lowercase variant" },
+   { (VFunction *)info_add_digit_to_numeric_arg, "add-digit-to-numeric-arg", (FUNCTION_KEYSEQ *)0, "Add this digit to the current numeric argument" },
+   { (VFunction *)info_universal_argument, "universal-argument", (FUNCTION_KEYSEQ *)0, "Start (or multiply by 4) the current numeric argument" },
+   { (VFunction *)info_numeric_arg_digit_loop, "numeric-arg-digit-loop", (FUNCTION_KEYSEQ *)0, "Internally used by \\[universal-argument]" },
+/* Commands found in "./echo-area.c". */
+   { (VFunction *)ea_forward, "echo-area-forward", (FUNCTION_KEYSEQ *)0, "Move forward a character" },
+   { (VFunction *)ea_backward, "echo-area-backward", (FUNCTION_KEYSEQ *)0, "Move backward a character" },
+   { (VFunction *)ea_beg_of_line, "echo-area-beg-of-line", (FUNCTION_KEYSEQ *)0, "Move to the start of this line" },
+   { (VFunction *)ea_end_of_line, "echo-area-end-of-line", (FUNCTION_KEYSEQ *)0, "Move to the end of this line" },
+   { (VFunction *)ea_forward_word, "echo-area-forward-word", (FUNCTION_KEYSEQ *)0, "Move forward a word" },
+   { (VFunction *)ea_backward_word, "echo-area-backward-word", (FUNCTION_KEYSEQ *)0, "Move backward a word" },
+   { (VFunction *)ea_delete, "echo-area-delete", (FUNCTION_KEYSEQ *)0, "Delete the character under the cursor" },
+   { (VFunction *)ea_rubout, "echo-area-rubout", (FUNCTION_KEYSEQ *)0, "Delete the character behind the cursor" },
+   { (VFunction *)ea_abort, "echo-area-abort", (FUNCTION_KEYSEQ *)0, "Cancel or quit operation" },
+   { (VFunction *)ea_newline, "echo-area-newline", (FUNCTION_KEYSEQ *)0, "Accept (or force completion of) this line" },
+   { (VFunction *)ea_quoted_insert, "echo-area-quoted-insert", (FUNCTION_KEYSEQ *)0, "Insert next character verbatim" },
+   { (VFunction *)ea_insert, "echo-area-insert", (FUNCTION_KEYSEQ *)0, "Insert this character" },
+   { (VFunction *)ea_tab_insert, "echo-area-tab-insert", (FUNCTION_KEYSEQ *)0, "Insert a TAB character" },
+   { (VFunction *)ea_transpose_chars, "echo-area-transpose-chars", (FUNCTION_KEYSEQ *)0, "Transpose characters at point" },
+   { (VFunction *)ea_yank, "echo-area-yank", (FUNCTION_KEYSEQ *)0, "Yank back the contents of the last kill" },
+   { (VFunction *)ea_yank_pop, "echo-area-yank-pop", (FUNCTION_KEYSEQ *)0, "Yank back a previous kill" },
+   { (VFunction *)ea_kill_line, "echo-area-kill-line", (FUNCTION_KEYSEQ *)0, "Kill to the end of the line" },
+   { (VFunction *)ea_backward_kill_line, "echo-area-backward-kill-line", (FUNCTION_KEYSEQ *)0, "Kill to the beginning of the line" },
+   { (VFunction *)ea_kill_word, "echo-area-kill-word", (FUNCTION_KEYSEQ *)0, "Kill the word following the cursor" },
+   { (VFunction *)ea_backward_kill_word, "echo-area-backward-kill-word", (FUNCTION_KEYSEQ *)0, "Kill the word preceding the cursor" },
+   { (VFunction *)ea_possible_completions, "echo-area-possible-completions", (FUNCTION_KEYSEQ *)0, "List possible completions" },
+   { (VFunction *)ea_complete, "echo-area-complete", (FUNCTION_KEYSEQ *)0, "Insert completion" },
+   { (VFunction *)ea_scroll_completions_window, "echo-area-scroll-completions-window", (FUNCTION_KEYSEQ *)0, "Scroll the completions window" },
+/* Commands found in "./infodoc.c". */
+   { (VFunction *)info_get_help_window, "get-help-window", (FUNCTION_KEYSEQ *)0, "Display help message" },
+   { (VFunction *)info_get_info_help_node, "get-info-help-node", (FUNCTION_KEYSEQ *)0, "Visit Info node `(info)Help'" },
+   { (VFunction *)describe_key, "describe-key", (FUNCTION_KEYSEQ *)0, "Print documentation for KEY" },
+   { (VFunction *)info_where_is, "where-is", (FUNCTION_KEYSEQ *)0, "Show what to type to execute a given command" },
+/* Commands found in "./m-x.c". */
+   { (VFunction *)describe_command, "describe-command", (FUNCTION_KEYSEQ *)0, "Read the name of an Info command and describe it" },
+   { (VFunction *)info_execute_command, "execute-command", (FUNCTION_KEYSEQ *)0, "Read a command name in the echo area and execute it" },
+   { (VFunction *)set_screen_height, "set-screen-height", (FUNCTION_KEYSEQ *)0, "Set the height of the displayed window" },
+/* Commands found in "./indices.c". */
+   { (VFunction *)info_index_search, "index-search", (FUNCTION_KEYSEQ *)0, "Look up a string in the index for this file" },
+   { (VFunction *)info_next_index_match, "next-index-match", (FUNCTION_KEYSEQ *)0, "Go to the next matching index item from the last `\\[index-search]' command" },
+   { (VFunction *)info_index_apropos, "index-apropos", (FUNCTION_KEYSEQ *)0, "Grovel all known info file's indices for a string and build a menu" },
+/* Commands found in "./nodemenu.c". */
+   { (VFunction *)list_visited_nodes, "list-visited-nodes", (FUNCTION_KEYSEQ *)0, "Make a window containing a menu of all of the currently visited nodes" },
+   { (VFunction *)select_visited_node, "select-visited-node", (FUNCTION_KEYSEQ *)0, "Select a node which has been previously visited in a visible window" },
+/* Commands found in "./footnotes.c". */
+   { (VFunction *)info_show_footnotes, "show-footnotes", (FUNCTION_KEYSEQ *)0, "Show the footnotes associated with this node in another window" },
+/* Commands found in "./variables.c". */
+   { (VFunction *)describe_variable, "describe-variable", (FUNCTION_KEYSEQ *)0, "Explain the use of a variable" },
+   { (VFunction *)set_variable, "set-variable", (FUNCTION_KEYSEQ *)0, "Set the value of an Info variable" },
+   { NULL, NULL, NULL, NULL }
+};
diff --git a/gnu/usr.bin/texinfo/info/funs.h b/gnu/usr.bin/texinfo/info/funs.h
new file mode 100644 (file)
index 0000000..e0449c0
--- /dev/null
@@ -0,0 +1,245 @@
+/* funs.h -- Generated declarations for Info commands. */
+
+#include "info.h"
+
+/* Functions declared in "./session.c". */
+#define A_info_next_line 0
+extern void info_next_line (WINDOW *window, int count, unsigned char key);
+#define A_info_prev_line 1
+extern void info_prev_line (WINDOW *window, int count, unsigned char key);
+#define A_info_end_of_line 2
+extern void info_end_of_line (WINDOW *window, int count, unsigned char key);
+#define A_info_beginning_of_line 3
+extern void info_beginning_of_line (WINDOW *window, int count, unsigned char key);
+#define A_info_forward_char 4
+extern void info_forward_char (WINDOW *window, int count, unsigned char key);
+#define A_info_backward_char 5
+extern void info_backward_char (WINDOW *window, int count, unsigned char key);
+#define A_info_forward_word 6
+extern void info_forward_word (WINDOW *window, int count, unsigned char key);
+#define A_info_backward_word 7
+extern void info_backward_word (WINDOW *window, int count, unsigned char key);
+#define A_info_global_next_node 8
+extern void info_global_next_node (WINDOW *window, int count, unsigned char key);
+#define A_info_global_prev_node 9
+extern void info_global_prev_node (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_forward 10
+extern void info_scroll_forward (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_forward_set_window 11
+extern void info_scroll_forward_set_window (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_forward_page_only 12
+extern void info_scroll_forward_page_only (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_forward_page_only_set_window 13
+extern void info_scroll_forward_page_only_set_window (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_backward 14
+extern void info_scroll_backward (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_backward_set_window 15
+extern void info_scroll_backward_set_window (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_backward_page_only 16
+extern void info_scroll_backward_page_only (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_backward_page_only_set_window 17
+extern void info_scroll_backward_page_only_set_window (WINDOW *window, int count, unsigned char key);
+#define A_info_beginning_of_node 18
+extern void info_beginning_of_node (WINDOW *window, int count, unsigned char key);
+#define A_info_end_of_node 19
+extern void info_end_of_node (WINDOW *window, int count, unsigned char key);
+#define A_info_down_line 20
+extern void info_down_line (WINDOW *window, int count, unsigned char key);
+#define A_info_up_line 21
+extern void info_up_line (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_half_screen_down 22
+extern void info_scroll_half_screen_down (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_half_screen_up 23
+extern void info_scroll_half_screen_up (WINDOW *window, int count, unsigned char key);
+#define A_info_next_window 24
+extern void info_next_window (WINDOW *window, int count, unsigned char key);
+#define A_info_prev_window 25
+extern void info_prev_window (WINDOW *window, int count, unsigned char key);
+#define A_info_split_window 26
+extern void info_split_window (WINDOW *window, int count, unsigned char key);
+#define A_info_delete_window 27
+extern void info_delete_window (WINDOW *window, int count, unsigned char key);
+#define A_info_keep_one_window 28
+extern void info_keep_one_window (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_other_window 29
+extern void info_scroll_other_window (WINDOW *window, int count, unsigned char key);
+#define A_info_scroll_other_window_backward 30
+extern void info_scroll_other_window_backward (WINDOW *window, int count, unsigned char key);
+#define A_info_grow_window 31
+extern void info_grow_window (WINDOW *window, int count, unsigned char key);
+#define A_info_tile_windows 32
+extern void info_tile_windows (WINDOW *window, int count, unsigned char key);
+#define A_info_toggle_wrap 33
+extern void info_toggle_wrap (WINDOW *window, int count, unsigned char key);
+#define A_info_toggle_regexp 34
+extern void info_toggle_regexp (WINDOW *window, int count, unsigned char key);
+#define A_info_next_node 35
+extern void info_next_node (WINDOW *window, int count, unsigned char key);
+#define A_info_prev_node 36
+extern void info_prev_node (WINDOW *window, int count, unsigned char key);
+#define A_info_up_node 37
+extern void info_up_node (WINDOW *window, int count, unsigned char key);
+#define A_info_last_node 38
+extern void info_last_node (WINDOW *window, int count, unsigned char key);
+#define A_info_first_node 39
+extern void info_first_node (WINDOW *window, int count, unsigned char key);
+#define A_info_last_menu_item 40
+extern void info_last_menu_item (WINDOW *window, int count, unsigned char key);
+#define A_info_menu_digit 41
+extern void info_menu_digit (WINDOW *window, int count, unsigned char key);
+#define A_info_menu_item 42
+extern void info_menu_item (WINDOW *window, int count, unsigned char key);
+#define A_info_xref_item 43
+extern void info_xref_item (WINDOW *window, int count, unsigned char key);
+#define A_info_find_menu 44
+extern void info_find_menu (WINDOW *window, int count, unsigned char key);
+#define A_info_visit_menu 45
+extern void info_visit_menu (WINDOW *window, int count, unsigned char key);
+#define A_info_goto_node 46
+extern void info_goto_node (WINDOW *window, int count, unsigned char key);
+#define A_info_menu_sequence 47
+extern void info_menu_sequence (WINDOW *window, int count, unsigned char key);
+#define A_info_goto_invocation_node 48
+extern void info_goto_invocation_node (WINDOW *window, int count, unsigned char key);
+#define A_info_man 49
+extern void info_man (WINDOW *window, int count, unsigned char key);
+#define A_info_top_node 50
+extern void info_top_node (WINDOW *window, int count, unsigned char key);
+#define A_info_dir_node 51
+extern void info_dir_node (WINDOW *window, int count, unsigned char key);
+#define A_info_history_node 52
+extern void info_history_node (WINDOW *window, int count, unsigned char key);
+#define A_info_kill_node 53
+extern void info_kill_node (WINDOW *window, int count, unsigned char key);
+#define A_info_view_file 54
+extern void info_view_file (WINDOW *window, int count, unsigned char key);
+#define A_info_print_node 55
+extern void info_print_node (WINDOW *window, int count, unsigned char key);
+#define A_info_search_case_sensitively 56
+extern void info_search_case_sensitively (WINDOW *window, int count, unsigned char key);
+#define A_info_search 57
+extern void info_search (WINDOW *window, int count, unsigned char key);
+#define A_info_search_backward 58
+extern void info_search_backward (WINDOW *window, int count, unsigned char key);
+#define A_info_search_next 59
+extern void info_search_next (WINDOW *window, int count, unsigned char key);
+#define A_info_search_previous 60
+extern void info_search_previous (WINDOW *window, int count, unsigned char key);
+#define A_isearch_forward 61
+extern void isearch_forward (WINDOW *window, int count, unsigned char key);
+#define A_isearch_backward 62
+extern void isearch_backward (WINDOW *window, int count, unsigned char key);
+#define A_info_move_to_prev_xref 63
+extern void info_move_to_prev_xref (WINDOW *window, int count, unsigned char key);
+#define A_info_move_to_next_xref 64
+extern void info_move_to_next_xref (WINDOW *window, int count, unsigned char key);
+#define A_info_select_reference_this_line 65
+extern void info_select_reference_this_line (WINDOW *window, int count, unsigned char key);
+#define A_info_abort_key 66
+extern void info_abort_key (WINDOW *window, int count, unsigned char key);
+#define A_info_move_to_window_line 67
+extern void info_move_to_window_line (WINDOW *window, int count, unsigned char key);
+#define A_info_redraw_display 68
+extern void info_redraw_display (WINDOW *window, int count, unsigned char key);
+#define A_info_quit 69
+extern void info_quit (WINDOW *window, int count, unsigned char key);
+#define A_info_do_lowercase_version 70
+extern void info_do_lowercase_version (WINDOW *window, int count, unsigned char key);
+#define A_info_add_digit_to_numeric_arg 71
+extern void info_add_digit_to_numeric_arg (WINDOW *window, int count, unsigned char key);
+#define A_info_universal_argument 72
+extern void info_universal_argument (WINDOW *window, int count, unsigned char key);
+#define A_info_numeric_arg_digit_loop 73
+extern void info_numeric_arg_digit_loop (WINDOW *window, int count, unsigned char key);
+
+/* Functions declared in "./echo-area.c". */
+#define A_ea_forward 74
+extern void ea_forward (WINDOW *window, int count, unsigned char key);
+#define A_ea_backward 75
+extern void ea_backward (WINDOW *window, int count, unsigned char key);
+#define A_ea_beg_of_line 76
+extern void ea_beg_of_line (WINDOW *window, int count, unsigned char key);
+#define A_ea_end_of_line 77
+extern void ea_end_of_line (WINDOW *window, int count, unsigned char key);
+#define A_ea_forward_word 78
+extern void ea_forward_word (WINDOW *window, int count, unsigned char key);
+#define A_ea_backward_word 79
+extern void ea_backward_word (WINDOW *window, int count, unsigned char key);
+#define A_ea_delete 80
+extern void ea_delete (WINDOW *window, int count, unsigned char key);
+#define A_ea_rubout 81
+extern void ea_rubout (WINDOW *window, int count, unsigned char key);
+#define A_ea_abort 82
+extern void ea_abort (WINDOW *window, int count, unsigned char key);
+#define A_ea_newline 83
+extern void ea_newline (WINDOW *window, int count, unsigned char key);
+#define A_ea_quoted_insert 84
+extern void ea_quoted_insert (WINDOW *window, int count, unsigned char key);
+#define A_ea_insert 85
+extern void ea_insert (WINDOW *window, int count, unsigned char key);
+#define A_ea_tab_insert 86
+extern void ea_tab_insert (WINDOW *window, int count, unsigned char key);
+#define A_ea_transpose_chars 87
+extern void ea_transpose_chars (WINDOW *window, int count, unsigned char key);
+#define A_ea_yank 88
+extern void ea_yank (WINDOW *window, int count, unsigned char key);
+#define A_ea_yank_pop 89
+extern void ea_yank_pop (WINDOW *window, int count, unsigned char key);
+#define A_ea_kill_line 90
+extern void ea_kill_line (WINDOW *window, int count, unsigned char key);
+#define A_ea_backward_kill_line 91
+extern void ea_backward_kill_line (WINDOW *window, int count, unsigned char key);
+#define A_ea_kill_word 92
+extern void ea_kill_word (WINDOW *window, int count, unsigned char key);
+#define A_ea_backward_kill_word 93
+extern void ea_backward_kill_word (WINDOW *window, int count, unsigned char key);
+#define A_ea_possible_completions 94
+extern void ea_possible_completions (WINDOW *window, int count, unsigned char key);
+#define A_ea_complete 95
+extern void ea_complete (WINDOW *window, int count, unsigned char key);
+#define A_ea_scroll_completions_window 96
+extern void ea_scroll_completions_window (WINDOW *window, int count, unsigned char key);
+
+/* Functions declared in "./infodoc.c". */
+#define A_info_get_help_window 97
+extern void info_get_help_window (WINDOW *window, int count, unsigned char key);
+#define A_info_get_info_help_node 98
+extern void info_get_info_help_node (WINDOW *window, int count, unsigned char key);
+#define A_describe_key 99
+extern void describe_key (WINDOW *window, int count, unsigned char key);
+#define A_info_where_is 100
+extern void info_where_is (WINDOW *window, int count, unsigned char key);
+
+/* Functions declared in "./m-x.c". */
+#define A_describe_command 101
+extern void describe_command (WINDOW *window, int count, unsigned char key);
+#define A_info_execute_command 102
+extern void info_execute_command (WINDOW *window, int count, unsigned char key);
+#define A_set_screen_height 103
+extern void set_screen_height (WINDOW *window, int count, unsigned char key);
+
+/* Functions declared in "./indices.c". */
+#define A_info_index_search 104
+extern void info_index_search (WINDOW *window, int count, unsigned char key);
+#define A_info_next_index_match 105
+extern void info_next_index_match (WINDOW *window, int count, unsigned char key);
+#define A_info_index_apropos 106
+extern void info_index_apropos (WINDOW *window, int count, unsigned char key);
+
+/* Functions declared in "./nodemenu.c". */
+#define A_list_visited_nodes 107
+extern void list_visited_nodes (WINDOW *window, int count, unsigned char key);
+#define A_select_visited_node 108
+extern void select_visited_node (WINDOW *window, int count, unsigned char key);
+
+/* Functions declared in "./footnotes.c". */
+#define A_info_show_footnotes 109
+extern void info_show_footnotes (WINDOW *window, int count, unsigned char key);
+
+/* Functions declared in "./variables.c". */
+#define A_describe_variable 110
+extern void describe_variable (WINDOW *window, int count, unsigned char key);
+#define A_set_variable 111
+extern void set_variable (WINDOW *window, int count, unsigned char key);
+
+#define A_NCOMMANDS 112
index b28caf3..1b8dec8 100644 (file)
@@ -1,14 +1,14 @@
-# $FreeBSD: src/gnu/usr.bin/texinfo/infokey/Makefile,v 1.1.2.1 2002/03/30 17:09:25 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/infokey/Makefile,v 1.3 2005/08/28 12:25:04 asmodai Exp $
+.include "../Makefile.inc0"
+.PATH: ${SRCDIR}/info ${SRCDIR}/doc
 
-PROG=  infokey
-NOMAN= noman
+PROG=          infokey
+NOMAN=
 
-SRCS=  infokey.c key.c
+CFLAGS+=       -I${SRCDIR} -I${SRCDIR}/info -I${SRCDIR}/gnulib/lib
+CFLAGS+=       -I${.CURDIR}/../libgnu -I${.CURDIR}/../info
+CFLAGS+=       -DHAVE_CONFIG_H
 
-DPADD= ${LIBTXI}
-LDADD= ${LIBTXI}
+SRCS=          infokey.c\
+               key.c
 
 .include <bsd.prog.mk>
-
-.PATH: ${TXIDIR}/info
diff --git a/gnu/usr.bin/texinfo/infokey/key.c b/gnu/usr.bin/texinfo/infokey/key.c
new file mode 100644 (file)
index 0000000..7a799d8
--- /dev/null
@@ -0,0 +1,147 @@
+/* key.c -- Generated array containing function names.
+
+   This file was automatically made from various source files with the
+   command "..//info/makedoc".  DO NOT EDIT THIS FILE, only "..//info/makedoc.c".
+
+   Source files groveled to make this file include:
+
+       ./session.c
+       ./echo-area.c
+       ./infodoc.c
+       ./m-x.c
+       ./indices.c
+       ./nodemenu.c
+       ./footnotes.c
+       ./variables.c
+
+   An entry in the array FUNCTION_KEY_ARRAY is made for each command
+   found in the above files; each entry consists of
+   a string which is the user-visible name of the function.  */
+
+#include "key.h"
+#include "funs.h"
+
+FUNCTION_KEY function_key_array[] = {
+
+/* Commands found in "./session.c". */
+   { "next-line", A_info_next_line },
+   { "prev-line", A_info_prev_line },
+   { "end-of-line", A_info_end_of_line },
+   { "beginning-of-line", A_info_beginning_of_line },
+   { "forward-char", A_info_forward_char },
+   { "backward-char", A_info_backward_char },
+   { "forward-word", A_info_forward_word },
+   { "backward-word", A_info_backward_word },
+   { "global-next-node", A_info_global_next_node },
+   { "global-prev-node", A_info_global_prev_node },
+   { "scroll-forward", A_info_scroll_forward },
+   { "scroll-forward-set-window", A_info_scroll_forward_set_window },
+   { "scroll-forward-page-only", A_info_scroll_forward_page_only },
+   { "scroll-forward-page-only-set-window", A_info_scroll_forward_page_only_set_window },
+   { "scroll-backward", A_info_scroll_backward },
+   { "scroll-backward-set-window", A_info_scroll_backward_set_window },
+   { "scroll-backward-page-only", A_info_scroll_backward_page_only },
+   { "scroll-backward-page-only-set-window", A_info_scroll_backward_page_only_set_window },
+   { "beginning-of-node", A_info_beginning_of_node },
+   { "end-of-node", A_info_end_of_node },
+   { "down-line", A_info_down_line },
+   { "up-line", A_info_up_line },
+   { "scroll-half-screen-down", A_info_scroll_half_screen_down },
+   { "scroll-half-screen-up", A_info_scroll_half_screen_up },
+   { "next-window", A_info_next_window },
+   { "prev-window", A_info_prev_window },
+   { "split-window", A_info_split_window },
+   { "delete-window", A_info_delete_window },
+   { "keep-one-window", A_info_keep_one_window },
+   { "scroll-other-window", A_info_scroll_other_window },
+   { "scroll-other-window-backward", A_info_scroll_other_window_backward },
+   { "grow-window", A_info_grow_window },
+   { "tile-windows", A_info_tile_windows },
+   { "toggle-wrap", A_info_toggle_wrap },
+   { "toggle-regexp", A_info_toggle_regexp },
+   { "next-node", A_info_next_node },
+   { "prev-node", A_info_prev_node },
+   { "up-node", A_info_up_node },
+   { "last-node", A_info_last_node },
+   { "first-node", A_info_first_node },
+   { "last-menu-item", A_info_last_menu_item },
+   { "menu-digit", A_info_menu_digit },
+   { "menu-item", A_info_menu_item },
+   { "xref-item", A_info_xref_item },
+   { "find-menu", A_info_find_menu },
+   { "visit-menu", A_info_visit_menu },
+   { "goto-node", A_info_goto_node },
+   { "menu-sequence", A_info_menu_sequence },
+   { "goto-invocation-node", A_info_goto_invocation_node },
+   { "man", A_info_man },
+   { "top-node", A_info_top_node },
+   { "dir-node", A_info_dir_node },
+   { "history-node", A_info_history_node },
+   { "kill-node", A_info_kill_node },
+   { "view-file", A_info_view_file },
+   { "print-node", A_info_print_node },
+   { "search-case-sensitively", A_info_search_case_sensitively },
+   { "search", A_info_search },
+   { "search-backward", A_info_search_backward },
+   { "search-next", A_info_search_next },
+   { "search-previous", A_info_search_previous },
+   { "isearch-forward", A_isearch_forward },
+   { "isearch-backward", A_isearch_backward },
+   { "move-to-prev-xref", A_info_move_to_prev_xref },
+   { "move-to-next-xref", A_info_move_to_next_xref },
+   { "select-reference-this-line", A_info_select_reference_this_line },
+   { "abort-key", A_info_abort_key },
+   { "move-to-window-line", A_info_move_to_window_line },
+   { "redraw-display", A_info_redraw_display },
+   { "quit", A_info_quit },
+   { "do-lowercase-version", A_info_do_lowercase_version },
+   { "add-digit-to-numeric-arg", A_info_add_digit_to_numeric_arg },
+   { "universal-argument", A_info_universal_argument },
+   { "numeric-arg-digit-loop", A_info_numeric_arg_digit_loop },
+/* Commands found in "./echo-area.c". */
+   { "echo-area-forward", A_ea_forward },
+   { "echo-area-backward", A_ea_backward },
+   { "echo-area-beg-of-line", A_ea_beg_of_line },
+   { "echo-area-end-of-line", A_ea_end_of_line },
+   { "echo-area-forward-word", A_ea_forward_word },
+   { "echo-area-backward-word", A_ea_backward_word },
+   { "echo-area-delete", A_ea_delete },
+   { "echo-area-rubout", A_ea_rubout },
+   { "echo-area-abort", A_ea_abort },
+   { "echo-area-newline", A_ea_newline },
+   { "echo-area-quoted-insert", A_ea_quoted_insert },
+   { "echo-area-insert", A_ea_insert },
+   { "echo-area-tab-insert", A_ea_tab_insert },
+   { "echo-area-transpose-chars", A_ea_transpose_chars },
+   { "echo-area-yank", A_ea_yank },
+   { "echo-area-yank-pop", A_ea_yank_pop },
+   { "echo-area-kill-line", A_ea_kill_line },
+   { "echo-area-backward-kill-line", A_ea_backward_kill_line },
+   { "echo-area-kill-word", A_ea_kill_word },
+   { "echo-area-backward-kill-word", A_ea_backward_kill_word },
+   { "echo-area-possible-completions", A_ea_possible_completions },
+   { "echo-area-complete", A_ea_complete },
+   { "echo-area-scroll-completions-window", A_ea_scroll_completions_window },
+/* Commands found in "./infodoc.c". */
+   { "get-help-window", A_info_get_help_window },
+   { "get-info-help-node", A_info_get_info_help_node },
+   { "describe-key", A_describe_key },
+   { "where-is", A_info_where_is },
+/* Commands found in "./m-x.c". */
+   { "describe-command", A_describe_command },
+   { "execute-command", A_info_execute_command },
+   { "set-screen-height", A_set_screen_height },
+/* Commands found in "./indices.c". */
+   { "index-search", A_info_index_search },
+   { "next-index-match", A_info_next_index_match },
+   { "index-apropos", A_info_index_apropos },
+/* Commands found in "./nodemenu.c". */
+   { "list-visited-nodes", A_list_visited_nodes },
+   { "select-visited-node", A_select_visited_node },
+/* Commands found in "./footnotes.c". */
+   { "show-footnotes", A_info_show_footnotes },
+/* Commands found in "./variables.c". */
+   { "describe-variable", A_describe_variable },
+   { "set-variable", A_set_variable },
+   { NULL, 0 }
+};
index 8a21de0..1eb2367 100644 (file)
@@ -1,16 +1,10 @@
-# $FreeBSD: src/gnu/usr.bin/texinfo/install-info/Makefile,v 1.11.2.1 2002/08/07 16:53:36 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/install-info/Makefile,v 1.4 2005/08/28 14:19:30 asmodai Exp $
+.include "../Makefile.inc0"
+.PATH: ${SRCDIR}/install-info ${SRCDIR}/doc
 
-PATCHES!=      echo ${.CURDIR}/patches/*.patch
-CONTRIBDIR=    ${TXIDIR}/util
+PROG=          install-info
 
-PROG=  install-info
-SRCS=  install-info.c
-SRCS+= ${PATCHES}
-
-DPADD= ${LIBTXI}
-LDADD= ${LIBTXI}
+CFLAGS+=       -I${SRCDIR} -I${SRCDIR}/gnulib/lib
+CFLAGS+=       -I${.CURDIR}/../libgnu
 
 .include <bsd.prog.mk>
 
-.PATH: ${TXIDIR}/util ${TXIDIR}/doc
diff --git a/gnu/usr.bin/texinfo/install-info/patches/install-info.c.patch b/gnu/usr.bin/texinfo/install-info/patches/install-info.c.patch
deleted file mode 100644 (file)
index 5e9245e..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-$DragonFly: src/gnu/usr.bin/texinfo/install-info/patches/install-info.c.patch,v 1.1 2005/08/28 12:25:05 asmodai Exp $
-
---- install-info.c     2005-08-28 12:43:06.000000000 +0200
-+++ install-info.c     2005-05-23 12:50:48.000000000 +0200
-@@ -1,3 +1,4 @@
-+/* $FreeBSD: src/contrib/texinfo/util/install-info.c,v 1.16 2005/05/23 10:50:48 ru Exp $ */
- /* install-info -- create Info directory entry(ies) for an Info file.
-    $Id: install-info.c,v 1.12 2004/04/11 17:56:47 karl Exp $
-@@ -22,6 +23,7 @@
- #include <getopt.h>
- static char *progname = "install-info";
-+static char *default_section = NULL;
- struct spec_entry;
- struct spec_section;
-@@ -120,6 +122,8 @@
- struct option longopts[] =
- {
-   { "delete",    no_argument, NULL, 'r' },
-+  { "defentry",  required_argument, NULL, 'E' },
-+  { "defsection", required_argument, NULL, 'S' },
-   { "dir-file",  required_argument, NULL, 'd' },
-   { "entry",     required_argument, NULL, 'e' },
-   { "help",      no_argument, NULL, 'h' },
-@@ -439,6 +443,10 @@
- Options:\n\
-  --delete          delete existing entries for INFO-FILE from DIR-FILE;\n\
-                      don't insert any new entries.\n\
-+ --defentry=TEXT   like --entry, but only use TEXT if an entry\n\
-+                     is not present in INFO-FILE.\n\
-+ --defsection=TEXT like --section, but only use TEXT if a section\n\
-+                     is not present in INFO-FILE.\n\
-  --dir-file=NAME   specify file name of Info directory file.\n\
-                      This is equivalent to using the DIR-FILE argument.\n\
-  --entry=TEXT      insert TEXT as an Info directory entry.\n\
-@@ -900,7 +908,8 @@
-                      specified.  Default to section "Miscellaneous".  */
-                   *sections = (struct spec_section *)
-                     xmalloc (sizeof (struct spec_section));
--                  (*sections)->name = "Miscellaneous";
-+                  (*sections)->name =
-+                  default_section ? default_section : "Miscellaneous";
-                   (*sections)->next = 0;
-                   (*sections)->missing = 1;
-                   head = *sections;
-@@ -1142,6 +1151,8 @@
-   struct spec_section *input_sections = NULL;
-   struct spec_entry *entries_to_add = NULL;
-   int n_entries_to_add = 0;
-+  struct spec_entry *default_entries_to_add = NULL;
-+  int n_default_entries_to_add = 0;
-   /* Record the old text of the dir file, as plain characters,
-      as lines, and as nodes.  */
-@@ -1205,6 +1216,7 @@
-           dirfile = concat (optarg, "", "/dir");
-           break;
-+      case 'E':
-         case 'e':
-           {
-             struct spec_entry *next
-@@ -1219,9 +1231,18 @@
-             next->text_len = olen;
-             next->entry_sections = NULL;
-             next->entry_sections_tail = NULL;
--            next->next = entries_to_add;
--            entries_to_add = next;
--            n_entries_to_add++;
-+          if (opt == 'e')
-+            {
-+              next->next = entries_to_add;
-+              entries_to_add = next;
-+              n_entries_to_add++;
-+            }
-+          else
-+            {
-+              next->next = default_entries_to_add;
-+              default_entries_to_add = next;
-+              n_default_entries_to_add++;
-+            }
-           }
-           break;
-@@ -1259,6 +1280,10 @@
-           }
-           break;
-+      case 'S':
-+        default_section = optarg;
-+        break;
-+
-         case 'V':
-           printf ("install-info (GNU %s) %s\n", PACKAGE, VERSION);
-           puts ("");
-@@ -1301,6 +1326,11 @@
-                    &input_sections, &entries_to_add);
-   if (i > n_entries_to_add)
-     n_entries_to_add = i;
-+  else if (n_entries_to_add == 0)
-+    {
-+      entries_to_add = default_entries_to_add;
-+      n_entries_to_add = n_default_entries_to_add;
-+    }
-   if (!delete_flag)
-     {
-@@ -1332,7 +1362,8 @@
-             {
-               input_sections = (struct spec_section *)
-                 xmalloc (sizeof (struct spec_section));
--              input_sections->name = "Miscellaneous";
-+              input_sections->name =
-+              default_section ? default_section : "Miscellaneous";
-               input_sections->next = NULL;
-               input_sections->missing = 1;
-             }
-@@ -1423,9 +1454,14 @@
-                                                 dir_lines[i].start,
-                                                 dir_lines[i].size)
-                             && !dir_lines[i].delete)
--                          fatal (_("menu item `%s' already exists, for file `%s'"),
-+                        {
-+                          if (quiet_flag)
-+                            dir_lines[i].delete = 1;
-+                          else
-+                            fatal (_("menu item `%s' already exists, for file `%s'"),
-                                  extract_menu_item_name (entry->text),
-                                  extract_menu_file_name (dir_lines[i].start));
-+                        }
-                         if (dir_lines[i].start[0] == '*'
-                             && menu_line_lessp (entry->text, entry->text_len,
-                                                 dir_lines[i].start,
diff --git a/gnu/usr.bin/texinfo/libgnu/Makefile b/gnu/usr.bin/texinfo/libgnu/Makefile
new file mode 100644 (file)
index 0000000..a26b42e
--- /dev/null
@@ -0,0 +1,36 @@
+.include "../Makefile.inc"
+
+LIB=           gnu
+INTERNALLIB=   true
+
+CONTRIBDIR=    ${BASEDIR}/gnulib/lib
+.PATH:         ${CONTRIBDIR} ${CONTRIBDIR}/uniwidth
+
+CFLAGS+=       -I${CONTRIBDIR} -I${.CURDIR} -I${.OBJDIR}
+CFLAGS+=       -DHAVE_CONFIG_H
+
+SRCS=          localcharset.c \
+               malloca.c \
+               mbchar.c \
+               mbscasecmp.c \
+               mbschr.c \
+               mbslen.c \
+               mbsncasecmp.c \
+               mbsstr.c \
+               mbswidth.c \
+               strnlen1.c \
+               width.c \
+               xalloc-die.c \
+               xsetenv.c \
+               argz.c \
+               error.c \
+               exitfail.c \
+               getopt.c \
+               getopt1.c \
+               memmem.c \
+               mempcpy.c \
+               tempname.c \
+               wcwidth.c \
+               xmalloc.c       
+
+.include <bsd.lib.mk>
\ No newline at end of file
diff --git a/gnu/usr.bin/texinfo/libgnu/alloca.h b/gnu/usr.bin/texinfo/libgnu/alloca.h
new file mode 100644 (file)
index 0000000..97089ba
--- /dev/null
@@ -0,0 +1,57 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Memory allocation on the stack.
+
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+   USA.  */
+
+/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
+   means there is a real alloca function.  */
+#ifndef _GL_ALLOCA_H
+#define _GL_ALLOCA_H
+
+/* alloca (N) returns a pointer to N bytes of memory
+   allocated on the stack, which will last until the function returns.
+   Use of alloca should be avoided:
+     - inside arguments of function calls - undefined behaviour,
+     - in inline functions - the allocation may actually last until the
+       calling function returns,
+     - for huge N (say, N >= 65536) - you never know how large (or small)
+       the stack is, and when the stack cannot fulfill the memory allocation
+       request, the program just crashes.
+ */
+
+#ifndef alloca
+# ifdef __GNUC__
+#  define alloca __builtin_alloca
+# elif defined _AIX
+#  define alloca __alloca
+# elif defined _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# elif defined __DECC && defined __VMS
+#  define alloca __ALLOCA
+# else
+#  include <stddef.h>
+#  ifdef  __cplusplus
+extern "C"
+#  endif
+void *alloca (size_t);
+# endif
+#endif
+
+#endif /* _GL_ALLOCA_H */
diff --git a/gnu/usr.bin/texinfo/libgnu/argz.h b/gnu/usr.bin/texinfo/libgnu/argz.h
new file mode 100644 (file)
index 0000000..0240c20
--- /dev/null
@@ -0,0 +1,162 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Routines for dealing with '\0' separated arg vectors.
+   Copyright (C) 1995,96,97,98,99,2000,2004,2007 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU 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.  */
+
+#ifndef _ARGZ_H
+#define _ARGZ_H        1
+
+
+#define __need_error_t
+#include <errno.h>
+#include <string.h>            /* Need size_t, and strchr is called below.  */
+
+#ifndef const
+# define const const
+#endif
+
+#ifndef __error_t_defined
+typedef int error_t;
+#endif
+
+
+
+/* Make a '\0' separated arg vector from a unix argv vector, returning it in
+   ARGZ, and the total length in LEN.  If a memory allocation error occurs,
+   ENOMEM is returned, otherwise 0.  The result can be destroyed using free. */
+
+extern error_t argz_create (char *const __argv[], char **restrict __argz,
+                           size_t *restrict __len);
+
+/* Make a '\0' separated arg vector from a SEP separated list in
+   STRING, returning it in ARGZ, and the total length in LEN.  If a
+   memory allocation error occurs, ENOMEM is returned, otherwise 0.
+   The result can be destroyed using free.  */
+
+extern error_t argz_create_sep (const char *restrict string,
+                               int __sep, char **restrict __argz,
+                               size_t *restrict __len);
+
+/* Returns the number of strings in ARGZ.  */
+
+extern size_t argz_count (const char *__argz, size_t __len)
+;
+
+/* Puts pointers to each string in ARGZ into ARGV, which must be large enough
+   to hold them all.  */
+
+extern void argz_extract (const char *restrict __argz, size_t __len,
+                         char **restrict __argv);
+
+/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
+   except the last into the character SEP.  */
+
+extern void argz_stringify (char *__argz, size_t __len, int __sep);
+
+/* Append BUF, of length BUF_LEN to the argz vector in ARGZ & ARGZ_LEN.  */
+
+extern error_t argz_append (char **restrict __argz,
+                           size_t *restrict __argz_len,
+                           const char *restrict __buf, size_t __buf_len)
+;
+
+/* Append STR to the argz vector in ARGZ & ARGZ_LEN.  */
+
+extern error_t argz_add (char **restrict __argz,
+                        size_t *restrict __argz_len,
+                        const char *restrict str);
+
+/* Append SEP separated list in STRING to the argz vector in ARGZ &
+   ARGZ_LEN.  */
+
+extern error_t argz_add_sep (char **restrict __argz,
+                            size_t *restrict __argz_len,
+                            const char *restrict string, int __delim)
+;
+
+/* Delete ENTRY from ARGZ & ARGZ_LEN, if it appears there.  */
+
+extern void argz_delete (char **restrict __argz,
+                        size_t *restrict __argz_len,
+                        char *restrict __entry);
+
+/* Insert ENTRY into ARGZ & ARGZ_LEN before BEFORE, which should be an
+   existing entry in ARGZ; if BEFORE is NULL, ENTRY is appended to the end.
+   Since ARGZ's first entry is the same as ARGZ, argz_insert (ARGZ, ARGZ_LEN,
+   ARGZ, ENTRY) will insert ENTRY at the beginning of ARGZ.  If BEFORE is not
+   in ARGZ, EINVAL is returned, else if memory can't be allocated for the new
+   ARGZ, ENOMEM is returned, else 0.  */
+
+extern error_t argz_insert (char **restrict __argz,
+                           size_t *restrict __argz_len,
+                           char *restrict __before,
+                           const char *restrict __entry);
+
+/* Replace any occurrences of the string STR in ARGZ with WITH, reallocating
+   ARGZ as necessary.  If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be
+   incremented by number of replacements performed.  */
+
+extern error_t argz_replace (char **restrict __argz,
+                            size_t *restrict __argz_len,
+                            const char *restrict str,
+                            const char *restrict __with,
+                            unsigned int *restrict __replace_count);
+\f
+/* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there
+   are no more.  If entry is NULL, then the first entry is returned.  This
+   behavior allows two convenient iteration styles:
+
+    char *entry = 0;
+    while ((entry = argz_next (argz, argz_len, entry)))
+      ...;
+
+   or
+
+    char *entry;
+    for (entry = argz; entry; entry = argz_next (argz, argz_len, entry))
+      ...;
+*/
+
+extern char *argz_next (const char *restrict __argz, size_t __argz_len,
+                       const char *restrict __entry);
+
+#ifdef __USE_EXTERN_INLINES
+__extern_inline char *
+__NTH (argz_next (const char *__argz, size_t __argz_len,
+                   const char *__entry))
+{
+  if (__entry)
+    {
+      if (__entry < __argz + __argz_len)
+       __entry = strchr (__entry, '\0') + 1;
+
+      return __entry >= __argz + __argz_len ? (char *) NULL : (char *) __entry;
+    }
+  else
+    return __argz_len > 0 ? (char *) __argz : 0;
+}
+__extern_inline char *
+__NTH (argz_next (const char *__argz, size_t __argz_len,
+                 const char *__entry))
+{
+  return argz_next (__argz, __argz_len, __entry);
+}
+#endif /* Use extern inlines.  */
+
+
+#endif /* argz.h */
diff --git a/gnu/usr.bin/texinfo/libgnu/config.h b/gnu/usr.bin/texinfo/libgnu/config.h
new file mode 100644 (file)
index 0000000..370e84c
--- /dev/null
@@ -0,0 +1,541 @@
+/* config.h.  Generated from config.in by configure.  */
+/* config.in.  Generated from configure.ac by autoheader.  */
+
+/* Define to the number of bits in type 'ptrdiff_t'. */
+/* #undef BITSIZEOF_PTRDIFF_T */
+
+/* Define to the number of bits in type 'sig_atomic_t'. */
+/* #undef BITSIZEOF_SIG_ATOMIC_T */
+
+/* Define to the number of bits in type 'size_t'. */
+/* #undef BITSIZEOF_SIZE_T */
+
+/* Define to the number of bits in type 'wchar_t'. */
+/* #undef BITSIZEOF_WCHAR_T */
+
+/* Define to the number of bits in type 'wint_t'. */
+/* #undef BITSIZEOF_WINT_T */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+/* #undef ENABLE_NLS */
+
+/* Define if gettimeofday clobbers the localtime buffer. */
+/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */
+
+/* Define to 1 if `TIOCGWINSZ' requires <sys/ioctl.h>. */
+/* #undef GWINSZ_IN_SYS_IOCTL */
+
+/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
+   may be supplied by this distribution. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define to 1 if you have the <argz.h> header file. */
+/* #undef HAVE_ARGZ_H */
+
+/* Define to 1 if you have the <bp-sym.h> header file. */
+/* #undef HAVE_BP_SYM_H */
+
+/* Define to 1 if you have the `bzero' function. */
+#define HAVE_BZERO 1
+
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+   CoreFoundation framework. */
+/* #undef HAVE_CFLOCALECOPYCURRENT */
+
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
+   don't. */
+#define HAVE_DECL_GETC_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
+   */
+#define HAVE_DECL_GETENV 1
+
+/* Define to 1 if you have a declaration of mbswidth() in <wchar.h>, and to 0
+   otherwise. */
+#define HAVE_DECL_MBSWIDTH_IN_WCHAR_H 0
+
+/* Define to 1 if you have the declaration of `memchr', and to 0 if you don't.
+   */
+#define HAVE_DECL_MEMCHR 1
+
+/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't.
+   */
+#define HAVE_DECL_MEMMEM 1
+
+/* Define to 1 if you have the declaration of `strcoll', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRCOLL 1
+
+/* Define to 1 if you have the declaration of `strdup', and to 0 if you don't.
+   */
+#define HAVE_DECL_STRDUP 1
+
+/* Define to 1 if you have the declaration of `strerror', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRERROR 1
+
+/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRERROR_R 1
+
+/* Define to 1 if you have the declaration of `strndup', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRNDUP 1
+
+/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRNLEN 1
+
+/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you
+   don't. */
+#define HAVE_DECL_WCWIDTH 1
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+/* #undef HAVE_DOPRNT */
+
+/* Define if you have the declaration of environ. */
+/* #undef HAVE_ENVIRON_DECL */
+
+/* Define to 1 if the system has the type `error_t'. */
+/* #undef HAVE_ERROR_T */
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the <getopt.h> header file. */
+#define HAVE_GETOPT_H 1
+
+/* Define to 1 if you have the `getopt_long_only' function. */
+#define HAVE_GETOPT_LONG_ONLY 1
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+/* #undef HAVE_GETTEXT */
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if you have the iconv() function and it works. */
+/* #undef HAVE_ICONV */
+
+/* Define if your compiler supports the #include_next directive. */
+#define HAVE_INCLUDE_NEXT 1
+
+/* Define to 1 if the compiler supports one of the keywords 'inline',
+   '__inline__', '__inline' and effectively inlines functions marked as such.
+   */
+#define HAVE_INLINE 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <io.h> header file. */
+/* #undef HAVE_IO_H */
+
+/* Define to 1 if you have the `isascii' function. */
+#define HAVE_ISASCII 1
+
+/* Define to 1 if you have the `iswcntrl' function. */
+#define HAVE_ISWCNTRL 1
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#define HAVE_LANGINFO_CODESET 1
+
+/* Define to 1 if you have the `bsd' library (-lbsd). */
+/* #undef HAVE_LIBBSD */
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if the system has the type `long long int'. */
+#define HAVE_LONG_LONG_INT 1
+
+/* Define to 1 if you have the `lstat' function. */
+#define HAVE_LSTAT 1
+
+/* Define if the 'malloc' function is POSIX compliant. */
+#define HAVE_MALLOC_POSIX 1
+
+/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
+#define HAVE_MBRTOWC 1
+
+/* Define to 1 if you have the `mbsinit' function. */
+#define HAVE_MBSINIT 1
+
+/* Define to 1 if <wchar.h> declares mbstate_t. */
+#define HAVE_MBSTATE_T 1
+
+/* Define to 1 if you have the `memchr' function. */
+#define HAVE_MEMCHR 1
+
+/* Define to 1 if you have the `memcpy' function. */
+#define HAVE_MEMCPY 1
+
+/* Define to 1 if you have the `memmem' function. */
+#define HAVE_MEMMEM 1
+
+/* Define to 1 if you have the `memmove' function. */
+#define HAVE_MEMMOVE 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mempcpy' function. */
+/* #undef HAVE_MEMPCPY */
+
+/* Define to 1 if you have the `memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the <ncurses/termcap.h> header file. */
+/* #undef HAVE_NCURSES_TERMCAP_H */
+
+/* Define to 1 if you have the <pwd.h> header file. */
+#define HAVE_PWD_H 1
+
+/* Define to 1 if you have the <search.h> header file. */
+/* #undef HAVE_SEARCH_H */
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `setlocale' function. */
+#define HAVE_SETLOCALE 1
+
+/* Define to 1 if you have the `setvbuf' function. */
+#define HAVE_SETVBUF 1
+
+/* Define to 1 if you have the `sigaction' function. */
+#define HAVE_SIGACTION 1
+
+/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_SIG_ATOMIC_T */
+
+/* Define to 1 if 'wchar_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_WCHAR_T */
+
+/* Define to 1 if 'wint_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_WINT_T */
+
+/* Define to 1 if you have the `sigprocmask' function. */
+#define HAVE_SIGPROCMASK 1
+
+/* Define to 1 if you have the `sigsetmask' function. */
+#define HAVE_SIGSETMASK 1
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `stpcpy' function. */
+#define HAVE_STPCPY 1
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the `strcoll' function and it is properly defined.
+   */
+#define HAVE_STRCOLL 1
+
+/* Define to 1 if you have the `strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the `strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define if you have the strndup() function and it works. */
+#define HAVE_STRNDUP 1
+
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
+/* #undef HAVE_SYS_BITYPES_H */
+
+/* Define to 1 if you have the <sys/fcntl.h> header file. */
+#define HAVE_SYS_FCNTL_H 1
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#define HAVE_SYS_FILE_H 1
+
+/* Define to 1 if you have the <sys/inttypes.h> header file. */
+/* #undef HAVE_SYS_INTTYPES_H */
+
+/* Define to 1 if you have the <sys/ptem.h> header file. */
+/* #undef HAVE_SYS_PTEM_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/stream.h> header file. */
+/* #undef HAVE_SYS_STREAM_H */
+
+/* Define to 1 if you have the <sys/timeb.h> header file. */
+/* #undef HAVE_SYS_TIMEB_H */
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/ttold.h> header file. */
+/* #undef HAVE_SYS_TTOLD_H */
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/wait.h> header file. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <termcap.h> header file. */
+#define HAVE_TERMCAP_H 1
+
+/* Define to 1 if you have the <termios.h> header file. */
+#define HAVE_TERMIOS_H 1
+
+/* Define to 1 if you have the <termio.h> header file. */
+/* #undef HAVE_TERMIO_H */
+
+/* Define to 1 if you have the `tsearch' function. */
+/* #undef HAVE_TSEARCH */
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `unsetenv' function. */
+#define HAVE_UNSETENV 1
+
+/* Define to 1 if the system has the type `unsigned long long int'. */
+#define HAVE_UNSIGNED_LONG_LONG_INT 1
+
+/* Define to 1 if you have the `vprintf' function. */
+#define HAVE_VPRINTF 1
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define if you have the 'wchar_t' type. */
+#define HAVE_WCHAR_T 1
+
+/* Define to 1 if you have the <wctype.h> header file. */
+#define HAVE_WCTYPE_H 1
+
+/* Define to 1 if you have the `wcwidth' function. */
+#define HAVE_WCWIDTH 1
+
+/* Define if you have the 'wint_t' type. */
+#define HAVE_WINT_T 1
+
+/* This value is set to 1 to indicate that the system argz facility works */
+/* #undef HAVE_WORKING_ARGZ */
+
+/* Define to 1 if the system has the type `_Bool'. */
+#define HAVE__BOOL 1
+
+/* Define to 1 if you have the `_ftime' function. */
+/* #undef HAVE__FTIME */
+
+/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
+#define MALLOC_0_IS_NONNULL 1
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Name of package */
+#define PACKAGE "texinfo"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "bug-texinfo@gnu.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU Texinfo"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "GNU Texinfo 4.13"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "texinfo"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "4.13"
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'ptrdiff_t'. */
+/* #undef PTRDIFF_T_SUFFIX */
+
+/* Define this to 1 if strerror is broken. */
+/* #undef REPLACE_STRERROR */
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'sig_atomic_t'. */
+/* #undef SIG_ATOMIC_T_SUFFIX */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'size_t'. */
+/* #undef SIZE_T_SUFFIX */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if strerror_r returns char *. */
+/* #undef STRERROR_R_CHAR_P */
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Version number of package */
+#define VERSION "4.13"
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'wchar_t'. */
+/* #undef WCHAR_T_SUFFIX */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'wint_t'. */
+/* #undef WINT_T_SUFFIX */
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* Define to 1 if on MINIX. */
+/* #undef _MINIX */
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+/* #undef _POSIX_SOURCE */
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+
+
+/* Define to rpl_ if the getopt replacement functions and variables should be
+   used. */
+#define __GETOPT_PREFIX rpl_
+
+/* Define so that glibc/gnulib argp.h does not typedef error_t. */
+#define __error_t_defined 1
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to a type to use for `error_t' if it is not otherwise available. */
+#define error_t int
+
+/* Define to rpl_gmtime if the replacement function should be used. */
+/* #undef gmtime */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
+   the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
+   earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
+   __APPLE__ && __MACH__ test for MacOS X.
+   __APPLE_CC__ tests for the Apple compiler and its version.
+   __STDC_VERSION__ tests for the C99 mode.  */
+#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
+# define __GNUC_STDC_INLINE__ 1
+#endif
+
+/* Define to rpl_localtime if the replacement function should be used. */
+/* #undef localtime */
+
+/* Define to a type if <wchar.h> does not define. */
+/* #undef mbstate_t */
+
+/* Define to rpl_memcmp if the replacement function should be used. */
+/* #undef memcmp */
+
+/* Define to the type of st_nlink in struct stat, or a supertype. */
+/* #undef nlink_t */
+
+/* Define to `long int' if <sys/types.h> does not define. */
+/* #undef off_t */
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported directly.  */
+#define restrict __restrict
+/* Work around a bug in Sun C++: it does not support _Restrict, even
+   though the corresponding Sun C compiler does, which causes
+   "#define restrict _Restrict" in the previous line.  Perhaps some future
+   version of Sun C++ will work with _Restrict; if so, it'll probably
+   define __RESTRICT, just as Sun C does.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+# define _Restrict
+#endif
+
+/* Define to rpl_strnlen if the replacement function should be used. */
+/* #undef strnlen */
diff --git a/gnu/usr.bin/texinfo/libgnu/configmake.h b/gnu/usr.bin/texinfo/libgnu/configmake.h
new file mode 100644 (file)
index 0000000..bc579e2
--- /dev/null
@@ -0,0 +1,25 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+#define PREFIX "/usr"
+#define EXEC_PREFIX "/usr"
+#define BINDIR "/usr/bin"
+#define SBINDIR "/usr/sbin"
+#define LIBEXECDIR "/usr/libexec"
+#define DATAROOTDIR "/usr/share"
+#define DATADIR "/usr/share"
+#define SYSCONFDIR "/usr/etc"
+#define SHAREDSTATEDIR "/usr/com"
+#define LOCALSTATEDIR "/usr/var"
+#define INCLUDEDIR "/usr/include"
+#define OLDINCLUDEDIR "/usr/include"
+#define DOCDIR "/usr/share/doc/texinfo"
+#define INFODIR "/usr/share/info:/usr/pkg/info:/usr/local/info:/usr/pkg/xorg/info:/usr/X11R6/info:."
+#define HTMLDIR "/usr/share/doc/texinfo"
+#define DVIDIR "/usr/share/doc/texinfo"
+#define PDFDIR "/usr/share/doc/texinfo"
+#define PSDIR "/usr/share/doc/texinfo"
+#define LIBDIR "/usr/lib"
+#define LOCALEDIR "/usr/share/locale"
+#define MANDIR "/usr/share/man"
+#define PKGDATADIR "/usr/share/texinfo"
+#define PKGINCLUDEDIR "/usr/include/texinfo"
+#define PKGLIBDIR "/usr/lib/texinfo"
diff --git a/gnu/usr.bin/texinfo/libgnu/getopt.h b/gnu/usr.bin/texinfo/libgnu/getopt.h
new file mode 100644 (file)
index 0000000..721d4e9
--- /dev/null
@@ -0,0 +1,226 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Declarations for getopt.
+   Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006,2007
+   Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_H
+
+#ifndef __need_getopt
+# define _GETOPT_H 1
+#endif
+
+/* Standalone applications should #define __GETOPT_PREFIX to an
+   identifier that prefixes the external functions and variables
+   defined in this header.  When this happens, include the
+   headers that might declare getopt so that they will not cause
+   confusion if included after this file.  Then systematically rename
+   identifiers so that they do not collide with the system functions
+   and variables.  Renaming avoids problems with some compilers and
+   linkers.  */
+#if defined __GETOPT_PREFIX && !defined __need_getopt
+# include <stdlib.h>
+# include <stdio.h>
+# include <unistd.h>
+# undef __need_getopt
+# undef getopt
+# undef getopt_long
+# undef getopt_long_only
+# undef optarg
+# undef opterr
+# undef optind
+# undef optopt
+# define __GETOPT_CONCAT(x, y) x ## y
+# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
+# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
+# define getopt __GETOPT_ID (getopt)
+# define getopt_long __GETOPT_ID (getopt_long)
+# define getopt_long_only __GETOPT_ID (getopt_long_only)
+# define optarg __GETOPT_ID (optarg)
+# define opterr __GETOPT_ID (opterr)
+# define optind __GETOPT_ID (optind)
+# define optopt __GETOPT_ID (optopt)
+#endif
+
+/* Standalone applications get correct prototypes for getopt_long and
+   getopt_long_only; they declare "char **argv".  libc uses prototypes
+   with "char *const *argv" that are incorrect because getopt_long and
+   getopt_long_only can permute argv; this is required for backward
+   compatibility (e.g., for LSB 2.0.1).
+
+   This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt',
+   but it caused redefinition warnings if both unistd.h and getopt.h were
+   included, since unistd.h includes getopt.h having previously defined
+   __need_getopt.
+
+   The only place where __getopt_argv_const is used is in definitions
+   of getopt_long and getopt_long_only below, but these are visible
+   only if __need_getopt is not defined, so it is quite safe to rewrite
+   the conditional as follows:
+*/
+#if !defined __need_getopt
+# if defined __GETOPT_PREFIX
+#  define __getopt_argv_const /* empty */
+# else
+#  define __getopt_argv_const const
+# endif
+#endif
+
+/* If __GNU_LIBRARY__ is not already defined, either we are being used
+   standalone, or this is the first header included in the source file.
+   If we are being used with glibc, we need to include <features.h>, but
+   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is
+   not defined, include <ctype.h>, which will pull in <features.h> for us
+   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it
+   doesn't flood the namespace with stuff the way some other headers do.)  */
+#if !defined __GNU_LIBRARY__
+# include <ctype.h>
+#endif
+
+#ifndef __THROW
+# ifndef __GNUC_PREREQ
+#  define __GNUC_PREREQ(maj, min) (0)
+# endif
+# if defined __cplusplus && __GNUC_PREREQ (2,8)
+#  define __THROW      throw ()
+# else
+#  define __THROW
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* For communication from `getopt' to the caller.
+   When `getopt' finds an option that takes an argument,
+   the argument value is returned here.
+   Also, when `ordering' is RETURN_IN_ORDER,
+   each non-option ARGV-element is returned here.  */
+
+extern char *optarg;
+
+/* Index in ARGV of the next element to be scanned.
+   This is used for communication to and from the caller
+   and for communication between successive calls to `getopt'.
+
+   On entry to `getopt', zero means this is the first call; initialize.
+
+   When `getopt' returns -1, this is the index of the first of the
+   non-option elements that the caller should itself scan.
+
+   Otherwise, `optind' communicates from one call to the next
+   how much of ARGV has been scanned so far.  */
+
+extern int optind;
+
+/* Callers store zero here to inhibit the error message `getopt' prints
+   for unrecognized options.  */
+
+extern int opterr;
+
+/* Set to an option character which was unrecognized.  */
+
+extern int optopt;
+
+#ifndef __need_getopt
+/* Describe the long-named options requested by the application.
+   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
+   of `struct option' terminated by an element containing a name which is
+   zero.
+
+   The field `has_arg' is:
+   no_argument         (or 0) if the option does not take an argument,
+   required_argument   (or 1) if the option requires an argument,
+   optional_argument   (or 2) if the option takes an optional argument.
+
+   If the field `flag' is not NULL, it points to a variable that is set
+   to the value given in the field `val' when the option is found, but
+   left unchanged if the option is not found.
+
+   To have a long-named option do something other than set an `int' to
+   a compiled-in constant, such as set a value from `optarg', set the
+   option's `flag' field to zero and its `val' field to a nonzero
+   value (the equivalent single-letter option character, if there is
+   one).  For long options that have a zero `flag' field, `getopt'
+   returns the contents of the `val' field.  */
+
+struct option
+{
+  const char *name;
+  /* has_arg can't be an enum because some compilers complain about
+     type mismatches in all the code that assumes it is an int.  */
+  int has_arg;
+  int *flag;
+  int val;
+};
+
+/* Names for the values of the `has_arg' field of `struct option'.  */
+
+# define no_argument           0
+# define required_argument     1
+# define optional_argument     2
+#endif /* need getopt */
+
+
+/* Get definitions and prototypes for functions to process the
+   arguments in ARGV (ARGC of them, minus the program name) for
+   options given in OPTS.
+
+   Return the option character from OPTS just read.  Return -1 when
+   there are no more options.  For unrecognized options, or options
+   missing arguments, `optopt' is set to the option letter, and '?' is
+   returned.
+
+   The OPTS string is a list of characters which are recognized option
+   letters, optionally followed by colons, specifying that that letter
+   takes an argument, to be placed in `optarg'.
+
+   If a letter in OPTS is followed by two colons, its argument is
+   optional.  This behavior is specific to the GNU `getopt'.
+
+   The argument `--' causes premature termination of argument
+   scanning, explicitly telling `getopt' that there are no more
+   options.
+
+   If OPTS begins with `-', then non-option arguments are treated as
+   arguments to the option '\1'.  This behavior is specific to the GNU
+   `getopt'.  If OPTS begins with `+', or POSIXLY_CORRECT is set in
+   the environment, then do not permute arguments.  */
+
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
+       __THROW;
+
+#ifndef __need_getopt
+extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
+                       const char *__shortopts,
+                       const struct option *__longopts, int *__longind)
+       __THROW;
+extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
+                            const char *__shortopts,
+                            const struct option *__longopts, int *__longind)
+       __THROW;
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Make sure we later can get all the definitions and declarations.  */
+#undef __need_getopt
+
+#endif /* getopt.h */
diff --git a/gnu/usr.bin/texinfo/libgnu/string.h b/gnu/usr.bin/texinfo/libgnu/string.h
new file mode 100644 (file)
index 0000000..e76767f
--- /dev/null
@@ -0,0 +1,614 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* A GNU-like <string.h>.
+
+   Copyright (C) 1995-1996, 2001-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _GL_STRING_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#include_next <string.h>
+
+#ifndef _GL_STRING_H
+#define _GL_STRING_H
+
+
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
+#  define __attribute__(Spec) /* empty */
+# endif
+/* The attribute __pure__ was added in gcc 2.96.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
+#  define __pure__ /* empty */
+# endif
+#endif
+
+
+/* The definition of GL_LINK_WARNING is copied here.  */
+/* GL_LINK_WARNING("literal string") arranges to emit the literal string as
+   a linker warning on most glibc systems.
+   We use a linker warning rather than a preprocessor warning, because
+   #warning cannot be used inside macros.  */
+#ifndef GL_LINK_WARNING
+  /* This works on platforms with GNU ld and ELF object format.
+     Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.
+     Testing __ELF__ guarantees the ELF object format.
+     Testing __GNUC__ is necessary for the compound expression syntax.  */
+# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__
+#  define GL_LINK_WARNING(message) \
+     GL_LINK_WARNING1 (__FILE__, __LINE__, message)
+#  define GL_LINK_WARNING1(file, line, message) \
+     GL_LINK_WARNING2 (file, line, message)  /* macroexpand file and line */
+#  define GL_LINK_WARNING2(file, line, message) \
+     GL_LINK_WARNING3 (file ":" #line ": warning: " message)
+#  define GL_LINK_WARNING3(message) \
+     ({ static const char warning[sizeof (message)]            \
+          __attribute__ ((__unused__,                          \
+                          __section__ (".gnu.warning"),                \
+                          __aligned__ (1)))                    \
+          = message "\n";                                      \
+        (void)0;                                               \
+     })
+# else
+#  define GL_LINK_WARNING(message) ((void) 0)
+# endif
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Return the first occurrence of NEEDLE in HAYSTACK.  */
+#if 1
+# if 1
+#  define memmem rpl_memmem
+# endif
+# if ! 1 || 1
+extern void *memmem (void const *__haystack, size_t __haystack_len,
+                    void const *__needle, size_t __needle_len)
+  __attribute__ ((__pure__));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef memmem
+# define memmem(a,al,b,bl) \
+    (GL_LINK_WARNING ("memmem is unportable and often quadratic - " \
+                      "use gnulib module memmem-simple for portability, " \
+                      "and module memmem for speed" ), \
+     memmem (a, al, b, bl))
+#endif
+
+/* Copy N bytes of SRC to DEST, return pointer to bytes after the
+   last written byte.  */
+#if 1
+# if ! 0
+extern void *mempcpy (void *restrict __dest, void const *restrict __src,
+                     size_t __n);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef mempcpy
+# define mempcpy(a,b,n) \
+    (GL_LINK_WARNING ("mempcpy is unportable - " \
+                      "use gnulib module mempcpy for portability"), \
+     mempcpy (a, b, n))
+#endif
+
+/* Search backwards through a block for a byte (specified as an int).  */
+#if 0
+# if ! 1
+extern void *memrchr (void const *, int, size_t)
+  __attribute__ ((__pure__));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef memrchr
+# define memrchr(a,b,c) \
+    (GL_LINK_WARNING ("memrchr is unportable - " \
+                      "use gnulib module memrchr for portability"), \
+     memrchr (a, b, c))
+#endif
+
+/* Find the first occurrence of C in S.  More efficient than
+   memchr(S,C,N), at the expense of undefined behavior if C does not
+   occur within N bytes.  */
+#if 0
+# if ! 1
+extern void *rawmemchr (void const *__s, int __c_in)
+  __attribute__ ((__pure__));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef rawmemchr
+# define rawmemchr(a,b) \
+    (GL_LINK_WARNING ("rawmemchr is unportable - " \
+                      "use gnulib module rawmemchr for portability"), \
+     rawmemchr (a, b))
+#endif
+
+/* Copy SRC to DST, returning the address of the terminating '\0' in DST.  */
+#if 1
+# if ! 1
+extern char *stpcpy (char *restrict __dst, char const *restrict __src);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef stpcpy
+# define stpcpy(a,b) \
+    (GL_LINK_WARNING ("stpcpy is unportable - " \
+                      "use gnulib module stpcpy for portability"), \
+     stpcpy (a, b))
+#endif
+
+/* Copy no more than N bytes of SRC to DST, returning a pointer past the
+   last non-NUL byte written into DST.  */
+#if 0
+# if ! 1
+#  define stpncpy gnu_stpncpy
+extern char *stpncpy (char *restrict __dst, char const *restrict __src,
+                     size_t __n);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef stpncpy
+# define stpncpy(a,b,n) \
+    (GL_LINK_WARNING ("stpncpy is unportable - " \
+                      "use gnulib module stpncpy for portability"), \
+     stpncpy (a, b, n))
+#endif
+
+#if defined GNULIB_POSIXCHECK
+/* strchr() does not work with multibyte strings if the locale encoding is
+   GB18030 and the character to be searched is a digit.  */
+# undef strchr
+# define strchr(s,c) \
+    (GL_LINK_WARNING ("strchr cannot work correctly on character strings " \
+                      "in some multibyte locales - " \
+                      "use mbschr if you care about internationalization"), \
+     strchr (s, c))
+#endif
+
+/* Find the first occurrence of C in S or the final NUL byte.  */
+#if 0
+# if ! 1
+extern char *strchrnul (char const *__s, int __c_in)
+  __attribute__ ((__pure__));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strchrnul
+# define strchrnul(a,b) \
+    (GL_LINK_WARNING ("strchrnul is unportable - " \
+                      "use gnulib module strchrnul for portability"), \
+     strchrnul (a, b))
+#endif
+
+/* Duplicate S, returning an identical malloc'd string.  */
+#if 1
+# if ! 1 && ! defined strdup
+extern char *strdup (char const *__s);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strdup
+# define strdup(a) \
+    (GL_LINK_WARNING ("strdup is unportable - " \
+                      "use gnulib module strdup for portability"), \
+     strdup (a))
+#endif
+
+/* Return a newly allocated copy of at most N bytes of STRING.  */
+#if 1
+# if ! 1
+#  undef strndup
+#  define strndup rpl_strndup
+# endif
+# if ! 1 || ! 1
+extern char *strndup (char const *__string, size_t __n);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strndup
+# define strndup(a,n) \
+    (GL_LINK_WARNING ("strndup is unportable - " \
+                      "use gnulib module strndup for portability"), \
+     strndup (a, n))
+#endif
+
+/* Find the length (number of bytes) of STRING, but scan at most
+   MAXLEN bytes.  If no '\0' terminator is found in that many bytes,
+   return MAXLEN.  */
+#if 1
+# if ! 1
+extern size_t strnlen (char const *__string, size_t __maxlen)
+  __attribute__ ((__pure__));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strnlen
+# define strnlen(a,n) \
+    (GL_LINK_WARNING ("strnlen is unportable - " \
+                      "use gnulib module strnlen for portability"), \
+     strnlen (a, n))
+#endif
+
+#if defined GNULIB_POSIXCHECK
+/* strcspn() assumes the second argument is a list of single-byte characters.
+   Even in this simple case, it does not work with multibyte strings if the
+   locale encoding is GB18030 and one of the characters to be searched is a
+   digit.  */
+# undef strcspn
+# define strcspn(s,a) \
+    (GL_LINK_WARNING ("strcspn cannot work correctly on character strings " \
+                      "in multibyte locales - " \
+                      "use mbscspn if you care about internationalization"), \
+     strcspn (s, a))
+#endif
+
+/* Find the first occurrence in S of any character in ACCEPT.  */
+#if 0
+# if ! 1
+extern char *strpbrk (char const *__s, char const *__accept)
+  __attribute__ ((__pure__));
+# endif
+# if defined GNULIB_POSIXCHECK
+/* strpbrk() assumes the second argument is a list of single-byte characters.
+   Even in this simple case, it does not work with multibyte strings if the
+   locale encoding is GB18030 and one of the characters to be searched is a
+   digit.  */
+#  undef strpbrk
+#  define strpbrk(s,a) \
+     (GL_LINK_WARNING ("strpbrk cannot work correctly on character strings " \
+                       "in multibyte locales - " \
+                       "use mbspbrk if you care about internationalization"), \
+      strpbrk (s, a))
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strpbrk
+# define strpbrk(s,a) \
+    (GL_LINK_WARNING ("strpbrk is unportable - " \
+                      "use gnulib module strpbrk for portability"), \
+     strpbrk (s, a))
+#endif
+
+#if defined GNULIB_POSIXCHECK
+/* strspn() assumes the second argument is a list of single-byte characters.
+   Even in this simple case, it cannot work with multibyte strings.  */
+# undef strspn
+# define strspn(s,a) \
+    (GL_LINK_WARNING ("strspn cannot work correctly on character strings " \
+                      "in multibyte locales - " \
+                      "use mbsspn if you care about internationalization"), \
+     strspn (s, a))
+#endif
+
+#if defined GNULIB_POSIXCHECK
+/* strrchr() does not work with multibyte strings if the locale encoding is
+   GB18030 and the character to be searched is a digit.  */
+# undef strrchr
+# define strrchr(s,c) \
+    (GL_LINK_WARNING ("strrchr cannot work correctly on character strings " \
+                      "in some multibyte locales - " \
+                      "use mbsrchr if you care about internationalization"), \
+     strrchr (s, c))
+#endif
+
+/* Search the next delimiter (char listed in DELIM) starting at *STRINGP.
+   If one is found, overwrite it with a NUL, and advance *STRINGP
+   to point to the next char after it.  Otherwise, set *STRINGP to NULL.
+   If *STRINGP was already NULL, nothing happens.
+   Return the old value of *STRINGP.
+
+   This is a variant of strtok() that is multithread-safe and supports
+   empty fields.
+
+   Caveat: It modifies the original string.
+   Caveat: These functions cannot be used on constant strings.
+   Caveat: The identity of the delimiting character is lost.
+   Caveat: It doesn't work with multibyte strings unless all of the delimiter
+           characters are ASCII characters < 0x30.
+
+   See also strtok_r().  */
+#if 0
+# if ! 1
+extern char *strsep (char **restrict __stringp, char const *restrict __delim);
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef strsep
+#  define strsep(s,d) \
+     (GL_LINK_WARNING ("strsep cannot work correctly on character strings " \
+                       "in multibyte locales - " \
+                       "use mbssep if you care about internationalization"), \
+      strsep (s, d))
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strsep
+# define strsep(s,d) \
+    (GL_LINK_WARNING ("strsep is unportable - " \
+                      "use gnulib module strsep for portability"), \
+     strsep (s, d))
+#endif
+
+#if 0
+# if 0
+#  define strstr rpl_strstr
+char *strstr (const char *haystack, const char *needle)
+  __attribute__ ((__pure__));
+# endif
+#elif defined GNULIB_POSIXCHECK
+/* strstr() does not work with multibyte strings if the locale encoding is
+   different from UTF-8:
+   POSIX says that it operates on "strings", and "string" in POSIX is defined
+   as a sequence of bytes, not of characters.  */
+# undef strstr
+# define strstr(a,b) \
+    (GL_LINK_WARNING ("strstr is quadratic on many systems, and cannot " \
+                      "work correctly on character strings in most "    \
+                      "multibyte locales - " \
+                      "use mbsstr if you care about internationalization, " \
+                      "or use strstr if you care about speed"), \
+     strstr (a, b))
+#endif
+
+/* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive
+   comparison.  */
+#if 0
+# if 0
+#  define strcasestr rpl_strcasestr
+# endif
+# if ! 1 || 0
+extern char *strcasestr (const char *haystack, const char *needle)
+  __attribute__ ((__pure__));
+# endif
+#elif defined GNULIB_POSIXCHECK
+/* strcasestr() does not work with multibyte strings:
+   It is a glibc extension, and glibc implements it only for unibyte
+   locales.  */
+# undef strcasestr
+# define strcasestr(a,b) \
+    (GL_LINK_WARNING ("strcasestr does work correctly on character strings " \
+                      "in multibyte locales - " \
+                      "use mbscasestr if you care about " \
+                      "internationalization, or use c-strcasestr if you want " \
+                      "a locale independent function"), \
+     strcasestr (a, b))
+#endif
+
+/* Parse S into tokens separated by characters in DELIM.
+   If S is NULL, the saved pointer in SAVE_PTR is used as
+   the next starting point.  For example:
+       char s[] = "-abc-=-def";
+       char *sp;
+       x = strtok_r(s, "-", &sp);      // x = "abc", sp = "=-def"
+       x = strtok_r(NULL, "-=", &sp);  // x = "def", sp = NULL
+       x = strtok_r(NULL, "=", &sp);   // x = NULL
+               // s = "abc\0-def\0"
+
+   This is a variant of strtok() that is multithread-safe.
+
+   For the POSIX documentation for this function, see:
+   http://www.opengroup.org/susv3xsh/strtok.html
+
+   Caveat: It modifies the original string.
+   Caveat: These functions cannot be used on constant strings.
+   Caveat: The identity of the delimiting character is lost.
+   Caveat: It doesn't work with multibyte strings unless all of the delimiter
+           characters are ASCII characters < 0x30.
+
+   See also strsep().  */
+#if 0
+# if ! 1
+extern char *strtok_r (char *restrict s, char const *restrict delim,
+                      char **restrict save_ptr);
+# endif
+# if defined GNULIB_POSIXCHECK
+#  undef strtok_r
+#  define strtok_r(s,d,p) \
+     (GL_LINK_WARNING ("strtok_r cannot work correctly on character strings " \
+                       "in multibyte locales - " \
+                       "use mbstok_r if you care about internationalization"), \
+      strtok_r (s, d, p))
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtok_r
+# define strtok_r(s,d,p) \
+    (GL_LINK_WARNING ("strtok_r is unportable - " \
+                      "use gnulib module strtok_r for portability"), \
+     strtok_r (s, d, p))
+#endif
+
+
+/* The following functions are not specified by POSIX.  They are gnulib
+   extensions.  */
+
+#if 1
+/* Return the number of multibyte characters in the character string STRING.
+   This considers multibyte characters, unlike strlen, which counts bytes.  */
+extern size_t mbslen (const char *string);
+#endif
+
+#if 0
+/* Return the number of multibyte characters in the character string starting
+   at STRING and ending at STRING + LEN.  */
+extern size_t mbsnlen (const char *string, size_t len);
+#endif
+
+#if 1
+/* Locate the first single-byte character C in the character string STRING,
+   and return a pointer to it.  Return NULL if C is not found in STRING.
+   Unlike strchr(), this function works correctly in multibyte locales with
+   encodings such as GB18030.  */
+# define mbschr rpl_mbschr /* avoid collision with HP-UX function */
+extern char * mbschr (const char *string, int c);
+#endif
+
+#if 0
+/* Locate the last single-byte character C in the character string STRING,
+   and return a pointer to it.  Return NULL if C is not found in STRING.
+   Unlike strrchr(), this function works correctly in multibyte locales with
+   encodings such as GB18030.  */
+# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */
+extern char * mbsrchr (const char *string, int c);
+#endif
+
+#if 1
+/* Find the first occurrence of the character string NEEDLE in the character
+   string HAYSTACK.  Return NULL if NEEDLE is not found in HAYSTACK.
+   Unlike strstr(), this function works correctly in multibyte locales with
+   encodings different from UTF-8.  */
+extern char * mbsstr (const char *haystack, const char *needle);
+#endif
+
+#if 1
+/* Compare the character strings S1 and S2, ignoring case, returning less than,
+   equal to or greater than zero if S1 is lexicographically less than, equal to
+   or greater than S2.
+   Note: This function may, in multibyte locales, return 0 for strings of
+   different lengths!
+   Unlike strcasecmp(), this function works correctly in multibyte locales.  */
+extern int mbscasecmp (const char *s1, const char *s2);
+#endif
+
+#if 1
+/* Compare the initial segment of the character string S1 consisting of at most
+   N characters with the initial segment of the character string S2 consisting
+   of at most N characters, ignoring case, returning less than, equal to or
+   greater than zero if the initial segment of S1 is lexicographically less
+   than, equal to or greater than the initial segment of S2.
+   Note: This function may, in multibyte locales, return 0 for initial segments
+   of different lengths!
+   Unlike strncasecmp(), this function works correctly in multibyte locales.
+   But beware that N is not a byte count but a character count!  */
+extern int mbsncasecmp (const char *s1, const char *s2, size_t n);
+#endif
+
+#if 0
+/* Compare the initial segment of the character string STRING consisting of
+   at most mbslen (PREFIX) characters with the character string PREFIX,
+   ignoring case, returning less than, equal to or greater than zero if this
+   initial segment is lexicographically less than, equal to or greater than
+   PREFIX.
+   Note: This function may, in multibyte locales, return 0 if STRING is of
+   smaller length than PREFIX!
+   Unlike strncasecmp(), this function works correctly in multibyte
+   locales.  */
+extern char * mbspcasecmp (const char *string, const char *prefix);
+#endif
+
+#if 0
+/* Find the first occurrence of the character string NEEDLE in the character
+   string HAYSTACK, using case-insensitive comparison.
+   Note: This function may, in multibyte locales, return success even if
+   strlen (haystack) < strlen (needle) !
+   Unlike strcasestr(), this function works correctly in multibyte locales.  */
+extern char * mbscasestr (const char *haystack, const char *needle);
+#endif
+
+#if 0
+/* Find the first occurrence in the character string STRING of any character
+   in the character string ACCEPT.  Return the number of bytes from the
+   beginning of the string to this occurrence, or to the end of the string
+   if none exists.
+   Unlike strcspn(), this function works correctly in multibyte locales.  */
+extern size_t mbscspn (const char *string, const char *accept);
+#endif
+
+#if 0
+/* Find the first occurrence in the character string STRING of any character
+   in the character string ACCEPT.  Return the pointer to it, or NULL if none
+   exists.
+   Unlike strpbrk(), this function works correctly in multibyte locales.  */
+# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */
+extern char * mbspbrk (const char *string, const char *accept);
+#endif
+
+#if 0
+/* Find the first occurrence in the character string STRING of any character
+   not in the character string REJECT.  Return the number of bytes from the
+   beginning of the string to this occurrence, or to the end of the string
+   if none exists.
+   Unlike strspn(), this function works correctly in multibyte locales.  */
+extern size_t mbsspn (const char *string, const char *reject);
+#endif
+
+#if 0
+/* Search the next delimiter (multibyte character listed in the character
+   string DELIM) starting at the character string *STRINGP.
+   If one is found, overwrite it with a NUL, and advance *STRINGP to point
+   to the next multibyte character after it.  Otherwise, set *STRINGP to NULL.
+   If *STRINGP was already NULL, nothing happens.
+   Return the old value of *STRINGP.
+
+   This is a variant of mbstok_r() that supports empty fields.
+
+   Caveat: It modifies the original string.
+   Caveat: These functions cannot be used on constant strings.
+   Caveat: The identity of the delimiting character is lost.
+
+   See also mbstok_r().  */
+extern char * mbssep (char **stringp, const char *delim);
+#endif
+
+#if 0
+/* Parse the character string STRING into tokens separated by characters in
+   the character string DELIM.
+   If STRING is NULL, the saved pointer in SAVE_PTR is used as
+   the next starting point.  For example:
+       char s[] = "-abc-=-def";
+       char *sp;
+       x = mbstok_r(s, "-", &sp);      // x = "abc", sp = "=-def"
+       x = mbstok_r(NULL, "-=", &sp);  // x = "def", sp = NULL
+       x = mbstok_r(NULL, "=", &sp);   // x = NULL
+               // s = "abc\0-def\0"
+
+   Caveat: It modifies the original string.
+   Caveat: These functions cannot be used on constant strings.
+   Caveat: The identity of the delimiting character is lost.
+
+   See also mbssep().  */
+extern char * mbstok_r (char *string, const char *delim, char **save_ptr);
+#endif
+
+/* Map any int, typically from errno, into an error message.  */
+#if 1
+# if 0
+#  undef strerror
+#  define strerror rpl_strerror
+extern char *strerror (int);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strerror
+# define strerror(e) \
+    (GL_LINK_WARNING ("strerror is unportable - " \
+                      "use gnulib module strerror to guarantee non-NULL result"), \
+     strerror (e))
+#endif
+
+#if 0
+# if 0
+#  define strsignal rpl_strsignal
+# endif
+# if ! 1 || 0
+extern char *strsignal (int __sig);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strsignal
+# define strsignal(a) \
+    (GL_LINK_WARNING ("strsignal is unportable - " \
+                      "use gnulib module strsignal for portability"), \
+     strsignal (a))
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GL_STRING_H */
+#endif /* _GL_STRING_H */
diff --git a/gnu/usr.bin/texinfo/libgnu/sys/stat.h b/gnu/usr.bin/texinfo/libgnu/sys/stat.h
new file mode 100644 (file)
index 0000000..4fd6177
--- /dev/null
@@ -0,0 +1,292 @@
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Provide a more complete sys/stat header file.
+   Copyright (C) 2006-2008 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+/* Written by Eric Blake, Paul Eggert, and Jim Meyering.  */
+
+/* This file is supposed to be used on platforms where <sys/stat.h> is
+   incomplete.  It is intended to provide definitions and prototypes
+   needed by an application.  Start with what the system provides.  */
+
+#ifndef _GL_SYS_STAT_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#include_next <sys/stat.h>
+
+#ifndef _GL_SYS_STAT_H
+#define _GL_SYS_STAT_H
+
+/* Before doing "#define mkdir rpl_mkdir" below, we need to include all
+   headers that may declare mkdir().  */
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <io.h>
+#endif
+
+#ifndef S_IFMT
+# define S_IFMT 0170000
+#endif
+
+#if STAT_MACROS_BROKEN
+# undef S_ISBLK
+# undef S_ISCHR
+# undef S_ISDIR
+# undef S_ISFIFO
+# undef S_ISLNK
+# undef S_ISNAM
+# undef S_ISMPB
+# undef S_ISMPC
+# undef S_ISNWK
+# undef S_ISREG
+# undef S_ISSOCK
+#endif
+
+#ifndef S_ISBLK
+# ifdef S_IFBLK
+#  define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+# else
+#  define S_ISBLK(m) 0
+# endif
+#endif
+
+#ifndef S_ISCHR
+# ifdef S_IFCHR
+#  define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+# else
+#  define S_ISCHR(m) 0
+# endif
+#endif
+
+#ifndef S_ISDIR
+# ifdef S_IFDIR
+#  define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+# else
+#  define S_ISDIR(m) 0
+# endif
+#endif
+
+#ifndef S_ISDOOR /* Solaris 2.5 and up */
+# define S_ISDOOR(m) 0
+#endif
+
+#ifndef S_ISFIFO
+# ifdef S_IFIFO
+#  define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
+# else
+#  define S_ISFIFO(m) 0
+# endif
+#endif
+
+#ifndef S_ISLNK
+# ifdef S_IFLNK
+#  define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+# else
+#  define S_ISLNK(m) 0
+# endif
+#endif
+
+#ifndef S_ISMPB /* V7 */
+# ifdef S_IFMPB
+#  define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
+#  define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
+# else
+#  define S_ISMPB(m) 0
+#  define S_ISMPC(m) 0
+# endif
+#endif
+
+#ifndef S_ISNAM /* Xenix */
+# ifdef S_IFNAM
+#  define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM)
+# else
+#  define S_ISNAM(m) 0
+# endif
+#endif
+
+#ifndef S_ISNWK /* HP/UX */
+# ifdef S_IFNWK
+#  define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
+# else
+#  define S_ISNWK(m) 0
+# endif
+#endif
+
+#ifndef S_ISPORT /* Solaris 10 and up */
+# define S_ISPORT(m) 0
+#endif
+
+#ifndef S_ISREG
+# ifdef S_IFREG
+#  define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+# else
+#  define S_ISREG(m) 0
+# endif
+#endif
+
+#ifndef S_ISSOCK
+# ifdef S_IFSOCK
+#  define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
+# else
+#  define S_ISSOCK(m) 0
+# endif
+#endif
+
+
+#ifndef S_TYPEISMQ
+# define S_TYPEISMQ(p) 0
+#endif
+
+#ifndef S_TYPEISTMO
+# define S_TYPEISTMO(p) 0
+#endif
+
+
+#ifndef S_TYPEISSEM
+# ifdef S_INSEM
+#  define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM)
+# else
+#  define S_TYPEISSEM(p) 0
+# endif
+#endif
+
+#ifndef S_TYPEISSHM
+# ifdef S_INSHD
+#  define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD)
+# else
+#  define S_TYPEISSHM(p) 0
+# endif
+#endif
+
+/* high performance ("contiguous data") */
+#ifndef S_ISCTG
+# define S_ISCTG(p) 0
+#endif
+
+/* Cray DMF (data migration facility): off line, with data  */
+#ifndef S_ISOFD
+# define S_ISOFD(p) 0
+#endif
+
+/* Cray DMF (data migration facility): off line, with no data  */
+#ifndef S_ISOFL
+# define S_ISOFL(p) 0
+#endif
+
+/* 4.4BSD whiteout */
+#ifndef S_ISWHT
+# define S_ISWHT(m) 0
+#endif
+
+/* If any of the following are undefined,
+   define them to their de facto standard values.  */
+#if !S_ISUID
+# define S_ISUID 04000
+#endif
+#if !S_ISGID
+# define S_ISGID 02000
+#endif
+
+/* S_ISVTX is a common extension to POSIX.  */
+#ifndef S_ISVTX
+# define S_ISVTX 01000
+#endif
+
+#if !S_IRUSR && S_IREAD
+# define S_IRUSR S_IREAD
+#endif
+#if !S_IRUSR
+# define S_IRUSR 00400
+#endif
+#if !S_IRGRP
+# define S_IRGRP (S_IRUSR >> 3)
+#endif
+#if !S_IROTH
+# define S_IROTH (S_IRUSR >> 6)
+#endif
+
+#if !S_IWUSR && S_IWRITE
+# define S_IWUSR S_IWRITE
+#endif
+#if !S_IWUSR
+# define S_IWUSR 00200
+#endif
+#if !S_IWGRP
+# define S_IWGRP (S_IWUSR >> 3)
+#endif
+#if !S_IWOTH
+# define S_IWOTH (S_IWUSR >> 6)
+#endif
+
+#if !S_IXUSR && S_IEXEC
+# define S_IXUSR S_IEXEC
+#endif
+#if !S_IXUSR
+# define S_IXUSR 00100
+#endif
+#if !S_IXGRP
+# define S_IXGRP (S_IXUSR >> 3)
+#endif
+#if !S_IXOTH
+# define S_IXOTH (S_IXUSR >> 6)
+#endif
+
+#if !S_IRWXU
+# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
+#endif
+#if !S_IRWXG
+# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
+#endif
+#if !S_IRWXO
+# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
+#endif
+
+/* S_IXUGO is a common extension to POSIX.  */
+#if !S_IXUGO
+# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
+#endif
+
+#ifndef S_IRWXUGO
+# define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO)
+#endif
+
+/* mingw does not support symlinks, therefore it does not have lstat.  But
+   without links, stat does just fine.  */
+#if ! 1
+# define lstat stat
+#endif
+
+#if 0
+# undef mkdir
+# define mkdir rpl_mkdir
+extern int mkdir (char const *name, mode_t mode);
+#else
+/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
+   Additionally, it declares _mkdir (and depending on compile flags, an
+   alias mkdir), only in the nonstandard <io.h>, which is included above.  */
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+static inline int
+rpl_mkdir (char const *name, mode_t mode)
+{
+  return _mkdir (name);
+}
+
+#  define mkdir rpl_mkdir
+# endif
+#endif
+
+#endif /* _GL_SYS_STAT_H */
+#endif /* _GL_SYS_STAT_H */
diff --git a/gnu/usr.bin/texinfo/libgnu/unitypes.h b/gnu/usr.bin/texinfo/libgnu/unitypes.h
new file mode 100644 (file)
index 0000000..12e2628
--- /dev/null
@@ -0,0 +1,26 @@
+/* Elementary types for the GNU UniString library.
+   Copyright (C) 2002, 2005-2006 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 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   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, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _UNITYPES_H
+#define _UNITYPES_H
+
+/* Get uint8_t, uint16_t, uint32_t.  */
+#include <stdint.h>
+
+/* Type representing a Unicode character.  */
+typedef uint32_t ucs4_t;
+
+#endif /* _UNITYPES_H */
diff --git a/gnu/usr.bin/texinfo/libgnu/uniwidth.h b/gnu/usr.bin/texinfo/libgnu/uniwidth.h
new file mode 100644 (file)
index 0000000..5b4867f
--- /dev/null
@@ -0,0 +1,64 @@
+/* Display width functions.
+   Copyright (C) 2001-2002, 2005, 2007 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 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   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, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _UNIWIDTH_H
+#define _UNIWIDTH_H
+
+#include "unitypes.h"
+
+/* Get size_t.  */
+#include <stddef.h>
+
+/* Get locale_charset() declaration.  */
+#include "localcharset.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Display width.  */
+
+/* These functions are locale dependent.  The encoding argument identifies
+   the encoding (e.g. "ISO-8859-2" for Polish).  */
+
+/* Determine number of column positions required for UC.  */
+extern int
+       uc_width (ucs4_t uc, const char *encoding);
+
+/* Determine number of column positions required for first N units
+   (or fewer if S ends before this) in S.  */
+extern int
+       u8_width (const uint8_t *s, size_t n, const char *encoding);
+extern int
+       u16_width (const uint16_t *s, size_t n, const char *encoding);
+extern int
+       u32_width (const uint32_t *s, size_t n, const char *encoding);
+
+/* Determine number of column positions required for S.  */
+extern int
+       u8_strwidth (const uint8_t *s, const char *encoding);
+extern int
+       u16_strwidth (const uint16_t *s, const char *encoding);
+extern int
+       u32_strwidth (const uint32_t *s, const char *encoding);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UNIWIDTH_H */
index 0116366..78fc59c 100644 (file)
@@ -1,11 +1,17 @@
-# $FreeBSD: src/gnu/usr.bin/texinfo/libtxi/Makefile,v 1.7.2.1 2002/07/19 18:46:24 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/libtxi/Makefile,v 1.3 2005/08/28 12:25:05 asmodai Exp $
+.include "../Makefile.inc"
 
-LIB=   txi
-INTERNALLIB= true
+LIB=           txi
+INTERNALLIB=   true
 
-SRCS=  substring.c xexit.c xmalloc.c xstrdup.c
+CONTRIBDIR=    ${BASEDIR}/lib
+.PATH:         ${CONTRIBDIR}
 
-.include <bsd.lib.mk>
+CFLAGS+=       -I${CONTRIBDIR} -I${.CURDIR} -I${.OBJDIR}
+CFLAGS+=       -I${BASEDIR} -I${.CURDIR}/../libgnu
+CFLAGS+=       -I${BASEDIR}/gnulib/lib
+CFLAGS+=       -DHAVE_CONFIG_H
+
+SRCS=          substring.c \
+               xexit.c
 
-.PATH: ${TXIDIR}/lib
+.include <bsd.lib.mk>
index c848137..a748f35 100644 (file)
@@ -1,14 +1,28 @@
-# $FreeBSD: src/gnu/usr.bin/texinfo/makeinfo/Makefile,v 1.13.2.2 2002/08/07 16:53:37 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/makeinfo/Makefile,v 1.3 2005/08/28 12:25:05 asmodai Exp $
+.include "../Makefile.inc0"
+.PATH: ${SRCDIR}/makeinfo ${SRCDIR}/doc
 
-PROG=  makeinfo
-SRCS=  cmds.c defun.c files.c float.c footnote.c html.c \
-       index.c insertion.c lang.c macro.c makeinfo.c multi.c \
-       node.c sectioning.c toc.c xml.c xref.c
+PROG=          makeinfo
 
-DPADD= ${LIBTXI}
-LDADD= ${LIBTXI}
+CFLAGS+=       -I${SRCDIR} -I${SRCDIR}/makeinfo -I${SRCDIR}/gnulib/lib
+CFLAGS+=       -I${.CURDIR}/../libgnu
+CFLAGS+=       -DHAVE_CONFIG_H
 
-.include <bsd.prog.mk>
+SRCS=          cmds.c \
+               defun.c \
+               files.c \
+               float.c \
+               footnote.c \
+               html.c \
+               index.c \
+               insertion.c \
+               lang.c \
+               macro.c \
+               makeinfo.c \
+               multi.c \
+               node.c \
+               sectioning.c \
+               toc.c \
+               xml.c \
+               xref.c
 
-.PATH: $(TXIDIR)/makeinfo $(TXIDIR)/doc
+.include <bsd.prog.mk>
index 705a923..662275c 100644 (file)
@@ -1,14 +1,12 @@
-# $FreeBSD: src/gnu/usr.bin/texinfo/texindex/Makefile,v 1.7.2.1 2002/08/07 16:53:39 ru Exp $
-# $DragonFly: src/gnu/usr.bin/texinfo/texindex/Makefile,v 1.3 2006/02/11 01:21:27 joerg Exp $
+.include "../Makefile.inc0"
+.PATH: ${SRCDIR}/util ${SRCDIR}/doc
 
-PROG=  texindex
+PROG=          texindex
+MAN=           texindex.1 texi2dvi.1 texi2pdf.1 pdftexi2dvi.1
+SCRIPTS=       texi2dvi texi2pdf pdftexi2dvi
 
-PATCHES=       texindex.c.patch
-CONTRIBDIR=    ${TXIDIR}/util
-
-DPADD= ${LIBTXI}
-LDADD= ${LIBTXI}
+CFLAGS+=       -I${SRCDIR} -I${SRCDIR}/gnulib/lib
+CFLAGS+=       -I${.CURDIR}/../libgnu
 
 .include <bsd.prog.mk>
 
-.PATH: ${TXIDIR}/util ${TXIDIR}/doc
diff --git a/gnu/usr.bin/texinfo/texindex/texindex.c.patch b/gnu/usr.bin/texinfo/texindex/texindex.c.patch
deleted file mode 100644 (file)
index c52afed..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-$DragonFly: src/gnu/usr.bin/texinfo/texindex/texindex.c.patch,v 1.1 2006/02/11 01:21:27 joerg Exp $
-Security fix for CAN-2005-3001.
-
-Index: texindex.c
-===================================================================
-RCS file: /cvs/src/contrib/texinfo-4/util/texindex.c,v
-retrieving revision 1.1
-diff -u -r1.1 texindex.c
---- texindex.c 28 Aug 2005 12:23:25 -0000      1.1
-+++ texindex.c 11 Feb 2006 01:11:08 -0000
-@@ -387,14 +387,15 @@
- /* Return a name for temporary file COUNT. */
- static char *
--maketempname (int count)
-+maketempname (int count, int can_exist)
- {
-   static char *tempbase = NULL;
-+  char *tempname;
-   char tempsuffix[10];
-+  int fd;
-   if (!tempbase)
-     {
--      int fd;
-       tempbase = concat (tempdir, "txidxXXXXXX");
-       fd = mkstemp (tempbase);
-@@ -403,7 +404,14 @@
-     }
-   sprintf (tempsuffix, ".%d", count);
--  return concat (tempbase, tempsuffix);
-+  tempname = concat (tempbase, tempsuffix);
-+  if (!can_exist) {
-+    fd = open (tempname, O_CREAT|O_EXCL|O_WRONLY, 0600);
-+    if (fd == -1)
-+      pfatal_with_name (tempname);
-+    close (fd);
-+  }
-+  return tempname;
- }
-@@ -415,7 +423,7 @@
-   if (keep_tempfiles)
-     return;
-   while (last_deleted_tempcount < to_count)
--    unlink (maketempname (++last_deleted_tempcount));
-+    unlink (maketempname (++last_deleted_tempcount, 1));
- }
\f
-@@ -882,7 +890,7 @@
-   for (i = 0; i < ntemps; i++)
-     {
--      char *outname = maketempname (++tempcount);
-+      char *outname = maketempname (++tempcount, 0);
-       FILE *ostream = fopen (outname, "w");
-       long tempsize = 0;
-@@ -930,7 +938,7 @@
-   for (i = 0; i < ntemps; i++)
-     {
--      char *newtemp = maketempname (++tempcount);
-+      char *newtemp = maketempname (++tempcount, 0);
-       sort_in_core (tempfiles[i], MAX_IN_CORE_SORT, newtemp);
-       if (!keep_tempfiles)
-         unlink (tempfiles[i]);
-@@ -1400,7 +1408,7 @@
-       int nf = MAX_DIRECT_MERGE;
-       if (i + 1 == ntemps)
-         nf = nfiles - i * MAX_DIRECT_MERGE;
--      tempfiles[i] = maketempname (++tempcount);
-+      tempfiles[i] = maketempname (++tempcount, 0);
-       value |= merge_direct (&infiles[i * MAX_DIRECT_MERGE], nf, tempfiles[i]);
-     }