summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2011-11-23 19:24:14 -0500
committerChet Ramey <chet.ramey@case.edu>2011-11-23 19:24:14 -0500
commit86cfd01f1d547422a1fb0365719491a355847dc0 (patch)
tree131fc20f78755a99c8d5db62c39609d0c4cafe0f
parentff2d9ff725d1d8591f3534ed2a992b550b56a832 (diff)
downloadreadline-86cfd01f1d547422a1fb0365719491a355847dc0.tar.gz
Readline-6.1 import
-rw-r--r--CHANGELOG61
-rw-r--r--CHANGELOG~1021
-rw-r--r--CHANGES78
-rw-r--r--CHANGES~1098
-rw-r--r--INSTALL2
-rw-r--r--MANIFEST1
-rw-r--r--Makefile.in6
-rw-r--r--NEWS57
-rw-r--r--NEWS~39
-rw-r--r--README2
-rw-r--r--aclocal.m497
-rw-r--r--bind.c10
-rw-r--r--complete.c96
-rw-r--r--config.h.in2
-rwxr-xr-xconfigure692
-rw-r--r--configure.in8
-rw-r--r--display.c106
-rw-r--r--doc/._fdl.texibin0 -> 4096 bytes
-rw-r--r--doc/Makefile.in6
-rw-r--r--doc/fdl.texi79
-rw-r--r--doc/history.dvibin81092 -> 85440 bytes
-rw-r--r--doc/history.html96
-rw-r--r--doc/history.info130
-rw-r--r--doc/history.pdfbin165344 -> 158056 bytes
-rw-r--r--doc/history.ps6566
-rw-r--r--doc/history.texi2
-rw-r--r--doc/readline.0367
-rw-r--r--doc/readline.336
-rw-r--r--doc/readline.dvibin291468 -> 296928 bytes
-rw-r--r--doc/readline.html1407
-rw-r--r--doc/readline.info359
-rw-r--r--doc/readline.pdfbin318062 -> 296621 bytes
-rw-r--r--doc/readline.ps12190
-rw-r--r--doc/readline_3.ps1316
-rw-r--r--doc/rlman.texi2
-rw-r--r--doc/rltech.texi39
-rw-r--r--doc/rluser.texi88
-rw-r--r--doc/rluserman.dvibin96724 -> 100828 bytes
-rw-r--r--doc/rluserman.html446
-rw-r--r--doc/rluserman.info168
-rw-r--r--doc/rluserman.pdfbin174874 -> 170399 bytes
-rw-r--r--doc/rluserman.ps4970
-rw-r--r--doc/rluserman.texi2
-rw-r--r--doc/texinfo.tex8692
-rw-r--r--doc/version.texi10
-rw-r--r--examples/rlfe/Makefile.in12
-rwxr-xr-xexamples/rlfe/configure5871
-rw-r--r--funmap.c3
-rw-r--r--histexpand.c44
-rw-r--r--input.c12
-rw-r--r--keymaps.c18
-rw-r--r--mbutil.c7
-rw-r--r--parens.c14
-rw-r--r--patchlevel2
-rw-r--r--posixselect.h47
-rw-r--r--readline.c15
-rw-r--r--readline.h14
-rw-r--r--rlprivate.h5
-rw-r--r--rltty.c2
-rw-r--r--shlib/Makefile.in9
-rw-r--r--signals.c65
-rw-r--r--support/config.sub3
-rwxr-xr-xsupport/shlib-install21
-rw-r--r--support/shobj-conf19
-rw-r--r--terminal.c4
-rw-r--r--text.c49
-rw-r--r--undo.c3
-rw-r--r--util.c10
-rw-r--r--vi_keymap.c4
-rw-r--r--vi_mode.c12
70 files changed, 24735 insertions, 21877 deletions
diff --git a/CHANGELOG b/CHANGELOG
index fe2b8f3..717fbe4 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1020,7 +1020,60 @@ configure.in
support/config.{guess,sub}
- updated to newer versions from autoconf-2.62 distribution
- 9/6
- ---
-{configure,config.h}.in
- - add AC_SYS_LARGEFILE and consequent #defines for large file support
+ 3/5/2009
+ --------
+support/shlib-install
+ - take a new -V host_vendor argument
+ - add ${host_vendor} to string tested in case statement for symlink
+ creation section
+ - add support for FreeBSD/gentoo, which uses Linux library naming
+ scheme
+ - change FreeBSD symlink rules, since FreeBSD 7+ has only ELF shared
+ libraries. DragonflyBSD rules are the same. Fix from Timothy
+ Redaelli <drizzt@gentoo.org>
+
+shlib/Makefile.in
+ - add definition of host_vendor, substituted by configure
+ - add -V host_vendor argument to all invocations of shlib-install.
+ Fix from Timothy Redaelli <drizzt@gentoo.org>
+
+ 3/10
+ ----
+configure.in
+ - add call to AC_SYS_LARGEFILE for readdir and largefile support on
+ Linux
+
+config.h.in
+ - add _FILE_OFFSET_BITS define
+
+ 4/19
+ ----
+Makefile.in
+ - add targets for making and installing documentation required by GNU
+ coding standards. Fix from Joseph Myers <joseph@codesourcery.com>
+
+posixselect.h
+ - pick up from bash. Inspired by Mike Frysinger <vapier@gentoo.org>
+
+ 10/28
+ -----
+support/shlib-install
+ - decrease the default version of FreeBSD that installs shared libraries
+ to 4.x. Advice from Peter Jeremy <peterjeremy@acm.org>
+
+ 12/18
+ -----
+[readline-6.1-rc1 released]
+
+ 12/23
+ -----
+doc/Makefile.in
+ - make sure $(topdir) is not ".." before removing all of the formatted
+ documentation in `make distclean'. $(topdir) is set to `..' if
+ readline is being built in the source directory. Fixes problem
+ noticed by THOUMIN Damien <thoumin@ipanematech.com>
+
+ 12/29
+ -----
+[readline-6.1 frozen]
+
diff --git a/CHANGELOG~ b/CHANGELOG~
deleted file mode 100644
index 432746e..0000000
--- a/CHANGELOG~
+++ /dev/null
@@ -1,1021 +0,0 @@
-[Readline-specific changelog. Descriptions of changes to the source are
- found in the bash changelog.]
-
- 6/9
- ---
-Makefile.in
- - quote value of ${INSTALL_DATA} when passing it to makes in
- subdirectories
-
- 7/1
- ---
-Makefile.in
- - don't pass INSTALL_DATA to a make in the `doc' subdirectory; let
- autoconf set the value itself in the Makefile
- - removed a stray `-' before $(RANLIB) in the `install' recipe
-
-doc/Makefile.in
- - add a VPATH assignment so the documentation is not remade if it's
- already up-to-date in the distribution
-
-configure.in
- - call AC_SUBST(LOCAL_LDFLAGS), since Makefile.in contains
- @LOCAL_LDFLAGS@
-
- 7/9
- ---
-
-config.h.in
- - add define lines for STRUCT_WINSIZE_IN_SYS_IOCTL and
- STRUCT_WINSIZE_IN_TERMIOS
-
-configure.in
- - call BASH_STRUCT_WINSIZE to look for the definition of
- `struct winsize'
-
- 7/17
- ----
-configure.in
- - call AC_MINIX
-
-config.h.in
- - add define line for AC_MINIX
-
- 7/18
- ----
-Makefile.in
- - add `install-shared' and `uninstall-shared' targets
-
- 8/4
- ---
-Makefile.in
- - install and uninstall libhistory.a in the `install' and
- `uninstall' targets
-
- 9/4
- ---
-configure.in
- - bumped LIBVERSION up to 2.1.1, indicating that this is patch
- level 1 to release 2.1
-
-
- 9/16
- ----
-Makefile.in
- - `make distclean' now descends into the `examples' subdir
-
-doc/Makefile.in
- - the `distclean' and `maintainer-clean' targets should remove
- Makefile
-
-examples/Makefile.in
- - added the various clean targets
-
- 4/2
- ---
-configure.in
- - bumped LIBVERSION up to 2.2
-
- 4/18
- ----
-[readline-2.2 released]
-
- 4/20
- ----
-Makefile.in
- - make `libhistory.a' a dependency of `install'
- - fixed a typo in the recipe for `install' that copied libreadline.a
- to libhistory.old right after installing it
-
- 4/27
- ----
-doc/Makefile.in
- - install {readline,history}.info out of the source directory if
- they are not found in the current (build) directory -- only an
- issue if the libraries are built in a different directory than
- the source directory
-
- 5/1
- ---
-support/shobj-conf
- - script from the bash distribution to do shared object and library
- configuration
-
-shlib/Makefile.in
- - new directory and makefile to handle building shared versions of
- libreadline and libhistory, controlled by support/shobj-conf
-
- 5/7
- ---
-doc/Makefile.in
- - set SHELL to /bin/sh, rather than relying on make to be correct
-
- 5/14
- ----
-savestring.c
- - new file, moved from shell.c, for backwards compatibility
-
-Makefile.in, shlib/Makefile.in
- - make sure savestring.c is compiled and added to libreadline and
- libhistory
-
-[THERE ARE NO MORE #ifdef SHELL LINES IN THE C SOURCE FILES.]
-
- 5/15
- ----
-README
- - updated description of shared library creation for the new scheme
-
-[THERE ARE NO MORE #ifdef SHELL LINES IN ANY OF THE SOURCE FILES.]
-
-Makefile.in
- - bumped SHLIB_MAJOR up to 4 since we've augmented the library
- API
- - rlconf.h is now one of the installed headers, so applications can
- find out whether things like vi-mode are available in the installed
- libreadline
-
- 5/20
- ----
-configure.in
- - changed RL_LIBRARY_VERSION to 4.0 to match the version of the
- installed shared libraries
-
- 6/5
- ---
-rlstdc.h
- - new file
-
-Makefile.in
- - rlstdc.h is now one of the installed headers
-
- 8/3
- ---
-shlib/Makefile.in
- - made the suffix rule that creates xx.so from xx.c write the
- compiler output to `a.o', which is then mv'd to xx.so, because
- some compilers (Sun WSpro 4.2, for example) don't allow any
- suffixes other than `.o' for `cc -c' (not even `a.out')
-
- 9/15
- ----
-
-Makefile.in
- - AR and ARFLAGS are now substituted by configure, used in recipes
- that build the libraries
-
-configure.in
- - use AC_CHECK_PROG to check for ar
- - set ARFLAGS if it has not already been set in the environment
-
- 10/5
- ----
-Makefile.in
- - removed savestring.o from object file list
-
- 10/28
- -----
-shlib/Makefile.in
- - don't use a fixed filename in the .c.so suffix rule to avoid
- problems with parallel makes
-
- 12/21
- -----
-support/shlib-install
- - new script to install shared readline and history libraries
-
-shlib/Makefile.in
- - changed to call shlib-install for install and uninstall targets
-
-[readline-4.0-beta1 frozen]
-
- 12/22
- -----
-configure.in
- - call AC_SUBST for SHOBJ_XLDFLAGS and SHLIB_LIBS
-
-shlib/Makefile.in
- - SHOBJ_XLDFLAGS and SHLIB_LIBS are now substituted by configure
- - add $(SHLIB_LIBS) at end of command line that builds the shared
- libraries (currently needed only by AIX 4.2)
-
- 12/31
- -----
-MANIFEST, MANIFEST.doc
- - the TOC html files are no longer generated and no longer part of
- the distribution
-
- 2/18/1999
- ---------
-configure.in
- - set MAKE_SHELL to /bin/sh and substitute into the Makefiles
-
-Makefile.in,{doc,examples,shlib}/Makefile.in
- - set SHELL from @MAKE_SHELL@
-
-[readline-4.0 released]
-
- 3/11
- ----
-doc/Makefile.in
- - removed references to HTMLTOC, since separate HTML table-of-contents
- files are no longer created
-
-examples/Makefile.in
- - remove `*.exe' in clean target for MS-DOS
-
-Makefile.in
- - make `readline' target depend on ./libreadline.a
- - configure now substitutes TERMCAP_LIB into Makefile.in
- - use ${TERMCAP_LIB} instead of -ltermcap in recipe for `readline'
- - clean target now removes readline and readline.exe in case they
- get built
-
-configure.in
- - use `pwd.exe' to set BUILD_DIR on MS-DOS DJGPP
-
- 3/15
- ----
-support/shlib-install
- - Irix 5.x and Irix 6.x should install shared libraries like Solaris 2
- - changes for installing on hp-ux 1[01].x
-
- 3/23
- ----
-configure.in
- - make sure that the $CC argument to shobj-conf is quoted
-
- 4/8
- ---
-
-xmalloc.h, rlprivate.h, rlshell.h
- - new files
-
-Makefile.in,shlib/Makefile.in
- - add dependencies on xmalloc.h, rlshell.h
- - add xmalloc.h, rlprivate.h, rlshell.h to list of header files
-
-MANIFEST
- - add xmalloc.h, rlprivate.h, rlshell.h
-
- 4/9
- ---
-Makefile.in,shlib/Makefile.in
- - add dependencies on rlprivate.h
-
- 4/13
- ----
-doc/Makefile.in
- - add variable, PSDVI, which is the desired resolution of the
- generated postscript files. Set to 300 because I don't have
- any 600-dpi printers
- - set LANGUAGE= before calling makeinfo, so messages are in English
- - add rluserman.{info,dvi,ps,html} to appropriate variables
- - add rules to create rluserman.{info,dvi,ps,html}
- - install and uninstall rluserman.info, but don't update the directory
- file in $(infodir) yet
-
-MANIFEST
- - add doc/rluserman.{texinfo,info,dvi,ps,html}
-
- 4/30
- ----
-configure.in
- - updated library version to 4.1
-
- 5/3
- ---
-configure.in
- - SHLIB_MAJOR and SHLIB_MINOR shared library version numbers are
- constructed from $LIBRARY_VERSION and substituted into Makefiles
-
- 5/5
- ---
-support/shlib-install
- - OSF/1 installs shared libraries like Solaris
-
-Makefile.in
- - broke the header file install and uninstall into two new targets:
- install-headers and uninstall-headers
- - install and uninstall depend on install-headers and uninstall-headers
- respectively
- - changed install-shared and uninstall-shared targets to depend on
- install-headers and uninstall-headers, respectively, so users may
- choose to install only the shared libraries. I'm not sure about
- the uninstall one yet -- maybe it should check whether or not
- the static libraries are installed and not remove the header files
- if they are
-
- 9/3
- ---
-configure.in, config.h.in
- - added test for memmove (for later use)
- - changed version to 4.1-beta1
-
- 9/13
- ----
-examples/rlfe.c
- - Per Bothner's `rlfe' readline front-end program
-
-examples/Makefile.in
- - added rules to build rlfe
-
- 9/21
- ----
-support/shlib-install
- - changes to handle FreeBSD-3.x elf or a.out shared libraries, which
- have different semantics and need different naming conventions
-
- 1/24/2000
- ---------
-doc/Makefile.in
- - remove *.bt and *.bts on `make clean'
-
- 2/4
- ---
-
-
-configure.in
- - changed LIBVERSION to 4.1-beta5
-
- 3/17/2000
- ---------
-[readline-4.1 released]
-
- 3/23
- ----
-Makefile.in
- - remove the `-t' argument to ranlib in the install recipe; some
- ranlibs don't have it and attempt to create a file named `-t'
-
- 3/27
- ----
-support/shlib-install
- - install shared libraries unwritable by anyone on HP-UX
- - changed symlinks to relative pathnames on all platforms
-
-shlib/Makefile.in
- - added missing `includedir' assignment, substituted by configure
-
-Makefile.in
- - added missing @SET_MAKE@ so configure can set $MAKE appropriately
-
-configure.in
- - add call to AC_PROG_MAKE_SET
-
- 8/30
- ----
-shlib/Makefile.in
- - change the soname bound into the shared libraries, so it includes
- only the major version number. If it includes the minor version,
- programs depending on it must be rebuilt (which may or may not be
- a bad thing)
-
- 9/6
- ---
-examples/rlfe.c
- - add -l option to log input and output (-a option appends to logfile)
- - add -n option to set readline application name
- - add -v, -h options for version and help information
- - change a few things because getopt() is now used to parse arguments
-
- 9/12
- ----
-support/shlib-install
- - fix up the libname on HPUX 11
-
- 10/18
- -----
-configure.in
- - changed library version to 4.2-alpha
-
- 10/30
- -----
-configure.in
- - add -fsigned-char to LOCAL_CFLAGS for Linux running on the IBM
- S/390
-
-Makefile.in
- - added new file, rltypedefs.h, installed by default with `make install'
-
- 11/2
- ----
-compat.c
- - new file, with backwards-compatibility function definitions
-
-Makefile.in,shlib/Makefile.in
- - make sure that compat.o/compat.so are built and linked apppropriately
-
-support/shobj-conf
- - picked up bash version, which means that shared libs built on
- linux and BSD/OS 4.x will have an soname that does not include
- the minor version number
-
- 11/13
- -----
-examples/rlfe.c
- - rlfe can perform filename completion for relative pathnames in the
- inferior process's context if the OS supports /proc/PID/cwd (linux
- does it OK, Solaris is slightly warped, none of the BSDs have it)
-
- 11/17/2000
- ----------
-[readline-4.2-alpha released]
-
- 11/27
- -----
-Makefile.in,shlib/Makefile.in
- - added dependencies for rltypedefs.h
-
-shlib/Makefile.in
- - changed dependencies on histlib.h to $(topdir)/histlib.h
-
- 1/22
- ----
-configure.in
- - changed release version to 4.2-beta
-
- 2/2
- ---
-examples/Makefile.in
- - build histexamp as part of the examples
-
- 2/5
- ---
-doc/Makefile.in
- - don't remove the dvi, postscript, html, info, and text `objects'
- on a `make distclean', only on a `make maintainer-clean'
-
- 3/6
- ---
-doc/history.{0,3}, doc/history_3.ps
- - new manual page for history library
-
-doc/Makefile.in
- - rules to install and uninstall history.3 in ${man3dir}
- - rules to build history.0 and history_3.ps
-
- 4/2
- ---
-configure.in
- - changed LIBVERSION to `4.2'
-
- 4/5
- ---
-[readline-4.2 frozen]
-
- 4/9
- ---
-[readline-4.2 released]
-
- 5/2
- ---
-Makefile.in,{doc,examples,shlib}/Makefile.in
- - added support for DESTDIR installation root prefix, to support
- building packages
-
-doc/Makefile.in
- - add an info `dir' file entry for rluserman.info on `make install'
- - change man1ext to `.1' and man3ext to `.3'
- - install man pages with a $(man3ext) extension in the target directory
- - add support for installing html documentation if `htmldir' has a
- value
-
-Makefile.in
- - on `make install', install from the `shlib' directory, too
- - on `make uninstall', uninstall in the `doc' and `shlib'
- subdirectories, too
-
-support/shlib-install
- - add `freebsdelf*', `freebsdaout*', Hurd, `sysv4*', `sysv5*', `dgux*'
- targets for symlink creation
-
- 5/7
- ---
-configure.in, config.h.in
- - check for <limits.h>, define HAVE_LIMITS_H if found
-
- 5/8
- ---
-aclocal.m4
- - pick up change to BASH_CHECK_LIB_TERMCAP that adds check for
- libtinfo (termcap-specific portion of ncurses-5.2)
-
- 5/9
- ---
-configure.in
- - call AC_C_CONST to find out whether or not the compiler supports
- `const'
-
-config.h.in
- - placeholder for `const' define, if any
-
- 5/10
- ----
-configure.in
- - fix AC_CHECK_PROG(ar, ...) test to specify right value for the
- case where ar is not found; should produce a better error message
-
- 5/14
- ----
-configure.in,config.h.in
- - check for vsnprintf, define HAVE_VSNPRINTF if found
-
- 5/21
- ----
-configure.in, config.h.in
- - add checks for size_t, ssize_t
-
- 5/30
- ----
-configure.in
- - update autoconf to version 2.50, use in AC_PREREQ
- - changed AC_INIT to new flavor
- - added AC_CONFIG_SRCDIR
- - AC_CONFIG_HEADER -> AC_CONFIG_HEADERS
- - call AC_C_PROTOTYPES
- - AC_RETSIGTYPE -> AC_TYPE_SIGNAL
-
- 8/22
- ----
-configure.in
- - updated the version number to 4.2a
-
-Makefile.in,shlib/Makefile.in
- - make sure tilde.o is built -DREADLINE_LIBRARY when being built as
- part of the standalone library, so it picks up the right include
- files
-
- 8/23
- ----
-support/shlib-install
- - support for Darwin/MacOS X shared library installation
-
- 9/24
- ----
-examples/readlinebuf.h
- - a new file, a C++ streambuf interface that uses readline for I/O.
- Donated by Dimitris Vyzovitis <vyzo@media.mit.edu>
-
- 10/9
- ----
-configure.in
- - replaced call to BASH_HAVE_TIOCGWINSZ with AC_HEADER_TIOCGWINSZ
-
-[readline-4.2a-beta1 frozen]
-
- 10/15
- -----
-configure.in, config.h.in
- - check for <memory.h>, define HAVE_MEMORY_H if found
- - check for <strings.h>, define HAVE_STRINGS_H if found
-
- 10/18
- -----
-configure.in, config.h.in
- - check for isascii, define HAVE_ISASCII if found
-
-configure.in
- - changed the macro names from bash as appropriate:
- BASH_SIGNAL_CHECK -> BASH_SYS_SIGNAL_VINTAGE
- BASH_REINSTALL_SIGHANDLERS -> BASH_SYS_REINSTALL_SIGHANDLERS
- BASH_MISC_SPEED_T -> BASH_CHECK_SPEED_T
-
- 10/22
- -----
-configure.in
- - check for isxdigit with AC_CHECK_FUNCS
-
-config.h.in
- - new define for HAVE_ISXDIGIT
-
- 10/29
- -----
-configure.in, config.h.in
- - check for strpbrk with AC_CHECK_FUNCS, define HAVE_STRPBRK if found
-
- 11/1
- ----
-Makefile.in
- - make sure DESTDIR is passed to install and uninstall makes in
- subdirectories
- - when saving old copies of installed libraries, make sure we use
- DESTDIR for the old installation tree
-
-[readline-4.2a-rc1 frozen]
-
- 11/2
- ----
-Makefile.in, shlib/Makefile.in
- - don't put -I$(includedir) into CFLAGS
-
- 11/15
- -----
-[readline-4.2a released]
-
- 11/20
- -----
-examples/rlcat.c
- - new file
-
-examples/Makefile.in
- - changes for rlcat
-
- 11/28
- -----
-configure.in
- - default TERMCAP_LIB to -lcurses if $prefer_curses == yes (as when
- --with-curses is supplied)
-
-examples/Makefile.in
- - substitute @LDFLAGS@ in LDFLAGS assignment
-
- 11/29
- -----
-config.h.in
- - add necessary defines for multibyte include files and functions
- - add code to define HANDLE_MULTIBYTE if prerequisites are met
-
-configure.in
- - call BASH_CHECK_MULTIBYTE
-
- 12/14
- -----
-config.h.in
- - add #undef PROTOTYPES, filled in by AC_C_PROTOTYPES
-
- 12/17
- -----
-config.h.in
- - moved HANDLE_MULTIBYTE code to rlmbutil.h
-
-rlmbutil.h, mbutil.c
- - new files
-
-Makefile.in, shlib/Makefile.in
- - added rules for mbutil.c
-
- 12/20
- -----
-configure.in
- - added --enable-shared, --enable-static options to configure to
- say which libraries are built by default (both default to yes)
- - if SHLIB_STATUS == 'unsupported', turn off default shared library
- building
- - substitute new STATIC_TARGET, SHARED_TARGET, STATIC_INSTALL_TARGET,
- and SHARED_INSTALL_TARGET
-
-Makefile.in
- - `all' target now depends on (substituted) @STATIC_TARGET@ and
- @SHARED_TARGET@
- - `install' target now depends on (substituted) @STATIC_INSTALL_TARGET@
- and @SHARED_INSTALL_TARGET@
-
-INSTALL, README
- - updated with new info about --enable-shared and --enable-static
-
- 1/10/2002
- ---------
-configure.in
- - bumped the library version number to 4.3
-
- 1/24
- ----
-Makefile.in,shlib/Makefile.in
- - changes for new file, text.c, with character and text handling
- functions from readline.c
-
- 2/20
- ----
-{configure.config.h}.in
- - call AC_C_CHAR_UNSIGNED, define __CHAR_UNSIGNED__ if chars are
- unsigned by default
-
- 5/20
- ----
-doc/Makefile.in
- - new maybe-clean target that removes the generated documentation if
- the build directory differs from the source directory
- - distclean target now depends on maybe-clean
-
- 7/17
- ----
-[readline-4.3 released]
-
- 7/18
- ----
-shlib/Makefile.in
- - fix bad dependency: text.so: terminal.c, make it depend on text.c
-
- 8/7
- ---
-support/shlib-install
- - break `linux' out into its own stanza: it seems that linux
- distributions are all moving to the following scheme:
-
- libreadline.so.4.3 installed version
- libreadline.so.4 -> libreadline.so.4.3 symlink
- libreadline.so -> libreadline.so.4 symlink
-
- 10/29
- -----
-support/shlib-install
- - change INSTALL_LINK[12] to use `&&' instead of `;' so it only
- tries the link if the cd succeeds; put ${echo} in there, too
- - use $LN instead of `ln -s' so it works on machines without symlinks
- - change special linux stanza to use cd before ln also
- - change to use $INSTALL_LINK1 and $INSTALL_LINK2 appropriately
- instead of explicit commands in various stanzas
-
- 2/1
- ---
-config.h.in
- - add HAVE_MBRTOWC and HAVE_MBRLEN
- - add NO_MULTIBYTE_SUPPORT for new configure argument
- - add STDC_HEADERS
-
-configure.in
- - new argument --enable-multibyte (enabled by default), allows
- multibyte support to be turned off even on systems that support it
- - add check for ansi stdc headers with call to AC_HEADER_STDC
-
- 2/3
- ---
-configure.in
- - add call to BASH_FUNC_CTYPE_NONASCII
-
-config.h.in
- - add CTYPE_NON_ASCII
-
- 2/20
- ----
-
-doc/manvers.texinfo
- - renamed to version.texi to match other GNU software
- - UPDATE-MONTH variable is now `UPDATED-MONTH'
-
-doc/{hist,rlman,rluserman}.texinfo
- - include version.texi
-
-doc/{rltech,rluser,hstech,hsuser}.texi
- - changed the suffix from `texinfo' to `texi'
-
-doc/Makefile.in
- - made appropriate changes for {{rl,hs}tech,{rl,hs}user}.texi
-
-doc/{rlman,rluserman}.texinfo
- - changed the suffix from `texinfo' to `texi'
-
-doc/hist.texinfo
- - renamed to history.texi to be more consistent
-
- 6/11
- ----
-shlib/Makefile.in
- - have configure substitute value of `@LDFLAGS@' into the assignment
- to SHLIB_XLDFLAGS
-
- 6/16
- ----
-configure.in
- - readline and history libraries are now at version 5.0
-
- 8/18
- ----
-support/shlib-install
- - support for FreeBSD-gnu (from Robert Millan)
-
- 12/4
- ----
-Makefile.in
- - add variables for localedir and the PACKAGE_* variables, auto-set
- by configure
-
- 12/9
- ----
-Makefile.in
- - use mkinstalldirs instead of mkdirs
-
- 4/22
- ----
-Makefile.in
- - separate doc install/uninstall out into two new targets:
- install-doc and uninstall-doc
- - make install-doc and uninstall-doc prerequisites of appropriate
- install and uninstall targets
-
-examples/rl-fgets.c
- - new example from Harold Levy that wraps fgets replacement functions
- that call readline in a shared library that can be interposed with
- LD_PRELOAD
-
- 7/27
- ----
-[readline-5.0 released]
-
- 11/15
- -----
-examples/rlfe/{ChangeLog,Makefile.in,README,config.h.in,configure,configure.in,extern.h,os.h,pty.c,rlfe.c,screen.h}
- - new version of rlfe, rlfe-0.4, from Per Bothner; now a standalone
- application
-
- 11/16
- -----
-shlib/Makefile.in
- - substitute TERMCAP_LIB in from configure
-
-configure.in
- - if SHLIB_LIBS doesn't include a termcap library (curses, ncurses,
- termcap, termlib), append the value of $TERMCAP_LIB to it
-
- 11/30
- -----
-configure.in
- - take out change from 11/16; it doesn't work for some systems (e.g.,
- SunOS 4.x and Solaris 2.6)
- - add support for --enable-purify configure argument
- - pass TERMCAP_LIB in environment when calling shobj-conf
-
-examples/Makefile.in
- - add support for building examples with purify
-
- 1/23/2005
- ---------
-configure.in
- - set BUILD_DIR to contain backslashes to escape any spaces in the
- directory name -- this is what make will accept in targets and
- prerequisites, so it's better than trying to use double quotes
-
- 2/25
- ----
-configure.in
- - change check for sys/ptem.h to include sys/stream.h if present, to
- avoid the `present but cannot be compiled' messages on Solaris and
- SVR4.2 (does anyone still use SVR4.2?)
-
- 5/7
- ---
-configure.in
- - add cross-compiling support from the bash configure.in, which cygwin
- and mingw have apparently adopted
- - add check for pwd.h, fcntl.h
- - add checks for fcntl, kill system calls
- - add checks for getpw{ent,nam,uid} C library functions
- - pass a compile-time option through to Makefiles if cross-compiling
-
-config.h.in
- - add HAVE_PWD_H for <pwd.h>, HAVE_FCNTL_H for <fcntl.h>
- - add HAVE_FCNTL, HAVE_KILL for respective system calls
- - add HAVE_GETPW{ENT,NAM,UID} for passwd functions
-
-Makefile.in,shlib/Makefile.in
- - @CROSS_COMPILE@ is substituted into DEFS (equal to -DCROSS_COMPILING
- if bash is being cross-compiled)
-
- 8/2
- ---
-examples/Makefile.in
- - use $(READLINE_LIB) instead of -lreadline to get around MacOS X 10.4's
- preference for (incompatible) shared libraries over static libraries
- in the load path
-
- 8/11
- ----
-support/shobj-conf
- - new variable: SHLIB_LIBPREF, prefix for shared library name (defaults
- to `lib'
- - new variable: SHLIB_DLLVERSION, used on Cygwin to set the library
- version number
- - new variable: SHLIB_DOT, separator character between library name and
- suffix and version information (defaults to `.')
- - new stanza for cygwin to generate windows-compatible dll
-
-support/shlib-install
- - add new option `-b bindir' for systems like cygwin/windows that
- require it
- - new stanza for cygwin that installs a dll into $bindir and an implied
- link library into $libdir
-
-configure.in
- - substitute new variables from shobj-conf
-
-shlib/Makefile.in
- - substitute bindir, SHLIB_DOT, SHLIB_LIBPREF, SHLIB_DLLVERSION from
- configure
- - pass `-b $(bindir)' to shlib-install for install and uninstall targets
- - library names now use $SHLIB_LIBPREF and $SHLIB_DOT
-
-INSTALL,README
- - document new SHLIB_DOT, SHLIB_LIBPREF, and SHLIB_DLLVERSION variables
-
- 10/4
- ----
-[readline-5.1-beta1 frozen]
-
- 12/1
- ----
-configure.in
- - changed release status to `release'
-
-[readline-5.1 frozen]
-
- 12/9
- ----
-[readline-5.1 released]
-
- 12/14
- -----
-examples/rlfe/Makefile.in
- - add @LIBS@ to LIBS assignment to pick up extra libraries from
- configure
-
- 1/3/2006
- --------
-support/shlib-install
- - Install shared libraries with execute bit set on Linux
-
- 6/9
- ---
-[readline-5.2-alpha frozen]
-
- 6/26
- ----
-configure.in
- - set CROSS_COMPILE to the empty string by default, so we don't inherit
- a random value from the environment
-
- 7/8
- ---
-[readline-5.2-alpha released]
-
-
-[readline-5.2-beta released]
-
- 9/12
- ----
-config.h.in
- - add defines for wcscoll, iswctype, iswupper, iswlower, towupper,
- towlower functions
- - replace define for wctomb with one for wcrtomb
- - add defines for wchar_t, wint_t, wctype_t types
-
- 10/11
- -----
-[readline-5.2 released]
-
- 11/9
- ----
-examples/rlfe/{configure.in,Makefile.in,config.h.in,rlfe.c,pty.c}
- - portability fixes from Mike Frysinger <vapier@gentoo.org>
-
- 11/21
- -----
-Makefile.in
- - add `install-examples' and `uninstall-examples' targets
-
-examples/Makefile.in
- - add correct variables to build examples on Windows
- - add appropriate rules to install and uninstall example sources in
- $(datadir)/readline
-
- 11/27
- -----
-config.h.in
- - move #undef of HAVE_STRCOLL out of config.h.in, since autoconf tries
- to substitute it based on configure tests
-
- 4/27/2007
- ---------
-examples/autoconf
- - new directory with example autoconf macros to detect readline and
- return information about the installed version
-
- 6/13
- ----
-support/shlib-install
- - changes to support AIX 5.x shared library installation
-
- 3/20/2008
- ---------
-support/shlib-install
- - add support for NetBSD and Interix shared library installation
-
- 4/22
- ----
-support/wcwidth.c
- - updated implementation from 2007-05
-
- 7/18
- ----
-support/shlib-install
- - support for mingw32, contributed by Carlo Bramix <carlo.bramix@libero.it>
-
- 8/4
- ---
-configure.in
- - changed to readline-6.0
-
- 8/18
- ----
-support/config.{guess,sub}
- - updated to newer versions from autoconf-2.62 distribution
diff --git a/CHANGES b/CHANGES
index 5d824a4..2ac0d45 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,79 @@
+This document details the changes between this version, readline-6.1,
+and the previous version, readline-6.0.
+
+1. Changes to Readline
+
+a. The SIGWINCH signal handler now avoids calling the redisplay code if
+ one arrives while in the middle of redisplay.
+
+b. Changes to the timeout code to make sure that timeout values greater
+ than one second are handled better.
+
+c. Fixed a bug in the redisplay code that was triggered by a prompt
+ containing invisible characters exactly the width of the screen.
+
+d. Fixed a bug in the redisplay code encountered when running in horizontal
+ scroll mode.
+
+e. Fixed a bug that prevented menu completion from properly completing
+ filenames.
+
+f. Fixed a redisplay bug caused by a multibyte character causing a line to
+ wrap.
+
+g. Fixed a bug that caused key sequences of two characters to not be
+ recognized when a longer sequence identical in the first two characters
+ was bound.
+
+h. Fixed a bug that caused history expansion to be attempted on $'...'
+ single-quoted strings.
+
+i. Fixed a bug that caused incorrect redisplay when the prompt contained
+ multibyte characters in an `invisible' sequence bracketed by \[ and
+ \].
+
+j. Fixed a bug that caused history expansion to short-circuit after
+ encountering a multibyte character.
+
+k. Fixed a bug that caused applications using the callback interface to not
+ react to SIGINT (or other signals) until another character arrived.
+
+2. New Features in Readline
+
+a. New bindable function: menu-complete-backward.
+
+b. In the vi insertion keymap, C-n is now bound to menu-complete by default,
+ and C-p to menu-complete-backward.
+
+c. When in vi command mode, repeatedly hitting ESC now does nothing, even
+ when ESC introduces a bound key sequence. This is closer to how
+ historical vi behaves.
+
+d. New bindable function: skip-csi-sequence. Can be used as a default to
+ consume key sequences generated by keys like Home and End without having
+ to bind all keys.
+
+e. New application-settable function: rl_filename_rewrite_hook. Can be used
+ to rewite or modify filenames read from the file system before they are
+ compared to the word to be completed.
+
+f. New bindable variable: skip-completed-text, active when completing in the
+ middle of a word. If enabled, it means that characters in the completion
+ that match characters in the remainder of the word are "skipped" rather
+ than inserted into the line.
+
+g. The pre-readline-6.0 version of menu completion is available as
+ "old-menu-complete" for users who do not like the readline-6.0 version.
+
+h. New bindable variable: echo-control-characters. If enabled, and the
+ tty ECHOCTL bit is set, controls the echoing of characters corresponding
+ to keyboard-generated signals.
+
+i. New bindable variable: enable-meta-key. Controls whether or not readline
+ sends the smm/rmm sequences if the terminal indicates it has a meta key
+ that enables eight-bit characters.
+
+-------------------------------------------------------------------------------
This document details the changes between this version, readline-6.0,
and the previous version, readline-5.2.
@@ -100,8 +176,6 @@ i. There is a new `revert-all-at-newline' variable. If enabled, readline will
undo all outstanding changes to all history lines when `accept-line' is
executed.
-j. If the kernel supports it, readline displays special characters
- corresponding to a keyboard-generated signal when the signal is received.
-------------------------------------------------------------------------------
This document details the changes between this version, readline-5.2,
and the previous version, readline-5.1.
diff --git a/CHANGES~ b/CHANGES~
deleted file mode 100644
index f83201c..0000000
--- a/CHANGES~
+++ /dev/null
@@ -1,1098 +0,0 @@
-This document details the changes between this version, readline-6.0,
-and the previous version, readline-5.2.
-
-1. Changes to Readline
-
-a. Fixed a number of redisplay errors in environments supporting multibyte
- characters.
-
-b. Fixed bugs in vi command mode that caused motion commands to inappropriately
- set the mark.
-
-c. When using the arrow keys in vi insertion mode, readline allows movement
- beyond the current end of the line (unlike command mode).
-
-d. Fixed bugs that caused readline to loop when the terminal has been taken
- away and reads return -1/EIO.
-
-e. Fixed bugs in redisplay occurring when displaying prompts containing
- invisible characters.
-
-f. Fixed a bug that caused the completion append character to not be reset to
- the default after an application-specified completion function changed it.
-
-g. Fixed a problem that caused incorrect positioning of the cursor while in
- emacs editing mode when moving forward at the end of a line while using
- a locale supporting multibyte characters.
-
-h. Fixed an off-by-one error that caused readline to drop every 511th
- character of buffered input.
-
-i. Fixed a bug that resulted in SIGTERM not being caught or cleaned up.
-
-j. Fixed redisplay bugs caused by multiline prompts with invisible characters
- or no characters following the final newline.
-
-k. Fixed redisplay bug caused by prompts consisting solely of invisible
- characters.
-
-l. Fixed a bug in the code that buffers characters received very quickly in
- succession which caused characters to be dropped.
-
-m. Fixed a bug that caused readline to reference uninitialized data structures
- if it received a SIGWINCH before completing initialzation.
-
-n. Fixed a bug that caused the vi-mode `last command' to be set incorrectly
- and therefore unrepeatable.
-
-o. Fixed a bug that caused readline to disable echoing when it was being used
- with an output file descriptor that was not a terminal.
-
-p. Readline now blocks SIGINT while manipulating internal data structures
- during redisplay.
-
-q. Fixed a bug in redisplay that caused readline to segfault when pasting a
- very long line (over 130,000 characters).
-
-r. Fixed bugs in redisplay when using prompts with no visible printing
- characters.
-
-s. Fixed a bug that caused redisplay errors when using prompts with invisible
- characters and numeric arguments to a command in a multibyte locale.
-
-t. Fixed a bug that caused redisplay errors when using prompts with invisible
- characters spanning more than two physical screen lines.
-
-2. New Features in Readline
-
-a. A new variable, rl_sort_completion_matches; allows applications to inhibit
- match list sorting (but beware: some things don't work right if
- applications do this).
-
-b. A new variable, rl_completion_invoking_key; allows applications to discover
- the key that invoked rl_complete or rl_menu_complete.
-
-c. The functions rl_block_sigint and rl_release_sigint are now public and
- available to calling applications who want to protect critical sections
- (like redisplay).
-
-d. The functions rl_save_state and rl_restore_state are now public and
- available to calling applications; documented rest of readline's state
- flag values.
-
-e. A new user-settable variable, `history-size', allows setting the maximum
- number of entries in the history list.
-
-f. There is a new implementation of menu completion, with several improvements
- over the old; the most notable improvement is a better `completions
- browsing' mode.
-
-g. The menu completion code now uses the rl_menu_completion_entry_function
- variable, allowing applications to provide their own menu completion
- generators.
-
-h. There is support for replacing a prefix of a pathname with a `...' when
- displaying possible completions. This is controllable by setting the
- `completion-prefix-display-length' variable. Matches with a common prefix
- longer than this value have the common prefix replaced with `...'.
-
-i. There is a new `revert-all-at-newline' variable. If enabled, readline will
- undo all outstanding changes to all history lines when `accept-line' is
- executed.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-5.2,
-and the previous version, readline-5.1.
-
-1. Changes to Readline
-
-a. Fixed a problem that caused segmentation faults when using readline in
- callback mode and typing consecutive DEL characters on an empty line.
-
-b. Fixed several redisplay problems with multibyte characters, all having to
- do with the different code paths and variable meanings between single-byte
- and multibyte character redisplay.
-
-c. Fixed a problem with key sequence translation when presented with the
- sequence \M-\C-x.
-
-d. Fixed a problem that prevented the `a' command in vi mode from being
- undone and redone properly.
-
-e. Fixed a problem that prevented empty inserts in vi mode from being undone
- properly.
-
-f. Fixed a problem that caused readline to initialize with an incorrect idea
- of whether or not the terminal can autowrap.
-
-g. Fixed output of key bindings (like bash `bind -p') to honor the setting of
- convert-meta and use \e where appropriate.
-
-h. Changed the default filename completion function to call the filename
- dequoting function if the directory completion hook isn't set. This means
- that any directory completion hooks need to dequote the directory name,
- since application-specific hooks need to know how the word was quoted,
- even if no other changes are made.
-
-i. Fixed a bug with creating the prompt for a non-interactive search string
- when there are non-printing characters in the primary prompt.
-
-j. Fixed a bug that caused prompts with invisible characters to be redrawn
- multiple times in a multibyte locale.
-
-k. Fixed a bug that could cause the key sequence scanning code to return the
- wrong function.
-
-l. Fixed a problem with the callback interface that caused it to fail when
- using multi-character keyboard macros.
-
-m. Fixed a bug that could cause a core dump when an edited history entry was
- re-executed under certain conditions.
-
-n. Fixed a bug that caused readline to reference freed memory when attmpting
- to display a portion of the prompt.
-
-o. Fixed a bug with prompt redisplay in a multi-byte locale to avoid redrawing
- the prompt and input line multiple times.
-
-p. Fixed history expansion to not be confused by here-string redirection.
-
-q. Readline no longer treats read errors by converting them to newlines, as
- it does with EOF. This caused partial lines to be returned from readline().
-
-r. Fixed a redisplay bug that occurred in multibyte-capable locales when the
- prompt was one character longer than the screen width.
-
-2. New Features in Readline
-
-a. Calling applications can now set the keyboard timeout to 0, allowing
- poll-like behavior.
-
-b. The value of SYS_INPUTRC (configurable at compilation time) is now used as
- the default last-ditch startup file.
-
-c. The history file reading functions now allow windows-like \r\n line
- terminators.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-5.1,
-and the previous version, readline-5.0.
-
-1. Changes to Readline
-
-a. Fixed a bug that caused multiliine prompts to be wrapped and displayed
- incorrectly.
-
-b. Fixed a bug that caused ^P/^N in emacs mode to fail to display the current
- line correctly.
-
-c. Fixed a problem in computing the number of invisible characters on the first
- line of a prompt whose length exceeds the screen width.
-
-d. Fixed vi-mode searching so that failure preserves the current line rather
- than the last line in the history list.
-
-e. Fixed the vi-mode `~' command (change-case) to have the correct behavior at
- end-of-line when manipulating multibyte characters.
-
-f. Fixed the vi-mode `r' command (change-char) to have the correct behavior at
- end-of-line when manipulating multibyte characters.
-
-g. Fixed multiple bugs in the redisplay of multibyte characters: displaying
- prompts longer than the screen width containing multibyte characters,
-
-h. Fix the calculation of the number of physical characters in the prompt
- string when it contains multibyte characters.
-
-i. A non-zero value for the `rl_complete_suppress_append' variable now causes
- no `/' to be appended to a directory name.
-
-j. Fixed forward-word and backward-word to work when words contained
- multibyte characters.
-
-k. Fixed a bug in finding the delimiter of a `?' substring when performing
- history expansion in a locale that supports multibyte characters.
-
-l. Fixed a memory leak caused by not freeing the timestamp in a history entry.
-
-m. Fixed a bug that caused "\M-x" style key bindings to not obey the setting
- of the `convert-meta' variable.
-
-n. Fixed saving and restoring primary prompt when prompting for incremental
- and non-incremental searches; search prompts now display multibyte
- characters correctly.
-
-o. Fixed a bug that caused keys originally bound to self-insert but shadowed
- by a multi-character key sequence to not be inserted.
-
-p. Fixed code so rl_prep_term_function and rl_deprep_term_function aren't
- dereferenced if NULL (matching the documentation).
-
-q. Extensive changes to readline to add enough state so that commands
- requiring additional characters (searches, multi-key sequences, numeric
- arguments, commands requiring an additional specifier character like
- vi-mode change-char, etc.) work without synchronously waiting for
- additional input.
-
-r. Lots of changes so readline builds and runs on MinGW.
-
-s. Readline no longer tries to modify the terminal settings when running in
- callback mode.
-
-t. The Readline display code no longer sets the location of the last invisible
- character in the prompt if the \[\] sequence is empty.
-
-u. The `change-case' command now correctly changes the case of multibyte
- characters.
-
-v. Changes to the shared library construction scripts to deal with Windows
- DLL naming conventions for Cygwin.
-
-w. Fixed the redisplay code to avoid core dumps resulting from a poorly-timed
- SIGWINCH.
-
-x. Fixed the non-incremental search code in vi mode to dispose of any current
- undo list when copying a line from the history into the current editing
- buffer.
-
-y. Fixed a bug that caused reversing the incremental search direction to
- not work correctly.
-
-z. Fixed the vi-mode `U' command to only undo up to the first time insert mode
- was entered, as Posix specifies.
-
-aa. Fixed a bug in the vi-mode `r' command that left the cursor in the wrong
- place.
-
-bb. Fixed a redisplay bug caused by moving the cursor vertically to a line
- with invisible characters in the prompt in a multibyte locale.
-
-cc. Fixed a bug that could cause the terminal special chars to be bound in the
- wrong keymap in vi mode.
-
-2. New Features in Readline
-
-a. The key sequence sent by the keypad `delete' key is now automatically
- bound to delete-char.
-
-b. A negative argument to menu-complete now cycles backward through the
- completion list.
-
-c. A new bindable readline variable: bind-tty-special-chars. If non-zero,
- readline will bind the terminal special characters to their readline
- equivalents when it's called (on by default).
-
-d. New bindable command: vi-rubout. Saves deleted text for possible
- reinsertion, as with any vi-mode `text modification' command; `X' is bound
- to this in vi command mode.
-
-e. If the rl_completion_query_items is set to a value < 0, readline never
- asks the user whether or not to view the possible completions.
-
-f. The `C-w' binding in incremental search now understands multibyte
- characters.
-
-g. New application-callable auxiliary function, rl_variable_value, returns
- a string corresponding to a readline variable's value.
-
-h. When parsing inputrc files and variable binding commands, the parser
- strips trailing whitespace from values assigned to boolean variables
- before checking them.
-
-i. A new external application-controllable variable that allows the LINES
- and COLUMNS environment variables to set the window size regardless of
- what the kernel returns.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-5.0,
-and the previous version, readline-4.3.
-
-1. Changes to Readline
-
-a. Fixes to avoid core dumps because of null pointer references in the
- multibyte character code.
-
-b. Fix to avoid infinite recursion caused by certain key combinations.
-
-c. Fixed a bug that caused the vi-mode `last command' to be set incorrectly.
-
-d. Readline no longer tries to read ahead more than one line of input, even
- when more is available.
-
-e. Fixed the code that adjusts the point to not mishandle null wide
- characters.
-
-f. Fixed a bug in the history expansion `g' modifier that caused it to skip
- every other match.
-
-g. Fixed a bug that caused the prompt to overwrite previous output when the
- output doesn't contain a newline and the locale supports multibyte
- characters. This same change fixes the problem of readline redisplay
- slowing down dramatically as the line gets longer in multibyte locales.
-
-h. History traversal with arrow keys in vi insertion mode causes the cursor
- to be placed at the end of the new line, like in emacs mode.
-
-i. The locale initialization code does a better job of using the right
- precedence and defaulting when checking the appropriate environment
- variables.
-
-j. Fixed the history word tokenizer to handle <( and >( better when used as
- part of bash.
-
-k. The overwrite mode code received several bug fixes to improve undo.
-
-l. Many speedups to the multibyte character redisplay code.
-
-m. The callback character reading interface should not hang waiting to read
- keyboard input.
-
-n. Fixed a bug with redoing vi-mode `s' command.
-
-o. The code that initializes the terminal tracks changes made to the terminal
- special characters with stty(1) (or equivalent), so that these changes
- are reflected in the readline bindings. New application-callable function
- to make it work: rl_tty_unset_default_bindings().
-
-p. Fixed a bug that could cause garbage to be inserted in the buffer when
- changing character case in vi mode when using a multibyte locale.
-
-q. Fixed a bug in the redisplay code that caused problems on systems
- supporting multibyte characters when moving between history lines when the
- new line has more glyphs but fewer bytes.
-
-r. Undo and redo now work better after exiting vi insertion mode.
-
-s. Make sure system calls are restarted after a SIGWINCH is received using
- SA_RESTART.
-
-t. Improvements to the code that displays possible completions when using
- multibyte characters.
-
-u. Fixed a problem when parsing nested if statements in inputrc files.
-
-v. The completer now takes multibyte characters into account when looking for
- quoted substrings on which to perform completion.
-
-w. The history search functions now perform better bounds checking on the
- history list.
-
-x. Change to history expansion functions to treat `^' as equivalent to word
- one, as the documention states.
-
-y. Some changes to the display code to improve display and redisplay of
- multibyte characters.
-
-z. Changes to speed up the multibyte character redisplay code.
-
-aa. Fixed a bug in the vi-mode `E' command that caused it to skip over the
- last character of a word if invoked while point was on the word's
- next-to-last character.
-
-bb. Fixed a bug that could cause incorrect filename quoting when
- case-insensitive completion was enabled and the word being completed
- contained backslashes quoting word break characters.
-
-cc. Fixed a bug in redisplay triggered when the prompt string contains
- invisible characters.
-
-dd. Fixed some display (and other) bugs encountered in multibyte locales
- when a non-ascii character was the last character on a line.
-
-ee. Fixed some display bugs caused by multibyte characters in prompt strings.
-
-ff. Fixed a problem with history expansion caused by non-whitespace characters
- used as history word delimiters.
-
-gg. Fixed a problem that could cause readline to refer to freed memory when
- moving between history lines while doing searches.
-
-hh. Improvements to the code that expands and displays prompt strings
- containing multibyte characters.
-
-ii. Fixed a problem with vi-mode not correctly remembering the numeric argument
- to the last `c'hange command for later use with `.'.
-
-jj. Fixed a bug in vi-mode that caused multi-digit count arguments to work
- incorrectly.
-
-kk. Fixed a problem in vi-mode that caused the last text modification command
- to not be remembered across different command lines.
-
-ll. Fixed problems with changing characters and changing case at the end of
- the line.
-
-mm. Fixed a problem with readline saving the contents of the current line
- before beginning a non-interactive search.
-
-nn. Fixed a problem with EOF detection when using rl_event_hook.
-
-oo. Fixed a problem with the vi mode `p' and `P' commands ignoring numeric
- arguments.
-
-2. New Features in Readline
-
-a. History expansion has a new `a' modifier equivalent to the `g' modifier
- for compatibility with the BSD csh.
-
-b. History expansion has a new `G' modifier equivalent to the BSD csh `g'
- modifier, which performs a substitution once per word.
-
-c. All non-incremental search operations may now undo the operation of
- replacing the current line with the history line.
-
-d. The text inserted by an `a' command in vi mode can be reinserted with
- `.'.
-
-e. New bindable variable, `show-all-if-unmodified'. If set, the readline
- completer will list possible completions immediately if there is more
- than one completion and partial completion cannot be performed.
-
-f. There is a new application-callable `free_history_entry()' function.
-
-g. History list entries now contain timestamp information; the history file
- functions know how to read and write timestamp information associated
- with each entry.
-
-h. Four new key binding functions have been added:
-
- rl_bind_key_if_unbound()
- rl_bind_key_if_unbound_in_map()
- rl_bind_keyseq_if_unbound()
- rl_bind_keyseq_if_unbound_in_map()
-
-i. New application variable, rl_completion_quote_character, set to any
- quote character readline finds before it calls the application completion
- function.
-
-j. New application variable, rl_completion_suppress_quote, settable by an
- application completion function. If set to non-zero, readline does not
- attempt to append a closing quote to a completed word.
-
-k. New application variable, rl_completion_found_quote, set to a non-zero
- value if readline determines that the word to be completed is quoted.
- Set before readline calls any application completion function.
-
-l. New function hook, rl_completion_word_break_hook, called when readline
- needs to break a line into words when completion is attempted. Allows
- the word break characters to vary based on position in the line.
-
-m. New bindable command: unix-filename-rubout. Does the same thing as
- unix-word-rubout, but adds `/' to the set of word delimiters.
-
-n. When listing completions, directories have a `/' appended if the
- `mark-directories' option has been enabled.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-4.3,
-and the previous version, readline-4.2a.
-
-1. Changes to Readline
-
-a. Fixed output of comment-begin character when listing variable values.
-
-b. Added some default key bindings for common escape sequences produced by
- HOME and END keys.
-
-c. Fixed the mark handling code to be more emacs-compatible.
-
-d. A bug was fixed in the code that prints possible completions to keep it
- from printing empty strings in certain circumstances.
-
-e. Change the key sequence printing code to print ESC as M\- if ESC is a
- meta-prefix character -- it's easier for users to understand than \e.
-
-f. Fixed unstifle_history() to return values that match the documentation.
-
-g. Fixed the event loop (rl_event_hook) to handle the case where the input
- file descriptor is invalidated.
-
-h. Fixed the prompt display code to work better when the application has a
- custom redisplay function.
-
-i. Changes to make reading and writing the history file a little faster, and
- to cope with huge history files without calling abort(3) from xmalloc.
-
-j. The vi-mode `S' and `s' commands are now undone correctly.
-
-k. Fixed a problem which caused the display to be messed up when the last
- line of a multi-line prompt (possibly containing invisible characters)
- was longer than the screen width.
-
-2. New Features in Readline
-
-a. Support for key `subsequences': allows, e.g., ESC and ESC-a to both
- be bound to readline functions. Now the arrow keys may be used in vi
- insert mode.
-
-b. When listing completions, and the number of lines displayed is more than
- the screen length, readline uses an internal pager to display the results.
- This is controlled by the `page-completions' variable (default on).
-
-c. New code to handle editing and displaying multibyte characters.
-
-d. The behavior introduced in bash-2.05a of deciding whether or not to
- append a slash to a completed name that is a symlink to a directory has
- been made optional, controlled by the `mark-symlinked-directories'
- variable (default is the 2.05a behavior).
-
-e. The `insert-comment' command now acts as a toggle if given a numeric
- argument: if the first characters on the line don't specify a
- comment, insert one; if they do, delete the comment text
-
-f. New application-settable completion variable:
- rl_completion_mark_symlink_dirs, allows an application's completion
- function to temporarily override the user's preference for appending
- slashes to names which are symlinks to directories.
-
-g. New function available to application completion functions:
- rl_completion_mode, to tell how the completion function was invoked
- and decide which argument to supply to rl_complete_internal (to list
- completions, etc.).
-
-h. Readline now has an overwrite mode, toggled by the `overwrite-mode'
- bindable command, which could be bound to `Insert'.
-
-i. New application-settable completion variable:
- rl_completion_suppress_append, inhibits appending of
- rl_completion_append_character to completed words.
-
-j. New key bindings when reading an incremental search string: ^W yanks
- the currently-matched word out of the current line into the search
- string; ^Y yanks the rest of the current line into the search string,
- DEL or ^H deletes characters from the search string.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-4.2a,
-and the previous version, readline-4.2.
-
-1. Changes to Readline
-
-a. More `const' and type casting fixes.
-
-b. Changed rl_message() to use vsnprintf(3) (if available) to fix buffer
- overflow problems.
-
-c. The completion code no longer appends a `/' or ` ' to a match when
- completing a symbolic link that resolves to a directory name, unless
- the match does not add anything to the word being completed. This
- means that a tab will complete the word up to the full name, but not
- add anything, and a subsequent tab will add a slash.
-
-d. Fixed a trivial typo that made the vi-mode `dT' command not work.
-
-e. Fixed the tty code so that ^S and ^Q can be inserted with rl_quoted_insert.
-
-f. Fixed the tty code so that ^V works more than once.
-
-g. Changed the use of __P((...)) for function prototypes to PARAMS((...))
- because the use of __P in typedefs conflicted g++ and glibc.
-
-h. The completion code now attempts to do a better job of preserving the
- case of the word the user typed if ignoring case in completions.
-
-i. Readline defaults to not echoing the input and lets the terminal
- initialization code enable echoing if there is a controlling terminal.
-
-j. The key binding code now processes only two hex digits after a `\x'
- escape sequence, and the documentation was changed to note that the
- octal and hex escape sequences result in an eight-bit value rather
- than strict ASCII.
-
-k. Fixed a few places where negative array subscripts could have occurred.
-
-l. Fixed the vi-mode code to use a better method to determine the bounds of
- the array used to hold the marks, and to avoid out-of-bounds references.
-
-m. Fixed the defines in chardefs.h to work better when chars are signed.
-
-n. Fixed configure.in to use the new names for bash autoconf macros.
-
-o. Readline no longer attempts to define its own versions of some ctype
- macros if they are implemented as functions in libc but not as macros in
- <ctype.h>.
-
-p. Fixed a problem where rl_backward could possibly set point to before
- the beginning of the line.
-
-q. Fixed Makefile to not put -I/usr/include into CFLAGS, since it can cause
- include file problems.
-
-2. New Features in Readline
-
-a. Added extern declaration for rl_get_termcap to readline.h, making it a
- public function (it was always there, just not in readline.h).
-
-b. New #defines in readline.h: RL_READLINE_VERSION, currently 0x0402,
- RL_VERSION_MAJOR, currently 4, and RL_VERSION_MINOR, currently 2.
-
-c. New readline variable: rl_readline_version, mirrors RL_READLINE_VERSION.
-
-d. New bindable boolean readline variable: match-hidden-files. Controls
- completion of files beginning with a `.' (on Unix). Enabled by default.
-
-e. The history expansion code now allows any character to terminate a
- `:first-' modifier, like csh.
-
-f. The incremental search code remembers the last search string and uses
- it if ^R^R is typed without a search string.
-
-h. New bindable variable `history-preserve-point'. If set, the history
- code attempts to place the user at the same location on each history
- line retrived with previous-history or next-history.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-4.2,
-and the previous version, readline-4.1.
-
-1. Changes to Readline
-
-a. When setting the terminal attributes on systems using `struct termio',
- readline waits for output to drain before changing the attributes.
-
-b. A fix was made to the history word tokenization code to avoid attempts to
- dereference a null pointer.
-
-c. Readline now defaults rl_terminal_name to $TERM if the calling application
- has left it unset, and tries to initialize with the resultant value.
-
-d. Instead of calling (*rl_getc_function)() directly to get input in certain
- places, readline now calls rl_read_key() consistently.
-
-e. Fixed a bug in the completion code that allowed a backslash to quote a
- single quote inside a single-quoted string.
-
-f. rl_prompt is no longer assigned directly from the argument to readline(),
- but uses memory allocated by readline. This allows constant strings to
- be passed to readline without problems arising when the prompt processing
- code wants to modify the string.
-
-g. Fixed a bug that caused non-interactive history searches to return the
- wrong line when performing multiple searches backward for the same string.
-
-h. Many variables, function arguments, and function return values are now
- declared `const' where appropriate, to improve behavior when linking with
- C++ code.
-
-i. The control character detection code now works better on systems where
- `char' is unsigned by default.
-
-j. The vi-mode numeric argument is now capped at 999999, just like emacs mode.
-
-k. The Function, CPFunction, CPPFunction, and VFunction typedefs have been
- replaced with a set of specific prototyped typedefs, though they are
- still in the readline header files for backwards compatibility.
-
-m. Nearly all of the (undocumented) internal global variables in the library
- now have an _rl_ prefix -- there were a number that did not, like
- screenheight, screenwidth, alphabetic, etc.
-
-n. The ding() convenience function has been renamed to rl_ding(), though the
- old function is still defined for backwards compatibility.
-
-o. The completion convenience functions filename_completion_function,
- username_completion_function, and completion_matches now have an rl_
- prefix, though the old names are still defined for backwards compatibility.
-
-p. The functions shared by readline and bash (linkage is satisfied from bash
- when compiling with bash, and internally otherwise) now have an sh_ prefix.
-
-q. Changed the shared library creation procedure on Linux and BSD/OS 4.x so
- that the `soname' contains only the major version number rather than the
- major and minor numbers.
-
-r. Fixed a redisplay bug that occurred when the prompt spanned more than one
- physical line and contained invisible characters.
-
-s. Added a missing `includedir' variable to the Makefile.
-
-t. When installing the shared libraries, make sure symbolic links are relative.
-
-u. Added configure test so that it can set `${MAKE}' appropriately.
-
-v. Fixed a bug in rl_forward that could cause the point to be set to before
- the beginning of the line in vi mode.
-
-w. Fixed a bug in the callback read-char interface to make it work when a
- readline function pushes some input onto the input stream with
- rl_execute_next (like the incremental search functions).
-
-x. Fixed a file descriptor leak in the history file manipulation code that
- was tripped when attempting to truncate a non-regular file (like
- /dev/null).
-
-y. Changes to make all of the exported readline functions declared in
- readline.h have an rl_ prefix (rltty_set_default_bindings is now
- rl_tty_set_default_bindings, crlf is now rl_crlf, etc.)
-
-z. The formatted documentation included in the base readline distribution
- is no longer removed on a `make distclean'.
-
-aa. Some changes were made to avoid gcc warnings with -Wall.
-
-bb. rl_get_keymap_by_name now finds keymaps case-insensitively, so
- `set keymap EMACS' works.
-
-cc. The history file writing and truncation functions now return a useful
- status on error.
-
-dd. Fixed a bug that could cause applications to dereference a NULL pointer
- if a NULL second argument was passed to history_expand().
-
-ee. If a hook function assigned to rl_event_hook sets rl_done to a non-zero
- value, rl_read_key() now immediately returns '\n' (which is assumed to
- be bound to accept-line).
-
-2. New Features in Readline
-
-a. The blink timeout for paren matching is now settable by applications,
- via the rl_set_paren_blink_timeout() function.
-
-b. _rl_executing_macro has been renamed to rl_executing_macro, which means
- it's now part of the public interface.
-
-c. Readline has a new variable, rl_readline_state, which is a bitmap that
- encapsulates the current state of the library; intended for use by
- callbacks and hook functions.
-
-d. rlfe has a new -l option to log input and output (-a appends to logfile),
- a new -n option to set the readline application name, and -v and -h
- options for version and help information.
-
-e. rlfe can now perform filename completion for the inferior process if the
- OS has a /proc/<PID>/cwd that can be read with readlink(2) to get the
- inferior's current working directory.
-
-f. A new file, rltypedefs.h, contains the new typedefs for function pointers
- and is installed by `make install'.
-
-g. New application-callable function rl_set_prompt(const char *prompt):
- expands its prompt string argument and sets rl_prompt to the result.
-
-h. New application-callable function rl_set_screen_size(int rows, int cols):
- public method for applications to set readline's idea of the screen
- dimensions.
-
-i. The history example program (examples/histexamp.c) is now built as one
- of the examples.
-
-j. The documentation has been updated to cover nearly all of the public
- functions and variables declared in readline.h.
-
-k. New function, rl_get_screen_size (int *rows, int *columns), returns
- readline's idea of the screen dimensions.
-
-l. The timeout in rl_gather_tyi (readline keyboard input polling function)
- is now settable via a function (rl_set_keyboard_input_timeout()).
-
-m. Renamed the max_input_history variable to history_max_entries; the old
- variable is maintained for backwards compatibility.
-
-n. The list of characters that separate words for the history tokenizer is
- now settable with a variable: history_word_delimiters. The default
- value is as before.
-
-o. There is a new history.3 manual page documenting the history library.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-4.1,
-and the previous version, readline-4.0.
-
-1. Changes to Readline
-
-a. Changed the HTML documents so that the table-of-contents is no longer
- a separate file.
-
-b. Changes to the shared object configuration for: Irix 5.x, Irix 6.x,
- OSF/1.
-
-c. The shared library major and minor versions are now constructed
- automatically by configure and substituted into the makefiles.
-
-d. It's now possible to install the shared libraries separately from the
- static libraries.
-
-e. The history library tries to truncate the history file only if it is a
- regular file.
-
-f. A bug that caused _rl_dispatch to address negative array indices on
- systems with signed chars was fixed.
-
-g. rl-yank-nth-arg now leaves the history position the same as when it was
- called.
-
-h. Changes to the completion code to handle MS-DOS drive-letter:pathname
- filenames.
-
-i. Completion is now case-insensitive by default on MS-DOS.
-
-j. Fixes to the history file manipulation code for MS-DOS.
-
-k. Readline attempts to bind the arrow keys to appropriate defaults on MS-DOS.
-
-l. Some fixes were made to the redisplay code for better operation on MS-DOS.
-
-m. The quoted-insert code will now insert tty special chars like ^C.
-
-n. A bug was fixed that caused the display code to reference memory before
- the start of the prompt string.
-
-o. More support for __EMX__ (OS/2).
-
-p. A bug was fixed in readline's signal handling that could cause infinite
- recursion in signal handlers.
-
-q. A bug was fixed that caused the point to be less than zero when rl_forward
- was given a very large numeric argument.
-
-r. The vi-mode code now gets characters via the application-settable value
- of rl_getc_function rather than calling rl_getc directly.
-
-s. The history file code now uses O_BINARY mode when reading and writing
- the history file on cygwin32.
-
-t. Fixed a bug in the redisplay code for lines with more than 256 line
- breaks.
-
-u. A bug was fixed which caused invisible character markers to not be
- stripped from the prompt string if the terminal was in no-echo mode.
-
-v. Readline no longer tries to get the variables it needs for redisplay
- from the termcap entry if the calling application has specified its
- own redisplay function. Readline treats the terminal as `dumb' in
- this case.
-
-w. Fixes to the SIGWINCH code so that a multiple-line prompt with escape
- sequences is redrawn correctly.
-
-x. Changes to the install and install-shared targets so that the libraries
- and header files are installed separately.
-
-2. New Features in Readline
-
-a. A new Readline `user manual' is in doc/rluserman.texinfo.
-
-b. Parentheses matching is now always compiled into readline, and enabled
- or disabled when the value of the `blink-matching-paren' variable is
- changed.
-
-c. MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename.
-
-d. MS-DOS systems now use ~/_history as the default history file.
-
-e. history-search-{forward,backward} now leave the point at the end of the
- line when the string to search for is empty, like
- {reverse,forward}-search-history.
-
-f. history-search-{forward,backward} now leave the last history line found
- in the readline buffer if the second or subsequent search fails.
-
-g. New function for use by applications: rl_on_new_line_with_prompt, used
- when an application displays the prompt itself before calling readline().
-
-h. New variable for use by applications: rl_already_prompted. An application
- that displays the prompt itself before calling readline() must set this to
- a non-zero value.
-
-i. A new variable, rl_gnu_readline_p, always 1. The intent is that an
- application can verify whether or not it is linked with the `real'
- readline library or some substitute.
-
-j. Per Bothner's `rlfe' (pronounced `Ralphie') readline front-end program
- is included in the examples subdirectory, though it is not built
- by default.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-4.0,
-and the previous version, readline-2.2.
-
-1. Changes to Readline
-
-a. The version number is now 4.0, to match the major and minor version
- numbers on the shared readline and history libraries. Future
- releases will maintain the identical numbering.
-
-b. Fixed a typo in the `make install' recipe that copied libreadline.a
- to libhistory.old right after installing it.
-
-c. The readline and history info files are now installed out of the source
- directory if they are not found in the build directory.
-
-d. The library no longer exports a function named `savestring' -- backwards
- compatibility be damned.
-
-e. There is no longer any #ifdef SHELL code in the source files.
-
-f. Some changes were made to the key binding code to fix memory leaks and
- better support Win32 systems.
-
-g. Fixed a silly typo in the paren matching code -- it's microseconds, not
- milliseconds.
-
-h. The readline library should be compilable by C++ compilers.
-
-i. The readline.h public header file now includes function prototypes for
- all readline functions, and some changes were made to fix errors in the
- source files uncovered by the use of prototypes.
-
-j. The maximum numeric argument is now clamped at 1000000.
-
-k. Fixes to rl_yank_last_arg to make it behave better.
-
-l. Fixed a bug in the display code that caused core dumps if the prompt
- string length exceeded 1024 characters.
-
-m. The menu completion code was fixed to properly insert a single completion
- if there is only one match.
-
-n. A bug was fixed that caused the display code to improperly display tabs
- after newlines.
-
-o. A fix was made to the completion code in which a typo caused the wrong
- value to be passed to the function that computed the longest common
- prefix of the list of matches.
-
-p. The completion code now checks the value of rl_filename_completion_desired,
- which is set by application-supplied completion functions to indicate
- that filename completion is being performed, to decide whether or not to
- call an application-supplied `ignore completions' function.
-
-q. Code was added to the history library to catch history substitutions
- using `&' without a previous history substitution or search having been
- performed.
-
-
-2. New Features in Readline
-
-a. There is a new script, support/shobj-conf, to do system-specific shared
- object and library configuration. It generates variables for configure
- to substitute into makefiles. The README file provides a detailed
- explanation of the shared library creation process.
-
-b. Shared libraries and objects are now built in the `shlib' subdirectory.
- There is a shlib/Makefile.in to control the build process. `make shared'
- from the top-level directory is still the right way to build shared
- versions of the libraries.
-
-c. rlconf.h is now installed, so applications can find out which features
- have been compiled into the installed readline and history libraries.
-
-d. rlstdc.h is now an installed header file.
-
-e. Many changes to the signal handling:
- o Readline now catches SIGQUIT and cleans up the tty before returning;
- o A new variable, rl_catch_signals, is available to application writers
- to indicate to readline whether or not it should install its own
- signal handlers for SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP,
- SIGTTIN, and SIGTTOU;
- o A new variable, rl_catch_sigwinch, is available to application
- writers to indicate to readline whether or not it should install its
- own signal handler for SIGWINCH, which will chain to the calling
- applications's SIGWINCH handler, if one is installed;
- o There is a new function, rl_free_line_state, for application signal
- handlers to call to free up the state associated with the current
- line after receiving a signal;
- o There is a new function, rl_cleanup_after_signal, to clean up the
- display and terminal state after receiving a signal;
- o There is a new function, rl_reset_after_signal, to reinitialize the
- terminal and display state after an application signal handler
- returns and readline continues
-
-f. There is a new function, rl_resize_terminal, to reset readline's idea of
- the screen size after a SIGWINCH.
-
-g. New public functions: rl_save_prompt and rl_restore_prompt. These were
- previously private functions with a `_' prefix. These functions are
- used when an application wants to write a message to the `message area'
- with rl_message and have the prompt restored correctly when the message
- is erased.
-
-h. New function hook: rl_pre_input_hook, called just before readline starts
- reading input, after initialization.
-
-i. New function hook: rl_display_matches_hook, called when readline would
- display the list of completion matches. The new function
- rl_display_match_list is what readline uses internally, and is available
- for use by application functions called via this hook.
-
-j. New bindable function, delete-char-or-list, like tcsh.
-
-k. A new variable, rl_erase_empty_line, which, if set by an application using
- readline, will cause readline to erase, prompt and all, lines on which the
- only thing typed was a newline.
-
-l. There is a new script, support/shlib-install, to install and uninstall
- the shared readline and history libraries.
-
-m. A new bindable variable, `isearch-terminators', which is a string
- containing the set of characters that should terminate an incremental
- search without being executed as a command.
-
-n. A new bindable function, forward-backward-delete-char.
-
--------------------------------------------------------------------------------
-This document details the changes between this version, readline-2.2,
-and the previous version, readline-2.1.
-
-1. Changes to Readline
-
-a. Added a missing `extern' to a declaration in readline.h that kept
- readline from compiling cleanly on some systems.
-
-b. The history file is now opened with mode 0600 when it is written for
- better security.
-
-c. Changes were made to the SIGWINCH handling code so that prompt redisplay
- is done better.
-
-d. ^G now interrupts incremental searches correctly.
-
-e. A bug that caused a core dump when the set of characters to be quoted
- when completing words was empty was fixed.
-
-f. Fixed a problem in the readline test program rltest.c that caused a core
- dump.
-
-g. The code that handles parser directives in inputrc files now displays
- more error messages.
-
-h. The history expansion code was fixed so that the appearance of the
- history comment character at the beginning of a word inhibits history
- expansion for that word and the rest of the input line.
-
-i. The code that prints completion listings now behaves better if one or
- more of the filenames contains non-printable characters.
-
-j. The time delay when showing matching parentheses is now 0.5 seconds.
-
-
-2. New Features in Readline
-
-a. There is now an option for `iterative' yank-last-arg handline, so a user
- can keep entering `M-.', yanking the last argument of successive history
- lines.
-
-b. New variable, `print-completions-horizontally', which causes completion
- matches to be displayed across the screen (like `ls -x') rather than up
- and down the screen (like `ls').
-
-c. New variable, `completion-ignore-case', which causes filename completion
- and matching to be performed case-insensitively.
-
-d. There is a new bindable command, `magic-space', which causes history
- expansion to be performed on the current readline buffer and a space to
- be inserted into the result.
-
-e. There is a new bindable command, `menu-complete', which enables tcsh-like
- menu completion (successive executions of menu-complete insert a single
- completion match, cycling through the list of possible completions).
-
-f. There is a new bindable command, `paste-from-clipboard', for use on Win32
- systems, to insert the text from the Win32 clipboard into the editing
- buffer.
-
-g. The key sequence translation code now understands printf-style backslash
- escape sequences, including \NNN octal escapes. These escape sequences
- may be used in key sequence definitions or macro values.
-
-h. An `$include' inputrc file parser directive has been added.
diff --git a/INSTALL b/INSTALL
index e026174..6e46a0b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
Basic Installation
==================
-These are installation instructions for Readline-6.0.
+These are installation instructions for Readline-6.1.
The simplest way to compile readline is:
diff --git a/MANIFEST b/MANIFEST
index 3ab355b..47505e0 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -27,6 +27,7 @@ histlib.h f
keymaps.h f
posixdir.h f
posixjmp.h f
+posixselect.h f
posixstat.h f
readline.h f
rlconf.h f
diff --git a/Makefile.in b/Makefile.in
index 0afcc63..402b8e9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -289,10 +289,14 @@ distclean maintainer-clean: clean
$(RM) $(CREATED_CONFIGURE)
$(RM) $(CREATED_TAGS)
-info dvi:
+info dvi htm pdf ps:
-( cd doc && $(MAKE) $(MFLAGS) $@ )
install-info:
+install-dvi:
+install-html:
+install-pdf:
+install-ps:
check:
installcheck:
diff --git a/NEWS b/NEWS
index 8e30a35..f78100c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,42 +1,37 @@
-This is a terse description of the new features added to readline-6.0 since
-the release of readline-5.2.
+This is a terse description of the new features added to readline-6.1 since
+the release of readline-6.0.
1. New Features in Readline
-a. A new variable, rl_sort_completion_matches; allows applications to inhibit
- match list sorting (but beware: some things don't work right if
- applications do this).
+a. New bindable function: menu-complete-backward.
-b. A new variable, rl_completion_invoking_key; allows applications to discover
- the key that invoked rl_complete or rl_menu_complete.
+b. In the vi insertion keymap, C-n is now bound to menu-complete by default,
+ and C-p to menu-complete-backward.
-c. The functions rl_block_sigint and rl_release_sigint are now public and
- available to calling applications who want to protect critical sections
- (like redisplay).
+c. When in vi command mode, repeatedly hitting ESC now does nothing, even
+ when ESC introduces a bound key sequence. This is closer to how
+ historical vi behaves.
-d. The functions rl_save_state and rl_restore_state are now public and
- available to calling applications; documented rest of readline's state
- flag values.
+d. New bindable function: skip-csi-sequence. Can be used as a default to
+ consume key sequences generated by keys like Home and End without having
+ to bind all keys.
-e. A new user-settable variable, `history-size', allows setting the maximum
- number of entries in the history list.
+e. New application-settable function: rl_filename_rewrite_hook. Can be used
+ to rewite or modify filenames read from the file system before they are
+ compared to the word to be completed.
-f. There is a new implementation of menu completion, with several improvements
- over the old; the most notable improvement is a better `completions
- browsing' mode.
+f. New bindable variable: skip-completed-text, active when completing in the
+ middle of a word. If enabled, it means that characters in the completion
+ that match characters in the remainder of the word are "skipped" rather
+ than inserted into the line.
-g. The menu completion code now uses the rl_menu_completion_entry_function
- variable, allowing applications to provide their own menu completion
- generators.
+g. The pre-readline-6.0 version of menu completion is available as
+ "old-menu-complete" for users who do not like the readline-6.0 version.
-h. There is support for replacing a prefix of a pathname with a `...' when
- displaying possible completions. This is controllable by setting the
- `completion-prefix-display-length' variable. Matches with a common prefix
- longer than this value have the common prefix replaced with `...'.
+h. New bindable variable: echo-control-characters. If enabled, and the
+ tty ECHOCTL bit is set, controls the echoing of characters corresponding
+ to keyboard-generated signals.
-i. There is a new `revert-all-at-newline' variable. If enabled, readline will
- undo all outstanding changes to all history lines when `accept-line' is
- executed.
-
-j. If the kernel supports it, readline displays special characters
- corresponding to a keyboard-generated signal when the signal is received.
+i. New bindable variable: enable-meta-key. Controls whether or not readline
+ sends the smm/rmm sequences if the terminal indicates it has a meta key
+ that enables eight-bit characters.
diff --git a/NEWS~ b/NEWS~
deleted file mode 100644
index a14e74e..0000000
--- a/NEWS~
+++ /dev/null
@@ -1,39 +0,0 @@
-This is a terse description of the new features added to readline-6.0 since
-the release of readline-5.2.
-
-1. New Features in Readline
-
-a. A new variable, rl_sort_completion_matches; allows applications to inhibit
- match list sorting (but beware: some things don't work right if
- applications do this).
-
-b. A new variable, rl_completion_invoking_key; allows applications to discover
- the key that invoked rl_complete or rl_menu_complete.
-
-c. The functions rl_block_sigint and rl_release_sigint are now public and
- available to calling applications who want to protect critical sections
- (like redisplay).
-
-d. The functions rl_save_state and rl_restore_state are now public and
- available to calling applications; documented rest of readline's state
- flag values.
-
-e. A new user-settable variable, `history-size', allows setting the maximum
- number of entries in the history list.
-
-f. There is a new implementation of menu completion, with several improvements
- over the old; the most notable improvement is a better `completions
- browsing' mode.
-
-g. The menu completion code now uses the rl_menu_completion_entry_function
- variable, allowing applications to provide their own menu completion
- generators.
-
-h. There is support for replacing a prefix of a pathname with a `...' when
- displaying possible completions. This is controllable by setting the
- `completion-prefix-display-length' variable. Matches with a common prefix
- longer than this value have the common prefix replaced with `...'.
-
-i. There is a new `revert-all-at-newline' variable. If enabled, readline will
- undo all outstanding changes to all history lines when `accept-line' is
- executed.
diff --git a/README b/README
index a98e120..7e18801 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
Introduction
============
-This is the Gnu Readline library, version 6.0.
+This is the Gnu Readline library, version 6.1.
The Readline library provides a set of functions for use by applications
that allow users to edit command lines as they are typed in. Both
diff --git a/aclocal.m4 b/aclocal.m4
index 5a742bc..10a4741 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -80,6 +80,9 @@ AC_CACHE_VAL(bash_cv_type_$1,
#if HAVE_INTTYPES_H
#include <inttypes.h>
#endif
+#if HAVE_STDINT_H
+#include <stdint.h>
+#endif
$2
], bash_cv_type_$1=yes, bash_cv_type_$1=no)])
AC_MSG_RESULT($bash_cv_type_$1)
@@ -1690,9 +1693,12 @@ AC_CHECK_HEADERS(wchar.h)
AC_CHECK_HEADERS(langinfo.h)
AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN))
+AC_CHECK_FUNC(mbscasecmp, AC_DEFINE(HAVE_MBSCMP))
AC_CHECK_FUNC(mbscmp, AC_DEFINE(HAVE_MBSCMP))
AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS))
+AC_REPLACE_FUNCS(mbschr)
+
AC_CHECK_FUNC(wcrtomb, AC_DEFINE(HAVE_WCRTOMB))
AC_CHECK_FUNC(wcscoll, AC_DEFINE(HAVE_WCSCOLL))
AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP))
@@ -1753,6 +1759,13 @@ if test $bash_cv_type_wint_t = yes; then
AC_DEFINE(HAVE_WINT_T, 1, [systems should define this type here])
fi
+if test "$am_cv_func_iconv" = yes; then
+ OLDLIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ AC_CHECK_FUNCS(locale_charset)
+ LIBS="$OLDLIBS"
+fi
+
])
dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB
@@ -4018,3 +4031,87 @@ AC_DEFUN([BASH_FUNC_FPURGE],
AC_CHECK_FUNCS_ONCE([__fpurge])
AC_CHECK_DECLS([fpurge], , , [#include <stdio.h>])
])
+
+AC_DEFUN([BASH_FUNC_SNPRINTF],
+[
+ AC_CHECK_FUNCS_ONCE([snprintf])
+ if test X$ac_cv_func_snprintf = Xyes; then
+ AC_CACHE_CHECK([for standard-conformant snprintf], [bash_cv_func_snprintf],
+ [AC_TRY_RUN([
+#include <stdio.h>
+
+main()
+{
+ int n;
+ n = snprintf (0, 0, "%s", "0123456");
+ exit(n != 7);
+}
+], bash_cv_func_snprintf=yes, bash_cv_func_snprintf=no,
+ [AC_MSG_WARN([cannot check standard snprintf if cross-compiling])
+ bash_cv_func_snprintf=yes]
+)])
+ if test $bash_cv_func_snprintf = no; then
+ ac_cv_func_snprintf=no
+ fi
+ fi
+ if test $ac_cv_func_snprintf = no; then
+ AC_DEFINE(HAVE_SNPRINTF, 0,
+ [Define if you have a standard-conformant snprintf function.])
+ fi
+])
+
+AC_DEFUN([BASH_FUNC_VSNPRINTF],
+[
+ AC_CHECK_FUNCS_ONCE([vsnprintf])
+ if test X$ac_cv_func_vsnprintf = Xyes; then
+ AC_CACHE_CHECK([for standard-conformant vsnprintf], [bash_cv_func_vsnprintf],
+ [AC_TRY_RUN([
+#if HAVE_STDARG_H
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+
+static int
+#if HAVE_STDARG_H
+foo(const char *fmt, ...)
+#else
+foo(format, va_alist)
+ const char *format;
+ va_dcl
+#endif
+{
+ va_list args;
+ int n;
+
+#if HAVE_STDARG_H
+ va_start(args, fmt);
+#else
+ va_start(args);
+#endif
+ n = vsnprintf(0, 0, fmt, args);
+ va_end (args);
+ return n;
+}
+
+main()
+{
+ int n;
+ n = foo("%s", "0123456");
+ exit(n != 7);
+}
+], bash_cv_func_vsnprintf=yes, bash_cv_func_vsnprintf=no,
+ [AC_MSG_WARN([cannot check standard vsnprintf if cross-compiling])
+ bash_cv_func_vsnprintf=yes]
+)])
+ if test $bash_cv_func_vsnprintf = no; then
+ ac_cv_func_vsnprintf=no
+ fi
+ fi
+ if test $ac_cv_func_vsnprintf = no; then
+ AC_DEFINE(HAVE_VSNPRINTF, 0,
+ [Define if you have a standard-conformant vsnprintf function.])
+ fi
+])
diff --git a/bind.c b/bind.c
index 836f837..fc8c2a2 100644
--- a/bind.c
+++ b/bind.c
@@ -418,6 +418,13 @@ rl_generic_bind (type, keyseq, data, map)
{
map = FUNCTION_TO_KEYMAP (map, ic);
ic = ANYOTHERKEY;
+ /* If we're trying to override a keymap with a null function
+ (e.g., trying to unbind it), we can't use a null pointer
+ here because that's indistinguishable from having not been
+ overridden. We use a special bindable function that does
+ nothing. */
+ if (type == ISFUNC && data == 0)
+ data = (char *)_rl_null_function;
}
map[ic].function = KEYMAP_TO_FUNCTION (data);
@@ -1419,7 +1426,9 @@ static const struct {
{ "completion-ignore-case", &_rl_completion_case_fold, 0 },
{ "convert-meta", &_rl_convert_meta_chars_to_ascii, 0 },
{ "disable-completion", &rl_inhibit_completion, 0 },
+ { "echo-control-characters", &_rl_echo_control_chars, 0 },
{ "enable-keypad", &_rl_enable_keypad, 0 },
+ { "enable-meta-key", &_rl_enable_meta, 0 },
{ "expand-tilde", &rl_complete_with_tilde_expansion, 0 },
{ "history-preserve-point", &_rl_history_preserve_point, 0 },
{ "horizontal-scroll-mode", &_rl_horizontal_scroll_mode, 0 },
@@ -1436,6 +1445,7 @@ static const struct {
{ "revert-all-at-newline", &_rl_revert_all_at_newline, 0 },
{ "show-all-if-ambiguous", &_rl_complete_show_all, 0 },
{ "show-all-if-unmodified", &_rl_complete_show_unmodified, 0 },
+ { "skip-completed-text", &_rl_skip_completed_text, 0 },
#if defined (VISIBLE_STATS)
{ "visible-stats", &rl_visible_stats, 0 },
#endif /* VISIBLE_STATS */
diff --git a/complete.c b/complete.c
index 59b486a..ad9ca05 100644
--- a/complete.c
+++ b/complete.c
@@ -179,6 +179,12 @@ int _rl_completion_prefix_display_length = 0;
int rl_visible_stats = 0;
#endif /* VISIBLE_STATS */
+/* If non-zero, when completing in the middle of a word, don't insert
+ characters from the match that match characters following point in
+ the word. This means, for instance, completing when the cursor is
+ after the `e' in `Makefile' won't result in `Makefilefile'. */
+int _rl_skip_completed_text = 0;
+
/* If non-zero, then this is the address of a function to call when
completing on a directory name. The function is called with
the address of a string (the current directory name) as an arg. */
@@ -186,6 +192,17 @@ rl_icppfunc_t *rl_directory_completion_hook = (rl_icppfunc_t *)NULL;
rl_icppfunc_t *rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL;
+/* If non-zero, this is the address of a function to call when reading
+ directory entries from the filesystem for completion and comparing
+ them to the partial word to be completed. The function should
+ either return its first argument (if no conversion takes place) or
+ newly-allocated memory. This can, for instance, convert filenames
+ between character sets for comparison against what's typed at the
+ keyboard. The returned value is what is added to the list of
+ matches. The second argument is the length of the filename to be
+ converted. */
+rl_dequote_func_t *rl_filename_rewrite_hook = (rl_dequote_func_t *)NULL;
+
/* Non-zero means readline completion functions perform tilde expansion. */
int rl_complete_with_tilde_expansion = 0;
@@ -1021,7 +1038,8 @@ gen_completion_matches (text, start, end, our_func, found_quote, quote_char)
{
_rl_interrupt_immediately++;
matches = (*rl_attempted_completion_function) (text, start, end);
- _rl_interrupt_immediately--;
+ if (_rl_interrupt_immediately > 0)
+ _rl_interrupt_immediately--;
if (matches || rl_attempted_completion_over)
{
@@ -1551,8 +1569,9 @@ insert_match (match, start, mtype, qc)
int start, mtype;
char *qc;
{
- char *replacement;
+ char *replacement, *r;
char oqc;
+ int end, rlen;
oqc = qc ? *qc : '\0';
replacement = make_quoted_replacement (match, mtype, qc);
@@ -1560,6 +1579,7 @@ insert_match (match, start, mtype, qc)
/* Now insert the match. */
if (replacement)
{
+ rlen = strlen (replacement);
/* Don't double an opening quote character. */
if (qc && *qc && start && rl_line_buffer[start - 1] == *qc &&
replacement[0] == *qc)
@@ -1569,7 +1589,24 @@ insert_match (match, start, mtype, qc)
else if (qc && (*qc != oqc) && start && rl_line_buffer[start - 1] == oqc &&
replacement[0] != oqc)
start--;
- _rl_replace_text (replacement, start, rl_point - 1);
+ end = rl_point - 1;
+ /* Don't double a closing quote character */
+ if (qc && *qc && end && rl_line_buffer[rl_point] == *qc && replacement[rlen - 1] == *qc)
+ end++;
+ if (_rl_skip_completed_text)
+ {
+ r = replacement;
+ while (start < rl_end && *r && rl_line_buffer[start] == *r)
+ {
+ start++;
+ r++;
+ }
+ if (start <= end || *r)
+ _rl_replace_text (r, start, end);
+ rl_point = start + strlen (r);
+ }
+ else
+ _rl_replace_text (replacement, start, end);
if (replacement != match)
free (replacement);
}
@@ -1893,7 +1930,8 @@ rl_completion_matches (text, entry_function)
match_list[++matches] = string;
match_list[matches + 1] = (char *)NULL;
}
- _rl_interrupt_immediately--;
+ if (_rl_interrupt_immediately > 0)
+ _rl_interrupt_immediately--;
/* If there were any matches, then look through them finding out the
lowest common denominator. That then becomes match_list[0]. */
@@ -1981,8 +2019,8 @@ rl_filename_completion_function (text, state)
static char *dirname = (char *)NULL;
static char *users_dirname = (char *)NULL;
static int filename_len;
- char *temp;
- int dirlen;
+ char *temp, *dentry, *convfn;
+ int dirlen, dentlen, convlen;
struct dirent *entry;
/* If we don't have any state, then do some initialization. */
@@ -2086,6 +2124,15 @@ rl_filename_completion_function (text, state)
entry = (struct dirent *)NULL;
while (directory && (entry = readdir (directory)))
{
+ convfn = dentry = entry->d_name;
+ convlen = dentlen = D_NAMLEN (entry);
+
+ if (rl_filename_rewrite_hook)
+ {
+ convfn = (*rl_filename_rewrite_hook) (dentry, dentlen);
+ convlen = (convfn == dentry) ? dentlen : strlen (convfn);
+ }
+
/* Special case for no filename. If the user has disabled the
`match-hidden-files' variable, skip filenames beginning with `.'.
All other entries except "." and ".." match. */
@@ -2094,9 +2141,8 @@ rl_filename_completion_function (text, state)
if (_rl_match_hidden_files == 0 && HIDDEN_FILE (entry->d_name))
continue;
- if (entry->d_name[0] != '.' ||
- (entry->d_name[1] &&
- (entry->d_name[1] != '.' || entry->d_name[2])))
+ if (convfn[0] != '.' ||
+ (convfn[1] && (convfn[1] != '.' || convfn[2])))
break;
}
else
@@ -2105,16 +2151,16 @@ rl_filename_completion_function (text, state)
it is a match. */
if (_rl_completion_case_fold)
{
- if ((_rl_to_lower (entry->d_name[0]) == _rl_to_lower (filename[0])) &&
- (((int)D_NAMLEN (entry)) >= filename_len) &&
- (_rl_strnicmp (filename, entry->d_name, filename_len) == 0))
+ if ((_rl_to_lower (convfn[0]) == _rl_to_lower (filename[0])) &&
+ (convlen >= filename_len) &&
+ (_rl_strnicmp (filename, convfn, filename_len) == 0))
break;
}
else
{
- if ((entry->d_name[0] == filename[0]) &&
- (((int)D_NAMLEN (entry)) >= filename_len) &&
- (strncmp (filename, entry->d_name, filename_len) == 0))
+ if ((convfn[0] == filename[0]) &&
+ (convlen >= filename_len) &&
+ (strncmp (filename, convfn, filename_len) == 0))
break;
}
}
@@ -2176,19 +2222,22 @@ rl_filename_completion_function (text, state)
strcpy (temp + dirlen, entry->d_name);
}
else
- temp = savestring (entry->d_name);
+ temp = savestring (convfn);
+
+ if (convfn != dentry)
+ free (convfn);
return (temp);
}
}
/* An initial implementation of a menu completion function a la tcsh. The
- first time (if the last readline command was not rl_menu_complete), we
+ first time (if the last readline command was not rl_old_menu_complete), we
generate the list of matches. This code is very similar to the code in
rl_complete_internal -- there should be a way to combine the two. Then,
for each item in the list of matches, we insert the match in an undoable
fashion, with the appropriate character appended (this happens on the
- second and subsequent consecutive calls to rl_menu_complete). When we
+ second and subsequent consecutive calls to rl_old_menu_complete). When we
hit the end of the match list, we restore the original unmatched text,
ring the bell, and reset the counter to zero. */
int
@@ -2330,7 +2379,7 @@ rl_menu_complete (count, ignore)
/* The first time through, we generate the list of matches and set things
up to insert them. */
- if (rl_last_func != rl_menu_complete || full_completion)
+ if ((rl_last_func != rl_menu_complete && rl_last_func != rl_backward_menu_complete) || full_completion)
{
/* Clean up from previous call, if any. */
FREE (orig_text);
@@ -2470,3 +2519,12 @@ rl_menu_complete (count, ignore)
completion_changed_buffer = 1;
return (0);
}
+
+int
+rl_backward_menu_complete (count, key)
+ int count, key;
+{
+ /* Positive arguments to backward-menu-complete translate into negative
+ arguments for menu-complete, and vice versa. */
+ return (rl_menu_complete (-count, key));
+}
diff --git a/config.h.in b/config.h.in
index 14341fa..8560c4b 100644
--- a/config.h.in
+++ b/config.h.in
@@ -4,6 +4,8 @@
characters, even if the OS supports them. */
#undef NO_MULTIBYTE_SUPPORT
+#undef _FILE_OFFSET_BITS
+
/* Define if on MINIX. */
#undef _MINIX
diff --git a/configure b/configure
index 256c9b9..868d29e 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
-# From configure.in for Readline 6.0, version 2.64.
+# From configure.in for Readline 6.1, version 2.66.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for readline 6.0.
+# Generated by GNU Autoconf 2.63 for readline 6.1.
#
# Report bugs to <bug-readline@gnu.org>.
#
@@ -597,8 +597,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='readline'
PACKAGE_TARNAME='readline'
-PACKAGE_VERSION='6.0'
-PACKAGE_STRING='readline 6.0'
+PACKAGE_VERSION='6.1'
+PACKAGE_STRING='readline 6.1'
PACKAGE_BUGREPORT='bug-readline@gnu.org'
ac_unique_file="readline.h"
@@ -639,7 +639,6 @@ ac_includes_default="\
#endif"
ac_subst_vars='LTLIBOBJS
-LIBOBJS
TERMCAP_LIB
LIBVERSION
ARFLAGS
@@ -669,6 +668,7 @@ SHOBJ_LDFLAGS
SHOBJ_LD
SHOBJ_CFLAGS
SHOBJ_CC
+LIBOBJS
MAKE_SHELL
RANLIB
AR
@@ -740,6 +740,7 @@ with_purify
enable_multibyte
enable_shared
enable_static
+enable_largefile
'
ac_precious_vars='build_alias
host_alias
@@ -1302,7 +1303,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures readline 6.0 to adapt to many kinds of systems.
+\`configure' configures readline 6.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1367,7 +1368,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of readline 6.0:";;
+ short | recursive ) echo "Configuration of readline 6.1:";;
esac
cat <<\_ACEOF
@@ -1378,6 +1379,7 @@ Optional Features:
--enable-multibyte enable multibyte characters if OS supports them
--enable-shared build shared libraries [default=YES]
--enable-static build static libraries [default=YES]
+ --disable-largefile omit support for large files
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1462,7 +1464,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-readline configure 6.0
+readline configure 6.1
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1476,7 +1478,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by readline $as_me 6.0, which was
+It was created by readline $as_me 6.1, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1882,7 +1884,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
ac_config_headers="$ac_config_headers config.h"
-LIBVERSION=6.0
+LIBVERSION=6.1
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
@@ -6055,6 +6057,363 @@ fi
done
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then
+ enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+ { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if test "${ac_cv_sys_largefile_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32"
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_largefile_CC=' -n32'; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_file_offset_bits=no; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_file_offset_bits=64; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test "${ac_cv_sys_large_files+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_large_files=no; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_large_files=1; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ fi
+fi
+
+
{ $as_echo "$as_me:$LINENO: checking for type of signal functions" >&5
$as_echo_n "checking for type of signal functions... " >&6; }
@@ -8485,6 +8844,98 @@ _ACEOF
fi
+{ $as_echo "$as_me:$LINENO: checking for mbscasecmp" >&5
+$as_echo_n "checking for mbscasecmp... " >&6; }
+if test "${ac_cv_func_mbscasecmp+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define mbscasecmp to an innocuous variant, in case <limits.h> declares mbscasecmp.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define mbscasecmp innocuous_mbscasecmp
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mbscasecmp (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef mbscasecmp
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mbscasecmp ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_mbscasecmp || defined __stub___mbscasecmp
+choke me
+#endif
+
+int
+main ()
+{
+return mbscasecmp ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_mbscasecmp=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_mbscasecmp=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbscasecmp" >&5
+$as_echo "$ac_cv_func_mbscasecmp" >&6; }
+if test "x$ac_cv_func_mbscasecmp" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_MBSCMP 1
+_ACEOF
+
+fi
+
{ $as_echo "$as_me:$LINENO: checking for mbscmp" >&5
$as_echo_n "checking for mbscmp... " >&6; }
if test "${ac_cv_func_mbscmp+set}" = set; then
@@ -8670,6 +9121,116 @@ _ACEOF
fi
+
+for ac_func in mbschr
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ case " $LIBOBJS " in
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
{ $as_echo "$as_me:$LINENO: checking for wcrtomb" >&5
$as_echo_n "checking for wcrtomb... " >&6; }
if test "${ac_cv_func_wcrtomb+set}" = set; then
@@ -9558,6 +10119,113 @@ _ACEOF
fi
+if test "$am_cv_func_iconv" = yes; then
+ OLDLIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+
+for ac_func in locale_charset
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ LIBS="$OLDLIBS"
+fi
+
case "$host_cpu" in
@@ -10081,7 +10749,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by readline $as_me 6.0, which was
+This file was extended by readline $as_me 6.1, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -10144,7 +10812,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-readline config.status 6.0
+readline config.status 6.1
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.in b/configure.in
index 3c3aea9..532ffaa 100644
--- a/configure.in
+++ b/configure.in
@@ -20,9 +20,9 @@ dnl Process this file with autoconf to produce a configure script.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-AC_REVISION([for Readline 6.0, version 2.64])
+AC_REVISION([for Readline 6.1, version 2.66])
-AC_INIT(readline, 6.0, bug-readline@gnu.org)
+AC_INIT(readline, 6.1, bug-readline@gnu.org)
dnl make sure we are using a recent autoconf version
AC_PREREQ(2.50)
@@ -32,7 +32,7 @@ AC_CONFIG_AUX_DIR(./support)
AC_CONFIG_HEADERS(config.h)
dnl update the value of RL_READLINE_VERSION in readline.h when this changes
-LIBVERSION=6.0
+LIBVERSION=6.1
AC_CANONICAL_HOST
@@ -157,6 +157,8 @@ AC_CHECK_HEADERS(sys/ptem.h,,,
#endif
]])
+AC_SYS_LARGEFILE
+
BASH_SYS_SIGNAL_VINTAGE
BASH_SYS_REINSTALL_SIGHANDLERS
diff --git a/display.c b/display.c
index c58d4f7..e4105ee 100644
--- a/display.c
+++ b/display.c
@@ -94,9 +94,9 @@ static int line_structures_initialized = 0;
#define invisible_line (line_state_invisible->line)
#if defined (HANDLE_MULTIBYTE)
-static int _rl_col_width PARAMS((const char *, int, int));
+static int _rl_col_width PARAMS((const char *, int, int, int));
#else
-# define _rl_col_width(l, s, e) (((e) <= (s)) ? 0 : (e) - (s))
+# define _rl_col_width(l, s, e, f) (((e) <= (s)) ? 0 : (e) - (s))
#endif
/* Heuristic used to decide whether it is faster to move from CUR to NEW
@@ -312,7 +312,7 @@ expand_prompt (pmt, lp, lip, niflp, vlp)
not be the same as the number of physical characters
on the screen in the presence of multibyte characters */
rl += ind - pind;
- physchars += _rl_col_width (pmt, pind, ind);
+ physchars += _rl_col_width (pmt, pind, ind, 0);
}
else
ninvis += ind - pind;
@@ -688,7 +688,7 @@ rl_redisplay ()
temp = local_prompt_len;
while (num < temp)
{
- z = _rl_col_width (local_prompt, n0, num);
+ z = _rl_col_width (local_prompt, n0, num, 1);
if (z > _rl_screenwidth)
{
num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY);
@@ -714,7 +714,7 @@ rl_redisplay ()
inv_lbreaks[++newlines] = temp;
#if defined (HANDLE_MULTIBYTE)
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && prompt_multibyte_chars > 0)
- lpos -= _rl_col_width (local_prompt, n0, num);
+ lpos -= _rl_col_width (local_prompt, n0, num, 1);
else
#endif
lpos -= _rl_screenwidth;
@@ -733,6 +733,7 @@ rl_redisplay ()
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
{
memset (&ps, 0, sizeof (mbstate_t));
+ /* XXX - what if wc_bytes ends up <= 0? check for MB_INVALIDCH */
wc_bytes = mbrtowc (&wc, rl_line_buffer, rl_end, &ps);
}
else
@@ -893,6 +894,7 @@ rl_redisplay ()
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
{
in += wc_bytes;
+ /* XXX - what if wc_bytes ends up <= 0? check for MB_INVALIDCH */
wc_bytes = mbrtowc (&wc, rl_line_buffer + in, rl_end - in, &ps);
}
else
@@ -958,6 +960,11 @@ rl_redisplay ()
#define VIS_LINE(line) ((line) > _rl_vis_botlin) ? "" : VIS_CHARS(line)
#define INV_LINE(line) (invisible_line + inv_lbreaks[line])
+#define OLD_CPOS_IN_PROMPT() (cpos_adjusted == 0 && \
+ _rl_last_c_pos != o_cpos && \
+ _rl_last_c_pos > wrap_offset && \
+ o_cpos < prompt_last_invisible)
+
/* For each line in the buffer, do the updating display. */
for (linenum = 0; linenum <= inv_botlin; linenum++)
{
@@ -980,11 +987,7 @@ rl_redisplay ()
time update_line is called, then we can assume in our
calculations that o_cpos does not need to be adjusted by
wrap_offset. */
- if (linenum == 0 && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
- cpos_adjusted == 0 &&
- _rl_last_c_pos != o_cpos &&
- _rl_last_c_pos > wrap_offset &&
- o_cpos < prompt_last_invisible)
+ if (linenum == 0 && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) && OLD_CPOS_IN_PROMPT())
_rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */
else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth &&
(MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
@@ -1084,7 +1087,7 @@ rl_redisplay ()
_rl_output_some_chars (local_prompt, nleft);
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_last_c_pos = _rl_col_width (local_prompt, 0, nleft) - wrap_offset + modmark;
+ _rl_last_c_pos = _rl_col_width (local_prompt, 0, nleft, 1) - wrap_offset + modmark;
else
_rl_last_c_pos = nleft + modmark;
}
@@ -1108,7 +1111,7 @@ rl_redisplay ()
{
/* TX == new physical cursor position in multibyte locale. */
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- tx = _rl_col_width (&visible_line[pos], 0, nleft) - visible_wrap_offset;
+ tx = _rl_col_width (&visible_line[pos], 0, nleft, 1) - visible_wrap_offset;
else
tx = nleft;
if (tx >= 0 && _rl_last_c_pos > tx)
@@ -1201,12 +1204,8 @@ rl_redisplay ()
_rl_screenwidth + (lmargin ? 0 : wrap_offset),
0);
- if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
- cpos_adjusted == 0 &&
- _rl_last_c_pos != o_cpos &&
- _rl_last_c_pos > wrap_offset &&
- o_cpos < prompt_last_invisible)
- _rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */
+ if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && OLD_CPOS_IN_PROMPT())
+ _rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */
/* If the visible new line is shorter than the old, but the number
of invisible characters is greater, and we are at the end of
@@ -1320,7 +1319,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
if (tempwidth > 0)
{
- int count;
+ int count, i;
bytes = ret;
for (count = 0; count < bytes; count++)
putc (new[count], rl_outstream);
@@ -1331,10 +1330,13 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
if (ret != 0 && bytes != 0)
{
if (MB_INVALIDCH (ret))
- memmove (old+bytes, old+1, strlen (old+1));
- else
- memmove (old+bytes, old+ret, strlen (old+ret));
+ ret = 1;
+ memmove (old+bytes, old+ret, strlen (old+ret));
memcpy (old, new, bytes);
+ /* Fix up indices if we copy data from one line to another */
+ omax += bytes - ret;
+ for (i = current_line+1; i < inv_botlin+1; i++)
+ vis_lbreaks[i] += bytes - ret;
}
}
else
@@ -1528,7 +1530,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
{
/* We take wrap_offset into account here so we can pass correct
information to _rl_move_cursor_relative. */
- _rl_last_c_pos = _rl_col_width (local_prompt, 0, lendiff) - wrap_offset + modmark;
+ _rl_last_c_pos = _rl_col_width (local_prompt, 0, lendiff, 1) - wrap_offset + modmark;
cpos_adjusted = 1;
}
else
@@ -1559,7 +1561,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
When not using multibyte characters, these are equal */
lendiff = (nls - nfd) - (ols - ofd);
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- col_lendiff = _rl_col_width (new, nfd - new, nls - new) - _rl_col_width (old, ofd - old, ols - old);
+ col_lendiff = _rl_col_width (new, nfd - new, nls - new, 1) - _rl_col_width (old, ofd - old, ols - old, 1);
else
col_lendiff = lendiff;
@@ -1584,7 +1586,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
/* Insert (diff (len (old), len (new)) ch. */
temp = ne - nfd;
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- col_temp = _rl_col_width (new, nfd - new, ne - new);
+ col_temp = _rl_col_width (new, nfd - new, ne - new, 1);
else
col_temp = temp;
@@ -1601,7 +1603,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
if (lendiff < 0)
{
_rl_output_some_chars (nfd, temp);
- _rl_last_c_pos += _rl_col_width (nfd, 0, temp);
+ _rl_last_c_pos += _rl_col_width (nfd, 0, temp, 1);
/* If nfd begins before any invisible characters in the prompt,
adjust _rl_last_c_pos to account for wrap_offset and set
cpos_adjusted to let the caller know. */
@@ -1679,7 +1681,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
multibyte characters and prompt strings with invisible
characters, but was previously disabled. */
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- twidth = _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
+ twidth = _rl_col_width (nfd+lendiff, 0, temp-col_lendiff, 1);
else
twidth = temp - lendiff;
_rl_last_c_pos += twidth;
@@ -1738,7 +1740,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
_rl_output_some_chars (nfd, temp);
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
{
- _rl_last_c_pos += _rl_col_width (nfd, 0, temp);
+ _rl_last_c_pos += _rl_col_width (nfd, 0, temp, 1);
if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
{
_rl_last_c_pos -= wrap_offset;
@@ -1771,7 +1773,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
}
lendiff = (oe - old) - (ne - new);
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- col_lendiff = _rl_col_width (old, 0, oe - old) - _rl_col_width (new, 0, ne - new);
+ col_lendiff = _rl_col_width (old, 0, oe - old, 1) - _rl_col_width (new, 0, ne - new, 1);
else
col_lendiff = lendiff;
@@ -1838,7 +1840,7 @@ rl_on_new_line_with_prompt ()
l = strlen (prompt_last_line);
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_last_c_pos = _rl_col_width (prompt_last_line, 0, l); /* XXX */
+ _rl_last_c_pos = _rl_col_width (prompt_last_line, 0, l, 1); /* XXX */
else
_rl_last_c_pos = l;
@@ -1900,6 +1902,7 @@ _rl_move_cursor_relative (new, data)
register int i;
int woff; /* number of invisible chars on current line */
int cpos, dpos; /* current and desired cursor positions */
+ int adjust;
woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset);
cpos = _rl_last_c_pos;
@@ -1915,15 +1918,34 @@ _rl_move_cursor_relative (new, data)
as long as we are past them and they are counted by _rl_col_width. */
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
{
- dpos = _rl_col_width (data, 0, new);
+ adjust = 1;
+ /* Try to short-circuit common cases and eliminate a bunch of multibyte
+ character function calls. */
+ /* 1. prompt string */
+ if (new == local_prompt_len && memcmp (data, local_prompt, new) == 0)
+ {
+ dpos = prompt_physical_chars;
+ cpos_adjusted = 1;
+ adjust = 0;
+ }
+ /* 2. prompt_string + line contents */
+ else if (new > local_prompt_len && local_prompt && memcmp (data, local_prompt, local_prompt_len) == 0)
+ {
+ dpos = prompt_physical_chars + _rl_col_width (data, local_prompt_len, new, 1);
+ cpos_adjusted = 1;
+ adjust = 0;
+ }
+ else
+ dpos = _rl_col_width (data, 0, new, 1);
+
/* Use NEW when comparing against the last invisible character in the
prompt string, since they're both buffer indices and DPOS is a
desired display position. */
- if ((new > prompt_last_invisible) || /* XXX - don't use woff here */
+ if (adjust && ((new > prompt_last_invisible) || /* XXX - don't use woff here */
(prompt_physical_chars >= _rl_screenwidth &&
_rl_last_v_pos == prompt_last_screen_line &&
wrap_offset >= woff && dpos >= woff &&
- new > (prompt_last_invisible-(_rl_screenwidth*_rl_last_v_pos)-wrap_offset)))
+ new > (prompt_last_invisible-(_rl_screenwidth*_rl_last_v_pos)-wrap_offset))))
/* XXX last comparison might need to be >= */
{
dpos -= woff;
@@ -2566,9 +2588,9 @@ _rl_current_display_line ()
In the case of multibyte characters with stateful encoding, we have to
scan from the beginning of the string to take the state into account. */
static int
-_rl_col_width (str, start, end)
+_rl_col_width (str, start, end, flags)
const char *str;
- int start, end;
+ int start, end, flags;
{
wchar_t wc;
mbstate_t ps;
@@ -2587,6 +2609,20 @@ _rl_ttymsg ("_rl_col_width: called with MB_CUR_MAX == 1");
point = 0;
max = end;
+ /* Try to short-circuit common cases. The adjustment to remove wrap_offset
+ is done by the caller. */
+ /* 1. prompt string */
+ if (flags && start == 0 && end == local_prompt_len && memcmp (str, local_prompt, local_prompt_len) == 0)
+ return (prompt_physical_chars + wrap_offset);
+ /* 2. prompt string + line contents */
+ else if (flags && start == 0 && local_prompt_len > 0 && end > local_prompt_len && local_prompt && memcmp (str, local_prompt, local_prompt_len) == 0)
+ {
+ tmp = prompt_physical_chars + wrap_offset;
+ /* XXX - try to call ourselves recursively with non-prompt portion */
+ tmp += _rl_col_width (str, local_prompt_len, end, flags);
+ return (tmp);
+ }
+
while (point < start)
{
tmp = mbrlen (str + point, max, &ps);
diff --git a/doc/._fdl.texi b/doc/._fdl.texi
new file mode 100644
index 0000000..02a6d18
--- /dev/null
+++ b/doc/._fdl.texi
Binary files differ
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 8b57f30..9ddd314 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -63,9 +63,9 @@ PSPDF = gs -sPAPERSIZE=${PAPERSIZE} -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -s
RLSRC = $(srcdir)/rlman.texi $(srcdir)/rluser.texi \
$(srcdir)/rltech.texi $(srcdir)/version.texi \
- $(srcdir)/rluserman.texi
+ $(srcdir)/rluserman.texi $(srcdir)/fdl.texi
HISTSRC = $(srcdir)/history.texi $(srcdir)/hsuser.texi \
- $(srcdir)/hstech.texi $(srcdir)/version.texi
+ $(srcdir)/hstech.texi $(srcdir)/version.texi $(srcdir)/fdl.texi
# This should be a program that converts troff to an ascii-readable format
NROFF = groff -Tascii
@@ -183,7 +183,7 @@ distclean: clean maybe-clean
$(RM) Makefile
maybe-clean:
- -if test "X$(topdir)" != "X$(BUILD_DIR)"; then \
+ -if test "X$(topdir)" != "X.." && test "X$(topdir)" != "X$(BUILD_DIR)"; then \
$(RM) $(DIST_DOCS); \
fi
diff --git a/doc/fdl.texi b/doc/fdl.texi
index 96ce74e..8805f1a 100644
--- a/doc/fdl.texi
+++ b/doc/fdl.texi
@@ -1,12 +1,12 @@
@c The GNU Free Documentation License.
-@center Version 1.2, November 2002
+@center Version 1.3, 3 November 2008
@c This file is intended to be included within another document,
@c hence no sectioning command or @node.
@display
-Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+@uref{http://fsf.org/}
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -111,6 +111,9 @@ formats which do not have any title page as such, ``Title Page'' means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
+The ``publisher'' means any person or entity that distributes copies
+of the Document to the public.
+
A section ``Entitled XYZ'' means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
@@ -379,13 +382,30 @@ title.
@item
TERMINATION
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
@item
FUTURE REVISIONS OF THIS LICENSE
@@ -403,7 +423,42 @@ following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+@item
+RELICENSING
+
+``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+
+``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+``Incorporate'' means to publish or republish a Document, in whole or
+in part, as part of another Document.
+
+An MMC is ``eligible for relicensing'' if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
@end enumerate
@page
@@ -417,7 +472,7 @@ license notices just after the title page:
@group
Copyright (C) @var{year} @var{your name}.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
diff --git a/doc/history.dvi b/doc/history.dvi
index 7b2d462..e54d0fe 100644
--- a/doc/history.dvi
+++ b/doc/history.dvi
Binary files differ
diff --git a/doc/history.html b/doc/history.html
index 9b70ce9..0721674 100644
--- a/doc/history.html
+++ b/doc/history.html
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on January, 6 2009 by texi2html 1.64 -->
+<!-- Created on October, 12 2009 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -1273,12 +1273,12 @@ main (argc, argv)
<P>
<center>
- Version 1.2, November 2002
+ Version 1.3, 3 November 2008
</center>
</P><P>
-<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+<A HREF="http://fsf.org/">http://fsf.org/</A>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -1396,6 +1396,10 @@ the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
</P><P>
+The "publisher" means any person or entity that distributes copies
+of the Document to the public.
+</P><P>
+
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
@@ -1709,13 +1713,33 @@ title.
TERMINATION
<P>
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+</P><P>
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+</P><P>
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+</P><P>
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
</P><P>
<LI>
@@ -1736,7 +1760,49 @@ following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+</P><P>
+
+<LI>
+RELICENSING
+<P>
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+</P><P>
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+</P><P>
+
+"Incorporate" means to publish or republish a Document, in whole or
+in part, as part of another Document.
+</P><P>
+
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+</P><P>
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+</P><P>
+
</OL>
<P>
@@ -1752,7 +1818,7 @@ license notices just after the title page:
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> Copyright (C) <VAR>year</VAR> <VAR>your name</VAR>.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
@@ -2049,7 +2115,7 @@ to permit their use in free software.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="history.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>January, 6 2009</I>
+This document was generated by <I>Chet Ramey</I> on <I>October, 12 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -2211,7 +2277,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>Chet Ramey</I> on <I>January, 6 2009</I>
+by <I>Chet Ramey</I> on <I>October, 12 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
diff --git a/doc/history.info b/doc/history.info
index 6e108e8..32f3302 100644
--- a/doc/history.info
+++ b/doc/history.info
@@ -1,9 +1,9 @@
This is history.info, produced by makeinfo version 4.13 from
-/Users/chet/src/bash/readline-src/doc/history.texi.
+/usr/src/local/chet/src/bash/readline-src/doc/history.texi.
-This document describes the GNU History library (version 6.0, 28
-October 2008), a programming tool that provides a consistent user
-interface for recalling lines of previously typed input.
+This document describes the GNU History library (version 6.1, 9 October
+2009), a programming tool that provides a consistent user interface for
+recalling lines of previously typed input.
Copyright (C) 1988-2009 Free Software Foundation, Inc.
@@ -13,7 +13,7 @@ preserved on all copies.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover texts
being "A GNU Manual", and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
@@ -784,10 +784,10 @@ File: history.info, Node: GNU Free Documentation License, Next: Concept Index,
Appendix A GNU Free Documentation License
*****************************************
- Version 1.2, November 2002
+ Version 1.3, 3 November 2008
- Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ `http://fsf.org/'
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -889,6 +889,9 @@ Appendix A GNU Free Documentation License
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
+ The "publisher" means any person or entity that distributes copies
+ of the Document to the public.
+
A section "Entitled XYZ" means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
@@ -1154,12 +1157,29 @@ Appendix A GNU Free Documentation License
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
- except as expressly provided for under this License. Any other
- attempt to copy, modify, sublicense or distribute the Document is
- void, and will automatically terminate your rights under this
- License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense, or distribute it is void,
+ and will automatically terminate your rights under this License.
+
+ However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly
+ and finally terminates your license, and (b) permanently, if the
+ copyright holder fails to notify you of the violation by some
+ reasonable means prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from
+ that copyright holder, and you cure the violation prior to 30 days
+ after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate
+ the licenses of parties who have received copies or rights from
+ you under this License. If your rights have been terminated and
+ not permanently reinstated, receipt of a copy of some or all of
+ the same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
@@ -1177,7 +1197,41 @@ Appendix A GNU Free Documentation License
published (not as a draft) by the Free Software Foundation. If
the Document does not specify a version number of this License,
you may choose any version ever published (not as a draft) by the
- Free Software Foundation.
+ Free Software Foundation. If the Document specifies that a proxy
+ can decide which future versions of this License can be used, that
+ proxy's public statement of acceptance of a version permanently
+ authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ World Wide Web server that publishes copyrightable works and also
+ provides prominent facilities for anybody to edit those works. A
+ public wiki that anybody can edit is an example of such a server.
+ A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+ site means any set of copyrightable works thus published on the MMC
+ site.
+
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ license published by Creative Commons Corporation, a not-for-profit
+ corporation with a principal place of business in San Francisco,
+ California, as well as future copyleft versions of that license
+ published by that same organization.
+
+ "Incorporate" means to publish or republish a Document, in whole or
+ in part, as part of another Document.
+
+ An MMC is "eligible for relicensing" if it is licensed under this
+ License, and if all works that were first published under this
+ License somewhere other than this MMC, and subsequently
+ incorporated in whole or in part into the MMC, (1) had no cover
+ texts or invariant sections, and (2) were thus incorporated prior
+ to November 1, 2008.
+
+ The operator of an MMC Site may republish an MMC contained in the
+ site under CC-BY-SA on the same site at any time before August 1,
+ 2009, provided the MMC is eligible for relicensing.
+
ADDENDUM: How to use this License for your documents
====================================================
@@ -1188,7 +1242,7 @@ notices just after the title page:
Copyright (C) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
@@ -1314,27 +1368,27 @@ Appendix C Function and Variable Index

Tag Table:
-Node: Top1305
-Node: Using History Interactively1950
-Node: History Interaction2458
-Node: Event Designators3882
-Node: Word Designators4817
-Node: Modifiers6456
-Node: Programming with GNU History7681
-Node: Introduction to History8424
-Node: History Storage10114
-Node: History Functions11249
-Node: Initializing History and State Management12238
-Node: History List Management13050
-Node: Information About the History List15082
-Node: Moving Around the History List16579
-Node: Searching the History List17580
-Node: Managing the History File19512
-Node: History Expansion21332
-Node: History Variables23240
-Node: History Programming Example26046
-Node: GNU Free Documentation License28723
-Node: Concept Index51179
-Node: Function and Variable Index51884
+Node: Top1312
+Node: Using History Interactively1957
+Node: History Interaction2465
+Node: Event Designators3889
+Node: Word Designators4824
+Node: Modifiers6463
+Node: Programming with GNU History7688
+Node: Introduction to History8431
+Node: History Storage10121
+Node: History Functions11256
+Node: Initializing History and State Management12245
+Node: History List Management13057
+Node: Information About the History List15089
+Node: Moving Around the History List16586
+Node: Searching the History List17587
+Node: Managing the History File19519
+Node: History Expansion21339
+Node: History Variables23247
+Node: History Programming Example26053
+Node: GNU Free Documentation License28730
+Node: Concept Index53921
+Node: Function and Variable Index54626

End Tag Table
diff --git a/doc/history.pdf b/doc/history.pdf
index b147309..01ff693 100644
--- a/doc/history.pdf
+++ b/doc/history.pdf
Binary files differ
diff --git a/doc/history.ps b/doc/history.ps
index 43afc54..a0949dc 100644
--- a/doc/history.ps
+++ b/doc/history.ps
@@ -1,17 +1,17 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
%%Title: history.dvi
-%%Pages: 23
+%%Pages: 24
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
-%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMBXTI10 CMTI10 CMCSC10
-%%+ CMSL10 CMSLTT10 CMBX10 CMSS10 CMTT9 CMR9 CMTI9
+%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMMI12 CMMI10 CMCSC10 CMSL10
+%%+ CMSLTT10 CMSS10 CMTT9 CMR9 CMMI9
%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o history.ps history.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2009.01.06:1158
+%DVIPSSource: TeX output 2009.10.12:1034
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -75,29 +75,29 @@ forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
end
%%EndProcSet
-%%BeginFont: CMTI9
-%!PS-AdobeFont-1.1: CMTI9 1.0
-%%CreationDate: 1991 Aug 18 21:08:07
+%%BeginFont: CMMI9
+%!PS-AdobeFont-1.1: CMMI9 1.100
+%%CreationDate: 1996 Jul 23 07:53:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.0) readonly def
+/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTI9) readonly def
+/FullName (CMMI9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMTI9 def
+/FontName /CMMI9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 46 /period put
+dup 58 /period put
readonly def
-/FontBBox{-35 -250 1148 750}readonly def
+/FontBBox{-29 -250 1075 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -106,31 +106,31 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E3948FFB3DF7BFF10C9BDA4EFE5F68A8CB1526990D1357AE6D2F7C2D2EF8496
-4E47B39E6712EB8908A3265E5FAB40567E866C244814449F1E993AAB422C3F1D
-DFA8C7118584F2E5197FD4BFA3A8AE9E953C6CD4672C0FF51E41C3A919749C1A
-F06650DF4C5E17492164BDBCDF22609A74BFA7F69960A64B9F949FFC2A807458
-8579366C4F41BDE1FDFBCC4845FA19BBB6963D65EE8532549274BAEBDFF24FA6
-03235D1BE37C06B1938AF369DA75BF38DDBC87A1FF445EAA16E1895ABE9506B9
-211955753E447865D33CEF007391D2666A046277A30A49804FFCED3FEA5EB2C3
-E52EE14A9F75241EA10C91974CDA6236EB840FD44D6DDE4D9B3266C3B99BD38B
-D835BCA8CB819C073480FB972CC028D218F6A1D344CE1B63F4FBF2C826F412E1
-6E0B05A26125865A14FD7B7030B478BB8BC6BC395335C3BA940E1C348267F4F9
-0AF97BBEE253511940F1048E175D3569F7D05A28851B6F50765FEB6C9654FEDC
-1BF52F535DB5BB90C1BD5D2EBF75E0AEBE82B20507F3C28A03746781018D4EB2
-298E4F2C27ACF73FA73EBE43F014BB575AAD516C0407B29E1653375135ECB74D
-C91372F06FA8EF37C31AF3FA48AE65318EAA6C34830A5377ABB2DFA5DA53A574
-433484BA1466709A4B186761655C8E482833B697673E847C691079E7F1DCB8D6
-1AD91101D757B83E2090337D525AEECB028FB3C9F6A6E6AD2F322CFDC5A833E6
-1CE4EDBF41FD34FD61630581D222F854A76C2EA9FD72796A7C9CC1F6C2FCCD16
-E95CA05826A4ECFADA6A5FB83C41A7131E52BA6585DD6DD78515D8F7327DFC6F
-9404F89293D6ACB433CD0802C43F0E74C6C4766A23A6AE3788FE6CAE82E1A104
-BAEC8BEFDEFE4F292F625E60362F3886F602CE4121BF0AAD93526314BCBB5971
-40091A7BBF7EFB3BA355B88C897D9C70C841DE41309348751EDFFA8675215988
-49CB1599834A01EC6CD4FD813AFF97A614F56975775D5F48E9C1A9CE532FAEB1
-4EBE20C3FA87CFE03664C428BFC5C894668E507950005BD8C2BCA8998C1FB92C
-4E6B791BA05B79F332EB8AF5B0F851B8B7EE372EC0861B09C007CDF43F82D0B7
-35446F682A0DA7F4112CDABE4F922EACFCB7B8C88BF550B60957E7
+9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935
+86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505
+DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD
+67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF
+6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554
+FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7
+22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD
+730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F
+449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7
+97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A
+E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C
+AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA
+A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599
+B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B
+9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E
+759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
+5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
+BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
+3435E9C9445A59A7C666418C4F2512C32058B1CE1EA46C7839C6E372F6CC60AE
+2CF46DD2F130B532DE8ECD42D9204500E413799E298CF6426F28D23BB7216BEA
+1A618B3ECC61B44DDEF0BB22D640B47C09AC0DF378CE68FC9CD88BDAE9ED89CB
+431A5CF9C3E9528FEE7A9936C2B1CF7B38DD2B95773F0EA0051607BE1B0B3588
+A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433
+30AE3C094654ABF4698C07F8C74E71D023DFD242EE83B1306786124DD8C6BFA7
+801E66CB944BE7EBCB3FE803EC97067AF7AFC8A4E9AC9D11
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -161,7 +161,6 @@ end readonly def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 48 /zero put
dup 49 /one put
dup 53 /five put
dup 54 /six put
@@ -214,145 +213,140 @@ C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F
D4004E6BEF379066FD72209DC88D2E634E79BCC2B98C766CBD92C561F2703F8A
109E6C6CEC7B866F2FC7ADF646BF492E520319F3B949AB5D84AE990B33344A40
3971F58DFDF8D8D67FA0B8F2A0D884F8C09A5A721319B911DBA0A35903877343
-C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7CCC4CCDA3DB
-87C1A5B75AE600D62C0A898BDB51F07F0F6D93A2BC46BEFAE46BF8598C79A63A
-9E81FF70610D6475064540823E0EFDC46FEDC7FFFE45B6784BB5278597CEA191
-F1DE094B0E37F80268E08569CBA071DAD81F79632DA8F5FBB877AE1FD3C8D67C
-3CD7D55F0C49868A86100C79454ABBBED0082F1EFE8511F8124EFA6BB573FD72
-19370D088F0A084913318D2E4FC90C86AD60E79C43881E67FB08C88EF1396703
-B6852B6A9C11FF7ADFDDF44941515CCF9506EFD8C2D033F0A5F962D5A47C58A7
-9860C1A7F67412D17234C07AC4D7AA8458D6F3EFE9BBEDD02F6620A440E531F6
-99EE43D44EB74270129335A763C343EF7329A295E7425C4019EC245118CE9E50
-8B0875B67CC18FC2EDD2A422BF4D187DEFC3DCD75C92709518E095B47C99F4CC
-5D9137A6E488890D2ABF53D3607A91675222E5A9AECC9152F57D3ADA29D73E35
-2D5CBF7766364CF999383E7ACE99CC232A0AC15A595B617E31EECD928B961FD7
-1D2C1B41C64E4E8A145EDA51ADD90642433F3156096F4A0D4B9A0A013EEA070A
-4CE6B71C36F2555C0B747513E5A9F0BFEE14A2045E96F95DA6BF89DFBA2E9BE7
-91409673C4852D9CA130B0E0B9A6284B64ED0FB959F83A84ACF51CB40E6ECE73
-B2A4CCF1F7025CE644123658C6B3F078D939CF5AD1AF6F2EAAACE99EB051B64A
-037030E768EEF3686ADD54E15C26E882E17A20B291469D8CD6FF91BE90917633
-EEA50073970F369675EE37C9EA4D1D9A75555F7C49B91636AC88C70A9BCAEB13
-CC43FB82DBE24691F281FF3AA2EE34ADE33238759501C0F57FA124C7833531DB
-C8A0201BCBE8CE3BEE6572BC4C37DED0454392D64F5105D40367F8D821439C0B
-30646F5030FE98CA5AD2015C67528D265292353768B3057CFB8FE83F678797FB
-CCED14B726A47651D16946F1C38326CB6993881DCC6FF56FB2185B49C78B2D25
-A0B2A4BE6F6105DA36FC49E5989AB22326B2505AB9514A8647F153916BDD68E0
-633711FAB9AE487DF72668C04042A3780D110B02C83DB264DC770002FF119375
-553B31A031FE91C054AA2372085CDDF7CCC7EB2BD87B410AF91D8AAFBD99028F
-A2D4E916CD80F33F35817F2ED53961F644CE1023567F1E429F59FEAED9941C24
-711903D8BADE5F444B3F069E7898788707E00A13907A24AB71ACD5A1B3DFDDD5
-9ED17457D6A565DAC7EC6850BCCBC842DDE8B7DC3D5BD926225A615CC448F3A3
-C243AEA872A479EF18311982D13FE971261C6C333A5C1565BB30043FBAB982BB
-99BA9B91C65322623B16B0EFDF9B5B5EAE2497115C5B78097BD691AAD3B9D593
-77B4CE01293FE11DA2A86B9DD8328691466C6C5B4E1BFA2F22BA9870B76A4331
-02334D782146515507135937718C0E3C6B69CF81163625320D8A5E856654E171
-F64E343208CED09EB7F6C8F6D3E69306CEB61DF030DC42FC7747B1F5083A1913
-09AF1D44271A058E35B2D4E043B7F82FEDAB74DA86AF24D6D5A782108DB3E8FA
-3AA73438A6AED19B39A2288C35BBDC84A70029FD433CEDC6C6D54CAEB9203FEC
-1F56446C0B4CA204722736F385B5D25E04434B4251324C253915C137799A774E
-CB1EF02D88C0CC515670D397624CFB38307450CF5271749A366FCBFC4EE60A52
-7CF08A7CBE79A799A3635405DE7F8302843E6A174A237DA07E71B51E92DDDB47
-9DF6959AAD253267BE23309C2A99F2E2BEEF4CA627F3057FAABED1338A800649
-3C1058A672F92C26E319E41D16738F5EF90807D9790D3CAB23339C7D2E5CF6D6
-BBE09EA916DF9C0BF4298FE77D157E1A18F3FFCF8D36EB7F7B4436E92C3D2097
-734B2876DAB808B67D921BBA395B606473BBBC11496CA3A1D8D2CC2B7CA7F027
-01A0FD310EF524833ADEFA42DC64EAE8F82275C7E9E823DFF08347BB63EC8832
-21AF8631977CBC0A554204403C0BAF62E5817A47544911D9888C425E5BE1B519
-98B30525DBD20FB66C11C6CB2705A16CCC9A24DAD9A8622FE85335D9B558FC69
-C8E4D2479997D5DC1DB807A0A93F69770AA63C2C935300D27BBECF65FBF5906F
-F95AA6B3AE7C9B9BEF07680F00B7CC38D9C75BB563EA2ED6527FB996043413D8
-60C7BC1AF838A46EAEE1A5764DD985145277DD1E6E7E444360B872648F68AD33
-81A5066996F859DBD4FD3C21BE835D8A18F9BAB44EA2477C13E94F1343EEBE8D
-C4D9A09008FF4B3B774AAB0FD3C765C202C4E4721E5A1436E95A752EEC00036C
-B282BB082549819EFBD1F3217ACC6FC001F392829D47A154BB8DD386FE5555E5
-ECD2A03DECEA31FDF048E3EBCEA0AD82B9205DEC17B4797EC5F08094E01BE4C3
-FDB8315618F6ECD082247197F5C9B866B12CBD02D34DC754E27508C17B52A483
-343AE969F950AA869FD55CF5682ADD13BA3D5F49527F8A380F9E46E096C641BA
-9F0860EE933700515BD8C96F125F40D0327B74371C3706E6B8539E3276B13DD0
-C3916693287FDFA5B13EA991CF92B013DD083DE98822BC86E06654B978CDA18E
-37898F78F53C158907677E0603C0AB351D9EEB41FE4B144216D22DD573687D55
-E53DB9C7AD65647DA7D9135168115CACC484A3C6A1A2556CE7080C4C087C05E5
-2F29279AC8BC412A73E59565CE9DD256A1BC3DB11732B489E5E8A5D9AE0F5346
-2A41496F1FA45F3D3C72FF3C25CA249D489F69D38C508FD57C339827077155E2
-75B9C655175B7BC8E6B76255D5F68DC63CB268F6DA3FCF231EC114541289B27F
-32E1BD63478B03E3F013FBD788D708ED390916BC0FE2BE2A115403E0CFA866AA
-56566136DC5F7C6B67425D78B7393039B8FE8CD5127FABF45E11CF4F48091C6E
-C042AD6EE4CEC1792752A4927B970CE2FFF0A5F8C89BE021A48A682834BF07C9
-E6B3BE5E2CFB82EA40980A40DB456801A88B3418C28B6CAAC6ECFF6B36013BCE
-E1CF01CAB43345BE5DD94F1D0050759D5BD6BB92735664564AB806B4B9935952
-EDB79C48BB2CDD8CAACBEAF56D6464F5EA46CAFDB712C2DB2146CAEAC5B44E00
-8D082AE594D3CD3492CDCD5BE3683556255C4458EA4647E0BF113F7556B6051B
-69DAB2FFA3BE99391425383B0024161129AB7BD60ED77A0BDFCE2FDDD0EF9736
-780EEF23DD03E3E6303028B3CCBB0466ACC850B358A2AC971B805A784DA87438
-9DD918DB5ABB8CFD50B2206616A9E1EE2EBC915393D0CA7C849210476E309A2D
-A845E3A0EC0661D3BB032CF0B81174D5A5436F08BE35AEB29F5A1036D018E794
-DF3FB39D74889A2F3E5F62B97593EB9507CFABE6FF5E937219F78D9140211FF3
-855AD3CB524A99C79B348E777A408B0DB7765BE8BCC91C8D6586804974AABEBE
-46B7553C63B9DF74D62296809A3F148795CDA63F8B4524A7B281381278C855B5
-1789A234E599AA279FB03F4E6473F8AE8F3AF9B93A9D97969D71F5B55C80E721
-B9A62319E8D1EEC8ED61A73934A58A78EBBB05481AD3FE80FF4EE7AB9A55F783
-BB4971F24C7C5A1519159A96532DB1F0CD6C23F1CAC00828DC35C44149449B2A
-67A63C09DADBC95ADB6BBA40CEC5A1079A87DBEC228A6D4F6C637EE6ABBFF6ED
-7F51BCDE65EBA17BD31A09F64289F682CA8B907EC868520D4E89196298627C4F
-5B287FEC9C4D6A5ACB67EEA5A1853DE306B948A20AF2DE5E74EF1FDE518D4CD2
-53313797F4D9A51964189E2022B982629C8D46EEB930BE0B87FA5DE6A890CCF4
-E23ADAD39ADD6CED41FC86996DFCF854C2254EA9C6CCED87659362B242B9946E
-2F94372230C01450AA5EE12C1DBE6A12B2DBEED8E53245EEAFF7C1F08E04DC8F
-D071294CE06562F110A6D9C92DF3634C13C8A127049928B0718646A044AB05DC
-B6AA86AF8D69B4793B1169290D5AE20922D2BD8265D3D1D1B3D82E5F6D7CEE0A
-90909957D07785E0C72DF3BA0D538B21185C525825E1167F1A558641FACAD9FF
-0B99312C9ABD13B0288C7DBF172CA8ABC12363A8A1CB8B23CA88429726354FCE
-3CC534DC2FBC1DFF61696A120E0D5E0E573572BC57FB8A963595F5090DD90BE6
-666397686C9B9A36FD1A52320E0C6055AA8000F932F32C52344EA2177AC0B338
-A345570870DCC25E379A2CAAFE29B51E7E439E8F159B4D0CB1764F27C3240FAA
-3C00B9DF54184E0562E55FA4E2087DA06478D596867527DF82E3E563051EFD5E
-9238101EA960AEEE6F20AD37F87DFAEA991A7CBA7BB99ED36922F2B5E3176D14
-0E4D43DFB6A2CB33EC93FE258589767C5A90CE2A88847F1D62014EC66801B77B
-27339399BD2712796517811034433E64E413B1ADEFA439E1888B71CDD525961D
-98243B0A7699A2EB8B2A63537124573BAACCE2657029188BC9E53A421FA12F77
-FB7E4A5B56E771C4635F3B5DFCA24FA5E37FAE1CB56BA9E4FC64C692C1A19A01
-16DEA538C2A108B9273C11C92E040DA7DB4FA2A178A02B5EB6D2B5235B0D4192
-FBFF34CB85917F6CE9150094F09F16704BF3DC568329A5052015790B9446DCAF
-795FC7D14325767795CA08D45D13C2457611B6D7CF19EB95574C01810B34945E
-BED317ECCF5EA7C246932E624141C7BF82E120C4E5D166B01CED875FB0E2E928
-705EB682685E46CB29389ABF13261925AC42887AFC502B1B7409806FC7B16938
-CCC95B8FD877DAAE964B59A4D9D02C5E0663BA97C8C34A43B500D7A7A77C4157
-214B83E95624DFEDFEB73210453FEC4357EFFF197A92715DED8949D8132A4216
-D7C9D00012722F16486EC085DA28248DF6178E08405CF7FCE14EE897EFB651A9
-28F086E47968A6F4C9E864789B0514506ADFA9C2D306C71CB7665B36C8092D3E
-8BD11A342EFCC8E7118193CBD70B081CCB2BC1E9B5BDF548815E88D1CAA8B36A
-71AB03DC664F20B7CCE5FE2DA9466BDFDAAE0ADCAAB605C31B026BF535A63C0E
-25A75403B1FBFA0A4B82EF6F096E4AF099EBCEC571B2D4B490F8BFE226BE3C4B
-AFBF7618D9EDECAF51FAE09DBDE7C09277E11F402B2479764D41FB44A4E59F08
-1FB449ACD2040469DE20B372BB81A60C4D2AD58448D3E9F49F821DEE1CA97A6D
-85CF7DE566605D304A1946DCBAE10C64582A20ACC18EC3F5125C4D16781A4477
-7D994225DD14ADBA9F0907D14A79CD8352EEEA6F189070B126262E9B81911496
-3E1914238ACF23979BBF64F7C18782579E4564AF666D680F274923EBE0FBBF15
-693CCC811A92F2F136A52054D6321D05851769AB03E9EBE166C949E891C3BF42
-99644DB5960C939E748ED9C38CA1904E26E067F18C776A0CC771654DD5AC315E
-B7775F8594C454AFAC184A1E013CA7E69B632CD1B1589C5D0389A58249A2EEAA
-A0A355AAFF96FEA54995B0D0D08F8A78DC5D54E93BB11B7B4609F048E735BE85
-594A0EE34DC67C32A3F87747C277992CC03996738A31C4979F6E8533194ED1E8
-30002CE3220A64F4A6CCB294A1455DFCA3C9F8E26E6D38802AB8ED518A126F26
-8F24B734006327BC8EFE5D32784AF3BBF16C9313CE0A0B0835F7DD05CF2A3BBE
-F5B93717F37691E51E9A2A8A6F89A99594E1EA878F1B6062CAEAF00A940C09B8
-6D59E895C7D3049E89E87BC9A7033AA4C6D36012524A33BF1FBC5FFD7176A4F7
-82080E993C9A5BA67303C860BB03A5914B053B5EED40AF2CB17E51D24DE03410
-7C59AC96C29DAEA21034D4B8EBC4BBD30424BB1FEA76ED4ADDA02AA06B08E485
-A90657792701094DF5A885D7188323CCD09AEC868D24C83C7542B47BE8CD595C
-FA97AE5AAA974C0D0E19A71EB6DEAA069442596CDA09E7D635DBEDB89E459C56
-E7DF99D682C6F436814CF29F402D6F2FBCD9241E9E0F0D8653B9170101E6FE33
-C7CFD360566D8A3EF96C3BC718672846E390BDE91F4ADE78E3E2140FBD0EF103
-5645E7A0E6719AA7576500AAEF91A2C56D778CEC1D0ED35B2F41615A34BA8B9D
-69CB4FF53A1A66FB03C9EA2435C0918AB9DA8900873F9E95322580718E5883CE
-7F73A183763654002D24CC952607030F6A3A585D549D955C0CB4080E91326890
-BC993EE9FA71930C2147E49D092BC0AABB0B158A7F0C6488B0155D646A0ABB81
-479559713AF3C585B8BD46C4374173FEF929033AD07AEF7035F78EE7028206FD
-7BF7CAFF2F6FE731B25C4EB5A8AC0CA4D0E6AC48689892D321930F1B78FB92A8
-CC8E8BEE3EB539727A25E000991D41D2C4A3D650C757AE587AFE1652B9F31E8E
-183DBEF3E095A392DE2512074EB8C8923CAFCCF4F8C2F957367BA666032C785F
-2C8329E0A6E1AD4E2D566E31523FC4DFD8FA69897A9902C198F47DA9B765E7A6
-2D2D896BC2DAA8572F2AEBC3E020A779D4917EE7D9
+C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7CCFF73F4DA0
+79C95BA59FE28B4C215985B32DD3AF0843AA8D257E97A12C37A7E5F07FA3B46B
+76D85FB41CD90FFCADEC92F5D8AB1109D99E4251F4D0DC2693AF1404DF49B308
+49D7516DC2391D5FFDF9B75C589BD3C4DAFF2DC0F2D809EF9A864E1D8AF48514
+48C90D75A4168D99D07A6BAE0A6E46D0B2681C0A634A2A11FE8CB3E9645E42B7
+CEC0F081EF5EC0275B5A363ADD57B1DF5CC39EE580C9000FD3E84A8659A49F58
+FE78EFBF8A587984581BF7FBD76B2FA7E0E345D939FAAF781E8E463A761E2B8A
+923ECD676EDCB340CEA6F6BC95CDFA5591CD4162E62E18BF99D95D82965CE96F
+01C4FCAE8D710D0C822DC1FB7CEBE6D5A6571CF5E1E4E09AD669AE9B5C541AD4
+BDBD4521F87CCB6594BC9651164B9A8936BB472E2D0FFDA1321DA3705BF338D8
+754EB9BA0E027AEC143ED0DF0AB63723C8782C7F6934454F66616B0AB11DC672
+CE8DD3B7BD53E293E684111FB679A8DB9B7F5BE0DE2D885AD61E5F5E6A531A2A
+59B88E09B24B382E0B82CB1ED14C4CBDC42740242D4BB659089119E173C18D06
+E4899FA22620159BE2F93957CC35200EE2DBECB50C2DB46865DB2DA806AE9526
+C95993E81BC219108C9E60C391C09A2204B5ED2FF07738B595778FDAD688C239
+E5D88498FFFA562F84B4EB2A438A5E6E53B8AE37B8DE3645AD5177A951F3F482
+C1DEBC090071106307630FBC73042C45EF0F0207731EB7353A7CC574927DA574
+9288D70E163B7E1B6BA00F00A646223F7F65BCC37549289259D8C6ACEDF9E13D
+8F48262F4F2819D01074196106CF0C546FB97805917EA2CE1366A960CA1C2D75
+8040F3680B0964A51762FE7298A9448E48B966331FFA31287D03EFD57C4817EB
+48045F3FD8CF3CEC740ACA4374D0BDC29924D0101BD332B356724F96FD16C13B
+6FE70C2419A5464E2768DD68B74E4D5621466E75F481CCBB9F83DAD4BDE54AE6
+91139AFBF6B0218F6697E47679BDE65BE25E8ECC20458CE11DC7899599363280
+041D8B49C2B043D793F9FDC915435459BE783A939AA081BB60FFB3B0AD4C65DF
+427A7D92DBE1096F8AD111C7F06816EA2B3688C61AE0F27BE9AAFD036FCAA6EF
+D5EE4C5E611ABBAB378EE8FACC3C23CDF16020982BF22993240DF28CBBB3CCD6
+64505D48B9716873A8CA7610A7DDC2B5BEB9C859B49C14575B37189A0721BD17
+F36B1C88B495F55C19A581895FF86D04D76978DADB486ADE888480F3975FC604
+DC69CE386B57CC759B5755C527EB2BB56BC4CC3AC8256DC6666EF865096E349F
+9E3BA0A9B30F09295C36FBEFF2211D917125551626617C456ADE8C3C46087D66
+A119C924376A77E5B10D777FE4DD91EDA4411244E0733A0D6DEAEA2545E291A5
+E3F92C307A9C04ED7228D468FC1649D969E90CFC3FA0EC2C88E399EA78BC65CB
+3218D1DF850F8A005242543C6F983FF6DB070A841F63820A78E7971683D63225
+ED7DCBEA8130B104E25A3BB4E0F457E2A8A093539A029152EE906560A86C3219
+89D6E9A963322841F713973D0B19E9439AEC3935DA60B5BDE44139B95FECD321
+2CCD7C9473CA7490EC44D30DED292F8F759EA500AADE2334D188E6ECEFF4491D
+9227153BC250BA7D9EB7C0411723B1EE76A9D86DF8530A9277D9D086B7C4ECD9
+861D1A9CD9AD967B312EED0896876184ADD6351AD7446E2D37A408C19CC687CC
+268589DF450E40B9BD1634C5102040796F7D22D137B6513AF9D6B34559A1B88A
+81B8F01D89EF4FF9271D19099D74327E44A9CFE0F281E4951FFDDA041346800A
+F5BFB4F7D42CF9F641F3DA3D1083579E798DDF968C53C1A72B573976A5560191
+7FE836812ED2AB13EC910BE239A36CDB8E478234E4B1C39AEABB5C1F8887C271
+1AA961C65B513E835D52268905C2BB3BB5F570C91DEB1D35A3B4CC633E28B1CB
+33F72D80E60FCC08BE630592C6B0A12785CC3E3FCD71B8BC680899B19D4D707C
+46B7D0BC251A150C06F2ACAF15FBA0A4024BA2C8BFA0EAB2CF7C1DC9CF33E63B
+738CFCB2B2BF14C37CA935CAA4707E6BC6C39B598019773857813EFA1AAEB74D
+C40F0329414136910D9B6E3E02C5DFAF6690FDFA55ADDFF5BC7C1917D8996533
+538DC0B629CEA825B08E8D1882ECB52BE3299BE56328A142389F7208947CA6AC
+CCF49F921B53906F58F2E9AB253D500EC125DD62D5E1BCAAE973B429E151B119
+29A6A61071C6AC1F6D61CE434DBD7F205B4496E744E1DF205183F7EB546516FA
+A0A8054D72FF4A7A579134ACDC1DD61E8D28065AC34FBE04CD8366884FFCD595
+13D5C429E0C68098CE3D0E5B9533B5D166894D9958C1B9D384257A30316F925A
+40229CC8665CECB8440118700CA8C98091B6C2B117027E7CBF069C31292D4C6A
+A7C311C4D52FF847B25739633FE51C724DFAC6F26ACBD3588AB6FC886A7D0530
+2ECD82855ED3FBA5CBCC797051EA514F45CC8F9593ADD302E3BA79C8E46FD22B
+37A2F21F07D35CB9DD8529E5018AFCF3AB1765F170D02E03F79B75882906CA02
+A75DED91B4670926FE6FEA4DEDF80BE3849D3D615917BE4742E594A3496C2446
+F76BA5AF5714D9A091111AE1F6628DB7A952E44254EFBCBDEAB492C902DB272A
+1C1E8FA0807874100B03C404F158C9916C9D4ACA59F7BB0A5299C73795CADFC6
+7CF2E2BEDC4BCD537BD0E1E624CAB0811DB45DB36F8C0FA0772AC33994ADBC72
+63C4E6A12439C9F43B71191A767579E1FD06382C1DC06A7C69A8858AB47E04D2
+9EC7D01A045CE7A04A39AEC3806B731D7DB53CB8469630604CC0D198753CAA49
+E1B55F06650945E03909EB79F1E2232077B9F1BBC8860553C47726EED45CD944
+966814E30C9CAE2AE1F1BC6018DA252D4C1E0F6D54929165F39858448258A628
+E278A01300312F43762795CA0D5E5AD3F3AE19883D9065BEEBAA6D8F7CDC4AE4
+4C8D39277111749AB7E2A568620EBD7DCB76836F244D9720C4EB0B9100DD7B0A
+6AC2B75AE80E6406102EF019B5B28CA14D853A8D9957129C4BF0EF3EFBA7EB0C
+9317B11BB69CB98671518A3847981A027245914B7C0238E9A4E3A5169EE63C6B
+B6645144DE0B73A8A4BC6F9CD21BF9FB6CAFE2CC742E733952EF4E725524B7EE
+9AA2CF272C835CB79C5E403CEF9D74FF0C7436EBAB6209BD13BC7A9BDFA02ED1
+A233E6646837D9C4C1CCE1D813094C2A88B3B57AC7EDF1EC376696A52AE96FB2
+ADAA12270964E5A5E8C32470166BED504F477A8E37F72826B5D5AD1E17F5D140
+421EFAEAA061618E347B35AA46C1E915F8AB517AE828B2349B99DBECE6B8302F
+CCEE90FE666B6CA4712C50B1CCF582EBC5432D26C5E560835508CD13B0F43760
+85A50F0733C35C7CFE1B952DBEAEBD6A6EA43F6AAC2E75F9D03A61F774375F43
+3041544C07FF105E1DE4D50D9C46FC90BBB20A7486807F6E5B115B33FF3E5492
+8729F0D1C8FCF5DAA180E59112061EE6ECFB6C0748B01DF68BD6F76D4AB5195F
+BD58A37A3EEADF9E05F81BE571F731977ED04D4D4DB7B51DD10FE351D02C5090
+3B0B41E0C3BFF3230014FAA0FB1402A8EC6106E78DBFD410A979AA5211AFF01E
+E446615E2BA8FAB7BE9C7224F5F6C678AD509DF20BD0AD887E8804F806439A7A
+12E9A4EC2044C329410900A869CD878B84E92D0EE8EED95166C4233F5AA3AAD5
+07C42C19FC4790178E4C2DA81CEB2382055828789CD471D79DEA1EE6D11BB7AA
+F8035405CA79C679A202D800DAD046092A5B1AF6472B94B62873EB6C0EC8683A
+159BEB9FB3F57EE16C1738DBD684F5EC321B24AEBD8259754B01E6DB7868674C
+7A9B25FCC54F45D825AC044561783544B8ADC7D6DED3B41A843416CF55B3F8DC
+9285E181671642CAAD8769A4C916282B227940C1C29DCC3E02D051ABFA3B3CED
+6BD69676873A346C43A9611435E2AD636BB12187F72644F8FAF40F65ED2B2751
+78BF371854AAC8BFE285D68435D5DBF1A34161E2347CB3CC1503C3A2214213D1
+21FE71AFB26AF7DACB02541D900D4D6B0153524D2A17C917EF83791C6AB3248D
+10A837A4CEC4F158F2C40BCCEBB9E7175485C889B90461E4147F1C5EE68B85F0
+19D0E7263C5498C72703A9720F25D38EC8893D24D5BD3088D63A10815D43DC9C
+0D4F6C4AE46F9DBB75D087CFE6A521182669099A11216DCCBFFE770CD2579C3D
+BD41B35E5F8205034D8F2120BEA9FB72C6715B1FC6A8318AE58A07B3D6C85F7F
+A15B4E55AEF566827DF641DB7FAC8A2782F2132FF7EB976970BF6ED4D494B85B
+B9B8DFA4FFCDC6F3756A13DF7E596D80997F1C88D8E3F0F95F8356F7B490282A
+A07F4CE85331FCDDEAB7C60F6FA62FAF354EB86B82BEE3654BC45B111D57D6FE
+A6F3F2C203CE6190BBB92A365DC217F5701B7481923788607272A7D05AE622BF
+D523A58EA6BB16344978158697F94DCECA6AEC487351227E46598F07551D384B
+F08136A37ADC06747F61A35DD3EA337DAC79A183075B889E2FEB2E4B410C229D
+803BDAD9894B94F65735E67BC07652B7D9ACC7A11A7C8A55318DF65775B5168B
+5875C955D9FB09E01A13D66D8BD05C588A85A2B18B29CAD6681EA6F4B5B36A49
+BD8C65E8CAD928E3AD315E1B3E0AE8CE319FC0FE7D9C0F66335F69BA4C257FCD
+490F8BC096E21AFCD49C02624B3E7373BE0D3AC204B97DF6C4F73AD3C1E937B3
+95A4EC7DCC051BDD976586546B2827FDBFE123F104491536D816185CE115ED94
+402614E5293D0EC1B6CEE1B955260A18B96F6D5D825FB029E1A5CFEB5476EB50
+EFF2341C9737C5FAB195E37136E2957831CD8F67499AEC281FA14260B3D3EBC1
+64918B9C5D104267FE176609AC63D067CB70749348C2877A2E88ABE087B4F0B3
+B462F4970D0903A3D4821EDE9C9B05026FEC969A03E816D6DFE60C1234A65F73
+8A9F0BFA7DD6A9F971BAF5256187D052401D76462CDE3C3A17EB3A4ADAC404DE
+93D475CE0F1ACA1E328A104AC443618C43971E39F9BF2C93F86D6B45220AA4FC
+1E4DE67F8D376C595E5F4B1492ADFCFDA4C55AA2396D1F7F7E6403F25536F1BA
+6EB8937426C0B79B67EE7F46660581262B6029EAA0375A6A900406DC10E3B990
+165C68DAC5EC15DDC7CABA62D5446F154F89BD6E02AA9754F229CBF95638A25E
+1592A49481D4F106571576827E44B1B3C8DA2B2DBE187F2E9B3BAB2E039235A7
+45AD875F1B31344D4C8B7F19F1EA136B295345D36B106FBF61373DE31D72D99A
+9F5E6EBDBC5FE6187E5B6034442B70059CE2BCBA450584D536208BB7983A2C52
+66864CDCAAC8002B324427DA2AA3CB36A90E067A248FCFE4B6785E49F4DDD41D
+F46D7AE9EAD03D90992CCCFF0E66102AB6B94D9CC62217B8B34BD122B90E5CB7
+07A162C3587EC865ABE9492797DE9D8DDF0DAC66A483085F655F4A4FD69881FC
+2E8A423274F13AAF3BF3F49BA1C9F024FD2345FFDD38D6EC84AEC0703CA69DD1
+1C97FF1EA61A666F71C26DDD2264E41EC93CC78EEFFA4E480D2D2F8CD9CA8D59
+981F74F72D32CB11DCB6B4DBDC078E217F9CF855E76E3659AF9D67D324C1E1EC
+50E3C01BA9E7BF9903DD9FBEDA1EC697552DA8F6E896E0ED71A6567AB628116A
+B7E655313314A41B8B8652183C25339C20CCDD74EAE7F27EA7C9E9FADA0F70F4
+020C01ED0E8B6A21CB8ABED9F2D48444C3310D60BE710AD201A54C3CE00887C4
+7614A7B580A592F7E301E4696A5EA91D81F6FDED33701B0456F3821A0B8504FB
+ACD91717FD661469F8325368F9DEEC474971B374190FD0865448D9B611816F05
+382140C6A07A56DEE5ACD88851E21B6281C7FDC21ECBBFC2A2B4C60AC16A1DF2
+C68BC43F81027085079178C2ADE5C84B036390C99E612F9E8F49BD0ABE1D5977
+46BD62652E29FA9E515601B81C7DA9245F102B7D939F91436803976AF3C787C0
+3DBCC9EF6EE197A13D136BFDA523A2194D8F60EAA75247FB44C575DB6202C466
+BF04D9153E4A7B742DD2FC75C1E7FAF9715EA53A2540B800D7305848EAC5B0A3
+AD838B481254E0D65A6F6602218C0CC6ADCAF7FA534EFDA315882376950390C1
+BC208247E5B7912729
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -545,6 +539,593 @@ F34AD1D64B9797DF1416046326290DCEDF3EA07175381A8C1D268B5A6E7C7C86
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 34 /quotedblright put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 96 /quoteleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+dup 124 /emdash put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
+0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
+B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
+AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
+97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
+FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
+20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
+0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
+F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
+3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
+A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
+5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA1566B96E221864A
+45A24ADAEC63F61C9FD18376D3984449A1F998C318A8FE36D0D5020E18A49625
+0F3BB603BA1F3E66FF412F6A32433FF8BD2968D79CE4273AD0E0CDDA5153C2BF
+F8A46A2244F9394A49D339F763F5A7411A3C29336B21CCB01723705AF589B078
+3763035411FE36AB5D744E81379106890688CB5BC41184548B7FEBA08DE7288E
+E6570FEA20C51FACE8E8F824BB61A4A038AB817C47B87391611B77928B2565A9
+3B27A573C05D36ED01D8F27CB2C793370FA9B90021B5696280A55F2CB6117B64
+293EAE0EA5A243F56FD007773CA35DF71B3D28643C25210CCE25F37A5095D6E5
+9CAFD99DD1DB0D7EAD454C13464DF6FF5DD42339797AE5AE467084550FC00139
+6EE818C6365007B2FD6E26285B832CFE6EA7E99665A224C9813C036CED262639
+3FB39C1F05FF8F31D2DEF37BB9B883334F51EA1243332FE1E3FC91864C8AEA79
+16A726F924AFD84F2F4215FB795FC41DCFFC835C90B9E31D291E47AA4BB8C05C
+620F69DF31E91A0FBA8E217CDBFAD7C4D480EBC1EB396029CDE615C227A367AD
+72834BA95539D39A38EA0CA3CF7F1123F70792CF315BAAA38BBCB6DFA80B4493
+5025F33C3696DAD6A0ADF584C71BCB1D29E523EA4B81FFCE15F3204022BBBEA0
+A9483EE8EAC07D581162672A0D66199174821ABD097561A263C0C0F24066FBE6
+0951F31FBBF2675141F3FB4457CC2A94A40191EA0AB2A606CF540BBB8887B6DE
+715EDB1041EBB9D05D0F4A4672F534397B9529EF8743BE88BBA10C81E0A46259
+2F2AA7B638E20C9C8A3A827977AB58ABF7525BE15DB66CE8E9B81457552073B5
+85DF3FA70B5231C447C5724E14730B90FA35ED1B5723036F1658CA8E19EF5A6D
+D333B78E91E4D7032EFBFD40A5A2269B0DFD9F7C3438DB58F94B507EB93032F9
+99E5F15D9F5D8CB031BBBFBCA8A15A617ACEDDE70DD9C2D9EE21179FB17AD913
+B4BF577A9046994689D1BC6A6985FF5F5A67D699C2FD288FD9E5BCAD5453EEC5
+68287BD7B8872726C28CD288B4DED2246B843577173450B6E5760852CF2E1727
+01FDB0FFFBE12CA13ACF6434AEF4B59EFF3E0DB1E87D35075B1D55AC12633167
+5A83A39056C077EAE6F2F7D1DDED300BA43830B8034F0A6AEC562D3023270601
+6C594D0359DF6F230F7B80B54EBAE4880AF338956B813E3B8DB8BC778BE0F612
+7D84939C2878B43EAA45BF10E257F22C28C2C148FF48843D2B52626148E3CAA7
+4527B9F246C17BDE21C6E7EAB4906BB6D9E84906CD1832C4BD9E405AFFE33AA2
+AE086C25EA26BC23D68986639366B99C87359915EBB76D7162AA667ADE4954D0
+B1E18027FAC2468CB2FEA2568E23DBC201E9B6A1151FBF21129A088D89E3E728
+28B2785C1A8B2637F368A93EAB459F80506435BE23A85396969E2AC4E0D6E4B0
+8B12EACD150049EF8942C108B96843159D4408424394B33603F565D1622FCB78
+01C22EAC64FB487AEFC0387059055F8BDF207C956D138903896534AD1F42212E
+7902D54D0F0D8083B419A459D865F7E7A6A6F8B94FA8AA31417C4FE6440BA98D
+1271ED7F25465E994E2D15B4326CF09A6D30ED6BD05D0B66F39DD8F864843B1F
+8031DF58C9B37C10FB633BFB58B7940B52AB6948C4412D59266A2518B5E1260A
+0EE0FBB176C4076680BEDAA7EDEFEB0995DD9A2CCF3EBF3305A20279366B73C5
+F3DE7527AF736D8D267CB71735935FDF78F765DEA560F7F97140BDE20E9CA866
+4242175E7962A14800C37EF65E856C81918C20C040FFBE7DDC373CDF456143B7
+F3AA5026F9B8286B876259E9532754866C649F4F3383C73878CC054CEBCF2605
+75CC0EB62627085F4DBBCE6B6206F867731F47907BA6B5D37CED7D58049CDA25
+7D47AEB352637FC627C28B09BA0B7778DCDB51A25D6088D7989D18C0079D2290
+B01330175812393755C7227B9E64F952CB99310B2F822437AA2CE4334403C6CD
+7C9D007DDF21794D076A5D5263141367A768F8F53D8267251076D9E6E18F9470
+B02BCDAE33E59BDE73E7FF1BFCF40F956914B1A89E6C62FA4D7A084AFDA868A6
+55B77808BDE6448B9732B40B83BC63E8064AFBBFDD187FED36ED67E99CDD69A4
+23F603FEB3890FB19D9CE3600B79C019C5F4E25A63926A8F7BE1B44E53196D67
+F7A6A341F6D7D5E3A991B56A6D7A57A44D255B3CA95F5F6FF0472E6CA0F6F5A1
+D71629A598261C3B7A9BB72F2683F03304936ED01F8A774E74D24C25D5ED538C
+63A8C4756AC67CEFCBADE365E29340E780BFED81A59C98292DAD3A1068794A32
+D28D40BB7BA410274E8C8F804055D9457E4439F1255B8070DCB89C4A72043C71
+2B192CDBF53EE9FC81CFA1A4BFBC12271DE6F87E7059F06F38799F37D49C94EE
+58685D3F47C915A1CF37B2CB116909E52F537AF7CD386D62D01D30D6D079A5B5
+71BE47AD79CD0F40DE5F15977F11FDCCE33B952858D1478B59F687D7E96B9C5B
+D59357FF5927734B19D5B15D3930598F968493970B616D570D3E2A51FE743A82
+E20909091813726FC10599F23E8B5738A90E237CA417B10677A6C8BDCE468EC6
+BD234802C6E4AD49AD148E9CFD0009C97F421070C6CCEFF5076A32EB90F3F5E9
+627E13F658A31CDD3C4A75C66A0508C92785A6C0BCBE2D4C9C1E6B0F33358236
+3B0E68737B23F76B2A2CC1BE7B1B3DF1EEC55F145CD68116804F0238DBDA3B4D
+DE8AEACC8AA661B9028FE89F8BEDE8C339036F53073BD2C13EA5CE4F647654E9
+889DB4B8900D05D84DEA0E7A83532602514559BD083AF5DB829E15E62C7251B5
+B6D7F948C78FE7128AEDB6912BB9B0A398B65C4ABE7E3783684B0B6CBE479C0B
+229923F5C83C307FDD2D243DC71B40EE71964352EE965C33E56DD0867CE466A7
+68B0BFBB68D15B23E918D1D002DAFB4038BB93BC0FB2E7962A3CB6FF620CB3C0
+F850B119EED8A2B877F9E2D8E8F82D1A6BE16F768081086B95A3968175C57054
+70BFC6C9CE582D7EB11FD407C8835C2DB798E25E782488A9A5C229EF008CD707
+3E4B31F5666906DAC6AE081D46D4E61EEFDF2612C3F47817EBDDB61CBA9C1E1C
+A8C70E01BB07146903ED9E72B53BACEF7ED61CDA5812AD9FF1B44682A93F8D01
+08CE1363D775A7C815D4C14EDEAAF507089A503DE2EB81C75C46BC51A0059EB3
+14786BDB0AC405AA352FC5118FE3372398CF1D7264F981EA05DFCB911A2B85BD
+01D17DDCE329F8C570E35484B545B62DD347563942518452FAD1B0DAF30E1DD3
+C4C64C0429D90AF26A0F4CA809B81C29FC653F945B388CF77B2E066563541278
+A3C1348A5CA23836DEBCA15AB78D195C68BB5F7C178344E21FCB44CD6CE12B87
+5A2AFC88C60389A73AB1D13BD86B1A0DE96CD36F7857A871E8231E338AD91A05
+B905E43123473B39307A9492787ED0C693FCB8376AB19F27A9AA74AFD21DE5C4
+76B1119FC152A3197B6D075F8C4A82846898E25B5C5FB90D72CD1B4AD63F012E
+209F805111D3F79DC308C8D678312B3451A69E759DF4F8E8395ED7E7788EF079
+980B286549198BB0753F7172F4A091FE3DDB5C4CBBB6E2517D00B8999087A308
+16C42CC741FEB231C5CB6B7E8F3FE2E2DBE9455BEB14D354113696A54D615208
+E1A95CCF0E0E70314DAE4349DC26212B4147A53FC8A16970B6E37E48E0F9CA32
+2AB6E4598E4FDA267B6A9CB8266071BE3BA042C7D780FE61EF22116CF9642B36
+B4FDEE33D6E3CD64DA5DA1DCE187AABD948373D37B1985D0BB3FEB8CEB2F3A86
+AEA9E8CE67A15672414D3FD1B8B28ADCBBA5121DA3F1B5B7CDDE8E67E6E67866
+B1F02F644B9C88BFCE4624A9A424500BDA925BD7583B1367E2367E1BF8523A42
+EAD38C08A7CBA5760FBF83ABE1DEA9FC1E41F14D16ED4339CD4D17169313F879
+15DD4504FC1BA5BFE21CC6C26E206C4E1B7AC0E84A058B8B5BBE525A7A29A202
+4E0411D0C9185BBC834E8F483509495C203539F7D425F4102EF53248CA943CD4
+5F01026F1B1129149505AAEF7DCD2F3A6D6C494E29771590F658A8049DC981A1
+D9337FB49C4BC6418F271F4E14BA6B223B3CC521FD0879C2C08DAC47BA713FB1
+BF8D9A48E2C1E73F2F56721E8B77ED65E8115EC0DFAC0D61B54D1BA3EAA1744A
+3A0287BE529B7C6749C768F07A07B9C227BA2AD6F88D6AB447614937DC12670E
+7716BD4EB41E3F77A77209CCC6744581DE4B50531BE874AF185DBE34FFA966BC
+02FB132BA1F5AF7E0BB25DEA00E412DAEB9F3D7664B788F7EB1DEED46FFDF9B8
+ED936923D31F6A673E3F5F60395B36672392488191F86263CF52B9C8DD7C3504
+B3186C0388A019F080D80234B68B8F3421190142ABDA05FD325150C6F900E01A
+BF15BAF597B9701A8E3159408067C13108B38741EDD643C62905A25A8913D562
+270E42C47FA20C2A1B814A21E9D477E9E65EC931B6472929C85E8D363EEBE6AE
+750E164D80015EA834FDC8FFF18C79ABD036FD1AE42715BFC3F3967604A5B5F6
+962D95E2F24ECBB719D3608BCBCC89233D2763A6120D2EC68A47F9449171DA73
+5FCC16DDAE60F4F95094F4BB468893C765CB5A2DC840B0CBE7141DCC254E06B7
+22A5A8BB94684E2EFDA11351B6C79481B157D2CBB5265B679CC8604F8C15FC25
+97E77A0DD279EE83F1C0A2788662B7336B3BDBAF8080CA3E905B27838122E762
+E6C52E39AF141B20F3AB7EBAFAC9A933A43CCDB08BFC3372510F3EAC553DBB98
+C65149F88E02066CE6C17F72C90F39DC2CB8D791551DB3374FA50650A8FC0B06
+E42E5C5522CBD3A1C90811519A04474FD7BFAAA92513E536F153B580750A9ADC
+F1B1A5913D14F1AE8028A5E6E3D16A0EA4AB1ED2CFC5DD24A707FA635A210CC5
+9083732A216C8598B40C6E759658B41761C132F2FF2FECDFB377767B2D50FEB8
+06893FC6CDF6B0E83BF7BC5FD2F5551FCA8A79F8BBB89354B086CFBA51AC97CD
+91B96733AE448992BBC1132A4CCC83DD4B3E7D83DAB519FF984E48583CC71F07
+06FF3ED9EA50E310AD68D829491AB9EB87E15EA196EFFAE80953904DA525395B
+CDB33DD73A3E4A9B63BA0BC4CDC8B43836C0ADBAB4238D515EDBEB1B4838E00B
+27F86A3AC3DD1A292BC2CF9C8AE7783426D681B841E4470A1A8D818CF292A97E
+41BD70EDB22843B9B3587482FB8DB0FF148020E516C62ED13C02B0FE7958D13D
+B6104A28975DB0EA79BE8F418807CF2863B5C9D77AEE3D6DFB97348AA05CC879
+B650E0D51B5A51DE309CFCE47CF977C78C01B9564E375C7DE789F5D5CA4E48C6
+39F016B6793FF1981377D3B4661F7688991F9A6A57B2DD8B5D8D794CEE4B7D2D
+783DFEFB64B2B90AE6E6DA6230A21BB6DD0D1D9623B9A4A0FD7E999CDBAD77A5
+AB03742C5F36228B01524708D7A25B87186E72DB530B6D67699D39CA92997FDC
+0CFCE7EBFB9FB28EAAAA23748771A992795D98BAF8E1219CE195B9847170DB0E
+A369A4716D41E25763288F980FC9B4AC4242676E875A2261F1A343ED99BE69C9
+B0118170B3B8756B71AED4EC23829E614C12E7729F3FA9F19CDC03C9198E8A46
+F04033FA8C85B020666D12E8BE7539AE685222914CB6AEFA4C18C9C212C98104
+7333F98F02174EF7B29ED5C2F01E444AD54A4CAFB023FE38878F0158A24051DB
+6639DE54FF45E3526BDE6FB4745D80BD39834B24B4CC66036D21236B9561F59B
+84ADE006D1B8D9E235DC597C43F4C234C686E50ED87A29F1ED362BE315FA3B0E
+C9B842FA46B52058491AAACEE7983A690F4711FEF5CED256D09D4AE7D71C0061
+6227DAF22FA7D30876856A1CE965199A15C65CC8A446FE470D233F53C245FA18
+5ECFE2F4FAC1561DBA2CD5FF2DA8C1AA2D825847230EFFAC6E59C840FF79D368
+CDD0412B4E83411144EAA53325A79F4A22FBECF3F625F047E8B1D025878ABDEE
+2C3B5C6DC7D8EB4F098446CD3EAD3DA0A6A54195A7B399E7CA0780588FC84CEE
+69164DE320825F8A24618D0810B71CED409CC6BFEE816E8C829AD81A8A16F6F6
+AD55D1903E647D935F3BFF542E9947256D1B5035F0E5BBDBB73AF80AE251B8FE
+48A82A02090374E3A166D9C6A038D5C4BFD9D1DB522F18571B4129B47297A975
+65AC9B38E7C841146A5E2EB30821A31A88CE41F59CAF3DC4E48D06DB4EA7BC74
+A1DB26AEE13DE4E1ADB2F15ED40541745CC6626C6339E375BE124FD92E77FC0D
+541104B12F5BBA219184D99B8D450CE7F0098854E4F6156C230BBF9BE2142ED6
+2BAF817836ED5922368FA3BA65F17ED3451EA218641820C3FFF1A362577CC25F
+3C377C431D22B290A66F6D94554676B895CF0C718A16D790C81EC5E925D4D6B5
+623A82C38DE6D5A9F419742C1425A395E9F1DFFAD1E6E52AC4AA018F8D0F5066
+F26B7047E9798D169B39487B285743B67646D4640E9778248D40A84391E26CE2
+C4AAE1B1E0C454C8A985471D22B6B9ED993E215C4024242925C3F2953C207D43
+B928BBF8A4AB803FE2CA94247B4C117C828C5DB6C194E9EE41F3498B0BF81F3D
+8396C84908D01713AEB02AAB05760A2E56A03A389AFB19DBDCCAE4B190DD8815
+92D56C81570B3DA87FD61E42BACB706195D3263D28E567BA9BB10FD3A42DEC18
+E12662BEC6417E3B9B5546856E320C7F7E7CC466F11E2EF3D69EF72A9165A233
+B7642ABBED62B4F20A9D5C0F857329544FBEAB9191CD59F1C44B9AEEB92F45AC
+812154397FA039B7E00BF221EE3ACBD288924D697A0C23601668ECE88EF8EEBE
+D279E953509E0DDD386CC30373E6702DE21CD47982E887521A99AD11532BE389
+9EAAD86F347E52DBAB8DB37BEAE59EC3246328DF0E495DC03D7DAA553EF8A6A3
+C2862E1EE2A8BBB8F1521984DD8FC30C798FD2D79D259904D13D9A3EBDEB1374
+81FB6A5507F2A032F12384818ACE9CD39C6786E8F0546354FAB6E14C920A53AA
+241AB7B99073F12BF51485B7537F58ACEF8AB772E5507763F5DBE520C6FF61B6
+FECEAC6BDCB75A0D7329023913D86ED418AAD111497EEB97EB22B0EF771700DB
+BA8A7AAA5A134C26A630D6D8366CEB5184AB0D1DA6BE411667F9FC170B12A10C
+5167F90F850A18510094F72AB13208EDC1B9BB957417EEA33361CD0F48A2BDF6
+C4413A148B37E61D0111652DBCA3438792CA7E67E710C1402DF0CB975A45DB20
+E112A29C258F825A5E336B49A54228EE9397208572AED7F441EA1AD34B5C334F
+910342EFC0771E267C15DB0B5C0AFBDB1D7C2160ADE2E7A2AC73210FC1D68DC6
+4B332262ED89477BB546F73CB9398FD0E96FB78FF4F8730E357CA67328F7CF92
+2687BB3E9916042A985691E3EA2BD13DA48BEC195727A1AD42A0A6DA32BF33FF
+2EE8CC601800CF6B96EBBAE80E7D5A620491D0F998285D8E85E0E667FF89133A
+0AE50AB2DA68BAFA49EF8C7AF907B7BE11345C105931412DA23870C7A8F8D4FE
+D5715F6B01F18B38FBDFD65E66B616AF01886AA873CB90D9EBD72F29EF4051CA
+60084E4DDBCE0E475BB98AFD60C4A64D720F6FD36DCACCB69A2BF746E3AC4DCD
+96FA2DF360C17F68B58D76629FFFD08FF769379730B41E55F848360A6A25523A
+9BF3ED4EAEAC7743C6F92AE6C2ED3F2F36707A629253067363BC4724719D93A8
+CE1C46E1E16293FF7E24C6CF39F971F53AA09B15244DE276F159690A6F369A9E
+6DE8E69F73D9C794A1C32B0B4B3EE7C58E2C72778AE32122560F9214D7F94942
+8C21D46E3ECB044BEE35934096FBBF009EF3030034AD7D84890A45F2B2970F5A
+9BA55007859A9FB0F6DCFA3E6564B9555E7F3063D46EEFFDD8854A94DE6950FA
+A3852226E010E7C0379C21B09868B6A7300D2772068A449712DD2EAB299108C3
+B4CCBA45E08C3695293739E89D8C3B5D1621F0816F0259C3B1DB4E74BB2D489E
+200BD7B7D5BF1C9A132B9BF451DF28CDAA438803E8656746A3D1C0654AFAB909
+177C1F016517C0B7065E98EE1B21B4D08B5FAA68D469C25EADAE718200A3A4D3
+385501BC72F5999C98F13889263BD5AFAAAF7402864E91363FC0F5C34082CD3D
+2CFC70FB2431CC4C259B9597C7D70FBD0D1FE2C9B6CC3D88073C7627B464BFB2
+9F7F42CE057622037E610FA518F506F9A81FCB940B91B873D0C834512CBF8E9D
+F02F9670E9B523DBDEE9B319995F9B1D612C7CFE4609A668225A975F550572AE
+B25499FFB57FBA86C6799B67B05FD3C9ACAA386CC947F07DD71317B94691AD93
+44530890931AB8249EFCE7659E2D69DBFCF047BA992FC5325B5703951587EC8E
+148DDFD28459AFEA56B72C7905E7415B02E5643C2550FA9D49EEF64D7630F05C
+185421C580BE9780B643330F5B0B0FB4C3712668E851BCDDF8662C5D6E35825C
+F643AE5455597B570D8B43466A748519E1A38C9A1225A92B2490D6993786B476
+E3498C00A1B29FAB050801813006E692EE98A9E1254BDA63D3E391AF186EB44A
+E50C37165E2A314912B9D630035A8FD0961AF29E694636AF4E8912AA9B107AD0
+7E0990A428D7CEB660040F74A48EECD7724F32EE33B5649B79B63D1AEA095CFC
+DFEAAFC8DB328130C261ECF940AAC676D2778FBC6ABB2365662AB1E8707FF091
+BD337B103CE2879D1FE0CDED25A3722D442C28F66BF52C9DE534863EA4BE362E
+8625B859735AF68193302D20887748A625C9B1E5456BEA215F216E5E0A86EE40
+DE4413B724FD9AA1FFE418EA2FC6B2368EFB217E93120F3008BE9029AE81C1AA
+ECE18F0C84758ADEEAF29D5CCF5BF879CAC196750FA5C559179F8A20FACE2C1A
+AB37A3BD510B2505F32CAED1CE7C0C6F095F56B9593D3493E860A4F0CD6BBE9B
+2D13ACE1EA583053B72A0D2245BC677898DE4C57BBAEDD2F2BC42D494B5B9E1C
+CF3C182450250CEF19774E0723A3CA9320FAB92560B8394A14E1FDE84F350470
+523DAD433BA8C476EB389786C089C85E261780CCC544067A82DE3E835EA6A13A
+3597DF92E35A80659FB03F193499D98C5E05D4C365922C20213EA0E713330E73
+F30E866B13FDC36B98557D17D670D016DCD4752F780DACE9CFF8C03FCC05770D
+604D19A74969F03C81E9FC0B04BB36215718C319E4C38D2109D28447A43586B8
+1D6966E885C0E844389595C0507FE8502DA8EF459817B1937114C50A0320EC0B
+653EC5693A2CD74A0BC34E8E8B576BFF7F0F191256A374E48B8B75048E9ED20F
+F5D9329E5706559E1100676A8150FAE9FDB210330605B0694EB2D5A04EAD712D
+7BAFDEADD782FDB478CBEE8A0175680DA713F8F3CD27E025E28D3E57F1EE98EE
+E5400A38A059B70E8F051B56E5B463028A25BE6D0C18ADD9B865F63011843572
+4AF0404EE430A98267B00EABA58D9D815657871D3505B506A64ED1A5EEFA47BB
+EBD1513B5400A69FA522C3E12272BB8215E235A397EDE80A59BD7D0C6CE5B369
+0430BAC269497F415A3613048C90423EB2D0CA0F128924D9546BB21BAC9A7263
+B0496520AC7264BB57570BD87EE56554078ADB66E9A61F2BF6FB52992694F753
+DEB205D221A9AD1E5FFE3B1E9AA3F3169313D71061E2464531A9BE1603C586DF
+FEDA27EF90425725CBF4D04B01D6BFC5CB04BBCB9F2FC458BC84242ACE858EEC
+FEA3E84675377F5E65D184B4B0D29983B9576C77518A858BD5C03EEAFCB70283
+764E379497F6D1D69AA0AA51BABEBF1C70D0E921E28ED71B2781C293A27F76DA
+E29775D9AE33DBDE9DE3E9E5E43344D472BBB568CDDE0F46F8BE2A2534033633
+0A47E91EDBDDA8714B7B6F258ED7E348ADA6C4FF9A7B5288A825A9C5BE1F7387
+F69CAA5DFFDA4BBD1DFE0911BD7F9FB09FD8E718D36B4A6DE8C41E538A79AFDA
+72E78F0B9301CD81EB671D7AD29C8B4511BC43D9A60E4F555AD27D65DFD23CC7
+C38A799ECB6A0290B39B4CC2EAEB3A0BE8AEF9E484071CD400A3D99BF2545558
+0B3580CE12AB5A32C37A9DB4394D6DA8A5F6607D0A9C3652F2CF59D06A6DD5BA
+4F96BFAA2CE3E8720712175978263BFD8B8E849D532DEBEC7D1C0252D428572C
+42B339DA0B93062B80AB251FB9E0FB7F759DFF33D0CD5AD743F01DDAC8C18EF2
+0B2CF667A27E3C56809374C598E8387DC401713C6547BF7BFE3B9B7BD9A33D4D
+DAF7F15CFEB827E03AF5C150C703723ADB29F75C64A7E15135F8094557BF2C29
+E4477CD3AB780729C2F43836EB677ECAC650997CD5C8CDD466D7E8D8DE20989D
+596BC11396831E0A4BECC03B9422952076F58401C8E176C2EA4996FD53DD7DD0
+2552D2B01D187C247D1320D65A18521DCD169684248C3ED5C8E3C076F40ED5A2
+A89C186EBCDEB9CDEA9395149D4770F54FDD5EA8FD0D5E210A3707E66395CE90
+48D92C1392141B28AB22C5ADDF1C65EC7D624299B5871E1291906496F69402AD
+2EBDF50ED9D8265A2278DE9137C897A9D833D997FE0812D2AB1413EF98973258
+041DAB207602E9A80CD8966F979603B9DABF0328705B82A3A655E287411E0747
+15DD264C707279A61AD80D26E79A1363C809888D6572B5AF2289898BF53A3766
+A677F2B52A88EC4C85CA29C4C5108B474F6197AAF7768A693E94EE8E7C20224F
+10973F20A6AE0A9B95ACA0F8DF17C67AD3EE91F6D5FA4320108B518FF7788CE6
+E55B0F40711B5B22440D38BC30C7A2E1FCF1C64A49DC41B9B91000145A9D6539
+E2049C050346151C73BA088284D412063A2B17E580BB210DCBFDF2648189C79C
+E36ACDA3F3A12467CF7BB342C58B66F1AD2AA969BD8778581D6358166ADD0FE0
+1315BBB40DC2761793E991527A8EAE6DAA487F8032A40820D6DE6A625DB18FBC
+8DBDFB020BC66094CD4EB6B6A649EFAD2AFB27E36330D8188281719EDAA4793E
+A15670CAD04900C16902498533D00AE717B55430112BC66062F587F1FE719BEF
+00F152A9D0B066E216FE610B04C0FDB04958C477C140ECA4F37C920F91AC9E29
+A58A13E1BC4F101DB4F776E8B4F54D21A82FAE329406F44A3725ABCA421A7986
+C49115F0C30F96C85F2BB60CF1A363411DB9A83CB266357E87D17267F211049D
+C1AFD3AED644AAA15AD3C123E9C04FB6F8D7877217C98B3CC2CDBFF5927E9408
+F24C8C1C3B5FBADD709AD5378F3E6D37B1C0E5D6C9FE40EAE648A77956DA6834
+FFAA626CA253BD0B9622EF7C65340577DEA4F17554B5BC386183A9DFA9B263C2
+9D896CC0F2EF0C875DD3DE74F5AC50A46F232E4CFDB918354A4AE0E06C1751F5
+0C0B2622CB9904CBB6612BE56B8AE2B2E2A98A5D048175585E7A3065DA672C8E
+3919DCAD8E892A1CE242853A138F1AEB814FBF075FBD3E5AC6334B88C801085E
+7BD1F7C1E42F2BDA4BC8D9E8D2A7C86E40A27E0EB178B4B290C8BAAE509E75D7
+02E12E798529D89F9F271F44A4D9D92FE0C18548D20FCA6486CAB8F262CF65D3
+D80596FDE8039CE6072B87C3D5E626F201FD89E09A9954C7DA544EFE474C2500
+033D61146A284C63EB1A865FE13BE932438EA2949292886176771083BAB18628
+B4804B4465FFD9A34531DC7E65E1D1F78ACAE918FBADB9B48C23A684DF747A65
+28CB9E3B57B509CC567A21FE00D1547CC918318A26825052175877EFB3EA7B34
+708F4AA76254ED84C3F8C1DBBB6C7799F87FBCE1F8F0CB42535F486901290C8A
+D345D08964FF40AE0AB35A4FFB32773BE84D4D1B9577A3C7D70717EE80B024F2
+9393E5CC42BFDD383B2EDC10F726AAB4F5281E23CCC40BB4CB7CEAEFE5B1F349
+3D46D86DF6611ED1FA3D47E2931974F145F9A67CB855EEC904386490A8C93A5B
+AF09BB88A01AA220988796FD9B974E89A5B59FAD2B3936F2A75F0E8DA5C03DD3
+88DCF0BFCA43901D4347DF18975703643F893E314796B25E5D1D41FFF2CA8108
+0B1181DB70155D6CC505C63A6D7DF7D533720BAFFA1E6E41F04CA7CF4EE530F8
+F46832C8A4B753533B5C9BB5C97BD82F799AE52B0272A33C4003934C899D96C7
+84A5471ADEB37FDEED8F00CA7BAA8AA063D37D48FDBB0067D260D20F7E842A73
+C32DBE9823F83A56D253AC120EEDB0F9B4DB879A8D620704DB2C99163FF100F1
+7FD8538F7A20506F4BD54CCD24D4E662089A1D3A0D5FF151C6192CDA664172D3
+9C1F20CFECBC0E4348BB5D88D0BF4BE72F07B9C0737641CEFB7DB6F285A1353D
+E6891A569402C12757284E9A93E1B77C1E58E7EF2837238EC0BCFFB06623FDD8
+9401CA0770F158702CEDA77E7D557019B03A5125372FFD5141582FED1023385B
+FD27A8B645DE6B779B92E9FEB6C3A02AB4DF19F3DC484D92E63CCE22FB733AD6
+3D55811FA3BDB8E2BCA5AAF2417E70FCB74ED6FB6C5B43F5F96A3019C48F9D3C
+CF5BEE959D5DD08C8694E3E8591434DC2F13992177B6F99FFF799A09623AA54D
+14CDB2BCE9FE62DF68DD01B9C2D91FD568A408613E013667BD5EE2B47383F85B
+DD54D1C8CF25652A5FC7B3803A5C6EAA15506746A44693CCDC4DC6A3E869E020
+D2FA893A63A719F0AFB8F9F8FD3C3FAA25CEFFD2E6F344F0D21FAA310161E928
+57C15E2C8118F4F8647B1872FBAFEB9741A58E8F45A4ADC38BAECBF8DDEB9F32
+E864D417366A6EFC734DD617CB13E191DE7FC92D554C0FEE8399FB580F3E9473
+E5DBCD1300EBA2DD843C95F0F62377BC064BE1046FC8E5B4F0466A7223242066
+83671470644C2F035B3FFE37CB6F58A61E527D63E043D60B8C515FA7E98AFEDC
+DD1866776CA51EFC576A53FCB0FD8448461576D55445122B9D0440FD285F8B94
+726A796E8B6ED4ABF5252C8E0D33497BB5FA6E9A07F81DA77586F094EED9FA9A
+24902FED4BB1CF856AC0C0CF9B930FA6164D569F2B4802EFF5B6527F8D7FFE93
+A907F9F7DF56AA4CC23125F165EEDB46AA8BD2ED6A8CF84745F9793A2293143C
+1A8C4F0998A7CD4433230F1271987D8CCC2F6640368240D7E6BFE8F8A9DAF521
+58C8D9E8914B4C7B9F2B2A72A885EDE3A71CC550053F5BF3457FD93534F88F9F
+239690925CA1785BE43B624A00FCFF123E43047951C51A000BB401C5E2FBBF77
+4F725632E6FC67C64E5ED6FA95DAF0687424F94EFCF97B72CFD6316F7A19CD58
+275E600EA4F13191DBE69745885C8EDFD206C5BB8769C8CF547F9549A22F0409
+3C638977CD2D9768F77D363F2D2112B1D0BC918CF84745F952D271B1CB156A83
+82AFA9670E4B3E66A9A45DBE756BEF66C7A29C8C89ADF7E3B766F16CEC8E1B99
+626BE9AE136A78E9A89A7D2D077C01E3DA1D316800F859028CF2A4689ADDF0C1
+009073513EB0306F6914A9178762E0E9E825211351C67E9B91A081771047639E
+516F6B12D01EDA4F967A91BCDBC67B55AA74C6FF54A2FBEB2F2C19CE76E3F173
+ED70166A1D912CBAB7882517ADB1B6216B8290D54D993C0B70E8AE167209A11E
+BBE4775288D61946C94882500832569AE45CBC885B8D6C537F4A6FA75DD447CB
+5AA2831D6EBB29F8F7CC7A29D8586AAB176E63142DE4A37720FD9E37F09E9741
+730A042FC35B5334D9C490C78C66BA3B91554A0706770595B05BBF4C86AA1BBA
+CD7A3D0AF0237F4268909EA00B16AD0FA8802ED22AEA1F697BFAB2708EE8EA22
+38501503DDE776A9C7273B8A0E3D7E7DD15C3D6267FB4F4799AFC48BC7024789
+B386CA202DE413F2E01ED03BD5D0D1D5B3FF99076B6CDAA89C7A0CCE0D09EC77
+06496B9A9C88C1EF3F824497A140962DE88FC229B82FBE3D07ABDA9E7E66547E
+DCD987D91056B64792C7DDA0BFAD81E91C36ADAE4F21D793087DF44D7F5DADCC
+34BBD2409E165C8FFA668956157C13FD6981AC63D88A49931A673E2C72CA9341
+5B3A0C51F4D612ACAFF37A71E728DFA18BC484EF8CC0F1494B19FE2677F6C8F7
+D5F7A91658577C9B816E76AFFD1F9E86E5891407B3FA4ED9FDD88E84ACFDD764
+42200A2FEF9831D9D3776B2573047B24CA4108E0A71F83110154ED1CFCB44DC3
+6D1ACC7FB2F695DD499FAE008A8CA7BFC5D599712B0010B739C5907AC069F871
+D278A21E252DE2E2CDB736729043213EF18F3A4148FB8FF037126E1FEBE67E84
+61CCAAA685669EB9E0CEA01FFD3BFF6D1716A45C6D45884D787D15B8D0C7F929
+C85FC6610BFD4B0C1A4A726755D485BC5A5A307E04C45635F05F6D74337A375F
+2B330E4675D3AA147431B66C116C996A27E5FEA04F14A62222EAEABB13FF733E
+878993645475F2F9BDE6B1E5AA2FD4E13EC030B98100C8908655D5053794C021
+A3DC2E11B77210BEA7D506940A2FDFD2F7D1CCFC294F6BA95D4BF986465C8B80
+78FBC93F860FEF5422B68E6A000D213F8A854B3036D5D60EFD339A0D501CA2B6
+6FB5D3F37A4F23F64F16DF01B3F31C1973E60ADAC1DA4963F6B3B58B0489E4B4
+1E6BAC48B17383C35082FF43720BA20CDFA532FFFB076F150B17EE8C58E27A9F
+2868143CCD8B2E0D8EAC1ED6F2EE3AC85C3A293F9548F69808B11D80EFE0AB09
+A13B1AE202B8F0E643802C2E2600464B4BEADA5A2F5575A128584AB509AE171B
+70E1F14482FD77BB899AC1AAF11140AFDC85CA54EFE21EC3DF261D166EC904CF
+1CF201EA05053A214F14A0AAAEBEE0B8D9B2E815458586B8DE99FB07FE1A4B73
+47C316490F891A7F76361447E54F909BB41A0E0B91E435B5F5E92E127AA84194
+B47B7F6425509DA2F2F11C3849545C1856F5F959B32E7C187B1C480F65FCC153
+65C65DF9EAD804820E3EA361753C0D48F7216A36DA1752EACF3FE5AAC9BC5B12
+8926175550DE59E0B4A3DC1B3A6B3DFA8EB9920C9AA36D3D53BC57D60EA2DB5D
+0081DF3BA8A699550EB2BBA928D6EA9ACB2AAE7033EB441C7ADD877FF4C4056F
+9FEAB3B7FAEFFAC4B10BB121F0AA248AA6D6F83CE3CC265E195DDD6151192697
+B98DAF4BF0ABC22E81C86AD2B6ECCDD888313570F3BC9FE76D45D1D536FDC2F2
+4F6F341B03AEA842255AFA6D1B2F643B01CCC1B368F0EF82A2D5D4A09384016B
+8E0C1C52B4F32DD75C0FC8E18E32C20F3C29331CFA8685FD411A22E076DC560F
+1F37DA4C6803B0048662E11FE614B41D3E7F9AACB14D2E8F145328E9D7A4D999
+81F9B8FE82B59F1D2EDA95461B5F6BADDA8500CDEB07B2F4EAF64018D8B4D853
+C7D1286E50183C5B6CEEC9ACFF02BEE65EE2C3AA6BBF38FA62941FEF3620648B
+678C8B29356256B7635C1437F04EFA6268A4678CCBBF9FF1787623730D2AD27D
+A5E76ACD0FF2ACB9A57361FCD7FE655B97D5C388BDD849952C9450ABA55A855A
+465FC9CAA2B9FF2AFC55478DDF9355299B0496E1F895701389CB90D27A193F81
+A0BCBE31662B78EB420BCD0FBA72D383885DF44B87D85B63F4D17FA5705537B4
+4351772E4C846FC0928672749A1A5D27D0514E3D197EBD10BD29874FF079B7E9
+D5DD1B5C9B785C0CB1C585A355503AF31274DD1B97A12D3520511595CC76E28A
+ADA3D43AEDE2C97F90B0D3B1883D4ADFAE6E70012AD1FF8BEA791841A2B85410
+F426114F35CB920437931E3CE0CF0EDBC80E18E5B0BE1E16E6DA2D5DB3870263
+A3AED0B0296E94BF491E435822092E0FF556B462F57466551E07308B7C2CC85B
+DBD324ACA2612B8C8D02952BEE23206D5D73F5F6E0104078E0B427A6731BB465
+BB277C0371FF4016B79729F4593CD57AD36182FE51DCBA880D48449E70221D45
+D7F515D8B8E6CFF2F40BBE8BB807644E4BFA8437A0C1E2A2594D2E81882A3746
+F4E9F3C905DCD2EDA8157E8C956A484BAB6C7EF3EFB95AA9F86711BDC576EA2D
+002BD2DD3DB45FA1C80914B94EA012C2CB326C77DE471FD8B5ED1536ED84E4FB
+DEBABDF2D3F4B18B891AF0E0A57F13CAF26EE0BBB8D21BA80FBEB00289B67319
+55A5945C06D71213B7124A9E7186E54480A1C8694AEBBF9D0059E49726D67806
+A8FF9002C645E86261AD11D3F46B6EEFDA628DDDF0BEC6DF72EF9B22437A13DA
+F95AF287799D7294BFE70C75C5136E1C70C7A1CA16E5F9855C9C0DBB15CD65CC
+4A74AE8942F3F5C1D5F41F8DCB963E0E814F3A97CF00E05D5ADF12145AA3E7BE
+794BA735866995F227544E229DD4C900222E9D9F76FDDC7FC8DB78AA79D1378F
+EB4593630F615DF51A859B888FDFF02BBFD06E59DD8B7F7AF0FBA98A022DB451
+158AC56D26F54ACE8943F7A49B33E848AAC6E330EA816459157EA1474477AFBF
+EB0F3EBFD6B9B1C79D4EB28E9C64CC0F14C004D504FAE72AB3AC97DBC574DAE5
+E511261192E63D5FD3188FC846F0D899DD8EA0D0D1D35943FF562B76BEE74CF0
+A141E1B48FF9F8107647EC1814D76D9826B0554CDD8C99CB4F39BDCACFD715B1
+ECA8991E4232C9B5C4C01B72F39C79B2FB6659C7BB459B3F3935CF0908431000
+15126287A7B0CEBC255125E72F22B3EFBDE6208029DA674CC5B805DFFD61F863
+62AA7FCA523F0713782772B1F4C44C50ABAD90E92325BC01DEF9E147256680FC
+0B3463651C415183F0A9D76195F81B73A5E829D58B52C7BBA1BB06CA92943388
+8E18E712115060705EF4B86BEE5898AF1A9927C389F0EB5C9F53E531A1F9302B
+2B7AD17FC6D154411DA4E54164A1D4976BB9C452449967E2D0051A642B47B850
+DC7BA8C09C499FF9CAD8420F01AA14162650DC233B6F93C11033CBC329FE027D
+9B37E958ABBE20D125147AA619051DCFCEF5DACF1FAB212B4E44D6CCA29127F1
+84FA5AFF25692CF492033F6DBAB9E536D5C18F23A534CF0406CE7AA0A8CE9E23
+9F8489436C42D36DDA54854ECD5FBE5EA7F5AEE98D06929555F96764F8F5D7C9
+EAD05AA2CDE772F2F45674917E8E21503E79A3C5191E68ED2A98554EE01F4BC6
+C5C3B2CE2E6A9F88534DD7DEEED8E2AC345A9C44C40EB676706202C041EA7864
+35C27C4B153FEE4862F1653C77BF7B8FEE2ADA8DCDA824060C8933045D8D9E63
+F0F69CD7A6F954B0A9E85F7C138F8FD486D92584FFBC38E223EF5FD4558D84EC
+A8127E7B22FF5E075AD73AAB4000E2E53B54F8D9DDD43C7573F9F42EE6858457
+35149769ED212071BB9202245FB7FF304B60B403EBF1BAA6B6285C0B591D292E
+1C4060AE684965F5EEFE270D5B6623FDE667EF39907FCA5DBA2C582847DED443
+3D1DF10CA8EC1B5F70062BEC4A7925056C036E87186EF573113C38E31615BBF5
+4BCE545B61A6A5D8F42F4E0087D881623F128B5FDA6E8EB090A075AA7A8CF33D
+280AB71D5C139984ABA00A1E5238628F14DD018464715A98211662E4FC3FC817
+E741D8978F6E1DBDA5ABB133F58254941C5F35EA5266365F0460CB1ADAA61900
+6638FDFFEB15F269F5E6198DE6EB0273C9E67127511337A4CDCA33CF19E12C45
+E19C2957DCAD8BD625D8A2EC7E8062E3971CF64473E5E262F779707FAFF1B434
+38B22B4C2FC302CBA5FB6700745EEB2403C529A05BB341F3AF07C12677955E35
+BE7BC991BEF2B24F3BC4A0AEBAB6F84DB8F9D91327C68041799BE1CE104170BE
+7F87650DAC79B191EE15E2A4BD69E67D092A69F6C1899172E3CD6BD8BB751A3E
+E9E7340FAF30B562A57521F66BB47ADA29E6D419630F6C725D3594A9B2F91AA3
+9FA79D321AA64EDAC6755E67C0BF440A7F1EB5F19AC5BC90AA89E71776022738
+492FDA1C935EB8004D49F83F792D9B525E8F078D2B2A3CFE1E9641D862620043
+2DEB1D9A94CDD4B6519F0D5C05FC0A0D88CA37D2254CAD25EBD6A6D2EE55F29A
+9AA6DC6D4078D2709678F2EE30A1B1856F19B5B174B9E24D58C49B4F97F9DB66
+3FEAF8DC4B6D19B6D80046ECFF48E9169E3EAD0894A8B4BDF9B9AF20DE83F28A
+814B160E37C765A8987B8EF501B84F0F05D853A56031A6C258804A4AB72E9BF8
+5C4F3751355F4F3C087FE2D739C9D564C5AF2189609C042F745E807533C4CCED
+891ACFA4DA4D65712275BA5024F81265A589BF19F3606873D0A43DAA91152390
+67AB6335E3198AE7759EEC131B284E57F970F6E95321BD0195693927BE46FB7A
+F930D37730D31F284FF9223A775B4DCEC39CC2418EAB831727F61956D25C870A
+83D3631DEC6DAB6E69BE84A2CA4DA29750E29B37DD1B9C0F4349C2A36578EE47
+8807A83BCF7931787AAAA5159880375FC0734BF290C1F206C90A1BB218121E51
+3ED345B406AB7B3571857135A36DF0C0B344D528CC6BE4A0AF9B6E8B0FBEE5F9
+3E6D1BBA29BDA06F63249087364D81063D085F4576A59955857428B801AAFD35
+85DABF6BD4E7929A26B5500888C9AADB025327DA99948D556DA48E8CE04B5988
+93401AC69CC6B9E1F08762D33249EF3F938E4771772C1D5A6801DB956A12E409
+EC8BAEAEBC8492175CD184AAF63CF1AE1EBD5142FCD911158859B7210D3D8DDA
+748AAB8B28DBD425EB4F4C84BF25D767A1A52D19F4940B8E47F6E375A900EF9B
+09838CD5763E2625399CD9ECA79BBA35473289091BE60159B19F361E690EEBD9
+01CD36E1A6E6B5267C70E0485437C3CDAD6BD9FC4B8B8D29DA28A730DBBC738B
+751611DA36BD7562E2EF5F8239C403EB5DC2817CFD8F84715203327671419E36
+A04F0D543A66BDDC54ACEF5799D316DA2B1285241FA69E34E795151073557908
+FD230207545DE1FB62725C6E900E7D33F0E897AE58DA0CF3127AD87618E5B8AF
+F45BA9D7E01711F648C7029AD181008B6CAE78861BF37BEE4B2062672AD87958
+9F0FA57635E376CFC12CCF17C18750339FA058AF585533BDF66752C4EBEBE153
+9F0A815B6D4D30C3C64D4C91FF36FEF4993EFF26CF08D366D8D95E8FE3F15613
+5586338DADA5F9295967E81DE02E184329B8DADCD5D9D472538EE4A43CAFEBF1
+E31165E8915707AB8C002F3D947B794EC3880E6251D9B6898B3B6179117B12BF
+F49A615D657E38A25F7E2DE9A88FE8CA9526C35D0C156C30ED9712EE873951B1
+1181F197F9952C64214411F2AD9D96DE3E508108B6BC355B5FF2B65ADA08A3D7
+F27A2EBA663712EB49866414EEB2BC397EB6D65BF5341A77B1FF16261B06C7D0
+1842499BD48B0916CF918D4B3A4E73C20DBCE89B6660FDE6FD044B8D6FD83156
+1425FE1F267C4C623B6254AFBDD2EE08D021A31DC240F17DB6D911909784D042
+0EC0D12D743F356D8C3FF8BCDF9CBD49B512B17C3E9653CCA83DE38AF374FA0F
+0827682E347D6A9205BA611B8625EC227568F823C87BEA48AB2727FD690A1503
+C9B4E16AE489008F88670793F6059A72ABF86B79DBE72D34F2B6EE0208FA57EB
+922F1A9351B2F02F569E9BFD5261B8CDDDE3E9722FE0741F99DEE0C873259022
+A6C8090822540359E56D3D077E615A7222B7593854BF0414ED729295DA8E61F0
+71F646371F6B7C628F7C12DD12D9825146BB2A8CD8A82987CACE36FAEAFC6861
+A0A6B5045084ACD039FAC09273A3619DC9D3F16EA3AC87BC865A682926B5AEDD
+57BD20A479BB6706FDF90823E1536F0BC3EAA621161CDEBAB7FA3562C08BF94C
+84A89E4472FFE3DB47D01C301644C345CCB43EBC8C7B9FB4F2723BE4C987C8B9
+10769B0553B96492D2F74A321A4D47D5C733A013F73AD2EBCAAD97EA4EE92848
+84F92E32EB6BF7C59440A380CFFD4E30B660716D804C3FB1E544DA5C9DCBA601
+5F26A44F20E401CFB0746315086883F2325373E33C71D9838A14705FA3C13639
+07651B9888E9E5306ABDE3A5BB17D982C9859635B91EB8A73B5F710C42E47A7C
+B677E5A77F9055350E1F54860232129E59C7F4C43A7E654F8001F91D205B88A4
+AD8C52DAEA28839F8B184D16207838FECA138105416CB2EF52E0D9C012110677
+DE8042420F848095C493995E2B60C009451FAB89CE596A87664502C9C370A724
+6C22FCC9208B1C8D974BB2611E3FBCF5049D1B2A807437DD1B1FFC6722380717
+C961981C6D853285C53D952CFBE303883867626435463D68C9A75E270FD9062C
+DABBD7C71FCF0CE304816C18FD36D740CE9D33E494A3C5A03E432D41718F81DF
+DE593767E3AA960F389106A77B879FF83476801D85BD76B3B92FBB043BA08E44
+ACD961F68BB3B1EFF42733096D7DE08722DC82396B643805AF7B3FAAE39D9BAF
+75A78EB9D037B6B59776934A07CF3D4CC1FFAF8A26D8DF3E04A5A8770140DCAD
+55957D53DFE2AFCDF6D21770704D62AD6DD87313BDCB753BABDB9B967264AC73
+0373619883ABBDB392C943437E552031441558C80F44F487B3B0496DE7E60B61
+C79C8A80
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
%%BeginFont: CMTT9
%!PS-AdobeFont-1.1: CMTT9 1.0
%%CreationDate: 1991 Aug 20 16:46:24
@@ -583,6 +1164,7 @@ dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
+dup 51 /three put
dup 52 /four put
dup 54 /six put
dup 58 /colon put
@@ -670,338 +1252,344 @@ CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D
42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED
F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328
-A2C69F817061D6C60B121EEE844CA5008F23DF08D999D8C635946BF53CDDEC4E
-059481E167C2253B9F7EE17916C028D30C626217C07D5C81CB3DA2E154DB5E3E
-3E812A739086F78F17DA8B363CAE0CCCB67D2814FDAEBF43DF0F99EC06DD6286
-D3E9216952E5416F39B2FAB5CF61C034D2D759D4BBA9270C30B75527A790435C
-4E6326684674D41BAEEBD0DC2FF367FD5E7F9B1F50668EB54DF00F6D0FD060EF
-580CECEFCB7B346839975048606CD88FD88043E9E1B25BF945AFDA309B1F93A7
-59D38F69DE485852109B8C12468CCB7E8757FDF71A4A941B11F0DA5643922EF6
-826E0855F0EC6B7348949F80D7D4734B08895C8C87869F612FC30D3D28EB8D9D
-1E79B7206E5C88E5A65C469831FC61994FBF7A6E6F2D3653FD6259722E05400C
-BDB34DA6F7E9B79458609BCA2C8EC2C0F99BD924EE5AEAE7FE90C328D2D18430
-08E5BFE7EE756FA078667201149F362918E52A75CBDCBCF913BA20865A8FAD47
-6A208F16730FBAB5195DDED6CAC43EDA6A697D2595A5EF262BF747DCA182C6F1
-3F561ED5C6BF8978681B815B376D1EAD4D27A33A9B7BC8F3FB317A9BCD83D9A3
-53404B9D2E52F90B52BF3749E1B269FE1FAC5C449F3E60D92C64274AB011C9F0
-FC4B1A12DD044036479AD76E44AF206A632BD93666E90B95FDFDB3FDE9975C5E
-5BAF9CD833D8FE18BF14B6C00927B7DF4F981F4D0982F7EB7707551D48C6D4F4
-9E9DA529FDCAB1F9D627343667C95D1F0EE6D4739A43FE779013BD61CF131046
-728073E7C51504048275BDE248EFCA8501BAFA0EFD16343AD840C11E8E93DF97
-73DBEEF3E23D6EA9F4285F4B40B76D09177873D07CB0AE21A5760049958EF076
-8B4F0BE92C0AA4B42E51B348553CA4A7D95AAB3E83D9EF3F425B7C19D62DDD24
-58AF2C157533F193EADB02D0EAF6FBC98A249AB08CB8DB2375841257ADA88D21
-3CCEC7B699B0776378CB8341BEFDE52A5873F871FCAA5401747A0B69942160FE
-C17190A7CC63DD4EFDF4286CF819747445A99B2A62F6C1FB61F8A334EA2BCF28
-896C3E0EAFADE5B5E0B6438A5AEC205208BA94B5B0B1F98A0DDE6AB389A05A1D
-85DDCE6D2E82CBEEBA36C21DD0B6D7AAA34C75CCC1C9C74509ECAE3DC0B993F8
-59A839F732F0E6F24BB0A3D324BF69CE4651594329FF786627C888F6329EE8D1
-CC2FEB58D7D516709901A873FA447E728A249922ED3DC0FCF0AAD744566CEDF4
-5AD20891E3771A667C625C1F5D35ACA12E607A500D2A512F9E1EFA810BB1CC8F
-00DFDF692892F94C02170CD1ED7D1837038E9381E6114FE2212E6F5366042235
-281C80B962929EC9A32D127C6BF290BB2ECB5E45292BC2354057BFC547D279C7
-7A841E3437FC69664069AA9509E325AF93D148B1D025DBEFA31C6CACEEDFDBB0
-EB57451DCD25B9D37534B4526E89825B0B750462A5F3FD0943F40560508BDA21
-63207D78B199094BC784B0277EB656F40309989C96AA23368780E8B5ABCA54CE
-6CCA1E86DC9A2F935BF5AE867A6CF511D0BB330406E90C1C5EB93164E709211A
-C4C3BD3DF34ED4AFDA4270389C8E24D87BA370118C827AD1AA7E9D64A58813E5
-0233C0F5ED34862DD74D805558B4E8983FB43AE7B64E3F1955BE2B32C1157407
-801A0FB59E2B2D6F9F16225CB8D4E10D7B7F8C90C06A5492C052318359F7F0BC
-4C715A3C21D7479D8C290532061061FC9981FC5B8A8D01E6571FA77853BADFC7
-EC9A89F16A6D75AFE20E0B31B2A699BBBB6C8FE2A3CB43B2494BC6CE39663ABD
-D4789EA15FE947A5F30D933BAC442B28943BFE72C66FF26384D23306454040A4
-72817FF4087220BAE3FECBB5050E2D2C206E5AC0AD978E6B59D167F7550254F8
-15FF785D7F6EAE5177853F4E9B3FDCB2A0CDA0FA67D0A0F0AF73413B1CDBDE29
-BAF76A74508DEDC3EC6533101611B3AF3FB854021BD89D4F595817059A5CFF00
-CEB4CC210F7A920446AD9C83E5DD84041CC13AD5A0419CA99FFAE27C2FC69971
-4DBB0F1AEA6D8D88605C4BCBBFB93A4E52B7E0AAB3DC3498A86BC4604D4C3575
-899B8B48BDEF6B13E1CEC5B0A9110ED9B1E2FF42F7F17076666EABBB12110BDA
-D88D8938B7F61BB974653DC31B448784EE202D733874CD81BB31C1BE5C78D906
-1408C6B030EDAE6C39E6ADDBB7846CBA642B5EA337A6DBE8E708468E1FC94C2F
-D0B890092E4197C86AEEC94E188CC00EF9539548FFFCBF41C51794E79A258F10
-39348798B2FBCCF53D786D3AD5D2C6C9360B14177E8C1C9BC44CB9362C938C0F
-C09F6B5E959F0A9E57336098454E62592F356B40D05FD132CECD9747DD11D9BB
-5DBC68462F9701B7AD89A3A9DFEE129745CD92FC7A3CD14E1C385D3221CB23AC
-A6E06A359A7E1443BE82D929FBE2331349FB97FA3DBAD83254A92E22D6C95894
-FC2CD2245F41D24A844544C49DE32A4F21C661690EB1C6A1F7024B4A427A6D6E
-6612157ECBE211C3F2E4A7FE08A9D5A219FEF5C21FD5AE9FC38E6DA6C5AEFACF
-A236DDC128EEAF37CFA58E9DD31968ACC4540809D083EA27CF261493DF467FDA
-614870CE334A5876BC87020F8BEC20C12CD808E431E6E1383158D8B46D2511F9
-0750CE5A4A07AAE523390230FEA3511D2230993C40908B61B42C50EFF921DC42
-F22D7557BE4ACD616B196489E88707BFFD3644C2E49F015D2B8BA75A070EE256
-FF459F1B41788C61592AD09D22025C69B1231C9A97BF59C567E651AE86D80428
-43A517362D5B0279F76183E64767CA065A07C82588612CF5691340F649D3ED54
-4EA7E71CBAEADD51614F3CA74A6A761D9E1D19EF7E76D34E6E74347C7404A22C
-53C887FFD6F83EC590A626BB72B538B0B8BF02839BCF3F2E926A84EE37A536EF
-10C079EC0530B59355EA2AE74707F87860185E01A6A1578EAC52902703131EC8
-4115BB2A18F6C062FEA1B16A635CCE2467C34C34E197E89C45A8633FA5F7EBA5
-475857805921FF836D146335D2A0C0F665DB2B880A4E1ED79F03DBB89AF73F18
-07FE54C20106C118FBF8A410AFF0AFF397E248846580B6CC3C42A50095D221E6
-F6E2CE4E880AA773B718C89794E27E6FD1D20287707819C3668B0AE01BD7B1E4
-761554462E05D56E8A259FC97AF94A2BFACAC574EC90BC08B3EED027E8C4CA46
-FA54E53CA4794F99920F6494CF6EF4C0B6C54AE303EF4D32F27F2676C7CE6268
-51940C8FDC40BF16DD4622D803F232AF0255E72A189222F4AEA83E4597E8B9F0
-C56DB69A5A7C0CEC09BB794152054BBA9844D936C6792F9EA17319D0C69D8417
-1A8847562AEB2E433CA94A4341C8781B5A0702C469049CC94E028E881B0B5D4F
-89C3925919C7577B93C25D67D8C093C7DE834A3BC0131394740996E4D6B233A7
-80DF5A380A78299E92DF0FF33E8B8C0E9E81283EFB2C284B8F18439BA4CEE60D
-9BA146A69B57CF41BE979E49A2B90A878F96CF22C81CB7510D56B9AA2B6E60F2
-02EEBBC41A5A852607EB5C00BCCDD117C162A5F1D7441FE4260901D9AED49BFE
-2D9F92B8A6A1E6401BA6224C67A6FA778348EED53ACF1E76E61AA6159A2E9543
-262B9EFBA99819B1DE43D3CD4D623CF8C00515292056AFEE78A2B351D7460FC8
-F8D49FFCA4E45AB4A12FA0CDAB25E084EA60B40B660B8F29B64F0B0C04F38D89
-C1AEAB5C160C90FE0FE02836143C579B76F9C03828A6417098BAF9B4C85FEAB4
-4DCE99E55643ADC2677025948FF1DAA1E5846A0875D6A463BCB4FE13A5AEE274
-1FEF59E21CB0F17DA28BDB4D2F8D8CDC46704A33E990FA9E4B50B3A58606C36F
-B10763DC2E4F50981EDAC1B6DCCF1415D150AC0D97AD7C415317ECC4B6B98C98
-240F9715A25F992A1B7A4250BD36D205CFB3AD2F3F153205B5083916C5466B25
-BCA0D30D5F4E3C8B08D7B3D3597FD7E931FCA30162A86B7305AE9C6AE03B909E
-AF9CE0909560D719136EAEDD8B2655644FFDE826322601E457C7A0A8F73BE730
-03506BF446383C1594DD9D294390F35957FA5FF5F60F8DD7B66399D808F23DE9
-0355AFE0A04FD60CCA0E56A3A4BFA0DFC316C8B1997682AC063DF9E6C6F66EC2
-E094F98F5756E4A25DA6695C71B07F51167CA66BC3F432D280094E1856CBE89D
-B349ECE305C9EE15067D08E4A64EF4484E792A6E57EB2C859A42DEA616178A80
-132C796CA06218388BBB5EC4E262F1682C736B7BFC06096508EE75272A7B5734
-8401507757861EAE30F5B1BB4EBC4D5CFC4755041549D675ED0F08F84BE8804A
-C28CAECAF527AEF5172DBAA077CC0D4ABA31A2A58940406FE0D83A0EBF0F1954
-E621D43E6C71455AA3471857C08E5BFB0270A5C991BF7A13C2815BC19FE4DE38
-3C0201C795AA113648425D04FBEF58A4FA9B39C1B4CAD85D07E5CB402A41B015
-04EA0985B6CC772E401B7DE1403FD88D4E8DD82424200DB7B136F0680289010A
-379AABD0DDB60CA784849B9831500A7B56486B66DF6D18AD92A8705A7BB7A422
-6A61700058187DD41385DDA283759C8028C6E6F08D83F8CC701E58BB22D8F7CF
-FF88802F9CB37A528BCC6FEB7483631402B1BDDC6C1033856935689A29649154
-2290057E12AC15AD1C1FFB6876033DCB14918F2F14508612C84854263CBB9971
-1D83CD39EEE4CBE8483F8296CE20C1960241B4DA55E0B865B822E8C325390786
-18ACA7C548ADFB111F2070A16883075BE56C6684E3809115135744F7E5651106
-2EE5E6A9DF571D01ABACB23F6FA53555F1D1CA8A8BC78D8C017ABC45D2BA37C4
-8B0DA9EBF0B505FB34678C43FC1862DE21ABD217A96E869ADC14B416A4E68006
-2D5B05B8CF9FB94BC82DE73E420DB1DF38EB58B325AE3F2181E508B7440757EF
-A743E92B76EBD90E748E9CCA53D3FEA9F317574F60706E7DB8869DB5D4A10ABE
-6B37AC6AF1CECCF9DD6683E0BBFC74CD76145D9CA3E18930A5E116CD8650CCB8
-CD0AE70FC9EC9BDC5952E41CD2CA7F274E03BE671C0764FA74C3462902CA726C
-296F3B9C4C7A649AD23E89D1D79F4E61872BF34A5681D14F7437D876C9653F11
-5A6CFD1C92398579F5E6EFCF85346A95D1F1862C6E081059A116F2F4B0BB0414
-5522AE3AFAB5C0419A21D158853C90ACA8816A973B1D3EB8132583E70D9CFF93
-39F093298182BDC1D2F9BB3DCCC5F1A697E779762B49771E357E99E56CCFE0B8
-458D8644025AB81FCF125574187E0D975EF42DB0736EB1D9EA27ECA4FBAE87E4
-1DE9FB6E9D3F42638048737DE6C89A4E0EC1A21C51A577785CA610D9C201F205
-987594ADF811D7CF5C7B78505F296A080442134E4F60324BDDDFE5D7458942F4
-FA99DE4CC8DE3B4622C92F216ADC31816E7E1E922E4EFC6887A4BFCC28C4A790
-BBCD0BBC12B726DB85BC1455A8BEB843B32CE2A7AEC5F6B066C8D21D754F97B9
-8E9DF5F61AFB7B94C33BF8BCD218E726F7243A5E7A64390B70C95135B444FBB7
-42369397865EE5D9B2D9B575877ABAC9C6CE59EE395103E14EE1AFDD31701409
-8BA2BB985468960AAB94F462798F1B2B86D2055BB47C84286345E51C929CE8D6
-58A1A083E7A23A63C5795F3C4563A5D7D7A4192289D43D518F52A23784BA0DB5
-F97DC933EB78FDAECF9BC9F049AF415F9EFFB0AFD2DE84BA8CD4F63CA5F6C488
-73CC3625D497200D7D26EAD733DD62E5638D363A9E34EB8463D4213E746882F9
-13E8948B4F1935597DF34BDF3B20FF3660182D8695644138C3AE7E3E99E79755
-CCEEF6F8395536C29E675D3BBBD24C1678FFE64E356A86C142B33E3F921D1E62
-41F8C698C13A94209D1876E090C23EB9DDB670F2BED3D4F7BD5CFB8B40D8193D
-22B051F65EED5BD47E1D788B00E9F8CD717291F2936F190CDF798D47A4DECB4C
-7CAA1F85374316B1425B76C0723EF4B73D1BEAE5B7D62D7779BF6D2EED8B5DEB
-7DCD1015F8A75D6EA8E0DE412328D443CBC9DEA25C8343DED3B3C7201ACF32DF
-5E7CA143D3EDE9315B199364EBB83F79C156B44B4AD267EF71E39A570B951453
-36F971775F67DA78449E480D2CCAE56F1CF9BB502217060003A54970F60571FF
-8C4211FB591AD10D37A88E368D70F46F18653A5DE3794834BD80F96678BE1B87
-F587780357A378F9B9BDFB13915F38184C51E127B26D7587005190EF2CA8106C
-7062334641CF3AF71F084D7383FC5588CF0AADFC995FA89899497611D1A06BCA
-69917F530FFADC98F672810CB8524E7B8B9A81D6E1E636018ED9C6A511C81C18
-94AA72CE1C11DB0B8154C12B31DCF28B2F7EC49949405BE689F0C54ACEDED54F
-F7C13099CB92B197DB63C1B539BE4206DCB1CE8E1ED725C87CEC4A50AE3C85CB
-6107107DC5CA03AD63126A049FAC98FCF5EB23E744410065B519E1354FB8E150
-B3EEE5A201E465CA3C271CC74885768446EC8A8F8C0DA1A389853AA8B82559D2
-A70F4B4F04C80F0879440F70701247B9AF44AF66A9BC378373E7159E46D5C4D9
-FBAD7413E1359D52CA29A8AC6E29727CD5A65DCDF073CB8CD7709D5808B13E37
-3E5CDD794F5E780E169FEDBD1918C71112FCC4708EA9F024A7592E4B24EB2892
-053FB730845CEEA345E5CD538787E5AEF5014E5D603ACABBC5808FA630E9CFE0
-E27DF84092AA6C913F01D43878057A46CBFCFEDC4E403F2A1EB05A0FE0E138CE
-87FE0401623EAE6135D6E75F695BC8880CA14E83AD535A6A91FA5B3E96A0DA60
-771839FFFD8E533961E9DE55E203468033F54CFAFD876A7BE8901AA5302FE8ED
-20F7290B4FC341FEA326530ABD626919ECB6DF8995A534631AE68EBB84866C29
-E7BAFF0D8DFABFA4138F10EF9142C2CB6ED163C0DF31594D0331B254F63739C4
-9C86287001B2E2DB0C479720D629AA8DA67752ACADF48F7846FBBAB7126FF37B
-5FA478F0CA4329CB167693CD6E01BCC5F45B14B4D8D939E05493A313D91FE691
-620B176CF3D98C112B74E05AB5FCA5E4927DE8363FBAA3439935CBDC02DFDFA3
-B405E769CCCCADA2156894A9AC8D9E5064EDA098F9216A36886421BDAC6AAE7E
-9A41A1E1F8D06EAF5B2634C421F83F3B393CE9101AAC1CEACDF1A8E062BBEB0A
-35BBD77311DB45D2DFE80C5FC40BA7F164DA6FDCA80C42BD47EDFD127BE6C854
-F8B7C6183C92635179444246239471F53A07F9BA9624159E4E5B0E62D3B6A325
-51CB065E3A70264EB1643C682B0BC8CDDAFD999C4C5C49D0C082C7508B10CFDF
-0B97FF78F3A7F2FBEDF798FBDF73FC049A4102E0986BD80E0A8173D78F4FF64D
-59F821EE9D055103B29C8EF5ABDAF4B7703C93F2F51F3501723EC21A18256319
-34CD3E50796351385A0F9E5D2ECAA2035BD818DE969E91BC84F9CF728D7089F5
-5EF6D436FF1B82C1EAEE12918614FC870FA778A6997824093E0C2F22540ECCE2
-AB9670D0300ECDC0BA5773F3EC8B5A5B0A1A7589B582286769C2E1B84CF79561
-0ADDE0B1550181522EA254D719724DFB464D9CBBB0265AC65554A708C1B77C20
-532410B1398105EF48610E51F7674E6FB0A36EC7F578636E4E4C1463FC099CB5
-BE569EDE7A60C017E95531B220E3CA0E534DBFD549A187255A77A52C6C77294D
-F6DB3CE2AFFA9512294AB88D753E3924A5991BA8B458A96B4FF576C8F00E06C3
-6936DF540A4981ED013EEC9B56C47B25641D639CFB2B285C05E2441259546892
-02BB04B24AF9AAE71BA71D4A9BD6C8B8FFAD0BD41A6D4CF9CC6C20CF5B8F7358
-A87C170FB6DAB203C59A96D8B68690C92022F39A70F883AAFCB078CEC81D2A5D
-BD5C3A391ECAA6228C43F2E406B0579DE6701CD9AAE58393F5E7F9E56BF195E3
-1F76B78F4710167E3D9C19D7117B2E0203BE1763295063C3FAFC0F7163BBCB48
-F6A27E229696B92D877C5626DE87FC163E3B0F590B0E3EA053463F339C814882
-7D0CDEB24F14E0C1506CCAAA1CE4B14EC2DFDC4A4D87F5B42CDD079BCCBDABBE
-21CCC132F23D67DAA62DB74529B4FDE5EB634F0E3FD77408BADDE551AEDE6937
-0670EC7E277FE19BCB4B36B4831DDAC191A308CCF7086C04EBC3C8EE6BD1687E
-9E678D5490DAD1A746319CC33707A386316C5152C4A7A0164CD463670A534D9D
-0997BB2339DC30D328753058602C3A0FA9BF508C0D955C8BF29D2331B272FB07
-5E365F2A04A74594FEEA5CC21EFAB0C5EA5D602DFCF72E35ADB36F9F5B75DC79
-97774D3D1FBC40C9A0E2DA75E81436F267D75DCD4C4FB814E380F118C4F5F5F4
-15AA464E902740759E922DB75AAACEB6BD0499FDE4DA1453B1ED979AF9F18F38
-A2BB21E4140CFAA1DA2CEAF997F4086F34BC7BB2DF69FB857E21576B5ED55511
-3E1113F174994B4BA18500443766AA8285482A391121FD99CB940C23625911E3
-6553A363FC97C4FE91285BE00A8043517AABAB1B276B0050CED46B53A9EED1E2
-078749595463C192B6442DD82E4FF60A8038F9279B504FE6415AE3E6D380E612
-BB95CB93CB48E054032EFFD4DE2F3E0B2432A6EE6A9245243BD61AF4C9723F14
-26ED79C4B2B0A8AD2DB51D0A61768B3324A2D896CC47AD1F49B3520E312ACAD6
-F485C6FC31263ECA0ED87F39D13D32F5ACB9B6406CC928BDE316908106D348C2
-DCADF8C50737F4B745BAB96E3C668B6F5CA01274F4A6D16329EFA2E2A4C4D08C
-5DBE3020DE859BFF20970F5F5CD0AC8D7F546AC164B2A422512EF01273DE9283
-AE697E98738A08612E06CB85F8DE09049DB661B000380A3EB776BBA8D4058892
-EC83E019A74E3BC8793C7AC7F370ECA6FFC8EC6355CF4D8BF19699E2CC2B7670
-DCD34D5916006DB7DBDE93D5AABE5BEBF20C2B1216FDAA48848C4A704D478771
-415B1A6BB2737CCFE9CF0E8FAB134A6DB2540DAE86EA3150E051172B87C62EA3
-4A89FC2916F0AB0941D9590BB8DCB356E1F2AF650D2EDFABFA0FB359B6C4560F
-9F1D3E467685E3CDECC6A75272F723509B0410D5331F76DA8315B3F9AD8CE15D
-88A45A535BD433E00515568A1ED887AE4ECAD35D66FFBF8508F253C1CC437BB0
-F0D7F17FC58D13BF7978387C65261BE0CBE9EBC9CA9F241CFF2C03A37CA9DED8
-27E4B64508FEFAFBF1F072D9F7C4C552E4431A4964B1872D3A7DF842B1890119
-03C0467D143A069A0A83FB619329FB8AB390CEF29E76C3B6E488C9C786B0AF3E
-CB0D8EABADFD0C59AB5A7BB8E19EABC8C4DB1138E37A902378B6571CCA48171A
-C4C7D04527B76A317174E0DF7DC50CA7DC5F4BA0EBBE98321FA5A7BC4E9167D2
-E2FA85F9AE8502A760B62838BBD6930596C59BCAA879ADE70BE761384D6AE09A
-9B0CFF658BDA93584A31DD715DD1718A67F2D7F3FBBC75135B90C90FA4BC8EEE
-F565EB19A1E92C67085D57124A85A6F6885518FDC363072E82A7043C444E2C8C
-144EA64398D5AD4039D1F228469D5D0EC725449D2D12D5DB3C8FB9E38399C7A9
-4A80CEC20EE84E3FCA86A4008073C2D6EFF3D7ACDE4797C6146B6ABAD6CCBB09
-99EFA2EC0C742F7120F05187E6005EE9203FBA5CC4BE3AA0E7CC707EBF5BFABA
-5DB5E786FC88CA67E06F6D504A7CCA4ACC7002F48A0F0C48903EC136850F0495
-4D042D2E55077888D1531C52AE927AF7011D311CBA1BE836DD755476578966A9
-D3A57A609487750C136DF0B646D8090BDF84474B5B545A8C7A6DF1F3932D8433
-D31BE5C587F84A7B03363A3AA801574F210D44C7EBC04880F67BF44A8173890A
-4422CDC3F3F2C15869CCCBFFE19D912A026FA8992AF3A9BC8284CEF8D1D5236C
-C6038982C697C9770CEBB680C66B60D3E9A34D140B5C6B840CFB5C99161E7D3C
-7B9CF4A7D1A4C50E247E1B8A383A4F2E8A4F62DCBAFCFBFF0E8EFC9C0F35153C
-332E1214E9FBE8BB86AA65F1D9DA16B616B8C781E62C2FC61DD09ED83C5F3664
-28C9DB214AF5DA7A5642C0EC18BFBD099D46AA66BD4D36180A9A27BA8007ACB6
-2FFF27E8561AE693635014DE406C91C0F62B5D9CDACC4AD391889315EB536B90
-80F1CD15954C19416F20F907204E7D9D77346E9BE3B621FD00034F57664FC8C7
-1B164486CFFAD0B0475BDFCBE08D5FC6E602EA4BBAE13B0739E5E12CE867B110
-84248EEE5A98819C2213D557B61F8673F75BDB8B30EF39578F46895AEDCBF4C7
-FA865C930C810217322C383CFDF7C5DC75539543310BB2B2412015689CB6B185
-C2EE7990D16322C569FFD5A984B62C9D70789CDD0EAB73B2C1B9FC4834794457
-B27E1967217CFF0651D927E80A97F63A264325F3122B609A5DA01C1370568995
-8BFBA22CA4E98C0F52F6539297DEDE027B43F7C497A266EEC2BCC41580EC4181
-C23CD495527AEA370920A6C7F25739B934E2A9C369AF17C8BA1081AE371ACC64
-93130A3429A3E7488FC6DCA1824F9E38E6683702F7BE40D8B94A8B26967A709A
-3F072207F8F5E5D3DD1A33F48FF86AF9D7A1811CDC2B514D310929D059B78720
-83AF376F2D28306A26BA16DD0D2D03E11219A453A299EB7BC67008D3437378F0
-CE28C0A7F76AA4269201ECCF9A41D62D826F8AFF629C83F8286138609E31B6EA
-296C8FFA32617DA4327D29B6BDB26AE44D3C2A2682EECCB1A3D9BB58024CECA3
-66135BEB39124B865DED7365A4203F98FB75A3062D538D0901B3325ABF1A2AC5
-348262D968134AC8A65139CD3F60512E9AB6EE562BC6150A2C82ACE44C43B6A1
-9B1908FFB320BF7E6E2692C3E9591E302CA42E8C7D559AF6D46C15DF3021ECB0
-ADB9D8772AB897B00C603EDB98A1AFD99F224262410CB7AAB3F80F1A07EC99EB
-398F16E0FEA1932A344D7A6D92DBC26CD262626ACE8D617AB8FD883F2000FB5E
-62AAE6E450A7FFF2ECE3069FB0F58696B762F35E3F551E4E8BF2E0BCA256EAB0
-E1098DFC31D2EDF4CE4D7BD6A478A8CC74A71C4D2B54BB66E534731447375BC9
-B8077C2166A8C31E14A73EBAA23325BFE1ACC9ADF4C6B9D5339DD8FFBE839709
-0A27E30840EF99E72E889F61B1DAC331C871CB2F14A297E14C77723E9192271D
-8082ADF61193D6A42FECE24A285BE83437A1C3897C2BFDD0DEE8CF7B606F32EE
-BD002CA9D590C5D12B49D05A26018C453400018E08FE2E3B4450B78CDD613F69
-60BCA4635E34C5A4E3C02930E37CC8A6E778082B14BB5C522002CC74FD9B21C7
-62A519F2F9D98CA11563D4817191A74CAA80897D68ECA8E373E820175F38F268
-C48B91276D0F41022E4337F8229B060858AD44B163F9E56ACD5539B2A9934798
-27ED0063058416854C4A288424DEDAAEC8BBBCEE76DE7B443D4E2D6F371CF670
-96655CE9B18EC8CB5024D84825FB6F2F8C831855BEDB0B2650E13F947921A91D
-E728C3DB8DC0CE25A35FF4DF2400ADE317AF7CAD468C3CE94F647124747121F3
-9629DC9EC2B8BEC5E29C0161F4BD6567FA681DC4610F878EC3DD1C8047758127
-5837BA93CFCDE473F470ABAD9E5396A8A97D78F5A3EE519A51FB172A72EFB614
-77F51F1F55BACD353FA7C830D9F7EF9974BB27CE478D68E2C11310A8A83BC7D8
-028C165314AF960F45CB8B8D1610D4014F9B6DE03C8CE6D0BCCA6373A7535519
-D52B7A8447337A4199AD5338F1B19257A2C8948767EAEC66B1DC839D679DBAA3
-025D9A12304F0AF9A621A03752DA6FCF6FF8F103B3F8AAA319C467D9B0BDDE23
-90FBCB5A9F0E53DF354D181A4B410153CC5FAC52282851EC97EC6877674E9411
-7907DB40999F33CEABB3F9D73A8FF97C836640644904A60216A09D3FDCAEDBDE
-FAF13E7885ECADF69B3B3A8C7C48BA5EE9DB4BD6641A254B1EA03EDA77185954
-DFCE6D7663227E2A062414CF06B7C5B4B1CF54A7B2866EDDD893D279DC2E2DAF
-FBED736E3A79A72E602E4887CB0D67FBD1D2996EADB75C48F9835776AE604FBD
-1BB7120E428867967A1FBC57994DA71C8E8D3026A7F2599C072DFEC0AD08783F
-946C382B6C134343D4BFB86D23AE5025EA4B36045B8CD72F0C5C60F404CC9F69
-BD8431150A6E598118A1555D87222563AF1BF8586A99DC57D57BCC9977663927
-0BE9BB80703E1DCA16EB9D3F4875DF55B6E1444F71583259E1AF45621DB86300
-ECBA0B07FA9F73FC17799EF8AE95783C168E4ABA576D48C8005CB8F9AA012321
-3D3710987E0F63A71E5FFA0E19365050160D26D2BC4BF0DFBCEF5CC56FB8867A
-CFEA19E4F0C335D9DF403E52148AD098ACA0DDD9C02546B36F06F6D3F640E40E
-0742315C2D9822072E7A6F320AD549D6333DC707E7EE1EF45C34C422FCF071A3
-5C4AE5D9FCD4EC778CFDA048745B741BC17422367EFEE454450815842FD08943
-EE13C6C38B11F8895139D26E7C559C68E8C8DD827F759564961A9157B4B98517
-B93A55BF2744E3E92CB12E6E971C924EF183AF4A683D345F4B20DC378719E8AA
-3E05DBADA8FBC490C1963146F8C057C64FC894B7A14606E1DD0A308B13D8EE86
-4C6C75FF68023995D33E113A5019B6D481EA33600429453F47815F417EAFCACF
-6224BE0B3012EFE7EA729E7A4311C49A0F876B739F35B8AA9A8D6C69A4AE35AE
-03BA6A731F7DC08BAFBD7C4114FFE951593B4D3BEAAE057E450F43E143B82555
-574B05AF742DE8D42C9A92D32EE480CD06671C642554B440768B071E7495C8B0
-2E8B1CA6F1FAA2FF9EEA25065E1D8FC32446CE916DD1F4175AF24ED37D24BCB6
-B55F5C81321A82A11042D1C01A58FAB6E649B2FDA27E258A235D6847B01B98D0
-CC9B15A30C35874E2B5A0976B232A3F549AEDFD7B1A4E11F1A21EDCD65214BED
-38C7CEFAEB6C9D36517908F5DE580781FF13C11519244CED34DBAC55F7B2349D
-6ED7FC4822CDA966ACFA78AB532E76F8F8AA50C2AE5C33B685AA33CBC5605222
-7F1B46E8E1281F39821291401DB8E68B25346BA84696AED6C6800A7D48B310CA
-743948B4EC7F6C21E7E0932220D3B3861F1DDE667359B510AE27578E4EAB1884
-84B21E420ACBF0717D031FE5D8CBF9AC103D5616A29B46469A5182167AF69713
-D4DE5A1E6B269779FA834A39CDA83A1AF169A9481CE31B941F40D2AF7128D9EC
-0AF513405D1448E329C041996901161ED6D4F7B8E6FD2044B7B355ADAF5520ED
-48C4FAD1394E6D03669D1BBEC48808B89B465149FF642E76C1605A39AEFDA61E
-0399871189B0612305357495DD4D72F9683A41E334FE8213D40BFD8630B4C71C
-A1601AC3AE2533B31D39BA2E70B585DB806E82D8205173100C468F5C2302637B
-CF65E7DC255DD861D3633CE2541AFBBE0F6D88735EF80F48D95E9914A797B4FC
-3A78488EB034B7EBD7AC0EC3B1CF4BFEF57DD9E3CFF172FF38D9C9690CD75E16
-CFAEA6105902810790E602842BD16436B158CC600D7C49942F498A364FF47FFB
-A6678DCDAAE1EC32FC04289F070A93C192F172190DFCE5BCBFC13CFF1BD72289
-8DDC2CABECFDB9F7DF9FED80031C7805F52C3D56080692B2DFE103084D9CF109
-F41E3B1996BBB4934AFBF6199F6495F5E35104DAF1873BD33340DB4E110BE18F
-C67EBC1B79A420360ACD2554C5C29D8357CE6E681D767D0BAD46BC022F257C90
-5801F7A52E3C450D164E7C303E6EFB6F899F115DC1BD20652505F6F733183F41
-585524AD75F9A90DDBD46C5FEEB77BAD89877C663EF5C8D3D9050BA851F2E9E2
-55C8CEE530CB81AA6E303CE0DFE240334570FBD39A50714EF05E1844FD338648
-F34CBE3B92CD718270610603FD3AD63A5030CF48C2E3AA11E054E105EE054F12
-2329B7966CDCC12D160739EF5F94FF7069D508AC3801433EEDB02DB57A9BD9E8
-5191875BB9EF249ACB52AA1D8EC2D4BD27998BA65847A929F9C4C03775982D15
-A5F3BAF94F225C0EBF4524377307383331C668A82D552949B61A3A3B3EDCA39F
-5AF0DE18F09CA7D5560F1337B7E5090417C7CAC2FE4459A417B8D4789E721B8A
-2185C1F6697E9FD0B640BC0B04821C93E26D2C01EAC11C81CF376F508CC4C9C1
-F0E81D216D959A130C5819D99A50DD9CDEA60AB95B7024E2B5A4A51EA90924E8
-5E825ADB2F302A04B2BA3734622DBC9A6024226C3E17CCF4B89359D08DA35C7D
-EB8945A40A1818A9B3D3C8456A9837665CE0477B9541BC11C05B6AC8F430D3F9
-1D106FE932BD93EC002D46AFA13F411C5FA6ADF3A44C6580510DEF798D119E91
-18794470FA5A6694F68282BAD136F0705E599E2BBBC79350902B596DC15B06A4
-3F32DA3A415B67A5BFFEBE01CAE0C895E7C87CCE12B5BD4442300527FCDBE763
-5BBA21CE602E086A475C1A54A6CE2ECDF1A5C6F9099252E24F947ACBB9A2CF4C
-FD92F3CA959748844585C354130E592211D39CFC0C736F273AEE4BCB425C191D
-85CBD4ED9A11E841BDDBDEB1DAFBB07AFB459C3C7C1EB9985EA4886170A8E345
-2ED764D40195F79A38D0BD3B10806AF6ED520FE0E728A2DEBF951EB1D2094FC2
-79E2E4443A5A496779580234923487723A760F4B7B93BF088B6838F9ABD5E907
-D717EE24D3DC0B927D311DF68386769012FAB21D94F564AD4714E5F1778D568E
-EF783C9133B03F3DAE41404CC96FDC88816D8D7E40EEF397FE47C697637EA250
-2B735D200B801E14FB8173EAD8518BFBD0C353F8799147DB8630BB04CA5F2583
-B4A76420CFBBDBED64B1624486FB5A0514E651F7AF489790EE4D95B8D683863C
-9A36DC8C3DE90C5E90CD82093E377D619CB06974852736555CC55A3BD95B534C
-4F0481B338EFFB47CFB9F16617728E11EC5B3583EE3856344E092289D8D89A4F
-951DB5C51B49DEBD07912D6530DDD4AF310464CE75FF6E315A06830C62D45688
-488F114BD47B9C7A167729AA3DE3C7E8B111E420C7BA4BBC343D9B64D50DF5C4
-1C2FF51695F1E6511803D36789F3ECF99120B9CC7503CB7013271ABD88C660B8
-5120063D9AD988729736C152BDC6A29F2D59BE887EC71912A9774C1A7BF2B40B
-BFA63CECEE88EE5797276D89CE7988180861A50B1D3E62DABD3686E0B94A20E4
-55B88889FA2784B4D2E14D7FEF07026E323B1B0582E485839662879D193540BB
-BCE7AE45D77256CEFCBFCE658676209DDAFE6874CF079B603DEFB729F1842E81
-4E169DD973E1E1904EC57A4342A7C16812B75FC4F753A8003BFE25368AF5E02C
-76E5790C61F4DD74A432C71DB22B86AE3241358DE92DAFDA95F5BB2B4F7352DF
-D47A7AF1DBF95E29F30AF79E6569B9702600C804E92D67FFFC1A74DBD01A2773
-F4C10427C32D0BD873ECEB3128B5469943740B7000694D1A1A89B9B5F3D787C0
-D559081D2CF9A9E254C0AAF7AD8E5ABCAD70B79C81624FF1BFE218883C4925
+A2C69F817061D6C60B121EEE844CA5008F23DF08D66E248C339CE7776CCC524C
+8CA2BD3DD82DA10C66125257C1EA6A0550766E29C3BDC8B5B878A4D35B5FA0AC
+1FEB3A038C1B92A6B625E7B2BBDCBB2A97CD92E29BC5850422A7DF6E7CD72722
+4096071A3AE383E392D6EC8615239B9357427F1CCBC396AC636B1CA66B232EE2
+191F60A878286CD42C95EA5DAC1472E81C3F47B0EEB6BED36ABBE143596BA7BC
+7B41F903F7B22F5C6436B07FC8D91DC8B1825CAF3388A7EA9E7110FB8560077B
+B2882B7B2D513C6FDF621FD23623EEC2D861F810CBCA5DB8CEE2CFA8A2D5C8AA
+DA59EA9C229EB38B025502C5E625DE3816B77107E5967F7596857676B6F4E454
+55654BFA837D8FA0F4FB214ABE61483F34E2DBB95B60BA52E0ED8486199528FC
+439D000BD1FE0CA35B39D08090E21352A08F54641764153C8F61CF3A1A4FCB6B
+F4046AB159484B2F14A67E06E7ECC9156E8006922FC5C398D6CDB34E895245BE
+9527D1AFDC844B35BDD6D2DDC078475C130E24C0F199B0416B7422FA27A0931A
+1FA6805D4D60AA052A0101BD911C0DD25E870F0CC4226C4C36D6CCD442251B64
+0145B3EA3C2C799001B7AE02CA3FB0CFA545A4A5147787C471D01CE42B40F73E
+4AA293C37F43EDDECDFE3FEAB470385B978E4369AFEEFE6F171AD5A4F6573EAF
+F375A89F9F9CA20FA45750AC1F9A067B8D7DF6A044D9B1AC1CC6AE2A1F15250A
+7C99A150FC7F511BEDC3BBFD64E5793EB558AEF72D080B23E71E1325F3245674
+AE7AAB0F4DFCA0BF442ACC254F71DE3F7B135EFB1B41308310309015E01AB4A1
+0E491A0D4C1A32ADF4786370E01457FA9DD7E915782D6C7E1E9DA7A67EF43F87
+A4740C18E53BB87D1DDDB2752B538B7454B1DD65669F0B395683FEECBE05103E
+347A9FB9C98DFCED99D7A6879DDD1464BBA5095600F7CFF34A18218FB7226742
+8394DD5AC37BB6BDD22E952C535FD3F9547A01BC825A2FA8109068F05946C5F2
+EA9D9D01C879B44F7BAC40C94B0094FE58C1F6F916E48DBBAF6C72C0B11E6242
+C65173EDE7CC47B8AD3DBC74BB64992953AC98ED49B4B46CA94D223E961A962B
+8A184D2CF2A7F92862C6E0DF6CB00D30CF7FED17FEA42838A3F81054A472709F
+F3F002C5DD8DC2E7C4BD983E18E2676A81F85A65DCA00012CD287D6E90E7EB48
+4DCF789DF363D3BED10FF8B9B31D9BB8CABFDF91C3BC8C5A9071F4AB2D3B1840
+FB9C52292B108326F11693A29973B42779425D084A3FAA4F43DDD9C07DD357A0
+CFD35A7B3B6B14C59A1594B797EAE5A3FA54A7AA95EC9ACC31460AA17F61CBC8
+DFEB44FF91E0E144FE12AD252162519820F56A157C07299AD2D715FB80522A6B
+AB8CF919FF97FDCCCA74135BE8E7E5413EA32DE85CE077C09AF90EEE7D78E11C
+589C21B9099F7C64999720AEC0A18123FB67747F75129A4D3F1DBADEC948CD18
+7E1E2FFB400CF428A474D305B0B831133FAAA866BE8205B430C3C94AE7EBFA33
+198952E806DF8F7C823BDDB54677BB57DDAA389FAB2FEF8B89366B312AA6DD03
+7E3A851442FDB1BAEE81A154A2463DA78FC47D10BDD6F55A5B74893F188872ED
+27F6CFF12AD92DD09970B995C1629BE5BB41CCDE25C2857DF45AA650083D9965
+F65A2AF700B3097C1AAAA1FC29C89DB9186E50BA22F8FA0D23591B50F617AA62
+7CCA4D77864FC4AF401D4B1BE16BFF00385D89656E347C52C12A33EEE9FD0911
+95860B53F18BEFF78CC0E8DF76C654F11EDF2527F577CBD196EB8804A2DBA13C
+840D15845E120D5B8C1A710EF6CD01FAD157B94BC2D876C560227F734EB795AB
+CFD47FCBFA12E0C281147A33C80CD1BD8A1C11FD3F235D366D367C9C551CC1A8
+3EA7AF1D7649B7A6FFD1BD8212A00946935D9E877FB24636BF573A5C620B3156
+17C914386B4FCAFC3AE9FDD1E332D3EF2EE5305B3C01E4BDB9E3528B71C40B82
+003B049352A5B969A8060FB9A86D2DDFFCC4BD41A556DF57C23595F9EE6CA267
+649866E117666151FAB8B2DB9AFEFB841A261898DD1D52592CFC0D1180B1DCBE
+B7BF3D078CE3F0C78999CEB964C2E6647341CE2244399A304BA1F90BB164F7F5
+81F0A0221B3F71114C7AAB265DBB3F6F79BC6CF1A7D7CB11BC9AD969416FDE71
+34EEEECB1F7AA5744D6728EFE7FDA19EF74E5238AAC1FAE762797F4ED26C3F05
+2D2316A5F815F8BB2523067D3AF16652A75A12C409B9BE9416AF3BCF4458003E
+F1922C60F94DAD2C549ACF20C14221274FFAD230B1B981248C42876074DD8B8C
+9D81A7FDDA6BE40BE0787E3120C4FBC93A9A39BE4C17164EBA33F15BCF042D0C
+37BC7E678A4D9DDC9519A9C37384383A20AABF131E44789BD4CA9D56800DA323
+8DEFADBD2D6899603F9462782F37930DB52F28479FD84EC7EE877E879987CB39
+E7133F429806EEFA5974E2D16C934353FE02127954BF71B1D1A09C513AB4DE0C
+A0D9DACE1E8D361D4747ADAEAAE6190228E9EF1DB43A99F52DF26E11419EB14E
+650BCE54E9EF0DA7BB70567B1F7F441D07793028FB52A3E3C561B8B3B34B3D62
+3595B9F44F4D74F756FB6B50E0BFD47585BFD99F76634890EF314713383776A0
+C6F34BE7E339B949F523562F81498175C93F635B1747440999E60041A2B4744E
+B8AD0C1BAB9EA47F9AEBC4A5349C59EE5DAE4E6146C184DDB0BD1EC9B859398A
+59CAAED3A72B8AC998BB5F51CDFF5A520AE2C36C4CDB2BC118663DC19E6E103D
+ED641319D3BA89D4702C56D9FF61F3A93E4DCEC715001E46690D4F184B83BBF0
+60B969BBFDBB3F83716EC1480F99ACE4F02209F50AA768209911501F0F2F0E87
+48D8F3C7340963A0C8348FE3955B7C6C8614ADE31305C388E533D26690004ABE
+71AC6D1213CC084F5AA4B66E261D7AC2F16DBDB5AA2F985BF822B23AC30AF0D3
+CBF4D94DEE34515596E3E605CCD98A26FF07603B4A52B6A808F77393BC5B9DED
+620F4824C031942EEC542BC26EE06BDE40DAA2AFAEB124058FEB5ACE034D681F
+51C3735D0BF340444C793BACAFD1E3860017B164697BF118C1FF5C124B88405B
+B5AC38BFBB861A2D076B275CD0CC45504A1021411A41B9B1A3AA413BA9D82BBF
+3022DFD0A1440F2D58BAF9BA6BAD749766900D83368AE48BC02DCE12F6D7CDE4
+1FBC15A80D9E7B377E874AD17C6364F0621B4AADFDF5D90A374A9404FC57055D
+6A138926E75E67B9365DD3D95B6901F50FF465BBD813EB646EAC09BDC2426B35
+EF47D338E3D9EB7340C381FE1DD8E2A5F6E1598618B64DDCA43D33858DAF5095
+8A92152869F57DB7D548CDD16582AD07D5CFBBF4433CC3D487EACCF8784EDD80
+11D3C3054FDB1F78B0FA879FFCC99DA15D4E306AB927BE085AE54A896F6CF3E9
+F6689D4AF2A88C7024D3A89D31D024279612A829443BF35BC4F76DA05900B9B5
+078A7B78C9310279E3A855465731514C9CA8D643E5845873A6D3607F8F0D3625
+C8939779E756B2C6FA565033C8080226DE388DED3C989D5BAE59FEDE462591A6
+ECF9B40DB08A23D764DC5284CD8A04B8749374EC1A6A6732EF0C9852700F9436
+5D9FC748E459D13D13099FC7D74A86D85A18344ED6F7965685B3C54683821EA5
+2EC0C8EBC5188FAEC520B41D4FD68D7B0C9E3A7C3BE7C8229789697D0B265F6B
+5A1FE82AB672357087C05B62FC06DEC6C3465B17B74D40A30214FBEEC649BA7E
+45D4B8E9F2B7888600A16950B9D5C6B6F5777DCC97D04588FBD845F1C9D81189
+E61BA56AE99DABF99441BF2FC45E243415193898D02C0CBE119FDF863921C2C0
+B760B48C9A1F6DF7176813D9E7BED2F5D27E4BBFE9C27A4062BF99FAE432470E
+98A2876BE53794FC7E3D1F2ADE2788E51682C37503A9ECC827867ADEB4C80227
+D9D8E23C8CE5DB56AA2406C117768079FF0DBABB3E5981A48B8A3E3427BD8F6B
+D894F93F5F9018C23BDEB5F4711E87FA5EB142340111A9F7CCCC030BFFFCDBE3
+929A6BF3300CC9B1D79A92C157824E4A575793AE56D27135676431FB6596DBF2
+2A13C8F6E6082DF56F72C7B1E7B90ADEAE663A4C464E4C8C2B2F7AB9F154F942
+D573C87460849635FF730A2BBC479DB662099FEC948830E4831D8114B73C4EC6
+65C61679AB531A0E92967C6B79F711D0EFE29387EA15C379D5DF6C199BCAA16E
+0EB5EC39EC280B03A6A3DE9CC87FE94C708EAA00CD4A62D9AF26B2CBE892AB28
+7ACFF0B18CB1F0455F8389F73C0B490C8ADCAEF476D9E0EC941AA218B2B9F92A
+BBFC310C03DCFD06FD5BEFD566C25928B358238811AA9CFA445FC1B6600AE532
+657A163F95E0BCBCA9EACAC62E401863EFBEA751C9074D5807F8BFC15A304993
+03939165D2F52B3915511FB7E5F231F26D6C7A0D4E769501729EE55C5FA626F9
+313241440D20C0D640B3E7A05DDDE10EE749494840467DC88922253CC4B4B8B5
+11C5B308BC3713A40796E4A8C99EDF166B54E60493DA4A2C360F57E81ABCCAE4
+26B2A2E071B63C45D9A6AF034680D81480D85E10C740CA5747F506DE3CA3F489
+73FCB5CCC94D5BB0876A883D65A47B05C957A68F9598109B1B00EFE6E01678AD
+354F37E28932D02D7F2C54D36945718C9124FC1515D2BA0D25A27084A7421762
+4F2B12AF7B9EBBD0A88E6EF38260FF55C14372DB946E551A6D6A967B008E6B01
+5A1DCCD8E7BCC291D8B9C4DB1EF72D50190372EF58764498360FFA1C3FAC6C54
+B95DF69F65A1807B61EE31114D52C637100E1177B0DF94FECD235B615613A63B
+CC71FDECA38E42C165664A4F2A58F6D679308401563AE85A4A1449B1F5AFD565
+01E6A6EFD36EAF126BE1CBDDEC2B1826A392BAF6141085FBFD78EB36052849BC
+83C05E4E3FBA8E05E7C979EF87A32DD90B8A6004200BBE75FB1AC49106FD1C98
+32E3584DEF229A697E949F1FE8BFDCF59C5ABF9D485442A0BD63967AE08174C2
+82EEE7E97BBBCC83E8FBCE6A8C88A12C181724101C564445F5A9155D8005CF69
+4C06826937C90D0AF736DBBCBDFC70440144D8FD8BA4896910B0DE1365602475
+34763A813F162FDE38214C67F2E87D71C621B26B4FDF379F11F1FDE4668C61F8
+8A65E918BACBEA12F880459CB4D64F3754D703C460C1FEBF0A8FD6F58F5DDEAA
+93D761AAA91B7957D2C6B752D6FF38D312857D47B675FF9B39ED7D30662D307C
+95181DC677A83B687C8A673EDDC45A38B28617F50DCF0D4E2373BBF98197ECC9
+29E5B8F3587AB4EC00B9EF8F0865154AEE4CE96DA350C00FAB8BD1FC903F1E8B
+A4AE1197806FB18DE2A46F66D2F6A746197D7CBC32A8E4C53B249AEB59908F37
+AB12B0ECD227ECD96B19D6553C9F3DA83EA3EF4901AC8374549D23DD91E51D17
+BF101B4D643353D27C69C3C33BD6EBF84308CABAC072F8241A1756109D22E11D
+CBB8CDDA99D0A42FF721F3AFFAE03265B08A7E2E41CD4D4B2645A0866D4ED93F
+911455D824F88C670BF0EC07AA14A9F056A44F8FA2DBCC09FD3E5DA478784AA2
+1909B0BB1AB6565217E0E3AD4E259E1151E49D95DA3188D2EFDC650E768EE9A1
+33F41022BFE0390245046253346B64A292409EEC3CDDB0021FD4AE37B4051250
+2217392D095818D11F927A115F471017E453D7847346DE3FEC8BCB91AA59A155
+772ACD9026A2A93B91DB3A6C4810DA77A37CAEC8517DE28ECEFD9A876494E8E3
+BDC15E6A5585D949098B1DB2DFDE09CCA8DABEBF092121FB9148BBB04645952D
+42079D0DDE13AA59417B484DAF6C30924FC393A8F0815A65AA5989FF738B89F4
+AE62B47D44DB067CBCFB9109E3C24C1DD84C3A581554E2014F3E6A57AC7A26DA
+221866593BB54873745980EF42161C4FADDDD71D4547B69F7F9713FF225C9A4D
+077A0BA2CEB8E67FA239C764ED4E2CCF8A8414E7AA936A03CA49C8263CB62A41
+3A312CBD817F90C5693B7108E1F3EC3CF0449109936DECCA38E22C15615182EA
+5D8E9022AF754BF994D4C9485073392D6F7262C27BB97A0CA68DEA5313CB7B26
+9E999E6AD6A2F30FBD9BC8C61B04391C43EA4A170CF68B4F5AC71D2017109943
+E1568B23EDA8673015E0C5D8A31E933A0F6897C00DCBE5B796DD82B942F51587
+1605982D47DB697EE1951C79C1613B9E9AFB90E2EDF66F9024C1CCA694764333
+ED06424375C7E82B268155C4CA52ADB42263F6648BB5BAA416437427E3C11C21
+D76E1E07630EC193DEF3DD9AE9800F90ABC9B3F79136EB2ED48E145E3FE92B7E
+F70973F206BE138A402999E2E29C570DB2113BB507349FE28BFB0DA21E121CBB
+14302D2759B3BFF2B44E088EEF6ECA611CFD782E12986863F79308E075F2134F
+30F158FEEC371D23E4ADFF110EE78D7A64F21F944F2D8ED8A15BF8A6FE9CE084
+438B244DAE336453662781AE997D62B82EA487F8368F333DF653D6B4627AD987
+30ED43E0402785CEB3255BC003EF67249E22408D312B862762A0E73A982B3976
+1BD5DBA538A3C510F1842A224DFB000698E45ACFE6D701D878CF5EFD80345D32
+3A1C7481FDC1ABAE47B873B196F62D40EF426774FA25F8222051F762FF8A6B67
+1F6E0ED8B78E36EC1F004F24E5698DBEDA70138B12F4E05C6E6738CC84F385B8
+22D1B4900160D9392465937BC948A1645E4D496496051CF45D950A1956F6A00E
+520E2099332A0619771E12B2A6D799046E4F4C2D13D4DBBF4126EDA1847FBA1B
+7BDB0EED2DF4785B7B3170709847FB045833CD9306F2489B813FA5F8B750CA2A
+D7D620A5A425E21806FC0FAFD5E3A2FC4BC7C8B06DF2AA526226BCCAC341A39F
+685F1FB0168AD2E8FD34F95925D0F3DAE06CD5B1C460E9F199805EBCE3FBE201
+F456E1B718641ABABCC92120A62FD45BFEA79BC873B37E88B84BBAF02A2639A0
+A7F190B4AE11A3DD8894A726D33E3B7757022B59D5D3B18A49A4C3322009A48E
+2D9BA8E9636497C71A8C713DA6EFFBDB98D98B9857B9B19AF3C65BDC33C8DE0F
+74B19789E802C9EB7A967ADA9AB8364034651E1CB0AC24DBADD6F5B9D59A0AF4
+E5B6BA95D1E1E0148D5120F3C19A572D7C423EDBE56C6433B486E831A386D132
+3A5C09AD801260C8AE3243B681E12961A0991B876A0FF1687895F0A29C19468E
+CBE4BD85E70EDB163ED03660F59135BABC9B1E4107D613931597B3CA726B41BA
+19390550FEF7472581F2700C4CFB09FD3A56D1B087210CB9F914C5F9B090337D
+F39E009AA7E105964F551DC7DB5126EBED6DEE2CF0F13C27FA695AD4564B837D
+B7E1D1D53C1ED8EFFA3CA0E42BB53262113EF8CF1C2DB687DD3C42551BD70961
+481735DA76956069648F7DF7876EB0562DC7A1DB0E5DE973BB06C1CFB5E9FF79
+5E228CECDC3EEB120D6B45077E46608EBB14C7BE2B7FBBB79E82557D6CB8B3BA
+E4DB56D90F999929C695B53A9F9F70DA04D0717A0C231952E9B3E276DA4A3138
+BEACF8543564074254AA85089688F29B4A4CA38299EFC6DBE25D17A17FED4A76
+2E827396BAD2E499B0CCB9802133515FA9FF61DFBF4CC6857F058710ED7E2DFE
+51F127F90F32050BFC3622027BC0C18E897DA6475B898B9D5AF15B4D03C96227
+AABEE49EFF1803D8B4A3CC0D6C4D36DC5B57EB3B83E28C77DB05DD56E62536FB
+D998043AEBB0C17175D023646712FADBC23BDA28FEECF70A9CA6999FBA5E5C8B
+70D4C4CB9C1A3E23B23CE5BD6AACE1F5AC0E4E6588B4320CDE9A4B1B8C594736
+2EAC45EE51200D3DE033F5D0BA0AF2EF4423ECFEC1622B91EC584875D8FCCA9E
+7D44A26037DA5476A18109D33540C17CD4B45D900BA951AF213CFFD275E60FD2
+D47ECDC7B683EB4C5EAA684BFE45F37D14AF46C381CC8C1103E1924C108F391D
+A153E15C48605ED0480780B012725E9B50E1A8FE6B7D2C656E33F48A33442B0B
+15A62217E06D831B7237EA49D4C05C7CA6C2F1B3C3A98B6CBAB1FC38ACE8922E
+1F1F699F43528EC4E526FA0283895D26390C37C1550C5618826F7BB2B7B45BBC
+8E69EC037100878ACD5D0ECD048D23B5FD06CAF1587AD3E60099790C568E2727
+B86BC7E17DDA26EE8720C2AEB3647E3B0B1D986CF8265F06ECC551AE7CAE6F36
+352966E41231ADEE5D68D30C53D41D7D3F50359FB7BC060C69833A45142F1671
+C23AA2F19074171DD410A722F04FE927AE9858AF0052F0C28B4F69C7A7AB491D
+D4C9C20169E6054E1F531410593F9BB69EC909F0DD314DEECCDC4F5ADC192A34
+3F7070689FDFB32AEB5B97467197FA73469572BBC3E369084A8025847ECBEFBE
+4D475FCE09607CD06CC7F5608F30A164BC5EA08773D3C57695C51E7092AA4781
+F31E528AA8AD26AE6960BA7DD023C702E482715CE85D353DB4C140F6E81E91B5
+94531304C73AA8627B1DFCC0EB47C7A888060888EE98CBF1B8FBD9B4292FE50D
+79CD2FCA83D498D7168F63360F3D5D4B7DF0FAAFD9E745EAC81E78FDDAEC32AF
+6B45893DE552A4B0EB52CDDDF539595D8E4DF0245C05596390D6E8786AB4C621
+7B82B7983403153FB1AB89333F420A7004C9D0BCFD1E576413E97A40067F72B6
+1A1F84603171F1585D1A70131235030BDB369E028C3BB8B35C23541794C14972
+B06E912A339CB6D6562711F701C8C8F8A97D93EA8ED440293B61012B4BE52172
+756698BD042717A71EF3DCAB935A702C2289A94484C8A9FE08FEF74577949685
+46E5409509717E9647BDB4775DF43F65EB75DAC23B59D70CB39C907FA00A400F
+AA9DF6AD2B4DDDCB7EF63C47AD093E14D4C54B0A903A502EE81F87A97D81F0D9
+865595D8008C868A0DF0364810A50276FE89B09F8A64FA698FCE50045FE582E5
+CF8AF80EEB0DD7D5C3E24B30A3961BEE2DF6CBC7F2B957C6C93A8B6611D25BC0
+830A1B9CB6E5E964F39DB02E0082047E6AF57BD46F92436A060B5ED47FFB77B4
+FF4DF28F86CD48E7FFCD2CCACC5360E06193D8FED2C27F58DA205442FC4F4355
+0164656094DACF27508D218DFCE80A644640E72F1FDCD55C22B2ECE55D74C002
+687C0F81904FF711AF7D0A4F70F72CD62F74A6B9EC78DF5F3A07002974701008
+AFF3F5CDC2C89444D13B2DE39CDD9B93C3D4E74DEE89C10496B10499D131EA67
+6BA50FCDC6C7DA2B3E94E26D3A6472376842F107D26DE7D137FDBA19B2DFEFD5
+60898956BE2225E01A0953082E5C15186779CE1C1696B92760C3BFA3B3D3C16A
+196CD51882112DC5A89301A09458B50F605B904EFF42527FA57A0DAC771AD5F2
+F1F6900FA167808EC2627E60333EFD2E7E6DCCC020F88EBB43660E6C302B642A
+E2AE157BF93272C3769C722809396BFB35E97BFB128FA3C3043FACCBA8EC8AFE
+475434EEF95683BB2576399CABF929CC6534CC42A52E52925FE97A2C8CB8DB94
+B83EBFFBFFD36D81A81A7241EE96A298A428671C7D9873EB78CF0D9A6181E78E
+7FDA5753236283AFE40D48D474D9C60FC71C065CFF66772DE7861225EBE41F75
+522334B2EC0F865E4157C50E0F0AC7D4F2C33348021C38107D0976ED3C5DBC01
+58576EE86938EAF1791CA39500112A3E89415D25F009710C7585E8870A291988
+353C8834D8EBAE470E2410D2C3CAEA110DD9A7AF0789BCAD8734E0A221006A8B
+C1B73851DF9521C0B5DD4BE8C05C68B963824C417FE108A7D5006B5569D7878C
+4788FA924073A66E8B4BF65B5A88B02B0FABA93CD8D1C7DA1A4F5976F20AA858
+3CDEB8E5FF91A265CDA61C2F5D0073D2A51E2B6E6BC4183FE1DFD928EEE25E4E
+CB9E12975F280E9048964518DED9AD30E75B97DB4AA4BA6F9A6018A491DCFD86
+0918C75C818E9E8C6FC11DC1F73C609C71F68EBD3C142239E2897AA6D3DC5EB9
+081C49AC4A827F273F8F0B82BF19F9DF6BAB40FE15FA0066AD772FC4451F031D
+ADD0F171C7E5226BD909E6DE76D5F2662DA01D2CE961A19A3AF976FCD9BD42EF
+4DE7160373EADF50596EE389DB3B26BBBF8B255F14E3919B2082AA9F8474A37A
+F71F9BC92EE15CBAC7372FC8D0734625E65406A11240594E5F9E6E9BE3D6F276
+D0CC1F4D1B48B0FB0ABCF467E3A8DB69B1994779DF36D03D956FAF806BF4BD21
+74DC674362757D3A0676973FE83D7521B51D24148F8F3143B0438038C6FB4F8B
+D6812EB54FDE9F83F10A2AEB5CD0EAF58032AA2AAD7F55333A8728EFB6533075
+22F814E5AB848C4CF073CBABD2BAC21D1525FEE000D7B058658A380043C2C3E0
+4AF8844265F8926AE57C0532D68B86DA3ED7BC445FF523C35049FA273DCFD83E
+E7262BFDA7FCD30EA039A49BC490A038C67B0353C91D7B5C904C24EF1DD5087E
+BDFE503DD1C518CB774FEA64F9E18DA2BC74869067B3C17F2E34CD3E9F4B57F7
+243DA0925A39234214AFDF542F5A8EBD59C035628715676FD95A62C943B5E8DE
+DB8D64063240EAE6E3CE0127C5504AB70006CD347DB61201E2339B7088BF8467
+C3099B70DC22FAD3D88B8E122818309D97CE604AFA456FB51D98F2CEA0BFC4B2
+C6C4AAAE38B99F13E8CA24F96B1A1D847B150911C97DFE19E541177C1A8CE22C
+90E680C094ACDC4725621D5CE7A9130B66CC82BF00B16CBCA8E79D71D6D35ABB
+2117F4F3C1B3115C49609BC383D1969172209C393E82FDA5AF966280DD3FE27D
+F5F98308A8A773A04520BA6A949E109382D4A2B1A037913547CBE3427C222E0A
+BFA7551129D42653FBE7E6686DA61B84B5BC37F0F29728D69A8B95A3D149D6D3
+FB7B5BA3C93D81599BBA5832E784ED4D42B9F034AC322B015D3AEDFDC4FDCB85
+3F2C13A0F3A69F7DD95B3B5856E0AB160B0EEF6A9644065D96105682E045F070
+1DFCFFF5E1D9A88767DCF2DA023F287204A97FF6828337B2E1CCBD4AAEA4106B
+97F21F22D655A859114D76EF1EF20987B75FDB3E5DB0CC87910A9B4A140A7DB3
+DFE539684772EC2022AF3EA674AD8B3737E907AFF7DF226221CCE351E39EBFF8
+E02685F6061FFC09F74600D9898A4315E57C0212632062A40D42BF22F79CC5DB
+18C845A67880765B2C059CED91CE797AB5EE22D43236E2AF9BD11CBC7273D623
+4468E3FC1472A840AF6D5BE68F49B5AA69E2BD4D5AE9F9A4DAF964D08FB73558
+B9C585C7674841B166A7F9D977B52D49F0BF6D55F5375FD1BA7108F19EF4D5D2
+40A4E629FE97331F286868B1AEA168B80AFC20C5375F4E6D93F0FEFB5D871CA1
+A2B2CDDC44E619FAA1E108E5916816A00447FE522C5228581A5F5E9D8E5E973B
+B9D5C83BC8B47922063F6B0C300DF074FA4B931D9DCBFF21D244C8F199156A60
+3D4F448F520F2552FCE5EC51BF9BFAE7D0F9AA5E874672BEAC733E96B9C6E7DA
+8FB807E1FD383BBD975AC6CC76775FC11921E1CFD000B01FBC88A782C799805E
+70774646F44E55151610EB0FD0FB27593E08E756A7606454398B805B1C67D988
+1BBD89CB43BF7E9DA43D7C8F38D84A9AF3C3C91BF0417F99A7DFAE7591A8CB65
+92E453C60BF918767186539FD915B783C4F7C29A013DA911F90722E752D8FADF
+DBA87CE1688C862189DCE34CDB060FB7C98E4106230471DB0FC69342C612C13F
+25853367F5803845B2072AC9AB9BEA4561A9B83BA893A73B6B38AA358E8E5AE1
+D7C1F434E54C3852D68A3BD08FEA6BC21370C141512F71873D2DE495ACAF31CA
+8F94D88B44BE5F5C928D2D89652BAC1153F9813F8DCFCE8A295E325462F54CE6
+EFE6C730C317CCE3EFF2A54FE193195911CE7373EFC8BF3C6E00A000F54FF4DC
+94E1EFA27ACE95A6E67A40D63BB97131E21EA6BAA8FF9664B5D717A2746CE267
+3FE9E16E4F99110149B69A90450C308D469DDC2201BBC5EFB184F8CFAD7B5938
+43A825E80A35DBDF11F2160EDF77AE0EAD03E3CCEA232E9DD5696142547A95B8
+0E29BFFF4423E868170FBE9A6A5172F32D01A27F2925CF27864D8B6B0A0B0ACA
+396EDD8AEB5DB7783A81C6EE3F666FD8499F4C1B6B00C4E74BDD2D4E1A0E4C63
+70BAFEA2716A06EE030FFE753B5A61DA294EAA26F5A3D3F7928A0D711531D67F
+AB02F4CC75E959AC1508DBB369D3389EF94524CF8A28B82585CB31D08DDDD864
+E32EE295ACB868A7E98327EC31BC5AC1968CA83F50181E5839407E71C6709AEE
+CF87ABE25904774E406009D99D1D699A5240A7059AFD29E1C65BEC20766CCC35
+461693AED9B8933F7C49B873331B38C2D79E8834D1EB0BC98BE62663203FE556
+F62F2722010E27409CCE434721316C542DA6559D6034934941DCB4863A1608BF
+E6A1453A072D63593956C402FB88F6A725DC3DC1BF293DB990690CF10C205EE4
+655237FEF536B7E50B265FA0BAD862CFE169C0FC20617D4E8F2D6AC44FBE0CC4
+91DB7B97D9FA161522D4BCB26E9F5935BD289C1AE6FF0FDBCDCD5BEAC882F599
+0649B0CA544B6A11CD5B4F54A865CA1FC44547538F0F8E8BCCBE967ACA3F9EF4
+BE3F8EE127F91D8A21E77C6EE195F1C1B533E581AFB96BAF7E4F8C1D653692FD
+D1CCE4AEA7936ED61832EB3ADD42DC4048540E84A6BEAF3CC60320EB9978EBCD
+30D777C6AAA5B2070DA92A3174F8D08357C4272D3E3F2DFD06256C96B93C4159
+D2A85A2AF3AE136D0FF121A0481550EA1D4FA295F3C97BBEFB9AFAF392750483
+C7F6F3BD389EEB987341685C0B5E5B7166D445A39B0E5ACDFC9D439532C4189B
+38E60EA5DD78C234DAE0C4A09CE81A4791854B44A0BBDA49A1BC2D8841830569
+845484C8679D18008C7B005C21DC9E1C07E6D0D706F97A377363CAD62F6C7D5B
+41FF844474552DA1890427D8212910C168D3E2C3ED207BECC366BFFC70138F10
+5045CC71FB0B4F22FD94222A84B518A1CC27DD9ECF670367942F66F286FF3BEE
+7653EE17D950E818B966534A7237856C4D3FA8DAA5F9E4BD49BA505D1B62A123
+8819D938659F6EF9C95B7E8635E88DB4C551AF5C403C90CC1784E704F5A48547
+E788B0480C9AF7538821A643711657F27EE34E27EC499538795494FF6164C31E
+BAB6F5D3B94EA0713E743CA27C653E4B59EA44CE34BC94812F747E10D9186EEE
+19504D8F0FE8DBAAB72E564632A65897E3AF20459CDC0CBEF986CB9A246CDECD
+8EA2554B87F4B756BC31E38429F204279AF60EF12D9582E23DE56F6707A134E5
+FD30DEAC29DBDDD2982C68B1C72657E3E79F9A4B767B0EB99EE59B9F06332CF1
+19C60DCC428C3C02EAF49644541DC47BF07B4DB3245A0657DED22660250FF1A8
+1DB95E016E1F384BFAE0662FD0085F8E350BAE306E3C98BA8DFBF67FD4C8B51D
+83686448603B52941F65E724EBBE33E33EAE5F4FF552476B8A457FE6164F2B22
+6041571E6E7AB0A5DAB29089102E8D9EEEEC7DD724328AAE8092EEC4C9B287E3
+25627DF5DE5305B4B6E20B2A52FB2EBF8A5CAE725AB39B3A51A5850C975CAEC0
+047DBB95267154BF392094B346ECA72D44F98E1C52D963BB7108A332910AC443
+E1E045D423F4FAE2DF02729100AD51248DA805CDE316DC88EDFDC8446F2AA72F
+E63471B713A48CEF2453B39DEF846A6D1A3643E874CA9A0D637CBACABC8C00C0
+D6291898F8ABDF16D659EC77342E97FEE4ED63D91E78AF49F24E34CC10452A8F
+BEA0F4B319E4A46BD76E0768248E258117F8B21CA8B0192BA8EA6B65E35BD363
+05A5895CA6245C3F04DB520EDBCC85EB2740F12C22ABB9CEBB75045276D3EB09
+6284A1CDDFF8260DFF74A2CE0D2554D58E158C29CFC5476D601555059E78A4C0
+9F79557F33DB45F0D94F80AF962F6AAB65A168F7CF2204A06713A270FBAE1112
+4FE694BBD566A63C25BD78469629D6829695AEC70C34122B93E4AA7CA4C879B1
+2E03FAE5E5EDBA36FB0909E6B178E27CE4353D1595AF6141C040F8858E938C42
+EB001FA14B598BF69F5EED3BC71D5F1325142EB5093A1DDA7FA530E021338E0A
+6C505C730D51FE32F13ABF98F6DF645E206800860B89713889936FC1EE2F1B39
+20F969F7FCB6E475875B234640DBE7BFD86EA9DD30EDF8A3994622BB6CBE8F41
+8197096760A7B1B5D10C4BE5EA819326D196CA9D38ABDE0AF39E5F87D6CDC811
+A28A364C625138874EB95F5C30C7DA2B1A1FDAD77E9F8B0C5103D5835AC0BD44
+9FF8D366D0DADC5A5748DCB116C9A5518477309E2D43B5003B1D5CCA381804D7
+1AF5481DC5C0A3CE7B567221B2C36FC8B76C354BD2E657C9CB148E9CCF4BF0C9
+93F80370C6CF4DE9FF4788EC048BB119C7446EAA7FFD84664AAB97A6D40CD62D
+C6ADF39CE276E8AF03B5761B43798F94E533041EAB2D2A96FFBC7055BDD2174D
+258AA669144B82B311F95FF4C93F7E0B2F5096F3D8C36778B2607EA1760A4520
+E4857196212D2876C4CEE25F13996E0AF1A02540A929DCE5D98795C1736EEF0B
+18818E1C2E66D08926FBBD2E97F11413B68DA4F64CBFAA0B43F390AED30B9739
+7730957A5E38DBDCC931E573154F5A682B20FD0F6394D443852A1E36EBB50AFF
+D88DC6C3D47DA4E85F67CFF6C252B562E629F144C72F749C985B6A08928103D4
+CC6953FB922996ABE48E73EBA65521C5D73962526CF4864ABAB4FA6468EBE492
+07151A1CDFC73C02648343EA15837B3A4FF593425F8768C9FAD0EAF946FD18BC
+66672FC3A66205BE6624A0E413CE2748603423D8985913D70C72D1AF7A82CFD8
+4D61B6B5164E6CF74CAAB55A8BFC1261AAE1548E0F4C24AC9CB821D5AF73519E
+EA2341356FFF0ECB3E993CE9DADDD302C9BFEC9872C7CD287FB2CC30FED276CD
+D911A9A265D2712D9A0F79EC15BFBFC44C1BC5E7D38D81F149E2834D82FA9990
+B363BAC070D49FCE6A8EBF1808DD99C6DFE1FA2756278C2FD59C552764D33876
+A90FA5912BC089989D72C140D0442AF025C9A05A37E229E70491629116CE9A38
+546BB24C45D02BFA35B5755D12B5A3305921EF47BFFA4DECB75C075EE47EF767
+8F7F6D8C04513202177390646916AE29A3A24CECF846713D7F9BC04FF00758DD
+ACDE363C22D32D0C94D45E93C720A4604EE287263C71A321BBF2267F97F25E9A
+489BF6C44B0ADDCF0389612E6712A29ADDCED6579BA6AB7A0DBC2E8AF22D1588
+D44201F379F11FB5F45A7BB2AB8506551ED2CABD85CE925E0B48D9D92ADD9637
+99EB1A6492D08DCAFB141EE2210197B65AB9B94B6AF31ACC9FEC9C8F7B37CFFB
+58A804B106215001E27B7C6706066B0192ED57D8711FF843245A3A8021E3C8F2
+72337B6F3A4EF86788526EF0B3220215E7D5DD384F2737FFEA18CBF2A94FF79F
+07052113A86A983E151FC8465A600685B4D67FFDC7F826EE63606EFD47DCBAE6
+B7A9F5C9402660BDD8F9272FBA01BE54CE42CD1C5153587A933E0DD3BF4D54DE
+4057EE62A74A7273A927B3D26102E8F2E9E84750FDAFA69C70BD91D587FF4D8C
+FDF7E0524837E64CE6CF4FBBEAC12D846083C4A33207B3CB03D3AB7CB3A9BFD3
+EAA32C0F4C3ACEADCAF16D878F6CC728BE6C92246B9108BFEA821A36591EB068
+9882B591C4509D98ADAE845F84D555E6D39F6713EDE2869C80672C26EAE8EB43
+D2D46EB80E930F4A05F20CB6AF3E3C4AF92FCB85DA8A75F425C41CC985353F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1085,263 +1673,6 @@ A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMBX10
-%!PS-AdobeFont-1.1: CMBX10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:06
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBX10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 13 /fl put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-/FontBBox{-301 -250 1164 946}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
-7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
-77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
-2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
-FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
-DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
-7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
-9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
-CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
-6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
-E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
-8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
-3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
-EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
-0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
-4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
-1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
-757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
-0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
-6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
-E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
-61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7
-92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C
-EEAF70E3B20C64D4C2B34A084B5770BAB2A974E898F62BFE90F132A37E2DCA4F
-43E13DB13C94DFA8ECE2B7374827AE168634FA007F8981ADA046CED3448BF453
-FCD9A4F194FA648F9FC0971734BB69CB75348A88CC361FF06E984C86AF0EA429
-DAA5808CCE3583664AEFE0C59EDA04A147FB51227A5AB0C13942323E9B3733DD
-3EE7DF7F774DE5D0D0980DA8C0192983F1E3EF18481EAF1EFEDA0068BCBDB28A
-7FC7D9191EFFC574588DEC1E180341DC959F8EF56ED5B19F50AA82A4653649B7
-CDCA11A1FF27AFA7FF189A7E8A7C0E94AEEC901DDEB541604DEC0FE90FA0685A
-FDEADECE61CE2731FDDF7FCF2AEF7CC2B1EE7095F483C2597F66694FBD2AD81B
-F68FF2E378BD8357CD1B60A1CEDA2DE760A98868ACB45CCC8CC2370FE267830F
-B795058E0FB0EB3C625259C36BF9AD2EFB5C64A45797E18797CE1A2C0304CDE9
-9D88E11E878A721610EC57958C7E80A5E78226017A263288DEF5D335199E8F28
-787DF769550AD33E15342FC5E4751F8865AA66E78B8CD2388EC3618A619AD302
-5760E9F293085CB54BBBDD47C5ADC3F479E39A795541ED8CC921D1B41C9FB1CE
-57B1340BB4BFAD1329EE4EF2DE599944404B7DF94C759037CBE96073FD77DAC9
-B140B4580EF178A84D0746276D6E667E26671117EE04102304F2F599A423A687
-53CD9E2B061D02D54EF56439E33AD985A84C1CA8F6666CF7746E0DB19A79F249
-AE1F7714AE5E1D6723C5D3AF86E6ADC9F2BEA6A62C3C03A67414A99FCCCFEB42
-4EE4BE9FC8A530F06879F46889624F7D704EFCB951C1DA1613D55D61D33F6213
-F12610A6F071E79918AC289EA5A3AA9049229902B646FE14E8D19DBE673E1D7C
-76577E34ABE80ECF2F5D6E13CE0926F0C9B11F5E5D17EC5986042BA2AB6B1EE9
-B54CF450D616DA46373918953438A7BF83A5707CCCF26590A7EAD89B5D357947
-0B6F8BABCE6FC66BF2AF462C2CB99B5A68F1A2C237143FF92C2646B149EFE040
-41F97A52C48474684B9EDD0F3D0F3838AFFB70E7F7FF8CB8BDA06483F8DD04F8
-914B752F4C116BF243D31CBF9ACF04DA93BDE4B87D181C42111A2C90181E0A11
-9E87434F46801D6CFEB350467A78A899A70DC8E12CB2FCB376647F5A155A83C3
-77B72A0E058550E0F60C273A6320B331A6EA21B51F5B00B6A5271C331235A8D6
-FB9BAF99E4565B1461937DFF6818CCB8A8483BB54E58726C1DE836B9C4706491
-422F243DAFE6BE7369B09D87BC5CE3BC8085344D4C845A45AA9D915695F9BB8D
-9B06CA358A3A330694E6D269BE179704DCEDE985C2D886B7B063AA7F521FC8B9
-E79876B9FC0EB9BA8441E3317316AFA050E3668411CE8134224945A30F2EA5B9
-A5DD581A67B9ED8497F91589BC155957FAB5540E8BBBDADEBCCD2F603DF46B05
-2BCAB7A7EF420C9B3F65FFEE9BB27A58C0EE923DFEC5353B929C620B3DBE5907
-1A9A5C6FF4159148CCD2E6CFCC6E3C177C7B9B13E9D3BBEFE3BBE38FC35F2ABE
-5EBDA74E0C1A3C6088F9D4DEF480CF4159D21CC2053245EA9EC1BFF1FE50185E
-D3E3B571B0993AE6EF09489BAEAA2C651E2B36599BD91EC9CF3807A632FD8242
-987A4BD933A232B6B87B4DE659011DF6A9662F41F92406BA64B662E39B31F32A
-26E6383E35E94459E74818A1079EDD7E7CD7DAB678673AD6323A17E88BEB2179
-001A3E25129CE05627CF59CE93A0B573BD76012EC927D1C1192A4AFD93425E59
-AAD0956F5C7D86B041209C43F812FCAF2313A96D43C46130D2A97EF3BFD5718E
-C9B828682BD0FC3A8C1DD860018349469AE8C381986C7320BD5A43E9D8B6BBB1
-59101E0972207B00682D78C7D0D38BBD88AF888A1D40FDCA4A69FC37A674FADC
-B42C18CCECAD4B7903E604DCA338B1D285C1FE487F5908E91D24581DD7E2E06B
-F0FC950B0BF19082B1089C7B425FF511C296C50446E70F27D06E1507CAF0D0ED
-7DD1174A7C4B7A3C7AFD5F839A29623D84E230EEEEB8447E36922B89806FF2C8
-AF69B87071E0D539B09480BC55785C8A9D80A46BA1248A18471B33D92A13595F
-0EDE6193F5EBF1709D42A63E773ED530EB0B04B8D6A1831CF959644F27D6448E
-67AA52FE371F4FBA8269324A7E8B0E41A605484F6865BE95E17DC2C4BC1FF8C6
-6CD446D36AE4AEE4FA368AC1C040829CB2B306993080C60257834B13D47DA51C
-C091CBFB4CE934C64703826C4EBE1A51B41DA786A6A52A3247AAB64EF62554EA
-E506E462CFB81E37D2BC162273E26308C11057A6F4D3CA089F1D7A96B27EEA60
-CE265B2E1C4ADEEF44AEFFD1D93C4FA05ED77931DA0505228B03B4D63FDC6266
-B0A1BADE5C91E895BCADF2091E7BE64276CF0B3CD653149127C48600BF42FCF1
-49812AE035389822288DD5F4196447D266E737DE7D84AA2A1EB338AD0FA8D70A
-EE35815425EE181370751E1320C7DEE6A4FB3C3118A7F1E5CF0E5D3BE9F34A5C
-E22C4C864AD700BD51025FA86A225F58EB79F4F3A875167E88623E8D8B297333
-7282BFACDC57E51AAC431B40F30B5348393D8705829264BE437E004CEA8DAC95
-C23756E2165F046D62361632E44C10C54F7A0F569A87E2C814B0CF44E1E30032
-A91F58BF9551E9B9EFA5D7E91B0D5D19111DB04DBCF488D3E41E799C3141C641
-7ADA4AED435F4C8F7E3FE50C83E1F8AEA74720D1742D5D51D400490BBBB383A9
-B997B337E2B3E21DFE4DF383F8EE183A2CF426C8AAB91A083C7B567CB1729DE3
-0CF5CEF028388B1D8C5D6CF58752D6261F07DBE1A45526811F4E16EF0936AE24
-EB4FE66A6F008F525660CCD5B8C1DFF81D3C3B90569E1D02455D0A5B69C676AE
-1100E168882E1B027C80E13D91B04945E24E9CD66BB2D8A472DB7656217C7740
-478645255E610ED1660A009AC5A6A59F7276598F53DB7ECA14D98FD8FE49243E
-987625F370D1B018D89396152EBAA897EA46DA433274E28DF1F705BFD767D093
-F92B3F50F54F0619F3847C60DBFF60107C1B4FA5FA6AEEE5D53163F185EFE0F2
-11D22F0C863BD4D11A04445F241CFCA40B5250C646ACD15126FF98F6A2CDE37E
-D00377785349BE7C346F790A3B5B2186A853B8CDD82819231FA5B5FDF25915B9
-6A206F5CC7C194AC07D09DDC0CD806A662AE92945FDAA10AFC8039A221B96214
-214B719784E9A12C9FD5AB9F7329249FEDB3E9D40D3A88330FC39E426795AC2F
-4FD864AFAB653FC435957BDFD52D34C3F3A4522C716E55E84337B5C45E6BBBA5
-3808AEB1E1B60900D7A8C5F67E3FEBEB649BC52A0676C541DED315AFE779682C
-30EC72067C498E1664F4F223BC883D88620D7B542DAEB0CA003B3B171ED2EC0C
-B9E7AA59C09748AE95451E181185180E137013F6BB5D8F3592AF6A397DD70625
-5E4208BE09C2935737333652CE9E4D5ED5EAE7828E66FF712BDDB256E1E8BC81
-7B8714D29A3391CD25BF8A454864E7D6B532A9CC83018848408174703B86D68A
-1A5CC929AB9EDFC761E19294E9201AC307E5A836482047D0CBB0088C22DEC3E7
-A543B962151B9BAEDA8415DD0B033756CC0F098ED8043D9DC258300DB9A634F7
-C28CE3903FC903D398EC69BBDCAA656F53280FA2C4A4732D5485F6E63059D97E
-25C1BB3BC0FF5C49F10D137D7C19C832325A60E6A15A33F2EC4134905059DF64
-4454285D9D7DA92DC963CE154116CF05BC3A35E6673B29FBCE645743245759A1
-F4C131ED6766428B7AA5E7B6FA0FBA7418B620EFA4B837D6187507E00D14C8C4
-ABE61125830B95F8A4EA8E636EABB5B7278A960A761C63DF55F27E310869507B
-1E7963245669FC6A6F7CC0B47E9092614EB3124F590941F75F1E132345439BB8
-CDF5DCE540ABD05EDC63F5B6148EB75EADC57A7DB8DC6AD2101C616480A43600
-E16B14CE6DD00F559641BE7C03E6ADCAF332BFAB42426A32A5EA49C08095EA9D
-D8CFEF2CFFC99C6AC54B2BC381E00AFE9B3D29F16DC87C475C11F1E5CF52C004
-09FF20C7E7D90C5078D61DE6F307D4EC307CF2E593FD96B8712FD0A0F737A8E0
-AEF09E129E7A5C2F577B3F1DF538D90CBACF1B30DCBEFD86A9895D44FFFAE70D
-9660A3F8A820A466CD431C9C2C06FA00CE7DAE4419176E35616ECA9AD2239A72
-EDB1EA56B4CAB9E9EFF8C3E22729261965E0C060D9B15A8A6F761CBA35887E01
-428750FEE2A583E314DD21F65B8D032F3F7F0C6A7CAE0AEE1169BBC762A0D1EB
-C4E42C18B827A986C3AEC866699699A8318E88386646156CC3CE3F3A47230269
-64EAF40964EC1A52B342C551EE1518EA4C6551C3E9FFDB4F9BC87743D3A18D71
-F60486A40A75597BA69674C7E9B71F1B3E069062F8A603DAA823DDF0F26C03F2
-E2BA5F18273C7CC45CCC040C1E0A01CBC5E3C964988FAB19D1543A2C69F9A241
-36313020AA851C4EB9FFBB39CA7F46461AE6CE7FB5B5F2BCED463E1DCEA983AE
-4650CA2D8D3032046DC15E7AE5DA2B6B7562BE28F6B36FF60720173B6096F93A
-36994AECF7B15DF9E1E1A7FA36E2515393B4E0A1A5DB4D7414EFAFBF04A090C9
-9392F0A2634955A3E1CA3D8B86447E48879E95DB4F4092EFB954FF00DAD34134
-4506914914E3FB81CF7455F3028514E95216CDEECF6EC5917E1277A6A3B70B34
-E5EB97B91922020E06CAA774324AE2E29A516F28FD6E718502F8EB18C20A7627
-FA3BC8E4572972D906A46CBCF77A87912D5E523C9C205BE2A2593B0114AEFFD1
-4154E62A82CB766EAF4564FC746DE08A9D89FFD2E9F0A79633555D0C8634FDB7
-3E8F0D78B440DFC00C5B02E4E22731E82FF4110F4B1C697D9285C881E8410639
-C6BB1173197B2AB21C27FD4381BD540C35F56F44428D756B2CAE216257ADF5AC
-294B1FFFE9F0DAEA3FDEAE3B206556EF6044879DEE2E0359B7F03214AB14DF5D
-DC4B0586328D5EA1248876600D9227D627B4B54DE7C4324F438BEB9C3B176A15
-623C28BF6ED326030826EC104DD31980A04FFB0B5420632DB31B3E96CFDA14F6
-F5D59582C1DA4E9B9C2F054C1468E4166F88FEF3C197FA50222BC3EE4629B9F7
-00BC3DF48D0D490F17185A03C2A5B36BCB4CD8CD53B24CAEB00C5C3F82974E84
-228A32F6FC48B21E5AD6778D856E914F7D133BB316969E5D42D146CAE8F76733
-DD146D73C7B983EF91329D39D83B21BF916D27CCB0194ABE686419F565450CF9
-83B3B1205B9F393C0D832783F5C3BF538B365B232163CFDA95C43351CC77CC1E
-3834CE8DC52A6D4AE99208EA5F0418E0B2AD004352F4EC28735EE7C5895CAC30
-CF5851B221E40D124D1F7B4326454390C3D35DB4FE98BDEE3E35F1888B795CD2
-47543AB21EE6B1B14A98CBDE3AE262068132C55E8DE92CCFF3B230BE04E29516
-8B072B52001F766E26775BC17F3DE4FBED085570F010C67BD861E39261FA16AD
-537DD595AEF258E579784CCCDD714018EF547FA81980888CA777FE6DD3F1ED23
-1C4AF7E15CC50E6FB2C4C9689E0FCD12A79A9E35EC43B53400A8EBEC365D3D80
-766E50660757A179708C6D33D83A4C6B964F7C89426FC6B8E56B62C18D5D0D38
-439DD18A60ACFF9FF4AC30AD8672537997B5E0DA80D6AFEC5FF084057BC8146B
-E3B8FB430F0F4369FA1CED42DB88219946915759B06D45305C90EC757B3C540F
-E5CD32B7A0A3CC5463BB9107338601E092F57313C7AD6148130F394E1135E1FD
-BD1ED3D8DC1361D89CF384DEAA0DB95C45FC78FA5CF5A5E50887C486ACF50DE7
-83EDB18AB747BBA8C7D7E2314714759F1D46B13B69ECF5898FD1C2CC5283B113
-9D4E8071D17759CFCAABBC01B266E471BAD6717A8CD101E98A3C2AB037DA6F41
-1AA5BECEC0BAFA3DEDFC486CDF0AF48EFA9117087326975186946AD2B1519D95
-4EE8827EEBADA88A44C7AD29D3BAF35C3B81FD69FDE31DA47D8EB2BBF4B1DE58
-EB5D3B1C4466A670CC3397679BD09BF4AF56C09091A97F9FA40C4A7B9D0ED0F3
-5F7F0DD7031A6805EAB6EE1B6FB2326C7C54E716F388FA1D9D2376656115231E
-24A3538589228B1D74D78E3BA2F92401F929EE1325ED43E274761717152B407C
-9711C4EA0F0430F835CAD9B7E2048C8B05EE8A832C6E571171C7127DF003C557
-FC6DF91C41C53E1BB27A388FAFE3E47BC0EA5EF7E6B0925704FD522906D5D2A5
-49DC34ACDFE059C67B057F415C32DE5ACF3EDFD41F89C9ECC9C51CC58FFB2A7E
-EFC19D8AFCFCF0EBB4758DEBDA39439B18AFAFC3C5A656A83F30AAE799B78930
-C056596AEF43E473B3AC6E0114759A2048D429A7EEB8CBA7C9CE9E7A8493AF79
-32354FFBA5FB27F24A343C608C5AB5CB6FCC962DD46A60E7BAF1FEF39011B500
-5C4C1B195C22F668D2B9A8F6F4A307BC3BE10B58C500DC01753241FC22197D9E
-2E37437B4DF008E4868B39C865B5DA92AB147839FE3E0F5AA329F901B745E908
-5B5B4ACEA87701F16A7BE07B0B5B1D59BC72AA5D7507CEA5A3A331F085D33E45
-2710B96F2A130FD5669CF15FCB986C9F94E67F5E6382F4830B5AEDA4DAA82B47
-797A2DEAFC0B851C101CE4A9DAF6DAB63CD22AFC1127A4DCAFFB6F5C933F8D72
-04F778DC9FE9CE6E7C93E1AB6CCB82A5D1C8FE0AC18FBAC2684AA87592337555
-5F3D53E2A9923FF626B74E7B0C248490668E0D11F1E2CB576D5ABCF9FBB714D7
-961A55FDF0B26D863DF9937494B161A28EF983DB65636BF824C04055E8A6E75D
-D3A22EDC7EDCF47EF5DD95B506AD0F876F1119F58EEB6D838C9F3E1A3F65221F
-721EAD4FF3DD74355745F8BDAB5FBD835A87546A55C6C1648C2982AF76E8A760
-53DE528A5D0DD02B1F068182AF324251654893A61F3A926B6C0AADAA4D3A6613
-B4E703B86F1C3591761E78C86ABDFAF9FEDE1D4523612C2F461B06FF27B96A4F
-E7C6761DB1CB573DD6F76880C1678828CF3706C85B76F3BC292741468CD682B6
-C83B99E5D047759A59F106BF5A21F6BED5E2557F9F3FBE911BC16DE30E830FEF
-66DF51B9D28D6D9D49BFCDA1D2524F83DAEC3282A869E0FCC6D1422789055A80
-1370617A02A159DFF29350EEBDBD941A6357BC79DB69F0726AD66DDB5C8B4B50
-C49192B86374085B8382E2FDC42C314CB58A2C46BF0976A1D9D6A365FAFC08E9
-330CF2E2F3B26F6D997F56C565B113CCAE3F3A979825889A7B7EAEC1E6521E8D
-C7585FFFC2CD3AB2683792C61570DBA2E23C9B66354C2AF757913E785DA632AC
-CBAF1AC1680B13227048D5232C722A84EBA424483E2A0156B538490A0DDF1435
-CD7310DB183F8C941BF1B203A068FFCDE19D09C161375FDFA300B84110531D1F
-735A96C6A2D7F55AF41EF32A81B44907FD0C922EDAC6231D7A19868F4A67A4F6
-E9DD38552B2E56879AA11FBBACA27883CABC44676E22F99CED0E47168D692B61
-7221A595656E7981D35117D729F9136089A3B85CB733D06B0286A7604A9D692B
-CBF2715BCD63BC5288943F2F1432E086165F4F86425FC03CAA91D933E5768E39
-62B1EC282DBCB5DE928A51074C2584A6E2B49C67BAE7CC71F893FE10C89ED1E8
-7C3DC2E3FADD3672D3D6CF95DFDC2D9248A6040E4291D9DCDB0A680AA70700AF
-F3A63FBC3818FDA1B73FB76BD1B21906B6E7EDCA248D1BD4863B0A438AED4707
-4D775B8D9664E118602D16D8A89392C1E5BA8756B52902CC65002F71DCA33C7B
-71BAF36DCC0DE4BC9D11381C5E48
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
%%BeginFont: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
@@ -1372,7 +1703,6 @@ dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
dup 43 /plus put
-dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
@@ -1490,327 +1820,324 @@ E457EE415EC91B8FA42F9AEA4E63ED29DA0BDA7A7824634309E57D721A422806
EBA4D2DF543A0050108FA7C6104AE75ABD65EA7274C12CDCA7FCFA6C39F8014E
3FF49B8FDA5FF5956B72F581DC7CA6A860D2BE2C522ACDB1012E622D211700E6
DD77FCC8AECC89A787D2F047F08594CCA2DC2658D2CEE3752854AE62F5AA846A
-E022FC901203388B0FEEF795DD5BDAC0103B576E5C8052A696B8D6B3EE6EA3E6
-70E6B2646715C9E74043ADB3ECDBD95A5EBBF4AA112FA800B833CC7FB49F8E12
-35B98E34D63EAD6CBD062C1AE5742C9209DD34458E39EB8655E6B527FA848B86
-53984B3E009AE9D16AB83276141F2ED66D8668A2D2BAC65EC966102F7A8A90AB
-3469707A2778A2BAA4EF3EE6CA7CDDE0B2D7C324D5E17D8D3447C7DB378C2718
-FD1506535B0DAA1FF41130E8FDA53CDCA01893D9427374A0F969A7D69917D208
-370931CC09A9C208EADDAE21563370D6DCFD1E591848685A16CC6D9E7CB721BF
-DCBF09EF118B1D13C0FDAA909B281BA48BA7AD6C7A73A0AA5A4F2DCB93E51912
-51AA351E1ABCCED1DBA4DF7D97253280BEA5C4E123D6C2BD88C3F361437144A3
-B9B93F0C89748A06DCFC12D821107C2BDF700E997D75F69D5F5E9ED4F1C1C474
-AA0E18D6D9F021CB238A01BF3FCE903663E4049D19EA3C07707E779367B696C0
-50BE98D3D4CC8F356F3B4ED8B97BE899A205358552A39355E7C672FD88B94E04
-6C593496F77783ACBD92A642CABFD0AD4150A5F7D7970C02F30CBB0F947AC53D
-3B78A010DC543131E6128AD18C9F9D3030101E269EC58ACFB223C121763BEC1F
-C3A2B8ED77E75395B2D2349A2CDA54A740F0074309C516D38FA7D25E14B90B47
-8D919C4E0D57C84F717E297425F4ADD0853749B9A21418E8BA34579F9816D46B
-DAEE0D92BE78A093BC2846AA3FD7BBCC226C417C6ABCC4E194A3BB7EF01DB553
-DA2C3EE963DCFFD81F9D28788B092D0414BA913E25585D8D884977CCB9CCEB84
-5803FCAB0A16B77BDF4F21D22C850CC32F5E5883453A34FC12F50239DCA3961A
-F4E9F1EA81A6FDCEDC0A4A053203D165BE090E639AE340A1775358D00F40E960
-CA1B852885B0B040D76D61F3E3AF2F525ABE6095544DAB11595C5B0AF5E0ED37
-443A7D44AF469C1136C8E4670DA0CE541B6797CF9199BFB907E4DDF141CCE2A9
-BC2F72401338CD90749FFEDDF626AFD2578388B1C41AA44A033BC4F51469257C
-193A2B62A6DEB712EE81A120A4774D7F601F1FD25B074E94FC85336B79A9B4BA
-66B807F0FAA7A0A65DE3CAAAD6326F110FD7FAFEDAFE4BB55CC50AB35B7DA8F2
-9F4F4907DC451EAEE650D67F0623D7FEFF4252D6727E16FB2961167639A6CC6B
-AE6966D7F2B86F558F706DF92DFD61B07DF1B9D5C4D5F6AD7E1F2DC34FB845E9
-D151F2435453FEF430A79F1248DBE9BACB7F4BBF181138277208EB4E01D46963
-9D38E06D81EF314A8993AA7EBA9BAB51A02F9B0A38AF60EDA811C1BEA5A2A538
-E5A5834625D892A0D4EDBD50E1A6F7B5326405DBA2AC5E67987A4E68C761DC6C
-4DC14CFB81F7E64E2ABA70BB34214D39DB1F786F410B0AF211D95850C0D7CED9
-F7D421D1432CBF4E642D41BD7306F89AFFFBE22BFA3CE0C0C991711C475472C2
-87F2E0EC27C8E12F3C8198051E4EFB4BFD7D48FDE19DECC18B7A4EB5FF3995CE
-5D5EC2AFABB33F50F65C541F23FF7B3428BEECD8F4B6B456579A55A91ADB1F9D
-D32CA440884D36E77E43F532E1A558A28D9BC89492EF878887E8D1D54EFDD0A4
-148DFA9BD5BF57DB9F0B05ECA64165D6493E079ED13D6A4173C2B5F868484262
-5A38C1763674544FA86A017B2CCA3F553F33D2BB50B1C2887A4AD18BBAD03E0D
-66AA907D2C755BA4FDFF7AD251439DA0ACCDD0A6A9BFD8BC74C0FD731918DCD3
-3E5DDD3B97D2D8B15A759F3BACF7F2D6C7A1DCAB9F5CBACA46547EE4243F46FA
-14559105B14506779243C4D98BFA9BC319BD3BA9ACC048038E8E8B14BF49881F
-71AEAFD406E065B3933CFE3E4C08D5CFF2AC90AF8E6A96CB802069CDA7AC92F7
-DE0A370CB5AB593E23B2B9037B44DAFD888C4380C1DEB6693F5212919AFF44C1
-FC66298FDE6321E90EA3C985AB96C7E600B50506D9DFBE405803B02D3E998D06
-F9B7DF3C098BE3E489DEDC21A8DD358C1DA0D5390DF317ED309F6AD082C7BC23
-EDE9EC51636D4711CDECE391FBCC0C5277DD5614E955631DD349DA06D047202F
-BD311D6D70303F437EEA0B65B90B8345460F2BDF324FAA2C7A8F206938312C2B
-63B4E7B51DC727BC7F8EA99509C97626D5CA84B3CBB5C7D65BE822C31B350695
-24E93E904C0DAC7BC53B0920B4F23FB0916975D5A2AA52177937834EBBD82B96
-0892D32316D48ADF29518E4F8CB316CD650621B1A021F6855C2A3A84AE6BF42A
-9DB4D209EC532D8ABC7CA2289FA635B14B5C5C59EC3DFC0DB504615236D106FE
-98363DF080B162F4CA4701782AB53BCC0C7650233F5F7495C72F7523440B44E6
-9842A608A4550932671DFE066FECA714C054A80664CDB9272454A0CF4F4CF071
-E0ED8A2103FCCFE2FA8289C2F588CD2348E33D38A12CB75DAEA71A5D9DFC9463
-CD7DC1C794AFCC65E597460E28FE42B871C4FC8407AE12AF961312B28D4DCB4B
-42172E242CFEAE3B22838711999308990B6D49AE7B65D9469F4712834134CC21
-FAB9EAC1F23B2C8214A1F00F2B59EBDC8F77C08F6BA6A907D05F614F6DEC44CC
-C80993966950BB43BF8F9395BE2BC0C2AED92C483850227D254E2856604A188D
-83282CCF23B170C8EA1F01FF9BF9CE49934B1A613491785249B9740D9583EF0A
-1640869CE4D4FAB60F60D8ED862326817A50FFF03AF0978DAD2A356AF78D768B
-2A12B2DEA9193EE82FF34CE1075457D4F325609C76CFFF546E59EDF5B389CD92
-459CAB05D6DF84254B85E1C220A20BAF6A5D81BD6A83660640D2588354281B88
-04DBADA8203A1A609DAA208CA8D5596ED8392594597441E2900CDAFFA49FA51F
-D65CC39A02AA7CE7E4869A58D29D37F1C659F3A323D7A91F60A61FB54A39B266
-DA47A5E39B8BBBC317A387DD18633A054B2CEAF502B131E618ADA606486B749E
-C6E64CA8745820C560988AA44B30B2CA0A3997BC572F50F0CBAF5B9CB612474B
-661C4211569B1A9591557A197CA580B2AB4ACE30362D08D9793743127E5568D4
-2783C4CA7C07E20B43C749AEB5FF0C21883832A0FA943582FEB3B5010C99FFBB
-A0FC837C27FDE910AC56577FA88F3FAF575687DE5A90B95835154EF384F00D4A
-01AA0E48209DD042AF03C9C7BEAAA31E9BD00AAAE10EAED451C01E377606428B
-B0672BF8F10F7526F84ACB5446528023E01F5E5D4AA4EFA9023492F03F60893C
-EA25E14FC4D26478710C3DEAC1E534196AAEEEE29D266CF2BB9B80970B677353
-C97D691545D78222988FE902865F14F44C079CF7C14ECBE561680EA1DC4A6FA5
-7420C58C4EEC87315A4DAF152222BC979B0CBB4EC17049F677D1C2BC31ECB5E2
-9DB869D0C42363DEAD89512B3560AB65C05F21272A5ED159300C13FA74BD77B2
-D96EF810EFF4F64A864BD09C258EEA32603CFB5DF407AD61DF528C6D6A6D0BEE
-9AFFF0D60FEE18FFBF841DA43AED3480DEDBB652AECACA1A4E5CC93D3304873E
-EBDFB49D16000ED8A04A0F88FB1CEF1F847A439DA1FE93957A5CCF9116EE2FB6
-1EFA6CC5A38D4D855098D6F59427FCFABFE56583078E913516620B634A7BD0BE
-52324D15609D3C035A9B53594FF8395969BAC155BD01B0209AC49279D4BD5667
-46D80D6E54FF98D6A7C1EB07E11277D2EE26DB98BC69411A414AF9761F7AEF27
-DA1766E02B76E8BC6660BFCC2DD4344DBBA0098DCB2888A6E243628D30D45183
-435DB3B91480428B4E44A465FE46B1D554D723AB1F527F9AD2DCD1806996425B
-00FE8CAFB659393FE9AC0F5A896880949A9BB8F476BDB2903EE2CD9036AD07E8
-8BB8DF5550FCF873B348AF96B8CD1C9CE8EEA7AB743F5B3FD659EC6502ACF722
-D5D76A0E6EC89FBA669BC533C930310917C153F567CF6E1EB802A90EE2EFAE7A
-504DE21454974868FF67C8610815C4F69F28EF80CC396D4604756E74C7943E4E
-100203D1FF1ED3788022A0E9337D23BF9B0895A6F7294936A4FCC386FCFFD4DF
-AF48F623C4791E61D7E32C9E28A3DCFC4106265A0BF1832C68B2124A41948CFE
-C1B0394614736D14CA8AFEB7A6130BD8CF4FF7A5797243C6DB868724484C460A
-ED3005C22D75E82D090B3649F0964532A1A48987E2F7E138A2BB55BEC5A5F82D
-FBAB6581276C8E608350AF950651784A9CF3FC65BD589F13DBE1B062C6A53FFB
-BF3E541FC918AFF48B538C095A4F227E02250F737A3B261AF3058D3D632E30FB
-C79ECE7CCBC15239EC5BAA0CE80D730B7CDAB94909A083EDD5EE662D052DB314
-4F6EC57CF202478C32A06F41DB65955BA4BFB080B8979E257486F9201DBEA6F8
-446CA87E01CAED0D8B8923101CB2C0B6A3569E06A400268F4150CA9C72519A6A
-C36F67332959E4D760876ED149B6C42909017CFEF05B776B81911A3B3E1976E5
-25BF0EA073F443E4B448EAC699FFC78D8C41D2035146596E31AEEF0CE4CC54C9
-83007A8283BCBE5DAE2A9A848B64008D0FB672904CCC43ABDBD8378BBA54C367
-C6AC47D9EDE1B848B3FFD68A652BC3DE67F1BC4C119BF07601B7BC8EDE2DD9A7
-EAB5A340CF47871AD3022A5896A56E03A6E25FD960F5128928F49385DB23D6A3
-C7FED79BCACE2BE339FA2C27A24236E3298B1A5F701043EB83528C972C735FAC
-9C9A065E06270ADDE1503A42C4001F33661C98403F4BD0041C71AA7282A577D3
-885D2394800E0FAC158EFDDDBFA151D74742F21962F40BA1CAC0C4D1F24C0246
-FEF440341DD25E478936F2FEF81331F8937F04A6D691B235FC3875708A4162DA
-1C92F9795340C36B1D34DA7D1430466F8C15D41E95434EA889269BADD42C8E57
-12CBA9FC3144D21C57E5EE98412B073147B6B117B20E925AF141CF455B1513C5
-97ABB1BFAE357A9DF3FA0BFD7D7226B878CE3413E04F03FD017FA179C78C51C2
-3FD10BE0B3F18834178D3085F15D19AA0F8C3E6447795B47E86017F44EEB4963
-C806F86516E1F0B4A7FA3A64C55D2C03727AFF10957B6409D2F133D32EAB06C0
-B612F66B4C881D59C78DC9EB6AC60F93C2E96A2B79ED573EB2978BBC0098D828
-B3FDA22E6B5F779D67DEF54714CFFC927FDC717C6FFE14F90DBDC42075D598ED
-54810D8993180BCC5C41A4739E86201DDB5B8B3E80EB68FF6ED19973801564D9
-F4E48CD86224B10B4304740F8CD2EA890E862AA3BCD0B8041516E74BD0221A5D
-26E073049279B20209ABD297DE5844AD9C61499DF968F5B9AB5D3BAEBC36256D
-46805492265F75F906E1ADA46A08974E4F230A52D8A4D84C70194649ADF9782B
-187C449E5C2346EB97298557DEF216DE9729B71B69D48EB018BF38259AC98860
-9DD729939883821E7A1A64537E2CBEB1E6F11A50284594B65D130A48FC73D252
-7185FCD35A3EF61F01F41251DB285C37B8541846C47C7845A0A46E1B986C3788
-A3E7E3E99F151F5CF98EE4BDED2B4CC64303A4900E73B070DF660E927022C641
-1A0D28D993F850BD82078EEB4F9ADA23EE8AE0CCE66F1A6D076E44890DEB5D9D
-B4E8B15A6E58B4E09DD44BD0ECB14825D8C4DA0E7209A930812EC636DAD9EE09
-301888CD25BA944C779110696016D7B3E6FE2E9DC4A1F81A6F61B932E28900E5
-BA43EABB709B33E9E856BB6CA7A33FA08882271E5C2F8F12F8A0A673B6F42D73
-66DE9104027EA7D02F33869E0F06B70F64018549DC99E4B50A7382EB1A36B1E4
-907E8F54A59D4D832D5CC333D1B5037B64D1569091780BE317D9451FF583E0B1
-2D8877EBD3A0EFEA9A0330D31642A6784223E955EE6CB5CA803CE68CECB253C8
-44F74677782D40D6D5DABCA5C244303CE41B1B3CAAF862479453D3AA945D7B83
-ACBCB37BB6D87F134A815FF024D0934907C991D20DFEEBEE22B3966D4CE79893
-00AA038DF7367147556383CE72E85C2144D84A8B13D66722B8AC2C636367CAA3
-1C8D2BC5DF468F47AA78625C35A7362DA519CE31946F28AEBBF16D4983C7DA5A
-AFEAF86F93E25200820747361EE02F06D5109415FB7EEED188310F0B9CF93E1F
-DA929D2FA47AE4C334948D0D75609AEF71DFF8CD11C7312D81760509D6530898
-26E4B2E7F9B1B5EC94D1837F25A7A33BC6748574303DD9B08C8FC223DB659FE6
-13C71C29F0907C36E357A0A81038F944077383B7536337F074EC7161797E110D
-1D8856F64C96DB506CA799197D4579D94C8DBA0D276205EA830F92646A4B0700
-5AAD1B29C58EB222833E8E48D1A79B785EEFE59B11C8A829A829C975C80EFD63
-D47DC9ED98700A3D555807E4844F5033DC6C73266DD4F25A6EFC304560C917AA
-3BE805DEDD3D787797300EE0CEB33CCC4D9A16EAAAE902B986E2C4FF864E2D64
-19EBFF3438035FD9FCA2D9B0C3FDC17CBBDA433544D27E81BF809C89CA30F36E
-D0AD52D33CDACC72650A96E9CD8EECD7A8D50296EB4897E99F28030DA0F2AE93
-7E4A94A87CFD3388642CCD8BF26672482473C4DAEB3D20BBB23C0A97EB3AC5FF
-CF4A8A2CA0EDA2E686EB1E669F2529B027F5FCAADDBE3F75C384B769D09EA28C
-FACFC479964A89B4421C932E4A1CEA3FC5312FD56A3011D6E25C5C6086883930
-704307CED7321A8DEA59338DA843D4C9FDF58C0611E0E53042CB19E04C69B9F4
-ED385B3994A64E1A5685FF6AF0D6F8FF4166483602D28D8E18EE1EA94DD1AB37
-72F1E331DC0E46ABC1131A2CF8C3C08D33AC7BD044F4232724F23A9135FAD97B
-52114A426195C599A3182461AA4E126F1F445FAC9B167F418E172DB630C94782
-4E5E41E0F6315516BCE49EC4346A4BB307893F98B46B46D42113614CE9DA96F3
-6A950EB081E5FADD29F930BB1764DC41407B71D38449AD35913B2787A1A1BA62
-3E71BE24713598DFD96BE5056B7AECD3EE16850B66F6384029F144E19D06A9EF
-4598B15534147880941D0358CDC52B6E08A2D907EAFB536B702C8E6AF76D7F11
-4018566762B88560CEAC97F3DE8AF834AC196D7CD3C3DF440150E894D0A53E6A
-E687B9FD1AB8CB252FE5493CAB2990CF11AB549155DCA114A36B64BE7A835749
-3E86907EB95D9498BB04DF38DC85A34CF1701647FE2237F9639C0FB578D3A4F7
-471B2F21B787ED260775CC8495B6C852F4CB3CBF4F5A3452A29B97B51A4CAE76
-DF1F66F292BB219C387C34399A8415772F7A5439EA3A7602FF7A6AAB74EB1F73
-88563F452B5F10AF6089B4562FC1269895E6A3DEBEFF589643C60640DAF4839E
-BA525A1710F2643A456E0DEBB90CD2EF2C75EE6DD31C3251451F41EA11372717
-9BF47259C422A4C596F1D76672AA27B57E7F903F785CB394029009859931EB4C
-42F9B7A6B1494704E58084978DD2033EED656FC8BE7A2127FB7D3DFCBB0C6B6A
-F9A598B2833CA12B6F9B2F0E253D9652706C4E12A0376F864388407BBF47CA5A
-4E47A3F8567E7C360B6AC74DBA73F686B318E5182B14983FB340A08010170CEF
-6D92BECF86958FC7D409ACCE13CB5DBF5D5B215D7DB86D61EDAD3D9D0FD969A2
-4532689CA7DFDFE46CFADB5ACCBFC73D6FCAAEF1304EAA37D0C9392FED28FDEF
-0D9A1DE83CF6C344EBFFF0E47CA8ECF053AAC4D8064254346D1F01AA8CAD860C
-98D0335B6F211989DB72E96889B2CFA81D424FB75FF678B426C414477F6821B0
-E0255646C15A661E9DD18514329842474F0105FAAE1D43D5D738D5FC84AEE185
-6212C0CC4DADFD74488F6BDC88EE33D2428F7DA04A30C6E543FA57A13091BF3E
-C76B5C4475A66B8148046B62C8B631E7074AC229FF199073FA8F8799C7D602AB
-B95CE248DB1736315B501A0EC560C61C695B372F461C48A506F3F92272029DB3
-13B23BA5BFC29991759B6DFCE5C3186284D4F7EC85348B61712690D709410FB4
-F000D4D59DD639936C25254AEFE481B178027E06CBAEA03EBBA1FCA6CB8AE2C6
-C2F83ABC9D871308AC30DCE86941AF19A3B105EEC3CB4AB9EE20846A67A0EA46
-FB57F71714203FC56A476BDFFC3135778FBB28104B539C4A54D244E8D3ABC7B0
-A515BE0F6DB3AE9D9FC964328F79045D21D98B233FE73EB7898FC48C4908E729
-BA6B9562CEE5965EE9F63D310BADC9040796736B4952CA489318C9EA8948D466
-56A46A3F3091A58D1C227CFB5E8C3D3FDB6EA6B4A16D6FA565335AD569B3E421
-4BA3627D6049E6C87A1E45458A54EA574953885CD8A7CFF065130948DCA0EA63
-B3B1F8FD043AA910C138E1EB546FA676A29AE7AD8F1928EF6B28527053445480
-C278117432723F3DED55BF3E09CF8E142C517A3787BB9DE2787D2CD37B5326EA
-B4C1CDA63F2EEA8F55C5989E35D88F5D75E88C4F383570329C62DCB9186D7AF5
-8FD22AA953C1E21658C9DF0985B55E088CFB7C7C941A692FAF215935A38899C6
-31160CCAE51529BEA466951F1BE5776DF69A2019C33A6428BA43F6662065F16F
-4580B2AFDDE7E9D32D6545BA96BA2D2710F5FDF8C9B3044974BAC9390D4F0FCB
-E693434C32BEA67C69413C7E01DEF1257879C7E044F553FB46604267A1D77750
-2320FA125E385B8CB7C56F70F05D81632F2182636A401C79F97AC61C5ED3F44C
-81104E60175938287762E1B5B0A9B595FBBDB7B5126CA287BA9F4CCF583B1CD7
-74B38884ED467AF4E1AE43555BD3FC71BDF2C4FC041A8791594B410699263DF2
-0B10C5356437BB6CCF6952A6E23373CFCC1F95731DCCD869E5F7B394A8E585F1
-50D14308AC6EE6AA201024040EEC1E55CDDCE9DE74A3AF1F42AD918CFF7F0731
-2B3734F389F6B602CCABE9C13F529EBD194254192B0C8DCDA14E3DA68B3D0654
-3140A875826F93973FB04D64B22AF5B1504D81D677A6307CD0D2EB57C448F2AD
-1C16C5A7B1EB35A044F20D2C4BAC9FB1CE0ADD7E1AE8BA3457DE4BAB168141D5
-DBBB22C31E79B151A815D4CA3E44963D0E28C34840B7F3C596354B3CA3956C95
-4148F24AFD08883A36A691630A298AEE757B92E02A862556778E6E3A2041E4D1
-1AB4580E5FDD4841988B8B7D735803876A4D5C898AF6856321251DF6D42CFB3C
-7115734998020F9E6155E37CD7C2464EB42B96972342F12440451A23F736284D
-C9B98FF4B58E07E35A12C42C70ECE5EF8DAF052EFD32BEF574B67AE003DA2FB1
-A7433ECC75D79D10D2F32C90726C97E64F754529F7724EC8644225C18646F309
-D4D7F22894B3DBCA226473866EE2E9467A7847CD62DE83DF3D68DE2EB993A031
-2E858D3DD47422DD97F257E0B3E2E5B49BC9DDF0AA76463FDB5BF5243C4E64ED
-9C308B167B35B78D2BFC33F087CF8737CB5AFD3318BEB0F08F03B373FF6533DF
-67F9850F5D0FEF6D4394D888CFE283EE50C32305224699E71A1D02B2A16DE21C
-EDB0A53C9C5E312B532AAAF067243D88F5DA40D4FE0A0A2F4385BFF34FA9B5D3
-BE1C1DD5065A386FB88CFF7A8CAC4053918114683EDE4487B7BB85D1AC4EB927
-F1E1A9CAAFB3B23F4ED302CD7D12AC365C69ED004DCE51C729BE9C9A0E9B8874
-E47ED7F9565CA1E5AE8C0972A5FC37CA8A023A3E728C0EEF8AC72552671D500A
-E3D619A309A53E31AFA37CDFD3FEAAAFF7E90E69C96CA07DD0DB4B89061452FA
-8950FF79F1565BF8508496CD55806A62F111C9F46B7DC15EE257D317DB135816
-E42D2BD7EA95D0B6BCCBAAC32D267350604D7798E1198F03B819E80D165E0C7A
-0DA795D1850D48928450B7F7967D58C8E8930A452F160BA5A54A2B7D45F9C8FF
-81CD1918ED808958B9AD4B07353FB328A69F4E73A6804FCE3132A0DF069E25A7
-F40D4B133E0D851EF27A895D04451EBCFE8B07C05095D9E8D9603F8A5C4AC797
-84196B9E09879EC026894A20F217A4BBFDF13DCB519321910535F4BBBD8D31B0
-66253B27C034FD1014A134BFF9393201C8A1A55125BE0EA4EA9B7F56F2C038FD
-0E828902CCDA438F91250C47306AFE4B8C5016CBF360C0621F402DEE13302A66
-9F1793E6D3D352A24349EAAA8D9B320EF85560A935E2A4D2D67BF4F0FAFFA84A
-0FAA45717F23855D19400A1D823C17BE7A005E1B5AF9388A2150E14CF7F229A5
-07096C67460B989066D033C7567003EB6FC8512DD685E44DEBCE8718B1408872
-40226BB9D8D2E2E3409C100401824AEE6914BF53123B7F1D367688D2F3E90CD8
-B2E2FE7911A5B6439D7D421E59EB7BCE4DC0B8D09692DD02629A4A40500C6C83
-C27C127120069536BB5A08105C137A80E112FA949C7DF8F2A78E89169BADA01A
-F444837C8EDAB8D31EE7381BDAF2E3FC227D95784F07ED0C2AC12234D81A07D2
-0B2E26D95FF19FB74DD5CFFBB705BB286C09DA08F4164048B9DF68C5751A6C64
-3B053ED842F997E75A75BA9076985E27E65C1B256B7AF6541BB257B908133225
-C7A7608D62E9E0D28C4BC1FEAB3DCAC226D44F02F2B6BB5D786789E9AB51BA25
-9EF0748C3BD02385391A390D3DC2B49422EF5ECF8A09998EDB111847D830744F
-0FBAB1F688A9A2FF26D16A0EBD334D53D323DB863B8CFAC15C6E48131C4BFC68
-B8038C436F156BA2657F05C9524E8F8BA4DE9C0C5CE3393927F1ADE80359DE51
-2686AC1919CDD6244D58C099125C87A6E27D0CC62214B0ECE2E19AB7E771E099
-272FEFD178889D220E763697AF056160B54EDFC103A161CE16FCE42A1BF4106B
-46500819C85E7668BB2B9DE3242A7FAA558993F4E06DB47912801C79BDF6C10C
-502FB005913DAD8BB35F210F2BD6225C3E9C0D37D599FD296B0487E8F373B28B
-FF8CA001BEF0E6F9DC29C679382EECFFAAC4433C1116C416A6AAD52097B105BA
-1C18592A38C7C97782ADE3AEEAF808809F91B144BB90197900D5A88B752A322F
-99AD6FC16629D1F78E9BCD372310FB5C33F728971CD8CA9555D81E199FF523AF
-BCCCAAEAAD8E951A6D48A704B4D89A3D1065406B82B00A6A421E25E79D147594
-6446382B4028943CFE86287A666FF655DA13878D845BD930CFAB8217EF2DB874
-EE748A9464B77AADA51319CD18C196E4C37F23DAAB0B26857C837761182EB3E7
-41BBD9FE52371D4576012FCEE98F20B91D85C7F0EF8D428DBCA7D0B0F9A93F9A
-8369AF11DD05D35395BA5B79E39B969EEDAD31CFC722ECA91D7A5A3E437C3068
-36F0319EADD7AD35C6383706380D6E5AB63FCFF28A9A21F1706772EA74C40F22
-59C5B338356AA658F479C7E2E7C4176F2105D7957B43F9FE20ECF7FED5CC0A33
-0CA8F9063144E480793010ACE37E3F577C6075138D131576B56F8302D6E4EACD
-1C8E02EDD061BAE820F90FA7C2840867DE92F2783410CC56199C1FE7DF9F3154
-3057B95CE752A30B7BC4AAFADD5BDB3FDC04D7D40A74444B1A135C1F96682188
-BBA5CD3C06B1B84BE01018233829B4A78C54845CA06C20F1C86B1D31207FBD50
-DFAFFCFF029618CABA5782488DCE6D0FBB3C50F27F44E55504D9DCBCCAD6E99D
-49E3F8CF3F9F597EAD433F7E7409FD15BDF7AC32CC09A23259222EE3690F3C7A
-AD0D44DD92DEC93B9C5EBC8571DBD3B80864BC0EB5379C0A4AF50016720FBE36
-8307FFD35CD365241A4CA0D7FC015362A3D8AB49571448461F5B497BC4E8AFFE
-C8E9C61CC91837D1036CC017588B4E3944112405379B6066F3EB0F2D7B0D6C2A
-90E1CC201090A85690DACC92F4BFB4D4DA42D4262DA96A4BC78AAF804CE39863
-8B8DAB0886C27E289633FF58CB49AA3B67B3AA0BC0EB1B3B8B44511BDC19417C
-D7F8272481C7D12424A1C1473749B9FFC50B2BB1649D2AA3DB8439BEFE38F70B
-A1682132EBABA78E41833A05662A690B77C18CFFE6EE308D8584B7247174BDA3
-C64AF4886DAFBC452E2F431AC0B02380FBB2130C0CDB339309EC1C1929F8AB43
-57E8F5D1A47EFAB0CEB2B5E01B2BA8D81FA1E63606342E47DFA92679E6FBFA47
-C93E3490A0DCC5CF2C5DF298F81DDD1B646EF8598F821380983D00BE3C2FB456
-F848F339BA6329D23C727391B84EEC670579F39F3263F5E535960C95962F5A16
-2C1D5A3DD5FF459041C153EA2E549935449D7FE37C2E1D058F8F80F41F2D5C80
-972EC033F5B87A6B1BD65A2BE9A8576D30069745C1DA75F072BB492A212EAD29
-3209E08C3FF6205097FCB14111933252708033589C8AED0D1A28CD86DAB13EC3
-18859BF08EC86D751F370377CC0E724F7CCB632A4B115D2308083E2B5B8F2EFE
-260262D780EF5276AD5CB5E28D73BB6920A8C18D720A4CDA52DFFDDFA2BFFEB2
-31900CE110AC33E086B6DD0FE457FE29E8D010C7CD6D0C6BC2BF9021A4378731
-77FC26E244D06CA5FEAEB6A51A164335F29507E1BE86D75A610012C6F913E64A
-DA7FC95E6BB98FA90E399CD9624699229172E6D2AC88D61C2D0BB651AEF862A1
-FC7EDAEAC0C9BEFF07C533FA1FAD72E929275EE1073D32DB29EE477D4F1275BB
-ECF7960D5ABCAC007A1B9BEA2E555D02D7FD2F8DAB37DFB612F6C59D0B3D6159
-88938E23372FD48E2534EE404F327B53D22AC9A8DD968F50ED144EC1B30B4222
-BFEB70376DBF1C5C9F7BCC1D765953E76894BBF009DD7E83BCE3D56AC4099153
-E5E147B7F1612E84935A5243AD8C420874937D4662EFD9717CF715D68925C2DC
-EDDE5070407F7210CC3A141AA6DA723E7B7057130728972EB466F0EE63D66BDD
-0DD680A09CB69D4D9978556790AD98E3A8F1A5FD15571A4B607DB1EDA51250AE
-8256180D00411469F2C4ED97CA517CD8EAA731B74B7055FA21C6ECADC9FE18C0
-21D063FDFAED57B276D51B33042B2868CCE630771DF7AE0DD9E26C48892FF1FB
-332FA26CB639A581FCFBE19CD022A1B770922FFD38A6AA5E28EEFCF3AFAB7974
-D963F2BA5782C765C81C3535D453667165F6593889C316CE1DB54A4BC928CCD5
-9948E7B7DF992073D2C334130819CDE861B60B463E55F17673BD244804C6E376
-59851D9DEBBD20FF335EF0F32CE99DA138AF75D3C03B72CFD2084253330051FC
-F467C0B06C413F8D71316835AD963600C6E2CB564FB392D6A68DFB98D5A2452B
-45C6ED8548A8D5068B434A993B745F7C49F9E5273636066F2B726E52082EC848
-825A05CDB19FECC21628C80070AF0F80F4B1D858FAFECDAA1C5C689E8AF110F4
-7AC324A037E89A65113883060B08020A1A93A816B6E69DB90C3AC9C2B378A277
-C6FA2AC6FB93ABD6AD2960BFDECADE173AA9A512F2448371C9F4A944D623CB2C
-A53597E7D01C3D6C4AE282FEC4E8232A7617FB535D0E8DFE5C80CA13782327E7
-E581746D460E8040ECBE4321720CB8A6FC181364439F41D4D08C8B7E582C751C
-629F4AFB1A7A390ACDE76ABD0B162282C83E410F3CDC311C1113763D0C4D6C92
-36A117DB6A5B259EC8ECABF53080B9D278CF87BAF14BF5D7AA9ECBEC98EFD0AD
-CD622F9B4D6A92B5C103BB7D5E97F863E2594D306A119871CE7C5CD6592EB0FB
-5338FC288D23D86D493F5AA886155AF1847FCFA0E92E84A1E1BEFC4076F43350
-56E42CB16F7543F5D057D3547E49D75E2CF22B376BA9C1E87370651DF9EFEB07
-91DFD4B59E6A99F45A962C5E021D4EFB3BC1F63953FD6E09928A551C220A98DC
-4BB366A4BFCC58A7B314CF9902BD1FFF53551D19033D8C4D28952ABCCC62B468
-C61A97A76C9CB68B8FFFB8BF91FC96E1AB49D2B161F37A25CBFBD5D4896815E9
-4CC17385F5BB185A15B0B8413FA31E2CFF6D67F74997261568B94C2F85DEC393
-300B794EB87E97C7769BD6FD84CF81827FA260BB161281E7F75D1C37276AB529
-5087F4100BC37879DBCB97723EB71A3A6A40D923234FC1C8348C184710F40DB1
-0B2C0A6DC172FC28BFAE2D2B2B295BAF3CB1A39A6D5A4A73FF52F080D1EBDF30
-3D9434BDE34FC62441911BF2F82FE2154E76A0CCCEE232A7DBD1A22511C39624
-22C76972FD5D299DC8BE9A2BC8BCD5FA48E8FFE729844C41AF0E53044BAF93C1
-36A63F4BE10178F9296D2CA93A8EB0E76743D8EF16447E7A3991AA1BDE4B85A1
-4BBB15378434CE1865218F9EF95F649A6F21B7AA8E75CCEEC717EEBDFD14F6F3
-EFEA304CA35132B59B21FCE65B13326EFA5736DF81447F675118E512E631C747
-2654D4BCF7890CF072C39468CF9B5A4ECE1C6DB0F4A4728A9929D821C7599FDA
-454A6930350475791CFDDEC6F9982A6CBB09E45B75EE0C8202DEB19B74786C51
-09E4F90457DA1BFB94CA77A3C6C7B346314BD5E2990DA7DFC78EC75897C59FB9
-1414D259A9728D14327E5BB151FA2195D80D9BA0A852DE19383AB17D4D6D9717
-144DB34ED80B2910C4F442D4BD722B7F251B938114B4C0872E874C3DB20F7939
-368A79C3C46A13E5E761E397E5A6B3E8BAF6836632D2FC7A1B3252D81D41904D
-13C65774BC8DAE4834C07CAEA4AD04DD6CA8301EA1E20AD4E9C7701907385036
-2DED96B06F5847AAD5D004965F255167231BF07E1FBC6FB101B73F8620765755
-9262273AA6F111626AD38CF86788269CFC4B8611C55AB4E9675EEE714CE2D305
-C9CF8E201CF812702D0DCDCA8BF76F04DB029FF56F7AE4EE3064BA785148E822
-7592906D2C27F043D16A13A48DEF8482193ABD5A45712B0D5ABD3CEFE3BE93D2
-DC5F98C33CD602BC65F3D02EE0007D6057D81B3D3291877F399CA1D04547A274
-322C8E4739543B229703F48F02C6B1945F5F537129288B7289BC2FEB01339565
-40E6DFF827D1582F0B84D517869C7465D00D653C1EE3EDFD9497BF86D03CBB79
-25C4D4D7CC74C6DFB45CAA3EC5DF90A6C117AC984CDB7643B906C6EA625BC933
-892FD590050090C94C
+E022FBC13A94E4582755E7E28C98C65917977ED0BF60D527380DE7BD4A981920
+4232903D1046E59ED60A0EB5175F124E05EED0C1028764605EF8D650463F959D
+A98C0439D4347F65E2DA71641D1607B3B609823FBD989B74E277D6A6E3901FDD
+B1CDD7CC14D8F0E105122B5CC41B8448E34564BFCA8BB368C3340656DA94A18C
+E269B1D8AC19F6E9104A9FFDE96B495DCE7EE44B478DCD91FA8BBE481752AFE1
+C945F42E33C1DBBA3DEAE3DA787E80614FF32021E610D82D53CFAFD806A32841
+490EA4045225A89C0844D551CD617E75D762DF942BE71B73C9BC7D6E7596CD28
+690A53E050C10BDA0A256DE427B91AC3143662E5B1BA0EC8577BE625E1C91678
+967B58EDD0B3ACEB9B0BF61F3AAFB126E7883E06F95274C132DA85A0963D55FB
+2F0357333F1CDDA87F60EF7C569C54321AA37414A6FBF9F2E09F4B09622E80FB
+9003B6A94501383D6351B5D0B98E9910AC0D77DCB9E92E6E6722C5CAA3B85577
+C43D864E582EE95316EFD5FB0CE0338CDFDB0A840B8001F2E389E84B28EDCC8F
+339D746F4D13C3CEE2CE0B9EA5BD67C6968CC9CC68FA23C3EB26C51C6AA57191
+2E3A0F93EE560078DC5C17C7D452923BC2E1875D737ECD6D252D6C8078DF895F
+BC64DA6216D34709430515C99D2F237981959EF41195EDB234E4CCB0DB55106F
+846283F3682C69143374C934B18E415B85AF21B034B133014C5E4B354C3C7010
+CBABF55337F24C8189AF1AE29082A524867E51FEA3CD7C371BCC2A9B2EB7923F
+3329D2AA32EC53D85811A55A6091BCAAE343B86A872827B29EFDB9471FCC8895
+4F6D8043A13362FF3269568B5D385EEA7512A166DA4296D07B7902BE3BF2CBE8
+0E88F4DE219D8E63421A2AB5B1A2CD89C7198747E96963BEC2954F92F7B755E0
+7EEA6298F997835A1622AE6113AF1C8BD1FF3788F224FFCF6960BFFDACFB5D15
+0D37E923CE1DB0F219BDB2C261D9D89933BB6E7585C8A86B985D34B1FD32C568
+C5948683C24E221F7469D23E6A907FE80D4F4938FAC4C32C1CAEEBF072E39BBA
+B4356155CA600886A59AE06081DBF2C8A8BE80AD074F781B05B8D3D8714CAFFF
+4265FDF92E48447DDDAE07D63829441132C68404C03690A220416E85EECD8B47
+BFADCACD42683E5988E902F4EA64441ECCAD6FF84453CB44E7ECC8579B928C4D
+CE1DB8A52D9DE83A4E9F95850E47E63505AC81AD552D5C13F98B2128CD1391DF
+071022C0D0524803EB652D6FCA6AA7D2BADEE9F60DD24531641DB5093E0B81F5
+C09A428A241111CD5B861F295352AD9112BA832448B924B65F8A07C10E9CA93D
+6380A1B2E477AE278094155D3090EAAA07D3CC2FC06AEDA34013635DC3B2CF0D
+2072B5EEB80D75CD80BD609075E2452FBFB3F3E5573A6FB4397A57169A5E80EE
+5A45AF5B98D9C89F96A6011AEE28266257FBA4C5E58EFB767B772B8022F3D7B8
+80D9A6F4F9DEB89013D74BDCC23D250F621A0F06EF76437664B13C80EDA64937
+D469C3CA58DF29F1F0EFA3ED58D1DED9895BCDF59183B939FA839932922BBD8B
+4B96C16F9F2FE7BDB4A838B8F9C52D9CA5A3735CBAA633880F132B03DD26DAEB
+618E4B689B9A11D8612C47BA970B7B5ACB4A0198FD3EB7A62D92A026E6AE5246
+D9288F3371113050F0AA67159F162F6E62FB853EBC973AD4F2604F2205C53377
+B6061E2100D07B3A594266F06A61494B922E290AD42A930A32DA4FBDC3996B49
+DED27B8C5203F080F67BA5E890848ED2DFA053162CCB2E13BB62D798CED03B1D
+ABF098419D9F97C2151C9A3AA0FD1865C291FA240E839065C8F3E8EF504CBFD3
+F0F7A39F57F6A097D02D399453027BD0AD6B5FB820EF4A889B11AE989A23BF39
+0D258BA55C5DD4C6D690037FC9BE99FD14469FF13EC32D32A033E32DDF6E357F
+AB1A65C530258296E77ED1B8F056176AFC317A0401CAC7E56259FC96A9BF3C79
+683DEFB45F1C3BF305E5FCFF15FFD5D0DAED5AD258820F13675773A2FE23FFAF
+44CF4324F7D6BB80584D760A261D4F1FF01B61B5008BD647C149B59A39C20590
+C32E6A8B321010CF98E0D3057ABA6076EFFAB23DB513627A150219F846FB7E13
+B3C2A2EF7CE6001A96CC12B7E81FE3A12751B0E4A5C3B1FD544514AE480730F3
+3DFE0181CBFE86EAA8175211B668BC26BA42A73C44105AD5BB07CD54770B1E74
+28C7264AB9C605B28C233BFBBF3C5402538A873E0F91ABDE05E82274C5AB3A96
+F2D3197A5C6ED9F3063984FFC2C35521559412B3313B35EE2D952D1795C43A86
+497B8FDB06633483A5547345C4DB951D8F9EA26C24DABC84998EDA8D8EF05225
+1B2C991D35F626C6CFFEEC6FCD50D742A4473B466F92B7C4E3347ABB231FDE4F
+1797EA8D2B0C90F018AAF63D6AF9F268C7BD3394BF0EAEA8DBD686AEAA1F290A
+955E1146BC80C4BBCF30AD1CDCD581708A8C27FBDFA9891A2009E283809095E2
+ED36E1ACC52853971DC7F8D234E5D42E88303CB5B7E8CE086230D3A66DB1A259
+194FFD10DAAAF25AEBE9D2E0699DED06188665A376B7B96D33C918B9678EBB28
+38816E68A84474ED9C727B809D91FCA850BC7959BFE888D6F30C3917ABCF6D5A
+45C238B3EDAF9B42EAACA014F0E8E91549E3804619AE8AE31B66D8A444A1DB51
+9E40CB458450BE01FC8E7704D144C3A962A65466CF7614D94DAB6B9EB10E003F
+0B16CC826F0716B8411500D7E867947E91BFCB998DF3BC331E66154059413D61
+6F8D59DDE334A3622CF268AB714E6A8417CD1BF09FC7BBFF072297DCF0AC04DC
+5C1946935E8EBFB12A4E8931516CEC58D45832C8097BB070C7C51DD881DAE0C9
+8363C904A21CC85B20ED5DB3299DF802965EB5017F250CA5E8B3998FE535534E
+05F3E270F718F6914C49AF45B3A75DF1E9CF0D58257DE2FA18FCF9192BB60FEE
+581919489A666969768A1274CC4E4E6D644088C80F716435199F9D514B065EBA
+B8FE1945F87636435606BA5D996663E7DC75C54313FCA84FBD13D70A8694A210
+170DBC5CA05D342C8742A2AE2477E5A5D04849501BD569ED5E70A68B9EFE8CC5
+DEC2EEE3DE8F29ACE6CA0741BBE9C4BB42B74037C85E93B6CF0AB818FA434448
+995834EF62C20CB180A489F1FFCE5A21F1DD47205ABEC91CDE6CC2A07FAC5D0C
+B0488C9F7B3A3974BCD0AED976CB3F2FCBFF68A6093756BC24FCC6DD3D9A2F3C
+EE881876A1EB8D9BA8462CB48BE2220381B86B1057A1A1B2A08EBC2FB8686BBA
+21414FFE042C855A257FF7AF0DE86B8902224B90465A437618D4F17E051CD8DD
+A08B7D89D6BBB4A0A299485D4D737FD4F9508A05B9C8EDE0724B79726A3C32F0
+D74B811F82510C706F3444FF1F2226DB0C9B1DB512A9EADBC823A83526DC9587
+42AC8E8A54634DEEE9AD8FFDC6497FCF217C997B05F9D2E991E7D9D61179012F
+58248632D5836B087A6624DE90C3AC386640B11194D3C891BD314CDCB6AE79D5
+DCBE022D7FBDB13BD6A762ED8B65DEE202500E842E31DB6BE7D873245A75C231
+919DEC011621AE1D808861CF08E339E404F8ADD5CB1D4DA268C191D60F50BA06
+7E0D0273BE56CE0A53219B7C7FF9BEF980617BDA6F2C780175E712E634923995
+FBE9600E429DDA5F691B61BB35946E76FDE28F33F06740560D5E971A424076F8
+CDF10BDF3899BEB2BF28DE369235ED0DB57B27827179CB3E2FE8C7CD6233DDE1
+6625975D48C788C85285EB73B7A7B9DE131FBD245C9B306CDAD91D01839978D1
+2132F06C2BB59C8E38E416AD3A8937CC72632C4F79D905E3119B83E229F9A2C0
+BF6F4C0BB3E509D1FD88DEFF150E3D469CA20E9446ED75C6C44CC72DB23F945D
+9832BA83A61D5C80222A23072B4664E9089CD0FCC6512129938FC52C6DC46593
+418D9DADF19D00226B1122EE81402007AFD06B39305E1B0481F5390EF21974FC
+15D680EFD0AB7799187E6F5AEBF07013651DDA0EEC50F352AF50D08216A31159
+02E896FD2BA87D3FF13D46AB6136C92AB932A3828D6E40D6AAB2D42235275449
+B0EC8E5C6134985E9D21763974377D34530289FA0EF14EE891E1B221A698A8ED
+791DB294B3489059A8996C160545AF6C2A556882AD42A034E686F21F187B448A
+DCB631CBEA2F4F863F31D65D5DCDF357D0E7BD33FABC65310541AFC05860B5A9
+F6F51ADBCA7718A3F6E17DDAD5E0BEF0351267925EC591024860289B31B3071A
+C9BCB9979DC7CF6DA2431FB9F4E73A4A6DA52F23A507510A86161763A4AD574C
+A8D7EA3CCFDEEF7C4FB4203DB0D00079639402F8CE2C7706BC3134E1455794A5
+F4D506126F124BBDB84CC4E38BF56B0F9FC18463281559E8001B376563651F50
+E4F54D3BCD3C5ACFF157375E3BCE65EB9620A91E0B3AE413513AA885462A981E
+BC33354C8DE722C19CF1CA72623000C7DFD3393F12658ED3CDCB2472DA045E4D
+78EB129D89CB652E423341A6E539D3A12F0AFA3A379664C6D591DA458D0C93AC
+507848ADE1CE0E237F8E44781929B013754392A707CFA3028609F1A3402925CC
+15AE50403DF0B09ADC29AF5AB03D6FC8305E7DFC46781FD76FE6D95F3E2FFFC3
+5B0AAA73B30D870D8E8E8184411A418FF8AE4DE17DBA8CA746AF123A44944F62
+85D7E059CF3271B6088A374093C5D80197F1EC827A68BECE399345E10FE1C776
+858FB036C4AABDEACD9C5C347CB13E4EA5AD6894FE5A6B210838D0DF1F3FDCDB
+7A1B82D07D42C84DBB695F70E104B13548D4CBE2FBBE128CED959774AA5F7A54
+3CBC6313BEDCB8B55429DC58BC51E3686BC9A8110D36B4625C5D9D7AB72D7C14
+312DBA59A29CFBA7EE804873A54FE2D1F5476818E2DCB1863CD3BA4892EFBE45
+C5C3DFF6254F491734BC982C0E5CD41C738DF9B2B462071C1F70021629BB7A9E
+330F7325AD85E8005A90BC13BE6D6868846F74EC7002F6326160646844187DE3
+26D1C625681208B87BCD967749AADA6510105459CEF77F4080F026CE8EB36E1D
+0C275361FD92225CB11CB327EE747D2397EF6E4DB62AF4708ADC95B9B0B0B3B1
+FEA8214506BC33C7E10C28AD9646CDC214F1F0ADBCAC3F9690905A7DAD1B2ABC
+995787CFD83E255B07901D17B196334A40A45CC25D67D69A9D890881D4731680
+AB1C230DEE91D23EFC69BBD1859AEF38E9D907EB461ACC9B5F12503ADBB9B373
+7669BE875CD0BFF43F1B4AFA8FB233790BE91986E6056E913D6F29480A27CBC5
+F7D4621F794369AA8FF04EDF2884875C802B3D2598B747AC471DD88C2DD7DA5B
+4AE78FAD1A699F0CC2BFCC4F492ABD0C784F53774923C96B8E8936624C9CA2A7
+5D98343D46C3D59F45D7FC059DC38668233DDD9EA40232BC9F8E549A362DB96A
+432E2CE2498EFFCF491115ADD4DDA9E1113A8541C607C60C7B25E4C5DA72C4CC
+08156379EE57D76138CADC149B25AC6C0B29B92D038B22B8EB4B4E69C7C405B4
+F8CE26E4214888DCCF18FD2F5FA3E20C2BA5E7259950522E5634C95D52F64C97
+392CC15FFB00C09346A6D20C9EDA00B5DD4793835BBA10BF35B373819058A94E
+53B1ABDD7A28B31BB7E4A597053DC442FFBE6902478AF00BF74E07FE2AFAB59B
+CDA5997B78E7C996C8A0669B3BA4520807F346BAF4FB3FAE58A1E52C6DA5DCF5
+1457800464DE6C876E392B266F9B93D97FD91A21EAB2F0F917750AF98CBFB7B5
+1977B2460F36979B866DE95D42A79A7D3B68E3FFBEE7169EDA27F479991DB6E2
+39B92868AE161B910549BA51212E4A8305E52CB4E900C71A654CE8251CD30C5F
+C23B7857377FC16026DF41414B792F6E992CA6671FE6C3C9136D8983A33F47BB
+D379D88E34DFEF2F0D02CB9B4E6C04D0C5B397BD7C52815E75A2E76343F88642
+BAFFF409D80A2213B5F48B37867731416D4CF497772732B4FC79BC7EFB2330E5
+40AEED28970A318DC93F778158DAF12747890D85DEF62BD2402844D29A5E5F6E
+4F718E264EE9657D56C956AF3DE08C5D054F9FCD351233C35AD02DFF3163E42D
+C401378EA1A955F551018C365686045B13F2C1A5708B3CCDF7E226554E2AD8B1
+E4DE2657209DDFD5689D93EB1C202206C73A586BC7ACDD21451788CF37D32829
+8C1CDCD8F0D359F20EBD5E13D0DD96C0924E53797638750D5303B517B75B6F45
+2BD533C1B35AEA97DDA239955596C1D3456C6A7E6E120001105E58DDB0F36861
+3FEF0587489B1F7562C9742CDC972340E98FAA2410C7EB42415E0053F1A79CD6
+91EDF9BE7F61F5069FEF3BDE1C95CB4C0216AA5BE28F8DF42F57EE97AE8FEDA2
+71CD120D8F04986D5AE5DF2B0BDBBA01AC08296A2B30940BC8006A5F38D6AA9B
+72D9AE3690BBD89D9B1B924A92E9F98312CA994F369F71706A20CB72A820650C
+2E3C077ABFF8BE9843ECEAC7286DB8F6404D2FB367ACC874740C5B3846EC7190
+42C48E182B94DCE1B8F69CEDFB60A3A7C7AC2CE49A15DCD6CF50EE16C411ECFB
+7786A6E0D244D4BF394143BFA289495957DD69C9D40E6D57C00D798356835A53
+8A2DC6B46AAAF21BBE9A116EF4F2D3B9483D3B62A82840B2166152E7051C2040
+888F99445F1AA00AD94EAEB427EF533FD7BC59F63D873115AFF4451DAA4B931E
+B6D05AA4F7001080F3FF5E4E1A660FF36D0FEB424CB46CE0D591C7E0135E3D69
+17262E35F7B7A8CA036CCA16DB8EB55A732341BA1C2B9C6B588D41898A0D1E30
+81C1B1C6B5DF9F7D1A8A201E0848718BC02ECDA3EBBBA61A7CD9A3ECF720582C
+EED677E290F3CC54EB62B83E631BFFD22D4F03177787FEDB5B716B34F389ACB6
+B84863C46A71CE2C3387DAB6D9F35B4DC3DE3D279221BFBAAF730E549922CF48
+B6BBB2A01AD00DC047C2D2B867E339F64FFF63ABB3A2266D7FDDDB3624CDB196
+B52696801BBBDEFFB871479D5847737DAF7E98F8140D65172D39ADE3219B7E57
+219FD2CBAE039D263DD984765AB26E9E7F17B06ADD9AD578DF69AFC142D31DAC
+6A43149D41E5E07EA2F367423AB179B9F913ACF1FEBCDCDA9C6BB6D14BFC3425
+176C2E34F15229E25B39DF215C36E75E6FCA07905C70A6A538FD8191A5E1D5B9
+21DE335877A562A62769EE2B8FF16DFBB1CAE6E1E53E78A9E0F7D9218295F409
+72AFC2CC9CCA4B6563373950824DC071BB92902866C827AA23BC2716D7C770A8
+9CAA5DD2251A0A1EFA4E95402FA16E1CBDE5E37A169B8917B8E0D94A9C47D225
+307B4A38C004F3F36F31901DF56A6FAF3658AECC09C8BA27F26A5A55314782A0
+32963C25291B990C57790092F05A203176282F16CAF9FAF89718F2DAEEFD3F52
+CC263F02CF771062B04E51A0673942479BFDDA13F04AF88B9B9DC85095C04AAB
+707A308E46055FFBF41AB5CF9A43F8DE0048A8A7138D359AAEE262A45AF7DE87
+AE6D10BB6CEF580322A6593121AAEF71821C57B850BA883C2BD21FED4C28CBE1
+D6F3EAF89ECD58B1FFAD8C41225331DA8BFDED4FD80EA251AAAD2DE982246F3A
+3D7800CE8C67612E63FCB2806AA68DAA7373BE7939895EAEEFB371DCBCFEA712
+238AD633A8FD2496ED249828F9A35F9A8347A6FB401B5B46968646F7B07FCFF8
+015A73A8832710ED1743FC6AACA74DBF4A8848131B9C83489B55B42A57C0817C
+DBD12D3EB847A9D7AE76A6FECD5362C10B8BDBF6FCCE19166DA5BF005105068C
+E0CE15C4790EE0CCE764B3235F1FBE9940369C5C6E1E38C25DC8167FB5655952
+9761B35C6D02048A5A89F090A08A0E91A871700A92A06CC93C225DB53B6FCAFA
+8DEA22DE4351879222842783986A54B93068CFF579B6F0B3E67F595E603CE50D
+7AEDE415CBD7E6791A5050214403234F7EAFC11E64F78CBF480EB261D8D0F9EA
+60B61737C69ECB32C0C9165098087E5BD97155502102414227F07C8EA33F3CD0
+3C039DB00F3373114E4AE2766FE8B19A866220A68FA769A0613B080B700BC85E
+313C0689DC09ECE994A1FD9E01E13FC7741E11B84398728D28924CB6B0216F51
+20A07984B0F4C20100DA456FAC82D9D1D13613F56CF0BCDD31EFC037F8F627F3
+123E5BB89E5639D58FA22BC426933C1FDC42E4817794B9108F3FE476EA72B0B8
+FBC1C7DD290D9BDC475DC01C8D0F5F191E38958B316E5A6493D3810BA0238235
+8AF308C1353A4D1F29874C6F8813EBACE49D044E0EB24A9B881F24AE3028DC7E
+B574B271EE67FB9BFBF3562BA8BE7D0D3835499C0FFD6D9AE6520C6841676A89
+E5B4C7312A4835FA7BD974D164E9D9AB45D4554086E1658D7A3CBD17DD8FD091
+6DD2E2094AC2E4E79D7E2BD082E4710A126DE03D2F4A8EB4F8D8D16164A2825E
+3230BB6E5A4F5BF8B4ACE7F6407321B07678DAF8721DD718ECEB3EEA32229007
+BC90E375D2AF6A4D0ED66B5EB0F5B017F4B8355B14B70F665DA551769AFF85B0
+F6D17FE85640D9F3BC8D0033B823E1D7F286ADAC61C85F87C8F4A021824D068C
+47237508C739ED9E66056E1092A22956768FE73B590BEAF9B8DC96202372E369
+4392C1D73DF00B9255ECFB19C21C1AF844F7DBAD326DDD5D7F7B41C616E1FB7D
+F2D113ABF9ADA76E08E6DF03A5173BC9F65B8873BAA3AE67D35893DB2437664B
+F6C833A9289318F7806E67DCFFF38050EED9BE1FFB62EAC6773CB45CF0FF56DC
+B4EB2DD8AF38C2B50849EF082DE092FE7E9F6B975965FA5E076FA1197946867E
+AC588C255FDCE28DC0F7017058CA8CE21C656F39432115CDF619B0DB1F3DA652
+A342C73D6A8D3DE2D81382C0CA46C233DE0BFDFF0DC6FF4776FD60292D157134
+EE1849F22013259F75B93CBB98A488428C29F3168A0FDEE616CFA1BC088F6BF6
+98940C3D6297C684096C08A34493D5998A443C0A4E9EEC53100F7BE7CD8EABC4
+8234DEE6FB36A1028627A18A3A6376B185106669056BB9030D3EE29B86857903
+8E5FA2DF7300D72EC079F896E052407A8E35D52D921D9EC8C230A8888708270C
+8975D96D7A9B5C9504342A3D3D8ABC0E4F8665C4D6236CE5474F1873D968BD2B
+E894FC38FD94ED092DA881558B8C8238716136F31F301595FBBE990DA4306F2E
+0E996D0F9FB20B67DD5BFAAF9BD909130F033414F473EFEDF7CBF271AD49D15E
+570DFBDAF0D4E02738881C104B8218AF659DC9587A6DAEA42F98FA0A864BD1EE
+ED493DD61BF4AE6B5EACB7DCA84C2EA02BD3EB3332D1A8E6AB68978B15ABB10D
+497A0E3D6E9613E13B4EDC6DD8C95D035EA0D650B15A6D0FB89109E1399B4866
+73B857EF3BA5B44E87AC7AF2FFF4EE7E7D6417348094658BA6F5281E45943EB3
+E711CA4C9A4ADB161E71208C7A5102D09FBDE0921CA593CFC01C24EA1C5D0B6C
+20519F42D3D169339A326D2C2308B6F0A463F9B32B2BC4929F5FE19AEF93666D
+1E1862AF5E3C32535097A0BA56C4FCAF66E93D9641E25DAF92CA2BB0D9BC29FB
+00C79F8A7316487C64222592DE750B72E5F7AE2B0B71642174C873DB02946505
+43A7B71D313B5092E2693051824A9737D75609D3E8D17CF493EB10BCCECD0F7B
+06ED06F43508463788A69797457047679C5D69C15D36C31D2ADFC03B8F53D11A
+D03A7C6E287BC789837EF12A1E58D6F280C3213DE36B0FDEF163B8F2C37A2525
+5A7028BD52F371778EBCF28A9096AF779C76874041CD6263466C4ACA1E1A632D
+DE5E1D15AECC12604574E9AE20B6CA3C19D1E5A71B3BA4E82B18DB3F408305AA
+0F0AD437478E7614F33FA67FFCDE9986DF688608220A22487916FF230CB8D3A8
+47289790D64E166BDC548AF527BC883D01C58C9FF21BE693E6FA502D8D2C13B8
+FB5A8EB2BAD804BD9AF48B424D9F299BFE3ABAFEF3F08A073C4FE42B76E6058C
+523C0758040612837DD31C5EFA932A19C38709CFFB7C191C10A15FFDC1F91700
+F358DA7374CF485ECEAA8E54B6CFCA4090B3094B91C6D5CB10A8630DD0F7447D
+99F689E44FBEAD84D251D35D42280A1ACE9644A44B45413FF6E0493EDB0A9A72
+F182B458B2F28C9C87075B6D37CB11945DE08DF975772D05EEAE97BDDBDE6F32
+9336D4038F0B064C26F6F2B742C6EEBC7872DA7B09B1337FD885E5E4F299F3F5
+88ECF739340592F863473278A4D5C817E9E139DDFB2717E731AAC7063D9C283F
+5E9706FCD1F4DEC03767B93D2684A8C1D544B9B12DE2F503F2262017589CEE64
+550373CA2169FB1253DFA1B469595A61C58C26EE149D0AD2F49FBCEB27DE59E9
+0294A966399B35E17F0B37FAB2957E61695F7E5C2383A7FA74DE9DB3EF25C524
+876E67F2AAB48F725FC13C6F1DBCF60FF4D156440874B425A2F8FFCFF60CEE30
+733E662DA7A0E25EBFA5CB6958E694B5CC16EFAC612E81A2B04C09FBEA8EF355
+0919DE7DA66BFD36508FD6230569B240570E09A7ECFEA6BD28D6F13D8A2E076C
+F65175C7187D0D580B368D3E8122D61AF7D15D638EB54B4B4A2905416C8C036E
+C235CECA028C60124AA7822A4A21A7B6E783CAD48A36BD47ABEA43347C1762F1
+C071A54E5837AE4B2C4F5101426721F4F0D6A86FA01C036B122026B41F6B47A1
+C383B059558855DC5C7956AE377C929F8D0980F3852FFF885F2C2FDA7E33B623
+A860A2C6E2C97AEE4D405B1F8C385A445932DD8D617420C9D13B8D296731AF6A
+D7D063544798C8E1BB78A7E2A0A86F514FCF06BB6EF4E490D9D526D75781ACA4
+B8D85110A10E01B8369EE4134FA8AF2D55934FE439EC91A1CBE137E95761F911
+ECE0FDAEC1C947C948D1E6FA6D23422BDA5033DC01EA9A7B82D4E7794F7F3DB4
+88E4984AD9D90870A5C7147454CDBBAC9F7B3C3E3C0906FCA0796D5A7F7B4341
+D43DFE6D8989C01A2F9B70B27E2C0482AE49C90BC96B4FFD286EFB7B7941875A
+CF94784F51AA1862B59741EA2E507AAAC323F64422111D5CB3AB85293BEAAF0E
+C2BC1474BD081CEB16B6C8CC4F90E2C94CAD66F34FEF6CB3F84AE5CEEE514496
+5BA33C5F78A0C9552A40A10C79ECFDB85D20D6C02F5E8ECC31B315EEA475C17E
+FC651914493A2563E0A06F16B4A28AB64A906FEFD112EC0B9B3A3B7E45F93209
+7EEED7E0CF875375D443EDA415CEA6ED37AD9EDED86F5923E0213CA1A429E91D
+5B266F14063107BF8490BABA8E68A67632858A7D03839F1AFAEDB8F02A9374EB
+2215EADEBCB8682DC20251D64E97135249A0EC2FA9FC22341F72FDD2850520CE
+45E2B2CEE4DA9458B771AFB829D6BA5224854D4FB7114122E1857D9F178DFD62
+ACD687049B5D9650B371FEC299A96772EAC2FD5CA9C5128E9FB489F828945D92
+33F4B50A0AEBA68E408A3E068A9C2F92D7A92BE9487A02E37A2DDA05847A4BE7
+73EED5B07B64F72B183BFCB31BF2673EF5774CADCE2EB4BD58A6051C5BABE387
+F0166CE179024FF39DB1EF11DD128F052655D0AEA1F7DB42C194D3D3E4A51921
+22AD7AF84A48B12DA443D0CF7B3BB35760EA3CF9FFB861CDA95F15790A6E0A9D
+6F85EDAE6980F0A628D73F68BA387AD9326F804953443C2AD2ADCC810273858F
+9C0B51BC9FF7D1654E2550BEAAE3986282115E3646A630F88956E62E3D646416
+3F2A802EFC60B547723C0AB0FD1A0E2DC6CC5AD71569841FDA59627AF7E4382C
+E88FD3BF1A9D8F3378831B357192E379D8D313889A0FB00C470C86C7E463789F
+D2CF696141BEDB834649C38D759016B86074DB5CDA1F3AB83B3A34C96768963C
+86983D35679612CC2B8E9FC3AC3D857F8825F0BB9F40383241048605D3526437
+507AD1DD0AF39D47E62D0E190F2A9BE9E95607595F956238BBC14820712FAA02
+59E93BD5B84584BEF8517484D04976472E6559A4AF333A26F5D5CA91C73F32D3
+745DA3929763688EBA79224580D6BE105E257C166F91C7DE3612520402432AC5
+BAF5498D4F611E5B7262F95A619816BC40E8B5D756264D656C3F6CC58A07550D
+3961E8572E3730F0A5DBBB415B29160ABABF1A0FD10A0C8F16CD48BE05F90E08
+8FC9138BA53FD3760EBC0F6D6CCF7148AB43B62425156067D97F77F6D5D95C06
+FE3CE52B34A1DA696B31906842A6E77127FAD80A6A9691239A9F4877AC668654
+E1BAA8223EACFB9E4F120BAD798865E85B4191CCEE9C40EA5D86161046D0C8D2
+BE4C9607DBFB934C1171A3A71EFAF63156C8C68C644D4F64C2B51B58FFF904C4
+F6E68EBBC0C4A8A6C468C2F030C0D5474C37782A6511206125A88D165FF8C63E
+6E87046691C81E571F02BDDB8245FBB8187E9E6285B0AFE38A2177BC7B540813
+CE19E2017CC10BCE677A9A42C46324FE48B0FC5FA2034697258942827E9D5D9C
+3E2ED569871E9076B073431BBA118FDA33FC180BFD558D4DA17A3813D206B0B7
+E62F666D68696D469E13E4FD628445D8BE278DD216CCF1930E2435EAE694FF49
+7C494DCF05837E5EAFC0B6B8E09720CFE065FECF38B3310B56C4D2724CD8D078
+DFA4D795073E90F96857566D43A622A61EAC381E20F262C660C90302CFC6D85F
+BBCB3DB3D450587FA8C43F89F19DDCD4F244E9A98E1D0CBCE31B3EFE2A397724
+4B7AF5172C4E19B03D1B5990F4366334F4FFD8B019127B30F50799750AE97C13
+D4B9278EC1298DB073634B66B212A093F244BFA90FE1D8A99FC81C702642ABA7
+73647F04A2A89D6FD2EB560662016E7E6C634AFA4BC0B4024E45437A219593C7
+538FDA68BE395BD061A7D1D719FD571C8BAD0093928EB6829A7DFB9A798C2429
+443B8F00A56A3A812E0C7661B2FD15CBFCE40AC101ADC58C058B8DD2EFD32A59
+77AE2D1BAF4809B36FC428EF235819C59A8832A2C641B43BC25C6F887ACB28E7
+1E3C354B14AE57021284921424522DBE8BBC8AFCF428A8CBAC99039FDB738B33
+065BAED6EF1ACA3C13426AFE3A72B9782A5EB64150E1968B5F73FB68604349D5
+479B9DBE25BD3C7FB893D13A10A17FDADCC10FF7D4E4E7DE5D7FBDE6E4A83549
+8BFF55B352D9770E83B7EBB026B9E5E6BDAD237891EBA638E63D262F841D746C
+4C8ED36FC973DBF35059CDB3E73CB30A5BCFDAD30C7178FCD1DAFD9A7E131C35
+B094C145CE3836CF18BDD0DFA344760A15AE2193CFC872FE3F2E7AF09E1CEC89
+2A67469F3CF738E980E5A03D7B6AAD6B70C668054990BB9B7F1D30A60E05E671
+F2A0A9F323702123595DA4818AF4E5C0DA1830E94095EA4EC36733F3B25AF6E1
+490A2772E25803805E55650B6FD03CE7E8F8565FE11EE50D0B040A62E5AF3D3D
+85900BCC83A09CFEF3A2EAE5C4B87F9B423CBF7FA703AB8D91E851101B888FB4
+D0F0F31FC74EDBCBC1D40A2378DDC8A0EB9011EA5AA3484D6BA12D6B4FCDB6A2
+10497D262D136AF8DD0ECEE9EE9D41E94A7C35D53698A0E581244EF3A4B3EC6E
+3C490AC4F3EBAD17F1A78D6DBB01343A3854887767021DC999514E99A18E07E8
+B40573D647BFA3E27527C1105EA52050B504D4C8BD5D6B02CC2C5334D7CC08B4
+73CC3EBB9A539711F08FE85F2C5773D83CC5C43C4C2B50F8B74B098950B71DE4
+5847A10929D37F8BAD2E3E31D930F6214CADE137CF8D76EE60C57FF82748A105
+0E00D412E6A82D76754124CACA25BCC478169E42B197294143544638F57EE932
+44BCA114BA1D46EA1540943AEA3904406548AFFC45F2678A12317B7518C3EC49
+6A76D6C86F3D44EEDE0317ECC5401EED98BE22EED756D35C67B45D9924F19904
+1BCE23B85A393E7B8D42E103CA6B60278F73399FF178F1F0B67F069C9BDADFD4
+43AB5A8D4ED31154B0FCAE04B7720907442CBA3564888ED7CD487A6F62759397
+42443511DDD40CA6343EE4BB4A63125A4CBBE3470F15146F50EBF1664DC5B6F0
+8AFB62C771997991A9FF8D3BC0E258FA4D8AD5BC20140DAEF3824CF78859BBC1
+1C10C23A2C433F4C2E86350651D5861E75FFBB16CB9039DBC5D6A5B37A81808E
+1BF4A6C3D341722DDB79764507346C263A8EC13654352B6B8F054B1082BE652B
+1330D7701AA7B370265B3F228E005578AD69E63ACA9944B5136177EF63DA4B3A
+2DFB0281495331010183219263F47C39287B9F0CBA9D9BA8D199DBB482877063
+FE76E44665F05675E1B9E0063ED511CE3450472776302C90DB4DBE532FF0442E
+8901F287E601A310C807DE2D0389FBD1E673029C3AEBBF692C189A104C7FD028
+5539F9BEA74D18F2E15813C4B7F836148B4B54BF1ACAC31C3955FD07F68B38D5
+2F0D5FCDE1F89841E35DB59336E58E5C074DB381AFBFB7D2865DA312A2AC8580
+6E308FAABBBD198B81AD0D1EEECD61EF8D4B05265EE9207EE1990CD1F5CF2B3A
+00922727934841BF36A9D50A3C8ED089668E7138A1FBFF1EFBEBB0C994582726
+3E31E449D43A4756E87A8636BD09C79438CF73AA3F903F6F3CE72427C148E997
+860F5394F8DAA2A1F392A169E3037AA3516246DB8CE5FDACC863876145C3B2D7
+5BB3D46A325B5238E3256EA2863D388508A720976F154953694661B617C1636D
+6B220B3DA2165E39C5B1AB48B522ACBA82B5DA5E7AD1EDA0B116B754D994622B
+A75931E0774B46CB1224CA7C9921E2CB2A2D95C7E27D55AF75FDF72ED853E525
+EBFAE0B50FD667EC5059FEE1D8E7198C6DA130AF2EF7413C94340FF4075EE1F0
+543678B806A1B8F4DC920BB4DC568E50
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1852,7 +2179,6 @@ dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
-dup 57 /nine put
dup 58 /colon put
dup 65 /A put
dup 66 /B put
@@ -1926,266 +2252,261 @@ E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
-331A1063F97A958B9066B51C7EEE1181DAAD5474206078A3CB994BE8DEA674E7
-183ADF8C64303BB8FE655BB586A61B3A6B88A406FF3BDC9EE420A0D22A0CEB0F
-F5046A57FAF45EE9B71D50596D63A28CA47D3C6DEC142E4B1355CB7A9F4DB49C
-5E8F646A9A3CB58CB5FFE65CC9DD3C2C04C011FC107F7E979DBB527EF3865AEF
-8C78DE5F015720F4455209736A49C21235D8B2D1957739EB1DCAEE151FC162B8
-BD18A9580673FE2DA52E4E72E3DDEBF44385DB75C07D4D269190477ED0604DCF
-DB8A5EB1283315C84DCA8D72BEF671572390C7C40378867975FAB49838F3A352
-4A4FEDD85C90E92551DE1E703B69C66F4604722DE2A135C70A9BD3277234D9B1
-5D2060076DBE6A00883AF273281CCE3E34933B75CA9BD8238B0EA935DABCB370
-017B67B4170938C18457081F0E866238A06A7CBDF0ABDA6797BEE0E04AF73445
-AB8FFC117CB8E1095FECD403570EB4FC8769132948B7C9A632ED42B57D26B027
-C003B89C34A698AD7469C709199AA0ED77DFAED715F81C3E9ABFF5EF3BC508A8
-70E4FFFE26507AFA979D08F37EE7B0C51479C3579B3828E8A93E0FEC7B4B2F44
-2E65DBE120F7EA7C14E3C76F21A3DE0DE13F59C0D10B1A1C7C6706C33EBD52E4
-F79DF7FCE1EDBB02803293428B34AEEE1B98B25A14820DD9030E3F5E1D908B70
-F5D8F98A45B6AD6D25836DEFBF5CB110578824F1C5494FBAEE1B3C62FA1B77C0
-F79034E4E7AF0EDDB5E1A7F010C50A4852824E2A0B42D068F466FE04D3DEEBC4
-1C6E803FF9DE446CA4EEDB037BAF696BEC94C139FF75E15DA90402F121B7FBAE
-D8F476598BCD60C75925A32FBF5DAD953417B09A8D531877964AD98414D5EC16
-7F8E6014B2963B4674FD4F25DC8D865EEB86E66DC7773183152CB55C8E061825
-183901AAB3F0C8C39E07341BFAC51477699760BB1C8EE0A69D991CF1E6DDFD10
-88ADADC075CC50B73405E5AB31916C7BCB78AD9B239309878D53C43534599D17
-B3887EA1EBE57717EE2D67A7CAA3D8DFE404D52A9C9F74F27540DEB7B770AA94
-8A4F3215E422E45BDA775306CB894BE3690394A5176BF4F0D91F4D7F3766DBA7
-228B3E988B9D887764A0B7F9CF8FE725A9AE5FE2663329938E03BABC23729391
-47D08ADDDE9FB26DB25522B66874992319E92B5E63A26617F9EECC4BE56C30AC
-C8B1C03FEAFD609D4EA2C338317AC2AE9C3A47A541F084D450298BF1CFC2FB8C
-DBB674950CA227920988E09338B6386CC9DABDAEBB8EB522D9F2F6A8BDD62D12
-85826D86D3B8B4BC8406AE6878B2CF65BCD9DA104580C9AC4197B323E38A4154
-CAEB54D3EC1432A2469958430857793673AB00B9F47E0A8EFCE7DAC71B886EDA
-CBF9F7AF3CDAB26AE1C2D3C6F111E0F099D1783F25273D18DA3FEFFD894BFB5A
-E2C4D7948046C53912DA09F2CEDA9C644D388EE2C2037A69152112A9501CDDB0
-E7992D53ACEFB419465112E8DD53189E4F3EC3D9F8113898535032E630D218F2
-D6710F64B5475E4A43EA2EDD8B82C05F0FCD73A7345A58C8C385FC994070B7CD
-A9B1724851B9C2667172F7C6EDE30438B803663AB10F3D01D204AF0F5FD50504
-64605D483C851E3102C314203F970560B0887E5800C7BF9D82D9CF4CD889D02D
-DEBE89E51B790D3D45E915EA0F7C6ABB19096D53EA30B9B9EE288403B046893F
-6278FC44CC46F85E1B9EDD22F14EC0C572A7CC289A97CB7672CB995176D5C4B6
-A159B838B04FE3531D5191CF925A4CE423F3BFF8BF94685E741FB1C0590A6CF3
-EBE5B8265841A0D40319A93938BF7562FE7282E84E96CABDDAB759EF5F55402E
-461B0C55D343B6CF5F8E9CEF03A354E04196F329C50D5A06ABDAEDB11409E942
-CE97E3586F090D25C3E399A46635E0B4D5027D310A14833C0FA0E49827D035AD
-230EA180D934C30A68286172328866ED4905FAF7C2EAF460B9FED0DB09566852
-0DAD2C446F7690322CA38F6EF7E519EF6026FD3DE12B88734266E067126D493D
-62B0F12B2EAACDFE4F1E4A78769B2FC46041912FA1B01AC88B10A5FA0A579802
-377ED0728B3DAFEE8D0A6BE22CB1CF1B421426125A2ADBF35DB22E0BB2C51556
-5C980BAAEB498CDDEE98183BB8F2563E1909A03D1CA611CBDBA09D00E672EE46
-40AFC1448FE0B729D491FEA3A9EE39CA1C8E01AB5DE8F4AD3BDF8B58E829F6BC
-7EAFDC2C5E3D27FBBB5AF40CC811E3A9DD4F287A0FF6DA3FB69C8D66944BBC62
-42E36AAAB1D0F696BD3C9A9ACDBAB117580E49D4C9C0A33B580486D4FB12388D
-483477DFE0568E9E81B2E9807760908E6C4F6005FEF5A7FC9209C1076AF398EE
-329EEFA43113642498E8B7EF4B10FD726AE2970B523FB5C304BEBCEAB442C1CD
-BF9B09DBC05E3CB73980D27DE64B7D8B3513995D91E114E85062A809969D7E68
-5F3C2B19DE0DE2AABFB132E4034F9431BCE2415BA034F91ED7873C3CB662CBCE
-6EDE484B7825B56F2CED73EA4D726CC0E94B97D009842ABC5A851963B6F42529
-E2879BD8A98AF1AC9262A152AB58388D60140089C402ECBE1F69050BE4431F54
-40C17B22027B7D8E30E47D8044BC4543F057493C7108565BBCBCBDB56CC1E3C5
-220A2E13DC697DFA36899999143637D14181F189E71D26EC8B47F90A64FCD953
-C329B2A4D791DA79963866F4BB126FD60B30215EECB129D768A8F8FC3F1E5D5E
-6216CC1C3AC7A8BDD95210F63616BBEEB5D60030C662BE3A5949BF671A3B228A
-0854FE022746D1EBBCFD01ADD9C81052C960066C13C04AC2F3E18BCAF510F49F
-4C2268D6CCBA17281135989ACB6FE296911FB3FEE35A446D9229AB59A97E48D6
-2162CCED2A7C838015B3A5B4371C5F46A0906E1FF4682A13D5FE5C37A8A9F06F
-20DE1954129E123A276F518F96215FDD104729194E6699FD073E765765CCB380
-C64A15DA054655B31F1EC90A821D54E3E2FF7F51892008084EA45ECF447C55E1
-15EF5BF38029A46EBA79F2A0E6852978E03FC15400123F0231FA274CB283B812
-9E2C758FBC76FBCF2DE48741C12B08D1F4EB466E7B8B58CD890F838E342346BC
-A00F47DA9586E54FCB48FEC7D70D7FCC1C387A5C158B419278486553BB50DDDF
-F7C49A2DF09CD4039180D54945AC0C0F7777FAD30502107A8EBEE00F1D326688
-A326126AF4CFDB7063FDADFAB6ECD44BF95E034F4C09C3C06E64527D831105E1
-D5CB463643E3766662C732F94706E4837C9741760F12F07F3AF2751119C2200C
-30C808CEA6B13E2000906A4F0086FA5862A6769C9572EDBFE61681CBFAE841DD
-5F7E940CDD6F96CB667CF616F67CA4089DFD27B276C63DCAF39DA4B7A2497B63
-7A1363DB5F8FB7737F41F710D657F1668BBB1DC2415E48B7D5B5578F6A025101
-73D712259E2A04690285F8FACFD2F1CDD695155BF48E7E6C3CDA27E3751D75AA
-6299365833E1F290232572001D75470B6779E5C2D90D7D27F28597639B085869
-D42CC3C8D6568F976848691B754A3F830258548BF22EBD75791064E25971784D
-9EB30A8105064487F5C16355E6A80FA240C38B4EDF50EBC104F7EE2E2C049AE7
-B50ACB07DC4556687353DF9F30FCAD0FDB75FED121A34B34BFAD8D6D129BE23F
-A8EEF6F50931F38CF2E02691265AB504853782667827B685B98618F5761B58FA
-8D2C4359603ADCD3890396197CD66F0E42E77C41AD43F221442D3E3BFBBF507E
-6210C1D9EF75A456DD58AB8696FE12AB478BC436498AF884F0499005A0D75228
-B4F7AF2EC50436439DBB082129D7BD658D2D0B1A41C0FD220569469D0E8D0EC8
-461E51885B3C0376DC534DE69AD4F11991689F8ACC3715E649B9D9D379602B26
-AF50FC7B161D87B4C34C388C2F7860740B451B12D6A4248D09700BBF18D40612
-F4B28928CB336AF6FFEDDCA950A4A3D6947905BCDCA179D7E71FD4D8D1371B3C
-E232E36FF2628772DC26C27F5F07EE43EBB5C897335D210EF0906F550C150FE2
-B60B760B3E3DD1AD90331433C3339F362619672DE9FBA63B2E06598D05A42DC9
-E0D6A3FA42AEC168E403F66990D58417EE5D3D5F3E02DE25CD95633CE96EAA62
-3DCA6A305D8D59451969D2124AE874EECDED6C526936515D975EE8FD81B05A14
-58118F5EF3D5D725067494008D5A5E51FEF09BF8973366A3E911174D782FBD2B
-40B00A0974AFDCE72CF74DF583FB7DADAE44EBCA7F4F2A9FB5673F970E4A629A
-ADE863A7609EE67624F1C068BF256DD35FB375E7EB8EAFE372B34FBE81C55F6A
-828FD02A2A88ED97CCFC71B73DC3DCF3C4032A129797F35FD91C7AA1BF28548D
-7A35832E51FB769C20007BF2EE294989E971633B8B768C7D1AF77A4E7E878C11
-E0AAD0AA845DB1A379161D0AF56B67681DF8FE7301FF189D2810A217C3937EEB
-CCB666DC1D2922863523346BF507708F7CF55AE9F8BB0B38CBFF2C299A3AA4DD
-1082D174880B31B221FB69DC1DA799CBD9407A12F60975B0B716DFA35C46778E
-22BA90B83CDB4FB38641C02CA76E3B8C4B83299C9AF980899E97FE33D6D96DBD
-8D6CAA105B3068E8913EA40E706A9FF75770DB84466144B65CD949740CC8312D
-C34D690A983403963931A24668B013F8D4DB4D9A714C40BA994423BEBA7746A7
-91D4F91727ECAABD242590FFEEE1292A9EAAC12439E0DC76BAF0C56420B69FC6
-B4B0A3EF2FBDCF1AA73D7D06B773951AFC669683D4415EB97BB7D63C782F8102
-5E289AD658CB298F38AFE0326CF34D3FE3B5D394F5D194F8E46321E5590CA680
-F2030A5EDDC581916AA5FAD551A1D29929A3422F1C32CA1AD5034D50CF757A1B
-4A77EDC07BCBDDF1698F96B27F71BC8E50BD8D38E9DAA9306ECC6A254C407A42
-D7F404FC94B634A95CFC9F7B7930C8014060423E54EE1EA39CD4E373686EA3DB
-8E4C63241B962AF86DE35A6225CFA55A84FEE2EA7CF96D3EE9D75F65136B7304
-15D606FF47951C2B3599FC2FAA04BC6BE6B371B05A6E8E750227C349CE921B54
-E20AF2EF688690729F0D0C483A9C0975B5E4696C6F3486DC844F55471F35FE78
-C05790A29BDDC4486B2BCBAC5024D604D4B50D73F8E4262786E4E7D6E683CE72
-3C18148BDB104D9FE2639DDE1913162BC016EEF5EB4DFBAED116B150D4D2EF64
-A973915E8AB98D59C21E05152DAC449E4DE92BCBB092776178729B0A1E3B3A93
-DAE48FE894116FDE218436D62FF5C9BCC8FACED941FA55B0AE2D6697FD183E51
-7A70EBD460C5466C0BBAD2735CE6C30929E707D4DF82D503480451928507536E
-02A972F1A072C857EC4ADD0F8ED5BEF5AF43A8A4B4F8CB50966E13BB41D2FAC1
-84447717659A3027CEB0F8BF617E815CF7B42F8104F4808AB19ABA9B7BCF6E6E
-358A1337343DCE48B5BA028F4B339BB5F0B1B5FE7905A850A3600457E699E4E8
-5A50A178A7B977D8FF4655A906EAD3086B6FD5249992DDA846AF0F9ECC0F3598
-9EB52A49136C99896AA3F8C9FDF544236E7C959930E90B12BD1A5D92ADA70089
-D3D1B16B992E91963A94518B0583B83756EDB6EFB516F65BB40C852C2518EBD2
-95200B529E8DAE9168C6436F45870378E9DC77AAB889639725F8CDFE59C130A4
-2E2F3EEE32A9BB3A4ECBABA8356FDD8A9CE5232ECDA9DAA37DD621846051EBEF
-0A0B8C9A6DF5FFF72A21CA5359C502D2C433DC5836851959DF34ED753308A38D
-1219AFDC12CC5EB827ECD20676A67FDBBB9D9DCF561D283C3C16BDB9F62E3A4E
-3533D07B8CA6C684FDCF68322FAB95C5F2A408191290775FB54C3B9C567CAD53
-8280053A99567C3E8142F2BDD10F4B56C050D6905121E195288D606BD4E03323
-F15E9143689CB88BE54CD5312106E2A61419D03D395E11E7FF151F190FC07FE8
-AAF881896719029AE81E7392D3017B3EDD889885A283CC7F7990B7732D47AACA
-F8F1F370090392AF72399EF1FF77C79F08EE9F7B251FF4AB5F4EF714EE1D9B12
-E05DA60B3554C4B407FE0C7BF7279A89B29B422725B798AE3146E7C86CAD215B
-6FC33F5DBDB0837C68E894494176E5B3C0613677A793C6C10DB8578AC98BB50A
-4F098137BECD52FE802C0A9B0D8FA0320EB3BCFAE1330E9981D499FBCFDFC6F6
-0208620F7316F12CDA362E4512C22EA299C1465A707EC9FCE3F028454A8898ED
-88B17E1D920D93C3D2D5DCA21422D9051FE861733795088CEAD0E7923DA5A189
-719AA56AE5A3BF93E68B43B610F1A987BF3DAAABDCE6932E0B4E3F62CD17798A
-34D868CD4AFCD6EFF152E83BECBEFC1C85075F047039960BB1730A343FC4DA48
-B9C61D0021394EB48304DDC00D37FE3229E03BB51075CF66881120513BD2B489
-E449CC7C65AC1AE7B669F8F5FE249B46A875C527A71BFCA475D18ADC2E94E667
-12F8AE92580BD27BDC71BDF0842A80F39014363E86B3860E6FC37395668A0A6C
-AFD2DC7658B664EFF5D824F3F51292030E235E0D2F6B43A07C76B559434E02E2
-038AF9C907E612CFC6B025913E8B54F6275551E004AD22BF1308E0DBD68B184F
-01650B8DB85FA52927E5F78A645A78021F8E60646B221C108A6E58CB234B506C
-9C81DE6818FD8593010B76900847661F73F20F760E15BF3EEA3BE90FA07C88FD
-C352F5707EB6F83410FB686177D379283F9F505A5F6B597506A151DCC51AE31C
-ECA6007592F5879857D008751B1D05FDC58C978391BA03688B7D465EF871261E
-2B33971B26251AB1171EF3283419D049ED7CFC805411CDD4649F0345E0E7F434
-AFBA49AB55EEFF02B09A8FBBB686F4A3265BF628FC956E896A3B515305683FE6
-3EC96CAC2BC4D9E8BF8797875FB189C43808757C4618279B65C8AB15BB98AF8F
-1F817183CF1E355862901F10AD59BE1F344C06661F57C32758851007EDDCBAA3
-2FD9E6254C95FECB6FD87631812AD6883E55CA0606E79C73B205EFFF7627FA25
-1EB4800AF0771E26F1515931603E0E3EA7225095137BA8308E802BA131A572C5
-786D92F6AB74E707CF412B21B2BCA10DD46F717A65CBE31A75364E55AF920293
-83C9CED06B5D25FA5D7BB9C546C43F773D971E591A8E9A67FB5B5B97331176F9
-D69D27DD05DD756BB61420A251F0C51263C6E91176FAF06C541D5AB5D813FC29
-47801C9B7329810BDE2D691C497FD5D3ABADC778A3E2899CAC444B1DD27A7A23
-7EF7F162A1C65E0CB98F5B40B2D43C57F518D631AD206700BD4005C8521331D4
-75DFCE3B4B2CFB496FB26EC2DD9A0EE71736847AC930B442E2A8D492969A34F0
-228BAC3AF7312628BE5AE33B1B3DE83C22D09C04A17035A93F3E1C489969B997
-169A56681843B6AF1DA4FFB3F4FF39B27EBBFF981C4E168574B1DAEE25F5D082
-393AD73B7B22236ED9A5A3748EAE8217AA39743EE3CACDF1A85BCA2DFFB62689
-FB0408AE5E86028A33C6238830BA9B38C70A3460BF731661074AE4BE71D64956
-A958ACC7CA90CAF79E494D796B01A88826C4EDBE10298CE234900F0E85D8A99A
-7A731D4D840DD95EF3E8576886227FB5AC24A1260FA651FE8D53F4215CFC3EA1
-7CA03543B74C641028DD09780484D51660A8AB79AF5134808471876F6B952944
-8F91DC90305D01DC00E9B37CF0CD6D567233E8FE6B14ECE8C6DBF56699BE1AFE
-B58A868C149964CA9CE4B807AA801EA32804B6572D5FCC435CEE1DD2FAC1516C
-AA22F2161B4DE706D43C50AE005530F24E351FC0D3D1DD6B48234406D08BFA77
-5346352198F7582EB15529FF8A1A69A4819399FAF43FA39C0E581DAB224296E4
-DBD7758CA9EEDB33E9985B567DE5968513CDF02D87873F520801A37AB3E142A9
-0F26D559801672FCBC81F61DBD9D7F7378E6BC6F34CB9846C721C84DBCCB5873
-678DFD84F3ECCA7598F0A6FFD230E798E59CA32F0DBE5B5B0C0E5575936804AD
-ACD9769F25683F93537EA66A1B8DA7AFFA62D7AD215A17BC98EA75EB8A149A40
-45E6576D587A308684860417506DBF24FADA8C69288A5F51C6FA42A5C63287C1
-143360AC0C5FCB531470C5D2526B6157F952B5C8B3CA3B00C268EE8F427C18C4
-92DA17833444C031F0C381416D5A19CAD10F8ABC6E350A94D56C693812176324
-CB051E3A46E78C1FC70C48BB892111B5E03DDBAF35DAC025B86E6B292C4BD827
-25A2155075D062F95569FA8744B534C7869EE219475EEB7E8E4BB288ED2B48CE
-00DD40DA38783E772B574CDD71538D07AB250201A67B7D9A48EC8FD19668F174
-FFE86E6CE4C47859CF410DA36E6093888245552CEDA735D9CFEA352BC938E060
-50E8F6F33154D7DD44FBABB8FDAC2F5E2912F1688357F8F56DDB5BF6454BC207
-D0ED71052BC00F44AB679009A220708A86B9F9754D864A721D7C325632E532A4
-06E8B89AFCE2E82E8F56BC695849B4ACCBDCDCD1370662E26CFE5335D36DE667
-01E63F1406E7332CF3D1A491F75A8F1924FDD57C4F1836F0189B92C63D791C2E
-A78189BB1B0CF217C0EFEC8C98DB89B7DFF0735974AFE4A52AA6A1B1701C5238
-CAA28FAD4F0214638453632923A1511980EB75B78C3DC6FD692287A0D9E27079
-6662013BBCD1559AF0618A7F4C84B4D5D942C792C20E092040933EE3B7165996
-ABBD48672A72FA5106FC39969E194F2E8B1703D39790795C9E71A3413B4F3E3E
-F1D8AD02B592415A733238F23F72C81B1C8C7B3366004109F703E68F688AE75A
-A618CF5B89A197907BAFA27D957BDC1FCC1B94DA196D0D6BD24F8E7913F336CB
-A7F6A137923D77E6AD68D6B7FA5BBE0330B259A63CE92CBF51714336398D775F
-5D9AF39DA5A164B670E4E19ED687C7C90AD60DCAF18FFF0AF864D344BD701C63
-1E4B0EFD3B7B299A7A8DDA8E0BE1595C7565B7B9F5D01E24B8D510CCC870E191
-1D90074DFE541111E3AEB66F279F572796F42AC5AF81C07A32A39C9151BE59C9
-F5B1205A9E2FBA9F03D020BA0A3C0A3D9EEC9CD8F79A4C9AAABB3DD14AC46C66
-3BA80044267D781D8EDB12A8C3860A24DDD157D1840414F20021FA483E83F1D9
-4FFF9FBBC04B0EE5C40B85D85F687693E05FBC5EE0ED2A940DC9CF2DDC0A41F6
-009391F1B08E232F6F63B5BB39309A4EB090F4FEF2ACBD7EC5B3BE1FF3CF702A
-BF973C5DC8B535B7DB8D835825BA42F5FCDABF844B820F91BC9B8A0B48D36EC9
-75897F70D555B2D6A7190E086981D42E87D73281F5D72B59DC06E847D431319C
-FFA8272A3652FDC0BA0E37BBCA44E0736E4A23FF7446EFE2D0E59E96F8962398
-F52484FFE824556254D2213028343E03895FDD964BFE513F7BF404C0F14ACE23
-93772CC67C7C6B9EC7BCCB916A6917320FFEE3A93CEE199606873ECCCEDDB42C
-F591ED6B0AFDA824A87F49731BC3E24247EFA1932E9927BFC53B6B5DADE507F6
-98F913362467857D737D86EF45A13DEB3FA91927BB7BFFD0A0E96ECD67B93873
-BAEDA02417182E3F13E53F1229318656FBAD3F580442ACDA2F4403EEFC4DF5E8
-BFEC5E1BCAF5A3AAAB2D98A9486F25A14F92305E99B85F810D5C10F2F86BE752
-00C241F2803502168292F2FD34EAD43D1CB4089966A28CED9D03BD9FA076ED82
-7D01321E607F90AAA9DD616DCB9A0FC30B293212FFA33F66C6E630315AEF9F84
-83347A919F962A9F13B0167E8FAE79C6AEF5550B59C5ACE7F8D2A901E39690FE
-9E0E76D2371F1C9B3CBC672ECAC2A3634557BB90DA0F344E9ABFE009C009E963
-68C93F872BAE759EC1AF5006CFA314D87D2C41E8DADF9363D9A5CBEB18DE1E43
-A015BB67932FE854E33EA2E93CEEF842BA0A7DFDC636FDB746F45ABDF95FB85B
-76F1694C2E4943FEEB737E3F30ADB939D2363AACC0E34C8F5C7835AA9889FBF2
-6361DD8B823281BF2D0F71640C4AA1A07F05663189A94DE48A8290B02ABD7EB5
-4989F3AA7A77819CDA857AEA5F4CF0DCCEB92D106D89F96A39326D4B01ACCFFD
-06B8494A842E59CF06E520957E66D9CF7924B599B26B82D940BC7934DA5FDF31
-1AB8103E552B3D3744B103EA4ACA9C1B1D4A394B5FBA9786FC39E8FAAADAFEB7
-46BF4CC54D7FE1A5A00BF4135628CAB6736803A8FE53A1E4D49BC441C15EAAEC
-8EE16831E9F2679FBD1CD471CAC2B27D16B6EDE6264B86C98C2C53940528135F
-1038C5844CACB7AF95ADA289E2D3275E0DA020298BE2D380E13B2D7E86C6EBF4
-7555D8DB3A0FE904A076914529AAE1667FCEAF9C6E75A55A848038CDCE88297F
-1F4FA01AE181842790039F0CB446993440D1E8E65515C0706D0235AC01D8DE24
-427071312CF09F56B2CAA8A8AEEB320E558A3EBDD63C731BFA68E118D6113BCC
-40E0D15AF9903F25707869C598E60184255D9589B2E107FCCD4399FB3501AFE9
-156757804C48B3E0A730C01A2C1EE110B0B3EB294B32E5EC8CD589951C28E451
-166C3886027B39C989A20D016FCE80F717D1FE4AC612CF0FDE7903BB7BC447A6
-E251A1040880A245E3C0477888515169B29620F363B810EA6E4E81F8626D338B
-EA71C2314FAC1F8FB89D74D65F54CC2C41A49E51479CAB6206644C41DFD2543F
-1F29F603BDA8FBDE751D97CF4835862FA146621CF0D6B72E0847D8851DCBDE6B
-340D5FE0C12B2F5AFFAEF828B9C363744313F260E889BCB11D46D225176DA9E9
-624050ED5F3823416957B1DFD1AB431B778A4F890B32EC707309E90111A09770
-8431E4384E434B565B0229C134DD4E1A153E9DFF94035A9FC70A7D10B8E75710
-6D622449AE89988122009C64406F2E05BEBB39F4D0CD5F5E8018A3D8FF2E7B8F
-0061EC98E3D298A3B1DF4617D8FAAD14AA0C4A26124F6223BF7EE2019E698842
-7727B42992E2593FAECC8D4D4CC830A772F664AC72B04235914F7BBA0B48473A
-2E26BE70066DF20773D278A4A9D255906654F1B5D2D3BAB285A54ACA55589EB0
-E00C98923C5AEA2CEE4BA6D5ABC8A538976D951ED0BA03B707A7D3EFF93B6FED
-7A19BD7A69FBD0CB961E41F13E91C5B61F5050B121421E70AE60C3707F4556FA
-EC81A10FDB7E9B1296F5E0E8EE3E15AFD01C864D8B0490F48758A6C648BB0E24
-491690B449C48E2B7AB0E8A3264F7D9818BFAA1E48F7FD93993D9C56DC6E327E
-9FF71517FF6E8D6FE27C1E7888730D6AD80413D5ED455EEFBC65704C8F8C7C8E
-624E7261FB663C17C46D9D0C4D24AC2A7E334E009F7E36C52CB9820DFAB6911A
-02BE6501991CCB7C5CB0CCA207BC0C81F34473DB952EA861A6033B5912819A3E
-3B4BEA79AEFCD9C3D2277C6567B56818CC66C5B21553347FBB2B4604152A9388
-A1E0790A9536D2EFF13AD7F150E71A0EAED260A584D385EA0957C2244180A9DB
-4E8D4B3E5624B762175AF69BB121E611D911EE033DC0EF2D98E4497A1E45DF89
-0809175426A65E2D455723F82DA0FE4A05E97DBE82D5BEBCCA63360FD036BE04
-55B5C34C11404BDDB63E00C30654B905E9C9C47810F48D8A5F4C334DC298A734
-C621BFE22C62293DD7970158248709EBC215D8A66FE8FFF036B729CEDCAA55E9
-75761FC4F96452D528D3552C4DC2F2F5589A6E0787CF664143DA5B944383634C
-6B9B15B69BD871D1EE15A13FFC971107D5952DF9777C324939298C5145C4CA05
-3852FD6C25B9331A7CD21E226085405A3E2674399CC3DC5F25BA928333EBF111
-FFC603E240D0B57A673C3F76EF00B3E40FBF9283754CF826C479EB4DFE5C48C9
-96EF66D37B50143A6BFE2636CBDD181BC5D7E084182122ABAD2AABA8A07F6159
-75AE6D61D893AE2CCEF0A23E3AA24519AEE6E6C259871D0857799D3B2615F309
-1634F4084B1C0EE666E0781C728E2600DCB2BB40B83E9EA2DA565412FA8FD7CC
-FC7BE3BD26EFC7407BE15DF6729D28279F2B06CA3EE1F227B5BB9994211EAD8B
-C12D883A34C9C9A727D1C2CBF1C1DF070952E29BE0981C557A02D62EB6B69FBD
-BFD3130FEF6C54B2B645A2F5005BB6FA26162F13866253
+331942DA18ADF89C5E79B969611C123465054D82C1DB771E6506EE7EFA2BC0E1
+DDAF60DAFBE6E98F30970280A2B500EF3E9FA526BD478E1125461E1A4AC61B41
+D0FD917B2D891EDD84DD60DBDE3BEAD106058BAB10F882E4E143792C2EE4D13D
+A5837253F8577B67D8A2F0936152AB0555EE029D0B406C99B2795C5B0B394EF6
+78946EC9ABC64118C3FB0C8BD6C4AD2B18C319E721561AAD9DF439EE057291C4
+6024B31D64D08E756BC2692C2372971247A706A58E7A6B20F00D474DF5150730
+5D786AEF9B56C84EC3823491CF0EAE567EB466FA0B26469FCA00692524BAEA17
+602051E98B67BC2AD63A1DF8F3CC41121106CC02C07D3D055758B3C33D3E50F9
+88675B2D6B3DD1789F1AE9AAEEF5D5BD3E99D9EDFF98A927D270EB8D136A1A2A
+396E8B94DA9BAA7AF8243F6CBE38546A4212C37B752EE6099FAD5FC3D12729C7
+751F60EAE425B2E6804B9A7C392D2CC0CA07E7384DC4A5ADCD8911A3C09E4DC0
+9233E8A3F7BEA1428BBA8262517DA3801EA961E912D5DA81AB9560EF800919F1
+DEE9CC73EC9251754860B83A1D25EA364AD1315BC4943A3C5D920318BFF3A2D5
+27A0D8DFFD02AC3E2E6059A4CD98444B50AC5BE7B9D37DFDFBB38FF335CF5A9D
+AF6AF8DE0E686B66810D28F7A79D5B398DCB74B4E363B0BFD1519FCB34982DA3
+077A4FD0B5A2686D8EEC5D5B29D07C40AE2812E33894AE7FEED8DF2AE9C1F796
+9F5FD59E1277982CCB73F1945E762260627B1C1964091C858FC0EA75F4DC81C0
+2872B4D5846F3BBB3A79B683940A568A1FD68799B226DF4BFA0B09E77210A4F1
+2E0932BAD3CAD2FB945ABEC86ACDABDCB758C39B5730890D7A472F39A813FC3A
+598E2D767DCEA004056FDDAF4346573AF990F30B76E97EBB2FCC38FA116DFE95
+6D9B579467499AC2A7F659692CF63BFF859FA90F9584E70264304229C6577B07
+F9FABCDD314285F8B987FBAD04E4E61184F96F31B38627CC6D83743C0A561004
+888F002862FD99CA0F81864D180DDEC1B3893B93F6552E139E856C47CF7E995C
+7C273CF00776925CF39A298229683D28DF7E9F21E93F8B25BD2A111916111809
+39014D096DA99B8100FD17A4BE9129D0181F515C8D43AC6F3FADC10979526FB9
+4369B250A522444E773942AB21B630F470F5D42E09037AAB0DA0478360A349E5
+3858CAAC76E58C6E55317C9D307E01965C244C4BD24E48446FD0DADD44B3D7C2
+AF2D92AF002AE1014429FCC090CF52DBFC36FFB5915C5215DC2F9DDCE48426DF
+844DA4FB5DE5C9429B35039BFE218FBCF9ABA471790D604D0107FB65D7AA05FE
+23C350C93FF02982AF2C8D387C9401F1AE5A826E9128B5814FA24DE537FF57C2
+38F12A50F8C42D53B2F0D95CEB47D11D802326135A3E3662A454F67CEE321BF9
+6FD841DE922B4C1E0BC2753B9F3F6F24FFBD4157ACDBADABD735E5B5626A1C49
+6DD59835F4A6275F66657413702203C4523E6B7D74D81E11B37F2FA86917EBB0
+EBF4A55103ACEC7E420A7D6052B2D38940119C34E2E3D3280960468E0AB10A40
+0758A98AFC872037C929CBCAC71F5A45CD9AEFD1CE854858353A0852D9F88129
+F0EE1EDCCB1268E35494DF962AE27EA6C0AD212C0C862EE355C5580057B2C4F0
+580FED0B2BD80716DDE4350B73877EE349E3A4A63EACF07013B0484F94A2F28B
+54A3CCB83ACD34A0DB2D87624C7DABFA77362AB0CBC22D73C2566C164088C449
+01EDC05AF90DEFE189FAE81930CD6D203596074E73762490AB571C044DD3989A
+66E0F2B9802F4EE4A3DBDCA3E4B27E331951F4F21AD36D05F4E83C895CBE9BC7
+CDD4AD272BC22B5340F962039F0DD0DF6DDAB20856AD48F1AB329282E81DD509
+813F4041189C99A3DD34B9E511CEF5A61642FFEF819364214545E20185D04776
+3A23B72A16BABC12AC355664EE9B6B04A5B721CA4639CA95023277A0340461A7
+6679A462B97926BF76C7F195131037C2DD154B9A0D3A98E866C8BDC869E82B08
+45CE67161B336B4CE0153F42BF005DDBE7004F9CB8EAA04EF844E469A99BCA93
+49C80C550BD7B2EC80BE4F55ABA0E33059288A36A01F8487F2A4F3A8CBEC994D
+1723CF8ED8AF2139DB41284C778AE4DA881017C72C7C67DA310BEFBFAE4E52C7
+4EA68B8DADCD68FFD132DC14E90614609CDF571644F78FDA212F7F7A8C5E0F23
+D30E3AF51161915468A2ECB5F5F5C9E51762AC7F914383E9C49EEAF70A7ADBF2
+667E9E7BFB1F89FAB292417B1C22726B8F3A267EF227D38C9328168EEBD65968
+EC16AA12FEA77D3813F871B40BF7F9F39F8E8AF3470984DEDA9ADBC52F6F3C08
+4C8F80FF637CB5941A082C46275B3112F73BF17157E47C27E6D5328391AC81F5
+18CAF829EA5655A28BDE6F2E09190462D920B5883DF1CB187FDC9ABEE351581E
+27D3FE8CD81BFF94CE534CA166252417EE05223D6B6960D473B021EB8700D45A
+529E96BED6E2EA51D0A97CD953DA4E177DAAD914DA8A304D978D5C9375C88E15
+3E3BAEE87A6AB1DA10AAE3A36DBB5C3E3249FFDEA9187FB5B4E2C7435A444F78
+ECD6D7C8623835BDDB1B32C7B97DFE8B7C9D4BAC01F51484B96EA6BE7B8B6871
+50F91362EAF19C28B61A8CCC68241BFD8772253EA3931DCB92DF492D40C3015C
+C5AB21B46E09C60D5447A6D0E2A0032DA3FB31FDE5871821DE1B6D811CF9D3EA
+17537676A4F27A7CFAC79DECAA866DF0B06137011328E28524521BE97E125A48
+99A60C474644E0CA13FDFE368778DCAB7ACFE2940AF8DD4AE0AAE2B2278E0D6D
+0B83C70693BBE2EB0D5CD3BB572561F830379358FA9A6D60C7C77B7B5EAB61E5
+274C635D699558B1C1B4E7243B1662797BBC1813F637E2189ED5B5C09E81686E
+6E1E41350D7B14CD5F85A4753430C8DB3BF724673001D8B354036CC1A4A436F0
+C74F4F3E4071F995A1B394ED974051B8F2C24416DEA2E18EC82B910EE38790FD
+0B31A1B01322DE131054286BD668B32460EC9D42D4626ED00BD81141EB313DE9
+8EB28228E04B1D4324E93DDE0FF6C52103AFE6B36107138B0EFE799D5643ACC6
+915877932A4E6D8FA5CE24253D981864A75ED97434B96000F6C1F13879609403
+A06C9F7E75259C21DB01E44EE1F3A48C4AD5D7A3A2C7E28259E31EBABEA74CD5
+B842343EE409B4AE792C5E23BD81A41F099BBD9775AE1401A1B221D97D3BF79A
+DA2A64AA6E37839755D5CF4E931B3ECA258FF3DF46CF0753B2E1E713C4E6FADE
+7843B4750DBE4ED9C8194295EC3DAB29BE7577ADF285FCCF89B66ECA83AD9359
+80E08CDE4C2EC8FC382BB233A6DD3BD103FC026B8536D6584B27C9DC63CD6419
+0DC194F54D61BEB16071FA5C90F95DC4C3F562591FF9A2A63A2C4650865982E7
+91BEBC25FDCC286F7676528F957D263D0427351CA785913D7A8A3E8D432809FC
+4450AD63F85D6305A0342D283E125FB0B933CC9E43247ACD480B48D069E2E495
+E18B9545A11370A7F168E3AF9F5291CDDC42D5156D9DF2291AB356DA52D45F7E
+291B08922F2A90E80AB0F8844B54DBBDBEBDE7932FF7434423657F72DF60BB46
+EC4A759F33FFE566D772AFF7344E64D9F0AE948CE3D304C7306491BF51B2C886
+23921CA1A60BC33A2F8BF231AA6DE06064B3ECC1C83002CCE73F2F5656FC1CD6
+2B4F76326C0FB690930F30284322A9969969D9F59985ABABBE4F6CAA0D2D0FC7
+12EC2F4387FE9ACBAC666B6DE8B56BB7FF39A9F5D20482A4BEE46E23A37E178C
+588D0D06A8DCE84C8496A367385C1482BE700D5AF732559E4A4CAE5BC8151AAF
+1927F61CDEE49058455A25968C08491140AA6D7D90C5D48BD580E8FCBCC2B4B8
+D9C29CC7186217FC02FED0388F55AA640793431B65E037EC302A19B3B33EDB6B
+4E61D3E4541F0B9143FDAB7A3929DE1970ADE1DC1BC0883994DAE7908AE5561B
+DDBE61E930AC2FBD643E087848073710F00239920D8E9AF7F8E8BAA5BF9B807E
+40E72F81489FA67B449644D3D826417990CBBF93EC44F8DCD230F5A3D9984456
+8B03802C7B4B22DA23715EBC245FFAEA7B0E32627F9E71CC94C0C3045FE52B62
+5486471DA7BC5FEC56A1BA255F3AF867EC3265B3F4A63AB0271F95488E267C32
+112395F977FE1DA953507136DC59FF3ECFF1EA252FFB82CB1ACEC541F5CB2AC3
+FB35AE5A4971D5632341A16EEBD6D9F2EB5F453AC9C96238C8265D792EB16E58
+244559A6C23C20622D44F8FBE9DD731FEAD4A6BE66CBC9B95A5BFF59B0ECBB4B
+E17EF6D3E423A8E49C96CB4F93EAD4DE2335AAB02AF12FC2A9BC2FC81CE526C2
+F64A473FE386DFEE4E233EFC588C5B3650A72C30D2AE2664BFC0CAD9D5BD6433
+BD67298B1B6C990D5CBE4FD20C1EDFA6839226E606D1F66FE59F3EB47E35C567
+B1E937F9061289E90BD151BBCE16C9ADBC8C65D09BD8E9F87C403A0D05FF3D90
+3015F7E89465244616BA1121951C092505BAD32172BC5516645B14D60409B2C4
+C94976B1DF3CCBC33C66FF4F002528B942E88E8D2FA4E1B098A1FAECCC33C591
+1EC4AC61596D00B65C6218273819E46BE457B9C4CBF6F1A778E16AC64050ECB0
+C65549AA2528D51CC11D92E9A8E9ABBDC4FA91651A661C855919594A235E6AC9
+E3EF824B79E3088D7378B5055D155BDA9D7B909552AACA888B43C22188F2030E
+5E7E8A38174E0237C2690713AD73CCD5262D3D8D1237C42A1924E5370568279D
+E9D5B05C39E009B491094AAF4E7EC89D04BC4A9A2892A47F612FE169CFB3677E
+557AAC664BDDA6020C6D74FDB5DDA927B9112277D87C43DD5F82A5633693C2C4
+80B16A9F6CA63366D28BDE65AF9B6C6A3E035DA5792D61BF3198BE6E0C04D0EE
+519E388BC07530011FBF532F7E580760449476AF8067710F9F222B1E71A8874A
+A0A5C0E2E813288322698E5C5C8CC7493453555D7C332722DEBBD0FB3EAC6246
+93939BA42CD6905AD16F873B14968C340F6CED94E8E8B28C4DC3B31CA9BD1E4B
+2DC161FD50A44CDA71A0693483F1A7B41FB6F5833D39F638F54D85EA0B187649
+38FACCC8CCEFC695C9C8BDB87713AB89726FB69844ECA220595E123A4BA1ED14
+13222737A3304CDDBB8424D306518C6FE3D3C2836C0C329E9223AF0BDBAB627C
+4344A00A23787E5969664778171B11CA2DDC70EF7AE514765E87D20DFBE9F39A
+E1CF8F43F8EB9AD584F6A9876981C3901DFB457B04796C36D6A261BDCE3F1BFD
+7945CC3BFB731769051686F1F0A877FA8DF81D9E72B44F3DD953DBE3006822DE
+680F834BD66F9A91F26AF44C93A6BECB1CBC43EB27061001BA9D0F4FD8992A1C
+6E73FD209E793D43BDB645758A712B93D09237732AFB2E5CD6093821DD0B90F9
+AD613062AE97713B69D89DF13D9C482183491E0CC03448FE256B885A157F0905
+DDB5BB4EDF93C4841B87AA52002F48AF2E76EF3C9862B95A68F760C9FC84D7C1
+C5E44113F2DD335F4B275CC3E458B9AFCC95060A2006037E2BF6E3445CCA6573
+FD22ACEDD9ED69E8F502B1F2D0320639250C0F356ECC43A27CBF91C87F5299A0
+A6613BBCA99A1B2DE7C05DCD91EF68F8319D3147254F9690F84419DB8ABE8BAE
+398CA709A4E779307536E46F9E0BFA44F99C296019C87261E2B31A99D888499E
+87FD66622FEB5F10945ABFE7F92688C723EB0AD6676F6F0B492FBB2BE7071979
+1B3154BB18E9389670E417B0CEE5C4873E5AB870CF14AFB1A601F6679ECD0424
+DC64A495A7D93B659D2A265372E2017E4120580E65178F61FC4558DC9EE3318B
+46CD4F6DD2BCE71811AD0616BBCEF04C8CB91A3513694C63C13AB227FB99E175
+BF7E4EE6B5C264D76929E24518E4650CF5FB25D07CB75FBB4A9EE9349AA2AE69
+CCD0B30D7A1248281C6A95B98792933B45F5D0431769031F2D7CC45BDDB7BDC0
+D69ACA7D8BB1B8A3A06A1E6DA6CA290D59409DFDE8D154E9063A3C33597070FC
+5F7E46A281DCCC5B5F6F840651AEA70AC412BDCAEB549BB3F38035F8F8B3876E
+0E5EF8BF0F76D6495054BD4EA05CCAD9B3C7D438DD6FD963410D4C0FB5C04E74
+EB96B9258C08CDF791617BED9400B36DEFFD20DF6926917DF01FCDA0332A6D66
+EF42326069F40549FD62383BC26643680ACFB63EB8602BCBC19C6914C36874C4
+FE9368E4ACAD858A877EDDD5C6FDDF24B1E7BED3E2EE4E6029E3E6A89F513EEB
+B56D50D7D6F4BADBBD464CA5B55FA60586AC6FC72890B28F836FBD9B19677F81
+CC9FFCFCEBF20E1DE04A2EDC60AAD896E25780A52EE7C5937ED25E3E80677650
+7B0E50C9C1F7D5F01AD68ED1049C2C1E36533B0693C960E4F9881FC8137DF6CD
+00E95B425D00BA7CBFBEB9D787DF8CAAEABDA5A8612EBC1DA63D695C584A18DB
+C3BF2BFBA90F16926F5BE3E945689FA0CE072872AE3DD8A5F917BF41D15888C5
+6BA972EFE29014BCC6044AF174E7E1354EA0F2C320F8F26E4C092D517C8A2C30
+8F3482388843E60764F02FA1EC26BE8AE517EA4B0762D2338F505409E4E60AC7
+F78280A9AD3BD9988DDF47C4FB3D7BC4D33E4D6CEEDA601E7A1FC21BC4F40081
+830D6224C3D433B4F2F1D1D7A2D451AE49B0C410A3480B69ECEDEB6807DE9DCB
+3C5A9B237C03DE62D5CE10C507919B65C34B8522E9C175EF24BE5258CA785AC1
+72907A9A5EB54022123FEFEF9B1080FEE0CC1FD338C833C5DDB5AEFFE2FE5B0D
+A17B14D74D8BE761083A5045399A9D3F8FDCAB0D2F86083D5D6795F9F631A728
+25C5ACB2267C0086E194BA3F3554C0E94602FAF0783CA4AA63E7DB6978103D29
+0E7A4BB52E90034FA9019232C8FDDEE30905F69DFD6FDC78A0A473F5AE7CBF82
+936636D8C3E6C6E8AD80119A38B8F833EAC9CC41C2110DEB0C7DF59B57FE22F7
+634EA89533BE3A8A9899EF54E7E6BB72820C9FA9F1FA3DD7E229D2CF56290755
+7BB5B672FF1AEB47C0966AD1978EB09B99E93E01D70184F37F5D6168251C0A36
+3C913D292428B08CB5ABB142FEFA0EC7621CCE428D3578515CABF820148C0DE8
+B5A21FCBE30757EE2B6E9E8A15F0DE4C0D100320DCAF26D06E39635262F45A52
+8E3F27DFA8FDAD2BBAE2E16B30B415D791041B5DD1818353552AEF6519A868B6
+F1BFB416B242A372066BDA80A0D077AECDD024C0DF7A3E590C6F830AB58B8641
+DA426B0FECB45FA3FC7BCFEFFF124AF6A5AB3DB6850831914DE4CE174E844F18
+87C469F610B6EE45AF70E2FC50485FC2963AD372BB1FE75E850ED5103A982972
+EC88D242A1A44EE80DBD34EFD28ED1AB9BF11648EF0D1E5DBB22E4716FA64564
+5C91F9FD871D120B2EEA0AC34BBC208706F2C27F4CB8D1F293119A155992A427
+85C53050C0E9FEB765F2155CB9F44C7213D906DA6D9CECA44EAE0EC7980E3EC4
+974162E61FD00A9B41DAE5CFA46C45E3FF040F58CE2032E7949171448AF62492
+24A61827C0185B11F10219DA6D4B34AA9A5991F3C0C5E39B6B7F3EE82858AC38
+C5E03D76E3650E188C2B53933AA36415FE06F16F73FC7E9D97F936FBD24C1EB7
+400EB2128820FA3CE0B92B5A2ED74F7AB4ECEF67290FB8B1FC1A63F886C30A06
+571EFA15F713C5D7683973CDB4AA7C1B6D4DFF4BA9D4076545886BB4B66AE113
+3B1CF78EA710D5C33C4E33CD0348E60F15137602AA974626666D827A748ABD54
+07E8F3776F06BD34A074CB1B74FCD8076A90AF026D20A2151041BCBA74D9279B
+C1FD9BB9274D30A1E6CF963E384F93708691C0FD24537B92BA2DD32404DE8F6E
+D2DC16340DC311A3BE9065B57DC5A6A47D9751068869CBCAC02C580F657201B5
+FD574EE2D1872513BADEA46E926B04C24C8ABE0C6B1E6905D9B14B3EFAB1BB3F
+808975E72FA7141AB2F31AF6555F99E3572D8E9D8C603E568D77EE0CD3F9926C
+C22BE8FEA7E2E4934716E6EBB16844FD6D13EFD61D5E21716AEAF1C99A501312
+C512F39291FBC0B7F06DBE59B522F38EF4726FDF78EFCFB6DA81C0F0DC853CA6
+6FE5AF0D804C8E0606DA77D8304433878816AAC947D5D8FCE1DA0DA300A7D5AB
+4DF253F6682832FEB0340E8489CD5C124026C6D67D3A9C73E79C800F6C327DCB
+B8B249AA9523A9986EE5FBC8710066744A3C3C1CBAC61816332327B514B039C1
+7F27FCBE9A18E3C5D22DFB3AC1A957DA5A2B2558C75E0F581D3E8FB4145A71A3
+D930ADA614F631933C8075D097610249113F44B9DC1A40DF6A680FF5A144E955
+693523D7A73D88C6A297CC0746AC24FD8EE5AE98C89CDE15D269466319D6B37D
+E375136E7B07E6F6E6C3AFCF3F1BAA43652BA42E49F8AAD5FFF36D23E9163423
+3770F602C407C7434E19092B0B612972F47A8604F46C56C5AF358A634CD3907A
+A57020509D2380E56B7B112C1F4C5AAFE3A447A3E6C7E922604D9642C003C6E1
+F6DE327BADB1142FCF9B7B5993590AB6AE199EC5B021CF14EF85F816859A40C2
+F88CB2EFD9ED40283E1C0E0AEB3930BF33604149CC65A2220FAD2EE53DAE2C4D
+BAD67336FC89F99AAC450215A318FC043BADA07A56DE65B8A81FC5DF0B61ACF6
+552E03A2DC3B301494E89A014C958349B438C6ED0A2771B13C29A376352035C3
+B257CF88AF797AB6ACFF0CCA4462DDC9B0EABD03CD5B05008BB3C552D457F81C
+BAD15BE4C7CECB2E2AC71417857014C64A9CCA0BF157CF21125C6678B2A8DCA5
+B2D25F2554BB61FD02706AE513CC507C4DFFC2025C5B8BBDBD0F1F1195254F6F
+DA941BF910E0CDF516445B09A4AAAB128C62F4BA4B9566FF29C5E563BE12DD2C
+5301F4E66CE800C112BBF378E6F3ABBAC5D39333A1D51C17065796F8A410E4C9
+AC918B945235CF80C63C0FF32A58E635026C41A18838E1AEC97045998CC00CF6
+00B5AD09DA92B8C43306CEB793F2A38BE979449A3023B9E3D7B614F3D7DB0767
+F33C90719E820DB7B2AFD66A40846A82259D4148B7D92E9AC3B9AE22959745FA
+D59836DEE8E3303F6FC95A513BF8F7C76D7EB70821013B2694FB2691B31503D2
+FBC9DE2E1E8BA66A2BD5A51C767E3AFC20BD22391BC9E6D53491C513B84E6A62
+50F3A04A5CCF1714CFDBDCC57D09CB45054B2555D9EC59E1834F8B415573FA46
+54190E4E727C4588820E9A71C139238D024952FF8394D6F8BD8485C58F9D367E
+3B4260335BE6E8960D72547F75C9FB19F382A596468A838E8F92837D55422147
+E20D7EB823CFADD691D0012FADE67FD5A61E0B5626CD364C83E1969E09A3168A
+730959CD3D3382B00B1C8B733DCA57FEBC6C8CEF8F5FD305914DA3469F77145E
+8C75F76DBF30B05F14BB22039A62C825FB310ACCBD0574800FC330618521194B
+3330AFFE37CF85674B78EBA968863EA661C9C0853B67192642198EE883E8CDE7
+819F372A3CFC4AC0474CE23FE91A2E54C334288DA4A7F900F8C461E6BF299962
+A20A44A4056805AAF1CCC6410711F68001C01CDFE9BE9C1FC841F48590942E8F
+0BEE595BA803E2EB5B171E891E68F51A8168EB56971FC6E6DEF12389693DEA92
+B901D6E522E098B2713ECF54B901CB8484DC449D27F936ABB4DCCA0DDC259482
+5FEB3827DD27242A12C52B7D10A665B3ED7ABC10263EEFA28DE86DAB55F678A1
+9F80AFD47CFC1FA9CDF4B73E2B13A8684D706511695774F67C071403E2FF29C5
+EC429EC5F1AB071CFDE6E3662E6169904658B6860F4407EC06C7E2630FA9D04E
+4501E4281249E1E17F04A3A2F1E3F59332B6F5D4B19F245EF43D5F7E278B20A9
+111D5E0861BCE94DC651389C1DB89CA3006BF570992F821C28BC8C970658387B
+2F85204231B5ACEBAC1CC590E8EA9DD3A6604B49850F0D46FA4DF2DF0D018FB8
+A5919353FAE01491EBAA77DB74F10605FF7702D0D598E47DCB3F99E0E00A1EDE
+7B1102AB66929D68C5426C581B53BE235D356B5BF9239BB6221D3088A9B38C98
+6937AF0BAD38B1318B7BD5AA659A2BE98E10BC456C3BA2AB26935F4A1F992363
+313379E8E0358C677B0BE5B7D23954FB05B649519CFB71A2B50AECE3FCD73B79
+30657E91A3604D29C4BF236A6231C7BB73A3F978F1D2DCDE948F341309CF6D5B
+DFA5566AF291F0B2F3A7CE21D8C91B5151AD6A93E7F003805886D07AF2E4A6F7
+F01AFF27B73E7E629D61216E13131E648C46BC4ECE689EAC53DF65D168C1CD66
+26AD07FF78F4E5E5E0699DE2BD0512F97D8732E734B2CAE0CE2BAC2B443053AE
+98955B6EECB7FC1F8101E53E35EFCF8FA439B225FFF2B7676529E574008F9650
+77E52080DF20FBFFE1057B46DED128BCA2F54F22B3D08D599CF42E4F1B302C4D
+3F3EACBA2C2AE854E868C4D094BA6B1703AEBEB2A3A9479DA3F32D44178DB6E1
+829733CE03C99E4D5A168D364D23AAA31C91A0C4C7F133AA97BA99DD395B4304
+3DDC424BDF5C5E152896E47F32C6B0FA68E3D946FCEECF1CF08A99ACEFD8DA9D
+73EDC5DF96187AC908D2714913634860D782B225487A3A10C8B554F3295D0221
+716ED9968594D800086E8473163852B40F8D202EBBD49401C8E86E01A0499064
+30FBBA59BCC42E9B2382C689725B80780C57112F1060850787FABCB3E4C94845
+560E5F42139A8A015BD311A362F09F7673A65BE8071DF9AF8988561B87943A02
+D481ED99A276B3FB4ABC5833A12124234C34395C1DD2DABDEBAFB661EDBFFF45
+1DECCD8A6507FF08D5CF94E9CECD6A8A858283210812FAF06FC40A672985ABAD
+326263C49B09434A0DC3D014822456E0D7397513E552FD0B640AF4D94845B640
+E9A34CD6EAF3FA62BAAC7CBDD783F4D30904AEF1630A4BFA1DF7B0A02BB479BE
+54E34D0460986D076A9F665657C16D5A44738037BE23448B3459EC5EA88CFBC3
+A034501D5DE223AD60CF1CF8BAB33F25E17927C72F941E3839CE2A0992937F2B
+CD1987AB4B5AA20B328F0B887112FC03B49D86E8D456A5A1B4B51C47CE7955CF
+E965E6872E65868E1E7CF79BC6D0B014DEA3DF5B7D425AAEA7066E9C3209B434
+1ED97364353C337EC00A09B2FAF670A03E53369EA4B7918291FBA39CE1980E65
+AA15C46BC702B4B62F44F6D90BAF54C04839C6A32ECC51BFF706A72DA5A6ECA1
+E406EA945B572B8626305D3F7086445C32F6052B80FE04C3D87B3329B34B20E3
+6D73FB023383B646671703F14B96F16DD7E40AA4679862764413357373A9C66F
+0AE451369BF3B10AC4043A3557849AEFBBD4A3C67433C87C1AC45129B188682B
+0656A79806436C195AF965617D7FBB03DD7B3EFD21B4B517FD6D7D9D87A43AF1
+EA5E1E1CF74FAB8607284497813011519D6BA9517DFAAD6FBFE984C1C6702E8D
+11B38A9214F20141307125C21565E68506139B2DF3457AB87A55D1E7F042E7D9
+5DDC18E63BA012D1E3F676338DC5E0DF447F4AB47E8C1C33666442C06CA9A11C
+5BBE0795806AD63CDC33BA5E9C51B6077A5BCD845FE4A0F3227CCE5475F7806B
+EDC20AC123D34CE54384945D9CF694ECDE779FBAC502D0E1290EE53F5C5C0E5C
+9B5C842578B503DB0339A38C4DC28E46DA1107CE592CBE3362F5ED8B8002042F
+BBB87A7C5BD25AFDA7267FDE243A4D15F2AE330A7A39AED25A88FDF019239E37
+747DB435A7BA52D3FA118BF3FE4F0D0B52A894B556383C2ED16E22716EB8044D
+8740AD6CB7FBAD446AB8397E3843238221C28E4DC6D5E627A9A847A69CFD7207
+783EDDF7E86859317BC792A79C8F8164DD
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -2219,8 +2540,19 @@ end readonly def
dup 11 /ff put
dup 12 /fi put
dup 42 /asterisk put
+dup 44 /comma put
dup 49 /one put
dup 50 /two put
+dup 65 /A put
+dup 69 /E put
+dup 72 /H put
+dup 73 /I put
+dup 78 /N put
+dup 79 /O put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 89 /Y put
dup 91 /bracketleft put
dup 93 /bracketright put
dup 97 /a put
@@ -2269,185 +2601,250 @@ B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83
89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A
5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2
C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5
-7B6DF50EE617C00966B9A2828882804DB7477F4A8CF5345B7F3568B4F72BCE73
-2E2AA5BC4B4C70E21F3AD9AFC3B8605A00D67EF9ED1F4D13DDAA920D45B43CE0
-0941BF17CF05D2B777C11D4D844AB20C0693D1DDF00B27D9E1AA2D98A4A06CC6
-D342AD8F644F4787B66CA7D861E7CE13FCDA85C1B0C9F94009768EA89838EBA2
-7818F40A3CBAFE9BD3ABDEC16E56A061E3D8BDCAA7496D85236E8E9F367E6A91
-8899D14E4FE387C2622661DD1B2034C83AC85533A4FF10AC4AA0904C9D965C23
-E5FB21A264242B60B3D723712DB1C7E6CDE1725588732D2015D40FD5DEC0863E
-8320029BBF3F90E947D34F99F88CCD346D1DEA83AE8E0D5F898736BAE8398BEF
-E547ED0DCB01E5F4B7D8A8485E9E1C5DF63143FC30A0231DB7571CB33503C85B
-672147CD91A8317522E45BEC7DF430828265EE5A55D33F1B875A075B423E65C1
-55D155EA8F7C766AF61FD509D9C99C8F38872F703739368548855C0B0FEADF46
-F6EA9A77B68F598BEF9535DEABCAE2F70FB0E4B05DC87892CAB78B55D40624C9
-04EDE7C5E525952635FB3059CC14EF7874E823E5520FEAD85613CEA9D5011918
-2FF1F9F1682DDC3E9B10559172A814DB77E89D87102630AE9502222612D14E8B
-18DD83D3F0FA239951E9111AA35CE0FFBF2294C3ECC4F053B1DD3C688164E7C4
-8C965C3474706163EB83BE7031E212DF471C34CE68CF7D70DD29848D8C05236F
-421F25279D061BF76853C3FBD8C0DE771F52AEE2C073C3F41476A2224CAF7390
-856B7A2ECD5BF46EF467E9B287AF931E334DFA1B0018C107C64FEF306452B6A0
-A63117B670FC331F08E0EF834B994A1AF7BCC480922A7FDF74F175D4EEA169D7
-1FF9161B866CD6978AD88F4DEE1CCC0C22498A58BDF7CF4264ECCC81686451AE
-D285F40242479B95BAA84AE32F97AEA31A3AFC45DE6D8E1589F091413B865D72
-99E9231D16326AF8A2B70E0583D57FA6A389B913B206E6FC8EC71136B1C1EB61
-5CFEFEA62B273B47BF2785C20A2B490185CF414800B9C7181DDD2966D19C0A48
-E3949E779E7A37DD5F123228EECADD70FA07614FCA1420B2BAA0B1552F072057
-530A5EED48BA1E49327FECA2888C40C69426905BD60B960C531822346DBD1DFB
-EB71B9BEA3DAC83F6FAD7485BE6ACC31CB469D62EECDBCB3C14CA0A8CD4A72C6
-E516817520FD82D31A1C99A5337F71E1D5632A76E166E68F0757663323A916CB
-3D48CF3448F91109909BF6331982658F418D167C9C8A0133DD53D86A930DEF31
-AF0B2E504EA1F94E68CC14E9AD5E49D41E74759BE49A271EF14D62081959550D
-057A623838930D0515F701110146AAE3E5D6817E4757ACB14B5CFF85A867A3F8
-3B47821D0F16FB60A0346D0F46BBD63ABB6F00D23AB0B3162A72528DE96A7A49
-D33CB75BD8F637D32A2A937AB39700E30411F9C4DC93A7454C485903F81A5C8F
-9F53684D59147F0A783D92FE163965606AA9656E1B245CB21FF345165A6DA0F3
-5FF4BBCBAEB32103F45616EC2963917BC0840669CCD97D46D892BD95D0AFD53A
-5384D36F72A3B2DA10569D05818AD1D55C3BE41834B6992072E693BCF656EE20
-2835996FF99A4EB2075B1EE2E20695E8A039D788B53F9467438C53130D7FE320
-B65A1E16EE040128DF932BF0A0B180C838CE7542ADF8AAD187BB769182F53897
-5E84E3F0836C26D7104A178CDD976B87AF041B0B2DB7B2A0B3B98FB8D16A7B29
-335331C128BF78F0E3CFE186C974AAB8F23CDB283118159DA6766E17DEE5B1EF
-4F608088A0CED6ED465CA01B27A7E6F1BF8DFDD40C559014F8D65D1894F22CC5
-AFA7F18F38F6ADCC89529BB1A5F9B5CE3A5067AA7B17413C5C16086BA8F1AD7A
-0E1065B54F5A0D2511E4E779B2F4CE5E505DCC3CEB98D4BA4F3F28CC7EF2D305
-0656C55134F0EEB77A9CCE3E6151A9CFCC7005ADFE32998C6E79A46D03A53373
-42B7D50641F802F76DC08E8D2ACB7011A6A7AAA346BA6C05BA6B4372F7EF8943
-81E15DD7306E1EBF900220DD72E50A5D55A840C1634FBF4C58F0DDBB3F18CF12
-A99FD758F7A598EA4517D512DB69A06C672DC1F2D1C6FDDDA60289AB9005FED6
-0ACCDB75328F262213699545DF28164F801FF7D86758D7D6AEB69346BF974EFD
-0967F89A38E9C392A72A6E52F09FAE76844C66E38809E23BD20C3C963AE64C4B
-5E4A248FC50AE2C739EED7AA04A8F5663644C9A597E790BDC148D695D9A09DC0
-4255440738E531DA0610D58C84322F7D88A98850BB660430BCCD0E4366D709C9
-1693C7EAFFF3EC5E1E3E1C2ECC1DCACF547072F0DFAEEDC82A761C8BFBF281F5
-32004366503014BBF94D1FA67491BB410B74B399750FE176E55FDBEB5EF05746
-6316C13022E5F0F681BE0B48DA57A08B9C578AE362758A5AFB7AE95C180A3A6E
-BD63388107B0581D2EF6011EC3E6A0F3314D2D5E0CDAFF39BD7CA16D7127B6D7
-BFE2622E9036A97C13B887A808A697563EE375E8BF35184694123A7311004F14
-FB923D3162CF6E18D4101E3D03FC496B4941B24085583DAC124E13185F34BC16
-CB5357031A2EE7D5CF085A06AED38D246553EE200D16F83069F6D5CBB254B882
-C1E1DC0639C7838E8272818E31FC42958EBC9610A02BC76C702F3AAE5FD965B0
-ABDC7E4D76AA33ED2B2672C00146CB84E336C8171DF44FD03768A41BA20E74C4
-E1C8A4B6983D877C4CD574652BC101CDEF68FE7FDFD9890163E9991BBCB9900D
-EB38C0EEA027B1FF1EDE8FAF74298025D4E980AAF78F0F215F8A79CC2FE01AA0
-B2FDFB3B62524E85E57B09844AAC4EE5457EBB6E94B26187F6D9C0CDB40DA66B
-67124BAE194EFAE0DACFC151B4DCFBE62EDAAAF73D3C35406B4DC63A52F640C0
-1BB69E4DAF62B54A455B08C13EE090695E298F7298D60081BB180725E265E234
-6298797DDE5B729BA62EA1476171D371F441C8E812A78C07E93BE7B54595873C
-41802D035746B9913146B8900A0B6A72D45495E9747C6174F425F0D541C4B965
-C93DC19B7DD23028247500D4FC6B56483311CFBE2E3ED7009E0BB448F4260429
-1B6E7F7F51B8EA2CE690FEB9E399C048B8A44BD6427266A531419995F63CA763
-6F33472938317C8B4DF4A08288239DC5CAB08CF2B685E06C025A080F9AE859DD
-92AC686E5A6750E1416CAF269808C2B41456B85E90182ADF7C49EC289A584A13
-8F4423E055FBA92CADA57AEECF0B080F588E467A56C0D5BF3E5474C4AE72C9DE
-7E58CD7019A120985CA7466E7FBDA1A3BBDA5851F29FD9FCEE6D4C7E83DE8D01
-30717D1A87D9B2519F83295DB8D129E9FE6F63EFA562F2887EAB20251B38F8E2
-FE3B426F6B6E3F9DD18044784D031FE559FF54FCE638FBC4E431A5D2B1FB4598
-0599EB21025127EE5984E4B9547C9174949B8BD298851FF2279F49DDB60CD6BB
-C791FD5C98C9F101073CAF431807AAE3EFAFB62C26F20B744BB9C2AB2CA7685B
-EA939E79AB343F7C7682E7049EE484026A87422524D7F05E74946EF3EA3D3138
-14AA4D5B84888F0324BB693DCD9D488F11D9AE9033B9542226D09F3E212ADDC7
-EEDF0E695D5FFA6BB8736924271BC6C0EC991E123F2EFB42CD4738C089626585
-D6D9C81A5B600986D34F5746F58BD4A3C6018786F83ADDE80D4AADAC74AC5D57
-92B3B2AEA8A23CD46D96C73253430550DE6A9D38318D19924172F753A925852C
-E254E291C75D2A2FAF88E8B1EBC9338CD4633891C274A891C34BDB36F11B4539
-09B3DFFBA7C8F69F130782B2C52BC4FFD73AFB85E9B89D77C0E281656E60DE46
-96AD0403E5FA280B5125386976E1931ABF92869B9FD35FAE8CBD8C81C6761A0A
-A58BED448C83D578415C9F3C6651EFF09F06D3232048EDF12BACFB2C79D88C5E
-266A3AE6889C188B9C0AA2B08507960F779B4DD780C1BFD4897B5C9D54AFA801
-821C4BA6E0388CA3A7B4679425C777B390518F169CF463976039BF7FA2EB65F6
-C0430AC41C449B6B86BFEAA1FB31141D790F3AED1BA2A996D09DE2C2562BDD5D
-5CFA628A96891AED8619606A54B7C29F92922F9523CADF456632E7583DE33282
-B450298AFE02A5FF44B03753E69D688049379A58D9D64CF54D838F3ADBC2E189
-FE9533FA4CFAA739984DFC92B242BDC27A9B2D7EA5B7DA2BD8E68F56D3F9C50F
-1787DE3DC6A563E026E0F825EB44E94AE20A166126C23D6C1C50845D69CEDBFE
-E5BF8BB1CD69ADB8719E0D323248A16BD5474EB8866B27D076319E2DD94E22F6
-B5775E1C1730A230DF4A9B6E755FE9ADE2C2E52050812566548AB8D23E3FA2DC
-0D7D40D41E7FD479139C518C62755AA7AB849147A9DA060248AC709BC9AF5397
-E4C2436DE40DCC4DB45F25A6F13A9CEF167844DEA396AF7F276F3E406429BF4D
-77B52727620D1EDEB498AAAF82882A64A536B27428DAD07B65E4F67204F5F6EA
-640BE2DD1A4B0C3219E0A4078F4E724C87EC03F40687457FE0A33BC7ED668E0C
-1ADEDCB711CE4B6C3FF6C6B795C8D94AB21258B80EBE07D5C6750C31141DFCCE
-D040FC0ABBA2F70FCE652DA2B054667AECCBCFF2CE44067C59D9B519DF8D0BC3
-601DF1C69E3C527D3DA14E300AB16DE394C3B6834224E6ABD0D3C5D69CDF3BED
-0F1D25B40E43461A419E09EBE7C064431E1A65E38381C3B499DC14A5EC914115
-0EFFA2A0D3E3410C04BA946888CCF34B9E14CA34A9AEDD7EE33A21616222E1BF
-E452124F8385EB91CB3B150C09CABC844B3AE4A6F160A76402FEFF88143B8EB8
-7861911F813B9F4FBAC396AA1A0044583B6103CD6C06D835067FB4A805F012F6
-8B4DD3A94998DA21774A2F367BF35DC8DE396F2744AA755FA1E9CC924D55936D
-FB5816F04D690C73F9A6745A31F44ADC6AD84E5EED1FEF8C79FAF887254B9B43
-1D7E7D936EA73A6C17FC206CDF381B43CEEAD16372472E1557C331BD84AC314E
-0F0DD068CF5614855302073C29D827D25AA28AF4EDA5ADA51E7A41D82AE8C541
-FFBD51070BE1223BC469284BC7202DD0511BB35187CBF51619FF6AC2C4EDFE3D
-59CFE708C4CCEF1477728909812020747FCB20542187D663538CB4499E0F1E78
-E7A855D1B98CC60EE8E94484067CB726E97FEF6B73806DA6AE03A03A999CD3C0
-448BFA5D5D84D2CA2FC3FF8B9B0C44EA6301536D468066263726581D67AA247F
-2474EC9818DC904B50A6B37CCB054D2BA43BE164D56A52D277ECFFBD89A9996D
-ADC9DFEF4206BB16B1D30F57229E17B22ECD569CC5184B85601B8D4114B1CDF3
-19104059BF448D7784AD86A432ACB9E9CA67D1F7E2E3AD1CB4444BDDBCD42F70
-8B0BEF950219F68CA869D4F9154AE0D98A562EC75BDE9FBB9EDF4BD321544151
-918A39D105A812662B4E1D3BA59EB980AD687F300EE7B4864FB69D6BBF9FB1A0
-23C9DE5EB29A2C67BD41A651D37FAC1EA23FDD1A6A03C2DFFF7B8B0352273FFA
-00F718CEA4DCA42903F88F341F19E16C2BE1A49073F672970206381B4560B701
-21614EA094C3B2447FE83F460867A432A1665AC8A41E099B63A549B7ACD5F451
-D4950B6ED06EA1420D679616D3290CAA8530E83EDE95826B1FBBF20E3935E861
-E36DF20550F20B97D6055B702D897AED20C970EBA4287EC14B933BD3360320B2
-D39147E6C37CFD7E0434D163D1DACC8D2D3BBADC1E064076F0B7F4C2E113C99B
-362F9A6A241ACA27BF0000CBF796C099F56097DC88725D6B7471D840C6641394
-193D994B7B16FF93ED96322766FC9FEE2434BFDDFF5C5CCCD2F7DF30E4942DEC
-8AF62A14CAE56679936650E8140ACABFC0816C72AA29223AC6EA810CA2262316
-4E7AF26429DA8E7A8C0C9C76D54DE98150D94A24A44E19C8C33FADC69BC146B8
-1A0C4E676C3835B1C43817DB3513F2366E2105527CD2AF5BD1D06821292BCD91
-93CABE6F6E4FF381D35492E6D83C21645650E52EAB1D2C2E396264BB3721AEE3
-ADD93B3183961B1F1382CE896E4324D0E113D1427DCA1DFF23E7475D31A866D7
-854BF0B6AF6E7E49CFAEF5F75CD92C3ED123B3CE6ED9B1673ABC5F74829B0C17
-5B30B59AEBFAA4F925D790A9608900D05D332206338852516817CEA0529254C0
-D09F7CE1431E27469C14DB6DF763370FBF8F9AED3D5315F1C463D967CC26A75D
-B1D3DFD5B5C3163304D2C5C05E1E9DF51B2CE1E02A42E28195349CCDECF8A798
-949B49691312BF0C2A6B876BA470B4A687B302639BAEFB4AF896098EAF169644
-DEBBBB7908F6B2CB7B4B90B3BAC1B88CE0A68FB210411BE55DA9FEA6936E9BA3
-FCD10181D209B546D84876AED9374011CAAEBAF81F3F267EE4B006274D39E27B
-F4CAD5E76E753D4B239CDB0968F2826A0AD40CC84E48B5D23783ABF374315F41
-FEB340E77DA6BC30E13B280F7B21B2D1543498E107C625DB4ED729A631D41948
-CEFC84927207FF77235FCC3F72E2BE779B6B60FFDA38B05A14EBFF0436708485
-A11EB6A7EB414994FC636E18CA5CFF432D4B7835CD3472010FFE226B178DAD46
-6A0B0E2AC832D2D32B5994B21270FEAB62F95BCF2F870EAA79A9D5F3480E8F4D
-68EBA4265CAB5563295ADF1D54DDDC9071691D996D5D34C308F9E8C440831798
-B96CE92AE1711CFEEAF45FBC63F4ABD466BCEF2299209473238F302B3B441CD8
-4640956EB3A6976F425FDD8A115EA00FBC420F49F00C5FB237013F502AA1C046
-5D04AD291DBA5ECF1CBAD5681FFC89045BD55BA951DFA7B5407C688FB0C42262
-7AF72CF53C3107F42C34FD968A0B2C4F30771A2DF688037B45A0488BD823BC4B
-0348ED7DFFE7161060DDE1117FB8B7D8883DB3AFB4C0E7FAC095869A593CA8D0
-D2851A6143FFCB3DDFB78A4C5B2795A7D3AB1355A1CA81133CA7CAC78F112759
-13E7EA15C6C0399DC657B2BE607310747070FF8C3A7288C356E28EADB53AEC9B
-47DC9892AA4D9F3FE534083F2F725874F1B610EF85FC6462763AC476243F6749
-F24D18DA615FBA3E0E7CABC0555C5ACFA192C335517EE593D4F572B068DC1875
-16E7143B1D286B6F9EAEEF9AD032357BF686B38DFE9614BED880B60D95757015
-0DAAE0DB5A2AFEDB75628DD65332B0E3E6ED7C9F217D00B5D4748536CBA264B9
-D9AA6CB4C2F91C1F16E3881155C162CE45FB3FAAC36A8AE2395062BA4EF984B1
-5BA305768358BC11B824816DC78C95446DFAC96234AB7D2C50D6C0B9BE90FE36
-1A97EDE7F382702FC6C201C23D7499D88643C0370DB8F8E7762694260B81FE26
-2E1002A9CAAF8ACDFDB6BECC91BC372A04F01E1A66AEACC16D9BB95374D5F050
-6D1C67DABDA03EEB2111E4EE8468037314F4F53F786800511D067426BF09080B
-135EF9FB14FFB49935CA055EDEB99DF36284BD5F24D7224BE0936ECE727698AC
-A7AE07B29F3F717FA4E8F31C3CA91D7F0497B0BF4D1A13B026CAF29902324471
-AECEDFFB9110B6D3F135E00B28054C9122979968E102141E1B3764C4E74DE1DA
-0E2D08B8FF6AA00000E295DE9B00891F016820A9CE091F959CE7FDD0B656C89C
-061971BCB9D12CC9938C309722621E2CC6988EB8EEA37D2C8237CE6D1995C073
-168CED6EB4F49FCBD90D11CD1A424421431681242198618390299A8BB4DFB14D
-852196DED1751576B6A4B0C4B044560212BBDB44A13DBFFEDC5B55CE9E813AB5
-E59BB6474CB6498CF1372B540BAB62CDE9CB522221306984E4D4A93D66168FFC
-94D3D722AEC33B91887A9243A5D3DD6CD7666D6DC14CAB7EB508C0B5803A0F9D
-BB6ACBC2C378AC52DEBD5AFA1EEA68B2070514AF8BA8B451247930F88A09C807
-73AB0E8724E862B6E915266C0A77CC027602316C38AF0CB3E26312731125B516
-0CB71820DAE1038D52981B29898E175B20A780A8228D1438085EE12A159C1EF9
-E86E9D2C43AA40936D0C5EC9AC52CFBD266A509E152F08D6D9A4B82EC5714FB8
-04A101407320EE732C09BCA7CB8E7C476D5D89E046690B645F19B975C2F7C1C6
-1AEDD047ABD0D6851263AA0C23BE521ED1A93B8C8914DEC57A12E6AF6652A95B
-4B5F74D32A31FC0F05EEB0EFA5841E5C42AFF8EBF4960054A930F1E1C93FB1C7
-98AE63B1A79D04780DBF480BDA2CF13165D5A354D8CF051A2EFC44206FAC9341
-D43AC601DF80A80EEC9007AD0862186139B9F94BFEAD5B0A0457BB8D7B606DBC
-419225743817957AB44B5691CD6EA83EBF879D237516
+7A5FD1B49560969BF5C44F3749370663A04776F749DDD7B50674D93254426C4B
+EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850
+4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5
+7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40
+30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9
+2E080C10DE923C18AC1BF8FBE2225CDA0DD6A2030D4BBC9F539D6B2359239A8C
+F41DC6D36BBCD3B89945A85BBA233B855A3D77876A5418EE11DE2B1C501C8280
+73CB390855D0C3E7F0AA8DC1F52C72B1BE0D2DCC52F46B66A60E2F950D78795F
+6B9A833593A53A9CEC303A695BE815C4FCC65EDFDD46555EDDFBC6BEB2926852
+B1049167B0704384E1B13914D3075CA894B46A02D787AC826FBDE001AFE9559A
+51930A86C7EDF6C47D8ABADF5757E0F5612C5001C8D3326842D7DC41FF034E91
+AFD8875F790FB86E078CAE8B5B692E91D26E17911FAF2F14C89CDF6224F6BB1F
+9D51F02E167163196D7F9EC9570982DA68DF56ECB84E40B75AEB2284FD51A06E
+4366A3B321D37D320F5950BE6B5089B63CB2A3E10105FAB32BB5CC471DECA17E
+3806F48AFABB3A64A252385913833C019268C09433178CD2C741F51EECFFC3B7
+72E76203B758D1900430162C35C03015D2041CFE0DFC1F38B8AFF83ED0CD2E03
+8CE7A2DD7037C168AA38223FF4B69CEBA7F9072CE8B1459B4CD8BACE2C0006ED
+67616FFD9AE529642BF13E5E169444C2675C42549F0BBC849FAF7D96CFDFD0EC
+CE7A5DF7F6C51AF5708B3DB2A72F8B94B3B4D86AD668D9E1FDE093686BDD6868
+5BAFF04BBFEED3CEFA61419AA6DB6842835E95AB10B233BBAEBB59DD3147BDBA
+529E8AC184749496DF3D919DE658F876B5EA2D6FD89C680A64F1631E7CBB4A9E
+F633DADBB1EC36EED304B37EBE1CF698E63B8328539AB6B16AD592E6DF5F26D5
+969C9A949EB3A6C2587F61FAA472E4DFE27F4FECC9B902A1B169EA8B60E66930
+0402A174D0FCF534BEFF21460E909D99255F8961691B95193430E0CF198F26B8
+63A83A3F47BAAB3AEF04E39D0432F0C13082D35918BAEA09C7FAA0E93FEDC258
+9EDB41E55D9EC83C30E7E0748FB941CF773000F56537A334AFB700DFEE7C610E
+E1BABD99EB26682BD9DA825C75C49014399AD4F9E313D4BC5D260261C85F954E
+A54741C03BD9E6C91004706EB74BE58FFD246EA736E843F1D3F38A5D98D1F8A4
+1E03620888E75EE26463D4B9AFDB914EA0DA8E332693F73417967F9642DD8FC8
+D6D41576E6A0444C0620E9AF2A546479F9AAA59D6C2C547DDAB0C41FBFC76A31
+E39FF23EC8CC50ACBDEDDEAEF048E3A925CC196D60EC5856CE453F4DEC63E8CD
+0E954B2941E0DBCF9B57E8BCFD621E60D6D1ABB052028CB95076B9C04C645286
+5E0C554B7EACC4F614AAEE68D8376B2C1E30B664DA2C9F4F4EC403AD9C2FC246
+F96CF79AAAD7B2BDDBFDE889CA70F8CA0E16E344DE29B4A29F222B89BE1C54C8
+42405CA577AD975E5BBCD37BE8B8314429784B04B22D78C347BF0FAA47784612
+100741ED1446AE6D80BDA7C945C826C8117CEF0A3C3DB3E08C44402C2D9CF14F
+2C68CB9B96051CE5488F10C50D4990342687DEF23982B111AA330AFFAA723300
+66A5A5C73FEE04F0BCE0EE7E3BAD08ACC64C169A72BF1A875A1E3E6F04D5C81B
+E622C12FF806E1BAE08BAA507962682D42388CEDCD1DCA2B2A9ABA08AB19BA31
+E4B7E1ED8CB498C112A9B485C0638D7ADB6055B24E66D8D4BEECD5A4EDF394B9
+C51C5A54A5321A50C6F50ABD2AA1A253C066A53825A13B70A6212DC4BE41CD25
+00A0C79E4B634DAF012D9D95F78B462FEFFA290155F0B9AD2175A5A0B0A4643A
+D6264A28D52A847F4BC2879F4FDF7BD32C4BB48EECD6DB385365EA115D9226EB
+C4C8B5182A8ABCF811553D9A39F9BC8DE1E3EB556F5817AEF2126B605A4B015B
+53C2BF69E1ED317AFC575141980456AAFDD30091815F08B9496D280E6D6CF4D0
+33DBADE7BA13AC91722A5B4BCCAD08A5CBD321BA281FEFDE7CCEF37B270F29F3
+1DBB4EDEC801002FB8667BFD54534E75881A8CF835CAFF03D95CD086340B14C1
+86449424907F224D50EB80CCD5C1AE32C5F3593148EFACE9ECE66536301BE18F
+E6E0FCFF6CF346480930AF015E2B5CD6E5B0371D24DC4D79458F4B97E2403430
+D8A1D7132724E465612913EB780D416FEFC78233491AFFA33D39DDBFC0494B77
+B2D238CF4F3964D6DB0E71E108169BDFF17CB65E7FDF38F0693F1F8D3C154608
+FBCC89D5BCC050990C405653A2E29C5883C8EF5AA3BE37650ACBCF7A6E27A915
+1EDA0DE8171DA47FBDA0AEC8F9011439E88C2A601A76EA49A14E7CD30C7B3AB9
+9D051C105A367A41944E9B0115FD9FA5400F18D14E3F37B04AFE94F50AF7A964
+1F58C8E8AE5086ED8C94AC7536A6B3FDF7C07306EA8B7C37E3FE11F929887E3E
+9C88BC265521CC644F664A7191C2BC51C09CBDB578D9439C291912405F42CDAB
+8BC116611522CD2DD21BEADF45C93B7E62CCD87FDBBAE77AF779915E1FCDA9F2
+069AF4F137770F817B63BB44A28760F017ECD8C97980A214CAFC4E32266AB19E
+45626434C4247B4B215409C94590A0FEC286074F997B458E7DA64A51E75E738E
+669D08853B98AEE3136813AFF7A907CB5E2E4D4444DA17F8B3A63D5680DE9616
+B105C4B396A14046A196AA24B59A5186F3F9238EA8BA47F4715AFEE5EB5DFD07
+ACDFA5F8C9F34636E2AA548419AE15844C525F9C464036B322FBF73B8234B225
+7C7CE45BA27C971D62F8BBAF2911CAAF79B2834C0E4CCCE63F58647822B3C31E
+70B53F25D4CAFED1CEBFE062B5B00EADADF20B3011BC057D9D8D51485B1FB174
+33661D731BC9054872CF4C4872849D90AFD2204E7C095D302BBD103FD89F25F0
+A42000DF3194AD1A5EF67B07FC717EAFBA9BBDA898CD317417E60F6EB5E2656C
+92DC4E003FEEAB76EEBD8FA4C073A0E6E2F4DA8B3601AC0EC8216BC9ABE08773
+0C49EDEBE230A22C717A5D8CB85B21BC70EA97458E8CBD2F9C5D71666941DF8C
+D11842D29FED3B07A7F8F443B686976D18124FF2047EDA675E2B666F29839E05
+535053F74A6AA8CD512530F53784A1821CCDB3DC540039353CA363671C1D696A
+E24F86FC1761966341CD62FDF4C35E69B63117B9DD57F7523272CA31EB61F711
+7088506DFB618DF071E107278FBD1C55CF28F1FA563E65D7CE1AF3C89941EAF0
+B6606FEC9B52291D38D0C90BFBD92A8D87BE8E6FC26273B69E5DDF79E70750D8
+DDA4C123C9E2C55A1891DD32C0ECD45332D0BD55E31041ABF3E38EB800BCD51A
+B6A3AC030C4A4F71949BDED99F89B4B79F2B793BFE196F6FFB4251ADAF78420F
+B075B528C0065A42B25FD8D9BD861ECD0DFDEE641CFA4BE33ABDAAA3E840229C
+5B841FD1F81ECE1352DE75BE19EBDCDBED06D64926325CAA2355BD19FF8AA895
+02D0BBCD021B20405AC6F951DBBADD2F35D40813376DD0FD133D8B8C6536428F
+6D994EF518C84C2404846F2F20AEFFA435C169B4D49D5078527024CC3DD63E20
+D17ED3ECA36790B330A2BA6B880FF8F1514F2DA145CB2951E5A5D78648BFAD43
+A0EB8E46468927A65239B41C86524C7E5C747FAA682DBA7226C8EEB7F9E595BB
+69E5B158BEF6F4A9E5FBA17B181669159361E08BEC85D8AF29BA2372939B1EC9
+4DFBCD30875DFD53207FCDBCD95A1B4F73194EC8736F07C9A50B38D784F3395C
+446E1297110DE73C912C67855720F257CC60E30F7BD257C08C77200418A19CD6
+3B3AAF2054E1A411EF3EF7FEF997EB33C8EE6F197C8B2C876BCB113CEAF0BE95
+DAD6D4969BB9A3A9F7B527529CB4770A367325E732619DCE0EC17F64D1AD7439
+6FC0E701BAEC934E13C4C4514A0B8E5E607B344A8066D313D0DEA98E5EA4DF15
+6C31D2BA20B8F68E3CD47573D79D44249C45BDA475CC4EADCE9C8A447745C288
+73E544791B256DE85853B228817BF3234BC9715DC7E4042550F1F9A7409E90DD
+A3D84B631CDA78A50AC1C3C9A45632FD78B3C2DAB79BEB134E6E1CB52F5C49F4
+7275BB4C962DB61342ABA3558A6C8E3499B3E7EE976F069D10399F8965F6E557
+1E59B2206DC1CB052552028615153E0E45B9F230242FE06D21A1AC5C780432D6
+1E1C058F7751C9908CF9FC85D58FEA01671C9E9059046B5DCFF8B434CA359995
+EB839B9EC905CFBD82AE8DD90E4A6F9FFF3B8F5E3CEA9BE6E525B5FE1E987B0F
+9E7DFA55F685A92CAEE923604F86C6C2451B3EF7079EDE8B9BDF2BA78A17153D
+7162F9C29E445F5CA7BEE5753C651AA72D17210D82ABFC46FA9ADD72162B577D
+4256A767F652133A27220E2AE63AD1F6F2EA7BBDC605D26E510BDEB31E7BA36F
+3CC3FB4E58F0053DA847AC21DEF08BE1707CF7A3A1F3C31747D803A9AE74D4EB
+966469E8A53FB27E49558BBC0049D11D6BFE27B663A045FB02C6C8C0F46CC5DB
+2F3A77C2D6B18B21B8C535225D7E3A7C7EF8B2D5B2263460928CB2E9422B0D47
+F115DB92E454D7CCDC32D067540C04BC37F7FBE758527BA6B76B5FA91F24972F
+69F8C8F67BF2C75E8F671A2B9CFDE7E1362A3B9087ECCBC4FA2B10565D9F2FBE
+070BCB381CFA8429A2099766CCF57F574E81581B248E6892679DF04F8B34C591
+499C1D0B3AD5171DB93F6481E8086E93BBD8C760EECFAE98D84110485D7CC0EF
+854E9353AD3A3E32C63E8432163F5B3723AF4738C1CFFDDBBEF5B18ECBE36CBA
+70F237522D5115A4FDA5FBCF9CD06D99AB64917CE5BF3D33DEC1D2953CEC4B08
+DF4E6E938F64AFBFCC1362228420088B57028063E72FCEDC9AE4D43EAE5C0CD8
+790BEB96C0D4FE43DEBEBAA1139808277E7EA873AB4E605CE9C69EF7C63E2905
+E0A43AF11DEE11D677B2EC6D3F68DAE948CC5C1408A26CCDC641273CD2EBF3A4
+F4E4DC3660FAD51A9DDB368F383B012314EBB4F030A1383092E79091EB2D25E7
+7BA8DEE101FDD268A159C0C46B01FC6200C31087A0BBDA4325AF70B2232745AB
+BFF5023EE6CCCAD7443C6CC12DBEA5350B28A1D70812BE23342AA80C59FC81B7
+C931030DE9A322D9B1B1C14CFE4E85A094D33FE36D41E90183BAC0FA97C4F138
+02FEA1F510DDE414EDD1C9EFC47764726CCA3C2C73F484E5CF556BE6A0DC55B0
+A0E008009A193880CAB90D854BB1A0CE6EAFBFE6D1E3A4C4D900BC6099DDE867
+E96E02503DB66E02F7AE2A36FCD015BF58AE5EB115C1B80A9332A8748A52F8FC
+B139E87AF5ADB045BB7B1A3FFAB4E90BC34002B2F6916EA804DFFFF1F65C4E97
+C4E144BB6EDC906039C71B44AA3DDF5BF5F072E5687B07096828D25065E78DCD
+A39620EE567E59153DCF1D2FB690C156569165AFD93CAFC150EFB9BE4D272776
+1579D3ED0571464EC089B2FE2D655F4D260C370AF131CC53CD63542E362B9C90
+A2D0434EB6E3376C634CB203B796B4D5BEAB9B0983BB197F58A7F0CB3F52EF73
+B73964D460DD2589F392B19AD2FB9BBAE1C39D87553F624AED4EF5AF339F30A4
+EC40DB9A29D4A384B68DF458D35C2602165C2226997F86DD42D4A0068C03F4EE
+A1807451C69EAACB81772BFDA7F46F16E7F7976D6A4FE8ED08D0F2BE13A1055C
+015647C14154358BD58990C1F86AB962D80C91C92FE2720268B38073076274BC
+DCA5B8B0ADF8851A54E12DA2EF3BA6AF7E9D83EEAE99FEBFA2CCC4A09343A455
+014C9306D155E8D8EAF9CEF6C6C6143E2FC385F5972485FF37B67249F2A56A0C
+23FFC3C2F63976BC6E2455C36B4C1C09C976BB684A7EA770D34B348416EF27F6
+0D8F9194085FA4A554670DB1AA724413518419E1A017B347AFBC2F6FB5FB1539
+916D2ED293B818699A5443E88F10B383537BDA76C31E4A270193E557E7C45FBB
+0B65AF75EA093E4F9E813B76CC48338205C7A931D7F00B15ED2C827624B5B9FD
+35157F58EB85B0CE8A035200F6340506A62E6ADC61F5B5E1E9F26D9C2DC3D6C8
+4DCF6B37FA1BB6BA8D94DB0BB51DA77EC62E119B37DAFE27D8FC1373482EC73C
+61A52BFF73D72299963CB4BA533117D8FF92AF9772109BDD1C31551DDA0EEFD0
+DDC0CA2A38F676777ACD4FA88AF947645967122D09C5B66D85CFD618822D8B44
+96589D6BB3F2CE00D39056AEB065751490FE39DCE3B1EB4453FBEEE0E5E79381
+F533EFDC302C1FC4DDAD947F0FA29C76EE524E66938B7A2D1EE060EC50ED9FFD
+DE8C8DA759D0A5EEACE2957FFA717E13E02E7D6DDF6981D72451EFC9C9B5DA73
+05E5DC46F8912EA7780848CBD2E171FDDB96B2CF79B8DF58B66B940F63346458
+BC53113C2280702579109C583547FE9A2CE7A1F0E6C31FEFBC81856AE022C74B
+1E89C024392DB8F2B28EEE5AD31371E7BE919ABFB7316F288719B0D98C6D66AF
+37522A3933C3BE2D481500C67CAC9887E68312C93639BB0A382999D7BC1F7B16
+E94C4300DC17BA263715B7E57398F1EA872A27DB8BB07066B3ED04EFF0F2DCAA
+4C7B2C8127AF8D1C2512959B0DBC59D1C704E320127A3617DFC764EE03BA99C9
+02DDD0378BFF1126C32F79CDA9538D5DA1C5E837F6CCE987C76F6DEA4C48F166
+72D6875FA01166DAAA78B4CD21D506E2CC10F8D01E1DA46DA50B9E27724024E2
+E8A860FC66A48FFF899DAA88CDBBE5122B773761C97F2912D9E56AA4B1B97B86
+890EF9749483BE4BC1B8AD2F72782D366F0288B589540B4D7BE39D818DF4E500
+D01ECB913D5D2B79E330012B1E4E704493A68255782CBF81F3A2A4FD53D22CDA
+AFAC712132D0F906F1FCAAC5A7A8D2BE620FDC2194636ABAA93BCDAEF7E72E47
+7E262DE750184FE2BEA2D84454AD179862FD5E9618A9CE4DFBDC9DD1259056AC
+36C99E4396D82B387D26D0CD3C290E33AE895E7E492ABC9BB6EBEEB6D0D75E12
+CDDBA67D5C17BD9F7F962F0E39D725C2C5EFE217BCF86F8526CF172FE8AEAD02
+A48AE32AD9E63EE640C6FB08E1B5AC6C3875758FFDB7AC571DA6CECB4EAD0C3C
+80BB8F34B727449B0717A0E9CB26BD0550F1BA59AA70F5EECA1AC774C12D1DD0
+E4DE30B288FCCA04374230383ABC61B950E14B5209D4AD6E32E038AB2E22FAA8
+1209829A681E7430F7F8E7C9342284949FC4B944FDE91D9AF29CD6A31666ECCA
+36AC9E997DA92AF7B623703E1ABD8A59451742901683F21BCA15A79D5A5D23F0
+86FB61F81DC1B405535F39431C54E53C16277F145EFE363BCB1EF1471A0B9D24
+E644C8F96B826F2D7697A008BA17705865D9BEBDDE7A8204393BC34086F82352
+DA9C0E4330502B84F33E3F53D7303CA62EF81789FAF1E5F53F2A9E5780C7851E
+6B4A9BDA871188A1AF75BF5D8E1DC2E88FFAE726D4566B66DB9A020410B54162
+28F790576FE59251DF47187846B0D69DECD5844C6FDDE81021D9EAE38CF44040
+574058A2A706E8F21CF1AAC6119CA3CFCA07C8A0E5C436A2C4DB6B51F9C0D9B5
+1B123E6D71E4B26397A9095722D5FAC0DA055456A3B04D1862359CAFEBDD7944
+ABBA0567BB0219DF005AC268D23EF69F2490FC929AB405A887F6401F6705F982
+88D3E883ED94A659F267FEFE257EE6BDD9B261B0209D6B47343FDD562B2E74A6
+B2FCBEEF091C2224D043403C7975686FAC9A89B44E09FDA6D96B895392858BE8
+E2166425C35501A3EFD25DBC5C724AA5B4B7DCA2E0FAFC3EBF4F41DA68B403DB
+3432BB7307556B6DBDB22A610C271BA11EE0B2FF584F6806188B1EBF20535A10
+132FC19333A4696FF2BDE87F46EDCCE72B0797C418DD8ADC2FBADBDFE2DAE374
+473249A1A65597383F7F7A85C048658747DF7AE294279D3B9F3C01D38DF21FED
+539FB266197AF3D6EE8D9743C937F44E31B03718675F19B85E3BA604CDFBE1EA
+888953EFF9CEE3DA56A40C795C0C13185DF2BCD958BC043165B998DC6BA2E088
+9665840B8FD4F10FA616D896E4863532BA3CD7B78FE429D70C13FC5AC40EF399
+555E340D8EDD2478108D798382CE2833106CB5EB2513414B064912B106217E5D
+B59A6B5D6CC073886162799DC2AA421B54AD17E387E996A8EA9B1989DFDD640E
+C84409A9882EE9A901614FC629348618A8A9840CFCFABC20E25BD2AB0CDFCB8D
+10AED1A28EF5813BF43BCAFA2DE59A03678EFAEE38A5A1CB07F3EFD4FC1DA5D6
+C9AE2CC0975926374E1823B0A3426507E0EF1DD8E2BEA64B968CA191A1D5F997
+9BBCC83E20D07311964DE3EFA784E86863E618574B03B740B06F433B1F876D08
+A611B54C2922728CCDE265AA0E0EA4867361C65C6139E4D5FC776AE54DD8158A
+5842478CC1A5F34D17F4830C6C6BDF8872CE2A2925D8D303A93DA22218F6D3C5
+7F4DDF93C2F530A542A9F2A26CA49F7AE51DADE8E7D069582858DABACC202814
+249D8EC2FF53F4D847CE2F87560C9E1F4AF60F9B64E18046A5F75E4E2375F7E1
+7593CF728C3BB9DA9D3855A5567BEC44D9510ACCC7AE16C6A5B3FF543A9F94E6
+606BAB6F087B824B336853A5CC7776ABDFE7101F9B6635B9276D1E5F2EBBB011
+279ED882E1AD9EA838EF929B4840DE697119E6E02FB176E6623BB7B64620B62D
+6D565507B49AFB7BDAFE8CB8D8AD77F01E2C4706D7BF56FEB5E9A41B274853EA
+FBCE362106C6CC4C9A16203F1CC874F603BF841261EDA92474D909804B30F8CA
+07F68A8BA0578E4232E58B38C705806601CE06E7BB0B44AC7CE5BD54B1DB971A
+A1359694CA68A561D9492795B9F5744823B24FFED1B787EDE15888130CA70B47
+77B02C7B177C36565474A99538264A56594B72B71968BB2DF8E5014098F0FCBC
+4112BD4211CE5AABC84D63449D0C33232634F23684D08D2C965AC09C088FEF3A
+9142653BEE405C3643D5A1194076F03C2D66EC8B5B2C8A93E6F255D6D2D4BBCD
+9545AC6F134A19CDB4A2448E389275D751D7FA00E1DDE2147D6FE6DBBD3093C8
+480172A231F5E0AFFFF07480040959A2AC805CD768EDCFFEE26A019ED359B060
+E9E344DDAC7F7A4E8AE4E463FA54A37ACD5CE1C531C7BBF15A9D203BCF64C0FA
+57DDA15326A40066E9071753405C4A69533A8120C39FC8CDCF7C0CEACA98AA52
+AF3810B6DCD1ABE505B9F45AE65E54622FBB10EE876C4EDB8816BC9C78E21181
+E8054CF6C9AB0DD250902EFFAF6416D6DF2AB4D586670720F58DD6EF5A1A4185
+E61FA66E6431FA553D6C8AC0C78FB94F2042C02B5BEE2F96B47C4F7D84973460
+A2D5EC835DE7C1DFB26C716B02E27C0409CFEC11E6F87776976EFDEC184D79F7
+6A4DCB3698BDECE982150072A8F6A243A6C67169A7B4DD06301383F2191F2A32
+2BA5706FF491472EFA11C60EB7D976D328B598119E5443D8C8E689D9929850B4
+479B875433F5A8B4EDAC69DE064D73D3542066752B09E3CD22DFF7F4AF080191
+2FC9DED253D1C605616C07C7A96A446B5EC9C60B29DCEAFC41254EDD45A2BDB5
+3424BC7B1F40AF026045629409C0D4919E77A499977C5725CC4E7AC107F81A0A
+3120EC253D6FFD8F5F0E43878F4B417EE391C6E4240DD78E8717F8AD4B87F65E
+1485539004AFC25E1CFA30712EDF1B63D27F04753C02DD5FD045E9FC53579B4C
+2735783BDCEF0E3D48733B1B4F7DFA0ECF7EA2B5BFDDFAB66BA91A4236C60601
+C32BE7E2A17EF0415FD35C0A80C038FD700A6A459916930C9A5ECB406295CC69
+6D09D5A4677A6878F118E9FB4733977F3B2C7FB80A57E52EC29FF8CC89BDDB1A
+183AB1AD0627E8A2D76A4CF0475E9DE81A2977F9E7DF13DD11362E1A7DEA02B7
+D2FD69B46DF664295E4930517B27ED6A65C017ECE1D189A2EBD913773A1F965F
+7FC0CE03A6F117CE4C4716A5226669483D8252C000C605A3CD0E03A6009E4FEE
+CAC3CD8DCB11393F5D88232051CA854C00D935F318BF740E457BFCBD89B70C96
+D3FCEE4C0309E607CFE57ABA84496EFAF6D05C075B57795AD15C9C6627603459
+7F3C3208BE41E83B3BBF776AB7409F29A5589CB20325B4FD3A7C3EA79C11E47B
+1741522063701F1D5CEA7FA4CA0C7A3CE7190FFECB8EAD8DE7888246D5559083
+E060DC36F4F82C6DB3FF34D52A413B06B74ED712691C8434990E554F57F0AAC3
+ACFEDBEA804D83BA346B98A7AA92ED1B10E7A1530CD934A6CAE218A405CE8B3D
+9755F7827A96954DB1F5447BEF21412334CD103FDACC48AE6866E6B0069BA0BA
+16EE4588FA885307FF64D577280B2EBDDCE85192533BDB36C4F5653EB3B19F5E
+D71F505115D92801CF27F4F3EB1E7B3B18F5757DB08593C614AE300542F87AF4
+D9EF2CD6B955F6860502EC2D64036FBE1F7B18772228BE7612074DCB67D1F45E
+684FE5785BFBED4D86E891585897BB06C9EFF060D5E97F4C37F8367846181825
+3BFEAFBB9FFB24424BEA55E26C937CD4640C122880D03C8BFCC716030E1DD72D
+3E78C647DD020F1C3E7EBD443721310083CD29990E349C44B9BE32B4A7825D0E
+120D28BD708355F76C20DFBD8DE9FE24761B948EED734B37D073BE847357E81C
+8A88FBDFF0AAEF65B52085E84C3936BB44A9F0557E7F801DA90E36EDC4B99597
+D3B2F51AD843AB021D0A9D471306F9AB534F4B1DF9DC3DD03DC82DAEDE4A4F19
+AACCA8C3302261BD558D6CFEC06CFBA970919CFF3EBF49F284B40961C09BFE06
+FB395BCEED75EACB8FB6E73AC87A1B54EDE8CA7A69F88335E95E3AD897156E48
+C84D9A3938164354984FA293DD530F115D2C54DF6E8C91090D0162371DC5FD7D
+3BFA381F661DA4532FB4DD1041FB5FEAD1A37EF0D13E46B7862225D2EB773179
+735D1BB9257BE0E6A5110A090FC6899C246059DB9D4088D4EC0C975D62063C03
+B26C4C83C6003E6CBF6B938930807E4453B4C97806ABDB50D7DEADD7F9E21D16
+9FE1BB10A5EFA12CBD4C69C28D9E4CD157F02F385E42E5363E599EC3E75B6087
+DAEC53889D74BF02FB09CB60DD96A151A59E94085CA2207C5BDBB813AECB6CBE
+5BA9C185C76A805BC785EFB7F54BA4C05CF623C784631C120CE1975347E2BDE4
+C91D733620CC237EC155214E64D27D3C2A5AC53DCEA5A98AAD715825CD7BBCC7
+DAF443C9E3B1712402C0FE9DDAF379617AD5B136B9BFB15F244886D233ABF295
+0ED4385F8D407EAC42E08BF7B1B1B2EAD691B71D42FE34E8FCB662F7
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -2480,20 +2877,11 @@ end readonly def
0 1 255 {1 index exch /.notdef put} for
dup 97 /a put
dup 99 /c put
-dup 100 /d put
-dup 102 /f put
dup 103 /g put
-dup 104 /h put
dup 105 /i put
-dup 106 /j put
-dup 108 /l put
-dup 109 /m put
dup 110 /n put
-dup 112 /p put
dup 115 /s put
-dup 116 /t put
dup 117 /u put
-dup 120 /x put
readonly def
/FontBBox{14 -250 1077 750}readonly def
currentdict end
@@ -2521,91 +2909,48 @@ CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2
24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD
9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3
933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307
-08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61FCD7
-5EAC976CB24D67763C8CBC0CB43B872E68A0FAC1127FC65DE1D613223F947D89
-AAFB4FCD676359F7C3A0EE0BE2BF8A912E2E4CE58B7357A05CB75CFB62CD5F9B
-9A0FFD1BCCEA877E2C20231CFC0F7E31F536223146F955D34279086878748772
-0C9D158E3B6CA92EA5C359C620FDBBDA421B3510FEE1D118024735E213B8F03F
-B916582DB3B56D9E704FF55F61AE12B8000ABB7C2ED781978A31EE30C1658128
-F18A4B92BD9CFD1AE5D7BE8E0849AF3E1B762028BD1D1A57EC7EF6BB3EF342A9
-82EE0D16724928E3A1BBEDE05FC967AB3C511578435D0D4958EBFA1FC32C6D2A
-5E1C7E62B8F4BFD82CC2340C95799F57D486E4929F07CBD1C86DB204156E344C
-74B191E911E9476486CCE4D2F0DF2A79ED8F8623DB218CE3E8AFD4B42AF7FDD4
-EFC3A7146816743DA8EC34E955861CCDA22AECF0C74D74FA6402503A2088C564
-D44A87245F246DDD847AB57D2AC8ABFF7045341C6D046045516B2E10B85E0637
-814E135E13BE0439644B8FF8A46423EAA6CA3505F9152C19CE0FEAEB9242037F
-AB2462A87EF274356B5A4F837542378C61EA932ECFB635E4F69628EB0B1C20A9
-095107E0FE465057BD95C0EC8CEAFFF13F3EF5D9758E8BDA1D55C86A2C3D5985
-1D3B67E8B1F5F93C4CFCC75A0BC8ACE6C7855767523DD6C79E253DFC2D49EC38
-B24AB1B7D2D0816542AAA408176C485E7C490CF18F8C73CFC82E449E0976D671
-950C0C35170514AD6227A312BEA851982650498DE535949378ECF3AE72A0E761
-7CC65648D33C5FFDB48C49AF27E9C7E8D8C22EC491197F1384698397F024EE32
-01A97F70759B69AEB138CE12EA7C4E0F12B35DA8B723C43A525E461887234C67
-243CE39372C4EABCB6B0A3521C7DB601708844C6062BC9A93024395B15519BEB
-C56CEDB7898ADF92A9D675788DE3B50A97224C194756508E5C5A4E0B96D6372E
-F27AAE34A3F1BA3389A222B51C2A1373135143B80B71EB4B42AB1F09F60ABBC2
-EBA97400A4398BCDAE99C85F0A9C03366E91F1A19FC22670D608F1097AFF502F
-EFF30748B578FD8D750D28C60C4250896B87E841AABE6D442FDE4586B90FD905
-FC3D19C00DB4DB6719D58F750811B7EB3D5EC40B69E66CD7F5BCC4131B9CA194
-B27DBB7A30BB5121B7950EC6B453FCD5353F734FAA157D1F85B508B75087EE2A
-EAE9ACE82CB3A7D7ECB3DBDD4263A01D128D83B23D3BE98865C90D47C78E0E05
-C28CF793FF756DE91683370E81CF7C36C58CEF19BAAF36A20664E0FF2DC74CD7
-A6271A46FC3848DB589C50A715BFD53716C0B46146CB2920DDCC525BF83D766C
-1E45F6690AB28C45CEFF4BF426E67B82E7CCEAC6A165977BA375D14EDE206067
-56497B7E2D1C81ABBF7A5180067F1A698DDBD9E423ED67B72ECDCC2AB7DAF950
-3385AAA4384490E369C9FFCD8F491EB372A80485DF57ABEE2995BA59C397A858
-39318C7638B511AA9A40A8AD69D053A8B05E3DDF93FB876FA5007EFF920C370C
-368A2657C78F5ADD83890B4F6890C4BDD2041951D58021F5AF4CB5CF5F432E59
-C8A6F5971D354720EED8352B1FE32BCD231D33BC090BF7E1D731574C68FB8CD1
-FF9A7FFD70E3912B2A1181BDCAF989C9CD7FB3B30EF2D8280C7D3D202A7443BF
-F8E44D21CBFD72671DF0D57ABD165A9B4A925E14669A6AB0AA33462ED7EDE70F
-D88D4F43AA8A9326C69D94A76F236F85DBDC13DBDE75F590155CCDB0C18EAA74
-EEDEF95771CFF412D3C9DAC65DB3570D8211BE98C27CF0C2A536202FCA5948D8
-7C83EFB774CC1261962F1C3C05467C2F8EA3E8C3E3BD82B1F39639DCEE46F6FB
-79700257DDB6172206C6CCDBDE82268E3B5E40CB8E1A33E7C87F386086A3B015
-114433522F9D0CE343F1C7CC6E188A29FB93C2D246670D2F92EFC68178D35EDA
-BB2A4BA8355CECBC97254E3CD52F188EADB5B5825FB109E94EACEBDB5597E939
-B7F2BF5A53BACFF6DD24ACCE2DD4597B7921EF21FF911C4812CD236D95C9AF68
-7BDEC554C8B748301EF5BD6BB9C8CEA0F1E505574018CC2D599175E6A9A74285
-1D3DC0E68B0579D9AAAD99EB49D518699990E0B4CD65F7CC8EAF7413ADFDF219
-CEB8F1234D70F6B66064AD518DCDB0BF9E90AB0EE016ED7C323ACA421416BC47
-103D4ACEB453B8302BE7E8679DAC6FCC0BB614D9E312351964BFFD3AD356953F
-62F0B683EA75A83461F88B4303C046EDB518E74E09D19115E6064D62848F9E2E
-4942EEA7AB91DBFB7644390BF11B9E9DB49C4585B6427979F524419B3FD2E7F8
-7517056C688D5F051C821EB196414E3D480420619B1910DD6F7A12B5E01CAB06
-FDDAE550C11E7AC395B1F480A73430D971889772110A806CCA9B5921BC37AE7B
-94105AF102A79E3CDD32C5682043D3EFBAEBDAF7AE922211E4C4C61D37966F56
-17E3FD9A47D40FDDC45D21ADE80F6539AFD69C3AB8A01797FDBB9AC150FDFDAA
-736F3E4F149959C4AEE4B0E529F770E5E7EF9D30B040989201428F8399E3679A
-01D4FC61B6A4879D4764B23D424CBA11256ED3CE090F1D7F1328BCB5F800C705
-A19A1212A9662D86269420B6C7E6BB638DAA9460FAB9BB8545B427B417FF2A82
-486C8D114468FFA2C45B530D59AE72E7FA365F41AE589E3E1957808F065A4A1C
-240AE545A87652356BE9068277BA0B9E79DC84698139D835F3F500348317BB43
-2C59C0C0FF7CAF5CC8350D15CA59101A25E4F2E0CB2DA8E5C094B4934A189DB1
-6288CE469B60FDC50280C232AE7EB1EE123CA4ACCFF7AF51DDE258CE52ED59EB
-36DC6C94893146505F3DAD8E3C838EB3C12B13B2AA38E7F43F3139C5BC1138D4
-F1F2F52B5AE4550D3A820BDCADF1989040DD77B8EF5FCD3AC42BF884FD02C1DD
-13B24556701E3CD43B48C9FB45E5758DC7571EA4ED3442022300FDC555A5E4C5
-1456BAD59F0CB1D389F19E7868A4FE95AAE7D4236671B1E8B6A9FF51477D68A2
-BEF5BE4E86BE81F0A4C87948DFF006D1C2A47B650B9CBD121D388180721E4E1B
-7906582CE91A2A1666208B52728F1B5E4E4943ADDA5F7AA1B9487C207C86C30D
-9973327C8F600CA86DA892D70CF6E734552F6E773473FB5713759C730380F4FF
-E440E57BE60050CF5C33BC1AE10220B0B9673C7BDE4F8BB596BD41CA7DC19CDA
-F27465B9476961AAB3ACE28545F1D5DD855EB441751F838E356D69FD173205A6
-BB52BB602239F612F477DD641A44EA2D556CB113983A040CE61046AB7EB52927
-681AA49626070EB91DA3E2A46FA4A8EAC0468D62BDC73C82073CE5E6BF0D1A93
-DC54F906002DEA32C39C713FAB8EC7342CFDB57485D3E41B7E5067A795D7AD43
-5AA84210EF77C29A319562375A18F2DEF1B0B99A2BD7D5220371078E76DC6D7F
-C4D37A486525C5DA69B34A710CC938AC53C17F5E2B1726F0E552F25750E9C1F9
-5BC12260A0B42AF4710852D8537EA7301911AB40D5ADF26C6738DA192B1058D4
-B61FB1A84B12BE4916B85DD6A721BAB7035287AF68EAAB8B0D5AEF45F25E1E15
-04E9C921235D33AE59996DA03B46A81EE6BFEE517E55F54FE65F509DD7F230DB
-67D4E212757C099E6DF94E27EEA41B54CBE7EEDE78594A07C86AF80957A4C241
-67F5F5E04B0D190FEEA47562E98351B67AB35C513649FC7177C5EDD9BEDA8416
-B112E0A8C28A45CF9A05C6BFD9A09313413245F9D797CDB56E402EEF05C88A61
-9E5108353115F1415FF014E1E9A3CAD6103926BD42945BE01D8EDF875A95AF4C
-E5DB8A4DF4B25E7D25C3BF4CE69C171D21972619EB8DFBCADBEAF4201D299AB3
-FC79BE62A2E850F4FBCF04776398AA2769
+08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61F51B
+C968C721E78497A7A3B90094FE11EEEC89D0D9E7AEB35D9A3FAC51F826300BB5
+84A4038A08FE7DEBA3FFED05C494AE0962114E9A90CBB87B40B7B669DEEF7D48
+6F0F21217F9911A842CF3882BC64670E58182A5D59B72EF73F62651CA3428BE8
+9389C4D4A3C77C7EE2DFFA8DE35FF4FE4609914E42CBED28EA59AB9A5A049F52
+8C30FC6673FA3B3F19FBC6A6CEB3D8ACF6B1427E9561C0EF108BB29CAC53BA6F
+6102D4A599510D1DDE1D104812EE52010BED1DEFF3419DD223A26CB1A2B7260D
+04989B2E8D900A82493EB68B883F32886BCCA8BFA961ADE4DE46F1CDAF2DEDF2
+4DF21403151EB890326BF9771B5491E45091877E550E3DEDBD5C97ECC6AC49A5
+522221DDE68940109257A1E6932F5514EBD5CDA3847B8EBCDB50D2987188FAB9
+F2F96B107B8307826A541B49B178189A17F7D8607F39FDE8A03D350A324DC684
+58DF63F288B4907F450060824D764D51EE69FE0D31053E37E031F03A1C58DAB0
+69A79DCD03DBE5DF2086BCF558F7B68158CB3E2F59E313FDADB26B81EF589991
+0F4C54D7F2209F812A27A75F586A62E59938C226368EA6F4C71A8C1EBE4FB084
+8EFE3E4672FB73DD50303970BF520125F49CA280D88E941C08FCD32A93EDA3C5
+70BA7A9CA5B4759BB64975E6F81F17033A85EEE16C34F48CB7DF5ED1195C7943
+7D38D99D7DDAB8D15C68BF7DB3712CBD9846C5C72B435DF91A90ECF37E33A10F
+0C26ADBEE029FA2BD8ED27E3E4A8E76F8CD37EA0A65C16BBD2E7463F474DC9F6
+EBE92536B35598474B8FBB13CDB101DCBD04BC1295DD80369DE583BB6151E830
+21723CD7B5581BFD1631A8B8A7E69D06D4008D30EC7685426D614375B3F7CAD7
+F638ACB0E889EA91AC865BF31246CD8FC4CB99D64D6559637E1CA4FD935BF954
+90A3D8EAE892A1FDC20384CEB773242EEAC281ACF9907CC69B04D3DC36A2F8C2
+E6B26E6435B650A7843192E42687C1464252828830DBE7268BA089A131CA8F3F
+CE1DB3B2309DA9764430E6013F59EF83AA83C4F335DA40280BD758F8F174882E
+DA4F86EFAD370A8FCEE9BAC93C40745F78BCE1A0F82A3AC4AB93C589D48EA9C9
+60C030BE2C81689CA3964746154DA78A260693CFE0A3673D61EDD2D89DBB471E
+2F2D730EB1ECC9F3FE5474CA0AA70F13003A6F6311AA396EA0707A2F799724CD
+6172B351BA7A8A79BE939E5CBBAFFD704AF6B489C3CB7546924F72B02651D74B
+83157155412798FDC5A1F0A8FAF5B477F2A631AFB3905FF4B600898594AE2A06
+12F833A915CB69DE6BB34698E416989B4FE55486BEA50ACAA9F913648A1C4AA0
+1115E2B254E8F29AF44110929D979C357A0034BA64B9174230D5AFAF270E86EC
+91452CD3CF7DCA0A1813E9966B3F98373F28765754AC2E16BBC64F0B889E5CD8
+CB522EEF25E3E76739C20E3E767DA51276469AAEE0A11A92FD254CDC90B09175
+0C480A56C1479FD15F91B39F848F2B77786295A7276E76F7EAFE1019328DE9AB
+C3A69A104D37039F98CB3042A8F53847B97E1D2BB76EBFC6241E5903D55FEB17
+436374CB85B27E2617EA745171C9F1D2A3A890490004B38F5BFEDA0B0883594A
+464E46788B8A86E19904F108FD902E7B032F496E86B7F210E3CAD335CF4517C5
+69558F3C3593F3BA0D235CD5B7DDD0BA909EA6C635DB553D5AC1AF351111A37E
+504A6652E21ECB309BD4B641D2470F2E0D03F7F34959C983FBCBCE64CDECECB2
+EF43850D1BED843DA6DD2B1A9282F88FEC210949B3B5737308EE15A6B6148697
+2A5F77FAA39B8141929A40F68D84C8297501C2DF95230F2C167BFC8708152387
+AAE0C24A1D9351
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -2616,29 +2961,29 @@ FC79BE62A2E850F4FBCF04776398AA2769
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMTI10
-%!PS-AdobeFont-1.1: CMTI10 1.00B
-%%CreationDate: 1992 Feb 19 19:56:16
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
+/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTI10) readonly def
+/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMTI10 def
+/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 46 /period put
+dup 58 /period put
readonly def
-/FontBBox{-163 -250 1146 969}readonly def
+/FontBBox{-32 -250 1048 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2647,31 +2992,31 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
-21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
-06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
-55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
-B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
-0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
-1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
-7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
-7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
-356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
-19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
-C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
-244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
-AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
-592943209E846E55B4CB54F6658CBA3C0B29796D69D0435D5431ABECF3448C15
-98CA2F36F3659E29AEB79355EC2ADF835CF0886C21B766B9DEBC3950B5B3B496
-2E06D980A8C60305B273232D4604F12632FB4F1B2F9703952C823C098543AED1
-CFB4ECF259A11985F0C944A57B5AFD853374FCF12305601200C2A393E2FC77FD
-F78C2BEB83AB223A89D9E231D1BB561CE1F4D3312049F31CD544C39354493803
-D47CF45482054818E8621801A97461EC7BF53C6AF1C38AC90B38342D51C4615C
-59D45B92606D0479F43149F2579DEF5A20B4D7D10528E9750ADFC4C7DDD73DA8
-432297E60ABBB72A637231049425393426F66BFC0851FE504E589F13351187A9
-D784ACC207B1F46537BAA5F2EBF637EB8DFD9D24982E2631F6D3A2DA47B4E9EA
-0C899DEF82A7DEB0ACDCE6043F36CE1F74BF1B00A1EE0765F497A67B95BE1871
-A8B3263B03D41ED8BD6B03CA5983912E094E2AE47DFDBF
+9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
+990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
+6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
+DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
+59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
+D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
+8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
+6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
+1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
+03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
+95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
+74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
+3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
+47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
+AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
+42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
+40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
+B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
+9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD
+0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE
+E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C
+7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37
+88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6
+DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1
+AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -2682,29 +3027,29 @@ A8B3263B03D41ED8BD6B03CA5983912E094E2AE47DFDBF
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMBXTI10
-%!PS-AdobeFont-1.1: CMBXTI10 1.0
-%%CreationDate: 1991 Aug 18 17:46:30
+%%BeginFont: CMMI12
+%!PS-AdobeFont-1.1: CMMI12 1.100
+%%CreationDate: 1996 Jul 27 08:57:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.0) readonly def
+/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBXTI10) readonly def
+/FullName (CMMI12) readonly def
/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
+/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMBXTI10 def
+/FontName /CMMI12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 46 /period put
+dup 58 /period put
readonly def
-/FontBBox{-29 -250 1274 754}readonly def
+/FontBBox{-30 -250 1026 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2712,32 +3057,32 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
-E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
-BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
-3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
-F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
-C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
-BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
-2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
-879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
-141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
-63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
-4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
-FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
-395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
-82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
-763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
-165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
-57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
-E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
-178DAA7C97C35EAFA47778CE03E863303582D8A9900EF4F8DA879DED54BACD7A
-4A50C18AA2ED906FC4DC073B1E6CA1E3855AD5B7698EF4A96B77DBE19A12382A
-CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4
-890359E7E04690BFFA99FAB5CC9999F0873A9DBE49E33F79E483FAD72313DF9A
-7B7D926461988C23CCE9F71AB7BB63BDB2B10B3F78176380AFFC154825C9BDCE
-82303FBFC3B59E070438984C28D12E8655BBBF049125BF56DD2B0DE8C0450E55
-82832DA59EBEB001AAD86F2317460DD7ED264611B9043614221ECF
+D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
+5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
+4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
+3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
+EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
+4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
+2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
+323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
+2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
+D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
+5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
+0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
+A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
+2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
+00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
+CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
+99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
+C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
+5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
+55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49
+335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146
+BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888
+15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10
+0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8
+23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2
+378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -2804,641 +3149,54 @@ EC544A68134496A9BD0B87D83AF6FDA3CB62FBF0B54FACE1F0E6A2D84B467AFF
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.1: CMR10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:52
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 13 /fl put
-dup 14 /ffi put
-dup 34 /quotedblright put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 92 /quotedblleft put
-dup 93 /bracketright put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /endash put
-dup 124 /emdash put
-readonly def
-/FontBBox{-251 -250 1009 969}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
-87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
-D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
-92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
-295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
-409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
-4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
-2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
-0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
-B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
-24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
-43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
-D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
-5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
-96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
-7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
-0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
-B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
-AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
-97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
-FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
-20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
-0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
-F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
-3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
-A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
-5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA1566B96E221864A
-45A24ADAEC63F61C9FD18376D3984449A1F998C318A8FE36D0D5020E18A49625
-0F3BB603BA1F3E66FF412F6A32433FF8BD2968D79CE4273AD0E0CDDA5153C2BF
-F8A46A2244F9394A49D339F763F5A7411A3C29336B21CCB01723705AF589B078
-3763035411FE36AB5D744E81379106890688CB5BC41184548B7FEBA08DE7288E
-E6570FEA20C51FACE8E8F824BB61A4A038AB817C47B87391611B77928B2565A9
-3B27A573C05D36ED01D8F27CB2C793370FA9B90021B5696280A55F2CB6117B64
-293EAE0EA5A243F56FD007773CA35DF71B3D28643C25210CCE25F37A5095D6E5
-9CAFD99DD1DB0D7EAD454C13464DF6FF5DD42339797AE5AE467084550FC00139
-6EE818C6365007B2FD6E26285B832CFE6EA7E99665A224C9813C036CED262639
-3FB39C1F05FF8F31D2DEF37BB9B883334F51EA1243332FE1E3FC91864C8AEA79
-16A726F924AFD84F2F4215FB795FC41DCFFC835C90B9E31D291E47AA4BB8C05C
-620F69DF31E91A0FBA8E217CDBFAD7C4D480EBC1EB396029CDE615C227A367AD
-72834BA95539D39A38EA0CA3CF7F1123F70792CF315BAAA38BBCB6DFA80B4493
-5025F33C3696DAD6A0ADF584C71BCB1D29E523EA4B81FFCE15F3204022BBBEA0
-A9483EE8EAC07D581162672A0D66199174821ABD097561A263C0C0F24066FBE6
-0951F31FBBF2675141F3FB4457CC2A94A40191EA0AB2A606CF540BBB8887B6DE
-715EDB1041EBB9D05D0F4A4672F534397B9529EF8743BE88BBA10C81E0A46259
-2F2AA7B638E20C9C8A3A827977AB58ABF7525BE15DB66CE8E9B81457552073B5
-85DF3FA70B5231C447C5724E14730B90FA35ED1B5723036F1658CA8E19EF5A6D
-D333B78E91E4D7032EFBFD40A5A2269B0DFD9F7C3438DB58F94B507EB93032F9
-99E5F15D9F5D8CB031BBBFBCA8A15A617ACEDDE70DD9C2D9EE21179FB17AD913
-B4BF577A9046994689D1BC6A6985FF5F5A67D699C2FD288FD9E5BCAD5453EEC5
-68287BD7B8872726C28CD288B4DED2246B843577173450B6E5760852CF2E1727
-01FDB0FFFBE12CA13ACF6434AEF4B59EFF3E0DB1E87D35075B1D55AC12633167
-5A83A39056C077EAE6F2F7D1DDED300BA43830B8034F0A6AEC562D3023270601
-6C594D0359DF6F230F7B80B54EBAE4880AF338956B813E3B8DB8BC778BE0F612
-7D84939C2878B43EAA45BF10E257F22C28C2C148FF48843D2B52626148E3CAA7
-4527B9F246C17BDE21C6E7EAB4906BB6D9E84906CD1832C4BD9E405AFFE33AA2
-AE086C25EA26BC23D68986639366B99C87359915EBB76D7162AA667ADE4954D0
-B1E18027FAC2468CB2FEA2568E23DBC201E9B6A1151FBF21129A088D89E3E728
-28B2785C1A8B2637F368A93EAB459F80506435BE23A85396969E2AC4E0D6E4B0
-8B12EACD150049EF8942C108B96843159D4408424394B33603F565D1622FCB78
-01C22EAC64FB487AEFC0387059055F8BDF207C956D138903896534AD1F42212E
-7902D54D0F0D8083B419A459D865F7E7A6A6F8B94FA8AA31417C4FE6440BA98D
-1271ED7F25465E994E2D15B4326CF09A6D30ED6BD05D0B66F39DD8F864843B1F
-8031DF58C9B37C10FB633BFB58B7940B52AB6948C4412D59266A2518B5E1260A
-0EE0FBB176C4076680BEDAA7EDEFEB0995DD9A2CCF3EBF3305A20279366B73C5
-F3DE7527AF736D8D267CB71735935FDF78F765DEA560F7F97140BDE20E9CA866
-4242175E7962A14800C37EF65E856C81918C20C040FFBE7DDC373CDF456143B7
-F3AA5026F9B8286B876259E9532754866C649F4F3383C73878CC054CEBCF2605
-75CC0EB62627085F4DBBCE6B6206F867731F47907BA6B5D37CED7D58049CDA25
-7D47AEB352637FC627C28B09BA0B7778DCDB51A25D6088D7989D18C0079D2290
-B01330175812393755C7227B9E64F952CB99310B2F822437AA2CE4334403C6CD
-7C9D007DDF21794D076A5D5263141367A768F8F53D8267251076D9E6E18F9470
-B02BCDAE33E59BDE73E7FF1BFCF40F956914B1A89E6C62FA4D7A084AFDA868A6
-55B77808BDE6448B9732B40B83BC63E8064AFBBFDD187FED36ED67E99CDD69A4
-23F603FEB3890FB19D9CE3600B79C019C5F4E25A63926A8F7BE1B44E53196D67
-F7A6A341F6D7D5E3A991B56A6D7A57A44D255B3CA95F5F6FF0472E6CA0F6F5A1
-D71629A598261C3B7A9BB72F2683F03304936ED01F8A774E74D24C25D5ED538C
-63A8C4756AC67CEFCBADE365E29340E780BFED81A59C98292DAD3A1068794A32
-D28D40BB7BA410274E8C8F804055D9457E4439F1255B8070DCB89C4A72043C71
-2B192CDBF53EE9FC81CFA1A4BFBC12271DE6F87E7059F06F38799F37D49C94EE
-58685D3F47C915A1CF37B2CB116909E52F537AF7CD386D62D01D30D6D079A5B5
-71BE47AD79CD0F40DE5F15977F11FDCCE33B952858D1478B59F687D7E96B9C5B
-D59357FF5927734B19D5B15D3930598F968493970B616D570D3E2A51FE743A82
-E20909091813726FC10599F23E8B5738A90E237CA417B10677A6C8BDCE468EC6
-BD234802C6E4AD49AD148E9CFD0009C97F421070C6CCEFF5076A32EB90F3F5E9
-627E13F658A31CDD3C4A75C66A0508C92785A6C0BCBE2D4C9C1E6B0F33358236
-3B0E68737B23F76B2A2CC1BE7B1B3DF1EEC55F145CD68116804F0238DBDA3B4D
-DE8AEACC8AA661B9028FE89F8BEDE8C339036F53073BD2C13EA5CE4F647654E9
-889DB4B8900D05D84DEA0E7A83532602514559BD083AF5DB829E15E62C7251B5
-B6D7F948C78FE7128AEDB6912BB9B0A398B65C4ABE7E3783684B0B6CBE479C0B
-229923F5C83C307FDD2D243DC71B40EE71964352EE965C33E56DD0867CE466A7
-68B0BFBB68D15B23E918D1D002DAFB4038BB93BC0FB2E7962A3CB6FF620CB3C0
-F850B119EED8A2B877F9E2D8E8F82D1A6BE16F768081086B95A3968175C57054
-70BFC6C9CE582D7EB11FD407C8835C2DB798E25E782488A9A5C229EF008CD707
-3E4B31F5666906DAC6AE081D46D4E61EEFDF2612C3F47817EBDDB61CBA9C1E1C
-A8C70E01BB07146903ED9E72B53BACEF7ED61CDA5812AD9FF1B44682A93F8D01
-08CE1363D775A7C815D4C14EDEAAF507089A503DE2EB81C75C46BC51A0059EB3
-14786BDB0AC405AA352FC5118FE3372398CF1D7264F981EA05DFCB911A2B85BD
-01D17DDCE329F8C570E35484B545B62DD347563942518452FAD1B0DAF30E1DD3
-C4C64C0429D90AF26A0F4CA809B81C29FC653F945B388CF77B2E066563541278
-A3C1348A5CA23836DEBCA15AB78D195C68BB5F7C178344E21FCB44CD6CE12B87
-5A2AFC88C60389A73AB1D13BD86B1A0DE96CD36F7857A871E8231E338AD91A05
-B905E43123473B39307A9492787ED0C693FCB8376AB19F27A9AA74AFD21DE5C4
-76B1119FC152A3197B6D075F8C4A82846898E25B5C5FB90D72CD1B4AD63F012E
-209F805111D3F79DC308C8D678312B3451A69E759DF4F8E8395ED7E7788EF079
-980B286549198BB0753F7172F4A091FE3DDB5C4CBBB6E2517D00B8999087A308
-16C42CC741FEB231C5CB6B7E8F3FE2E2DBE9455BEB14D354113696A54D615208
-E1A95CCF0E0E70314DAE4349DC26212B4147A53FC8A16970B6E37E48E0F9CA32
-2AB6E4598E4FDA267B6A9CB8266071BE3BA042C7D780FE61EF22116CF9642B36
-B4FDEE33D6E3CD64DA5DA1DCE187AABD948373D37B1985D0BB3FEB8CEB2F3A86
-AEA9E8CE67A15672414D3FD1B8B28ADCBBA5121DA3F1B5B7CDDE8E67E6E67866
-B1F02F644B9C88BFCE4624A9A424500BDA925BD7583B1367E2367E1BF8523A42
-EAD38C08A7CBA5760FBF83ABE1DEA9FC1E41F14D16ED4339CD4D17169313F879
-15DD4504FC1BA5BFE21CC6C26E206C4E1B7AC0E84A058B8B5BBE525A7A29A202
-4E0411D0C9185BBC834E8F483509495C203539F7D425F4102EF53248CA943CD4
-5F01026F1B1129149505AAEF7DCD2F3A6D6C494E29771590F658A8049DC981A1
-D9337FB49C4BC6418F271F4E14BA6B223B3CC521FD0879C2C08DAC47BA713FB1
-BF8D9A48E2C1E73F2F56721E8B77ED65E8115EC0DFAC0D61B54D1BA3EAA1744A
-3A0287BE529B7C6749C768F07A07B9C227BA2AD6F88D6AB447614937DC12670E
-7716BD4EB41E3F77A77209CCC6744581DE4B50531BE874AF185DBE34FFA966BC
-02FB132BA1F5AF7E0BB25DEA00E412DAEB9F3D7664B788F7EB1DEED46FFDF9B8
-ED936923D31F6A673E3F5F60395B36672392488191F86263CF52B9C8DD7C3504
-B3186C0388A019F080D80234B68B8F3421190142ABDA05FD325150C6F900E01A
-BF15BAF597B9701A8E3159408067C13108B38741EDD643C62905A25A8913D562
-270E42C47FA20C2A1B814A21E9D477E9E65EC931B6472929C85E8D363EEBE6AE
-750E164D80015EA834FDC8FFF18C79ABD036FD1AE42715BFC3F3967604A5B5F6
-962D95E2F24ECBB719D3608BCBCC89233D2763A6120D2EC68A47F9449171DA73
-5FCC16DDAE60F4F95094F4BB468893C765CB5A2DC840B0CBE7141DCC254E06B7
-22A5A8BB94684E2EFDA11351B6C79481B157D2CBB5265B679CC8604F8C15FC25
-97E77A0DD279EE83F1C0A2788662B7336B3BDBAF8080CA3E905B27838122E762
-E6C52E39AF141B20F3AB7EBAFAC9A933A43CCDB08BFC3372510F3EAC553DBB98
-C65149F88E02066CE6C17F72C90F39DC2CB8D791551DB3374FA50650A8FC0B06
-E42E5C5522CBD3A1C90811519A04474FD7BFAAA92513E536F153B580750A9ADC
-F1B1A5913D14F1AE8028A5E6E3D16A0EA4AB1ED2CFC5DD24A707FA635A210CC5
-9083732A216C8598B40C6E759658B41761C132F2FF2FECDFB377767B2D50FEB8
-06893FC6CDF6B0E83BF7BC5FD2F5551FCA8A79F8BBB89354B086CFBA51AC97CD
-91B96733AE448992BBC1132A4CCC83DD4B3E7D83DAB519FF984E48583CC71F07
-06FF3ED9EA50E310AD68D829491AB9EB87E15EA196EFFAE80953904DA525395B
-CDB33DD73A3E4A9B63BA0BC4CDC8B43836C0ADBAB4238D515EDBEB1B4838E00B
-27F86A3AC3DD1A292BC2CF9C8AE7783426D681B841E4470A1A8D818CF292A97E
-41BD70EDB22843B9B3587482FB8DB0FF148020E516C62ED13C02B0FE7958D13D
-B6104A28975DB0EA79BE8F418807CF2863B5C9D77AEE3D6DFB97348AA05CC879
-B650E0D51B5A51DE309CFCE47CF977C78C01B9564E375C7DE789F5D5CA4E48C6
-39F016B6793FF1981377D3B4661F7688991F9A6A57B2DD8B5D8D794CEE4B7D2D
-783DFEFB64B2B90AE6E6DA6230A21BB6DD0D1D9623B9A4A0FD7E999CDBAD77A5
-AB03742C5F36228B01524708D7A25B87186E72DB530B6D67699D39CA92997FDC
-0CFCE7EBFB9FB28EAAAA23748771A992795D98BAF8E1219CE195B9847170DB0E
-A369A4716D41E25763288F980FC9B4AC4242676E875A2261F1A343ED99BE69C9
-B0118170B3B8756B71AED4EC23829E614C12E7729F3FA9F19CDC03C9198E8A46
-F04033FA8C85B020666D12E8BE7539AE685222914CB6AEFA4C18C9C212C98104
-7333F98F02174EF7B29ED5C2F01E444AD54A4CAFB023FE38878F0158A24051DB
-6639DE54FF45E3526BDE6FB4745D80BD39834B24B4CC66036D21236B9561F59B
-84ADE006D1B8D9E235DC597C43F4C234C686E50ED87A29F1ED362BE315FA3B0E
-C9B842FA46B52058491AAACEE7983A690F4711FEF5CED256D09D4AE7D71C0061
-6227DAF22FA7D30876856A1CE965199A15C65CC8A446FE470D233F53C245FA18
-5ECFE2F4FAC1561DBA2CD5FF2DA8C1AA2D825847230EFFAC6E59C840FF79D368
-CDD0412B4E83411144EAA53325A79F4A22FBECF3F625F047E8B1D025878ABDEE
-2C3B5C6DC7D8EB4F098446CD3EAD3DA0A6A54195A7B399E7CA0780588FC84CEE
-69164DE320825F8A24618D0810B71CED409CC6BFEE816E8C829AD81A8A16F6F6
-AD55D1903E647D935F3BFF542E9947256D1B5035F0E5BBDBB73AF80AE251B8FE
-48A82A02090374E3A166D9C6A038D5C4BFD9D1DB522F18571B4129B47297A975
-65AC9B38E7C841146A5E2EB30821A31A88CE41F59CAF3DC4E48D06DB4EA7BC74
-A1DB26AEE13DE4E1ADB2F15ED40541745CC6626C6339E375BE124FD92E77FC0D
-541104B12F5BBA219184D99B8D450CE7F0098854E4F6156C230BBF9BE2142ED6
-2BAF817836ED5922368FA3BA65F17ED3451EA218641820C3FFF1A362577CC25F
-3C377C431D22B290A66F6D94554676B895CF0C718A16D790C81EC5E925D4D6B5
-623A82C38DE6D5A9F419742C1425A395E9F1DFFAD1E6E52AC4AA018F8D0F5066
-F26B7047E9798D169B39487B285743B67646D4640E9778248D40A84391E26CE2
-C4AAE1B1E0C454C8A985471D22B6B9ED993E215C4024242925C3F2953C207D43
-B928BBF8A4AB803FE2CA94247B4C117C828C5DB6C194E9EE41F3498B0BF81F3D
-8396C84908D01713AEB02AAB05760A2E56A03A389AFB19DBDCCAE4B190DD8815
-92D56C81570B3DA87FD61E42BACB706195D3263D28E567BA9BB10FD3A42DEC18
-E12662BEC6417E3B9B5546856E320C7F7E7CC466F11E2EF3D69EF72A9165A233
-B7642ABBED62B4F20A9D5C0F857329544FBEAB9191CD59F1C44B9AEEB92F45AC
-812154397FA039B7E00BF221EE3ACBD288924D697A0C23601668ECE88EF8EEBE
-D279E953509E0DDD386CC30373E6702DE21CD47982E887521A99AD11532BE389
-9EAAD86F347E52DBAB8DB37BEAE59EC3246328DF0E495DC03D7DAA553EF8A6A3
-C2862E1EE2A8BBB8F1521984DD8FC30C798FD2D79D259904D13D9A3EBDEB1374
-81FB6A5507F2A032F12384818ACE9CD39C6786E8F0546354FAB6E14C920A53AA
-241AB7B99073F12BF51485B7537F58ACEF8AB772E5507763F5DBE520C6FF61B6
-FECEAC6BDCB75A0D7329023913D86ED418AAD111497EEB97EB22B0EF771700DB
-BA8A7AAA5A134C26A630D6D8366CEB5184AB0D1DA6BE411667F9FC170B12A10C
-5167F90F850A18510094F72AB13208EDC1B9BB957417EEA33361CD0F48A2BDF6
-C4413A148B37E61D0111652DBCA3438792CA7E67E710C1402DF0CB975A45DB20
-E112A29C258F825A5E336B49A54228EE9397208572AED7F441EA1AD34B5C334F
-910342EFC0771E267C15DB0B5C0AFBDB1D7C2160ADE2E7A2AC73210FC1D68DC6
-4B332262ED89477BB546F73CB9398FD0E96FB78FF4F8730E357CA67328F7CF92
-2687BB3E9916042A985691E3EA2BD13DA48BEC195727A1AD42A0A6DA32BF33FF
-2EE8CC601800CF6B96EBBAE80E7D5A620491D0F998285D8E85E0E667FF89133A
-0AE50AB2DA68BAFA49EF8C7AF907B7BE11345C105931412DA23870C7A8F8D4FE
-D5715F6B01F18B38FBDFD65E66B616AF01886AA873CB90D9EBD72F29EF4051CA
-60084E4DDBCE0E475BB98AFD60C4A64D720F6FD36DCACCB69A2BF746E3AC4DCD
-96FA2DF360C17F68B58D76629FFFD08FF769379730B41E55F848360A6A25523A
-9BF3ED4EAEAC7743C6F92AE6C2ED3F2F36707A629253067363BC4724719D93A8
-CE1C46E1E16293FF7E24C6CF39F971F53AA09B15244DE276F159690A6F369A9E
-6DE8E69F73D9C794A1C32B0B4B3EE7C58E2C72778AE32122560F9214D7F94942
-8C21D46E3ECB044BEE35934096FBBF009EF3030034AD7D84890A45F2B2970F5A
-9BA55007859A9FB0F6DCFA3E6564B9555E7F3063D46EEFFDD8854A94DE6950FA
-A3852226E010E7C0379C21B09868B6A7300D2772068A449712DD2EAB299108C3
-B4CCBA45E08C3695293739E89D8C3B5D1621F0816F0259C3B1DB4E74BB2D489E
-200BD7B7D5BF1C9A132B9BF451DF28CDAA438803E8656746A3D1C0654AFAB909
-177C1F016517C0B7065E98EE1B21B4D08B5FAA68D469C25EADAE718200A3A4D3
-385501BC72F5999C98F13889263BD5AFAAAF7402864E91363FC0F5C34082CD3D
-2CFC70FB2431CC4C259B9597C7D70FBD0D1FE2C9B6CC3D88073C7627B464BFB2
-9F7F42CE057622037E610FA518F506F9A81FCB940B91B873D0C834512CBF8E9D
-F02F9670E9B523DBDEE9B319995F9B1D612C7CFE4609A668225A975F550572AE
-B25499FFB57FBA86C6799B67B05FD3C9ACAA386CC947F07DD71317B94691AD93
-44530890931AB8249EFCE7659E2D69DBFCF047BA992FC5325B5703951587EC8E
-148DDFD28459AFEA56B72C7905E7415B02E5643C2550FA9D49EEF64D7630F05C
-185421C580BE9780B643330F5B0B0FB4C3712668E851BCDDF8662C5D6E35825C
-F643AE5455597B570D8B43466A748519E1A38C9A1225A92B2490D6993786B476
-E3498C00A1B29FAB050801813006E692EE98A9E1254BDA63D3E391AF186EB44A
-E50C37165E2A314912B9D630035A8FD0961AF29E694636AF4E8912AA9B107AD0
-7E0990A428D7CEB660040F74A48EECD7724F32EE33B5649B79B63D1AEA095CFC
-DFEAAFC8DB328130C261ECF940AAC676D2778FBC6ABB2365662AB1E8707FF091
-BD337B103CE2879D1FE0CDED25A3722D442C28F66BF52C9DE534863EA4BE362E
-8625B859735AF68193302D20887748A625C9B1E5456BEA215F216E5E0A86EE40
-DE4413B724FD9AA1FFE418EA2FC6B2368EFB217E93120F3008BE9029AE81C1AA
-ECE18F0C84758ADEEAF29D5CCF5BF879CAC196750FA5C559179F8A20FACE2C1A
-AB37A3BD510B2505F32CAED1CE7C0C6F095F56B9593D3493E860A4F0CD6BBE9B
-2D13ACE1EA583053B72A0D2245BC677898DE4C57BBAEDD2F2BC42D494B5B9E1C
-CF3C182450250CEF19774E0723A3CA9320FAB92560B8394A14E1FDE84F350470
-523DAD433BA8C476EB389786C089C85E261780CCC544067A82DE3E835EA6A13A
-3597DF92E35A80659FB03F193499D98C5E05D4C365922C20213EA0E713330E73
-F30E866B13FDC36B98557D17D670D016DCD4752F780DACE9CFF8C03FCC05770D
-604D19A74969F03C81E9FC0B04BB36215718C319E4C38D2109D28447A43586B8
-1D6966E885C0E844389595C0507FE8502DA8EF459817B1937114C50A0320EC0B
-653EC5693A2CD74A0BC34E8E8B576BFF7F0F191256A374E48B8B75048E9ED20F
-F5D9329E5706559E1100676A8150FAE9FDB210330605B0694EB2D5A04EAD712D
-7BAFDEADD782FDB478CBEE8A0175680DA713F8F3CD27E025E28D3E57F1EE98EE
-E5400A38A059B70E8F051B56E5B463028A25BE6D0C18ADD9B865F63011843572
-4AF0404EE430A98267B00EABA58D9D815657871D3505B506A64ED1A5EEFA47BB
-EBD1513B5400A69FA522C3E12272BB8215E235A397EDE80A59BD7D0C6CE5B369
-0430BAC269497F415A3613048C90423EB2D0CA0F128924D9546BB21BAC9A7263
-B0496520AC7264BB57570BD87EE56554078ADB66E9A61F2BF6FB52992694F753
-DEB205D221A9AD1E5FFE3B1E9AA3F3169313D71061E2464531A9BE1603C586DF
-FEDA27EF90425725CBF4D04B01D6BFC5CB04BBCB9F2FC458BC84242ACE858EEC
-FEA3E84675377F5E65D184B4B0D29983B9576C77518A858BD5C03EEAFCB70283
-764E379497F6D1D69AA0AA51BABEBF1C70D0E921E28ED71B2781C293A27F76DA
-E29775D9AE33DBDE9DE3E9E5E43344D472BBB568CDDE0F46F8BE2A2534033633
-0A47E91EDBDDA8714B7B6F258ED7E348ADA6C4FF9A7B5288A825A9C5BE1F7387
-F69CAA5DFFDA4BBD1DFE0911BD7F9FB09FD8E718D36B4A6DE8C41E538A79AFDA
-72E78F0B9301CD81EB671D7AD29C8B4511BC43D9A60E4F555AD27D65DFD23CC7
-C38A799ECB6A0290B39B4CC2EAEB3A0BE8AEF9E484071CD400A3D99BF2545558
-0B3580CE12AB5A32C37A9DB4394D6DA8A5F6607D0A9C3652F2CF59D06A6DD5BA
-4F96BFAA2CE3E8720712175978263BFD8B8E849D532DEBEC7D1C0252D428572C
-42B339DA0B93062B80AB251FB9E0FB7F759DFF33D0CD5AD743F01DDAC8C18EF2
-0B2CF667A27E3C56809374C598E8387DC401713C6547BF7BFE3B9B7BD9A33D4D
-DAF7F15CFEB827E03AF5C150C703723ADB29F75C64A7E15135F8094557BF2C29
-E4477CD3AB780729C2F43836EB677ECAC650997CD5C8CDD466D7E8D8DE20989D
-596BC11396831E0A4BECC03B9422952076F58401C8E176C2EA4996FD53DD7DD0
-2552D2B01D187C247D1320D65A18521DCD169684248C3ED5C8E3C076F40ED5A2
-A89C186EBCDEB9CDEA9395149D4770F54FDD5EA8FD0D5E210A3707E66395CE90
-48D92C1392141B28AB22C5ADDF1C65EC7D624299B5871E1291906496F69402AD
-2EBDF50ED9D8265A2278DE9137C897A9D833D997FE0812D2AB1413EF98973258
-041DAB207602E9A80CD8966F979603B9DABF0328705B82A3A655E287411E0747
-15DD264C707279A61AD80D26E79A1363C809888D6572B5AF2289898BF53A3766
-A677F2B52A88EC4C85CA29C4C5108B474F6197AAF7768A693E94EE8E7C20224F
-10973F20A6AE0A9B95ACA0F8DF17C67AD3EE91F6D5FA4320108B518FF7788CE6
-E55B0F40711B5B22440D38BC30C7A2E1FCF1C64A49DC41B9B91000145A9D6539
-E2049C050346151C73BA088284D412063A2B17E580BB210DCBFDF2648189C79C
-E36ACDA3F3A12467CF7BB342C58B66F1AD2AA969BD8778581D6358166ADD0FE0
-1315BBB40DC2761793E991527A8EAE6DAA487F8032A40820D6DE6A625DB18FBC
-8DBDFB020BC66094CD4EB6B6A649EFAD2AFB27E36330D8188281719EDAA4793E
-A15670CAD04900C16902498533D00AE717B55430112BC66062F587F1FE719BEF
-00F152A9D0B066E216FE610B04C0FDB04958C477C140ECA4F37C920F91AC9E29
-A58A13E1BC4F101DB4F776E8B4F54D21A82FAE329406F44A3725ABCA421A7986
-C49115F0C30F96C85F2BB60CF1A363411DB9A83CB266357E87D17267F211049D
-C1AFD3AED644AAA15AD3C123E9C04FB6F8D7877217C98B3CC2CDBFF5927E9408
-F24C8C1C3B5FBADD709AD5378F3E6D37B1C0E5D6C9FE40EAE648A77956DA6834
-FFAA626CA253BD0B9622EF7C65340577DEA4F17554B5BC386183A9DFA9B263C2
-9D896CC0F2EF0C875DD3DE74F5AC50A46F232E4CFDB918354A4AE0E06C1751F5
-0C0B2622CB9904CBB6612BE56B8AE2B2E2A98A5D048175585E7A3065DA672C8E
-3919DCAD8E892A1CE242853A138F1AEB814FBF075FBD3E5AC6334B88C801085E
-7BD1F7C1E42F2BDA4BC8D9E8D2A7C86E40A27E0EB178B4B290C8BAAE509E75D7
-02E12E798529D89F9F271F44A4D9D92FE0C18548D20FCA6486CAB8F262CF65D3
-D80596FDE8039CE6072B87C3D5E626F201FD89E09A9954C7DA544EFE474C2500
-033D61146A284C63EB1A865FE13BE932438EA2949292886176771083BAB18628
-B4804B4465FFD9A34531DC7E65E1D1F78ACAE918FBADB9B48C23A684DF747A65
-28CB9E3B57B509CC567A21FE00D1547CC918318A26825052175877EFB3EA7B34
-708F4AA76254ED84C3F8C1DBBB6C7799F87FBCE1F8F0CB42535F486901290C8A
-D345D08964FF40AE0AB35A4FFB32773BE84D4D1B9577A3C7D70717EE80B024F2
-9393E5CC42BFDD383B2EDC10F726AAB4F5281E23CCC40BB4CB7CEAEFE5B1F349
-3D46D86DF6611ED1FA3D47E2931974F145F9A67CB855EEC904386490A8C93A5B
-AF09BB88A01AA220988796FD9B974E89A5B59FAD2B3936F2A75F0E8DA5C03DD3
-88DCF0BFCA43901D4347DF18975703643F893E314796B25E5D1D41FFF2CA8108
-0B1181DB70155D6CC505C63A6D7DF7D533720BAFFA1E6E41F04CA7CF4EE530F8
-F46832C8A4B753533B5C9BB5C97BD82F799AE52B0272A33C4003934C899D96C7
-84A5471ADEB37FDEED8F00CA7BAA8AA063D37D48FDBB0067D260D20F7E842A73
-C32DBE9823F83A56D253AC120EEDB0F9B4DB879A8D620704DB2C99163FF100F1
-7FD8538F7A20506F4BD54CCD24D4E662089A1D3A0D5FF151C6192CDA664172D3
-9C1F20CFECBC0E4348BB5D88D0BF4BE72F07B9C0737641CEFB7DB6F285A1353D
-E6891A569402C12757284E9A93E1B77C1E58E7EF2837238EC0BCFFB06623FDD8
-9401CA0770F158702CEDA77E7D557019B03A5125372FFD5141582FED1023385B
-FD27A8B645DE6B779B92E9FEB6C3A02AB4DF19F3DC484D92E63CCE22FB733AD6
-3D55811FA3BDB8E2BCA5AAF2417E70FCB74ED6FB6C5B43F5F96A3019C48F9D3C
-CF5BEE959D5DD08C8694E3E8591434DC2F13992177B6F99FFF799A09623AA54D
-14CDB2BCE9FE62DF68DD01B9C2D91FD568A408613E013667BD5EE2B47383F85B
-DD54D1C8CF25652A5FC7B3803A5C6EAA15506746A44693CCDC4DC6A3E869E020
-D2FA893A63A719F0AFB8F9F8FD3C3FAA25CEFFD2E6F344F0D21FAA310161E928
-57C15E2C8118F4F8647B1872FBAFEB9741A58E8F45A4ADC38BAECBF8DDEB9F32
-E864D417366A6EFC734DD617CB13E191DE7FC92D554C0FEE8399FB580F3E9473
-E5DBCD1300EBA2DD843C95F0F62377BC064BE1046FC8E5B4F0466A7223242066
-83671470644C2F035B3FFE37CB6F58A61E527D63E043D60B8C515FA7E98AFEDC
-DD1866776CA51EFC576A53FCB0FD8448461576D55445122B9D0440FD285F8B94
-726A796E8B6ED4ABF5252C8E0D33497BB5FA6E9A07F81DA77586F094EED9FA9A
-24902FED4BB1CF856AC0C0CF9B930FA6164D569F2B4802EFF5B6527F8D7FFE93
-A907F9F7DF56AA4CC23125F165EEDB46AA8BD2ED6A8CF84745F9793A2293143C
-1A8C4F0998A7CD4433230F1271987D8CCC2F6640368240D7E6BFE8F8A9DAF521
-58C8D9E8914B4C7B9F2B2A72A885EDE3A71CC550053F5BF3457FD93534F88F9F
-239690925CA1785BE43B624A00FCFF123E43047951C51A000BB401C5E2FBBF77
-4F725632E6FC67C64E5ED6FA95DAF0687424F94EFCF97B72CFD6316F7A19CD58
-275E600EA4F13191DBE69745885C8EDFD206C5BB8769C8CF547F9549A22F0409
-3C638977CD2D9768F77D363F2D2112B1D0BC918CF84745F952D271B1CB156A83
-82AFA9670E4B3E66A9A45DBE756BEF66C7A29C8C89ADF7E3B766F16CEC8E1B99
-626BE9AE136A78E9A89A7D2D077C01E3DA1D316800F859028CF2A4689ADDF0C1
-009073513EB0306F6914A9178762E0E9E825211351C67E9B91A081771047639E
-516F6B12D01EDA4F967A91BCDBC67B55AA74C6FF54A2FBEB2F2C19CE76E3F173
-ED70166A1D912CBAB7882517ADB1B6216B8290D54D993C0B70E8AE167209A11E
-BBE4775288D61946C94882500832569AE45CBC885B8D6C537F4A6FA75DD447CB
-5AA2831D6EBB29F8F7CC7A29D8586AAB176E63142DE4A37720FD9E37F09E9741
-730A042FC35B5334D9C490C78C66BA3B91554A0706770595B05BBF4C86AA1BBA
-CD7A3D0AF0237F4268909EA00B16AD0FA8802ED22AEA1F697BFAB2708EE8EA22
-38501503DDE776A9C7273B8A0E3D7E7DD15C3D6267FB4F4799AFC48BC7024789
-B386CA202DE413F2E01ED03BD5D0D1D5B3FF99076B6CDAA89C7A0CCE0D09EC77
-06496B9A9C88C1EF3F824497A140962DE88FC229B82FBE3D07ABDA9E7E66547E
-DCD987D91056B64792C7DDA0BFAD81E91C36ADAE4F21D793087DF44D7F5DADCC
-34BBD2409E165C8FFA668956157C13FD6981AC63D88A49931A673E2C72CA9341
-5B3A0C51F4D612ACAFF37A71E728DFA18BC484EF8CC0F1494B19FE2677F6C8F7
-D5F7A91658577C9B816E76AFFD1F9E86E5891407B3FA4ED9FDD88E84ACFDD764
-42200A2FEF9831D9D3776B2573047B24CA4108E0A71F83110154ED1CFCB44DC3
-6D1ACC7FB2F695DD499FAE008A8CA7BFC5D599712B0010B739C5907AC069F871
-D278A21E252DE2E2CDB736729043213EF18F3A4148FB8FF037126E1FEBE67E84
-61CCAAA685669EB9E0CEA01FFD3BFF6D1716A45C6D45884D787D15B8D0C7F929
-C85FC6610BFD4B0C1A4A726755D485BC5A5A307E04C45635F05F6D74337A375F
-2B330E4675D3AA147431B66C116C996A27E5FEA04F14A62222EAEABB13FF733E
-878993645475F2F9BDE6B1E5AA2FD4E13EC030B98100C8908655D5053794C021
-A3DC2E11B77210BEA7D506940A2FDFD2F7D1CCFC294F6BA95D4BF986465C8B80
-78FBC93F860FEF5422B68E6A000D213F8A854B3036D5D60EFD339A0D501CA2B6
-6FB5D3F37A4F23F64F16DF01B3F31C1973E60ADAC1DA4963F6B3B58B0489E4B4
-1E6BAC48B17383C35082FF43720BA20CDFA532FFFB076F150B17EE8C58E27A9F
-2868143CCD8B2E0D8EAC1ED6F2EE3AC85C3A293F9548F69808B11D80EFE0AB09
-A13B1AE202B8F0E643802C2E2600464B4BEADA5A2F5575A128584AB509AE171B
-70E1F14482FD77BB899AC1AAF11140AFDC85CA54EFE21EC3DF261D166EC904CF
-1CF201EA05053A214F14A0AAAEBEE0B8D9B2E815458586B8DE99FB07FE1A4B73
-47C316490F891A7F76361447E54F909BB41A0E0B91E435B5F5E92E127AA84194
-B47B7F6425509DA2F2F11C3849545C1856F5F959B32E7C187B1C480F65FCC153
-65C65DF9EAD804820E3EA361753C0D48F7216A36DA1752EACF3FE5AAC9BC5B12
-8926175550DE59E0B4A3DC1B3A6B3DFA8EB9920C9AA36D3D53BC57D60EA2DB5D
-0081DF3BA8A699550EB2BBA928D6EA9ACB2AAE7033EB441C7ADD877FF4C4056F
-9FEAB3B7FAEFFAC4B10BB121F0AA248AA6D6F83CE3CC265E195DDD6151192697
-B98DAF4BF0ABC22E81C86AD2B6ECCDD888313570F3BC9FE76D45D1D536FDC2F2
-4F6F341B03AEA842255AFA6D1B2F643B01CCC1B368F0EF82A2D5D4A09384016B
-8E0C1C52B4F32DD75C0FC8E18E32C20F3C29331CFA8685FD411A22E076DC560F
-1F37DA4C6803B0048662E11FE614B41D3E7F9AACB14D2E8F145328E9D7A4D999
-81F9B8FE82B59F1D2EDA95461B5F6BADDA8500CDEB07B2F4EAF64018D8B4D853
-C7D1286E50183C5B6CEEC9ACFF02BEE65EE2C3AA6BBF38FA62941FEF3620648B
-678C8B29356256B7635C1437F04EFA6268A4678CCBBF9FF1787623730D2AD27D
-A5E76ACD0FF2ACB9A57361FCD7FE655B97D5C388BDD849952C9450ABA55A855A
-465FC9CAA2B9FF2AFC55478DDF9355299B0496E1F895701389CB90D27A193F81
-A0BCBE31662B78EB420BCD0FBA72D383885DF44B87D85B63F4D17FA5705537B4
-4351772E4C846FC0928672749A1A5D27D0514E3D197EBD10BD29874FF079B7E9
-D5DD1B5C9B785C0CB1C585A355503AF31274DD1B97A12D3520511595CC76E28A
-ADA3D43AEDE2C97F90B0D3B1883D4ADFAE6E70012AD1FF8BEA791841A2B85410
-F426114F35CB920437931E3CE0CF0EDBC80E18E5B0BE1E16E6DA2D5DB3870263
-A3AED0B0296E94BF491E435822092E0FF556B462F57466551E07308B7C2CC85B
-DBD324ACA2612B8C8D02952BEE23206D5D73F5F6E0104078E0B427A6731BB465
-BB277C0371FF4016B79729F4593CD57AD36182FE51DCBA880D48449E70221D45
-D7F515D8B8E6CFF2F40BBE8BB807644E4BFA8437A0C1E2A2594D2E81882A3746
-F4E9F3C905DCD2EDA8157E8C956A484BAB6C7EF3EFB95AA9F86711BDC576EA2D
-002BD2DD3DB45FA1C80914B94EA012C2CB326C77DE471FD8B5ED1536ED84E4FB
-DEBABDF2D3F4B18B891AF0E0A57F13CAF26EE0BBB8D21BA80FBEB00289B67319
-55A5945C06D71213B7124A9E7186E54480A1C8694AEBBF9D0059E49726D67806
-A8FF9002C645E86261AD11D3F46B6EEFDA628DDDF0BEC6DF72EF9B22437A13DA
-F95AF287799D7294BFE70C75C5136E1C70C7A1CA16E5F9855C9C0DBB15CD65CC
-4A74AE8942F3F5C1D5F41F8DCB963E0E814F3A97CF00E05D5ADF12145AA3E7BE
-794BA735866995F227544E229DD4C900222E9D9F76FDDC7FC8DB78AA79D1378F
-EB4593630F615DF51A859B888FDFF02BBFD06E59DD8B7F7AF0FBA98A022DB451
-158AC56D26F54ACE8943F7A49B33E848AAC6E330EA816459157EA1474477AFBF
-EB0F3EBFD6B9B1C79D4EB28E9C64CC0F14C004D504FAE72AB3AC97DBC574DAE5
-E511261192E63D5FD3188FC846F0D899DD8EA0D0D1D35943FF562B76BEE74CF0
-A141E1B48FF9F8107647EC1814D76D9826B0554CDD8C99CB4F39BDCACFD715B1
-ECA8991E4232C9B5C4C01B72F39C79B2FB6659C7BB459B3F3935CF0908431000
-15126287A7B0CEBC255125E72F22B3EFBDE6208029DA674CC5B805DFFD61F863
-62AA7FCA523F0713782772B1F4C44C50ABAD90E92325BC01DEF9E147256680FC
-0B3463651C415183F0A9D76195F81B73A5E829D58B52C7BBA1BB06CA92943388
-8E18E712115060705EF4B86BEE5898AF1A9927C389F0EB5C9F53E531A1F9302B
-2B7AD17FC6D154411DA4E54164A1D4976BB9C452449967E2D0051A642B47B850
-DC7BA8C09C499FF9CAD8420F01AA14162650DC233B6F93C11033CBC329FE027D
-9B37E958ABBE20D125147AA619051DCFCEF5DACF1FAB212B4E44D6CCA29127F1
-84FA5AFF25692CF492033F6DBAB9E536D5C18F23A534CF0406CE7AA0A8CE9E23
-9F8489436C42D36DDA54854ECD5FBE5EA7F5AEE98D06929555F96764F8F5D7C9
-EAD05AA2CDE772F2F45674917E8E21503E79A3C5191E68ED2A98554EE01F4BC6
-C5C3B2CE2E6A9F88534DD7DEEED8E2AC345A9C44C40EB676706202C041EA7864
-35C27C4B153FEE4862F1653C77BF7B8FEE2ADA8DCDA824060C8933045D8D9E63
-F0F69CD7A6F954B0A9E85F7C138F8FD486D92584FFBC38E223EF5FD4558D84EC
-A8127E7B22FF5E075AD73AAB4000E2E53B54F8D9DDD43C7573F9F42EE6858457
-35149769ED212071BB9202245FB7FF304B60B403EBF1BAA6B6285C0B591D292E
-1C4060AE684965F5EEFE270D5B6623FDE667EF39907FCA5DBA2C582847DED443
-3D1DF10CA8EC1B5F70062BEC4A7925056C036E87186EF573113C38E31615BBF5
-4BCE545B61A6A5D8F42F4E0087D881623F128B5FDA6E8EB090A075AA7A8CF33D
-280AB71D5C139984ABA00A1E5238628F14DD018464715A98211662E4FC3FC817
-E741D8978F6E1DBDA5ABB133F58254941C5F35EA5266365F0460CB1ADAA61900
-6638FDFFEB15F269F5E6198DE6EB0273C9E67127511337A4CDCA33CF19E12C45
-E19C2957DCAD8BD625D8A2EC7E8062E3971CF64473E5E262F779707FAFF1B434
-38B22B4C2FC302CBA5FB6700745EEB2403C529A05BB341F3AF07C12677955E35
-BE7BC991BEF2B24F3BC4A0AEBAB6F84DB8F9D91327C68041799BE1CE104170BE
-7F87650DAC79B191EE15E2A4BD69E67D092A69F6C1899172E3CD6BD8BB751A3E
-E9E7340FAF30B562A57521F66BB47ADA29E6D419630F6C725D3594A9B2F91AA3
-9FA79D321AA64EDAC6755E67C0BF440A7F1EB5F19AC5BC90AA89E71776022738
-492FDA1C935EB8004D49F83F792D9B525E8F078D2B2A3CFE1E9641D862620043
-2DEB1D9A94CDD4B6519F0D5C05FC0A0D88CA37D2254CAD25EBD6A6D2EE55F29A
-9AA6DC6D4078D2709678F2EE30A1B1856F19B5B174B9E24D58C49B4F97F9DB66
-3FEAF8DC4B6D19B6D80046ECFF48E9169E3EAD0894A8B4BDF9B9AF20DE83F28A
-814B160E37C765A8987B8EF501B84F0F05D853A56031A6C258804A4AB72E9BF8
-5C4F3751355F4F3C087FE2D739C9D564C5AF2189609C042F745E807533C4CCED
-891ACFA4DA4D65712275BA5024F81265A589BF19F3606873D0A43DAA91152390
-67AB6335E3198AE7759EEC131B284E57F970F6E95321BD0195693927BE46FB7A
-F930D37730D31F284FF9223A775B4DCEC39CC2418EAB831727F61956D25C870A
-83D3631DEC6DAB6E69BE84A2CA4DA29750E29B37DD1B9C0F4349C2A36578EE47
-8807A83BCF7931787AAAA5159880375FC0734BF290C1F206C90A1BB218121E51
-3ED345B406AB7B3571857135A36DF0C0B344D528CC6BE4A0AF9B6E8B0FBEE5F9
-3E6D1BBA29BDA06F63249087364D81063D085F4576A59955857428B801AAFD35
-85DABF6BD4E7929A26B5500888C9AADB025327DA99948D556DA48E8CE04B5988
-93401AC69CC6B9E1F08762D33249EF3F938E4771772C1D5A6801DB956A12E409
-EC8BAEAEBC8492175CD184AAF63CF1AE1EBD5142FCD911158859B7210D3D8DDA
-748AAB8B28DBD425EB4F4C84BF25D767A1A52D19F4940B8E47F6E375A900EF9B
-09838CD5763E2625399CD9ECA79BBA35473289091BE60159B19F361E690EEBD9
-01CD36E1A6E6B5267C70E0485437C3CDAD6BD9FC4B8B8D29DA28A730DBBC738B
-751611DA36BD7562E2EF5F8239C403EB5DC2817CFD8F84715203327671419E36
-A04F0D543A66BDDC54ACEF5799D316DA2B1285241FA69E34E795151073557908
-FD230207545DE1FB62725C6E900E7D33F0E897AE58DA0CF3127AD87618E5B8AF
-F45BA9D7E01711F648C7029AD181008B6CAE78861BF37BEE4B2062672AD87958
-9F0FA57635E376CFC12CCF17C18750339FA058AF585533BDF66752C4EBEBE153
-9F0A815B6D4D30C3C64D4C91FF36FEF4993EFF26CF08D366D8D95E8FE3F15613
-5586338DADA5F9295967E81DE02E184329B8DADCD5D9D472538EE4A43CAFEBF1
-E31165E8915707AB8C002F3D947B794EC3880E6251D9B6898B3B6179117B12BF
-F49A615D657E38A25F7E2DE9A88FE8CA9526C35D0C156C30ED9712EE873951B1
-1181F197F9952C64214411F2AD9D96DE3E508108B6BC355B5FF2B65ADA08A3D7
-F27A2EBA663712EB49866414EEB2BC397EB6D65BF5341A77B1FF16261B06C7D0
-1842499BD48B0916CF918D4B3A4E73C20DBCE89B6660FDE6FD044B8D6FD83156
-1425FE1F267C4C623B6254AFBDD2EE08D021A31DC240F17DB6D911909784D042
-0EC0D12D743F356D8C3FF8BCDF9CBD49B512B17C3E9653CCA83DE38AF374FA0F
-0827682E347D6A9205BA611B8625EC227568F823C87BEA48AB2727FD690A1503
-C9B4E16AE489008F88670793F6059A72ABF86B79DBE72D34F2B6EE0208FA57EB
-922F1A9351B2F02F569E9BFD5261B8CDDDE3E9722FE0741F99DEE0C873259022
-A6C8090822540359E56D3D077E615A7222B7593854BF0414ED729295DA8E61F0
-71F646371F6B7C628F7C12DD12D9825146BB2A8CD8A82987CACE36FAEAFC6861
-A0A6B5045084ACD039FAC09273A3619DC9D3F16EA3AC87BC865A682926B5AEDD
-57BD20A479BB6706FDF90823E1536F0BC3EAA621161CDEBAB7FA3562C08BF94C
-84A89E4472FFE3DB47D01C301644C345CCB43EBC8C7B9FB4F2723BE4C987C8B9
-10769B0553B96492D2F74A321A4D47D5C733A013F73AD2EBCAAD97EA4EE92848
-84F92E32EB6BF7C59440A380CFFD4E30B660716D804C3FB1E544DA5C9DCBA601
-5F26A44F20E401CFB0746315086883F2325373E33C71D9838A14705FA3C13639
-07651B9888E9E5306ABDE3A5BB17D982C9859635B91EB8A73B5F710C42E47A7C
-B677E5A77F9055350E1F54860232129E59C7F4C43A7E654F8001F91D205B88A4
-AD8C52DAEA28839F8B184D16207838FECA138105416CB2EF52E0D9C012110677
-DE8042420F848095C493995E2B60C009451FAB89CE596A87664502C9C370A724
-6C22FCC9208B1C8D974BB2611E3FBCF5049D1B2A807437DD1B1FFC6722380717
-C961981C6D853285C53D952CFBE303883867626435463D68C9A75E270FD9062C
-DABBD7C71FCF0CE304816C18FD36D740CE9D33E494A3C5A03E432D41718F81DF
-DE593767E3AA960F389106A77B879FF83476801D85BD76B3B92FBB043BA08E44
-ACD961F68BB3B1EFF42733096D7DE08722DC82396B643805AF7B3FAAE39D9BAF
-75A78EB9D037B6B59776934A07CF3D4CC1FFAF8A26D8DF3E04A5A8770140DCAD
-55957D53DFE2AFCDF6D21770704D62AD6DD87313BDCB753BABDB9B967264AC73
-0373619883ABBDB392C943437E552031441558C80F44F487B3B0496DE7E60B61
-C79C8A80
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
TeXDict begin 40258431 52099146 1000 600 600 (history.dvi)
-@start /Fa 209[24 46[{}1 74.7198 /CMTI9 rf /Fb 134[41
+@start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 134[41
41 1[41 1[30 30 30 1[43 38 43 4[21 43 38 1[34 43 34 1[38
-13[43 10[58 14[38 38 38 38 38 3[38 38 48[{}25 74.7198
-/CMR9 rf /Fc 134[39 3[39 39 39 39 2[39 39 39 39 2[39
-39 2[39 3[39 97[{}13 74.7198 /CMSLTT10 rf /Fd 130[39
+13[43 10[58 14[38 38 38 38 38 3[38 49[{}24 74.7198 /CMR9
+rf /Fc 134[39 3[39 39 39 39 2[39 39 39 39 2[39 39 2[39
+3[39 97[{}13 74.7198 /CMSLTT10 rf /Fd 167[62 3[60 46
+2[57 1[62 76 52 1[43 1[62 65 54 1[63 60 67[{}13 83.022
+/CMR10 rf /Fe 130[39 39 39 39 39 39 39 39 39 39 39 39
+39 39 39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 39
+39 1[39 39 39 1[39 2[39 39 39 39 39 1[39 1[39 1[39 2[39
+39 39 39 39 39 39 39 39 2[39 39 39 39 39 3[39 1[39 39
39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
-1[39 39 39 39 39 39 39 39 39 39 39 1[39 39 39 1[39 2[39
-39 39 39 39 1[39 1[39 1[39 2[39 39 39 39 39 39 39 39
-39 2[39 39 39 39 39 3[39 1[39 1[39 39 39 39 39 39 39
-39 39 39 39 39 39 39 39 39 39 39 33[{}76 74.7198 /CMTT9
-rf /Fe 214[35 35 40[{}2 90.9091 /CMSS10 rf /Ff 133[51
-60 60 83 60 64 45 45 47 60 64 57 64 95 32 60 1[32 64
-57 35 53 64 51 64 56 83[64 64 12[{}27 99.6264 /CMBX10
-rf /Fg 137[52 52 52 52 52 2[52 52 52 52 2[52 52 1[52
-52 52 52 52 52 1[52 5[52 4[52 52 52 2[52 52 4[52 52 2[52
-3[52 22[52 42[{}29 99.6264 /CMTT10 rf /Fh 134[48 48 48
-1[48 48 48 48 2[48 48 1[48 2[48 1[48 48 48 48 49[48 48
-49[{}17 90.9091 /CMSLTT10 rf /Fi 133[55 65 65 1[65 68
-48 48 50 1[68 61 68 102 34 2[34 68 61 37 56 68 55 68
-60 9[127 3[68 5[116 74 2[46 96 1[77 81 94 2[93 9[61 61
-61 61 61 61 61 2[34 33[68 12[{}41 109.091 /CMBX12 rf
-/Fj 134[48 48 66 48 51 35 36 36 48 51 45 51 76 25 2[25
-51 45 28 40 51 40 1[45 3[25 1[25 40[45 45 6[45 29[51
-53 11[{}29 90.9091 /CMSL10 rf /Fk 135[56 2[56 54 42 2[51
-1[56 68 47 1[39 27 56 58 49 1[57 54 1[56 97[{}16 90.9091
-/CMCSC10 rf /Fl 209[28 46[{}1 90.9091 /CMTI10 rf /Fm
-209[43 46[{}1 119.552 /CMBXTI10 rf /Fn 134[85 85 117
-85 90 63 64 66 1[90 81 90 134 45 2[45 90 81 49 74 90
-72 90 78 10[122 124 112 3[110 1[126 1[97 2[60 126 127
-101 1[124 117 115 122 14[81 81 49[{}38 143.462 /CMBX12
-rf /Fo 242[91 13[{}1 90.9091 /CMSY10 rf /Fp 134[71 71
-97 71 75 52 53 55 1[75 67 75 112 37 2[37 75 67 41 61
-75 60 75 65 9[139 102 103 1[75 100 1[92 1[105 128 81
-2[50 105 106 85 88 103 97 96 102 6[37 67 3[67 67 67 67
-67 67 1[37 1[37 44[{}50 119.552 /CMBX12 rf /Fq 129[48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 1[48 48 48 48 48 48 48 48 48 1[48 48 48 48 48 1[48
-3[48 48 48 48 1[48 48 48 1[48 2[48 48 48 48 48 48 2[48
-1[48 48 48 48 48 48 7[48 48 48 48 48 48 48 48 48 48 48
-1[48 48 48 48 48 48 33[{}73 90.9091 /CMTT10 rf /Fr 131[91
-45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28
-25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93
-68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62
-69 66 64 68 5[25 25 45 45 45 45 45 45 45 45 45 45 45
-25 30 25 2[35 35 25 4[45 19[76 51 51 53 11[{}82 90.9091
-/CMR10 rf /Fs 134[102 4[75 76 79 2[97 5[54 6[108 94 11[149
-6[151 1[116 3[151 152 71[{}13 172.154 /CMBX12 rf end
+33[{}77 74.7198 /CMTT9 rf /Ff 214[35 35 40[{}2 90.9091
+/CMSS10 rf /Fg 133[52 52 52 52 52 52 52 52 52 52 52 52
+52 52 52 52 1[52 52 52 52 52 52 52 52 52 1[52 5[52 4[52
+52 52 2[52 52 4[52 52 2[52 3[52 22[52 42[{}37 99.6264
+/CMTT10 rf /Fh 134[48 48 48 1[48 48 48 48 2[48 48 1[48
+2[48 1[48 48 48 48 49[48 48 49[{}17 90.9091 /CMSLTT10
+rf /Fi 133[55 65 65 1[65 68 48 48 50 1[68 61 68 102 34
+2[34 68 61 37 56 68 55 68 60 9[127 3[68 5[116 74 2[46
+96 1[77 81 94 2[93 9[61 61 61 61 61 61 61 2[34 33[68
+12[{}41 109.091 /CMBX12 rf /Fj 134[48 48 66 48 51 35
+36 36 48 51 45 51 76 25 2[25 51 45 28 40 51 40 1[45 3[25
+1[25 1[68 4[66 51 67 2[71 68 4[33 68 2[62 3[68 14[45
+45 4[25 1[45 29[51 53 11[{}40 90.9091 /CMSL10 rf /Fk
+138[56 1[42 4[56 4[27 1[58 3[54 1[56 97[{}7 90.9091 /CMCSC10
+rf /Fl 197[25 58[{}1 90.9091 /CMMI10 rf /Fm 197[33 58[{}1
+119.552 /CMMI12 rf /Fn 134[85 85 117 85 90 63 64 66 1[90
+81 90 134 45 2[45 90 81 49 74 90 72 90 78 10[122 124
+112 3[110 1[126 1[97 2[60 126 127 101 1[124 117 115 122
+14[81 81 49[{}38 143.462 /CMBX12 rf /Fo 242[91 13[{}1
+90.9091 /CMSY10 rf /Fp 134[71 71 97 71 75 52 53 55 1[75
+67 75 112 37 2[37 75 67 41 61 75 60 75 65 9[139 102 103
+1[75 100 1[92 1[105 128 81 2[50 105 106 85 88 103 97
+96 102 6[37 4[67 67 67 67 67 67 1[37 1[37 44[{}49 119.552
+/CMBX12 rf /Fq 129[48 48 48 48 48 48 1[48 48 48 48 48
+48 1[48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 1[48
+48 48 48 48 1[48 3[48 48 48 48 1[48 48 48 1[48 2[48 48
+48 48 48 48 2[48 1[48 48 48 48 48 48 7[48 48 48 48 48
+48 1[48 48 48 48 1[48 48 48 48 48 48 33[{}70 90.9091
+/CMTT10 rf /Fr 131[91 45 40 48 48 66 48 51 35 36 36 48
+51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25
+45 25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71
+47 33 68 71 59 62 69 66 64 68 5[25 25 45 45 45 45 45
+45 45 45 45 45 45 25 30 25 2[35 35 25 4[45 19[76 51 51
+53 11[{}82 90.9091 /CMR10 rf /Fs 134[102 4[75 76 79 2[97
+5[54 6[108 94 11[149 6[151 1[116 3[151 152 71[{}13 172.154
+/CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
@@ -3450,18 +3208,18 @@ letter
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fs(GNU)65 b(History)h(Library)p
-150 1418 3600 34 v 1920 1515 a Fr(Edition)31 b(6.0,)h(for)e
-Fq(History)e(Library)h Fr(V)-8 b(ersion)31 b(6.0.)3217
-1623 y(Octob)s(er)f(2008)150 4935 y Fp(Chet)45 b(Ramey)-11
+150 1418 3600 34 v 1920 1515 a Fr(Edition)31 b(6.1,)h(for)e
+Fq(History)e(Library)h Fr(V)-8 b(ersion)31 b(6.1.)3217
+1623 y(Octob)s(er)f(2009)150 4935 y Fp(Chet)45 b(Ramey)-11
b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)
-11 b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
-TeXDict begin 2 1 bop 150 3024 a Fr(This)35 b(do)s(cumen)m(t)g(describ)
-s(es)g(the)h(GNU)h(History)f(library)f(\(v)m(ersion)i(6.0,)h(28)f
-(Octob)s(er)f(2008\),)j(a)d(pro-)150 3133 y(gramming)23
-b(to)s(ol)g(that)g(pro)m(vides)f(a)h(consisten)m(t)h(user)d(in)m
-(terface)j(for)e(recalling)i(lines)f(of)f(previously)g(t)m(yp)s(ed)150
+TeXDict begin 2 1 bop 150 3024 a Fr(This)23 b(do)s(cumen)m(t)g(describ)
+s(es)g(the)h(GNU)g(History)h(library)e(\(v)m(ersion)h(6.1,)j(9)d(Octob)
+s(er)f(2009\),)28 b(a)c(program-)150 3133 y(ming)38 b(to)s(ol)h(that)f
+(pro)m(vides)g(a)g(consisten)m(t)i(user)d(in)m(terface)i(for)f
+(recalling)h(lines)g(of)f(previously)f(t)m(yp)s(ed)150
3243 y(input.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577
3377 y Fo(\015)30 b Fr(1988{2009)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h
(F)-8 b(oundation,)31 b(Inc.)150 3512 y(P)m(ermission)h(is)h(gran)m
@@ -3472,7 +3230,7 @@ b(to)s(ol)g(that)g(pro)m(vides)f(a)h(consisten)m(t)h(user)d(in)m
(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s
(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
-b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -3493,193 +3251,202 @@ eop end
%%Page: -1 3
TeXDict begin -1 2 bop 3725 -116 a Fr(i)150 299 y Fn(T)-13
b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fp(1)135 b(Using)45
-b(History)h(In)l(teractiv)l(ely)18 b Fm(.)23 b(.)c(.)g(.)h(.)f(.)h(.)f
-(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)63 b Fp(1)449
-778 y Fr(1.1)92 b(History)31 b(Expansion)9 b Fl(.)15
-b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)39 b Fr(1)748 888 y(1.1.1)93 b(Ev)m(en)m(t)31
-b(Designators)25 b Fl(.)15 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)54 b Fr(1)748 997 y(1.1.2)93 b(W)-8 b(ord)30 b(Designators)9
-b Fl(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)39
-b Fr(1)748 1107 y(1.1.3)93 b(Mo)s(di\014ers)9 b Fl(.)14
-b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
-g(.)g(.)g(.)38 b Fr(2)150 1349 y Fp(2)135 b(Programming)46
-b(with)f(GNU)g(History)33 b Fm(.)19 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
-(.)f(.)76 b Fp(4)449 1486 y Fr(2.1)92 b(In)m(tro)s(duction)30
-b(to)h(History)19 b Fl(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)49 b Fr(4)449 1596 y(2.2)92 b(History)31
-b(Storage)25 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Fr(4)449
-1705 y(2.3)92 b(History)31 b(F)-8 b(unctions)24 b Fl(.)15
-b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)53 b Fr(5)748 1815 y(2.3.1)93 b(Initializing)32
-b(History)f(and)e(State)j(Managemen)m(t)f Fl(.)15 b(.)g(.)g(.)g(.)g(.)g
-(.)59 b Fr(5)748 1924 y(2.3.2)93 b(History)31 b(List)f(Managemen)m(t)h
-Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)h(.)f(.)58 b Fr(5)748 2034 y(2.3.3)93
-b(Information)30 b(Ab)s(out)g(the)g(History)h(List)23
-b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)52
-b Fr(6)748 2144 y(2.3.4)93 b(Mo)m(ving)31 b(Around)e(the)i(History)g
-(List)21 b Fl(.)15 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)51 b Fr(6)748 2253 y(2.3.5)93 b(Searc)m(hing)30
-b(the)h(History)g(List)15 b Fl(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)44
-b Fr(7)748 2363 y(2.3.6)93 b(Managing)31 b(the)g(History)g(File)11
-b Fl(.)16 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)41 b Fr(7)748 2472 y(2.3.7)93
-b(History)31 b(Expansion)18 b Fl(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)48 b Fr(8)449 2582 y(2.4)92 b(History)31 b(V)-8
-b(ariables)12 b Fl(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)42 b Fr(9)449
-2692 y(2.5)92 b(History)31 b(Programming)f(Example)13
-b Fl(.)j(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)42 b Fr(10)150 2934
-y Fp(App)t(endix)i(A)99 b(GNU)46 b(F)-11 b(ree)44 b(Do)t(cumen)l
-(tation)j(License)456 3067 y Fm(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
-(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)
-h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)82
-b Fp(12)150 3337 y(App)t(endix)44 b(B)105 b(Concept)46
-b(Index)16 b Fm(.)j(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
-(.)f(.)h(.)f(.)61 b Fp(19)150 3606 y(App)t(endix)44 b(C)104
-b(F)-11 b(unction)44 b(and)h(V)-11 b(ariable)46 b(Index)13
-b Fm(.)19 b(.)g(.)h(.)f(.)58 b Fp(20)p eop end
+b(History)h(In)l(teractiv)l(ely)25 b Fm(:)d(:)d(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)69 b Fp(1)275
+778 y Fr(1.1)92 b(History)31 b(Expansion)26 b Fl(:)15
+b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)57 b Fr(1)399 888
+y(1.1.1)93 b(Ev)m(en)m(t)31 b(Designators)15 b Fl(:)j(:)d(:)g(:)h(:)f
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)46 b Fr(1)399 997 y(1.1.2)93 b(W)-8 b(ord)31 b(Designators)22
+b Fl(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Fr(2)399 1107 y(1.1.3)93
+b(Mo)s(di\014ers)12 b Fl(:)j(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)42 b Fr(2)150 1349 y Fp(2)135 b(Programming)46
+b(with)f(GNU)g(History)35 b Fm(:)20 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
+(:)h(:)f(:)g(:)79 b Fp(4)275 1486 y Fr(2.1)92 b(In)m(tro)s(duction)30
+b(to)h(History)10 b Fl(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)40 b
+Fr(4)275 1596 y(2.2)92 b(History)31 b(Storage)24 b Fl(:)16
+b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)54 b
+Fr(4)275 1705 y(2.3)92 b(History)31 b(F)-8 b(unctions)20
+b Fl(:)c(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Fr(5)399
+1815 y(2.3.1)93 b(Initializing)32 b(History)f(and)f(State)h(Managemen)m
+(t)11 b Fl(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)41 b Fr(5)399 1924 y(2.3.2)93 b(History)31
+b(List)f(Managemen)m(t)11 b Fl(:)18 b(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Fr(5)399 2034 y(2.3.3)93
+b(Information)30 b(Ab)s(out)g(the)g(History)h(List)13
+b Fl(:)k(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)44 b Fr(6)399 2144 y(2.3.4)93
+b(Mo)m(ving)32 b(Around)d(the)h(History)h(List)16 b Fl(:)g(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)h(:)f(:)46 b Fr(6)399 2253 y(2.3.5)93 b(Searc)m(hing)31
+b(the)f(History)h(List)17 b Fl(:)f(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)47 b Fr(7)399 2363 y(2.3.6)93 b(Managing)32
+b(the)e(History)h(File)14 b Fl(:)j(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)44 b Fr(7)399 2472 y(2.3.7)93 b(History)31
+b(Expansion)10 b Fl(:)k(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40 b Fr(8)275
+2582 y(2.4)92 b(History)31 b(V)-8 b(ariables)11 b Fl(:)16
+b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41 b Fr(8)275
+2692 y(2.5)92 b(History)31 b(Programming)f(Example)16
+b Fl(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46
+b Fr(9)150 2934 y Fp(App)t(endix)e(A)160 b(GNU)45 b(F)-11
+b(ree)45 b(Do)t(cumen)l(tation)h(License)446 3067 y Fm(:)20
+b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)72 b
+Fp(12)150 3337 y(App)t(endix)44 b(B)166 b(Concept)45
+b(Index)24 b Fm(:)19 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)68 b Fp(20)150 3606 y(App)t(endix)44
+b(C)165 b(F)-11 b(unction)44 b(and)g(V)-11 b(ariable)46
+b(Index)34 b Fm(:)19 b(:)h(:)f(:)79 b Fp(21)p eop end
%%Page: 1 4
TeXDict begin 1 3 bop 150 -116 a Fr(Chapter)30 b(1:)41
b(Using)30 b(History)h(In)m(teractiv)m(ely)2016 b(1)150
-299 y Fn(1)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)275
-562 y Fr(This)32 b(c)m(hapter)i(describ)s(es)e(ho)m(w)h(to)h(use)f(the)
-g Fk(gnu)g Fr(History)h(Library)e(in)m(teractiv)m(ely)-8
-b(,)37 b(from)c(a)h(user's)150 672 y(standp)s(oin)m(t.)76
+299 y Fn(1)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)150
+613 y Fr(This)42 b(c)m(hapter)h(describ)s(es)f(ho)m(w)g(to)h(use)g(the)
+f Fk(gnu)h Fr(History)g(Library)e(in)m(teractiv)m(ely)-8
+b(,)50 b(from)42 b(a)h(user's)150 722 y(standp)s(oin)m(t.)76
b(It)42 b(should)f(b)s(e)h(considered)g(a)g(user's)g(guide.)76
b(F)-8 b(or)43 b(information)f(on)g(using)g(the)g Fk(gnu)150
-781 y Fr(History)36 b(Library)e(in)h(y)m(our)f(o)m(wn)i(programs,)g
+832 y Fr(History)36 b(Library)e(in)h(y)m(our)f(o)m(wn)i(programs,)g
(see)f(Chapter)g(2)g([Programming)g(with)g(GNU)h(History],)150
-891 y(page)31 b(4.)150 1172 y Fp(1.1)68 b(History)46
-b(Expansion)275 1426 y Fr(The)35 b(History)h(library)f(pro)m(vides)h(a)
-g(history)f(expansion)h(feature)g(that)g(is)g(similar)g(to)g(the)g
-(history)150 1536 y(expansion)22 b(pro)m(vided)f(b)m(y)h
-Fq(csh)p Fr(.)37 b(This)22 b(section)h(describ)s(es)e(the)h(syn)m(tax)h
-(used)e(to)h(manipulate)h(the)f(history)150 1645 y(information.)275
-1789 y(History)31 b(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g
-(the)h(history)f(list)h(in)m(to)g(the)g(input)f(stream,)h(making)150
-1899 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
+941 y(page)31 b(4.)150 1214 y Fp(1.1)68 b(History)46
+b(Expansion)150 1373 y Fr(The)f(History)h(library)e(pro)m(vides)i(a)f
+(history)g(expansion)g(feature)h(that)g(is)f(similar)h(to)g(the)f
+(history)150 1483 y(expansion)g(pro)m(vided)f(b)m(y)h
+Fq(csh)p Fr(.)83 b(This)44 b(section)i(describ)s(es)e(the)h(syn)m(tax)h
+(used)e(to)i(manipulate)f(the)150 1592 y(history)30 b(information.)275
+1753 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h
+(history)f(list)h(in)m(to)g(the)g(input)f(stream,)h(making)150
+1863 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
m(ts)f(to)h(a)g(previous)f(command)g(in)m(to)i(the)e(curren)m(t)150
-2009 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
-(quic)m(kly)-8 b(.)275 2153 y(History)37 b(expansion)f(tak)m(es)i
+1973 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
+(quic)m(kly)-8 b(.)275 2134 y(History)37 b(expansion)f(tak)m(es)i
(place)g(in)e(t)m(w)m(o)i(parts.)59 b(The)36 b(\014rst)g(is)h(to)g
-(determine)g(whic)m(h)f(line)h(from)150 2262 y(the)42
+(determine)g(whic)m(h)f(line)h(from)150 2243 y(the)42
b(history)f(list)h(should)e(b)s(e)h(used)f(during)g(substitution.)74
b(The)40 b(second)i(is)f(to)h(select)h(p)s(ortions)e(of)150
-2372 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f
+2353 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f
(one.)42 b(The)30 b(line)h(selected)h(from)e(the)h(history)f(is)h
-(called)h(the)150 2481 y Fj(ev)m(en)m(t)p Fr(,)e(and)c(the)i(p)s
+(called)h(the)150 2462 y Fj(ev)m(en)m(t)p Fr(,)e(and)c(the)i(p)s
(ortions)e(of)i(that)f(line)h(that)g(are)f(acted)i(up)s(on)c(are)j
(called)g Fj(w)m(ords)p Fr(.)39 b(V)-8 b(arious)28 b
-Fj(mo)s(di\014ers)150 2591 y Fr(are)33 b(a)m(v)-5 b(ailable)36
+Fj(mo)s(di\014ers)150 2572 y Fr(are)33 b(a)m(v)-5 b(ailable)36
b(to)d(manipulate)h(the)f(selected)h(w)m(ords.)48 b(The)32
b(line)i(is)f(brok)m(en)f(in)m(to)i(w)m(ords)f(in)f(the)i(same)150
-2701 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g
+2682 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g
(w)m(ords)e(surrounded)e(b)m(y)j(quotes)g(are)g(considered)g(one)g(w)m
-(ord.)150 2810 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m
+(ord.)150 2791 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m
(y)h(the)g(app)s(earance)g(of)g(the)g(history)f(expansion)h(c)m
-(haracter,)150 2920 y(whic)m(h)30 b(is)h(`)p Fq(!)p Fr(')f(b)m(y)g
-(default.)150 3163 y Fi(1.1.1)63 b(Ev)m(en)m(t)39 b(Designators)275
-3417 y Fr(An)30 b(ev)m(en)m(t)h(designator)h(is)e(a)h(reference)g(to)g
-(a)f(command)h(line)f(en)m(try)h(in)f(the)h(history)f(list.)150
-3591 y Fq(!)432 b Fr(Start)34 b(a)f(history)h(substitution,)g(except)g
+(haracter,)150 2901 y(whic)m(h)30 b(is)h(`)p Fq(!)p Fr(')f(b)m(y)g
+(default.)150 3126 y Fi(1.1.1)63 b(Ev)m(en)m(t)39 b(Designators)150
+3273 y Fr(An)30 b(ev)m(en)m(t)i(designator)f(is)f(a)h(reference)g(to)g
+(a)g(command)f(line)h(en)m(try)f(in)g(the)h(history)f(list.)150
+3473 y Fq(!)432 b Fr(Start)34 b(a)f(history)h(substitution,)g(except)g
(when)f(follo)m(w)m(ed)i(b)m(y)e(a)h(space,)h(tab,)f(the)g(end)f(of)630
-3701 y(the)e(line,)g(or)f(`)p Fq(=)p Fr('.)150 3870 y
+3582 y(the)e(line,)g(or)f(`)p Fq(=)p Fr('.)150 3768 y
Fq(!)p Fh(n)384 b Fr(Refer)30 b(to)i(command)e(line)g
-Fj(n)p Fr(.)150 4039 y Fq(!-)p Fh(n)336 b Fr(Refer)30
+Fj(n)p Fr(.)150 3954 y Fq(!-)p Fh(n)336 b Fr(Refer)30
b(to)i(the)e(command)g Fj(n)g Fr(lines)h(bac)m(k.)150
-4208 y Fq(!!)384 b Fr(Refer)30 b(to)i(the)e(previous)g(command.)40
+4140 y Fq(!!)384 b Fr(Refer)30 b(to)i(the)e(previous)g(command.)40
b(This)30 b(is)g(a)h(synon)m(ym)f(for)g(`)p Fq(!-1)p
-Fr('.)150 4377 y Fq(!)p Fh(string)144 b Fr(Refer)30 b(to)i(the)e(most)h
-(recen)m(t)g(command)f(starting)i(with)e Fj(string)p
-Fr(.)150 4546 y Fq(!?)p Fh(string)11 b Fq([?])630 4655
-y Fr(Refer)34 b(to)g(the)f(most)h(recen)m(t)h(command)e(con)m(taining)i
-Fj(string)p Fr(.)50 b(The)33 b(trailing)i(`)p Fq(?)p
-Fr(')e(ma)m(y)i(b)s(e)630 4765 y(omitted)c(if)g(the)f
+Fr('.)150 4326 y Fq(!)p Fh(string)144 b Fr(Refer)30 b(to)i(the)e(most)h
+(recen)m(t)g(command)f(starting)i(with)e Fj(string)8
+b Fr(.)150 4512 y Fq(!?)p Fh(string)j Fq([?])630 4622
+y Fr(Refer)33 b(to)h(the)f(most)g(recen)m(t)h(command)f(con)m(taining)h
+Fj(string)8 b Fr(.)48 b(The)33 b(trailing)h(`)p Fq(?)p
+Fr(')f(ma)m(y)h(b)s(e)630 4731 y(omitted)d(if)g(the)f
Fj(string)38 b Fr(is)31 b(follo)m(w)m(ed)h(immediately)g(b)m(y)e(a)h
-(newline.)150 4934 y Fq(^)p Fh(string1)11 b Fq(^)p Fh(string2)g
-Fq(^)630 5044 y Fr(Quic)m(k)32 b(Substitution.)44 b(Rep)s(eat)32
-b(the)g(last)h(command,)f(replacing)g Fj(string1)40 b
-Fr(with)31 b Fj(string2)p Fr(.)630 5153 y(Equiv)-5 b(alen)m(t)31
-b(to)g Fq(!!:s/)p Fh(string1)11 b Fq(/)p Fh(string2)g
-Fq(/)p Fr(.)150 5322 y Fq(!#)384 b Fr(The)30 b(en)m(tire)h(command)f
-(line)h(t)m(yp)s(ed)f(so)h(far.)p eop end
+(newline.)150 4917 y Fq(^)p Fh(string1)11 b Fq(^)p Fh(string2)g
+Fq(^)630 5027 y Fr(Quic)m(k)31 b(Substitution.)43 b(Rep)s(eat)31
+b(the)g(last)h(command,)g(replacing)f Fj(string1)39 b
+Fr(with)31 b Fj(string2)7 b Fr(.)630 5136 y(Equiv)-5
+b(alen)m(t)31 b(to)g Fq(!!:s/)p Fh(string1)11 b Fq(/)p
+Fh(string2)g Fq(/)p Fr(.)150 5322 y Fq(!#)384 b Fr(The)30
+b(en)m(tire)h(command)f(line)h(t)m(yp)s(ed)f(so)h(far.)p
+eop end
%%Page: 2 5
TeXDict begin 2 4 bop 150 -116 a Fr(Chapter)30 b(1:)41
b(Using)30 b(History)h(In)m(teractiv)m(ely)2016 b(2)150
-299 y Fi(1.1.2)63 b(W)-10 b(ord)41 b(Designators)275
-542 y Fr(W)-8 b(ord)35 b(designators)g(are)g(used)f(to)h(select)h
-(desired)e(w)m(ords)h(from)f(the)h(ev)m(en)m(t.)55 b(A)34
-b(`)p Fq(:)p Fr(')h(separates)h(the)150 652 y(ev)m(en)m(t)41
-b(sp)s(eci\014cation)f(from)g(the)f(w)m(ord)g(designator.)69
-b(It)40 b(ma)m(y)g(b)s(e)f(omitted)i(if)e(the)h(w)m(ord)f(designator)
-150 761 y(b)s(egins)33 b(with)h(a)h(`)p Fq(^)p Fr(',)g(`)p
-Fq($)p Fr(',)g(`)p Fq(*)p Fr(',)h(`)p Fq(-)p Fr(',)f(or)f(`)p
-Fq(\045)p Fr('.)52 b(W)-8 b(ords)35 b(are)f(n)m(um)m(b)s(ered)f(from)g
-(the)i(b)s(eginning)e(of)h(the)g(line,)150 871 y(with)39
-b(the)h(\014rst)f(w)m(ord)g(b)s(eing)g(denoted)h(b)m(y)g(0)g(\(zero\).)
-70 b(W)-8 b(ords)39 b(are)h(inserted)g(in)m(to)g(the)g(curren)m(t)g
-(line)150 980 y(separated)31 b(b)m(y)f(single)h(spaces.)275
-1114 y(F)-8 b(or)31 b(example,)150 1272 y Fq(!!)384 b
-Fr(designates)37 b(the)f(preceding)g(command.)57 b(When)35
-b(y)m(ou)i(t)m(yp)s(e)f(this,)h(the)f(preceding)g(com-)630
-1381 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 1539
-y Fq(!!:$)288 b Fr(designates)23 b(the)g(last)g(argumen)m(t)g(of)f(the)
-h(preceding)f(command.)38 b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630
-1648 y(to)31 b Fq(!$)p Fr(.)150 1806 y Fq(!fi:2)240 b
-Fr(designates)30 b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f
-(recen)m(t)i(command)e(starting)h(with)f(the)630 1916
-y(letters)j Fq(fi)p Fr(.)275 2073 y(Here)e(are)h(the)g(w)m(ord)f
-(designators:)150 2231 y Fq(0)g(\(zero\))114 b Fr(The)30
-b Fq(0)p Fr(th)g(w)m(ord.)40 b(F)-8 b(or)31 b(man)m(y)g(applications,)h
-(this)e(is)g(the)h(command)f(w)m(ord.)150 2388 y Fh(n)432
-b Fr(The)30 b Fj(n)p Fr(th)g(w)m(ord.)150 2546 y Fq(^)432
-b Fr(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m(ord)g(1.)150
-2703 y Fq($)432 b Fr(The)30 b(last)h(argumen)m(t.)150
-2861 y Fq(\045)432 b Fr(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
+299 y Fi(1.1.2)63 b(W)-10 b(ord)41 b(Designators)150
+446 y Fr(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
+(desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 b(A)27
+b(`)p Fq(:)p Fr(')g(separates)h(the)f(ev)m(en)m(t)150
+555 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
+b(It)37 b(ma)m(y)h(b)s(e)e(omitted)i(if)e(the)h(w)m(ord)g(designator)g
+(b)s(egins)150 665 y(with)30 b(a)g(`)p Fq(^)p Fr(',)g(`)p
+Fq($)p Fr(',)g(`)p Fq(*)p Fr(',)h(`)p Fq(-)p Fr(',)f(or)g(`)p
+Fq(\045)p Fr('.)41 b(W)-8 b(ords)30 b(are)g(n)m(um)m(b)s(ered)e(from)i
+(the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)150
+775 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)41
+b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f(line)g
+(separated)h(b)m(y)150 884 y(single)h(spaces.)275 1026
+y(F)-8 b(or)31 b(example,)150 1197 y Fq(!!)384 b Fr(designates)37
+b(the)f(preceding)g(command.)57 b(When)35 b(y)m(ou)i(t)m(yp)s(e)f
+(this,)h(the)f(preceding)g(com-)630 1307 y(mand)30 b(is)g(rep)s(eated)g
+(in)g(toto.)150 1474 y Fq(!!:$)288 b Fr(designates)23
+b(the)g(last)g(argumen)m(t)g(of)f(the)h(preceding)f(command.)38
+b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 1583 y(to)31
+b Fq(!$)p Fr(.)150 1750 y Fq(!fi:2)240 b Fr(designates)30
+b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f(recen)m(t)i(command)e
+(starting)h(with)f(the)630 1860 y(letters)j Fq(fi)p Fr(.)275
+2031 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150
+2202 y Fq(0)g(\(zero\))114 b Fr(The)30 b Fq(0)p Fr(th)g(w)m(ord.)40
+b(F)-8 b(or)31 b(man)m(y)g(applications,)h(this)e(is)g(the)h(command)f
+(w)m(ord.)150 2369 y Fh(n)432 b Fr(The)30 b Fj(n)p Fr(th)g(w)m(ord.)150
+2536 y Fq(^)432 b Fr(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m
+(ord)g(1.)150 2703 y Fq($)432 b Fr(The)30 b(last)h(argumen)m(t.)150
+2870 y Fq(\045)432 b Fr(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
(most)g(recen)m(t)g(`)p Fq(?)p Fh(string)11 b Fq(?)p
-Fr(')28 b(searc)m(h.)150 3019 y Fh(x)p Fq(-)p Fh(y)336
+Fr(')28 b(searc)m(h.)150 3037 y Fh(x)11 b Fq(-)p Fh(y)325
b Fr(A)30 b(range)h(of)g(w)m(ords;)f(`)p Fq(-)p Fh(y)11
b Fr(')30 b(abbreviates)h(`)p Fq(0-)p Fh(y)11 b Fr('.)150
-3176 y Fq(*)432 b Fr(All)28 b(of)g(the)g(w)m(ords,)g(except)h(the)e
+3204 y Fq(*)432 b Fr(All)28 b(of)g(the)g(w)m(ords,)g(except)h(the)e
Fq(0)p Fr(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p
Fq(1-$)p Fr('.)39 b(It)28 b(is)g(not)g(an)f(error)630
-3286 y(to)j(use)g(`)p Fq(*)p Fr(')f(if)h(there)g(is)g(just)f(one)h(w)m
+3313 y(to)j(use)g(`)p Fq(*)p Fr(')f(if)h(there)g(is)g(just)f(one)h(w)m
(ord)f(in)g(the)h(ev)m(en)m(t;)i(the)d(empt)m(y)i(string)e(is)h
-(returned)e(in)630 3395 y(that)j(case.)150 3553 y Fh(x)11
-b Fq(*)373 b Fr(Abbreviates)31 b(`)p Fh(x)p Fq(-$)p Fr(')150
-3711 y Fh(x)p Fq(-)384 b Fr(Abbreviates)31 b(`)p Fh(x)p
-Fq(-$)p Fr(')f(lik)m(e)h(`)p Fh(x)11 b Fq(*)p Fr(',)31
-b(but)e(omits)i(the)g(last)g(w)m(ord.)275 3868 y(If)i(a)h(w)m(ord)g
-(designator)g(is)g(supplied)f(without)h(an)g(ev)m(en)m(t)h(sp)s
-(eci\014cation,)h(the)e(previous)f(command)150 3978 y(is)d(used)g(as)h
-(the)f(ev)m(en)m(t.)150 4199 y Fi(1.1.3)63 b(Mo)s(di\014ers)275
-4442 y Fr(After)20 b(the)h(optional)h(w)m(ord)f(designator,)i(y)m(ou)e
-(can)g(add)f(a)h(sequence)g(of)g(one)g(or)g(more)g(of)g(the)f(follo)m
-(wing)150 4552 y(mo)s(di\014ers,)29 b(eac)m(h)j(preceded)e(b)m(y)g(a)h
-(`)p Fq(:)p Fr('.)150 4710 y Fq(h)432 b Fr(Remo)m(v)m(e)32
-b(a)f(trailing)g(pathname)g(comp)s(onen)m(t,)g(lea)m(ving)h(only)e(the)
-h(head.)150 4867 y Fq(t)432 b Fr(Remo)m(v)m(e)32 b(all)f(leading)h
-(pathname)e(comp)s(onen)m(ts,)h(lea)m(ving)h(the)e(tail.)150
-5025 y Fq(r)432 b Fr(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g
-(the)h(form)f(`)p Fq(.)p Fh(suffix)11 b Fr(',)28 b(lea)m(ving)33
-b(the)d(basename.)150 5182 y Fq(e)432 b Fr(Remo)m(v)m(e)32
-b(all)f(but)f(the)h(trailing)g(su\016x.)150 5340 y Fq(p)432
-b Fr(Prin)m(t)30 b(the)h(new)f(command)g(but)g(do)g(not)g(execute)i
-(it.)p eop end
+(returned)e(in)630 3423 y(that)j(case.)150 3590 y Fh(x)11
+b Fq(*)373 b Fr(Abbreviates)31 b(`)p Fh(x)11 b Fq(-$)p
+Fr(')150 3757 y Fh(x)g Fq(-)373 b Fr(Abbreviates)31 b(`)p
+Fh(x)11 b Fq(-$)p Fr(')29 b(lik)m(e)j(`)p Fh(x)11 b Fq(*)p
+Fr(',)30 b(but)g(omits)h(the)f(last)h(w)m(ord.)275 3928
+y(If)i(a)h(w)m(ord)g(designator)g(is)g(supplied)f(without)h(an)g(ev)m
+(en)m(t)h(sp)s(eci\014cation,)h(the)e(previous)f(command)150
+4038 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150 4244 y
+Fi(1.1.3)63 b(Mo)s(di\014ers)150 4391 y Fr(After)29 b(the)g(optional)g
+(w)m(ord)g(designator,)g(y)m(ou)g(can)g(add)f(a)h(sequence)g(of)g(one)g
+(or)f(more)h(of)g(the)f(follo)m(wing)150 4501 y(mo)s(di\014ers,)h(eac)m
+(h)j(preceded)e(b)m(y)g(a)h(`)p Fq(:)p Fr('.)150 4672
+y Fq(h)432 b Fr(Remo)m(v)m(e)32 b(a)f(trailing)g(pathname)g(comp)s
+(onen)m(t,)g(lea)m(ving)h(only)e(the)h(head.)150 4839
+y Fq(t)432 b Fr(Remo)m(v)m(e)32 b(all)f(leading)h(pathname)e(comp)s
+(onen)m(ts,)h(lea)m(ving)h(the)e(tail.)150 5006 y Fq(r)432
+b Fr(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g(the)h(form)f(`)p
+Fq(.)p Fh(suffix)11 b Fr(',)28 b(lea)m(ving)33 b(the)d(basename.)150
+5173 y Fq(e)432 b Fr(Remo)m(v)m(e)32 b(all)f(but)f(the)h(trailing)g
+(su\016x.)150 5340 y Fq(p)432 b Fr(Prin)m(t)30 b(the)h(new)f(command)g
+(but)g(do)g(not)g(execute)i(it.)p eop end
%%Page: 3 6
TeXDict begin 3 5 bop 150 -116 a Fr(Chapter)30 b(1:)41
b(Using)30 b(History)h(In)m(teractiv)m(ely)2016 b(3)150
@@ -3689,10 +3456,10 @@ y Fr(Substitute)32 b Fj(new)40 b Fr(for)32 b(the)h(\014rst)f(o)s
b(An)m(y)32 b(delimiter)630 518 y(ma)m(y)25 b(b)s(e)g(used)f(in)g
(place)i(of)f(`)p Fq(/)p Fr('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s
(e)e(quoted)h(in)f Fj(old)29 b Fr(and)24 b Fj(new)32
-b Fr(with)25 b(a)630 628 y(single)k(bac)m(kslash.)40
-b(If)28 b(`)p Fq(&)p Fr(')g(app)s(ears)g(in)f Fj(new)p
-Fr(,)i(it)f(is)h(replaced)f(b)m(y)g Fj(old)p Fr(.)40
-b(A)28 b(single)h(bac)m(kslash)630 737 y(will)35 b(quote)g(the)g(`)p
+b Fr(with)25 b(a)630 628 y(single)j(bac)m(kslash.)40
+b(If)27 b(`)p Fq(&)p Fr(')g(app)s(ears)g(in)g Fj(new)8
+b Fr(,)27 b(it)h(is)f(replaced)h(b)m(y)f Fj(old)t Fr(.)39
+b(A)27 b(single)h(bac)m(kslash)630 737 y(will)35 b(quote)g(the)g(`)p
Fq(&)p Fr('.)54 b(The)34 b(\014nal)g(delimiter)i(is)e(optional)i(if)f
(it)g(is)f(the)h(last)h(c)m(haracter)g(on)630 847 y(the)31
b(input)e(line.)150 1006 y Fq(&)432 b Fr(Rep)s(eat)31
@@ -3707,531 +3474,505 @@ Fq(&)p Fr('.)150 1544 y Fq(G)432 b Fr(Apply)30 b(the)g(follo)m(wing)i
%%Page: 4 7
TeXDict begin 4 6 bop 150 -116 a Fr(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(History)1780 b(4)150
-299 y Fn(2)80 b(Programming)54 b(with)f(GNU)h(History)275
-525 y Fr(This)31 b(c)m(hapter)i(describ)s(es)f(ho)m(w)g(to)h(in)m
-(terface)h(programs)e(that)h(y)m(ou)g(write)g(with)f(the)g
-Fk(gnu)g Fr(History)150 634 y(Library)-8 b(.)48 b(It)33
+299 y Fn(2)80 b(Programming)54 b(with)f(GNU)h(History)150
+523 y Fr(This)41 b(c)m(hapter)i(describ)s(es)e(ho)m(w)h(to)h(in)m
+(terface)g(programs)f(that)g(y)m(ou)h(write)f(with)f(the)i
+Fk(gnu)e Fr(History)150 632 y(Library)-8 b(.)48 b(It)33
b(should)e(b)s(e)i(considered)f(a)h(tec)m(hnical)i(guide.)48
b(F)-8 b(or)34 b(information)f(on)g(the)g(in)m(teractiv)m(e)i(use)150
-744 y(of)c Fk(gnu)f Fr(History)-8 b(,)31 b(see)g(Chapter)f(1)h([Using)g
-(History)g(In)m(teractiv)m(ely],)i(page)e(1.)150 996
-y Fp(2.1)68 b(In)l(tro)t(duction)45 b(to)g(History)275
-1239 y Fr(Man)m(y)23 b(programs)f(read)h(input)f(from)g(the)h(user)f(a)
-h(line)g(at)g(a)g(time.)39 b(The)23 b Fk(gnu)f Fr(History)h(library)g
-(is)f(able)150 1348 y(to)29 b(k)m(eep)h(trac)m(k)g(of)f(those)g(lines,)
-h(asso)s(ciate)g(arbitrary)f(data)g(with)g(eac)m(h)h(line,)f(and)g
-(utilize)h(information)150 1458 y(from)g(previous)g(lines)g(in)g(comp)s
-(osing)h(new)f(ones.)275 1591 y(The)d(programmer)g(using)g(the)g
+742 y(of)c Fk(gnu)f Fr(History)-8 b(,)31 b(see)g(Chapter)f(1)h([Using)g
+(History)g(In)m(teractiv)m(ely],)i(page)e(1.)150 970
+y Fp(2.1)68 b(In)l(tro)t(duction)45 b(to)g(History)150
+1130 y Fr(Man)m(y)31 b(programs)f(read)g(input)g(from)f(the)i(user)f(a)
+g(line)h(at)g(a)g(time.)41 b(The)30 b Fk(gnu)g Fr(History)h(library)f
+(is)g(able)150 1239 y(to)f(k)m(eep)h(trac)m(k)g(of)f(those)g(lines,)h
+(asso)s(ciate)g(arbitrary)f(data)g(with)g(eac)m(h)h(line,)f(and)g
+(utilize)h(information)150 1349 y(from)g(previous)g(lines)g(in)g(comp)s
+(osing)h(new)f(ones.)275 1481 y(The)d(programmer)g(using)g(the)g
(History)h(library)f(has)h(a)m(v)-5 b(ailable)29 b(functions)e(for)h
-(remem)m(b)s(ering)f(lines)150 1700 y(on)21 b(a)g(history)f(list,)k
+(remem)m(b)s(ering)f(lines)150 1591 y(on)21 b(a)g(history)f(list,)k
(asso)s(ciating)e(arbitrary)e(data)i(with)e(a)h(line,)i(remo)m(ving)f
-(lines)f(from)f(the)h(list,)i(searc)m(hing)150 1810 y(through)35
+(lines)f(from)f(the)h(list,)i(searc)m(hing)150 1701 y(through)35
b(the)g(list)h(for)f(a)h(line)f(con)m(taining)i(an)e(arbitrary)g(text)h
(string,)h(and)e(referencing)g(an)m(y)h(line)f(in)150
-1919 y(the)c(list)g(directly)-8 b(.)43 b(In)30 b(addition,)h(a)g
+1810 y(the)c(list)g(directly)-8 b(.)43 b(In)30 b(addition,)h(a)g
(history)g Fj(expansion)g Fr(function)f(is)h(a)m(v)-5
-b(ailable)33 b(whic)m(h)d(pro)m(vides)h(for)g(a)150 2029
+b(ailable)33 b(whic)m(h)d(pro)m(vides)h(for)g(a)150 1920
y(consisten)m(t)h(user)d(in)m(terface)j(across)f(di\013eren)m(t)g
-(programs.)275 2162 y(The)c(user)g(using)g(programs)h(written)g(with)g
+(programs.)275 2052 y(The)c(user)g(using)g(programs)h(written)g(with)g
(the)g(History)g(library)g(has)f(the)h(b)s(ene\014t)f(of)h(a)h
-(consisten)m(t)150 2271 y(user)38 b(in)m(terface)j(with)e(a)g(set)g(of)
+(consisten)m(t)150 2162 y(user)38 b(in)m(terface)j(with)e(a)g(set)g(of)
h(w)m(ell-kno)m(wn)f(commands)g(for)g(manipulating)g(the)g(text)h(of)f
-(previous)150 2381 y(lines)28 b(and)f(using)g(that)h(text)g(in)g(new)f
+(previous)150 2271 y(lines)28 b(and)f(using)g(that)h(text)g(in)g(new)f
(commands.)39 b(The)27 b(basic)h(history)g(manipulation)f(commands)h
-(are)150 2491 y(similar)j(to)g(the)f(history)h(substitution)f(pro)m
-(vided)g(b)m(y)g Fq(csh)p Fr(.)275 2623 y(If)f(the)g(programmer)g
+(are)150 2381 y(similar)j(to)g(the)f(history)h(substitution)f(pro)m
+(vided)g(b)m(y)g Fq(csh)p Fr(.)275 2514 y(If)f(the)g(programmer)g
(desires,)h(he)g(can)f(use)h(the)f(Readline)i(library)-8
-b(,)30 b(whic)m(h)f(includes)g(some)h(history)150 2733
+b(,)30 b(whic)m(h)f(includes)g(some)h(history)150 2623
y(manipulation)h(b)m(y)f(default,)h(and)e(has)i(the)f(added)g(adv)-5
-b(an)m(tage)32 b(of)f(command)f(line)g(editing.)275 2866
+b(an)m(tage)32 b(of)f(command)f(line)g(editing.)275 2756
y(Before)39 b(declaring)f(an)m(y)h(functions)e(using)h(an)m(y)g
(functionalit)m(y)i(the)e(History)h(library)e(pro)m(vides)h(in)150
-2976 y(other)29 b(co)s(de,)g(an)g(application)h(writer)f(should)e
+2865 y(other)29 b(co)s(de,)g(an)g(application)h(writer)f(should)e
(include)i(the)g(\014le)f Fq(<readline/history.h>)23
-b Fr(in)29 b(an)m(y)g(\014le)150 3085 y(that)c(uses)e(the)h(History)h
+b Fr(in)29 b(an)m(y)g(\014le)150 2975 y(that)c(uses)e(the)h(History)h
(library's)e(features.)39 b(It)24 b(supplies)f(extern)h(declarations)i
-(for)d(all)i(of)f(the)g(library's)150 3195 y(public)30
+(for)d(all)i(of)f(the)g(library's)150 3084 y(public)30
b(functions)g(and)f(v)-5 b(ariables,)32 b(and)d(declares)j(all)f(of)f
-(the)h(public)f(data)h(structures.)150 3447 y Fp(2.2)68
-b(History)46 b(Storage)275 3689 y Fr(The)29 b(history)i(list)g(is)f(an)
-g(arra)m(y)h(of)g(history)f(en)m(tries.)42 b(A)30 b(history)g(en)m(try)
-h(is)f(declared)h(as)g(follo)m(ws:)390 3822 y Fq(typedef)46
-b(void)g(*histdata_t;)390 4042 y(typedef)g(struct)g(_hist_entry)f({)485
-4151 y(char)i(*line;)485 4261 y(char)g(*timestamp;)485
-4370 y(histdata_t)e(data;)390 4480 y(})i(HIST_ENTRY;)275
-4613 y Fr(The)29 b(history)i(list)g(itself)g(migh)m(t)g(therefore)g(b)s
-(e)f(declared)g(as)390 4746 y Fq(HIST_ENTRY)45 b(**the_history_list;)
-275 4878 y Fr(The)29 b(state)j(of)f(the)f(History)h(library)f(is)h
+(the)h(public)f(data)h(structures.)150 3313 y Fp(2.2)68
+b(History)46 b(Storage)150 3472 y Fr(The)30 b(history)g(list)h(is)g(an)
+f(arra)m(y)h(of)f(history)h(en)m(tries.)41 b(A)31 b(history)f(en)m(try)
+h(is)f(declared)h(as)f(follo)m(ws:)390 3605 y Fq(typedef)46
+b(void)g(*histdata_t;)390 3824 y(typedef)g(struct)g(_hist_entry)f({)485
+3933 y(char)i(*line;)485 4043 y(char)g(*timestamp;)485
+4153 y(histdata_t)e(data;)390 4262 y(})i(HIST_ENTRY;)275
+4395 y Fr(The)29 b(history)i(list)g(itself)g(migh)m(t)g(therefore)g(b)s
+(e)f(declared)g(as)390 4527 y Fq(HIST_ENTRY)45 b(**the_history_list;)
+275 4660 y Fr(The)29 b(state)j(of)f(the)f(History)h(library)f(is)h
(encapsulated)g(in)m(to)g(a)g(single)g(structure:)390
-5011 y Fq(/*)438 5121 y(*)47 b(A)h(structure)d(used)i(to)g(pass)f
+4792 y Fq(/*)438 4902 y(*)47 b(A)h(structure)d(used)i(to)g(pass)f
(around)g(the)h(current)f(state)h(of)g(the)g(history.)438
-5230 y(*/)390 5340 y(typedef)f(struct)g(_hist_state)f({)p
+5011 y(*/)390 5121 y(typedef)f(struct)g(_hist_state)f({)485
+5230 y(HIST_ENTRY)g(**entries;)g(/*)j(Pointer)d(to)j(the)f(entries)e
+(themselves.)g(*/)485 5340 y(int)i(offset;)523 b(/*)48
+b(The)f(location)e(pointer)h(within)g(this)h(array.)f(*/)p
eop end
%%Page: 5 8
TeXDict begin 5 7 bop 150 -116 a Fr(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(History)1780 b(5)485
-299 y Fq(HIST_ENTRY)45 b(**entries;)g(/*)j(Pointer)d(to)j(the)f
-(entries)e(themselves.)g(*/)485 408 y(int)i(offset;)523
-b(/*)48 b(The)f(location)e(pointer)h(within)g(this)h(array.)f(*/)485
-518 y(int)h(length;)523 b(/*)48 b(Number)e(of)h(elements)e(within)i
-(this)f(array.)g(*/)485 628 y(int)h(size;)619 b(/*)48
-b(Number)e(of)h(slots)f(allocated)g(to)h(this)f(array.)g(*/)485
-737 y(int)h(flags;)390 847 y(})g(HISTORY_STATE;)275 985
+299 y Fq(int)47 b(length;)523 b(/*)48 b(Number)e(of)h(elements)e
+(within)i(this)f(array.)g(*/)485 408 y(int)h(size;)619
+b(/*)48 b(Number)e(of)h(slots)f(allocated)g(to)h(this)f(array.)g(*/)485
+518 y(int)h(flags;)390 628 y(})g(HISTORY_STATE;)275 764
y Fr(If)29 b(the)i(\015ags)g(mem)m(b)s(er)e(includes)h
Fq(HS_STIFLED)p Fr(,)e(the)j(history)f(has)g(b)s(een)g(sti\015ed.)150
-1252 y Fp(2.3)68 b(History)46 b(F)-11 b(unctions)275
-1500 y Fr(This)23 b(section)j(describ)s(es)e(the)h(calling)h(sequence)f
-(for)f(the)h(v)-5 b(arious)25 b(functions)f(exp)s(orted)g(b)m(y)g(the)h
-Fk(gnu)150 1610 y Fr(History)31 b(library)-8 b(.)150
-1842 y Fi(2.3.1)63 b(Initializing)40 b(History)i(and)f(State)f
-(Managemen)m(t)275 2090 y Fr(This)33 b(section)j(describ)s(es)e
-(functions)g(used)g(to)h(initialize)i(and)d(manage)h(the)g(state)h(of)f
-(the)f(History)150 2200 y(library)c(when)f(y)m(ou)i(w)m(an)m(t)g(to)g
-(use)f(the)h(history)f(functions)g(in)g(y)m(our)h(program.)3350
-2392 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(using)p
-667 2392 35 5 v 50 w(history)46 b Fe(\()p Fq(void)p Fe(\))390
-2501 y Fr(Begin)41 b(a)f(session)g(in)g(whic)m(h)f(the)h(history)g
-(functions)f(migh)m(t)i(b)s(e)e(used.)69 b(This)39 b(initializes)j(the)
-390 2611 y(in)m(teractiv)m(e)33 b(v)-5 b(ariables.)3350
-2803 y([F)d(unction])-3599 b Fg(HISTORY_STATE)42 b(*)d
-Ff(history)p 1317 2803 V 50 w(get)p 1522 2803 V 50 w(history)p
-1922 2803 V 51 w(state)k Fe(\()p Fq(void)p Fe(\))390
-2913 y Fr(Return)30 b(a)g(structure)g(describing)g(the)h(curren)m(t)f
-(state)i(of)e(the)h(input)e(history)-8 b(.)3350 3105
-y([F)g(unction])-3599 b Fg(void)39 b Ff(history)p 755
-3105 V 51 w(set)p 949 3105 V 50 w(history)p 1349 3105
-V 50 w(state)44 b Fe(\()p Fq(HISTORY_STATE)27 b(*state)p
-Fe(\))390 3215 y Fr(Set)k(the)f(state)i(of)e(the)h(history)f(list)h
-(according)h(to)f Fj(state)p Fr(.)150 3447 y Fi(2.3.2)63
-b(History)41 b(List)g(Managemen)m(t)275 3695 y Fr(These)21
-b(functions)g(manage)h(individual)f(en)m(tries)h(on)g(the)f(history)h
-(list,)i(or)d(set)h(parameters)g(managing)150 3804 y(the)31
-b(list)g(itself.)3350 3996 y([F)-8 b(unction])-3599 b
-Fg(void)39 b Ff(add)p 589 3996 V 50 w(history)45 b Fe(\()p
-Fq(const)30 b(char)f(*string)p Fe(\))390 4106 y Fr(Place)i
-Fj(string)38 b Fr(at)31 b(the)f(end)f(of)h(the)g(history)g(list.)42
-b(The)29 b(asso)s(ciated)i(data)g(\014eld)f(\(if)g(an)m(y\))h(is)f(set)
-g(to)390 4216 y Fq(NULL)p Fr(.)3350 4408 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(add)p 589 4408 V 50 w(history)p 989
-4408 V 50 w(time)45 b Fe(\()p Fq(const)29 b(char)h(*string)p
-Fe(\))390 4517 y Fr(Change)g(the)h(time)g(stamp)f(asso)s(ciated)i(with)
+1000 y Fp(2.3)68 b(History)46 b(F)-11 b(unctions)150
+1160 y Fr(This)33 b(section)j(describ)s(es)d(the)i(calling)g(sequence)g
+(for)f(the)g(v)-5 b(arious)34 b(functions)g(exp)s(orted)g(b)m(y)g(the)g
+Fk(gnu)150 1269 y Fr(History)d(library)-8 b(.)150 1471
+y Fi(2.3.1)63 b(Initializing)40 b(History)i(and)f(State)f(Managemen)m
+(t)150 1618 y Fr(This)21 b(section)i(describ)s(es)f(functions)f(used)g
+(to)i(initialize)h(and)e(manage)h(the)f(state)h(of)g(the)f(History)g
+(library)150 1727 y(when)29 b(y)m(ou)i(w)m(an)m(t)g(to)g(use)f(the)h
+(history)f(functions)g(in)g(y)m(our)h(program.)3350 1916
+y([F)-8 b(unction])-3599 b Fg(void)54 b(using_history)49
+b Ff(\()p Fj(v)m(oid)p Ff(\))390 2026 y Fr(Begin)41 b(a)f(session)g(in)
+g(whic)m(h)f(the)h(history)g(functions)f(migh)m(t)i(b)s(e)e(used.)69
+b(This)39 b(initializes)j(the)390 2135 y(in)m(teractiv)m(e)33
+b(v)-5 b(ariables.)3350 2324 y([F)d(unction])-3599 b
+Fg(HISTORY_STATE)56 b(*)d(history_get_history_st)q(ate)f
+Ff(\()p Fj(v)m(oid)p Ff(\))390 2434 y Fr(Return)30 b(a)g(structure)g
+(describing)g(the)h(curren)m(t)f(state)i(of)e(the)h(input)e(history)-8
+b(.)3350 2623 y([F)g(unction])-3599 b Fg(void)54 b
+(history_set_history_stat)q(e)e Ff(\()p Fj(HISTOR)-8
+b(Y)p 2222 2623 28 4 v 39 w(ST)g(A)g(TE)30 b(*state)p
+Ff(\))390 2732 y Fr(Set)h(the)f(state)i(of)e(the)h(history)f(list)h
+(according)h(to)f Fj(state)5 b Fr(.)150 2934 y Fi(2.3.2)63
+b(History)41 b(List)g(Managemen)m(t)150 3081 y Fr(These)32
+b(functions)f(manage)i(individual)f(en)m(tries)g(on)g(the)g(history)g
+(list,)h(or)f(set)h(parameters)f(managing)150 3190 y(the)f(list)g
+(itself.)3350 3379 y([F)-8 b(unction])-3599 b Fg(void)54
+b(add_history)48 b Ff(\()p Fj(const)32 b(c)m(har)e(*string)p
+Ff(\))390 3489 y Fr(Place)h Fj(string)38 b Fr(at)31 b(the)f(end)f(of)h
+(the)g(history)g(list.)42 b(The)29 b(asso)s(ciated)i(data)g(\014eld)f
+(\(if)g(an)m(y\))h(is)f(set)g(to)390 3598 y Fq(NULL)p
+Fr(.)3350 3787 y([F)-8 b(unction])-3599 b Fg(void)54
+b(add_history_time)c Ff(\()p Fj(const)31 b(c)m(har)g(*string)p
+Ff(\))390 3897 y Fr(Change)f(the)h(time)g(stamp)f(asso)s(ciated)i(with)
e(the)h(most)f(recen)m(t)i(history)e(en)m(try)h(to)g
-Fj(string)p Fr(.)3350 4709 y([F)-8 b(unction])-3599 b
-Fg(HIST_ENTRY)41 b(*)e Ff(remo)m(v)m(e)p 1169 4709 V
-50 w(history)46 b Fe(\()p Fq(int)30 b(which)p Fe(\))390
-4819 y Fr(Remo)m(v)m(e)47 b(history)f(en)m(try)f(at)i(o\013set)f
-Fj(whic)m(h)f Fr(from)g(the)h(history)-8 b(.)86 b(The)45
-b(remo)m(v)m(ed)i(elemen)m(t)g(is)390 4929 y(returned)29
-b(so)i(y)m(ou)g(can)f(free)h(the)f(line,)h(data,)h(and)d(con)m(taining)
-j(structure.)3350 5121 y([F)-8 b(unction])-3599 b Fg(histdata_t)41
-b Ff(free)p 907 5121 V 50 w(history)p 1307 5121 V 50
-w(en)m(try)k Fe(\()p Fq(HIST_ENTRY)28 b(*histent)p Fe(\))390
-5230 y Fr(F)-8 b(ree)29 b(the)f(history)g(en)m(try)g
+Fj(string)8 b Fr(.)3350 4086 y([F)-8 b(unction])-3599
+b Fg(HIST_ENTRY)55 b(*)e(remove_history)d Ff(\()p Fj(in)m(t)31
+b(whic)m(h)p Ff(\))390 4195 y Fr(Remo)m(v)m(e)47 b(history)f(en)m(try)f
+(at)i(o\013set)f Fj(whic)m(h)f Fr(from)g(the)h(history)-8
+b(.)86 b(The)45 b(remo)m(v)m(ed)i(elemen)m(t)g(is)390
+4305 y(returned)29 b(so)i(y)m(ou)g(can)f(free)h(the)f(line,)h(data,)h
+(and)d(con)m(taining)j(structure.)3350 4494 y([F)-8 b(unction])-3599
+b Fg(histdata_t)55 b(free_history_entry)c Ff(\()p Fj(HIST)p
+1971 4494 V 40 w(ENTR)-8 b(Y)30 b(*histen)m(t)p Ff(\))390
+4603 y Fr(F)-8 b(ree)29 b(the)f(history)g(en)m(try)g
Fj(histen)m(t)j Fr(and)c(an)m(y)i(history)e(library)h(priv)-5
-b(ate)28 b(data)h(asso)s(ciated)g(with)f(it.)390 5340
+b(ate)28 b(data)h(asso)s(ciated)g(with)f(it.)390 4713
y(Returns)h(the)i(application-sp)s(eci\014c)h(data)f(so)g(the)f(caller)
-i(can)e(disp)s(ose)g(of)h(it.)p eop end
+i(can)e(disp)s(ose)g(of)h(it.)3350 4902 y([F)-8 b(unction])-3599
+b Fg(HIST_ENTRY)55 b(*)e(replace_history_entry)f Ff(\()p
+Fj(in)m(t)31 b(whic)m(h,)f(const)h(c)m(har)g(*line,)565
+5011 y(histdata)p 894 5011 V 41 w(t)g(data)p Ff(\))390
+5121 y Fr(Mak)m(e)e(the)f(history)f(en)m(try)h(at)h(o\013set)f
+Fj(whic)m(h)g Fr(ha)m(v)m(e)g Fj(line)33 b Fr(and)27
+b Fj(data)p Fr(.)41 b(This)27 b(returns)f(the)i(old)g(en)m(try)390
+5230 y(so)37 b(the)h(caller)g(can)f(disp)s(ose)g(of)g(an)m(y)g
+(application-sp)s(eci\014c)i(data.)61 b(In)37 b(the)g(case)h(of)f(an)g
+(in)m(v)-5 b(alid)390 5340 y Fj(whic)m(h)p Fr(,)30 b(a)h
+Fq(NULL)e Fr(p)s(oin)m(ter)i(is)f(returned.)p eop end
%%Page: 6 9
TeXDict begin 6 8 bop 150 -116 a Fr(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(History)1780 b(6)3350
-299 y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)41 b(*)e
-Ff(replace)p 1166 299 35 5 v 48 w(history)p 1564 299
-V 51 w(en)m(try)45 b Fe(\()p Fq(int)29 b(which,)g(const)g(char)565
-408 y(*line,)g(histdata_t)e(data)p Fe(\))390 518 y Fr(Mak)m(e)i(the)f
-(history)f(en)m(try)h(at)h(o\013set)f Fj(whic)m(h)g Fr(ha)m(v)m(e)g
-Fj(line)33 b Fr(and)27 b Fj(data)p Fr(.)41 b(This)27
-b(returns)f(the)i(old)g(en)m(try)390 628 y(so)37 b(the)h(caller)g(can)f
-(disp)s(ose)g(of)g(an)m(y)g(application-sp)s(eci\014c)i(data.)61
-b(In)37 b(the)g(case)h(of)f(an)g(in)m(v)-5 b(alid)390
-737 y Fj(whic)m(h)p Fr(,)30 b(a)h Fq(NULL)e Fr(p)s(oin)m(ter)i(is)f
-(returned.)3350 957 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(clear)p 644 957 V 50 w(history)46 b Fe(\()p Fq(void)p
-Fe(\))390 1067 y Fr(Clear)31 b(the)f(history)h(list)g(b)m(y)f(deleting)
-h(all)h(the)e(en)m(tries.)3350 1287 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(sti\015e)p 644 1287 V 50 w(history)45
-b Fe(\()p Fq(int)30 b(max)p Fe(\))390 1396 y Fr(Sti\015e)g(the)h
+299 y([F)-8 b(unction])-3599 b Fg(void)54 b(clear_history)49
+b Ff(\()p Fj(v)m(oid)p Ff(\))390 408 y Fr(Clear)31 b(the)f(history)h
+(list)g(b)m(y)f(deleting)h(all)h(the)e(en)m(tries.)3350
+594 y([F)-8 b(unction])-3599 b Fg(void)54 b(stifle_history)49
+b Ff(\()p Fj(in)m(t)31 b(max)p Ff(\))390 704 y Fr(Sti\015e)f(the)h
(history)f(list,)h(remem)m(b)s(ering)f(only)h(the)f(last)i
-Fj(max)k Fr(en)m(tries.)3350 1616 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(unsti\015e)p 720 1616 V 49 w(history)45
-b Fe(\()p Fq(void)p Fe(\))390 1726 y Fr(Stop)27 b(sti\015ing)h(the)f
-(history)-8 b(.)40 b(This)27 b(returns)f(the)h(previously-set)h(maxim)m
-(um)f(n)m(um)m(b)s(er)f(of)i(history)390 1836 y(en)m(tries)g(\(as)f
-(set)g(b)m(y)g Fq(stifle_history\(\))p Fr(\).)35 b(The)27
-b(v)-5 b(alue)27 b(is)g(p)s(ositiv)m(e)g(if)g(the)g(history)g(w)m(as)g
-(sti\015ed,)390 1945 y(negativ)m(e)33 b(if)d(it)h(w)m(asn't.)3350
-2165 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(history)p
-703 2165 V 51 w(is)p 831 2165 V 50 w(sti\015ed)44 b Fe(\()p
-Fq(void)p Fe(\))390 2275 y Fr(Returns)29 b(non-zero)i(if)g(the)f
-(history)h(is)f(sti\015ed,)g(zero)i(if)e(it)h(is)f(not.)150
-2535 y Fi(2.3.3)63 b(Information)42 b(Ab)s(out)f(the)g(History)g(List)
-275 2797 y Fr(These)25 b(functions)g(return)g(information)h(ab)s(out)f
-(the)h(en)m(tire)g(history)g(list)g(or)g(individual)f(list)h(en)m
-(tries.)3350 3017 y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)41
-b(**)e Ff(history)p 1212 3017 V 51 w(list)44 b Fe(\()p
-Fq(void)p Fe(\))390 3126 y Fr(Return)30 b(a)h Fq(NULL)e
-Fr(terminated)i(arra)m(y)g(of)f Fq(HIST_ENTRY)e(*)i Fr(whic)m(h)g(is)h
-(the)g(curren)m(t)f(input)f(history)-8 b(.)390 3236 y(Elemen)m(t)31
-b(0)g(of)g(this)f(list)h(is)f(the)h(b)s(eginning)f(of)g(time.)42
-b(If)29 b(there)i(is)f(no)h(history)-8 b(,)31 b(return)e
-Fq(NULL)p Fr(.)3350 3456 y([F)-8 b(unction])-3599 b Fg(int)39
-b Ff(where)p 653 3456 V 49 w(history)46 b Fe(\()p Fq(void)p
-Fe(\))390 3565 y Fr(Returns)29 b(the)i(o\013set)g(of)g(the)g(curren)m
-(t)f(history)g(elemen)m(t.)3350 3786 y([F)-8 b(unction])-3599
-b Fg(HIST_ENTRY)41 b(*)e Ff(curren)m(t)p 1178 3786 V
-49 w(history)45 b Fe(\()p Fq(void)p Fe(\))390 3895 y
-Fr(Return)24 b(the)h(history)g(en)m(try)g(at)h(the)f(curren)m(t)f(p)s
-(osition,)j(as)e(determined)f(b)m(y)h Fq(where_history\(\))p
-Fr(.)390 4005 y(If)30 b(there)g(is)h(no)f(en)m(try)h(there,)g(return)e
-(a)i Fq(NULL)e Fr(p)s(oin)m(ter.)3350 4225 y([F)-8 b(unction])-3599
-b Fg(HIST_ENTRY)41 b(*)e Ff(history)p 1160 4225 V 50
-w(get)45 b Fe(\()p Fq(int)30 b(offset)p Fe(\))390 4334
-y Fr(Return)41 b(the)g(history)h(en)m(try)g(at)g(p)s(osition)g
-Fj(o\013set)p Fr(,)j(starting)e(from)e Fq(history_base)d
-Fr(\(see)k(Sec-)390 4444 y(tion)32 b(2.4)i([History)e(V)-8
-b(ariables],)35 b(page)d(9\).)47 b(If)31 b(there)i(is)f(no)g(en)m(try)g
-(there,)h(or)f(if)g Fj(o\013set)j Fr(is)d(greater)390
-4553 y(than)e(the)h(history)f(length,)h(return)e(a)i
-Fq(NULL)e Fr(p)s(oin)m(ter.)3350 4774 y([F)-8 b(unction])-3599
-b Fg(time_t)40 b Ff(history)p 860 4774 V 51 w(get)p 1066
-4774 V 49 w(time)45 b Fe(\()p Fq(HIST_ENTRY)28 b(*entry)p
-Fe(\))390 4883 y Fr(Return)i(the)g(time)h(stamp)f(asso)s(ciated)i(with)
-e(the)h(history)f(en)m(try)h Fj(en)m(try)p Fr(.)3350
-5103 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(history)p
-703 5103 V 51 w(total)p 989 5103 V 49 w(b)m(ytes)45 b
-Fe(\()p Fq(void)p Fe(\))390 5213 y Fr(Return)27 b(the)h(n)m(um)m(b)s
-(er)e(of)i(b)m(ytes)g(that)g(the)g(primary)e(history)i(en)m(tries)g
-(are)g(using.)39 b(This)27 b(function)390 5322 y(returns)i(the)i(sum)e
-(of)i(the)f(lengths)h(of)f(all)i(the)e(lines)h(in)f(the)g(history)-8
-b(.)p eop end
+Fj(max)k Fr(en)m(tries.)3350 890 y([F)-8 b(unction])-3599
+b Fg(int)53 b(unstifle_history)e Ff(\()p Fj(v)m(oid)p
+Ff(\))390 1000 y Fr(Stop)27 b(sti\015ing)h(the)f(history)-8
+b(.)40 b(This)27 b(returns)f(the)h(previously-set)h(maxim)m(um)f(n)m
+(um)m(b)s(er)f(of)i(history)390 1109 y(en)m(tries)g(\(as)f(set)g(b)m(y)
+g Fq(stifle_history\(\))p Fr(\).)35 b(The)27 b(v)-5 b(alue)27
+b(is)g(p)s(ositiv)m(e)g(if)g(the)g(history)g(w)m(as)g(sti\015ed,)390
+1219 y(negativ)m(e)33 b(if)d(it)h(w)m(asn't.)3350 1405
+y([F)-8 b(unction])-3599 b Fg(int)53 b(history_is_stifled)e
+Ff(\()p Fj(v)m(oid)p Ff(\))390 1514 y Fr(Returns)29 b(non-zero)i(if)g
+(the)f(history)h(is)f(sti\015ed,)g(zero)i(if)e(it)h(is)f(not.)150
+1714 y Fi(2.3.3)63 b(Information)42 b(Ab)s(out)f(the)g(History)g(List)
+150 1861 y Fr(These)30 b(functions)g(return)f(information)i(ab)s(out)f
+(the)h(en)m(tire)g(history)f(list)h(or)g(individual)e(list)i(en)m
+(tries.)3350 2047 y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)55
+b(**)e(history_list)c Ff(\()p Fj(v)m(oid)p Ff(\))390
+2157 y Fr(Return)30 b(a)h Fq(NULL)e Fr(terminated)i(arra)m(y)g(of)f
+Fq(HIST_ENTRY)e(*)i Fr(whic)m(h)g(is)h(the)g(curren)m(t)f(input)f
+(history)-8 b(.)390 2267 y(Elemen)m(t)31 b(0)g(of)g(this)f(list)h(is)f
+(the)h(b)s(eginning)f(of)g(time.)42 b(If)29 b(there)i(is)f(no)h
+(history)-8 b(,)31 b(return)e Fq(NULL)p Fr(.)3350 2452
+y([F)-8 b(unction])-3599 b Fg(int)53 b(where_history)d
+Ff(\()p Fj(v)m(oid)p Ff(\))390 2562 y Fr(Returns)29 b(the)i(o\013set)g
+(of)g(the)g(curren)m(t)f(history)g(elemen)m(t.)3350 2748
+y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)55 b(*)e(current_history)d
+Ff(\()p Fj(v)m(oid)p Ff(\))390 2858 y Fr(Return)24 b(the)h(history)g
+(en)m(try)g(at)h(the)f(curren)m(t)f(p)s(osition,)j(as)e(determined)f(b)
+m(y)h Fq(where_history\(\))p Fr(.)390 2967 y(If)30 b(there)g(is)h(no)f
+(en)m(try)h(there,)g(return)e(a)i Fq(NULL)e Fr(p)s(oin)m(ter.)3350
+3153 y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)55 b(*)e(history_get)c
+Ff(\()p Fj(in)m(t)31 b(o\013set)p Ff(\))390 3263 y Fr(Return)41
+b(the)g(history)g(en)m(try)h(at)g(p)s(osition)g Fj(o\013set)r
+Fr(,)j(starting)d(from)f Fq(history_base)d Fr(\(see)k(Sec-)390
+3372 y(tion)32 b(2.4)i([History)e(V)-8 b(ariables],)35
+b(page)d(8\).)47 b(If)31 b(there)i(is)f(no)g(en)m(try)g(there,)h(or)f
+(if)g Fj(o\013set)j Fr(is)d(greater)390 3482 y(than)e(the)h(history)f
+(length,)h(return)e(a)i Fq(NULL)e Fr(p)s(oin)m(ter.)3350
+3668 y([F)-8 b(unction])-3599 b Fg(time_t)54 b(history_get_time)c
+Ff(\()p Fj(HIST)p 1657 3668 28 4 v 40 w(ENTR)-8 b(Y)30
+b(*en)m(try)p Ff(\))390 3778 y Fr(Return)g(the)g(time)h(stamp)f(asso)s
+(ciated)i(with)e(the)h(history)f(en)m(try)h Fj(en)m(try)8
+b Fr(.)3350 3963 y([F)-8 b(unction])-3599 b Fg(int)53
+b(history_total_bytes)e Ff(\()p Fj(v)m(oid)p Ff(\))390
+4073 y Fr(Return)27 b(the)h(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g(that)g
+(the)g(primary)e(history)i(en)m(tries)g(are)g(using.)39
+b(This)27 b(function)390 4183 y(returns)i(the)i(sum)e(of)i(the)f
+(lengths)h(of)f(all)i(the)e(lines)h(in)f(the)g(history)-8
+b(.)150 4383 y Fi(2.3.4)63 b(Mo)m(ving)41 b(Around)h(the)f(History)g
+(List)150 4530 y Fr(These)30 b(functions)g(allo)m(w)i(the)e(curren)m(t)
+h(index)f(in)m(to)h(the)f(history)h(list)g(to)g(b)s(e)f(set)h(or)f(c)m
+(hanged.)3350 4716 y([F)-8 b(unction])-3599 b Fg(int)53
+b(history_set_pos)d Ff(\()p Fj(in)m(t)31 b(p)s(os)p Ff(\))390
+4825 y Fr(Set)37 b(the)f(curren)m(t)g(history)h(o\013set)g(to)g
+Fj(p)s(os)t Fr(,)g(an)g(absolute)g(index)f(in)m(to)h(the)f(list.)60
+b(Returns)35 b(1)i(on)390 4935 y(success,)31 b(0)g(if)f
+Fj(p)s(os)j Fr(is)e(less)f(than)h(zero)g(or)f(greater)i(than)e(the)g(n)
+m(um)m(b)s(er)f(of)i(history)f(en)m(tries.)3350 5121
+y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)55 b(*)e(previous_history)d
+Ff(\()p Fj(v)m(oid)p Ff(\))390 5230 y Fr(Bac)m(k)30 b(up)e(the)h
+(curren)m(t)g(history)f(o\013set)i(to)g(the)f(previous)f(history)h(en)m
+(try)-8 b(,)30 b(and)e(return)g(a)h(p)s(oin)m(ter)390
+5340 y(to)i(that)g(en)m(try)-8 b(.)41 b(If)30 b(there)h(is)f(no)h
+(previous)f(en)m(try)-8 b(,)31 b(return)e(a)i Fq(NULL)e
+Fr(p)s(oin)m(ter.)p eop end
%%Page: 7 10
TeXDict begin 7 9 bop 150 -116 a Fr(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(History)1780 b(7)150
-299 y Fi(2.3.4)63 b(Mo)m(ving)41 b(Around)h(the)f(History)g(List)275
-544 y Fr(These)30 b(functions)g(allo)m(w)h(the)g(curren)m(t)f(index)g
-(in)m(to)h(the)g(history)f(list)h(to)g(b)s(e)f(set)h(or)f(c)m(hanged.)
-3350 730 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(history)p
-703 730 35 5 v 51 w(set)p 897 730 V 49 w(p)s(os)46 b
-Fe(\()p Fq(int)30 b(pos)p Fe(\))390 839 y Fr(Set)37 b(the)g(curren)m(t)
-f(history)g(o\013set)i(to)f Fj(p)s(os)p Fr(,)h(an)f(absolute)g(index)f
-(in)m(to)i(the)e(list.)60 b(Returns)36 b(1)h(on)390 949
-y(success,)31 b(0)g(if)f Fj(p)s(os)j Fr(is)e(less)f(than)h(zero)g(or)f
-(greater)i(than)e(the)g(n)m(um)m(b)s(er)f(of)i(history)f(en)m(tries.)
-3350 1135 y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)41
-b(*)e Ff(previous)p 1232 1135 V 50 w(history)46 b Fe(\()p
-Fq(void)p Fe(\))390 1244 y Fr(Bac)m(k)30 b(up)e(the)h(curren)m(t)g
-(history)f(o\013set)i(to)g(the)f(previous)f(history)h(en)m(try)-8
-b(,)30 b(and)e(return)g(a)h(p)s(oin)m(ter)390 1354 y(to)i(that)g(en)m
-(try)-8 b(.)41 b(If)30 b(there)h(is)f(no)h(previous)f(en)m(try)-8
-b(,)31 b(return)e(a)i Fq(NULL)e Fr(p)s(oin)m(ter.)3350
-1540 y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)41 b(*)e
-Ff(next)p 1032 1540 V 49 w(history)46 b Fe(\()p Fq(void)p
-Fe(\))390 1649 y Fr(Mo)m(v)m(e)38 b(the)d(curren)m(t)h(history)f
-(o\013set)i(forw)m(ard)e(to)h(the)g(next)f(history)h(en)m(try)-8
-b(,)37 b(and)e(return)g(the)h(a)390 1759 y(p)s(oin)m(ter)30
-b(to)h(that)g(en)m(try)-8 b(.)42 b(If)30 b(there)g(is)h(no)f(next)h(en)
-m(try)-8 b(,)31 b(return)e(a)i Fq(NULL)e Fr(p)s(oin)m(ter.)150
-1985 y Fi(2.3.5)63 b(Searc)m(hing)40 b(the)h(History)h(List)275
-2230 y Fr(These)26 b(functions)g(allo)m(w)i(searc)m(hing)g(of)f(the)g
-(history)f(list)i(for)e(en)m(tries)i(con)m(taining)g(a)f(sp)s(eci\014c)
-g(string.)150 2339 y(Searc)m(hing)h(ma)m(y)g(b)s(e)f(p)s(erformed)f(b)s
-(oth)h(forw)m(ard)f(and)h(bac)m(kw)m(ard)h(from)f(the)h(curren)m(t)f
-(history)h(p)s(osition.)150 2449 y(The)j(searc)m(h)h(ma)m(y)g(b)s(e)e
+b(Programming)30 b(with)g(GNU)h(History)1780 b(7)3350
+299 y([F)-8 b(unction])-3599 b Fg(HIST_ENTRY)55 b(*)e(next_history)c
+Ff(\()p Fj(v)m(oid)p Ff(\))390 408 y Fr(Mo)m(v)m(e)38
+b(the)d(curren)m(t)h(history)f(o\013set)i(forw)m(ard)e(to)h(the)g(next)
+f(history)h(en)m(try)-8 b(,)37 b(and)e(return)g(the)h(a)390
+518 y(p)s(oin)m(ter)30 b(to)h(that)g(en)m(try)-8 b(.)42
+b(If)30 b(there)g(is)h(no)f(next)h(en)m(try)-8 b(,)31
+b(return)e(a)i Fq(NULL)e Fr(p)s(oin)m(ter.)150 722 y
+Fi(2.3.5)63 b(Searc)m(hing)40 b(the)h(History)h(List)150
+869 y Fr(These)36 b(functions)g(allo)m(w)i(searc)m(hing)f(of)f(the)h
+(history)f(list)h(for)f(en)m(tries)h(con)m(taining)h(a)f(sp)s(eci\014c)
+f(string.)150 978 y(Searc)m(hing)28 b(ma)m(y)g(b)s(e)f(p)s(erformed)f
+(b)s(oth)h(forw)m(ard)f(and)h(bac)m(kw)m(ard)h(from)f(the)h(curren)m(t)
+f(history)h(p)s(osition.)150 1088 y(The)j(searc)m(h)h(ma)m(y)g(b)s(e)e
Fj(anc)m(hored)p Fr(,)i(meaning)g(that)g(the)f(string)h(m)m(ust)f(matc)
-m(h)h(at)g(the)g(b)s(eginning)e(of)i(the)150 2558 y(history)e(en)m(try)
--8 b(.)3350 2744 y([F)g(unction])-3599 b Fg(int)39 b
-Ff(history)p 703 2744 V 51 w(searc)m(h)44 b Fe(\()p Fq(const)29
-b(char)h(*string,)e(int)h(direction)p Fe(\))390 2854
-y Fr(Searc)m(h)g(the)g(history)g(for)g Fj(string)p Fr(,)g(starting)h
-(at)f(the)g(curren)m(t)g(history)g(o\013set.)41 b(If)28
-b Fj(direction)i Fr(is)f(less)390 2963 y(than)40 b(0,)j(then)c(the)h
-(searc)m(h)h(is)f(through)f(previous)h(en)m(tries,)j(otherwise)d
-(through)g(subsequen)m(t)390 3073 y(en)m(tries.)i(If)30
-b Fj(string)38 b Fr(is)30 b(found,)g(then)g(the)g(curren)m(t)h(history)
-f(index)g(is)g(set)h(to)h(that)f(history)f(en)m(try)-8
-b(,)390 3183 y(and)33 b(the)g(v)-5 b(alue)34 b(returned)e(is)i(the)g
-(o\013set)g(in)f(the)h(line)f(of)h(the)g(en)m(try)f(where)g
-Fj(string)41 b Fr(w)m(as)34 b(found.)390 3292 y(Otherwise,)c(nothing)h
+m(h)h(at)g(the)g(b)s(eginning)e(of)i(the)150 1198 y(history)e(en)m(try)
+-8 b(.)3350 1391 y([F)g(unction])-3599 b Fg(int)53 b(history_search)d
+Ff(\()p Fj(const)31 b(c)m(har)g(*string,)g(in)m(t)g(direction)p
+Ff(\))390 1501 y Fr(Searc)m(h)e(the)f(history)g(for)g
+Fj(string)8 b Fr(,)29 b(starting)g(at)g(the)f(curren)m(t)g(history)h
+(o\013set.)41 b(If)27 b Fj(direction)i Fr(is)g(less)390
+1610 y(than)40 b(0,)j(then)c(the)h(searc)m(h)h(is)f(through)f(previous)
+h(en)m(tries,)j(otherwise)d(through)g(subsequen)m(t)390
+1720 y(en)m(tries.)i(If)30 b Fj(string)38 b Fr(is)30
+b(found,)g(then)g(the)g(curren)m(t)h(history)f(index)g(is)g(set)h(to)h
+(that)f(history)f(en)m(try)-8 b(,)390 1830 y(and)33 b(the)g(v)-5
+b(alue)34 b(returned)e(is)i(the)g(o\013set)g(in)f(the)h(line)f(of)h
+(the)g(en)m(try)f(where)g Fj(string)41 b Fr(w)m(as)34
+b(found.)390 1939 y(Otherwise,)c(nothing)h(is)f(c)m(hanged,)h(and)f(a)h
+(-1)g(is)f(returned.)3350 2133 y([F)-8 b(unction])-3599
+b Fg(int)53 b(history_search_prefix)f Ff(\()p Fj(const)31
+b(c)m(har)g(*string,)g(in)m(t)g(direction)p Ff(\))390
+2242 y Fr(Searc)m(h)40 b(the)g(history)g(for)g Fj(string)8
+b Fr(,)43 b(starting)d(at)h(the)f(curren)m(t)g(history)g(o\013set.)71
+b(The)39 b(searc)m(h)i(is)390 2352 y(anc)m(hored:)f(matc)m(hing)30
+b(lines)f(m)m(ust)g(b)s(egin)f(with)g Fj(string)8 b Fr(.)40
+b(If)29 b Fj(direction)g Fr(is)g(less)g(than)g(0,)g(then)g(the)390
+2461 y(searc)m(h)j(is)f(through)g(previous)g(en)m(tries,)h(otherwise)g
+(through)e(subsequen)m(t)h(en)m(tries.)44 b(If)31 b Fj(string)39
+b Fr(is)390 2571 y(found,)33 b(then)f(the)h(curren)m(t)g(history)g
+(index)g(is)g(set)g(to)h(that)g(en)m(try)-8 b(,)34 b(and)f(the)g
+(return)f(v)-5 b(alue)33 b(is)g(0.)390 2681 y(Otherwise,)d(nothing)h
(is)f(c)m(hanged,)h(and)f(a)h(-1)g(is)f(returned.)3350
-3478 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(history)p
-703 3478 V 51 w(searc)m(h)p 1067 3478 V 49 w(pre\014x)45
-b Fe(\()p Fq(const)29 b(char)g(*string,)g(int)g(direction)p
-Fe(\))390 3588 y Fr(Searc)m(h)41 b(the)g(history)f(for)g
-Fj(string)p Fr(,)k(starting)d(at)g(the)g(curren)m(t)f(history)h
-(o\013set.)72 b(The)40 b(searc)m(h)h(is)390 3697 y(anc)m(hored:)f(matc)
-m(hing)31 b(lines)f(m)m(ust)f(b)s(egin)g(with)g Fj(string)p
-Fr(.)40 b(If)29 b Fj(direction)h Fr(is)g(less)f(than)g(0,)i(then)e(the)
-390 3807 y(searc)m(h)j(is)f(through)g(previous)g(en)m(tries,)h
-(otherwise)g(through)e(subsequen)m(t)h(en)m(tries.)44
-b(If)31 b Fj(string)39 b Fr(is)390 3916 y(found,)33 b(then)f(the)h
-(curren)m(t)g(history)g(index)g(is)g(set)g(to)h(that)g(en)m(try)-8
-b(,)34 b(and)f(the)g(return)f(v)-5 b(alue)33 b(is)g(0.)390
-4026 y(Otherwise,)d(nothing)h(is)f(c)m(hanged,)h(and)f(a)h(-1)g(is)f
-(returned.)3350 4212 y([F)-8 b(unction])-3599 b Fg(int)39
-b Ff(history)p 703 4212 V 51 w(searc)m(h)p 1067 4212
-V 49 w(p)s(os)46 b Fe(\()p Fq(const)29 b(char)g(*string,)f(int)i
-(direction,)d(int)565 4321 y(pos)p Fe(\))390 4431 y Fr(Searc)m(h)34
-b(for)g Fj(string)42 b Fr(in)34 b(the)h(history)f(list,)i(starting)f
-(at)g Fj(p)s(os)p Fr(,)g(an)f(absolute)h(index)e(in)m(to)j(the)e(list.)
-390 4541 y(If)i Fj(direction)g Fr(is)g(negativ)m(e,)k(the)c(searc)m(h)h
-(pro)s(ceeds)f(bac)m(kw)m(ard)g(from)g Fj(p)s(os)p Fr(,)h(otherwise)f
-(forw)m(ard.)390 4650 y(Returns)43 b(the)h(absolute)h(index)f(of)g(the)
+2874 y([F)-8 b(unction])-3599 b Fg(int)53 b(history_search_pos)e
+Ff(\()p Fj(const)31 b(c)m(har)g(*string,)g(in)m(t)g(direction,)g(in)m
+(t)g(p)s(os)p Ff(\))390 2984 y Fr(Searc)m(h)j(for)g Fj(string)42
+b Fr(in)33 b(the)i(history)e(list,)j(starting)f(at)g
+Fj(p)s(os)t Fr(,)f(an)g(absolute)g(index)g(in)m(to)h(the)f(list.)390
+3093 y(If)h Fj(direction)i Fr(is)e(negativ)m(e,)40 b(the)c(searc)m(h)g
+(pro)s(ceeds)f(bac)m(kw)m(ard)i(from)e Fj(p)s(os)t Fr(,)h(otherwise)g
+(forw)m(ard.)390 3203 y(Returns)43 b(the)h(absolute)h(index)f(of)g(the)
g(history)g(elemen)m(t)h(where)f Fj(string)52 b Fr(w)m(as)44
-b(found,)i(or)e(-1)390 4760 y(otherwise.)150 4986 y Fi(2.3.6)63
-b(Managing)41 b(the)g(History)h(File)275 5230 y Fr(The)31
-b(History)h(library)f(can)h(read)f(the)h(history)g(from)f(and)g(write)h
-(it)g(to)g(a)g(\014le.)45 b(This)31 b(section)h(do)s(cu-)150
-5340 y(men)m(ts)f(the)f(functions)g(for)g(managing)h(a)g(history)f
-(\014le.)p eop end
+b(found,)i(or)e(-1)390 3313 y(otherwise.)150 3516 y Fi(2.3.6)63
+b(Managing)41 b(the)g(History)h(File)150 3663 y Fr(The)26
+b(History)h(library)f(can)h(read)g(the)f(history)h(from)f(and)g(write)h
+(it)g(to)g(a)g(\014le.)40 b(This)26 b(section)h(do)s(cumen)m(ts)150
+3773 y(the)k(functions)e(for)i(managing)g(a)g(history)f(\014le.)3350
+3967 y([F)-8 b(unction])-3599 b Fg(int)53 b(read_history)c
+Ff(\()p Fj(const)32 b(c)m(har)e(*\014lename)p Ff(\))390
+4076 y Fr(Add)f(the)h(con)m(ten)m(ts)h(of)f Fj(\014lename)k
+Fr(to)d(the)f(history)f(list,)i(a)f(line)g(at)g(a)g(time.)41
+b(If)29 b Fj(\014lename)35 b Fr(is)30 b Fq(NULL)p Fr(,)390
+4186 y(then)g(read)g(from)g(`)p Fq(~/.history)p Fr('.)39
+b(Returns)29 b(0)i(if)f(successful,)h(or)f Fq(errno)f
+Fr(if)h(not.)3350 4379 y([F)-8 b(unction])-3599 b Fg(int)53
+b(read_history_range)e Ff(\()p Fj(const)31 b(c)m(har)g(*\014lename,)g
+(in)m(t)g(from,)f(in)m(t)h(to)p Ff(\))390 4489 y Fr(Read)d(a)g(range)f
+(of)h(lines)g(from)f Fj(\014lename)5 b Fr(,)29 b(adding)e(them)g(to)h
+(the)g(history)f(list.)41 b(Start)28 b(reading)f(at)390
+4598 y(line)f Fj(from)g Fr(and)f(end)g(at)i Fj(to)5 b
+Fr(.)40 b(If)25 b Fj(from)h Fr(is)g(zero,)i(start)e(at)h(the)f(b)s
+(eginning.)38 b(If)26 b Fj(to)31 b Fr(is)26 b(less)g(than)g
+Fj(from)p Fr(,)390 4708 y(then)k(read)g(un)m(til)g(the)g(end)g(of)g
+(the)g(\014le.)41 b(If)30 b Fj(\014lename)35 b Fr(is)30
+b Fq(NULL)p Fr(,)g(then)f(read)h(from)g(`)p Fq(~/.history)p
+Fr('.)390 4818 y(Returns)f(0)i(if)g(successful,)f(or)g
+Fq(errno)f Fr(if)i(not.)3350 5011 y([F)-8 b(unction])-3599
+b Fg(int)53 b(write_history)d Ff(\()p Fj(const)31 b(c)m(har)g
+(*\014lename)p Ff(\))390 5121 y Fr(W)-8 b(rite)36 b(the)e(curren)m(t)h
+(history)f(to)h Fj(\014lename)5 b Fr(,)36 b(o)m(v)m(erwriting)g
+Fj(\014lename)k Fr(if)34 b(necessary)-8 b(.)54 b(If)34
+b Fj(\014lename)390 5230 y Fr(is)e Fq(NULL)p Fr(,)g(then)g(write)g(the)
+h(history)f(list)h(to)g(`)p Fq(~/.history)p Fr('.)44
+b(Returns)31 b(0)i(on)f(success,)h(or)f Fq(errno)390
+5340 y Fr(on)e(a)h(read)f(or)h(write)f(error.)p eop end
%%Page: 8 11
TeXDict begin 8 10 bop 150 -116 a Fr(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(History)1780 b(8)3350
-299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(read)p
-573 299 35 5 v 50 w(history)45 b Fe(\()p Fq(const)29
-b(char)h(*filename)p Fe(\))390 408 y Fr(Add)f(the)h(con)m(ten)m(ts)h
-(of)f Fj(\014lename)k Fr(to)d(the)f(history)f(list,)i(a)f(line)g(at)g
-(a)g(time.)41 b(If)29 b Fj(\014lename)35 b Fr(is)30 b
-Fq(NULL)p Fr(,)390 518 y(then)g(read)g(from)g(`)p Fq(~/.history)p
-Fr('.)39 b(Returns)29 b(0)i(if)f(successful,)h(or)f Fq(errno)f
-Fr(if)h(not.)3350 717 y([F)-8 b(unction])-3599 b Fg(int)39
-b Ff(read)p 573 717 V 50 w(history)p 973 717 V 50 w(range)45
-b Fe(\()p Fq(const)29 b(char)g(*filename,)f(int)h(from,)g(int)h(to)p
-Fe(\))390 826 y Fr(Read)e(a)g(range)h(of)f(lines)g(from)f
-Fj(\014lename)p Fr(,)i(adding)e(them)h(to)h(the)f(history)g(list.)40
-b(Start)28 b(reading)g(at)390 936 y(line)f Fj(from)e
-Fr(and)h(end)f(at)i Fj(to)p Fr(.)41 b(If)25 b Fj(from)h
-Fr(is)g(zero,)i(start)f(at)g(the)f(b)s(eginning.)39 b(If)26
-b Fj(to)31 b Fr(is)c(less)f(than)g Fj(from)p Fr(,)390
-1045 y(then)k(read)g(un)m(til)g(the)g(end)g(of)g(the)g(\014le.)41
-b(If)30 b Fj(\014lename)35 b Fr(is)30 b Fq(NULL)p Fr(,)g(then)f(read)h
-(from)g(`)p Fq(~/.history)p Fr('.)390 1155 y(Returns)f(0)i(if)g
-(successful,)f(or)g Fq(errno)f Fr(if)i(not.)3350 1353
-y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(write)p 613
-1353 V 49 w(history)46 b Fe(\()p Fq(const)29 b(char)g(*filename)p
-Fe(\))390 1463 y Fr(W)-8 b(rite)36 b(the)f(curren)m(t)g(history)g(to)g
-Fj(\014lename)p Fr(,)h(o)m(v)m(erwriting)h Fj(\014lename)j
-Fr(if)35 b(necessary)-8 b(.)54 b(If)35 b Fj(\014lename)390
-1573 y Fr(is)d Fq(NULL)p Fr(,)g(then)g(write)g(the)h(history)f(list)h
-(to)g(`)p Fq(~/.history)p Fr('.)44 b(Returns)31 b(0)i(on)f(success,)h
-(or)f Fq(errno)390 1682 y Fr(on)e(a)h(read)f(or)h(write)f(error.)3350
-1881 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(app)s(end)p
-721 1881 V 48 w(history)46 b Fe(\()p Fq(int)30 b(nelements,)e(const)g
-(char)i(*filename)p Fe(\))390 1990 y Fr(App)s(end)j(the)i(last)g
-Fj(nelemen)m(ts)k Fr(of)c(the)g(history)f(list)i(to)f
-Fj(\014lename)p Fr(.)54 b(If)34 b Fj(\014lename)40 b
-Fr(is)34 b Fq(NULL)p Fr(,)h(then)390 2100 y(app)s(end)29
-b(to)i(`)p Fq(~/.history)p Fr('.)38 b(Returns)30 b(0)g(on)h(success,)g
-(or)f Fq(errno)f Fr(on)h(a)h(read)f(or)h(write)f(error.)3350
-2299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(history)p
-703 2299 V 51 w(truncate)p 1179 2299 V 48 w(\014le)44
-b Fe(\()p Fq(const)30 b(char)f(*filename,)e(int)j(nlines)p
-Fe(\))390 2408 y Fr(T)-8 b(runcate)39 b(the)f(history)h(\014le)f
-Fj(\014lename)p Fr(,)j(lea)m(ving)f(only)f(the)g(last)g
-Fj(nlines)j Fr(lines.)65 b(If)38 b Fj(\014lename)44 b
-Fr(is)390 2518 y Fq(NULL)p Fr(,)29 b(then)i(`)p Fq(~/.history)p
+299 y([F)-8 b(unction])-3599 b Fg(int)53 b(append_history)d
+Ff(\()p Fj(in)m(t)31 b(nelemen)m(ts,)h(const)f(c)m(har)f(*\014lename)p
+Ff(\))390 408 y Fr(App)s(end)i(the)j(last)g Fj(nelemen)m(ts)k
+Fr(of)34 b(the)h(history)f(list)h(to)g Fj(\014lename)5
+b Fr(.)53 b(If)34 b Fj(\014lename)39 b Fr(is)c Fq(NULL)p
+Fr(,)f(then)390 518 y(app)s(end)29 b(to)i(`)p Fq(~/.history)p
+Fr('.)38 b(Returns)30 b(0)g(on)h(success,)g(or)f Fq(errno)f
+Fr(on)h(a)h(read)f(or)h(write)f(error.)3350 705 y([F)-8
+b(unction])-3599 b Fg(int)53 b(history_truncate_file)f
+Ff(\()p Fj(const)31 b(c)m(har)g(*\014lename,)g(in)m(t)g(nlines)p
+Ff(\))390 814 y Fr(T)-8 b(runcate)38 b(the)h(history)f(\014le)g
+Fj(\014lename)5 b Fr(,)41 b(lea)m(ving)e(only)g(the)f(last)h
+Fj(nlines)j Fr(lines.)64 b(If)37 b Fj(\014lename)44 b
+Fr(is)390 924 y Fq(NULL)p Fr(,)29 b(then)i(`)p Fq(~/.history)p
Fr(')d(is)i(truncated.)41 b(Returns)29 b(0)i(on)f(success,)h(or)f
-Fq(errno)f Fr(on)i(failure.)150 2756 y Fi(2.3.7)63 b(History)41
-b(Expansion)275 3007 y Fr(These)30 b(functions)g(implemen)m(t)h
-(history)f(expansion.)3350 3206 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(history)p 703 3206 V 51 w(expand)44
-b Fe(\()p Fq(char)29 b(*string,)f(char)i(**output)p Fe(\))390
-3315 y Fr(Expand)j Fj(string)p Fr(,)j(placing)f(the)f(result)h(in)m(to)
-g Fj(output)p Fr(,)g(a)g(p)s(oin)m(ter)f(to)h(a)g(string)f(\(see)i
-(Section)f(1.1)390 3425 y([History)c(In)m(teraction],)i(page)e(1\).)41
-b(Returns:)390 3595 y Fq(0)432 b Fr(If)37 b(no)g(expansions)g(to)s(ok)i
+Fq(errno)f Fr(on)i(failure.)150 1124 y Fi(2.3.7)63 b(History)41
+b(Expansion)150 1271 y Fr(These)30 b(functions)g(implemen)m(t)h
+(history)f(expansion.)3350 1457 y([F)-8 b(unction])-3599
+b Fg(int)53 b(history_expand)d Ff(\()p Fj(c)m(har)31
+b(*string,)g(c)m(har)g(**output)p Ff(\))390 1567 y Fr(Expand)h
+Fj(string)8 b Fr(,)35 b(placing)f(the)g(result)g(in)m(to)g
+Fj(output)r Fr(,)h(a)f(p)s(oin)m(ter)g(to)g(a)g(string)g(\(see)g
+(Section)h(1.1)390 1677 y([History)c(In)m(teraction],)i(page)e(1\).)41
+b(Returns:)390 1838 y Fq(0)432 b Fr(If)37 b(no)g(expansions)g(to)s(ok)i
(place)f(\(or,)i(if)d(the)h(only)f(c)m(hange)i(in)e(the)g(text)i(w)m
-(as)f(the)870 3705 y(remo)m(v)-5 b(al)31 b(of)g(escap)s(e)f(c)m
+(as)f(the)870 1947 y(remo)m(v)-5 b(al)31 b(of)g(escap)s(e)f(c)m
(haracters)i(preceding)e(the)g(history)g(expansion)g(c)m(haracter\);)
-390 3871 y Fq(1)432 b Fr(if)30 b(expansions)g(did)g(tak)m(e)i(place;)
-390 4038 y Fq(-1)384 b Fr(if)30 b(there)h(w)m(as)g(an)f(error)g(in)g
-(expansion;)390 4204 y Fq(2)432 b Fr(if)28 b(the)f(returned)g(line)g
+390 2108 y Fq(1)432 b Fr(if)30 b(expansions)g(did)g(tak)m(e)i(place;)
+390 2268 y Fq(-1)384 b Fr(if)30 b(there)h(w)m(as)g(an)f(error)g(in)g
+(expansion;)390 2429 y Fq(2)432 b Fr(if)28 b(the)f(returned)g(line)g
(should)g(b)s(e)g(displa)m(y)m(ed,)i(but)e(not)h(executed,)h(as)f(with)
-f(the)h Fq(:p)870 4314 y Fr(mo)s(di\014er)h(\(see)j(Section)f(1.1.3)h
-([Mo)s(di\014ers],)e(page)i(2\).)390 4484 y(If)e(an)g(error)g(o)s
+f(the)h Fq(:p)870 2538 y Fr(mo)s(di\014er)h(\(see)j(Section)f(1.1.3)h
+([Mo)s(di\014ers],)e(page)i(2\).)390 2699 y(If)e(an)g(error)g(o)s
(curred)f(in)i(expansion,)f(then)g Fj(output)i Fr(con)m(tains)g(a)e
-(descriptiv)m(e)i(error)e(message.)3350 4682 y([F)-8
-b(unction])-3599 b Fg(char)39 b(*)g Ff(get)p 651 4682
-V 50 w(history)p 1051 4682 V 50 w(ev)m(en)m(t)44 b Fe(\()p
-Fq(const)29 b(char)h(*string,)e(int)h(*cindex,)f(int)565
-4792 y(qchar)p Fe(\))390 4902 y Fr(Returns)45 b(the)g(text)i(of)e(the)h
-(history)f(ev)m(en)m(t)i(b)s(eginning)e(at)h Fj(string)53
-b Fq(+)45 b Fj(*cindex)p Fr(.)87 b Fj(*cindex)52 b Fr(is)390
-5011 y(mo)s(di\014ed)28 b(to)i(p)s(oin)m(t)f(to)h(after)g(the)g(ev)m
-(en)m(t)h(sp)s(eci\014er.)39 b(A)m(t)31 b(function)e(en)m(try)-8
-b(,)30 b Fj(cindex)36 b Fr(p)s(oin)m(ts)29 b(to)h(the)390
-5121 y(index)35 b(in)m(to)i Fj(string)44 b Fr(where)35
+(descriptiv)m(e)i(error)e(message.)3350 2886 y([F)-8
+b(unction])-3599 b Fg(char)54 b(*)e(get_history_event)f
+Ff(\()p Fj(const)31 b(c)m(har)g(*string,)g(in)m(t)g(*cindex,)g(in)m(t)g
+(qc)m(har)p Ff(\))390 2995 y Fr(Returns)44 b(the)h(text)h(of)g(the)f
+(history)g(ev)m(en)m(t)h(b)s(eginning)f(at)g Fj(string)53
+b Fq(+)45 b Fj(*cindex)6 b Fr(.)85 b Fj(*cindex)52 b
+Fr(is)390 3105 y(mo)s(di\014ed)28 b(to)i(p)s(oin)m(t)f(to)h(after)g
+(the)g(ev)m(en)m(t)h(sp)s(eci\014er.)39 b(A)m(t)31 b(function)e(en)m
+(try)-8 b(,)30 b Fj(cindex)36 b Fr(p)s(oin)m(ts)29 b(to)h(the)390
+3214 y(index)35 b(in)m(to)i Fj(string)44 b Fr(where)35
b(the)h(history)g(ev)m(en)m(t)h(sp)s(eci\014cation)g(b)s(egins.)57
-b Fj(qc)m(har)42 b Fr(is)36 b(a)g(c)m(haracter)390 5230
+b Fj(qc)m(har)42 b Fr(is)36 b(a)g(c)m(haracter)390 3324
y(that)27 b(is)g(allo)m(w)m(ed)i(to)f(end)e(the)h(ev)m(en)m(t)h(sp)s
(eci\014cation)g(in)f(addition)g(to)g(the)g(\\normal")h(terminating)390
-5340 y(c)m(haracters.)p eop end
+3434 y(c)m(haracters.)3350 3620 y([F)-8 b(unction])-3599
+b Fg(char)54 b(**)e(history_tokenize)f Ff(\()p Fj(const)31
+b(c)m(har)g(*string)p Ff(\))390 3730 y Fr(Return)f(an)g(arra)m(y)h(of)f
+(tok)m(ens)i(parsed)d(out)i(of)g Fj(string)8 b Fr(,)30
+b(m)m(uc)m(h)h(as)f(the)h(shell)f(migh)m(t.)42 b(The)30
+b(tok)m(ens)390 3839 y(are)h(split)g(on)f(the)h(c)m(haracters)h(in)e
+(the)h Fj(history)p 2006 3839 28 4 v 40 w(w)m(ord)p 2241
+3839 V 39 w(delimiters)k Fr(v)-5 b(ariable,)32 b(and)e(shell)g(quoting)
+390 3949 y(con)m(v)m(en)m(tions)i(are)f(ob)s(ey)m(ed.)3350
+4135 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(history_arg_extract)f
+Ff(\()p Fj(in)m(t)32 b(\014rst,)d(in)m(t)i(last,)h(const)f(c)m(har)f
+(*string)p Ff(\))390 4245 y Fr(Extract)41 b(a)g(string)f(segmen)m(t)i
+(consisting)f(of)f(the)h Fj(\014rst)g Fr(through)f Fj(last)j
+Fr(argumen)m(ts)e(presen)m(t)f(in)390 4354 y Fj(string)8
+b Fr(.)40 b(Argumen)m(ts)31 b(are)g(split)f(using)g Fq
+(history_tokenize)p Fr(.)150 4588 y Fp(2.4)68 b(History)46
+b(V)-11 b(ariables)150 4748 y Fr(This)26 b(section)i(describ)s(es)e
+(the)h(externally-visible)i(v)-5 b(ariables)28 b(exp)s(orted)e(b)m(y)h
+(the)g Fk(gnu)g Fr(History)g(Library)-8 b(.)3371 4934
+y([V)g(ariable])-3598 b Fg(int)53 b(history_base)390
+5044 y Fr(The)30 b(logical)j(o\013set)e(of)g(the)f(\014rst)g(en)m(try)g
+(in)h(the)f(history)g(list.)3371 5230 y([V)-8 b(ariable])-3598
+b Fg(int)53 b(history_length)390 5340 y Fr(The)30 b(n)m(um)m(b)s(er)f
+(of)h(en)m(tries)i(curren)m(tly)e(stored)h(in)f(the)g(history)g(list.)p
+eop end
%%Page: 9 12
TeXDict begin 9 11 bop 150 -116 a Fr(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(History)1780 b(9)3350
-299 y([F)-8 b(unction])-3599 b Fg(char)39 b(**)g Ff(history)p
-898 299 35 5 v 51 w(tok)m(enize)44 b Fe(\()p Fq(const)29
-b(char)g(*string)p Fe(\))390 408 y Fr(Return)h(an)h(arra)m(y)g(of)g
-(tok)m(ens)h(parsed)e(out)h(of)g Fj(string)p Fr(,)h(m)m(uc)m(h)e(as)i
-(the)f(shell)g(migh)m(t.)43 b(The)30 b(tok)m(ens)390
-518 y(are)h(split)g(on)f(the)h(c)m(haracters)h(in)e(the)h
-Fj(history)p 2006 518 28 4 v 40 w(w)m(ord)p 2241 518
-V 39 w(delimiters)k Fr(v)-5 b(ariable,)32 b(and)e(shell)g(quoting)390
-628 y(con)m(v)m(en)m(tions)i(are)f(ob)s(ey)m(ed.)3350
-818 y([F)-8 b(unction])-3599 b Fg(char)39 b(*)g Ff(history)p
-846 818 35 5 v 50 w(arg)p 1056 818 V 51 w(extract)44
-b Fe(\()p Fq(int)30 b(first,)f(int)g(last,)g(const)g(char)565
-927 y(*string)p Fe(\))390 1037 y Fr(Extract)41 b(a)g(string)f(segmen)m
-(t)i(consisting)f(of)f(the)h Fj(\014rst)g Fr(through)f
-Fj(last)j Fr(argumen)m(ts)e(presen)m(t)f(in)390 1146
-y Fj(string)p Fr(.)h(Argumen)m(ts)30 b(are)h(split)f(using)g
-Fq(history_tokenize)p Fr(.)150 1411 y Fp(2.4)68 b(History)46
-b(V)-11 b(ariables)275 1658 y Fr(This)33 b(section)i(describ)s(es)e
-(the)h(externally-visible)i(v)-5 b(ariables)35 b(exp)s(orted)e(b)m(y)h
-(the)g Fk(gnu)g Fr(History)h(Li-)150 1767 y(brary)-8
-b(.)3371 1957 y([V)g(ariable])-3598 b Fg(int)39 b Ff(history)p
-703 1957 V 51 w(base)390 2067 y Fr(The)30 b(logical)j(o\013set)e(of)g
-(the)f(\014rst)g(en)m(try)g(in)h(the)f(history)g(list.)3371
-2257 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(history)p
-703 2257 V 51 w(length)390 2366 y Fr(The)30 b(n)m(um)m(b)s(er)f(of)h
-(en)m(tries)i(curren)m(tly)e(stored)h(in)f(the)g(history)g(list.)3371
-2556 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(history)p
-703 2556 V 51 w(max)p 965 2556 V 51 w(en)m(tries)390
-2666 y Fr(The)45 b(maxim)m(um)h(n)m(um)m(b)s(er)f(of)h(history)g(en)m
+b(Programming)30 b(with)g(GNU)h(History)1780 b(9)3371
+299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(history_max_entries)390
+408 y Fr(The)45 b(maxim)m(um)h(n)m(um)m(b)s(er)f(of)h(history)g(en)m
(tries.)88 b(This)45 b(m)m(ust)h(b)s(e)f(c)m(hanged)i(using)e
-Fq(stifle_)390 2776 y(history\(\))p Fr(.)3371 2966 y([V)-8
-b(ariable])-3598 b Fg(int)39 b Ff(history)p 703 2966
-V 51 w(write)p 1014 2966 V 49 w(timestamps)390 3075 y
-Fr(If)44 b(non-zero,)49 b(timestamps)c(are)g(written)g(to)g(the)g
+Fq(stifle_)390 518 y(history\(\))p Fr(.)3371 701 y([V)-8
+b(ariable])-3598 b Fg(int)53 b(history_write_timesta)q(mps)390
+811 y Fr(If)44 b(non-zero,)49 b(timestamps)c(are)g(written)g(to)g(the)g
(history)f(\014le,)49 b(so)c(they)f(can)h(b)s(e)f(preserv)m(ed)390
-3185 y(b)s(et)m(w)m(een)31 b(sessions.)41 b(The)30 b(default)g(v)-5
+920 y(b)s(et)m(w)m(een)31 b(sessions.)41 b(The)30 b(default)g(v)-5
b(alue)31 b(is)f(0,)h(meaning)g(that)g(timestamps)g(are)g(not)f(sa)m(v)
-m(ed.)3371 3375 y([V)-8 b(ariable])-3598 b Fg(char)39
-b Ff(history)p 755 3375 V 51 w(expansion)p 1301 3375
-V 49 w(c)m(har)390 3484 y Fr(The)c(c)m(haracter)i(that)e(in)m(tro)s
-(duces)g(a)h(history)f(ev)m(en)m(t.)57 b(The)34 b(default)i(is)f(`)p
-Fq(!)p Fr('.)56 b(Setting)35 b(this)h(to)g(0)390 3594
-y(inhibits)30 b(history)g(expansion.)3371 3784 y([V)-8
-b(ariable])-3598 b Fg(char)39 b Ff(history)p 755 3784
-V 51 w(subst)p 1069 3784 V 50 w(c)m(har)390 3893 y Fr(The)h(c)m
-(haracter)i(that)g(in)m(v)m(ok)m(es)g(w)m(ord)f(substitution)f(if)h
-(found)e(at)i(the)g(start)g(of)g(a)g(line.)72 b(The)390
-4003 y(default)31 b(is)f(`)p Fq(^)p Fr('.)3371 4193 y([V)-8
-b(ariable])-3598 b Fg(char)39 b Ff(history)p 755 4193
-V 51 w(commen)m(t)p 1263 4193 V 50 w(c)m(har)390 4303
-y Fr(During)e(tok)m(enization,)43 b(if)38 b(this)f(c)m(haracter)j(is)e
-(seen)f(as)h(the)g(\014rst)f(c)m(haracter)j(of)e(a)g(w)m(ord,)h(then)
-390 4412 y(it)44 b(and)e(all)j(subsequen)m(t)d(c)m(haracters)j(up)d(to)
-i(a)g(newline)f(are)h(ignored,)i(suppressing)c(history)390
-4522 y(expansion)30 b(for)g(the)h(remainder)f(of)g(the)h(line.)41
-b(This)29 b(is)i(disabled)f(b)m(y)g(default.)3371 4712
-y([V)-8 b(ariable])-3598 b Fg(char)39 b(*)g Ff(history)p
-846 4712 V 50 w(w)m(ord)p 1144 4712 V 51 w(delimiters)390
-4821 y Fr(The)27 b(c)m(haracters)i(that)f(separate)h(tok)m(ens)f(for)f
-Fq(history_tokenize\(\))p Fr(.)35 b(The)27 b(default)h(v)-5
-b(alue)28 b(is)f Fq(")390 4931 y(\\t\\n\(\)<>;&|")p Fr(.)3371
-5121 y([V)-8 b(ariable])-3598 b Fg(char)39 b(*)g Ff(history)p
-846 5121 V 50 w(searc)m(h)p 1209 5121 V 50 w(delimiter)p
-1712 5121 V 49 w(c)m(hars)390 5230 y Fr(The)26 b(list)g(of)g
-(additional)h(c)m(haracters)h(whic)m(h)e(can)g(delimit)h(a)f(history)g
-(searc)m(h)h(string,)g(in)f(addition)390 5340 y(to)31
-b(space,)g(T)-8 b(AB,)32 b(`)p Fq(:)p Fr(')e(and)g(`)p
+m(ed.)3371 1103 y([V)-8 b(ariable])-3598 b Fg(char)54
+b(history_expansion_char)390 1213 y Fr(The)35 b(c)m(haracter)i(that)e
+(in)m(tro)s(duces)g(a)h(history)f(ev)m(en)m(t.)57 b(The)34
+b(default)i(is)f(`)p Fq(!)p Fr('.)56 b(Setting)35 b(this)h(to)g(0)390
+1322 y(inhibits)30 b(history)g(expansion.)3371 1505 y([V)-8
+b(ariable])-3598 b Fg(char)54 b(history_subst_char)390
+1615 y Fr(The)40 b(c)m(haracter)i(that)g(in)m(v)m(ok)m(es)g(w)m(ord)f
+(substitution)f(if)h(found)e(at)i(the)g(start)g(of)g(a)g(line.)72
+b(The)390 1725 y(default)31 b(is)f(`)p Fq(^)p Fr('.)3371
+1908 y([V)-8 b(ariable])-3598 b Fg(char)54 b(history_comment_char)390
+2017 y Fr(During)37 b(tok)m(enization,)43 b(if)38 b(this)f(c)m
+(haracter)j(is)e(seen)f(as)h(the)g(\014rst)f(c)m(haracter)j(of)e(a)g(w)
+m(ord,)h(then)390 2127 y(it)44 b(and)e(all)j(subsequen)m(t)d(c)m
+(haracters)j(up)d(to)i(a)g(newline)f(are)h(ignored,)i(suppressing)c
+(history)390 2236 y(expansion)30 b(for)g(the)h(remainder)f(of)g(the)h
+(line.)41 b(This)29 b(is)i(disabled)f(b)m(y)g(default.)3371
+2419 y([V)-8 b(ariable])-3598 b Fg(char)54 b(*)e
+(history_word_delimiter)q(s)390 2529 y Fr(The)27 b(c)m(haracters)i
+(that)f(separate)h(tok)m(ens)f(for)f Fq(history_tokenize\(\))p
+Fr(.)35 b(The)27 b(default)h(v)-5 b(alue)28 b(is)f Fq(")390
+2638 y(\\t\\n\(\)<>;&|")p Fr(.)3371 2821 y([V)-8 b(ariable])-3598
+b Fg(char)54 b(*)e(history_search_delimit)q(er_)q(cha)q(rs)390
+2931 y Fr(The)26 b(list)g(of)g(additional)h(c)m(haracters)h(whic)m(h)e
+(can)g(delimit)h(a)f(history)g(searc)m(h)h(string,)g(in)f(addition)390
+3041 y(to)31 b(space,)g(T)-8 b(AB,)32 b(`)p Fq(:)p Fr(')e(and)g(`)p
Fq(?)p Fr(')g(in)g(the)h(case)g(of)g(a)g(substring)e(searc)m(h.)41
-b(The)30 b(default)h(is)f(empt)m(y)-8 b(.)p eop end
-%%Page: 10 13
-TeXDict begin 10 12 bop 150 -116 a Fr(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(History)1734 b(10)3371
-299 y([V)-8 b(ariable])-3598 b Fg(char)39 b(*)g Ff(history)p
-846 299 35 5 v 50 w(no)p 1017 299 V 51 w(expand)p 1429
-299 V 49 w(c)m(hars)390 408 y Fr(The)29 b(list)i(of)f(c)m(haracters)h
-(whic)m(h)e(inhibit)h(history)g(expansion)f(if)h(found)e(immediately)j
-(follo)m(wing)390 518 y Fj(history)p 672 518 28 4 v 40
-w(expansion)p 1104 518 V 40 w(c)m(har)p Fr(.)41 b(The)30
-b(default)g(is)h(space,)g(tab,)g(newline,)f(carriage)i(return,)e(and)g
-(`)p Fq(=)p Fr('.)3371 707 y([V)-8 b(ariable])-3598 b
-Fg(int)39 b Ff(history)p 703 707 35 5 v 51 w(quotes)p
-1078 707 V 50 w(inhibit)p 1461 707 V 48 w(expansion)390
-817 y Fr(If)29 b(non-zero,)h(single-quoted)g(w)m(ords)f(are)g(not)h
+b(The)30 b(default)h(is)f(empt)m(y)-8 b(.)3371 3224 y([V)g(ariable])
+-3598 b Fg(char)54 b(*)e(history_no_expand_char)q(s)390
+3333 y Fr(The)29 b(list)i(of)f(c)m(haracters)h(whic)m(h)e(inhibit)h
+(history)g(expansion)f(if)h(found)e(immediately)j(follo)m(wing)390
+3443 y Fj(history)p 672 3443 28 4 v 40 w(expansion)p
+1104 3443 V 40 w(c)m(har)7 b Fr(.)41 b(The)29 b(default)i(is)f(space,)i
+(tab,)e(newline,)h(carriage)h(return,)d(and)h(`)p Fq(=)p
+Fr('.)3371 3626 y([V)-8 b(ariable])-3598 b Fg(int)53
+b(history_quotes_inhibi)q(t_ex)q(pan)q(sio)q(n)390 3735
+y Fr(If)29 b(non-zero,)h(single-quoted)g(w)m(ords)f(are)g(not)h
(scanned)f(for)g(the)g(history)g(expansion)g(c)m(haracter.)390
-927 y(The)h(default)g(v)-5 b(alue)31 b(is)g(0.)3371 1116
-y([V)-8 b(ariable])-3598 b Fg(rl_linebuf_func_t)43 b(*)c
-Ff(history)p 1526 1116 V 50 w(inhibit)p 1909 1116 V 49
-w(expansion)p 2453 1116 V 49 w(function)390 1226 y Fr(This)32
-b(should)h(b)s(e)f(set)i(to)g(the)g(address)e(of)i(a)f(function)g(that)
-h(tak)m(es)h(t)m(w)m(o)g(argumen)m(ts:)46 b(a)34 b Fq(char)29
-b(*)390 1335 y Fr(\()p Fj(string)8 b Fr(\))27 b(and)f(an)g
-Fq(int)g Fr(index)g(in)m(to)i(that)f(string)f(\()p Fj(i)5
-b Fr(\).)40 b(It)27 b(should)f(return)f(a)i(non-zero)g(v)-5
-b(alue)27 b(if)g(the)390 1445 y(history)i(expansion)g(starting)h(at)g
-Fj(string[i])j Fr(should)28 b(not)i(b)s(e)e(p)s(erformed;)h(zero)h(if)f
-(the)g(expansion)390 1554 y(should)i(b)s(e)g(done.)45
+3845 y(The)h(default)g(v)-5 b(alue)31 b(is)g(0.)3371
+4028 y([V)-8 b(ariable])-3598 b Fg(rl_linebuf_func_t)57
+b(*)c(history_inhibit_expans)q(ion)q(_fu)q(ncti)q(on)390
+4137 y Fr(This)32 b(should)h(b)s(e)f(set)i(to)g(the)g(address)e(of)i(a)
+f(function)g(that)h(tak)m(es)h(t)m(w)m(o)g(argumen)m(ts:)46
+b(a)34 b Fq(char)29 b(*)390 4247 y Fr(\()p Fj(string)8
+b Fr(\))27 b(and)f(an)g Fq(int)g Fr(index)g(in)m(to)i(that)f(string)f
+(\()p Fj(i)5 b Fr(\).)40 b(It)27 b(should)f(return)f(a)i(non-zero)g(v)
+-5 b(alue)27 b(if)g(the)390 4357 y(history)i(expansion)g(starting)h(at)
+g Fj(string[i])j Fr(should)28 b(not)i(b)s(e)e(p)s(erformed;)h(zero)h
+(if)f(the)g(expansion)390 4466 y(should)i(b)s(e)g(done.)45
b(It)32 b(is)g(in)m(tended)g(for)g(use)g(b)m(y)f(applications)i(lik)m
-(e)h(Bash)e(that)g(use)g(the)g(history)390 1664 y(expansion)e(c)m
+(e)h(Bash)e(that)g(use)g(the)g(history)390 4576 y(expansion)e(c)m
(haracter)i(for)e(additional)i(purp)s(oses.)39 b(By)30
b(default,)h(this)f(v)-5 b(ariable)31 b(is)g(set)g(to)g
-Fq(NULL)p Fr(.)150 1928 y Fp(2.5)68 b(History)46 b(Programming)g
-(Example)275 2174 y Fr(The)29 b(follo)m(wing)j(program)e(demonstrates)h
-(simple)g(use)f(of)g(the)h Fk(gnu)f Fr(History)h(Library)-8
-b(.)390 2289 y Fd(#include)41 b(<stdio.h>)390 2376 y(#include)g
-(<readline/history.h>)390 2550 y(main)f(\(argc,)h(argv\))586
-2638 y(int)f(argc;)586 2725 y(char)g(**argv;)390 2812
-y({)468 2899 y(char)h(line[1024],)g(*t;)468 2986 y(int)f(len,)g(done)h
-(=)e(0;)468 3161 y(line[0])i(=)f(0;)468 3335 y(using_history)j(\(\);)
-468 3422 y(while)e(\(!done\))547 3509 y({)625 3597 y(printf)g
-(\("history$)g("\);)625 3684 y(fflush)g(\(stdout\);)625
-3771 y(t)f(=)f(fgets)i(\(line,)f(sizeof)h(\(line\))f(-)g(1,)g(stdin\);)
-625 3858 y(if)g(\(t)g(&&)f(*t\))704 3945 y({)782 4032
-y(len)h(=)g(strlen)g(\(t\);)782 4120 y(if)g(\(t[len)h(-)e(1])h(==)f
-('\\n'\))861 4207 y(t[len)h(-)g(1])f(=)h('\\0';)704 4294
-y(})625 4468 y(if)g(\(!t\))704 4555 y(strcpy)g(\(line,)h("quit"\);)625
-4730 y(if)f(\(line[0]\))704 4817 y({)782 4904 y(char)g(*expansion;)782
-4991 y(int)g(result;)782 5166 y(result)h(=)e(history_expand)k(\(line,)d
-(&expansion\);)782 5253 y(if)g(\(result\))861 5340 y(fprintf)h
-(\(stderr,)g("\045s\\n",)f(expansion\);)p eop end
+Fq(NULL)p Fr(.)150 4807 y Fp(2.5)68 b(History)46 b(Programming)g
+(Example)150 4967 y Fr(The)30 b(follo)m(wing)i(program)e(demonstrates)h
+(simple)f(use)g(of)h(the)f Fk(gnu)g Fr(History)h(Library)-8
+b(.)390 5078 y Fe(#include)41 b(<stdio.h>)390 5166 y(#include)g
+(<readline/history.h>)390 5340 y(main)f(\(argc,)h(argv\))p
+eop end
+%%Page: 10 13
+TeXDict begin 10 12 bop 150 -116 a Fr(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(History)1734 b(10)586
+299 y Fe(int)40 b(argc;)586 386 y(char)g(**argv;)390
+473 y({)468 560 y(char)h(line[1024],)g(*t;)468 648 y(int)f(len,)g(done)
+h(=)e(0;)468 822 y(line[0])i(=)f(0;)468 996 y(using_history)j(\(\);)468
+1083 y(while)e(\(!done\))547 1171 y({)625 1258 y(printf)g(\("history$)g
+("\);)625 1345 y(fflush)g(\(stdout\);)625 1432 y(t)f(=)f(fgets)i
+(\(line,)f(sizeof)h(\(line\))f(-)g(1,)g(stdin\);)625
+1519 y(if)g(\(t)g(&&)f(*t\))704 1606 y({)782 1694 y(len)h(=)g(strlen)g
+(\(t\);)782 1781 y(if)g(\(t[len)h(-)e(1])h(==)f('\\n'\))861
+1868 y(t[len)h(-)g(1])f(=)h('\\0';)704 1955 y(})625 2130
+y(if)g(\(!t\))704 2217 y(strcpy)g(\(line,)h("quit"\);)625
+2391 y(if)f(\(line[0]\))704 2478 y({)782 2565 y(char)g(*expansion;)782
+2653 y(int)g(result;)782 2827 y(result)h(=)e(history_expand)k(\(line,)d
+(&expansion\);)782 2914 y(if)g(\(result\))861 3001 y(fprintf)h
+(\(stderr,)g("\045s\\n",)f(expansion\);)782 3176 y(if)g(\(result)h(<)e
+(0)h(||)f(result)i(==)f(2\))861 3263 y({)939 3350 y(free)g
+(\(expansion\);)939 3437 y(continue;)861 3524 y(})782
+3699 y(add_history)i(\(expansion\);)782 3786 y(strncpy)f(\(line,)g
+(expansion,)g(sizeof)g(\(line\))f(-)g(1\);)782 3873 y(free)g
+(\(expansion\);)704 3960 y(})625 4134 y(if)g(\(strcmp)h(\(line,)f
+("quit"\))h(==)f(0\))704 4222 y(done)g(=)f(1;)625 4309
+y(else)h(if)g(\(strcmp)h(\(line,)g("save"\))f(==)g(0\))704
+4396 y(write_history)i(\("history_file"\);)625 4483 y(else)e(if)g
+(\(strcmp)h(\(line,)g("read"\))f(==)g(0\))704 4570 y(read_history)i
+(\("history_file"\);)625 4658 y(else)e(if)g(\(strcmp)h(\(line,)g
+("list"\))f(==)g(0\))704 4745 y({)782 4832 y(register)h(HIST_ENTRY)h
+(**the_list;)782 4919 y(register)f(int)f(i;)782 5093
+y(the_list)h(=)f(history_list)i(\(\);)782 5181 y(if)e(\(the_list\))861
+5268 y(for)g(\(i)f(=)h(0;)f(the_list[i];)j(i++\))p eop
+end
%%Page: 11 14
TeXDict begin 11 13 bop 150 -116 a Fr(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(History)1734 b(11)782
-386 y Fd(if)40 b(\(result)h(<)e(0)h(||)f(result)i(==)f(2\))861
-473 y({)939 560 y(free)g(\(expansion\);)939 648 y(continue;)861
-735 y(})782 909 y(add_history)i(\(expansion\);)782 996
-y(strncpy)f(\(line,)g(expansion,)g(sizeof)g(\(line\))f(-)g(1\);)782
-1083 y(free)g(\(expansion\);)704 1171 y(})625 1345 y(if)g(\(strcmp)h
-(\(line,)f("quit"\))h(==)f(0\))704 1432 y(done)g(=)f(1;)625
-1519 y(else)h(if)g(\(strcmp)h(\(line,)g("save"\))f(==)g(0\))704
-1606 y(write_history)i(\("history_file"\);)625 1694 y(else)e(if)g
-(\(strcmp)h(\(line,)g("read"\))f(==)g(0\))704 1781 y(read_history)i
-(\("history_file"\);)625 1868 y(else)e(if)g(\(strcmp)h(\(line,)g
-("list"\))f(==)g(0\))704 1955 y({)782 2042 y(register)h(HIST_ENTRY)h
-(**the_list;)782 2130 y(register)f(int)f(i;)782 2304
-y(the_list)h(=)f(history_list)i(\(\);)782 2391 y(if)e(\(the_list\))861
-2478 y(for)g(\(i)f(=)h(0;)f(the_list[i];)j(i++\))939
-2565 y(printf)f(\("\045d:)f(\045s\\n",)h(i)e(+)h(history_base,)i
-(the_list[i]->line\);)704 2653 y(})625 2740 y(else)e(if)g(\(strncmp)h
-(\(line,)g("delete",)g(6\))f(==)f(0\))704 2827 y({)782
-2914 y(int)h(which;)782 3001 y(if)g(\(\(sscanf)h(\(line)f(+)g(6,)g
-("\045d",)g(&which\)\))h(==)f(1\))861 3088 y({)939 3176
+b(Programming)30 b(with)g(GNU)h(History)1734 b(11)939
+299 y Fe(printf)41 b(\("\045d:)f(\045s\\n",)h(i)e(+)h(history_base,)i
+(the_list[i]->line\);)704 386 y(})625 473 y(else)e(if)g(\(strncmp)h
+(\(line,)g("delete",)g(6\))f(==)f(0\))704 560 y({)782
+648 y(int)h(which;)782 735 y(if)g(\(\(sscanf)h(\(line)f(+)g(6,)g
+("\045d",)g(&which\)\))h(==)f(1\))861 822 y({)939 909
y(HIST_ENTRY)i(*entry)e(=)g(remove_history)i(\(which\);)939
-3263 y(if)e(\(!entry\))1018 3350 y(fprintf)g(\(stderr,)i("No)d(such)i
-(entry)f(\045d\\n",)h(which\);)939 3437 y(else)1018 3524
-y({)1096 3611 y(free)f(\(entry->line\);)1096 3699 y(free)g(\(entry\);)
-1018 3786 y(})861 3873 y(})782 3960 y(else)861 4047 y({)939
-4134 y(fprintf)h(\(stderr,)g("non-numeric)h(arg)e(given)g(to)g
-(`delete'\\n"\);)861 4222 y(})704 4309 y(})547 4396 y(})390
-4483 y(})p eop end
+996 y(if)e(\(!entry\))1018 1083 y(fprintf)g(\(stderr,)i("No)d(such)i
+(entry)f(\045d\\n",)h(which\);)939 1171 y(else)1018 1258
+y({)1096 1345 y(free)f(\(entry->line\);)1096 1432 y(free)g(\(entry\);)
+1018 1519 y(})861 1606 y(})782 1694 y(else)861 1781 y({)939
+1868 y(fprintf)h(\(stderr,)g("non-numeric)h(arg)e(given)g(to)g
+(`delete'\\n"\);)861 1955 y(})704 2042 y(})547 2130 y(})390
+2217 y(})p eop end
%%Page: 12 15
TeXDict begin 12 14 bop 150 -116 a Fr(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(12)150 299 y Fn(App)t(endix)52 b(A)40 b(GNU)54 b(F)-13
-b(ree)53 b(Do)t(cumen)l(tation)e(License)1396 502 y Fr(V)-8
-b(ersion)31 b(1.2,)h(No)m(v)m(em)m(b)s(er)g(2002)390
+b(12)150 299 y Fn(App)t(endix)52 b(A)81 b(GNU)54 b(F)-13
+b(ree)53 b(Do)t(cumen)l(tation)e(License)1359 502 y Fr(V)-8
+b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fo(\015)e
-Fr(2000,2001,2002)36 b(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
-b(oundation,)32 b(Inc.)390 745 y(51)f(F)-8 b(ranklin)31
-b(St,)f(Fifth)h(Flo)s(or,)g(Boston,)h(MA)61 b(02110-1301,)35
-b(USA)390 964 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h(cop)m(y)g
-(and)f(distribute)g(v)m(erbatim)h(copies)390 1074 y(of)g(this)f
-(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f(is)f(not)h(allo)m
-(w)m(ed.)199 1207 y(0.)61 b(PREAMBLE)330 1340 y(The)37
-b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g(a)g(man)m
-(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
+Fr(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 745
+y Fq(http://fsf.org/)390 964 y Fr(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
+(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
+1074 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
+(is)f(not)h(allo)m(w)m(ed.)199 1207 y(0.)61 b(PREAMBLE)330
+1340 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
+(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
1450 y(useful)29 b(do)s(cumen)m(t)h Fj(free)36 b Fr(in)29
b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
(the)e(e\013ectiv)m(e)j(freedom)330 1559 y(to)f(cop)m(y)g(and)f
@@ -4312,613 +4053,684 @@ b(arian)m(t.)46 b(The)31 b(Do)s(cumen)m(t)i(ma)m(y)f(con)m(tain)i(zero)
e(In)m(v)-5 b(arian)m(t)330 518 y(Sections.)39 b(If)25
b(the)f(Do)s(cumen)m(t)i(do)s(es)e(not)h(iden)m(tify)g(an)m(y)g(In)m(v)
-5 b(arian)m(t)25 b(Sections)h(then)e(there)h(are)g(none.)330
-655 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
+669 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
g(passages)g(of)g(text)g(that)h(are)f(listed,)i(as)d(F)-8
-b(ron)m(t-Co)m(v)m(er)330 765 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
+b(ron)m(t-Co)m(v)m(er)330 778 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g(the)f
-(Do)s(cumen)m(t)h(is)f(released)g(under)330 874 y(this)h(License.)40
+(Do)s(cumen)m(t)h(is)f(released)g(under)330 888 y(this)h(License.)40
b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29 b(T)-8 b(ext)26
b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a)g(Bac)m(k-Co)m
-(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 984 y(b)s(e)k(at)h(most)g(25)g(w)m
-(ords.)330 1121 y(A)36 b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g
+(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 998 y(b)s(e)k(at)h(most)g(25)g(w)m
+(ords.)330 1148 y(A)36 b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g
(the)f(Do)s(cumen)m(t)h(means)g(a)g(mac)m(hine-readable)h(cop)m(y)-8
-b(,)38 b(represen)m(ted)330 1230 y(in)d(a)h(format)g(whose)g(sp)s
+b(,)38 b(represen)m(ted)330 1258 y(in)d(a)h(format)g(whose)g(sp)s
(eci\014cation)g(is)g(a)m(v)-5 b(ailable)38 b(to)f(the)f(general)g
-(public,)h(that)f(is)g(suitable)g(for)330 1340 y(revising)c(the)g(do)s
+(public,)h(that)f(is)g(suitable)g(for)330 1367 y(revising)c(the)g(do)s
(cumen)m(t)f(straigh)m(tforw)m(ardly)i(with)e(generic)i(text)g(editors)
-f(or)f(\(for)h(images)h(com-)330 1450 y(p)s(osed)23 b(of)h(pixels\))g
+f(or)f(\(for)h(images)h(com-)330 1477 y(p)s(osed)23 b(of)h(pixels\))g
(generic)h(pain)m(t)f(programs)g(or)f(\(for)h(dra)m(wings\))g(some)g
-(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1559
+(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1587
y(editor,)k(and)f(that)g(is)g(suitable)h(for)f(input)f(to)i(text)g
(formatters)f(or)g(for)g(automatic)i(translation)f(to)330
-1669 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input)
+1696 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input)
g(to)i(text)g(formatters.)40 b(A)27 b(cop)m(y)g(made)g(in)g(an)g
-(otherwise)330 1778 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g
+(otherwise)330 1806 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g
(whose)f(markup,)i(or)e(absence)h(of)g(markup,)g(has)g(b)s(een)f
-(arranged)g(to)330 1888 y(th)m(w)m(art)27 b(or)g(discourage)g
+(arranged)g(to)330 1915 y(th)m(w)m(art)27 b(or)g(discourage)g
(subsequen)m(t)f(mo)s(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8
-b(ransparen)m(t.)39 b(An)27 b(image)330 1998 y(format)35
+b(ransparen)m(t.)39 b(An)27 b(image)330 2025 y(format)35
b(is)f(not)h(T)-8 b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g
(substan)m(tial)h(amoun)m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g
-(is)330 2107 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i
-(\\Opaque".)330 2244 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)
+(is)330 2134 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i
+(\\Opaque".)330 2285 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)
-8 b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fk(asci)r(i)g
-Fr(without)330 2354 y(markup,)41 b(T)-8 b(exinfo)40 b(input)f(format,)j
-(LaT)1775 2373 y(E)1826 2354 y(X)d(input)g(format,)k
-Fk(sgml)c Fr(or)g Fk(xml)g Fr(using)g(a)h(publicly)330
-2463 y(a)m(v)-5 b(ailable)34 b Fk(dtd)p Fr(,)d(and)g
-(standard-conforming)g(simple)h Fk(html)p Fr(,)f(P)m(ostScript)h(or)f
-Fk(pdf)g Fr(designed)g(for)330 2573 y(h)m(uman)37 b(mo)s(di\014cation.)
-65 b(Examples)38 b(of)g(transparen)m(t)g(image)i(formats)e(include)g
-Fk(png)p Fr(,)i Fk(x)n(cf)e Fr(and)330 2682 y Fk(jpg)p
-Fr(.)63 b(Opaque)38 b(formats)g(include)g(proprietary)g(formats)g(that)
-h(can)f(b)s(e)g(read)g(and)f(edited)i(only)330 2792 y(b)m(y)g
-(proprietary)g(w)m(ord)g(pro)s(cessors,)j Fk(sgml)c Fr(or)i
-Fk(xml)e Fr(for)i(whic)m(h)f(the)g Fk(dtd)g Fr(and/or)g(pro)s(cessing)
-330 2902 y(to)s(ols)32 b(are)f(not)g(generally)h(a)m(v)-5
-b(ailable,)34 b(and)c(the)h(mac)m(hine-generated)i Fk(html)p
-Fr(,)d(P)m(ostScript)i(or)f Fk(pdf)330 3011 y Fr(pro)s(duced)e(b)m(y)h
-(some)h(w)m(ord)f(pro)s(cessors)g(for)g(output)g(purp)s(oses)e(only)-8
-b(.)330 3148 y(The)34 b(\\Title)h(P)m(age")i(means,)e(for)f(a)h(prin)m
-(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f(itself,)h(plus)e(suc)m(h)f
-(follo)m(wing)330 3258 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g
-(legibly)-8 b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h
-(app)s(ear)f(in)h(the)330 3367 y(title)g(page.)40 b(F)-8
-b(or)28 b(w)m(orks)e(in)g(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h
-(an)m(y)e(title)j(page)e(as)g(suc)m(h,)g(\\Title)h(P)m(age")330
-3477 y(means)j(the)f(text)i(near)e(the)h(most)g(prominen)m(t)g(app)s
-(earance)f(of)h(the)g(w)m(ork's)g(title,)h(preceding)f(the)330
-3587 y(b)s(eginning)f(of)g(the)h(b)s(o)s(dy)e(of)h(the)h(text.)330
-3724 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g
+Fr(without)330 2395 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j
+(LaT)1759 2414 y(E)1810 2395 y(X)e(input)f(format,)j
+Fd(SGML)f Fr(or)f Fd(XML)g Fr(using)g(a)g(publicly)330
+2504 y(a)m(v)-5 b(ailable)42 b Fd(DTD)p Fr(,)g(and)d
+(standard-conforming)h(simple)g Fd(HTML)p Fr(,)g(P)m(ostScript)h(or)f
+Fd(PDF)g Fr(designed)330 2614 y(for)e(h)m(uman)g(mo)s(di\014cation.)65
+b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g
+Fd(PNG)p Fr(,)h Fd(X)n(CF)330 2724 y Fr(and)h Fd(JPG)p
+Fr(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can)
+f(b)s(e)f(read)g(and)h(edited)330 2833 y(only)54 b(b)m(y)f(proprietary)
+h(w)m(ord)f(pro)s(cessors,)59 b Fd(SGML)54 b Fr(or)f
+Fd(XML)h Fr(for)g(whic)m(h)f(the)h Fd(DTD)g Fr(and/or)330
+2943 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5
+b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j
+Fd(HTML)p Fr(,)330 3052 y(P)m(ostScript)31 b(or)f Fd(PDF)h
+Fr(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output)
+g(purp)s(oses)f(only)-8 b(.)330 3203 y(The)34 b(\\Title)h(P)m(age")i
+(means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f
+(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3313 y(pages)28
+b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30
+b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f(in)h
+(the)330 3422 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g
+(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e
+(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3532 y(means)j(the)f(text)i
+(near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m
+(ork's)g(title,)h(preceding)f(the)330 3641 y(b)s(eginning)f(of)g(the)h
+(b)s(o)s(dy)e(of)h(the)h(text.)330 3792 y(The)j(\\publisher")g(means)h
+(an)m(y)f(p)s(erson)g(or)h(en)m(tit)m(y)h(that)f(distributes)f(copies)i
+(of)e(the)h(Do)s(cumen)m(t)330 3902 y(to)c(the)g(public.)330
+4052 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g
(subunit)e(of)h(the)h(Do)s(cumen)m(t)h(whose)e(title)i(either)330
-3833 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m
+4162 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m
(theses)i(follo)m(wing)g(text)g(that)f(translates)h(XYZ)e(in)330
-3943 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g
+4271 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g
(sp)s(eci\014c)g(section)h(name)f(men)m(tioned)h(b)s(elo)m(w,)g(suc)m
-(h)330 4052 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e
+(h)330 4381 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e
(\\Endorsemen)m(ts",)e(or)f(\\History".\))42 b(T)-8 b(o)29
-b(\\Preserv)m(e)330 4162 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g
+b(\\Preserv)m(e)330 4491 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g
(section)g(when)f(y)m(ou)h(mo)s(dify)e(the)i(Do)s(cumen)m(t)h(means)e
-(that)h(it)g(remains)g(a)330 4271 y(section)e(\\En)m(titled)f(XYZ")g
-(according)g(to)g(this)g(de\014nition.)330 4408 y(The)c(Do)s(cumen)m(t)
+(that)h(it)g(remains)g(a)330 4600 y(section)e(\\En)m(titled)f(XYZ")g
+(according)g(to)g(this)g(de\014nition.)330 4751 y(The)c(Do)s(cumen)m(t)
i(ma)m(y)f(include)f(W)-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)
-g(the)g(notice)h(whic)m(h)e(states)i(that)330 4518 y(this)34
+g(the)g(notice)h(whic)m(h)e(states)i(that)330 4861 y(this)34
b(License)g(applies)g(to)h(the)f(Do)s(cumen)m(t.)52 b(These)33
b(W)-8 b(arran)m(t)m(y)36 b(Disclaimers)f(are)g(considered)e(to)330
-4628 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j
+4970 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j
(but)d(only)h(as)g(regards)f(disclaiming)i(w)m(arran)m(ties:)330
-4737 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8
+5080 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8
b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g
-(and)f(has)h(no)330 4847 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
-(this)f(License.)199 4984 y(2.)61 b(VERBA)-8 b(TIM)31
-b(COPYING)330 5121 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e
-(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g
-(commercially)h(or)330 5230 y(noncommercially)-8 b(,)48
-b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42
-b(cop)m(yrigh)m(t)i(notices,)j(and)42 b(the)h(license)330
-5340 y(notice)37 b(sa)m(ying)g(this)e(License)i(applies)e(to)i(the)f
-(Do)s(cumen)m(t)g(are)g(repro)s(duced)e(in)i(all)g(copies,)j(and)p
-eop end
+(and)f(has)h(no)330 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
+(this)f(License.)199 5340 y(2.)61 b(VERBA)-8 b(TIM)31
+b(COPYING)p eop end
%%Page: 14 17
TeXDict begin 14 16 bop 150 -116 a Fr(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(14)330 299 y(that)27 b(y)m(ou)g(add)f(no)h(other)f(conditions)h
-(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f(License.)40
-b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330 408 y(tec)m(hnical)35
-b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h(the)f(reading)g(or)g
-(further)e(cop)m(ying)j(of)f(the)g(copies)330 518 y(y)m(ou)25
-b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28
+b(14)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
+(or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
+b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
+(and)42 b(the)h(license)330 518 y(notice)37 b(sa)m(ying)g(this)e
+(License)i(applies)e(to)i(the)f(Do)s(cumen)m(t)g(are)g(repro)s(duced)e
+(in)i(all)g(copies,)j(and)330 628 y(that)27 b(y)m(ou)g(add)f(no)h
+(other)f(conditions)h(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f
+(License.)40 b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330
+737 y(tec)m(hnical)35 b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h
+(the)f(reading)g(or)g(further)e(cop)m(ying)j(of)f(the)g(copies)330
+847 y(y)m(ou)25 b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28
b(y)m(ou)d(ma)m(y)g(accept)h(comp)s(ensation)f(in)f(exc)m(hange)j(for)d
-(copies.)330 628 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f
+(copies.)330 956 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f
(n)m(um)m(b)s(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g
-(the)f(conditions)330 737 y(in)e(section)i(3.)330 883
+(the)f(conditions)330 1066 y(in)e(section)i(3.)330 1200
y(Y)-8 b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g
(conditions)g(stated)h(ab)s(o)m(v)m(e,)i(and)c(y)m(ou)h(ma)m(y)g
-(publicly)330 993 y(displa)m(y)31 b(copies.)199 1139
-y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1285 y(If)25
+(publicly)330 1310 y(displa)m(y)31 b(copies.)199 1443
+y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1577 y(If)25
b(y)m(ou)g(publish)f(prin)m(ted)g(copies)i(\(or)g(copies)g(in)f(media)g
(that)h(commonly)g(ha)m(v)m(e)g(prin)m(ted)f(co)m(v)m(ers\))i(of)330
-1395 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
+1687 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
(100,)j(and)d(the)h(Do)s(cumen)m(t's)h(license)f(notice)h(requires)330
-1504 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
+1797 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
(the)e(copies)h(in)f(co)m(v)m(ers)i(that)f(carry)-8 b(,)36
-b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1614 y(these)j(Co)m(v)m
+b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1906 y(these)j(Co)m(v)m
(er)g(T)-8 b(exts:)59 b(F)-8 b(ron)m(t-Co)m(v)m(er)41
b(T)-8 b(exts)40 b(on)f(the)g(fron)m(t)g(co)m(v)m(er,)44
b(and)38 b(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts)40 b(on)330
-1724 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
+2016 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
m(ust)e(also)h(clearly)g(and)f(legibly)h(iden)m(tify)f(y)m(ou)h(as)f
-(the)h(publisher)330 1833 y(of)k(these)h(copies.)53 b(The)34
+(the)h(publisher)330 2125 y(of)k(these)h(copies.)53 b(The)34
b(fron)m(t)h(co)m(v)m(er)h(m)m(ust)e(presen)m(t)g(the)h(full)f(title)i
-(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 1943 y(equally)e
+(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2235 y(equally)e
(prominen)m(t)e(and)g(visible.)43 b(Y)-8 b(ou)31 b(ma)m(y)g(add)g
(other)g(material)h(on)f(the)g(co)m(v)m(ers)h(in)e(addition.)330
-2052 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
+2345 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
m(ers,)i(as)d(long)h(as)g(they)f(preserv)m(e)g(the)h(title)g(of)g(the)
-330 2162 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
+330 2454 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
(b)s(e)g(treated)h(as)f(v)m(erbatim)h(cop)m(ying)g(in)f(other)330
-2271 y(resp)s(ects.)330 2418 y(If)32 b(the)h(required)f(texts)i(for)e
+2564 y(resp)s(ects.)330 2698 y(If)32 b(the)h(required)f(texts)i(for)e
(either)h(co)m(v)m(er)i(are)e(to)s(o)g(v)m(oluminous)g(to)g(\014t)g
-(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2527 y(the)h(\014rst)f
+(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2807 y(the)h(\014rst)f
(ones)h(listed)g(\(as)h(man)m(y)f(as)g(\014t)g(reasonably\))g(on)g(the)
g(actual)h(co)m(v)m(er,)h(and)e(con)m(tin)m(ue)h(the)330
-2637 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 2783
+2917 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3051
y(If)27 b(y)m(ou)g(publish)e(or)i(distribute)g(Opaque)f(copies)i(of)f
(the)h(Do)s(cumen)m(t)f(n)m(um)m(b)s(ering)f(more)i(than)e(100,)330
-2892 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
+3160 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
(T)-8 b(ransparen)m(t)28 b(cop)m(y)h(along)g(with)e(eac)m(h)i(Opaque)
-330 3002 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
+330 3270 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
(Opaque)e(cop)m(y)i(a)g(computer-net)m(w)m(ork)g(lo)s(cation)h(from)d
-(whic)m(h)330 3112 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
+(whic)m(h)330 3380 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
(has)h(access)i(to)f(do)m(wnload)f(using)g(public-standard)f(net)m(w)m
-(ork)330 3221 y(proto)s(cols)40 b(a)f(complete)h(T)-8
+(ork)330 3489 y(proto)s(cols)40 b(a)f(complete)h(T)-8
b(ransparen)m(t)39 b(cop)m(y)g(of)g(the)h(Do)s(cumen)m(t,)i(free)d(of)g
-(added)f(material.)67 b(If)330 3331 y(y)m(ou)39 b(use)g(the)g(latter)h
+(added)f(material.)67 b(If)330 3599 y(y)m(ou)39 b(use)g(the)g(latter)h
(option,)h(y)m(ou)f(m)m(ust)e(tak)m(e)j(reasonably)e(pruden)m(t)e
-(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3440 y(distribution)f(of)g
+(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3708 y(distribution)f(of)g
(Opaque)g(copies)h(in)e(quan)m(tit)m(y)-8 b(,)43 b(to)38
b(ensure)g(that)h(this)f(T)-8 b(ransparen)m(t)38 b(cop)m(y)h(will)330
-3550 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
+3818 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
(cation)h(un)m(til)e(at)h(least)h(one)e(y)m(ear)h(after)g(the)f(last)h
-(time)330 3660 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
+(time)330 3927 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
(\(directly)g(or)e(through)g(y)m(our)h(agen)m(ts)h(or)f(retailers\))h
-(of)f(that)330 3769 y(edition)31 b(to)g(the)g(public.)330
-3915 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
+(of)f(that)330 4037 y(edition)31 b(to)g(the)g(public.)330
+4171 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
(con)m(tact)h(the)f(authors)f(of)h(the)g(Do)s(cumen)m(t)g(w)m(ell)330
-4025 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
+4281 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
(er)d(of)i(copies,)h(to)f(giv)m(e)h(them)f(a)g(c)m(hance)h(to)f(pro)m
-(vide)g(y)m(ou)330 4134 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
-(the)f(Do)s(cumen)m(t.)199 4281 y(4.)61 b(MODIFICA)-8
-b(TIONS)330 4427 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
+(vide)g(y)m(ou)330 4390 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
+(the)f(Do)s(cumen)m(t.)199 4524 y(4.)61 b(MODIFICA)-8
+b(TIONS)330 4658 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
h(Mo)s(di\014ed)f(V)-8 b(ersion)26 b(of)g(the)g(Do)s(cumen)m(t)g(under)
-e(the)h(conditions)330 4536 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
+e(the)h(conditions)330 4768 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
m(e,)k(pro)m(vided)20 b(that)i(y)m(ou)f(release)i(the)e(Mo)s(di\014ed)f
-(V)-8 b(ersion)22 b(under)d(precisely)330 4646 y(this)29
+(V)-8 b(ersion)22 b(under)d(precisely)330 4877 y(this)29
b(License,)h(with)f(the)g(Mo)s(di\014ed)f(V)-8 b(ersion)30
b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
-(licensing)330 4755 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
+(licensing)330 4987 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
(the)f(Mo)s(di\014ed)f(V)-8 b(ersion)35 b(to)g(who)s(ev)m(er)f(p)s
-(ossesses)f(a)i(cop)m(y)g(of)330 4865 y(it.)41 b(In)30
+(ossesses)f(a)i(cop)m(y)g(of)330 5096 y(it.)41 b(In)30
b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
-(di\014ed)e(V)-8 b(ersion:)357 5011 y(A.)60 b(Use)33
+(di\014ed)e(V)-8 b(ersion:)357 5230 y(A.)60 b(Use)33
b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e
(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)510
-5121 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
+5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
-b(,)510 5230 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
-(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
-h(title)h(as)510 5340 y(a)e(previous)f(v)m(ersion)g(if)h(the)f
-(original)i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s
-(ermission.)p eop end
+b(,)p eop end
%%Page: 15 18
TeXDict begin 15 17 bop 150 -116 a Fr(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(15)360 299 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d
-(authors,)h(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s
-(onsible)c(for)510 408 y(authorship)c(of)h(the)h(mo)s(di\014cations)f
-(in)g(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i
-(least)h(\014v)m(e)510 518 y(of)c(the)g(principal)g(authors)f(of)i(the)
-f(Do)s(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g
-(has)g(few)m(er)510 628 y(than)30 b(\014v)m(e\),)h(unless)f(they)h
-(release)g(y)m(ou)g(from)f(this)g(requiremen)m(t.)359
-766 y(C.)60 b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g
-(the)g(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
-b(as)f(the)510 876 y(publisher.)355 1015 y(D.)61 b(Preserv)m(e)31
+b(15)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
+h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
+i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
+545 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h
+(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c
+(for)510 655 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g
+(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h
+(\014v)m(e)510 765 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s
+(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g
+(few)m(er)510 874 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g
+(y)m(ou)g(from)f(this)g(requiremen)m(t.)359 1011 y(C.)60
+b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g(the)g
+(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
+b(as)f(the)510 1121 y(publisher.)355 1258 y(D.)61 b(Preserv)m(e)31
b(all)g(the)g(cop)m(yrigh)m(t)h(notices)f(of)g(the)f(Do)s(cumen)m(t.)
-363 1154 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
+363 1395 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
(notice)f(for)g(y)m(our)f(mo)s(di\014cations)g(adjacen)m(t)i(to)f(the)g
-(other)510 1263 y(cop)m(yrigh)m(t)g(notices.)365 1402
+(other)510 1504 y(cop)m(yrigh)m(t)g(notices.)365 1641
y(F.)61 b(Include,)28 b(immediately)h(after)f(the)h(cop)m(yrigh)m(t)g
(notices,)h(a)e(license)h(notice)g(giving)g(the)f(public)510
-1512 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
+1751 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
b(ersion)25 b(under)e(the)i(terms)f(of)h(this)f(License,)j(in)d(the)g
-(form)510 1621 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
-1760 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
+(form)510 1861 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
+1998 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
(full)g(lists)g(of)g(In)m(v)-5 b(arian)m(t)23 b(Sections)h(and)e
-(required)g(Co)m(v)m(er)510 1870 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
-(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2008
+(required)g(Co)m(v)m(er)510 2107 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
+(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2244
y(H.)60 b(Include)30 b(an)g(unaltered)g(cop)m(y)h(of)g(this)f(License.)
-392 2147 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
+392 2381 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
(\\History",)h(Preserv)m(e)f(its)f(Title,)i(and)d(add)h(to)h(it)f(an)g
-(item)510 2257 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
+(item)510 2491 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
(authors,)i(and)e(publisher)f(of)j(the)f(Mo)s(di\014ed)f(V)-8
-b(ersion)510 2366 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
+b(ersion)510 2600 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
b(If)31 b(there)h(is)f(no)g(section)i(En)m(titled)f(\\History")h(in)e
-(the)g(Do)s(cu-)510 2476 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
+(the)g(Do)s(cu-)510 2710 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
(title,)i(y)m(ear,)g(authors,)f(and)e(publisher)f(of)i(the)g(Do)s
-(cumen)m(t)510 2586 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
+(cumen)m(t)510 2819 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
(then)d(add)g(an)g(item)g(describing)g(the)g(Mo)s(di\014ed)g(V)-8
-b(ersion)37 b(as)510 2695 y(stated)31 b(in)f(the)h(previous)f(sen)m
-(tence.)378 2834 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
+b(ersion)37 b(as)510 2929 y(stated)31 b(in)f(the)h(previous)f(sen)m
+(tence.)378 3066 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
(cation,)i(if)d(an)m(y)-8 b(,)34 b(giv)m(en)f(in)g(the)f(Do)s(cumen)m
-(t)h(for)g(public)e(access)j(to)510 2944 y(a)e(T)-8 b(ransparen)m(t)30
+(t)h(for)g(public)e(access)j(to)510 3176 y(a)e(T)-8 b(ransparen)m(t)30
b(cop)m(y)i(of)g(the)f(Do)s(cumen)m(t,)h(and)f(lik)m(ewise)h(the)g(net)
-m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3053 y(the)g(Do)s(cumen)m
+m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3285 y(the)g(Do)s(cumen)m
(t)g(for)g(previous)f(v)m(ersions)h(it)g(w)m(as)g(based)f(on.)45
-b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3163
+b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3395
y(\\History")27 b(section.)40 b(Y)-8 b(ou)25 b(ma)m(y)h(omit)g(a)f(net)
m(w)m(ork)h(lo)s(cation)g(for)f(a)h(w)m(ork)f(that)g(w)m(as)h
-(published)510 3272 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
+(published)510 3504 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
(the)h(Do)s(cumen)m(t)h(itself,)h(or)d(if)h(the)g(original)h(publisher)
-d(of)i(the)510 3382 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
-(ermission.)354 3521 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
+d(of)i(the)510 3614 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
+(ermission.)354 3751 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
(titled)h(\\Ac)m(kno)m(wledgemen)m(ts")i(or)d(\\Dedications",)k
-(Preserv)m(e)c(the)g(Title)510 3630 y(of)j(the)f(section,)j(and)d
+(Preserv)m(e)c(the)g(Title)510 3861 y(of)j(the)f(section,)j(and)d
(preserv)m(e)h(in)f(the)h(section)g(all)h(the)e(substance)h(and)f(tone)
-h(of)f(eac)m(h)i(of)f(the)510 3740 y(con)m(tributor)k(ac)m(kno)m
+h(of)f(eac)m(h)i(of)f(the)510 3970 y(con)m(tributor)k(ac)m(kno)m
(wledgemen)m(ts)i(and/or)d(dedications)h(giv)m(en)h(therein.)368
-3879 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
+4107 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
b(arian)m(t)36 b(Sections)g(of)f(the)h(Do)s(cumen)m(t,)h(unaltered)f
-(in)f(their)g(text)i(and)510 3988 y(in)f(their)g(titles.)58
+(in)f(their)g(text)i(and)510 4217 y(in)f(their)g(titles.)58
b(Section)37 b(n)m(um)m(b)s(ers)d(or)i(the)g(equiv)-5
b(alen)m(t)38 b(are)e(not)g(considered)g(part)g(of)g(the)510
-4098 y(section)c(titles.)341 4237 y(M.)61 b(Delete)33
+4326 y(section)c(titles.)341 4463 y(M.)61 b(Delete)33
b(an)m(y)e(section)h(En)m(titled)f(\\Endorsemen)m(ts".)42
b(Suc)m(h)30 b(a)i(section)f(ma)m(y)h(not)f(b)s(e)f(included)510
-4346 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
-4485 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
+4573 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
+4710 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
(to)g(b)s(e)f(En)m(titled)h(\\Endorsemen)m(ts")g(or)f(to)h(con\015ict)g
-(in)510 4595 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
-b(Section.)354 4734 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 4902 y(If)h(the)g(Mo)s(di\014ed)g
+(in)510 4819 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
+b(Section.)354 4956 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
+b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g
(V)-8 b(ersion)34 b(includes)f(new)g(fron)m(t-matter)i(sections)f(or)f
-(app)s(endices)g(that)h(qualify)330 5011 y(as)28 b(Secondary)g
+(app)s(endices)g(that)h(qualify)330 5230 y(as)28 b(Secondary)g
(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
-(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5121 y(y)m(our)k(option)h
+(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5340 y(y)m(our)k(option)h
(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
-b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330
-5230 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36
-b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36
-b(license)g(notice.)57 b(These)330 5340 y(titles)32 b(m)m(ust)e(b)s(e)g
-(distinct)h(from)e(an)m(y)i(other)g(section)g(titles.)p
+b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
eop end
%%Page: 16 19
TeXDict begin 16 18 bop 150 -116 a Fr(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(16)330 299 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)i(En)m(titled)
-f(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g(nothing)g(but)
-330 408 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s(di\014ed)g(V)-8
-b(ersion)31 b(b)m(y)e(v)-5 b(arious)30 b(parties|for)g(example,)g
-(statemen)m(ts)i(of)330 518 y(p)s(eer)27 b(review)g(or)g(that)h(the)f
-(text)i(has)d(b)s(een)h(appro)m(v)m(ed)g(b)m(y)g(an)h(organization)h
-(as)e(the)h(authoritativ)m(e)330 628 y(de\014nition)i(of)h(a)f
-(standard.)330 757 y(Y)-8 b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g
-(up)e(to)i(\014v)m(e)g(w)m(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)
-30 b(T)-8 b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330
-867 y(to)g(25)g(w)m(ords)e(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8
-b(ext,)29 b(to)f(the)f(end)f(of)i(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8
-b(exts)27 b(in)g(the)h(Mo)s(di\014ed)330 976 y(V)-8 b(ersion.)58
-b(Only)35 b(one)h(passage)h(of)f(F)-8 b(ron)m(t-Co)m(v)m(er)38
-b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m(k-Co)m(v)m(er)j(T)-8
-b(ext)36 b(ma)m(y)h(b)s(e)330 1086 y(added)27 b(b)m(y)g(\(or)h(through)
-f(arrangemen)m(ts)h(made)g(b)m(y\))g(an)m(y)g(one)f(en)m(tit)m(y)-8
-b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)g(already)330 1196
-y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g(same)h(co)m(v)m
-(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m(y)g(arrangemen)m
-(t)330 1305 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m(y)i(y)m(ou)f(are)f
-(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g(not)f(add)g
-(another;)j(but)330 1415 y(y)m(ou)c(ma)m(y)h(replace)g(the)f(old)g
-(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
-(publisher)f(that)330 1524 y(added)e(the)g(old)h(one.)330
-1654 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
+b(16)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
+b(ersion's)36 b(license)g(notice.)57 b(These)330 408
+y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
+(section)g(titles.)330 551 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)
+i(En)m(titled)f(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g
+(nothing)g(but)330 661 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s
+(di\014ed)g(V)-8 b(ersion)31 b(b)m(y)e(v)-5 b(arious)30
+b(parties|for)g(example,)g(statemen)m(ts)i(of)330 770
+y(p)s(eer)27 b(review)g(or)g(that)h(the)f(text)i(has)d(b)s(een)h(appro)
+m(v)m(ed)g(b)m(y)g(an)h(organization)h(as)e(the)h(authoritativ)m(e)330
+880 y(de\014nition)i(of)h(a)f(standard.)330 1022 y(Y)-8
+b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g(up)e(to)i(\014v)m(e)g(w)m
+(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)30 b(T)-8
+b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330 1132 y(to)g(25)g(w)m(ords)e
+(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext,)29 b(to)f(the)f(end)f(of)i
+(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8 b(exts)27 b(in)g(the)h(Mo)s
+(di\014ed)330 1241 y(V)-8 b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f
+(F)-8 b(ron)m(t-Co)m(v)m(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m
+(k-Co)m(v)m(er)j(T)-8 b(ext)36 b(ma)m(y)h(b)s(e)330 1351
+y(added)27 b(b)m(y)g(\(or)h(through)f(arrangemen)m(ts)h(made)g(b)m(y\))
+g(an)m(y)g(one)f(en)m(tit)m(y)-8 b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)
+g(already)330 1461 y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g
+(same)h(co)m(v)m(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m
+(y)g(arrangemen)m(t)330 1570 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m
+(y)i(y)m(ou)f(are)f(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g
+(not)f(add)g(another;)j(but)330 1680 y(y)m(ou)c(ma)m(y)h(replace)g(the)
+f(old)g(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
+(publisher)f(that)330 1789 y(added)e(the)g(old)h(one.)330
+1932 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
(cumen)m(t)h(do)g(not)f(b)m(y)h(this)f(License)h(giv)m(e)h(p)s
-(ermission)330 1763 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
+(ermission)330 2041 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
(for)h(or)f(to)h(assert)g(or)f(imply)g(endorsemen)m(t)g(of)h(an)m(y)g
-(Mo)s(di\014ed)330 1873 y(V)-8 b(ersion.)199 2002 y(5.)61
-b(COMBINING)31 b(DOCUMENTS)330 2132 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
+(Mo)s(di\014ed)330 2151 y(V)-8 b(ersion.)199 2293 y(5.)61
+b(COMBINING)31 b(DOCUMENTS)330 2436 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
(bine)h(the)f(Do)s(cumen)m(t)g(with)g(other)f(do)s(cumen)m(ts)h
-(released)g(under)f(this)g(License,)330 2242 y(under)f(the)h(terms)g
+(released)g(under)f(this)g(License,)330 2545 y(under)f(the)h(terms)g
(de\014ned)f(in)h(section)h(4)g(ab)s(o)m(v)m(e)g(for)f(mo)s(di\014ed)f
-(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2351
+(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2655
y(include)25 b(in)g(the)g(com)m(bination)i(all)f(of)g(the)f(In)m(v)-5
b(arian)m(t)26 b(Sections)g(of)g(all)g(of)f(the)h(original)g(do)s
-(cumen)m(ts,)330 2461 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
+(cumen)m(ts,)330 2765 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
(as)g(In)m(v)-5 b(arian)m(t)28 b(Sections)f(of)g(y)m(our)g(com)m(bined)
-g(w)m(ork)f(in)h(its)g(license)330 2570 y(notice,)32
+g(w)m(ork)f(in)h(its)g(license)330 2874 y(notice,)32
b(and)e(that)h(y)m(ou)f(preserv)m(e)h(all)g(their)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 2700 y(The)e(com)m(bined)g(w)m
+b(arran)m(t)m(y)32 b(Disclaimers.)330 3017 y(The)e(com)m(bined)g(w)m
(ork)h(need)e(only)i(con)m(tain)g(one)g(cop)m(y)g(of)f(this)g(License,)
-i(and)d(m)m(ultiple)i(iden)m(tical)330 2809 y(In)m(v)-5
+i(and)d(m)m(ultiple)i(iden)m(tical)330 3126 y(In)m(v)-5
b(arian)m(t)33 b(Sections)g(ma)m(y)g(b)s(e)f(replaced)h(with)f(a)h
(single)g(cop)m(y)-8 b(.)48 b(If)32 b(there)h(are)g(m)m(ultiple)g(In)m
-(v)-5 b(arian)m(t)330 2919 y(Sections)27 b(with)g(the)g(same)g(name)g
+(v)-5 b(arian)m(t)330 3236 y(Sections)27 b(with)g(the)g(same)g(name)g
(but)f(di\013eren)m(t)h(con)m(ten)m(ts,)i(mak)m(e)f(the)f(title)h(of)f
-(eac)m(h)h(suc)m(h)f(section)330 3029 y(unique)33 b(b)m(y)h(adding)f
+(eac)m(h)h(suc)m(h)f(section)330 3345 y(unique)33 b(b)m(y)h(adding)f
(at)i(the)f(end)g(of)g(it,)h(in)f(paren)m(theses,)i(the)e(name)g(of)g
-(the)g(original)h(author)f(or)330 3138 y(publisher)23
+(the)g(original)h(author)f(or)330 3455 y(publisher)23
b(of)i(that)h(section)g(if)f(kno)m(wn,)h(or)f(else)h(a)f(unique)f(n)m
(um)m(b)s(er.)38 b(Mak)m(e)26 b(the)g(same)f(adjustmen)m(t)330
-3248 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
+3565 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
b(arian)m(t)26 b(Sections)f(in)f(the)g(license)i(notice)g(of)e(the)h
-(com)m(bined)330 3357 y(w)m(ork.)330 3487 y(In)41 b(the)g(com)m
+(com)m(bined)330 3674 y(w)m(ork.)330 3817 y(In)41 b(the)g(com)m
(bination,)46 b(y)m(ou)41 b(m)m(ust)g(com)m(bine)h(an)m(y)g(sections)g
(En)m(titled)g(\\History")h(in)e(the)g(v)-5 b(ari-)330
-3597 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
+3926 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
(En)m(titled)g(\\History";)i(lik)m(ewise)f(com)m(bine)f(an)m(y)330
-3706 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
+4036 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
b(an)m(y)h(sections)h(En)m(titled)g(\\Dedications".)47
-b(Y)-8 b(ou)330 3816 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
-(titled)f(\\Endorsemen)m(ts.")199 3945 y(6.)61 b(COLLECTIONS)28
-b(OF)i(DOCUMENTS)330 4075 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
+b(Y)-8 b(ou)330 4145 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
+(titled)f(\\Endorsemen)m(ts.")199 4288 y(6.)61 b(COLLECTIONS)28
+b(OF)i(DOCUMENTS)330 4430 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
(collection)i(consisting)f(of)f(the)g(Do)s(cumen)m(t)g(and)g(other)g
-(do)s(cumen)m(ts)f(released)330 4184 y(under)41 b(this)h(License,)k
+(do)s(cumen)m(ts)f(released)330 4540 y(under)41 b(this)h(License,)k
(and)c(replace)h(the)g(individual)f(copies)h(of)f(this)g(License)h(in)f
-(the)h(v)-5 b(arious)330 4294 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
+(the)h(v)-5 b(arious)330 4650 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
g(cop)m(y)h(that)f(is)f(included)g(in)g(the)h(collection,)48
-b(pro)m(vided)42 b(that)i(y)m(ou)330 4403 y(follo)m(w)38
+b(pro)m(vided)42 b(that)i(y)m(ou)330 4759 y(follo)m(w)38
b(the)g(rules)e(of)h(this)g(License)h(for)f(v)m(erbatim)h(cop)m(ying)g
(of)f(eac)m(h)h(of)f(the)h(do)s(cumen)m(ts)e(in)h(all)330
-4513 y(other)31 b(resp)s(ects.)330 4643 y(Y)-8 b(ou)32
+4869 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32
b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
(collection,)i(and)d(distribute)g(it)h(individu-)330
-4752 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
+5121 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
(a)g(cop)m(y)h(of)f(this)g(License)g(in)m(to)h(the)g(extracted)330
-4862 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
+5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
-4971 y(that)d(do)s(cumen)m(t.)199 5101 y(7.)61 b(A)m(GGREGA)-8
-b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330 5230 y(A)d(compilation)i
-(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5 b(ativ)m(es)30
-b(with)d(other)i(separate)g(and)e(indep)s(enden)m(t)330
-5340 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h(on)f(a)g(v)m
-(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g(is)h(called)p
-eop end
+5340 y(that)d(do)s(cumen)m(t.)p eop end
%%Page: 17 20
TeXDict begin 17 19 bop 150 -116 a Fr(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(17)330 299 y(an)30 b(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i
+b(17)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+(W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
+(its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
+s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
+(on)f(a)g(v)m(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g
+(is)h(called)330 661 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i
(resulting)e(from)f(the)i(compilation)g(is)f(not)h(used)e(to)i(limit)g
-(the)330 408 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e
+(the)330 770 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e
(b)s(ey)m(ond)g(what)g(the)h(individual)f(w)m(orks)g(p)s(ermit.)39
-b(When)330 518 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
+b(When)330 880 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
(aggregate,)44 b(this)38 b(License)h(do)s(es)f(not)h(apply)f(to)h(the)g
-(other)330 628 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
+(other)330 989 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
(not)g(themselv)m(es)g(deriv)-5 b(ativ)m(e)32 b(w)m(orks)f(of)f(the)h
-(Do)s(cumen)m(t.)330 762 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
+(Do)s(cumen)m(t.)330 1132 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
b(ext)23 b(requiremen)m(t)g(of)g(section)h(3)f(is)g(applicable)h(to)f
-(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 872
+(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1241
y(then)f(if)g(the)h(Do)s(cumen)m(t)g(is)g(less)f(than)g(one)h(half)f
(of)h(the)g(en)m(tire)g(aggregate,)k(the)c(Do)s(cumen)m(t's)g(Co)m(v)m
-(er)330 981 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
+(er)330 1351 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
(ers)h(that)f(brac)m(k)m(et)h(the)f(Do)s(cumen)m(t)g(within)f(the)h
-(aggregate,)j(or)d(the)330 1091 y(electronic)37 b(equiv)-5
+(aggregate,)j(or)d(the)330 1461 y(electronic)37 b(equiv)-5
b(alen)m(t)36 b(of)g(co)m(v)m(ers)g(if)f(the)g(Do)s(cumen)m(t)h(is)f
(in)g(electronic)i(form.)54 b(Otherwise)35 b(they)330
-1200 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
-(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1335 y(8.)61
-b(TRANSLA)-8 b(TION)330 1469 y(T)g(ranslation)41 b(is)f(considered)f(a)
+1570 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
+(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1713 y(8.)61
+b(TRANSLA)-8 b(TION)330 1855 y(T)g(ranslation)41 b(is)f(considered)f(a)
i(kind)e(of)h(mo)s(di\014cation,)j(so)d(y)m(ou)g(ma)m(y)h(distribute)e
-(translations)330 1579 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
+(translations)330 1965 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
(terms)h(of)f(section)i(4.)83 b(Replacing)45 b(In)m(v)-5
-b(arian)m(t)45 b(Sections)g(with)330 1689 y(translations)h(requires)f
+b(arian)m(t)45 b(Sections)g(with)330 2074 y(translations)h(requires)f
(sp)s(ecial)h(p)s(ermission)f(from)g(their)g(cop)m(yrigh)m(t)i
-(holders,)i(but)c(y)m(ou)g(ma)m(y)330 1798 y(include)24
+(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2184 y(include)24
b(translations)i(of)e(some)h(or)g(all)g(In)m(v)-5 b(arian)m(t)25
b(Sections)g(in)f(addition)h(to)g(the)g(original)h(v)m(ersions)330
-1908 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
+2293 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
b(Y)-8 b(ou)32 b(ma)m(y)g(include)f(a)h(translation)g(of)g(this)f
-(License,)i(and)d(all)j(the)330 2017 y(license)42 b(notices)g(in)f(the)
+(License,)i(and)d(all)j(the)330 2403 y(license)42 b(notices)g(in)f(the)
h(Do)s(cumen)m(t,)j(and)40 b(an)m(y)i(W)-8 b(arran)m(t)m(y)42
-b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2127
+b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2513
y(also)f(include)f(the)g(original)h(English)f(v)m(ersion)g(of)g(this)g
(License)h(and)e(the)h(original)h(v)m(ersions)g(of)330
-2237 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
+2622 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
b(case)i(of)g(a)f(disagreemen)m(t)h(b)s(et)m(w)m(een)g(the)f
-(translation)i(and)330 2346 y(the)f(original)i(v)m(ersion)e(of)h(this)f
+(translation)i(and)330 2732 y(the)f(original)i(v)m(ersion)e(of)h(this)f
(License)h(or)f(a)g(notice)i(or)e(disclaimer,)i(the)f(original)g(v)m
-(ersion)g(will)330 2456 y(prev)-5 b(ail.)330 2590 y(If)28
+(ersion)g(will)330 2841 y(prev)-5 b(ail.)330 2984 y(If)28
b(a)h(section)h(in)e(the)h(Do)s(cumen)m(t)h(is)e(En)m(titled)i(\\Ac)m
(kno)m(wledgemen)m(ts",)i(\\Dedications",)g(or)d(\\His-)330
-2700 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
+3093 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
(e)g(its)f(Title)i(\(section)f(1\))g(will)g(t)m(ypically)h(require)330
-2809 y(c)m(hanging)j(the)g(actual)h(title.)199 2944 y(9.)61
-b(TERMINA)-8 b(TION)330 3078 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
+3203 y(c)m(hanging)j(the)g(actual)h(title.)199 3345 y(9.)61
+b(TERMINA)-8 b(TION)330 3488 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
b(,)31 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)f(the)h
-(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3188 y(pro)m(vided)41
-b(for)h(under)e(this)i(License.)75 b(An)m(y)42 b(other)g(attempt)h(to)g
-(cop)m(y)-8 b(,)46 b(mo)s(dify)-8 b(,)44 b(sublicense)e(or)330
-3298 y(distribute)36 b(the)h(Do)s(cumen)m(t)g(is)g(v)m(oid,)i(and)d
-(will)h(automatically)i(terminate)f(y)m(our)e(righ)m(ts)h(under)330
-3407 y(this)28 b(License.)40 b(Ho)m(w)m(ev)m(er,)31 b(parties)d(who)f
-(ha)m(v)m(e)i(receiv)m(ed)g(copies,)h(or)d(righ)m(ts,)i(from)f(y)m(ou)g
-(under)e(this)330 3517 y(License)37 b(will)g(not)g(ha)m(v)m(e)h(their)f
-(licenses)g(terminated)h(so)f(long)g(as)g(suc)m(h)f(parties)h(remain)g
-(in)f(full)330 3626 y(compliance.)154 3761 y(10.)61 b(FUTURE)30
-b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 3895 y(The)41 b(F)-8
-b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 b(ma)m(y)f(publish)e
-(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)-8
-b(ree)330 4005 y(Do)s(cumen)m(tation)34 b(License)e(from)g(time)h(to)g
-(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
-(in)g(spirit)330 4115 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)
-m(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
-(concerns.)330 4224 y(See)c Fq(http://www.gnu.org/copy)o(left)o(/)p
-Fr(.)330 4359 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
-(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
-b(If)29 b(the)g(Do)s(cumen)m(t)330 4468 y(sp)s(eci\014es)45
-b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
-(License)h(\\or)g(an)m(y)g(later)g(v)m(ersion")330 4578
-y(applies)33 b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f
-(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
-4687 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
+(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3598 y(pro)m(vided)38
+b(under)f(this)i(License.)65 b(An)m(y)39 b(attempt)h(otherwise)f(to)g
+(cop)m(y)-8 b(,)42 b(mo)s(dify)-8 b(,)40 b(sublicense,)h(or)330
+3707 y(distribute)30 b(it)h(is)f(v)m(oid,)h(and)f(will)h(automatically)
+i(terminate)f(y)m(our)e(righ)m(ts)h(under)e(this)h(License.)330
+3850 y(Ho)m(w)m(ev)m(er,)35 b(if)e(y)m(ou)f(cease)i(all)f(violation)i
+(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f(a)h
+(particular)330 3959 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h
+(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g
+(cop)m(yrigh)m(t)h(holder)330 4069 y(explicitly)42 b(and)e(\014nally)h
+(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8
+b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 4178 y(holder)34
+b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h
+(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 4288
+y(after)31 b(the)f(cessation.)330 4430 y(Moreo)m(v)m(er,)k(y)m(our)d
+(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h
+(reinstated)g(p)s(ermanen)m(tly)f(if)330 4540 y(the)d(cop)m(yrigh)m(t)h
+(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g
+(reasonable)h(means,)f(this)g(is)g(the)330 4650 y(\014rst)f(time)i(y)m
+(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f
+(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330
+4759 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g
+(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h
+(of)f(the)330 4869 y(notice.)330 5011 y(T)-8 b(ermination)28
+b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h
+(terminate)h(the)e(licenses)i(of)f(parties)330 5121 y(who)38
+b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
+(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e)
+330 5230 y(b)s(een)25 b(terminated)i(and)e(not)h(p)s(ermanen)m(tly)g
+(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
+(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
+(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
+%%Page: 18 21
+TeXDict begin 18 20 bop 150 -116 a Fr(App)s(endix)29
+b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
+b(18)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
+b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
+(the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
+b(License)e(from)g(time)h(to)g(time.)46 b(Suc)m(h)31
+b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h(in)g(spirit)330
+653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m(y)h(di\013er)f
+(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i(concerns.)330
+762 y(See)c Fq(http://www.gnu.org/copy)o(left)o(/)p Fr(.)330
+897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m(en)g(a)g
+(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39 b(If)29
+b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45 b(that)h(a)g
+(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g(License)h
+(\\or)g(an)m(y)g(later)g(v)m(ersion")330 1116 y(applies)33
+b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f(follo)m(wing)i
+(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
+1225 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
(ersion)f(that)g(has)g(b)s(een)f(published)f(\(not)j(as)f(a)g(draft\))g
-(b)m(y)330 4797 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
+(b)m(y)330 1335 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
b(oundation.)49 b(If)32 b(the)h(Do)s(cumen)m(t)g(do)s(es)g(not)g(sp)s
-(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 4907
+(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 1445
y(this)i(License,)j(y)m(ou)d(ma)m(y)i(c)m(ho)s(ose)f(an)m(y)g(v)m
(ersion)g(ev)m(er)g(published)e(\(not)i(as)g(a)f(draft\))h(b)m(y)f(the)
-h(F)-8 b(ree)330 5016 y(Soft)m(w)m(are)31 b(F)-8 b(oundation.)p
-eop end
-%%Page: 18 21
-TeXDict begin 18 20 bop 150 -116 a Fr(App)s(endix)29
+h(F)-8 b(ree)330 1554 y(Soft)m(w)m(are)33 b(F)-8 b(oundation.)46
+b(If)32 b(the)g(Do)s(cumen)m(t)g(sp)s(eci\014es)g(that)g(a)h(pro)m(xy)f
+(can)g(decide)g(whic)m(h)g(future)330 1664 y(v)m(ersions)h(of)g(this)f
+(License)h(can)g(b)s(e)f(used,)g(that)i(pro)m(xy's)e(public)g(statemen)
+m(t)i(of)f(acceptance)i(of)e(a)330 1773 y(v)m(ersion)e(p)s(ermanen)m
+(tly)f(authorizes)h(y)m(ou)g(to)g(c)m(ho)s(ose)g(that)g(v)m(ersion)g
+(for)f(the)h(Do)s(cumen)m(t.)154 1908 y(11.)61 b(RELICENSING)330
+2042 y(\\Massiv)m(e)39 b(Multiauthor)f(Collab)s(oration)g(Site")h(\(or)
+e(\\MMC)h(Site"\))h(means)e(an)m(y)h(W)-8 b(orld)37 b(Wide)330
+2152 y(W)-8 b(eb)36 b(serv)m(er)g(that)h(publishes)d(cop)m(yrigh)m
+(table)k(w)m(orks)e(and)f(also)i(pro)m(vides)e(prominen)m(t)h
+(facilities)330 2262 y(for)27 b(an)m(yb)s(o)s(dy)g(to)h(edit)g(those)g
+(w)m(orks.)39 b(A)28 b(public)f(wiki)h(that)g(an)m(yb)s(o)s(dy)e(can)i
+(edit)g(is)f(an)h(example)g(of)330 2371 y(suc)m(h)33
+b(a)h(serv)m(er.)51 b(A)34 b(\\Massiv)m(e)i(Multiauthor)e(Collab)s
+(oration")h(\(or)f(\\MMC"\))h(con)m(tained)g(in)f(the)330
+2481 y(site)d(means)f(an)m(y)h(set)g(of)g(cop)m(yrigh)m(table)h(w)m
+(orks)e(th)m(us)g(published)f(on)h(the)h(MMC)f(site.)330
+2615 y(\\CC-BY-SA")36 b(means)f(the)g(Creativ)m(e)i(Commons)e(A)m
+(ttribution-Share)g(Alik)m(e)i(3.0)f(license)g(pub-)330
+2725 y(lished)27 b(b)m(y)f(Creativ)m(e)j(Commons)d(Corp)s(oration,)h(a)
+g(not-for-pro\014t)g(corp)s(oration)h(with)e(a)h(principal)330
+2834 y(place)g(of)f(business)e(in)i(San)f(F)-8 b(rancisco,)29
+b(California,)f(as)e(w)m(ell)h(as)f(future)f(cop)m(yleft)i(v)m(ersions)
+f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
+(organization.)330 3078 y(\\Incorp)s(orate")h(means)e(to)h(publish)e
+(or)i(republish)e(a)i(Do)s(cumen)m(t,)g(in)g(whole)g(or)f(in)g(part,)h
+(as)g(part)330 3188 y(of)g(another)f(Do)s(cumen)m(t.)330
+3323 y(An)c(MMC)g(is)h(\\eligible)h(for)e(relicensing")h(if)g(it)f(is)h
+(licensed)f(under)f(this)h(License,)i(and)e(if)g(all)h(w)m(orks)330
+3432 y(that)43 b(w)m(ere)f(\014rst)f(published)f(under)h(this)h
+(License)g(somewhere)g(other)g(than)g(this)g(MMC,)h(and)330
+3542 y(subsequen)m(tly)34 b(incorp)s(orated)h(in)f(whole)h(or)g(in)f
+(part)h(in)m(to)h(the)f(MMC,)g(\(1\))h(had)e(no)h(co)m(v)m(er)h(texts)
+330 3651 y(or)30 b(in)m(v)-5 b(arian)m(t)32 b(sections,)g(and)d(\(2\))j
+(w)m(ere)f(th)m(us)f(incorp)s(orated)g(prior)g(to)h(No)m(v)m(em)m(b)s
+(er)g(1,)g(2008.)330 3786 y(The)40 b(op)s(erator)h(of)g(an)f(MMC)h
+(Site)g(ma)m(y)g(republish)e(an)h(MMC)h(con)m(tained)h(in)e(the)h(site)
+g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
+(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
+330 4005 y(eligible)h(for)e(relicensing.)p eop end
+%%Page: 19 22
+TeXDict begin 19 21 bop 150 -116 a Fr(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(18)150 299 y Fp(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
-(for)g(y)l(our)g(do)t(cumen)l(ts)275 543 y Fr(T)-8 b(o)27
-b(use)g(this)g(License)h(in)f(a)h(do)s(cumen)m(t)f(y)m(ou)h(ha)m(v)m(e)
-g(written,)g(include)f(a)h(cop)m(y)g(of)f(the)h(License)g(in)f(the)150
-653 y(do)s(cumen)m(t)j(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)m
-(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468
-765 y Fd(Copyright)42 b(\(C\))79 b Fc(year)88 b(your)40
-b(name)p Fd(.)468 852 y(Permission)i(is)e(granted)g(to)g(copy,)h
-(distribute)g(and/or)g(modify)f(this)g(document)468 939
+b(19)150 299 y Fp(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+(for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fr(T)-8 b(o)35
+b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
+i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
+568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)
+m(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468
+680 y Fe(Copyright)42 b(\(C\))79 b Fc(year)88 b(your)40
+b(name)9 b Fe(.)468 767 y(Permission)42 b(is)e(granted)g(to)g(copy,)h
+(distribute)g(and/or)g(modify)f(this)g(document)468 854
y(under)h(the)f(terms)g(of)g(the)g(GNU)g(Free)g(Documentation)i
-(License,)f(Version)g(1.2)468 1026 y(or)f(any)g(later)g(version)h
+(License,)f(Version)g(1.3)468 941 y(or)f(any)g(later)g(version)h
(published)h(by)d(the)h(Free)g(Software)h(Foundation;)468
-1113 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g
-(and)f(no)f(Back-Cover)468 1200 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f
+1029 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g
+(and)f(no)f(Back-Cover)468 1116 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f
(license)i(is)f(included)h(in)f(the)g(section)g(entitled)h(``GNU)468
-1288 y(Free)g(Documentation)h(License''.)275 1410 y Fr(If)d(y)m(ou)h
+1203 y(Free)g(Documentation)h(License''.)275 1337 y Fr(If)d(y)m(ou)h
(ha)m(v)m(e)h(In)m(v)-5 b(arian)m(t)41 b(Sections,)i(F)-8
b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k
-(T)-8 b(exts,)43 b(replace)e(the)150 1520 y(\\with)6
+(T)-8 b(exts,)43 b(replace)e(the)150 1447 y(\\with)6
b(.)22 b(.)g(.)12 b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547
-1632 y Fd(with)40 b(the)g(Invariant)h(Sections)g(being)g
-Fc(list)f(their)g(titles)p Fd(,)h(with)547 1719 y(the)f(Front-Cover)i
-(Texts)e(being)g Fc(list)p Fd(,)h(and)f(with)g(the)g(Back-Cover)h
-(Texts)547 1806 y(being)f Fc(list)p Fd(.)275 1929 y Fr(If)34
-b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f
-(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g
-(of)g(the)150 2038 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g
-(alternativ)m(es)i(to)e(suit)f(the)h(situation.)275 2173
-y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
-(examples)g(of)f(program)f(co)s(de,)j(w)m(e)e(recommend)g(releasing)150
-2283 y(these)44 b(examples)f(in)g(parallel)h(under)e(y)m(our)h(c)m
-(hoice)i(of)e(free)g(soft)m(w)m(are)h(license,)k(suc)m(h)43
-b(as)g(the)g(GNU)150 2392 y(General)31 b(Public)f(License,)i(to)f(p)s
-(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
-eop end
-%%Page: 19 22
-TeXDict begin 19 21 bop 150 -116 a Fr(App)s(endix)29
-b(B:)i(Concept)f(Index)2391 b(19)150 299 y Fn(App)t(endix)52
-b(B)47 b(Concept)k(Index)150 638 y Fp(A)150 755 y Fb(anc)n(hored)26
-b(searc)n(h)7 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)33 b Fb(7)150 989 y Fp(E)150 1105 y Fb(ev)n(en)n(t)25
-b(designators)d Fa(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)46
-b Fb(1)2025 638 y Fp(H)2025 843 y Fb(history)25 b(ev)n(en)n(ts)d
-Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49
-b Fb(1)2025 974 y(history)25 b(expansion)15 b Fa(.)e(.)f(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)41 b Fb(1)2025 1105 y(History)25
-b(Searc)n(hing)12 b Fa(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38
-b Fb(7)p eop end
+1559 y Fe(with)40 b(the)g(Invariant)h(Sections)g(being)g
+Fc(list)f(their)g(titles)9 b Fe(,)41 b(with)547 1646
+y(the)f(Front-Cover)i(Texts)e(being)g Fc(list)9 b Fe(,)40
+b(and)g(with)g(the)g(Back-Cover)i(Texts)547 1733 y(being)e
+Fc(list)9 b Fe(.)275 1868 y Fr(If)34 b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5
+b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8
+b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
+1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e
+(suit)f(the)h(situation.)275 2112 y(If)23 b(y)m(our)h(do)s(cumen)m(t)f
+(con)m(tains)i(non)m(trivial)g(examples)g(of)f(program)f(co)s(de,)j(w)m
+(e)e(recommend)g(releasing)150 2222 y(these)44 b(examples)f(in)g
+(parallel)h(under)e(y)m(our)h(c)m(hoice)i(of)e(free)g(soft)m(w)m(are)h
+(license,)k(suc)m(h)43 b(as)g(the)g(GNU)150 2331 y(General)31
+b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m
+(w)m(are.)p eop end
%%Page: 20 23
TeXDict begin 20 22 bop 150 -116 a Fr(App)s(endix)29
+b(B:)i(Concept)f(Index)2391 b(20)150 299 y Fn(App)t(endix)52
+b(B)81 b(Concept)51 b(Index)150 638 y Fp(A)150 754 y
+Fb(anc)n(hored)26 b(searc)n(h)6 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(7)150 988 y Fp(E)150
+1104 y Fb(ev)n(en)n(t)25 b(designators)18 b Fa(:)c(:)f(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fb(1)2025 638 y Fp(H)2025
+852 y Fb(history)25 b(ev)n(en)n(ts)6 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(1)2025
+987 y(history)25 b(expansion)13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)40 b Fb(1)2025 1122 y(History)25 b(Searc)n(hing)10
+b Fa(:)j(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
+b Fb(7)p eop end
+%%Page: 21 24
+TeXDict begin 21 23 bop 150 -116 a Fr(App)s(endix)29
b(C:)h(F)-8 b(unction)31 b(and)f(V)-8 b(ariable)32 b(Index)1832
-b(20)150 299 y Fn(App)t(endix)52 b(C)45 b(F)-13 b(unction)52
+b(21)150 299 y Fn(App)t(endix)52 b(C)81 b(F)-13 b(unction)52
b(and)h(V)-13 b(ariable)53 b(Index)150 638 y Fp(A)150
-755 y Fd(add_history)24 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)48 b Fb(5)150 842 y Fd(add_history_time)14
-b Fa(.)i(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)40 b Fb(5)150
-929 y Fd(append_history)17 b Fa(.)f(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)43 b Fb(8)150 1182 y Fp(C)150 1299 y Fd(clear_history)22
-b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
-b Fb(6)150 1386 y Fd(current_history)16 b Fa(.)f(.)e(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)42 b Fb(6)150 1639 y Fp(F)150 1755
-y Fd(free_history_entry)11 b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-37 b Fb(5)150 2008 y Fp(G)150 2124 y Fd(get_history_event)13
-b Fa(.)j(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fb(8)150
-2377 y Fp(H)150 2494 y Fd(history_arg_extract)10 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(9)150 2581 y Fd(history_base)23
-b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)46
-b Fb(9)150 2669 y Fd(history_comment_char)8 b Fa(.)17
-b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)g(.)35 b Fb(9)150 2756 y Fd(history_expand)17
-b Fa(.)f(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
-b Fb(8)150 2843 y Fd(history_expansion_char)29 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)50 b Fb(9)150 2931 y Fd(history_get)24 b Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48
-b Fb(6)150 3018 y Fd(history_get_history_state)25 b Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)45
-b Fb(5)150 3106 y Fd(history_get_time)14 b Fa(.)i(.)d(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)40 b Fb(6)150 3193 y Fd(history_inhibit_expansion_fun)q
-(ctio)q(n)29 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(10)150
-3280 y Fd(history_is_stifled)11 b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)37 b Fb(6)150 3368 y Fd(history_length)17 b Fa(.)f(.)c(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)43 b Fb(9)150 3455 y Fd(history_list)23
-b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)46
-b Fb(6)150 3543 y Fd(history_max_entries)10 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(9)150 3630 y Fd
-(history_no_expand_chars)26 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)47 b Fb(10)150
-3718 y Fd(history_quotes_inhibit_expans)q(ion)9 b Fa(.)18
-b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)34 b Fb(10)150
-3805 y Fd(history_search)17 b Fa(.)f(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)43 b Fb(7)150 3892 y Fd(history_search_delimiter_char)q(s)12
-b Fa(.)18 b(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)38
-b Fb(9)150 3980 y Fd(history_search_pos)11 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(7)2025 638 y
-Fd(history_search_prefix)7 b Fa(.)17 b(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
-b Fb(7)2025 725 y Fd(history_set_history_state)25 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46
-b Fb(5)2025 813 y Fd(history_set_pos)16 b Fa(.)f(.)e(.)f(.)g(.)h(.)f(.)
-g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)42 b Fb(7)2025 900 y Fd(history_subst_char)11
-b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(9)2025
-987 y Fd(history_tokenize)14 b Fa(.)i(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)41 b Fb(9)2025 1074 y Fd(history_total_bytes)10 b
-Fa(.)16 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36 b Fb(6)2025 1162
-y Fd(history_truncate_file)7 b Fa(.)17 b(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
-b Fb(8)2025 1249 y Fd(history_word_delimiters)27 b Fa(.)13
-b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)49 b Fb(9)2025 1336 y Fd(history_write_timestamps)26
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)47 b Fb(9)2025 1588 y Fp(N)2025 1704 y Fd(next_history)23
-b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)46
-b Fb(7)2025 1956 y Fp(P)2025 2072 y Fd(previous_history)14
-b Fa(.)i(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)41 b Fb(7)2025
-2324 y Fp(R)2025 2440 y Fd(read_history)23 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)46
-b Fb(8)2025 2527 y Fd(read_history_range)11 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(8)2025 2614 y
-Fd(remove_history)17 b Fa(.)e(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)44 b Fb(5)2025 2702 y Fd(replace_history_entry)7
-b Fa(.)17 b(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33 b Fb(6)2025 2953 y
-Fp(S)2025 3069 y Fd(stifle_history)17 b Fa(.)e(.)e(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)g(.)44 b Fb(6)2025 3321 y Fp(U)2025 3437
-y Fd(unstifle_history)14 b Fa(.)i(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-41 b Fb(6)2025 3525 y Fd(using_history)21 b Fa(.)13 b(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)45 b Fb(5)2025 3776 y
-Fp(W)2025 3893 y Fd(where_history)21 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)45 b Fb(6)2025 3980 y Fd(write_history)21
-b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)45
-b Fb(8)p eop end
+755 y Fe(add_history)7 b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(5)150 842 y Fe
+(add_history_time)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)38 b Fb(5)150 929 y Fe(append_history)16 b Fa(:)g(:)d(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(8)150
+1182 y Fp(C)150 1299 y Fe(clear_history)21 b Fa(:)14
+b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
+b Fb(6)150 1386 y Fe(current_history)13 b Fa(:)k(:)c(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(6)150 1639 y Fp(F)150
+1755 y Fe(free_history_entry)27 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)50 b Fb(5)150 2008 y Fp(G)150 2124 y Fe(get_history_event)8
+b Fa(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
+b Fb(8)150 2377 y Fp(H)150 2494 y Fe(history_arg_extract)25
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(8)150
+2581 y Fe(history_base)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(8)150 2669 y Fe
+(history_comment_char)18 b Fa(:)f(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
+b Fb(9)150 2756 y Fe(history_expand)16 b Fa(:)g(:)d(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(8)150 2843 y Fe
+(history_expansion_char)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
+b Fb(9)150 2931 y Fe(history_get)7 b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(6)150
+3018 y Fe(history_get_history_state)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
+b Fb(5)150 3106 y Fe(history_get_time)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(6)150 3193 y Fe
+(history_inhibit_expansion_fun)q(ctio)q(n)16 b Fa(:)j(:)13
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fb(9)150 3280 y Fe(history_is_stifled)
+27 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Fb(6)150
+3368 y Fe(history_length)16 b Fa(:)g(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)43 b Fb(8)150 3455 y Fe(history_list)24
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+48 b Fb(6)150 3543 y Fe(history_max_entries)25 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(9)150 3630 y Fe
+(history_no_expand_chars)10 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fb(9)150 3718 y Fe(history_quotes_inhibit_expans)q(ion)28
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
+b Fb(9)150 3805 y Fe(history_search)16 b Fa(:)g(:)d(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(7)150 3892 y Fe
+(history_search_delimiter_char)q(s)10 b Fa(:)18 b(:)13
+b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b
+Fb(9)150 3980 y Fe(history_search_pos)27 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)50 b Fb(7)2025 638 y Fe(history_search_prefix)15
+b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42 b Fb(7)2025 725 y Fe
+(history_set_history_state)27 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fb(5)2025
+813 y Fe(history_set_pos)13 b Fa(:)k(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)41 b Fb(6)2025 900 y Fe(history_subst_char)27
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)50 b Fb(9)2025
+987 y Fe(history_tokenize)11 b Fa(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)38 b Fb(8)2025 1074 y Fe(history_total_bytes)24
+b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fb(6)2025
+1162 y Fe(history_truncate_file)15 b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42
+b Fb(8)2025 1249 y Fe(history_word_delimiters)10 b Fa(:)18
+b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)37 b Fb(9)2025 1336 y Fe(history_write_timestamps)8
+b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)35 b Fb(9)2025 1588 y Fp(N)2025
+1704 y Fe(next_history)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 b Fb(7)2025 1956 y Fp(P)2025
+2072 y Fe(previous_history)11 b Fa(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)38 b Fb(6)2025 2324 y Fp(R)2025 2440
+y Fe(read_history)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)48 b Fb(7)2025 2527 y Fe(read_history_range)27
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)50 b Fb(7)2025
+2614 y Fe(remove_history)16 b Fa(:)g(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)43 b Fb(5)2025 2702 y Fe(replace_history_entry)15
+b Fa(:)j(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42 b Fb(5)2025 2953 y
+Fp(S)2025 3069 y Fe(stifle_history)16 b Fa(:)g(:)d(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fb(6)2025 3321 y Fp(U)2025
+3437 y Fe(unstifle_history)11 b Fa(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)38 b Fb(6)2025 3525 y Fe(using_history)21
+b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
+b Fb(5)2025 3776 y Fp(W)2025 3893 y Fe(where_history)21
+b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
+b Fb(6)2025 3980 y Fe(write_history)21 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 b Fb(7)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
diff --git a/doc/history.texi b/doc/history.texi
index 81ee8b1..afdb901 100644
--- a/doc/history.texi
+++ b/doc/history.texi
@@ -20,7 +20,7 @@ are preserved on all copies.
@quotation
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
and with the Back-Cover Texts as in (a) below. A copy of the license is
diff --git a/doc/readline.0 b/doc/readline.0
index 4a5a4e9..cdc125b 100644
--- a/doc/readline.0
+++ b/doc/readline.0
@@ -218,10 +218,18 @@ IINNIITTIIAALLIIZZAATTIIOONN FFIILLEE
Controls whether readline begins with a set of key bindings sim-
ilar to emacs or vi. eeddiittiinngg--mmooddee can be set to either eemmaaccss or
vvii.
+ eecchhoo--ccoonnttrrooll--cchhaarraacctteerrss ((OOnn))
+ When set to OOnn, on operating systems that indicate they support
+ it, readline echoes a character corresponding to a signal gener-
+ ated from the keyboard.
eennaabbllee--kkeeyyppaadd ((OOffff))
When set to OOnn, readline will try to enable the application key-
pad when it is called. Some systems need this to enable the
arrow keys.
+ eennaabbllee--mmeettaa--kkeeyy ((OOnn))
+ When set to OOnn, readline will try to enable any meta modifier
+ key the terminal claims to support when it is called. On many
+ terminals, the meta key is used to send eight-bit characters.
eexxppaanndd--ttiillddee ((OOffff))
If set to oonn, tilde expansion is performed when readline
attempts word completion.
@@ -296,45 +304,52 @@ IINNIITTIIAALLIIZZAATTIIOONN FFIILLEE
ble partial completion (the possible completions don't share a
common prefix) cause the matches to be listed immediately
instead of ringing the bell.
+ sskkiipp--ccoommpplleetteedd--tteexxtt ((OOffff))
+ If set to OOnn, this alters the default completion behavior when
+ inserting a single match into the line. It's only active when
+ performing completion in the middle of a word. If enabled,
+ readline does not insert characters from the completion that
+ match characters after point in the word being completed, so
+ portions of the word following the cursor are not duplicated.
vviissiibbllee--ssttaattss ((OOffff))
- If set to OOnn, a character denoting a file's type as reported by
- _s_t_a_t(2) is appended to the filename when listing possible com-
+ If set to OOnn, a character denoting a file's type as reported by
+ _s_t_a_t(2) is appended to the filename when listing possible com-
pletions.
CCoonnddiittiioonnaall CCoonnssttrruuccttss
- Readline implements a facility similar in spirit to the conditional
- compilation features of the C preprocessor which allows key bindings
- and variable settings to be performed as the result of tests. There
+ Readline implements a facility similar in spirit to the conditional
+ compilation features of the C preprocessor which allows key bindings
+ and variable settings to be performed as the result of tests. There
are four parser directives used.
- $$iiff The $$iiff construct allows bindings to be made based on the edit-
- ing mode, the terminal being used, or the application using
- readline. The text of the test extends to the end of the line;
+ $$iiff The $$iiff construct allows bindings to be made based on the edit-
+ ing mode, the terminal being used, or the application using
+ readline. The text of the test extends to the end of the line;
no characters are required to isolate it.
- mmooddee The mmooddee== form of the $$iiff directive is used to test
- whether readline is in emacs or vi mode. This may be
- used in conjunction with the sseett kkeeyymmaapp command, for
- instance, to set bindings in the _e_m_a_c_s_-_s_t_a_n_d_a_r_d and
- _e_m_a_c_s_-_c_t_l_x keymaps only if readline is starting out in
+ mmooddee The mmooddee== form of the $$iiff directive is used to test
+ whether readline is in emacs or vi mode. This may be
+ used in conjunction with the sseett kkeeyymmaapp command, for
+ instance, to set bindings in the _e_m_a_c_s_-_s_t_a_n_d_a_r_d and
+ _e_m_a_c_s_-_c_t_l_x keymaps only if readline is starting out in
emacs mode.
- tteerrmm The tteerrmm== form may be used to include terminal-specific
+ tteerrmm The tteerrmm== form may be used to include terminal-specific
key bindings, perhaps to bind the key sequences output by
the terminal's function keys. The word on the right side
- of the == is tested against the full name of the terminal
- and the portion of the terminal name before the first --.
- This allows _s_u_n to match both _s_u_n and _s_u_n_-_c_m_d, for
+ of the == is tested against the full name of the terminal
+ and the portion of the terminal name before the first --.
+ This allows _s_u_n to match both _s_u_n and _s_u_n_-_c_m_d, for
instance.
aapppplliiccaattiioonn
The aapppplliiccaattiioonn construct is used to include application-
specific settings. Each program using the readline
- library sets the _a_p_p_l_i_c_a_t_i_o_n _n_a_m_e, and an initialization
+ library sets the _a_p_p_l_i_c_a_t_i_o_n _n_a_m_e, and an initialization
file can test for a particular value. This could be used
- to bind key sequences to functions useful for a specific
- program. For instance, the following command adds a key
- sequence that quotes the current or previous word in
+ to bind key sequences to functions useful for a specific
+ program. For instance, the following command adds a key
+ sequence that quotes the current or previous word in
Bash:
$$iiff Bash
@@ -349,52 +364,52 @@ IINNIITTIIAALLIIZZAATTIIOONN FFIILLEE
test fails.
$$iinncclluuddee
- This directive takes a single filename as an argument and reads
- commands and bindings from that file. For example, the follow-
+ This directive takes a single filename as an argument and reads
+ commands and bindings from that file. For example, the follow-
ing directive would read _/_e_t_c_/_i_n_p_u_t_r_c:
$$iinncclluuddee _/_e_t_c_/_i_n_p_u_t_r_c
SSEEAARRCCHHIINNGG
- Readline provides commands for searching through the command history
- for lines containing a specified string. There are two search modes:
+ Readline provides commands for searching through the command history
+ for lines containing a specified string. There are two search modes:
_i_n_c_r_e_m_e_n_t_a_l and _n_o_n_-_i_n_c_r_e_m_e_n_t_a_l.
- Incremental searches begin before the user has finished typing the
- search string. As each character of the search string is typed, read-
+ Incremental searches begin before the user has finished typing the
+ search string. As each character of the search string is typed, read-
line displays the next entry from the history matching the string typed
- so far. An incremental search requires only as many characters as
- needed to find the desired history entry. To search backward in the
+ so far. An incremental search requires only as many characters as
+ needed to find the desired history entry. To search backward in the
history for a particular string, type CC--rr. Typing CC--ss searches forward
- through the history. The characters present in the value of the
- iisseeaarrcchh--tteerrmmiinnaattoorrss variable are used to terminate an incremental
- search. If that variable has not been assigned a value the _E_s_c_a_p_e and
+ through the history. The characters present in the value of the
+ iisseeaarrcchh--tteerrmmiinnaattoorrss variable are used to terminate an incremental
+ search. If that variable has not been assigned a value the _E_s_c_a_p_e and
CC--JJ characters will terminate an incremental search. CC--GG will abort an
- incremental search and restore the original line. When the search is
- terminated, the history entry containing the search string becomes the
+ incremental search and restore the original line. When the search is
+ terminated, the history entry containing the search string becomes the
current line.
- To find other matching entries in the history list, type CC--ss or CC--rr as
- appropriate. This will search backward or forward in the history for
- the next line matching the search string typed so far. Any other key
+ To find other matching entries in the history list, type CC--ss or CC--rr as
+ appropriate. This will search backward or forward in the history for
+ the next line matching the search string typed so far. Any other key
sequence bound to a readline command will terminate the search and exe-
- cute that command. For instance, a newline will terminate the search
- and accept the line, thereby executing the command from the history
+ cute that command. For instance, a newline will terminate the search
+ and accept the line, thereby executing the command from the history
list. A movement command will terminate the search, make the last line
found the current line, and begin editing.
- Non-incremental searches read the entire search string before starting
- to search for matching history lines. The search string may be typed
+ Non-incremental searches read the entire search string before starting
+ to search for matching history lines. The search string may be typed
by the user or be part of the contents of the current line.
EEDDIITTIINNGG CCOOMMMMAANNDDSS
- The following is a list of the names of the commands and the default
+ The following is a list of the names of the commands and the default
key sequences to which they are bound. Command names without an accom-
panying key sequence are unbound by default.
In the following descriptions, _p_o_i_n_t refers to the current cursor posi-
- tion, and _m_a_r_k refers to a cursor position saved by the sseett--mmaarrkk com-
- mand. The text between the point and mark is referred to as the
+ tion, and _m_a_r_k refers to a cursor position saved by the sseett--mmaarrkk com-
+ mand. The text between the point and mark is referred to as the
_r_e_g_i_o_n.
CCoommmmaannddss ffoorr MMoovviinngg
@@ -410,11 +425,11 @@ EEDDIITTIINNGG CCOOMMMMAANNDDSS
Move forward to the end of the next word. Words are composed of
alphanumeric characters (letters and digits).
bbaacckkwwaarrdd--wwoorrdd ((MM--bb))
- Move back to the start of the current or previous word. Words
+ Move back to the start of the current or previous word. Words
are composed of alphanumeric characters (letters and digits).
cclleeaarr--ssccrreeeenn ((CC--ll))
- Clear the screen leaving the current line at the top of the
- screen. With an argument, refresh the current line without
+ Clear the screen leaving the current line at the top of the
+ screen. With an argument, refresh the current line without
clearing the screen.
rreeddrraaww--ccuurrrreenntt--lliinnee
Refresh the current line.
@@ -422,70 +437,70 @@ EEDDIITTIINNGG CCOOMMMMAANNDDSS
CCoommmmaannddss ffoorr MMaanniippuullaattiinngg tthhee HHiissttoorryy
aacccceepptt--lliinnee ((NNeewwlliinnee,, RReettuurrnn))
Accept the line regardless of where the cursor is. If this line
- is non-empty, it may be added to the history list for future
- recall with aadddd__hhiissttoorryy(()). If the line is a modified history
+ is non-empty, it may be added to the history list for future
+ recall with aadddd__hhiissttoorryy(()). If the line is a modified history
line, the history line is restored to its original state.
pprreevviioouuss--hhiissttoorryy ((CC--pp))
Fetch the previous command from the history list, moving back in
the list.
nneexxtt--hhiissttoorryy ((CC--nn))
- Fetch the next command from the history list, moving forward in
+ Fetch the next command from the history list, moving forward in
the list.
bbeeggiinnnniinngg--ooff--hhiissttoorryy ((MM--<<))
Move to the first line in the history.
eenndd--ooff--hhiissttoorryy ((MM-->>))
- Move to the end of the input history, i.e., the line currently
+ Move to the end of the input history, i.e., the line currently
being entered.
rreevveerrssee--sseeaarrcchh--hhiissttoorryy ((CC--rr))
- Search backward starting at the current line and moving `up'
- through the history as necessary. This is an incremental
+ Search backward starting at the current line and moving `up'
+ through the history as necessary. This is an incremental
search.
ffoorrwwaarrdd--sseeaarrcchh--hhiissttoorryy ((CC--ss))
- Search forward starting at the current line and moving `down'
- through the history as necessary. This is an incremental
+ Search forward starting at the current line and moving `down'
+ through the history as necessary. This is an incremental
search.
nnoonn--iinnccrreemmeennttaall--rreevveerrssee--sseeaarrcchh--hhiissttoorryy ((MM--pp))
Search backward through the history starting at the current line
- using a non-incremental search for a string supplied by the
+ using a non-incremental search for a string supplied by the
user.
nnoonn--iinnccrreemmeennttaall--ffoorrwwaarrdd--sseeaarrcchh--hhiissttoorryy ((MM--nn))
- Search forward through the history using a non-incremental
+ Search forward through the history using a non-incremental
search for a string supplied by the user.
hhiissttoorryy--sseeaarrcchh--ffoorrwwaarrdd
- Search forward through the history for the string of characters
- between the start of the current line and the current cursor
+ Search forward through the history for the string of characters
+ between the start of the current line and the current cursor
position (the _p_o_i_n_t). This is a non-incremental search.
hhiissttoorryy--sseeaarrcchh--bbaacckkwwaarrdd
Search backward through the history for the string of characters
- between the start of the current line and the point. This is a
+ between the start of the current line and the point. This is a
non-incremental search.
yyaannkk--nntthh--aarrgg ((MM--CC--yy))
- Insert the first argument to the previous command (usually the
+ Insert the first argument to the previous command (usually the
second word on the previous line) at point. With an argument _n,
- insert the _nth word from the previous command (the words in the
- previous command begin with word 0). A negative argument
+ insert the _nth word from the previous command (the words in the
+ previous command begin with word 0). A negative argument
inserts the _nth word from the end of the previous command. Once
- the argument _n is computed, the argument is extracted as if the
+ the argument _n is computed, the argument is extracted as if the
"!_n" history expansion had been specified.
yyaannkk--llaasstt--aarrgg ((MM--..,, MM--__))
- Insert the last argument to the previous command (the last word
- of the previous history entry). With an argument, behave
- exactly like yyaannkk--nntthh--aarrgg. Successive calls to yyaannkk--llaasstt--aarrgg
- move back through the history list, inserting the last argument
+ Insert the last argument to the previous command (the last word
+ of the previous history entry). With an argument, behave
+ exactly like yyaannkk--nntthh--aarrgg. Successive calls to yyaannkk--llaasstt--aarrgg
+ move back through the history list, inserting the last argument
of each line in turn. The history expansion facilities are used
- to extract the last argument, as if the "!$" history expansion
+ to extract the last argument, as if the "!$" history expansion
had been specified.
CCoommmmaannddss ffoorr CChhaannggiinngg TTeexxtt
ddeelleettee--cchhaarr ((CC--dd))
- Delete the character at point. If point is at the beginning of
- the line, there are no characters in the line, and the last
+ Delete the character at point. If point is at the beginning of
+ the line, there are no characters in the line, and the last
character typed was not bound to ddeelleettee--cchhaarr, then return EEOOFF.
bbaacckkwwaarrdd--ddeelleettee--cchhaarr ((RRuubboouutt))
- Delete the character behind the cursor. When given a numeric
+ Delete the character behind the cursor. When given a numeric
argument, save the deleted text on the kill ring.
ffoorrwwaarrdd--bbaacckkwwaarrdd--ddeelleettee--cchhaarr
- Delete the character under the cursor, unless the cursor is at
+ Delete the character under the cursor, unless the cursor is at
the end of the line, in which case the character behind the cur-
sor is deleted.
qquuootteedd--iinnsseerrtt ((CC--qq,, CC--vv))
@@ -496,32 +511,32 @@ EEDDIITTIINNGG CCOOMMMMAANNDDSS
sseellff--iinnsseerrtt ((aa,, bb,, AA,, 11,, !!,, ......))
Insert the character typed.
ttrraannssppoossee--cchhaarrss ((CC--tt))
- Drag the character before point forward over the character at
- point, moving point forward as well. If point is at the end of
- the line, then this transposes the two characters before point.
+ Drag the character before point forward over the character at
+ point, moving point forward as well. If point is at the end of
+ the line, then this transposes the two characters before point.
Negative arguments have no effect.
ttrraannssppoossee--wwoorrddss ((MM--tt))
- Drag the word before point past the word after point, moving
- point over that word as well. If point is at the end of the
+ Drag the word before point past the word after point, moving
+ point over that word as well. If point is at the end of the
line, this transposes the last two words on the line.
uuppccaassee--wwoorrdd ((MM--uu))
- Uppercase the current (or following) word. With a negative
+ Uppercase the current (or following) word. With a negative
argument, uppercase the previous word, but do not move point.
ddoowwnnccaassee--wwoorrdd ((MM--ll))
- Lowercase the current (or following) word. With a negative
+ Lowercase the current (or following) word. With a negative
argument, lowercase the previous word, but do not move point.
ccaappiittaalliizzee--wwoorrdd ((MM--cc))
- Capitalize the current (or following) word. With a negative
+ Capitalize the current (or following) word. With a negative
argument, capitalize the previous word, but do not move point.
oovveerrwwrriittee--mmooddee
- Toggle overwrite mode. With an explicit positive numeric argu-
+ Toggle overwrite mode. With an explicit positive numeric argu-
ment, switches to overwrite mode. With an explicit non-positive
numeric argument, switches to insert mode. This command affects
- only eemmaaccss mode; vvii mode does overwrite differently. Each call
+ only eemmaaccss mode; vvii mode does overwrite differently. Each call
to _r_e_a_d_l_i_n_e_(_) starts in insert mode. In overwrite mode, charac-
- ters bound to sseellff--iinnsseerrtt replace the text at point rather than
- pushing the text to the right. Characters bound to bbaacckk--
- wwaarrdd--ddeelleettee--cchhaarr replace the character before point with a
+ ters bound to sseellff--iinnsseerrtt replace the text at point rather than
+ pushing the text to the right. Characters bound to bbaacckk--
+ wwaarrdd--ddeelleettee--cchhaarr replace the character before point with a
space. By default, this command is unbound.
KKiilllliinngg aanndd YYaannkkiinngg
@@ -530,185 +545,197 @@ EEDDIITTIINNGG CCOOMMMMAANNDDSS
bbaacckkwwaarrdd--kkiillll--lliinnee ((CC--xx RRuubboouutt))
Kill backward to the beginning of the line.
uunniixx--lliinnee--ddiissccaarrdd ((CC--uu))
- Kill backward from point to the beginning of the line. The
+ Kill backward from point to the beginning of the line. The
killed text is saved on the kill-ring.
kkiillll--wwhhoollee--lliinnee
- Kill all characters on the current line, no matter where point
+ Kill all characters on the current line, no matter where point
is.
kkiillll--wwoorrdd ((MM--dd))
- Kill from point the end of the current word, or if between
- words, to the end of the next word. Word boundaries are the
+ Kill from point the end of the current word, or if between
+ words, to the end of the next word. Word boundaries are the
same as those used by ffoorrwwaarrdd--wwoorrdd.
bbaacckkwwaarrdd--kkiillll--wwoorrdd ((MM--RRuubboouutt))
- Kill the word behind point. Word boundaries are the same as
+ Kill the word behind point. Word boundaries are the same as
those used by bbaacckkwwaarrdd--wwoorrdd.
uunniixx--wwoorrdd--rruubboouutt ((CC--ww))
- Kill the word behind point, using white space as a word bound-
+ Kill the word behind point, using white space as a word bound-
ary. The killed text is saved on the kill-ring.
uunniixx--ffiilleennaammee--rruubboouutt
- Kill the word behind point, using white space and the slash
- character as the word boundaries. The killed text is saved on
+ Kill the word behind point, using white space and the slash
+ character as the word boundaries. The killed text is saved on
the kill-ring.
ddeelleettee--hhoorriizzoonnttaall--ssppaaccee ((MM--\\))
Delete all spaces and tabs around point.
kkiillll--rreeggiioonn
- Kill the text between the point and _m_a_r_k (saved cursor posi-
+ Kill the text between the point and _m_a_r_k (saved cursor posi-
tion). This text is referred to as the _r_e_g_i_o_n.
ccooppyy--rreeggiioonn--aass--kkiillll
Copy the text in the region to the kill buffer.
ccooppyy--bbaacckkwwaarrdd--wwoorrdd
- Copy the word before point to the kill buffer. The word bound-
+ Copy the word before point to the kill buffer. The word bound-
aries are the same as bbaacckkwwaarrdd--wwoorrdd.
ccooppyy--ffoorrwwaarrdd--wwoorrdd
- Copy the word following point to the kill buffer. The word
+ Copy the word following point to the kill buffer. The word
boundaries are the same as ffoorrwwaarrdd--wwoorrdd.
yyaannkk ((CC--yy))
Yank the top of the kill ring into the buffer at point.
yyaannkk--ppoopp ((MM--yy))
- Rotate the kill ring, and yank the new top. Only works follow-
+ Rotate the kill ring, and yank the new top. Only works follow-
ing yyaannkk or yyaannkk--ppoopp.
NNuummeerriicc AArrgguummeennttss
ddiiggiitt--aarrgguummeenntt ((MM--00,, MM--11,, ......,, MM----))
- Add this digit to the argument already accumulating, or start a
+ Add this digit to the argument already accumulating, or start a
new argument. M-- starts a negative argument.
uunniivveerrssaall--aarrgguummeenntt
- This is another way to specify an argument. If this command is
- followed by one or more digits, optionally with a leading minus
- sign, those digits define the argument. If the command is fol-
- lowed by digits, executing uunniivveerrssaall--aarrgguummeenntt again ends the
- numeric argument, but is otherwise ignored. As a special case,
- if this command is immediately followed by a character that is
- neither a digit or minus sign, the argument count for the next
- command is multiplied by four. The argument count is initially
- one, so executing this function the first time makes the argu-
+ This is another way to specify an argument. If this command is
+ followed by one or more digits, optionally with a leading minus
+ sign, those digits define the argument. If the command is fol-
+ lowed by digits, executing uunniivveerrssaall--aarrgguummeenntt again ends the
+ numeric argument, but is otherwise ignored. As a special case,
+ if this command is immediately followed by a character that is
+ neither a digit or minus sign, the argument count for the next
+ command is multiplied by four. The argument count is initially
+ one, so executing this function the first time makes the argu-
ment count four, a second time makes the argument count sixteen,
and so on.
CCoommpplleettiinngg
ccoommpplleettee ((TTAABB))
- Attempt to perform completion on the text before point. The
- actual completion performed is application-specific. BBaasshh, for
- instance, attempts completion treating the text as a variable
- (if the text begins with $$), username (if the text begins with
- ~~), hostname (if the text begins with @@), or command (including
- aliases and functions) in turn. If none of these produces a
- match, filename completion is attempted. GGddbb, on the other
- hand, allows completion of program functions and variables, and
+ Attempt to perform completion on the text before point. The
+ actual completion performed is application-specific. BBaasshh, for
+ instance, attempts completion treating the text as a variable
+ (if the text begins with $$), username (if the text begins with
+ ~~), hostname (if the text begins with @@), or command (including
+ aliases and functions) in turn. If none of these produces a
+ match, filename completion is attempted. GGddbb, on the other
+ hand, allows completion of program functions and variables, and
only attempts filename completion under certain circumstances.
ppoossssiibbllee--ccoommpplleettiioonnss ((MM--??))
List the possible completions of the text before point.
iinnsseerrtt--ccoommpplleettiioonnss ((MM--**))
- Insert all completions of the text before point that would have
+ Insert all completions of the text before point that would have
been generated by ppoossssiibbllee--ccoommpplleettiioonnss.
mmeennuu--ccoommpplleettee
- Similar to ccoommpplleettee, but replaces the word to be completed with
- a single match from the list of possible completions. Repeated
- execution of mmeennuu--ccoommpplleettee steps through the list of possible
- completions, inserting each match in turn. At the end of the
+ Similar to ccoommpplleettee, but replaces the word to be completed with
+ a single match from the list of possible completions. Repeated
+ execution of mmeennuu--ccoommpplleettee steps through the list of possible
+ completions, inserting each match in turn. At the end of the
list of completions, the bell is rung (subject to the setting of
bbeellll--ssttyyllee) and the original text is restored. An argument of _n
- moves _n positions forward in the list of matches; a negative
- argument may be used to move backward through the list. This
- command is intended to be bound to TTAABB, but is unbound by
- default.
+ moves _n positions forward in the list of matches; a negative
+ argument may be used to move backward through the list. This
+ command is intended to be bound to TTAABB, but is unbound by
+ default.cc
+ mmeennuu--ccoommpplleettee--kkrrdd
+ Identicwwal to mmeennuu--ccoommpplleettee, but moves backward through the list
+ of possible completions, as if mmeennuu--ccoommpplleettee had been given a
+ negative argument. This command is unbound by default.
ddeelleettee--cchhaarr--oorr--lliisstt
- Deletes the character under the cursor if not at the beginning
- or end of the line (like ddeelleettee--cchhaarr). If at the end of the
+ Deletes the character under the cursor if not at the beginning
+ or end of the line (like ddeelleettee--cchhaarr). If at the end of the
line, behaves identically to ppoossssiibbllee--ccoommpplleettiioonnss.
KKeeyybbooaarrdd MMaaccrrooss
ssttaarrtt--kkbbdd--mmaaccrroo ((CC--xx (())
- Begin saving the characters typed into the current keyboard
+ Begin saving the characters typed into the current keyboard
macro.
eenndd--kkbbdd--mmaaccrroo ((CC--xx ))))
Stop saving the characters typed into the current keyboard macro
and store the definition.
ccaallll--llaasstt--kkbbdd--mmaaccrroo ((CC--xx ee))
- Re-execute the last keyboard macro defined, by making the char-
+ Re-execute the last keyboard macro defined, by making the char-
acters in the macro appear as if typed at the keyboard.
MMiisscceellllaanneeoouuss
rree--rreeaadd--iinniitt--ffiillee ((CC--xx CC--rr))
- Read in the contents of the _i_n_p_u_t_r_c file, and incorporate any
+ Read in the contents of the _i_n_p_u_t_r_c file, and incorporate any
bindings or variable assignments found there.
aabboorrtt ((CC--gg))
- Abort the current editing command and ring the terminal's bell
+ Abort the current editing command and ring the terminal's bell
(subject to the setting of bbeellll--ssttyyllee).
ddoo--uuppppeerrccaassee--vveerrssiioonn ((MM--aa,, MM--bb,, MM--_x,, ......))
- If the metafied character _x is lowercase, run the command that
+ If the metafied character _x is lowercase, run the command that
is bound to the corresponding uppercase character.
pprreeffiixx--mmeettaa ((EESSCC))
Metafy the next character typed. EESSCC ff is equivalent to MMeettaa--ff.
uunnddoo ((CC--__,, CC--xx CC--uu))
Incremental undo, separately remembered for each line.
rreevveerrtt--lliinnee ((MM--rr))
- Undo all changes made to this line. This is like executing the
- uunnddoo command enough times to return the line to its initial
+ Undo all changes made to this line. This is like executing the
+ uunnddoo command enough times to return the line to its initial
state.
ttiillddee--eexxppaanndd ((MM--&&))
Perform tilde expansion on the current word.
sseett--mmaarrkk ((CC--@@,, MM--<<ssppaaccee>>))
- Set the mark to the point. If a numeric argument is supplied,
+ Set the mark to the point. If a numeric argument is supplied,
the mark is set to that position.
eexxcchhaannggee--ppooiinntt--aanndd--mmaarrkk ((CC--xx CC--xx))
- Swap the point with the mark. The current cursor position is
- set to the saved position, and the old cursor position is saved
+ Swap the point with the mark. The current cursor position is
+ set to the saved position, and the old cursor position is saved
as the mark.
cchhaarraacctteerr--sseeaarrcchh ((CC--]]))
A character is read and point is moved to the next occurrence of
- that character. A negative count searches for previous occur-
+ that character. A negative count searches for previous occur-
rences.
cchhaarraacctteerr--sseeaarrcchh--bbaacckkwwaarrdd ((MM--CC--]]))
- A character is read and point is moved to the previous occur-
- rence of that character. A negative count searches for subse-
+ A character is read and point is moved to the previous occur-
+ rence of that character. A negative count searches for subse-
quent occurrences.
+ sskkiipp--ccssii--sseeqquueennccee (())
+ Read enough characters to consume a multi-key sequence such as
+ those defined for keys like Home and End. Such sequences begin
+ with a Control Sequence Indicator (CSI), usually ESC-[. If this
+ sequence is bound to "\[", keys producing such sequences will
+ have no effect unless explicitly bound to a readline command,
+ instead of inserting stray characters into the editing buffer.
+ This is unbound by default, but usually bound to ESC-[.
iinnsseerrtt--ccoommmmeenntt ((MM--##))
- Without a numeric argument, the value of the readline ccoomm--
- mmeenntt--bbeeggiinn variable is inserted at the beginning of the current
+ Without a numeric argument, the value of the readline ccoomm--
+ mmeenntt--bbeeggiinn variable is inserted at the beginning of the current
line. If a numeric argument is supplied, this command acts as a
- toggle: if the characters at the beginning of the line do not
- match the value of ccoommmmeenntt--bbeeggiinn, the value is inserted, other-
+ toggle: if the characters at the beginning of the line do not
+ match the value of ccoommmmeenntt--bbeeggiinn, the value is inserted, other-
wise the characters in ccoommmmeenntt--bbeeggiinn are deleted from the begin-
- ning of the line. In either case, the line is accepted as if a
- newline had been typed. The default value of ccoommmmeenntt--bbeeggiinn
- makes the current line a shell comment. If a numeric argument
- causes the comment character to be removed, the line will be
+ ning of the line. In either case, the line is accepted as if a
+ newline had been typed. The default value of ccoommmmeenntt--bbeeggiinn
+ makes the current line a shell comment. If a numeric argument
+ causes the comment character to be removed, the line will be
executed by the shell.
dduummpp--ffuunnccttiioonnss
- Print all of the functions and their key bindings to the read-
+ Print all of the functions and their key bindings to the read-
line output stream. If a numeric argument is supplied, the out-
- put is formatted in such a way that it can be made part of an
+ put is formatted in such a way that it can be made part of an
_i_n_p_u_t_r_c file.
dduummpp--vvaarriiaabblleess
- Print all of the settable variables and their values to the
- readline output stream. If a numeric argument is supplied, the
+ Print all of the settable variables and their values to the
+ readline output stream. If a numeric argument is supplied, the
output is formatted in such a way that it can be made part of an
_i_n_p_u_t_r_c file.
dduummpp--mmaaccrrooss
- Print all of the readline key sequences bound to macros and the
- strings they output. If a numeric argument is supplied, the
+ Print all of the readline key sequences bound to macros and the
+ strings they output. If a numeric argument is supplied, the
output is formatted in such a way that it can be made part of an
_i_n_p_u_t_r_c file.
eemmaaccss--eeddiittiinngg--mmooddee ((CC--ee))
- When in vvii command mode, this causes a switch to eemmaaccss editing
+ When in vvii command mode, this causes a switch to eemmaaccss editing
mode.
vvii--eeddiittiinngg--mmooddee ((MM--CC--jj))
- When in eemmaaccss editing mode, this causes a switch to vvii editing
+ When in eemmaaccss editing mode, this causes a switch to vvii editing
mode.
DDEEFFAAUULLTT KKEEYY BBIINNDDIINNGGSS
- The following is a list of the default emacs and vi bindings. Charac-
- ters with the eighth bit set are written as M-<character>, and are
+ The following is a list of the default emacs and vi bindings. Charac-
+ ters with the eighth bit set are written as M-<character>, and are
referred to as _m_e_t_a_f_i_e_d characters. The printable ASCII characters not
- mentioned in the list of emacs standard bindings are bound to the
- sseellff--iinnsseerrtt function, which just inserts the given character into the
+ mentioned in the list of emacs standard bindings are bound to the
+ sseellff--iinnsseerrtt function, which just inserts the given character into the
input line. In vi insertion mode, all characters not specifically men-
tioned are bound to sseellff--iinnsseerrtt. Characters assigned to signal genera-
tion by _s_t_t_y(1) or the terminal driver, such as C-Z or C-C, retain that
- function. Upper and lower case metafied characters are bound to the
- same function in the emacs mode meta keymap. The remaining characters
- are unbound, which causes readline to ring the bell (subject to the
+ function. Upper and lower case metafied characters are bound to the
+ same function in the emacs mode meta keymap. The remaining characters
+ are unbound, which causes readline to ring the bell (subject to the
setting of the bbeellll--ssttyyllee variable).
EEmmaaccss MMooddee
@@ -922,14 +949,14 @@ AAUUTTHHOORRSS
chet@ins.CWRU.Edu
BBUUGG RREEPPOORRTTSS
- If you find a bug in rreeaaddlliinnee,, you should report it. But first, you
- should make sure that it really is a bug, and that it appears in the
+ If you find a bug in rreeaaddlliinnee,, you should report it. But first, you
+ should make sure that it really is a bug, and that it appears in the
latest version of the rreeaaddlliinnee library that you have.
- Once you have determined that a bug actually exists, mail a bug report
- to _b_u_g_-_r_e_a_d_l_i_n_e@_g_n_u_._o_r_g. If you have a fix, you are welcome to mail
- that as well! Suggestions and `philosophical' bug reports may be
- mailed to _b_u_g_-_r_e_a_d_l_i_n_e@_g_n_u_._o_r_g or posted to the Usenet newsgroup
+ Once you have determined that a bug actually exists, mail a bug report
+ to _b_u_g_-_r_e_a_d_l_i_n_e@_g_n_u_._o_r_g. If you have a fix, you are welcome to mail
+ that as well! Suggestions and `philosophical' bug reports may be
+ mailed to _b_u_g_-_r_e_a_d_l_i_n_e@_g_n_u_._o_r_g or posted to the Usenet newsgroup
ggnnuu..bbaasshh..bbuugg.
Comments and bug reports concerning this manual page should be directed
@@ -940,4 +967,4 @@ BBUUGGSS
-GNU Readline 6.0 2008 May 8 READLINE(3)
+GNU Readline 6.1 2009 October 9 READLINE(3)
diff --git a/doc/readline.3 b/doc/readline.3
index 5d72952..a41af09 100644
--- a/doc/readline.3
+++ b/doc/readline.3
@@ -6,9 +6,9 @@
.\" Case Western Reserve University
.\" chet@ins.CWRU.Edu
.\"
-.\" Last Change: Thu May 8 09:29:59 EDT 2008
+.\" Last Change: Fri Oct 9 12:57:27 EDT 2009
.\"
-.TH READLINE 3 "2008 May 8" "GNU Readline 6.0"
+.TH READLINE 3 "2009 October 9" "GNU Readline 6.1"
.\"
.\" File Name macro. This used to be `.PN', for Path Name,
.\" but Sun doesn't seem to like that very much.
@@ -401,11 +401,21 @@ can be set to either
or
.BR vi .
.TP
+.B echo\-control\-characters (On)
+When set to \fBOn\fP, on operating systems that indicate they support it,
+readline echoes a character corresponding to a signal generated from the
+keyboard.
+.TP
.B enable\-keypad (Off)
When set to \fBOn\fP, readline will try to enable the application
keypad when it is called. Some systems need this to enable the
arrow keys.
.TP
+.B enable\-meta\-key (On)
+When set to \fBOn\fP, readline will try to enable any meta modifier
+key the terminal claims to support when it is called. On many terminals,
+the meta key is used to send eight-bit characters.
+.TP
.B expand\-tilde (Off)
If set to \fBon\fP, tilde expansion is performed when readline
attempts word completion.
@@ -504,6 +514,14 @@ possible partial completion (the possible completions don't share
a common prefix) cause the matches to be listed immediately instead
of ringing the bell.
.TP
+.B skip\-completed\-text (Off)
+If set to \fBOn\fP, this alters the default completion behavior when
+inserting a single match into the line. It's only active when
+performing completion in the middle of a word. If enabled, readline
+does not insert characters from the completion that match characters
+after point in the word being completed, so portions of the word
+following the cursor are not duplicated.
+.TP
.B visible\-stats (Off)
If set to \fBOn\fP, a character denoting a file's type as reported
by \fIstat\fP(2) is appended to the filename when listing possible
@@ -924,6 +942,11 @@ through the list.
This command is intended to be bound to \fBTAB\fP, but is unbound
by default.
.TP
+.B menu\-complete-\backward
+Identical to \fBmenu\-complete\fP, but moves backward through the list
+of possible completions, as if \fBmenu\-complete\fP had been given a
+negative argument. This command is unbound by default.
+.TP
.B delete\-char\-or\-list
Deletes the character under the cursor if not at the beginning or
end of the line (like \fBdelete-char\fP).
@@ -997,6 +1020,15 @@ character. A negative count searches for previous occurrences.
A character is read and point is moved to the previous occurrence of that
character. A negative count searches for subsequent occurrences.
.TP
+.B skip\-csi\-sequence ()
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End. Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC\-[. If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer. This is unbound by default,
+but usually bound to ESC\-[.
+.TP
.B insert\-comment (M\-#)
Without a numeric argument, the value of the readline
.B comment\-begin
diff --git a/doc/readline.dvi b/doc/readline.dvi
index d2e86c2..4bdd9f0 100644
--- a/doc/readline.dvi
+++ b/doc/readline.dvi
Binary files differ
diff --git a/doc/readline.html b/doc/readline.html
index 0d899ef..ec427a4 100644
--- a/doc/readline.html
+++ b/doc/readline.html
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on January, 6 2009 by texi2html 1.64 -->
+<!-- Created on October, 12 2009 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -652,6 +652,12 @@ mode, where the keystrokes are most similar to Emacs. This variable can be
set to either <SAMP>`emacs'</SAMP> or <SAMP>`vi'</SAMP>.
<P>
+<DT><CODE>echo-control-characters</CODE>
+<DD>When set to <SAMP>`on'</SAMP>, on operating systems that indicate they support it,
+readline echoes a character corresponding to a signal generated from the
+keyboard. The default is <SAMP>`on'</SAMP>.
+<P>
+
<DT><CODE>enable-keypad</CODE>
<DD><A NAME="IDX13"></A>
When set to <SAMP>`on'</SAMP>, Readline will try to enable the application
@@ -659,6 +665,13 @@ keypad when it is called. Some systems need this to enable the
arrow keys. The default is <SAMP>`off'</SAMP>.
<P>
+<DT><CODE>enable-meta-key</CODE>
+<DD>When set to <SAMP>`on'</SAMP>, Readline will try to enable any meta modifier
+key the terminal claims to support when it is called. On many terminals,
+the meta key is used to send eight-bit characters.
+The default is <SAMP>`on'</SAMP>.
+<P>
+
<DT><CODE>expand-tilde</CODE>
<DD><A NAME="IDX14"></A>
If set to <SAMP>`on'</SAMP>, tilde expansion is performed when Readline
@@ -802,8 +815,23 @@ of ringing the bell.
The default value is <SAMP>`off'</SAMP>.
<P>
-<DT><CODE>visible-stats</CODE>
+<DT><CODE>skip-completed-text</CODE>
<DD><A NAME="IDX30"></A>
+If set to <SAMP>`on'</SAMP>, this alters the default completion behavior when
+inserting a single match into the line. It's only active when
+performing completion in the middle of a word. If enabled, readline
+does not insert characters from the completion that match characters
+after point in the word being completed, so portions of the word
+following the cursor are not duplicated.
+For instance, if this is enabled, attempting completion when the cursor
+is after the <SAMP>`e'</SAMP> in <SAMP>`Makefile'</SAMP> will result in <SAMP>`Makefile'</SAMP>
+rather than <SAMP>`Makefilefile'</SAMP>, assuming there is a single possible
+completion.
+The default value is <SAMP>`off'</SAMP>.
+<P>
+
+<DT><CODE>visible-stats</CODE>
+<DD><A NAME="IDX31"></A>
If set to <SAMP>`on'</SAMP>, a character denoting a file's type
is appended to the filename when listing possible
completions. The default is <SAMP>`off'</SAMP>.
@@ -1219,54 +1247,54 @@ The text between the point and mark is referred to as the <EM>region</EM>.
<H3> 1.4.1 Commands For Moving </H3>
<!--docid::SEC14::-->
<DL COMPACT>
-<A NAME="IDX31"></A>
+<A NAME="IDX32"></A>
<DT><CODE>beginning-of-line (C-a)</CODE>
-<DD><A NAME="IDX32"></A>
+<DD><A NAME="IDX33"></A>
Move to the start of the current line.
<P>
-<A NAME="IDX33"></A>
+<A NAME="IDX34"></A>
<DT><CODE>end-of-line (C-e)</CODE>
-<DD><A NAME="IDX34"></A>
+<DD><A NAME="IDX35"></A>
Move to the end of the line.
<P>
-<A NAME="IDX35"></A>
+<A NAME="IDX36"></A>
<DT><CODE>forward-char (C-f)</CODE>
-<DD><A NAME="IDX36"></A>
+<DD><A NAME="IDX37"></A>
Move forward a character.
<P>
-<A NAME="IDX37"></A>
+<A NAME="IDX38"></A>
<DT><CODE>backward-char (C-b)</CODE>
-<DD><A NAME="IDX38"></A>
+<DD><A NAME="IDX39"></A>
Move back a character.
<P>
-<A NAME="IDX39"></A>
+<A NAME="IDX40"></A>
<DT><CODE>forward-word (M-f)</CODE>
-<DD><A NAME="IDX40"></A>
+<DD><A NAME="IDX41"></A>
Move forward to the end of the next word.
Words are composed of letters and digits.
<P>
-<A NAME="IDX41"></A>
+<A NAME="IDX42"></A>
<DT><CODE>backward-word (M-b)</CODE>
-<DD><A NAME="IDX42"></A>
+<DD><A NAME="IDX43"></A>
Move back to the start of the current or previous word.
Words are composed of letters and digits.
<P>
-<A NAME="IDX43"></A>
+<A NAME="IDX44"></A>
<DT><CODE>clear-screen (C-l)</CODE>
-<DD><A NAME="IDX44"></A>
+<DD><A NAME="IDX45"></A>
Clear the screen and redraw the current line,
leaving the current line at the top of the screen.
<P>
-<A NAME="IDX45"></A>
+<A NAME="IDX46"></A>
<DT><CODE>redraw-current-line ()</CODE>
-<DD><A NAME="IDX46"></A>
+<DD><A NAME="IDX47"></A>
Refresh the current line. By default, this is unbound.
<P>
@@ -1292,9 +1320,9 @@ Refresh the current line. By default, this is unbound.
<P>
<DL COMPACT>
-<A NAME="IDX47"></A>
+<A NAME="IDX48"></A>
<DT><CODE>accept-line (Newline or Return)</CODE>
-<DD><A NAME="IDX48"></A>
+<DD><A NAME="IDX49"></A>
Accept the line regardless of where the cursor is.
If this line is
non-empty, it may be added to the history list for future recall with
@@ -1303,81 +1331,81 @@ If this line is a modified history line, the history line is restored
to its original state.
<P>
-<A NAME="IDX49"></A>
+<A NAME="IDX50"></A>
<DT><CODE>previous-history (C-p)</CODE>
-<DD><A NAME="IDX50"></A>
+<DD><A NAME="IDX51"></A>
Move `back' through the history list, fetching the previous command.
<P>
-<A NAME="IDX51"></A>
+<A NAME="IDX52"></A>
<DT><CODE>next-history (C-n)</CODE>
-<DD><A NAME="IDX52"></A>
+<DD><A NAME="IDX53"></A>
Move `forward' through the history list, fetching the next command.
<P>
-<A NAME="IDX53"></A>
+<A NAME="IDX54"></A>
<DT><CODE>beginning-of-history (M-&#60;)</CODE>
-<DD><A NAME="IDX54"></A>
+<DD><A NAME="IDX55"></A>
Move to the first line in the history.
<P>
-<A NAME="IDX55"></A>
+<A NAME="IDX56"></A>
<DT><CODE>end-of-history (M-&#62;)</CODE>
-<DD><A NAME="IDX56"></A>
+<DD><A NAME="IDX57"></A>
Move to the end of the input history, i.e., the line currently
being entered.
<P>
-<A NAME="IDX57"></A>
+<A NAME="IDX58"></A>
<DT><CODE>reverse-search-history (C-r)</CODE>
-<DD><A NAME="IDX58"></A>
+<DD><A NAME="IDX59"></A>
Search backward starting at the current line and moving `up' through
the history as necessary. This is an incremental search.
<P>
-<A NAME="IDX59"></A>
+<A NAME="IDX60"></A>
<DT><CODE>forward-search-history (C-s)</CODE>
-<DD><A NAME="IDX60"></A>
+<DD><A NAME="IDX61"></A>
Search forward starting at the current line and moving `down' through
the the history as necessary. This is an incremental search.
<P>
-<A NAME="IDX61"></A>
+<A NAME="IDX62"></A>
<DT><CODE>non-incremental-reverse-search-history (M-p)</CODE>
-<DD><A NAME="IDX62"></A>
+<DD><A NAME="IDX63"></A>
Search backward starting at the current line and moving `up'
through the history as necessary using a non-incremental search
for a string supplied by the user.
<P>
-<A NAME="IDX63"></A>
+<A NAME="IDX64"></A>
<DT><CODE>non-incremental-forward-search-history (M-n)</CODE>
-<DD><A NAME="IDX64"></A>
+<DD><A NAME="IDX65"></A>
Search forward starting at the current line and moving `down'
through the the history as necessary using a non-incremental search
for a string supplied by the user.
<P>
-<A NAME="IDX65"></A>
+<A NAME="IDX66"></A>
<DT><CODE>history-search-forward ()</CODE>
-<DD><A NAME="IDX66"></A>
+<DD><A NAME="IDX67"></A>
Search forward through the history for the string of characters
between the start of the current line and the point.
This is a non-incremental search.
By default, this command is unbound.
<P>
-<A NAME="IDX67"></A>
+<A NAME="IDX68"></A>
<DT><CODE>history-search-backward ()</CODE>
-<DD><A NAME="IDX68"></A>
+<DD><A NAME="IDX69"></A>
Search backward through the history for the string of characters
between the start of the current line and the point. This
is a non-incremental search. By default, this command is unbound.
<P>
-<A NAME="IDX69"></A>
+<A NAME="IDX70"></A>
<DT><CODE>yank-nth-arg (M-C-y)</CODE>
-<DD><A NAME="IDX70"></A>
+<DD><A NAME="IDX71"></A>
Insert the first argument to the previous command (usually
the second word on the previous line) at point.
With an argument <VAR>n</VAR>,
@@ -1388,9 +1416,9 @@ Once the argument <VAR>n</VAR> is computed, the argument is extracted
as if the <SAMP>`!<VAR>n</VAR>'</SAMP> history expansion had been specified.
<P>
-<A NAME="IDX71"></A>
+<A NAME="IDX72"></A>
<DT><CODE>yank-last-arg (M-. or M-_)</CODE>
-<DD><A NAME="IDX72"></A>
+<DD><A NAME="IDX73"></A>
Insert last argument to the previous command (the last word of the
previous history entry). With an
argument, behave exactly like <CODE>yank-nth-arg</CODE>.
@@ -1422,52 +1450,52 @@ as if the <SAMP>`!$'</SAMP> history expansion had been specified.
<P>
<DL COMPACT>
-<A NAME="IDX73"></A>
+<A NAME="IDX74"></A>
<DT><CODE>delete-char (C-d)</CODE>
-<DD><A NAME="IDX74"></A>
+<DD><A NAME="IDX75"></A>
Delete the character at point. If point is at the
beginning of the line, there are no characters in the line, and
the last character typed was not bound to <CODE>delete-char</CODE>, then
return EOF.
<P>
-<A NAME="IDX75"></A>
+<A NAME="IDX76"></A>
<DT><CODE>backward-delete-char (Rubout)</CODE>
-<DD><A NAME="IDX76"></A>
+<DD><A NAME="IDX77"></A>
Delete the character behind the cursor. A numeric argument means
to kill the characters instead of deleting them.
<P>
-<A NAME="IDX77"></A>
+<A NAME="IDX78"></A>
<DT><CODE>forward-backward-delete-char ()</CODE>
-<DD><A NAME="IDX78"></A>
+<DD><A NAME="IDX79"></A>
Delete the character under the cursor, unless the cursor is at the
end of the line, in which case the character behind the cursor is
deleted. By default, this is not bound to a key.
<P>
-<A NAME="IDX79"></A>
+<A NAME="IDX80"></A>
<DT><CODE>quoted-insert (C-q or C-v)</CODE>
-<DD><A NAME="IDX80"></A>
+<DD><A NAME="IDX81"></A>
Add the next character typed to the line verbatim. This is
how to insert key sequences like <KBD>C-q</KBD>, for example.
<P>
-<A NAME="IDX81"></A>
+<A NAME="IDX82"></A>
<DT><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX82"></A>
+<DD><A NAME="IDX83"></A>
Insert a tab character.
<P>
-<A NAME="IDX83"></A>
+<A NAME="IDX84"></A>
<DT><CODE>self-insert (a, b, A, 1, !, <small>...</small>)</CODE>
-<DD><A NAME="IDX84"></A>
+<DD><A NAME="IDX85"></A>
Insert yourself.
<P>
-<A NAME="IDX85"></A>
+<A NAME="IDX86"></A>
<DT><CODE>transpose-chars (C-t)</CODE>
-<DD><A NAME="IDX86"></A>
+<DD><A NAME="IDX87"></A>
Drag the character before the cursor forward over
the character at the cursor, moving the
cursor forward as well. If the insertion point
@@ -1476,39 +1504,39 @@ transposes the last two characters of the line.
Negative arguments have no effect.
<P>
-<A NAME="IDX87"></A>
+<A NAME="IDX88"></A>
<DT><CODE>transpose-words (M-t)</CODE>
-<DD><A NAME="IDX88"></A>
+<DD><A NAME="IDX89"></A>
Drag the word before point past the word after point,
moving point past that word as well.
If the insertion point is at the end of the line, this transposes
the last two words on the line.
<P>
-<A NAME="IDX89"></A>
+<A NAME="IDX90"></A>
<DT><CODE>upcase-word (M-u)</CODE>
-<DD><A NAME="IDX90"></A>
+<DD><A NAME="IDX91"></A>
Uppercase the current (or following) word. With a negative argument,
uppercase the previous word, but do not move the cursor.
<P>
-<A NAME="IDX91"></A>
+<A NAME="IDX92"></A>
<DT><CODE>downcase-word (M-l)</CODE>
-<DD><A NAME="IDX92"></A>
+<DD><A NAME="IDX93"></A>
Lowercase the current (or following) word. With a negative argument,
lowercase the previous word, but do not move the cursor.
<P>
-<A NAME="IDX93"></A>
+<A NAME="IDX94"></A>
<DT><CODE>capitalize-word (M-c)</CODE>
-<DD><A NAME="IDX94"></A>
+<DD><A NAME="IDX95"></A>
Capitalize the current (or following) word. With a negative argument,
capitalize the previous word, but do not move the cursor.
<P>
-<A NAME="IDX95"></A>
+<A NAME="IDX96"></A>
<DT><CODE>overwrite-mode ()</CODE>
-<DD><A NAME="IDX96"></A>
+<DD><A NAME="IDX97"></A>
Toggle overwrite mode. With an explicit positive numeric argument,
switches to overwrite mode. With an explicit non-positive numeric
argument, switches to insert mode. This command affects only
@@ -1548,106 +1576,106 @@ By default, this command is unbound.
<DL COMPACT>
-<A NAME="IDX97"></A>
+<A NAME="IDX98"></A>
<DT><CODE>kill-line (C-k)</CODE>
-<DD><A NAME="IDX98"></A>
+<DD><A NAME="IDX99"></A>
Kill the text from point to the end of the line.
<P>
-<A NAME="IDX99"></A>
+<A NAME="IDX100"></A>
<DT><CODE>backward-kill-line (C-x Rubout)</CODE>
-<DD><A NAME="IDX100"></A>
+<DD><A NAME="IDX101"></A>
Kill backward to the beginning of the line.
<P>
-<A NAME="IDX101"></A>
+<A NAME="IDX102"></A>
<DT><CODE>unix-line-discard (C-u)</CODE>
-<DD><A NAME="IDX102"></A>
+<DD><A NAME="IDX103"></A>
Kill backward from the cursor to the beginning of the current line.
<P>
-<A NAME="IDX103"></A>
+<A NAME="IDX104"></A>
<DT><CODE>kill-whole-line ()</CODE>
-<DD><A NAME="IDX104"></A>
+<DD><A NAME="IDX105"></A>
Kill all characters on the current line, no matter where point is.
By default, this is unbound.
<P>
-<A NAME="IDX105"></A>
+<A NAME="IDX106"></A>
<DT><CODE>kill-word (M-d)</CODE>
-<DD><A NAME="IDX106"></A>
+<DD><A NAME="IDX107"></A>
Kill from point to the end of the current word, or if between
words, to the end of the next word.
Word boundaries are the same as <CODE>forward-word</CODE>.
<P>
-<A NAME="IDX107"></A>
+<A NAME="IDX108"></A>
<DT><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE>
-<DD><A NAME="IDX108"></A>
+<DD><A NAME="IDX109"></A>
Kill the word behind point.
Word boundaries are the same as <CODE>backward-word</CODE>.
<P>
-<A NAME="IDX109"></A>
+<A NAME="IDX110"></A>
<DT><CODE>unix-word-rubout (C-w)</CODE>
-<DD><A NAME="IDX110"></A>
+<DD><A NAME="IDX111"></A>
Kill the word behind point, using white space as a word boundary.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX111"></A>
+<A NAME="IDX112"></A>
<DT><CODE>unix-filename-rubout ()</CODE>
-<DD><A NAME="IDX112"></A>
+<DD><A NAME="IDX113"></A>
Kill the word behind point, using white space and the slash character
as the word boundaries.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX113"></A>
+<A NAME="IDX114"></A>
<DT><CODE>delete-horizontal-space ()</CODE>
-<DD><A NAME="IDX114"></A>
+<DD><A NAME="IDX115"></A>
Delete all spaces and tabs around point. By default, this is unbound.
<P>
-<A NAME="IDX115"></A>
+<A NAME="IDX116"></A>
<DT><CODE>kill-region ()</CODE>
-<DD><A NAME="IDX116"></A>
+<DD><A NAME="IDX117"></A>
Kill the text in the current region.
By default, this command is unbound.
<P>
-<A NAME="IDX117"></A>
+<A NAME="IDX118"></A>
<DT><CODE>copy-region-as-kill ()</CODE>
-<DD><A NAME="IDX118"></A>
+<DD><A NAME="IDX119"></A>
Copy the text in the region to the kill buffer, so it can be yanked
right away. By default, this command is unbound.
<P>
-<A NAME="IDX119"></A>
+<A NAME="IDX120"></A>
<DT><CODE>copy-backward-word ()</CODE>
-<DD><A NAME="IDX120"></A>
+<DD><A NAME="IDX121"></A>
Copy the word before point to the kill buffer.
The word boundaries are the same as <CODE>backward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX121"></A>
+<A NAME="IDX122"></A>
<DT><CODE>copy-forward-word ()</CODE>
-<DD><A NAME="IDX122"></A>
+<DD><A NAME="IDX123"></A>
Copy the word following point to the kill buffer.
The word boundaries are the same as <CODE>forward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX123"></A>
+<A NAME="IDX124"></A>
<DT><CODE>yank (C-y)</CODE>
-<DD><A NAME="IDX124"></A>
+<DD><A NAME="IDX125"></A>
Yank the top of the kill ring into the buffer at point.
<P>
-<A NAME="IDX125"></A>
+<A NAME="IDX126"></A>
<DT><CODE>yank-pop (M-y)</CODE>
-<DD><A NAME="IDX126"></A>
+<DD><A NAME="IDX127"></A>
Rotate the kill-ring, and yank the new top. You can only do this if
the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
</DL>
@@ -1671,16 +1699,16 @@ the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
<!--docid::SEC18::-->
<DL COMPACT>
-<A NAME="IDX127"></A>
+<A NAME="IDX128"></A>
<DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
-<DD><A NAME="IDX128"></A>
+<DD><A NAME="IDX129"></A>
Add this digit to the argument already accumulating, or start a new
argument. <KBD>M--</KBD> starts a negative argument.
<P>
-<A NAME="IDX129"></A>
+<A NAME="IDX130"></A>
<DT><CODE>universal-argument ()</CODE>
-<DD><A NAME="IDX130"></A>
+<DD><A NAME="IDX131"></A>
This is another way to specify an argument.
If this command is followed by one or more digits, optionally with a
leading minus sign, those digits define the argument.
@@ -1715,30 +1743,30 @@ By default, this is not bound to a key.
<P>
<DL COMPACT>
-<A NAME="IDX131"></A>
+<A NAME="IDX132"></A>
<DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX132"></A>
+<DD><A NAME="IDX133"></A>
Attempt to perform completion on the text before point.
The actual completion performed is application-specific.
The default is filename completion.
<P>
-<A NAME="IDX133"></A>
+<A NAME="IDX134"></A>
<DT><CODE>possible-completions (M-?)</CODE>
-<DD><A NAME="IDX134"></A>
+<DD><A NAME="IDX135"></A>
List the possible completions of the text before point.
<P>
-<A NAME="IDX135"></A>
+<A NAME="IDX136"></A>
<DT><CODE>insert-completions (M-*)</CODE>
-<DD><A NAME="IDX136"></A>
+<DD><A NAME="IDX137"></A>
Insert all completions of the text before point that would have
been generated by <CODE>possible-completions</CODE>.
<P>
-<A NAME="IDX137"></A>
+<A NAME="IDX138"></A>
<DT><CODE>menu-complete ()</CODE>
-<DD><A NAME="IDX138"></A>
+<DD><A NAME="IDX139"></A>
Similar to <CODE>complete</CODE>, but replaces the word to be completed
with a single match from the list of possible completions.
Repeated execution of <CODE>menu-complete</CODE> steps through the list
@@ -1753,9 +1781,17 @@ This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
by default.
<P>
-<A NAME="IDX139"></A>
+<A NAME="IDX140"></A>
+<DT><CODE>menu-complete-backward ()</CODE>
+<DD><A NAME="IDX141"></A>
+Identical to <CODE>menu-complete</CODE>, but moves backward through the list
+of possible completions, as if <CODE>menu-complete</CODE> had been given a
+negative argument.
+<P>
+
+<A NAME="IDX142"></A>
<DT><CODE>delete-char-or-list ()</CODE>
-<DD><A NAME="IDX140"></A>
+<DD><A NAME="IDX143"></A>
Deletes the character under the cursor if not at the beginning or
end of the line (like <CODE>delete-char</CODE>).
If at the end of the line, behaves identically to
@@ -1784,22 +1820,22 @@ This command is unbound by default.
<!--docid::SEC20::-->
<DL COMPACT>
-<A NAME="IDX141"></A>
+<A NAME="IDX144"></A>
<DT><CODE>start-kbd-macro (C-x ()</CODE>
-<DD><A NAME="IDX142"></A>
+<DD><A NAME="IDX145"></A>
Begin saving the characters typed into the current keyboard macro.
<P>
-<A NAME="IDX143"></A>
+<A NAME="IDX146"></A>
<DT><CODE>end-kbd-macro (C-x ))</CODE>
-<DD><A NAME="IDX144"></A>
+<DD><A NAME="IDX147"></A>
Stop saving the characters typed into the current keyboard macro
and save the definition.
<P>
-<A NAME="IDX145"></A>
+<A NAME="IDX148"></A>
<DT><CODE>call-last-kbd-macro (C-x e)</CODE>
-<DD><A NAME="IDX146"></A>
+<DD><A NAME="IDX149"></A>
Re-execute the last keyboard macro defined, by making the characters
in the macro appear as if typed at the keyboard.
<P>
@@ -1825,87 +1861,99 @@ in the macro appear as if typed at the keyboard.
<!--docid::SEC21::-->
<DL COMPACT>
-<A NAME="IDX147"></A>
+<A NAME="IDX150"></A>
<DT><CODE>re-read-init-file (C-x C-r)</CODE>
-<DD><A NAME="IDX148"></A>
+<DD><A NAME="IDX151"></A>
Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
any bindings or variable assignments found there.
<P>
-<A NAME="IDX149"></A>
+<A NAME="IDX152"></A>
<DT><CODE>abort (C-g)</CODE>
-<DD><A NAME="IDX150"></A>
+<DD><A NAME="IDX153"></A>
Abort the current editing command and
ring the terminal's bell (subject to the setting of
<CODE>bell-style</CODE>).
<P>
-<A NAME="IDX151"></A>
+<A NAME="IDX154"></A>
<DT><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, <small>...</small>)</CODE>
-<DD><A NAME="IDX152"></A>
+<DD><A NAME="IDX155"></A>
If the metafied character <VAR>x</VAR> is lowercase, run the command
that is bound to the corresponding uppercase character.
<P>
-<A NAME="IDX153"></A>
+<A NAME="IDX156"></A>
<DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
-<DD><A NAME="IDX154"></A>
+<DD><A NAME="IDX157"></A>
Metafy the next character typed. This is for keyboards
without a meta key. Typing <SAMP>`<KBD>ESC</KBD> f'</SAMP> is equivalent to typing
<KBD>M-f</KBD>.
<P>
-<A NAME="IDX155"></A>
+<A NAME="IDX158"></A>
<DT><CODE>undo (C-_ or C-x C-u)</CODE>
-<DD><A NAME="IDX156"></A>
+<DD><A NAME="IDX159"></A>
Incremental undo, separately remembered for each line.
<P>
-<A NAME="IDX157"></A>
+<A NAME="IDX160"></A>
<DT><CODE>revert-line (M-r)</CODE>
-<DD><A NAME="IDX158"></A>
+<DD><A NAME="IDX161"></A>
Undo all changes made to this line. This is like executing the <CODE>undo</CODE>
command enough times to get back to the beginning.
<P>
-<A NAME="IDX159"></A>
+<A NAME="IDX162"></A>
<DT><CODE>tilde-expand (M-~)</CODE>
-<DD><A NAME="IDX160"></A>
+<DD><A NAME="IDX163"></A>
Perform tilde expansion on the current word.
<P>
-<A NAME="IDX161"></A>
+<A NAME="IDX164"></A>
<DT><CODE>set-mark (C-@)</CODE>
-<DD><A NAME="IDX162"></A>
+<DD><A NAME="IDX165"></A>
Set the mark to the point. If a
numeric argument is supplied, the mark is set to that position.
<P>
-<A NAME="IDX163"></A>
+<A NAME="IDX166"></A>
<DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
-<DD><A NAME="IDX164"></A>
+<DD><A NAME="IDX167"></A>
Swap the point with the mark. The current cursor position is set to
the saved position, and the old cursor position is saved as the mark.
<P>
-<A NAME="IDX165"></A>
+<A NAME="IDX168"></A>
<DT><CODE>character-search (C-])</CODE>
-<DD><A NAME="IDX166"></A>
+<DD><A NAME="IDX169"></A>
A character is read and point is moved to the next occurrence of that
character. A negative count searches for previous occurrences.
<P>
-<A NAME="IDX167"></A>
+<A NAME="IDX170"></A>
<DT><CODE>character-search-backward (M-C-])</CODE>
-<DD><A NAME="IDX168"></A>
+<DD><A NAME="IDX171"></A>
A character is read and point is moved to the previous occurrence
of that character. A negative count searches for subsequent
occurrences.
<P>
-<A NAME="IDX169"></A>
+<A NAME="IDX172"></A>
+<DT><CODE>skip-csi-sequence ()</CODE>
+<DD><A NAME="IDX173"></A>
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End. Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC-[. If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer. This is unbound by default,
+but usually bound to ESC-[.
+<P>
+
+<A NAME="IDX174"></A>
<DT><CODE>insert-comment (M-#)</CODE>
-<DD><A NAME="IDX170"></A>
+<DD><A NAME="IDX175"></A>
Without a numeric argument, the value of the <CODE>comment-begin</CODE>
variable is inserted at the beginning of the current line.
If a numeric argument is supplied, this command acts as a toggle: if
@@ -1916,43 +1964,43 @@ the line.
In either case, the line is accepted as if a newline had been typed.
<P>
-<A NAME="IDX171"></A>
+<A NAME="IDX176"></A>
<DT><CODE>dump-functions ()</CODE>
-<DD><A NAME="IDX172"></A>
+<DD><A NAME="IDX177"></A>
Print all of the functions and their key bindings to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX173"></A>
+<A NAME="IDX178"></A>
<DT><CODE>dump-variables ()</CODE>
-<DD><A NAME="IDX174"></A>
+<DD><A NAME="IDX179"></A>
Print all of the settable variables and their values to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX175"></A>
+<A NAME="IDX180"></A>
<DT><CODE>dump-macros ()</CODE>
-<DD><A NAME="IDX176"></A>
+<DD><A NAME="IDX181"></A>
Print all of the Readline key sequences bound to macros and the
strings they output. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX177"></A>
+<A NAME="IDX182"></A>
<DT><CODE>emacs-editing-mode (C-e)</CODE>
-<DD><A NAME="IDX178"></A>
+<DD><A NAME="IDX183"></A>
When in <CODE>vi</CODE> command mode, this causes a switch to <CODE>emacs</CODE>
editing mode.
<P>
-<A NAME="IDX179"></A>
+<A NAME="IDX184"></A>
<DT><CODE>vi-editing-mode (M-C-j)</CODE>
-<DD><A NAME="IDX180"></A>
+<DD><A NAME="IDX185"></A>
When in <CODE>emacs</CODE> editing mode, this causes a switch to <CODE>vi</CODE>
editing mode.
<P>
@@ -2087,8 +2135,8 @@ the simplest way possible, perhaps to replace calls in your code to
<CODE>gets()</CODE> or <CODE>fgets()</CODE>.
</P><P>
-<A NAME="IDX181"></A>
-<A NAME="IDX182"></A>
+<A NAME="IDX186"></A>
+<A NAME="IDX187"></A>
</P><P>
The function <CODE>readline()</CODE> prints a prompt <VAR>prompt</VAR>
@@ -2404,7 +2452,7 @@ command functions.
These variables are available to function writers.
</P><P>
-<A NAME="IDX183"></A>
+<A NAME="IDX188"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_line_buffer</B>
<DD>This is the line gathered so far. You are welcome to modify the
@@ -2414,7 +2462,7 @@ the memory allocated to <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX184"></A>
+<A NAME="IDX189"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_point</B>
<DD>The offset of the current cursor position in <CODE>rl_line_buffer</CODE>
@@ -2422,7 +2470,7 @@ the memory allocated to <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX185"></A>
+<A NAME="IDX190"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_end</B>
<DD>The number of characters present in <CODE>rl_line_buffer</CODE>. When
@@ -2431,7 +2479,7 @@ the memory allocated to <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX186"></A>
+<A NAME="IDX191"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_mark</B>
<DD>The <VAR>mark</VAR> (saved position) in the current line. If set, the mark
@@ -2439,7 +2487,7 @@ and point define a <EM>region</EM>.
</DL>
</P><P>
-<A NAME="IDX187"></A>
+<A NAME="IDX192"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_done</B>
<DD>Setting this to a non-zero value causes Readline to return the current
@@ -2447,7 +2495,7 @@ line immediately.
</DL>
</P><P>
-<A NAME="IDX188"></A>
+<A NAME="IDX193"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_num_chars_to_read</B>
<DD>Setting this to a positive value before calling <CODE>readline()</CODE> causes
@@ -2456,7 +2504,7 @@ than reading up to a character bound to <CODE>accept-line</CODE>.
</DL>
</P><P>
-<A NAME="IDX189"></A>
+<A NAME="IDX194"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_pending_input</B>
<DD>Setting this to a value makes it the next keystroke read. This is a
@@ -2464,7 +2512,7 @@ way to stuff a single character into the input stream.
</DL>
</P><P>
-<A NAME="IDX190"></A>
+<A NAME="IDX195"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_dispatching</B>
<DD>Set to a non-zero value if a function is being called from a key binding;
@@ -2473,7 +2521,7 @@ they were called directly or by Readline's dispatching mechanism.
</DL>
</P><P>
-<A NAME="IDX191"></A>
+<A NAME="IDX196"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_erase_empty_line</B>
<DD>Setting this to a non-zero value causes Readline to completely erase
@@ -2483,7 +2531,7 @@ the beginning of the newly-blank line.
</DL>
</P><P>
-<A NAME="IDX192"></A>
+<A NAME="IDX197"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_prompt</B>
<DD>The prompt Readline uses. This is set from the argument to
@@ -2493,7 +2541,7 @@ be used to modify the prompt string after calling <CODE>readline()</CODE>.
</DL>
</P><P>
-<A NAME="IDX193"></A>
+<A NAME="IDX198"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_display_prompt</B>
<DD>The string displayed as the prompt. This is usually identical to
@@ -2502,7 +2550,7 @@ use the prompt string as a message area, such as incremental search.
</DL>
</P><P>
-<A NAME="IDX194"></A>
+<A NAME="IDX199"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_already_prompted</B>
<DD>If an application wishes to display the prompt itself, rather than have
@@ -2515,14 +2563,14 @@ never sets it.
</DL>
</P><P>
-<A NAME="IDX195"></A>
+<A NAME="IDX200"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_library_version</B>
<DD>The version number of this revision of the library.
</DL>
</P><P>
-<A NAME="IDX196"></A>
+<A NAME="IDX201"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_readline_version</B>
<DD>An integer encoding the current version of the library. The encoding is
@@ -2533,7 +2581,7 @@ value 0x0402.
</DL>
</P><P>
-<A NAME="IDX197"></A>
+<A NAME="IDX202"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_gnu_readline_p</B>
<DD>Always set to 1, denoting that this is GNU readline rather than some
@@ -2541,7 +2589,7 @@ emulation.
</DL>
</P><P>
-<A NAME="IDX198"></A>
+<A NAME="IDX203"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_terminal_name</B>
<DD>The terminal type, used for initialization. If not set by the application,
@@ -2550,7 +2598,7 @@ the first time it is called.
</DL>
</P><P>
-<A NAME="IDX199"></A>
+<A NAME="IDX204"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_readline_name</B>
<DD>This variable is set to a unique name by each application using Readline.
@@ -2559,7 +2607,7 @@ The value allows conditional parsing of the inputrc file
</DL>
</P><P>
-<A NAME="IDX200"></A>
+<A NAME="IDX205"></A>
<DL>
<DT><U>Variable:</U> FILE * <B>rl_instream</B>
<DD>The stdio stream from which Readline reads input.
@@ -2567,7 +2615,7 @@ If <CODE>NULL</CODE>, Readline defaults to <VAR>stdin</VAR>.
</DL>
</P><P>
-<A NAME="IDX201"></A>
+<A NAME="IDX206"></A>
<DL>
<DT><U>Variable:</U> FILE * <B>rl_outstream</B>
<DD>The stdio stream to which Readline performs output.
@@ -2575,7 +2623,7 @@ If <CODE>NULL</CODE>, Readline defaults to <VAR>stdout</VAR>.
</DL>
</P><P>
-<A NAME="IDX202"></A>
+<A NAME="IDX207"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_prefer_env_winsize</B>
<DD>If non-zero, Readline gives values found in the <CODE>LINES</CODE> and
@@ -2584,7 +2632,7 @@ from the kernel when computing the screen dimensions.
</DL>
</P><P>
-<A NAME="IDX203"></A>
+<A NAME="IDX208"></A>
<DL>
<DT><U>Variable:</U> rl_command_func_t * <B>rl_last_func</B>
<DD>The address of the last command function Readline executed. May be used to
@@ -2593,7 +2641,7 @@ example.
</DL>
</P><P>
-<A NAME="IDX204"></A>
+<A NAME="IDX209"></A>
<DL>
<DT><U>Variable:</U> rl_hook_func_t * <B>rl_startup_hook</B>
<DD>If non-zero, this is the address of a function to call just
@@ -2601,7 +2649,7 @@ before <CODE>readline</CODE> prints the first prompt.
</DL>
</P><P>
-<A NAME="IDX205"></A>
+<A NAME="IDX210"></A>
<DL>
<DT><U>Variable:</U> rl_hook_func_t * <B>rl_pre_input_hook</B>
<DD>If non-zero, this is the address of a function to call after
@@ -2610,7 +2658,7 @@ starts reading input characters.
</DL>
</P><P>
-<A NAME="IDX206"></A>
+<A NAME="IDX211"></A>
<DL>
<DT><U>Variable:</U> rl_hook_func_t * <B>rl_event_hook</B>
<DD>If non-zero, this is the address of a function to call periodically
@@ -2620,7 +2668,7 @@ is no keyboard input.
</DL>
</P><P>
-<A NAME="IDX207"></A>
+<A NAME="IDX212"></A>
<DL>
<DT><U>Variable:</U> rl_getc_func_t * <B>rl_getc_function</B>
<DD>If non-zero, Readline will call indirectly through this pointer
@@ -2630,7 +2678,7 @@ to get a character from the input stream. By default, it is set to
</DL>
</P><P>
-<A NAME="IDX208"></A>
+<A NAME="IDX213"></A>
<DL>
<DT><U>Variable:</U> rl_voidfunc_t * <B>rl_redisplay_function</B>
<DD>If non-zero, Readline will call indirectly through this pointer
@@ -2640,7 +2688,7 @@ redisplay function (see section <A HREF="readline.html#SEC35">2.4.6 Redisplay</A
</DL>
</P><P>
-<A NAME="IDX209"></A>
+<A NAME="IDX214"></A>
<DL>
<DT><U>Variable:</U> rl_vintfunc_t * <B>rl_prep_term_function</B>
<DD>If non-zero, Readline will call indirectly through this pointer
@@ -2651,7 +2699,7 @@ By default, this is set to <CODE>rl_prep_terminal</CODE>
</DL>
</P><P>
-<A NAME="IDX210"></A>
+<A NAME="IDX215"></A>
<DL>
<DT><U>Variable:</U> rl_voidfunc_t * <B>rl_deprep_term_function</B>
<DD>If non-zero, Readline will call indirectly through this pointer
@@ -2662,7 +2710,7 @@ By default, this is set to <CODE>rl_deprep_terminal</CODE>
</DL>
</P><P>
-<A NAME="IDX211"></A>
+<A NAME="IDX216"></A>
<DL>
<DT><U>Variable:</U> Keymap <B>rl_executing_keymap</B>
<DD>This variable is set to the keymap (see section <A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A>) in which the
@@ -2670,7 +2718,7 @@ currently executing readline function was found.
</DL>
</P><P>
-<A NAME="IDX212"></A>
+<A NAME="IDX217"></A>
<DL>
<DT><U>Variable:</U> Keymap <B>rl_binding_keymap</B>
<DD>This variable is set to the keymap (see section <A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A>) in which the
@@ -2678,14 +2726,14 @@ last key binding occurred.
</DL>
</P><P>
-<A NAME="IDX213"></A>
+<A NAME="IDX218"></A>
<DL>
<DT><U>Variable:</U> char * <B>rl_executing_macro</B>
<DD>This variable is set to the text of any currently-executing macro.
</DL>
</P><P>
-<A NAME="IDX214"></A>
+<A NAME="IDX219"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_readline_state</B>
<DD>A variable with bit values that encapsulate the current Readline state.
@@ -2755,7 +2803,7 @@ and is about to return the line to the caller.
</DL>
</P><P>
-<A NAME="IDX215"></A>
+<A NAME="IDX220"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_explicit_arg</B>
<DD>Set to a non-zero value if an explicit numeric argument was specified by
@@ -2763,7 +2811,7 @@ the user. Only valid in a bindable command function.
</DL>
</P><P>
-<A NAME="IDX216"></A>
+<A NAME="IDX221"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_numeric_arg</B>
<DD>Set to the value of any numeric argument explicitly specified by the user
@@ -2772,7 +2820,7 @@ command function.
</DL>
</P><P>
-<A NAME="IDX217"></A>
+<A NAME="IDX222"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_editing_mode</B>
<DD>Set to a value denoting Readline's current editing mode. A value of
@@ -2850,7 +2898,7 @@ programmer, should bind the functions you write to descriptive names as
well. Readline provides a function for doing that:
</P><P>
-<A NAME="IDX218"></A>
+<A NAME="IDX223"></A>
<DL>
<DT><U>Function:</U> int <B>rl_add_defun</B> <I>(const char *name, rl_command_func_t *function, int key)</I>
<DD>Add <VAR>name</VAR> to the list of named functions. Make <VAR>function</VAR> be
@@ -2890,23 +2938,23 @@ get run. You can make your own keymaps, copy existing keymaps, and tell
Readline which keymap to use.
</P><P>
-<A NAME="IDX219"></A>
+<A NAME="IDX224"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_make_bare_keymap</B> <I>(void)</I>
<DD>Returns a new, empty keymap. The space for the keymap is allocated with
<CODE>malloc()</CODE>; the caller should free it by calling
-<CODE>rl_discard_keymap()</CODE> when done.
+<CODE>rl_free_keymap()</CODE> when done.
</DL>
</P><P>
-<A NAME="IDX220"></A>
+<A NAME="IDX225"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_copy_keymap</B> <I>(Keymap map)</I>
<DD>Return a new keymap which is a copy of <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX221"></A>
+<A NAME="IDX226"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_make_keymap</B> <I>(void)</I>
<DD>Return a new keymap with the printing characters bound to rl_insert,
@@ -2915,10 +2963,19 @@ the Meta digits bound to produce numeric arguments.
</DL>
</P><P>
-<A NAME="IDX222"></A>
+<A NAME="IDX227"></A>
<DL>
<DT><U>Function:</U> void <B>rl_discard_keymap</B> <I>(Keymap keymap)</I>
-<DD>Free the storage associated with <VAR>keymap</VAR>.
+<DD>Free the storage associated with the data in <VAR>keymap</VAR>.
+The caller should free <VAR>keymap</VAR>.
+</DL>
+</P><P>
+
+<A NAME="IDX228"></A>
+<DL>
+<DT><U>Function:</U> void <B>rl_free_keymap</B> <I>(Keymap keymap)</I>
+<DD>Free all storage associated with <VAR>keymap</VAR>. This calls
+<CODE>rl_discard_keymap</CODE> to free subordindate keymaps and macros.
</DL>
</P><P>
@@ -2926,21 +2983,21 @@ Readline has several internal keymaps. These functions allow you to
change which keymap is active.
</P><P>
-<A NAME="IDX223"></A>
+<A NAME="IDX229"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_get_keymap</B> <I>(void)</I>
<DD>Returns the currently active keymap.
</DL>
</P><P>
-<A NAME="IDX224"></A>
+<A NAME="IDX230"></A>
<DL>
<DT><U>Function:</U> void <B>rl_set_keymap</B> <I>(Keymap keymap)</I>
<DD>Makes <VAR>keymap</VAR> the currently active keymap.
</DL>
</P><P>
-<A NAME="IDX225"></A>
+<A NAME="IDX231"></A>
<DL>
<DT><U>Function:</U> Keymap <B>rl_get_keymap_by_name</B> <I>(const char *name)</I>
<DD>Return the keymap matching <VAR>name</VAR>. <VAR>name</VAR> is one which would
@@ -2948,7 +3005,7 @@ be supplied in a <CODE>set keymap</CODE> inputrc line (see section <A HREF="read
</DL>
</P><P>
-<A NAME="IDX226"></A>
+<A NAME="IDX232"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_get_keymap_name</B> <I>(Keymap keymap)</I>
<DD>Return the name matching <VAR>keymap</VAR>. <VAR>name</VAR> is one which would
@@ -2993,7 +3050,7 @@ initialization function assigned to the <CODE>rl_startup_hook</CODE> variable
These functions manage key bindings.
</P><P>
-<A NAME="IDX227"></A>
+<A NAME="IDX233"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_key</B> <I>(int key, rl_command_func_t *function)</I>
<DD>Binds <VAR>key</VAR> to <VAR>function</VAR> in the currently active keymap.
@@ -3001,7 +3058,7 @@ Returns non-zero in the case of an invalid <VAR>key</VAR>.
</DL>
</P><P>
-<A NAME="IDX228"></A>
+<A NAME="IDX234"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_key_in_map</B> <I>(int key, rl_command_func_t *function, Keymap map)</I>
<DD>Bind <VAR>key</VAR> to <VAR>function</VAR> in <VAR>map</VAR>.
@@ -3009,7 +3066,7 @@ Returns non-zero in the case of an invalid <VAR>key</VAR>.
</DL>
</P><P>
-<A NAME="IDX229"></A>
+<A NAME="IDX235"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_key_if_unbound</B> <I>(int key, rl_command_func_t *function)</I>
<DD>Binds <VAR>key</VAR> to <VAR>function</VAR> if it is not already bound in the
@@ -3019,7 +3076,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX230"></A>
+<A NAME="IDX236"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_key_if_unbound_in_map</B> <I>(int key, rl_command_func_t *function, Keymap map)</I>
<DD>Binds <VAR>key</VAR> to <VAR>function</VAR> if it is not already bound in <VAR>map</VAR>.
@@ -3028,7 +3085,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX231"></A>
+<A NAME="IDX237"></A>
<DL>
<DT><U>Function:</U> int <B>rl_unbind_key</B> <I>(int key)</I>
<DD>Bind <VAR>key</VAR> to the null function in the currently active keymap.
@@ -3036,7 +3093,7 @@ Returns non-zero in case of error.
</DL>
</P><P>
-<A NAME="IDX232"></A>
+<A NAME="IDX238"></A>
<DL>
<DT><U>Function:</U> int <B>rl_unbind_key_in_map</B> <I>(int key, Keymap map)</I>
<DD>Bind <VAR>key</VAR> to the null function in <VAR>map</VAR>.
@@ -3044,21 +3101,21 @@ Returns non-zero in case of error.
</DL>
</P><P>
-<A NAME="IDX233"></A>
+<A NAME="IDX239"></A>
<DL>
<DT><U>Function:</U> int <B>rl_unbind_function_in_map</B> <I>(rl_command_func_t *function, Keymap map)</I>
<DD>Unbind all keys that execute <VAR>function</VAR> in <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX234"></A>
+<A NAME="IDX240"></A>
<DL>
<DT><U>Function:</U> int <B>rl_unbind_command_in_map</B> <I>(const char *command, Keymap map)</I>
<DD>Unbind all keys that are bound to <VAR>command</VAR> in <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX235"></A>
+<A NAME="IDX241"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_keyseq</B> <I>(const char *keyseq, rl_command_func_t *function)</I>
<DD>Bind the key sequence represented by the string <VAR>keyseq</VAR> to the function
@@ -3068,7 +3125,7 @@ The return value is non-zero if <VAR>keyseq</VAR> is invalid.
</DL>
</P><P>
-<A NAME="IDX236"></A>
+<A NAME="IDX242"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_keyseq_in_map</B> <I>(const char *keyseq, rl_command_func_t *function, Keymap map)</I>
<DD>Bind the key sequence represented by the string <VAR>keyseq</VAR> to the function
@@ -3078,14 +3135,14 @@ The return value is non-zero if <VAR>keyseq</VAR> is invalid.
</DL>
</P><P>
-<A NAME="IDX237"></A>
+<A NAME="IDX243"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_key</B> <I>(const char *keyseq, rl_command_func_t *function, Keymap map)</I>
<DD>Equivalent to <CODE>rl_bind_keyseq_in_map</CODE>.
</DL>
</P><P>
-<A NAME="IDX238"></A>
+<A NAME="IDX244"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_keyseq_if_unbound</B> <I>(const char *keyseq, rl_command_func_t *function)</I>
<DD>Binds <VAR>keyseq</VAR> to <VAR>function</VAR> if it is not already bound in the
@@ -3095,7 +3152,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX239"></A>
+<A NAME="IDX245"></A>
<DL>
<DT><U>Function:</U> int <B>rl_bind_keyseq_if_unbound_in_map</B> <I>(const char *keyseq, rl_command_func_t *function, Keymap map)</I>
<DD>Binds <VAR>keyseq</VAR> to <VAR>function</VAR> if it is not already bound in <VAR>map</VAR>.
@@ -3104,7 +3161,7 @@ already bound.
</DL>
</P><P>
-<A NAME="IDX240"></A>
+<A NAME="IDX246"></A>
<DL>
<DT><U>Function:</U> int <B>rl_generic_bind</B> <I>(int type, const char *keyseq, char *data, Keymap map)</I>
<DD>Bind the key sequence represented by the string <VAR>keyseq</VAR> to the arbitrary
@@ -3115,7 +3172,7 @@ necessary. The initial keymap in which to do bindings is <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX241"></A>
+<A NAME="IDX247"></A>
<DL>
<DT><U>Function:</U> int <B>rl_parse_and_bind</B> <I>(char *line)</I>
<DD>Parse <VAR>line</VAR> as if it had been read from the <CODE>inputrc</CODE> file and
@@ -3124,7 +3181,7 @@ perform any key bindings and variable assignments found
</DL>
</P><P>
-<A NAME="IDX242"></A>
+<A NAME="IDX248"></A>
<DL>
<DT><U>Function:</U> int <B>rl_read_init_file</B> <I>(const char *filename)</I>
<DD>Read keybindings and variable assignments from <VAR>filename</VAR>
@@ -3155,14 +3212,14 @@ and the functions invoked by a particular key sequence. You may also
associate a new function name with an arbitrary function.
</P><P>
-<A NAME="IDX243"></A>
+<A NAME="IDX249"></A>
<DL>
<DT><U>Function:</U> rl_command_func_t * <B>rl_named_function</B> <I>(const char *name)</I>
<DD>Return the function with name <VAR>name</VAR>.
</DL>
</P><P>
-<A NAME="IDX244"></A>
+<A NAME="IDX250"></A>
<DL>
<DT><U>Function:</U> rl_command_func_t * <B>rl_function_of_keyseq</B> <I>(const char *keyseq, Keymap map, int *type)</I>
<DD>Return the function invoked by <VAR>keyseq</VAR> in keymap <VAR>map</VAR>.
@@ -3172,7 +3229,7 @@ it points to (one of <CODE>ISFUNC</CODE>, <CODE>ISKMAP</CODE>, or <CODE>ISMACR</
</DL>
</P><P>
-<A NAME="IDX245"></A>
+<A NAME="IDX251"></A>
<DL>
<DT><U>Function:</U> char ** <B>rl_invoking_keyseqs</B> <I>(rl_command_func_t *function)</I>
<DD>Return an array of strings representing the key sequences used to
@@ -3180,7 +3237,7 @@ invoke <VAR>function</VAR> in the current keymap.
</DL>
</P><P>
-<A NAME="IDX246"></A>
+<A NAME="IDX252"></A>
<DL>
<DT><U>Function:</U> char ** <B>rl_invoking_keyseqs_in_map</B> <I>(rl_command_func_t *function, Keymap map)</I>
<DD>Return an array of strings representing the key sequences used to
@@ -3188,7 +3245,7 @@ invoke <VAR>function</VAR> in the keymap <VAR>map</VAR>.
</DL>
</P><P>
-<A NAME="IDX247"></A>
+<A NAME="IDX253"></A>
<DL>
<DT><U>Function:</U> void <B>rl_function_dumper</B> <I>(int readable)</I>
<DD>Print the readline function names and the key sequences currently
@@ -3198,14 +3255,14 @@ the list is formatted in such a way that it can be made part of an
</DL>
</P><P>
-<A NAME="IDX248"></A>
+<A NAME="IDX254"></A>
<DL>
<DT><U>Function:</U> void <B>rl_list_funmap_names</B> <I>(void)</I>
<DD>Print the names of all bindable Readline functions to <CODE>rl_outstream</CODE>.
</DL>
</P><P>
-<A NAME="IDX249"></A>
+<A NAME="IDX255"></A>
<DL>
<DT><U>Function:</U> const char ** <B>rl_funmap_names</B> <I>(void)</I>
<DD>Return a NULL terminated array of known function names. The array is
@@ -3215,7 +3272,7 @@ should free the array, but not the pointers, using <CODE>free</CODE> or
</DL>
</P><P>
-<A NAME="IDX250"></A>
+<A NAME="IDX256"></A>
<DL>
<DT><U>Function:</U> int <B>rl_add_funmap_entry</B> <I>(const char *name, rl_command_func_t *function)</I>
<DD>Add <VAR>name</VAR> to the list of bindable Readline command names, and make
@@ -3270,7 +3327,7 @@ tells what to undo, not how to undo it. <CODE>UNDO_BEGIN</CODE> and
<CODE>rl_end_undo_group()</CODE>.
</P><P>
-<A NAME="IDX251"></A>
+<A NAME="IDX257"></A>
<DL>
<DT><U>Function:</U> int <B>rl_begin_undo_group</B> <I>(void)</I>
<DD>Begins saving undo information in a group construct. The undo
@@ -3280,7 +3337,7 @@ information usually comes from calls to <CODE>rl_insert_text()</CODE> and
</DL>
</P><P>
-<A NAME="IDX252"></A>
+<A NAME="IDX258"></A>
<DL>
<DT><U>Function:</U> int <B>rl_end_undo_group</B> <I>(void)</I>
<DD>Closes the current undo group started with <CODE>rl_begin_undo_group
@@ -3289,7 +3346,7 @@ for each call to <CODE>rl_begin_undo_group()</CODE>.
</DL>
</P><P>
-<A NAME="IDX253"></A>
+<A NAME="IDX259"></A>
<DL>
<DT><U>Function:</U> void <B>rl_add_undo</B> <I>(enum undo_code what, int start, int end, char *text)</I>
<DD>Remember how to undo an event (according to <VAR>what</VAR>). The affected
@@ -3297,14 +3354,14 @@ text runs from <VAR>start</VAR> to <VAR>end</VAR>, and encompasses <VAR>text</VA
</DL>
</P><P>
-<A NAME="IDX254"></A>
+<A NAME="IDX260"></A>
<DL>
<DT><U>Function:</U> void <B>rl_free_undo_list</B> <I>(void)</I>
<DD>Free the existing undo list.
</DL>
</P><P>
-<A NAME="IDX255"></A>
+<A NAME="IDX261"></A>
<DL>
<DT><U>Function:</U> int <B>rl_do_undo</B> <I>(void)</I>
<DD>Undo the first thing on the undo list. Returns <CODE>0</CODE> if there was
@@ -3318,7 +3375,7 @@ once, just before you modify the text. You must supply the indices of
the text range that you are going to modify.
</P><P>
-<A NAME="IDX256"></A>
+<A NAME="IDX262"></A>
<DL>
<DT><U>Function:</U> int <B>rl_modifying</B> <I>(int start, int end)</I>
<DD>Tell Readline to save the text between <VAR>start</VAR> and <VAR>end</VAR> as a
@@ -3345,7 +3402,7 @@ that text.
<!--docid::SEC35::-->
<P>
-<A NAME="IDX257"></A>
+<A NAME="IDX263"></A>
<DL>
<DT><U>Function:</U> void <B>rl_redisplay</B> <I>(void)</I>
<DD>Change what's displayed on the screen to reflect the current contents
@@ -3353,7 +3410,7 @@ of <CODE>rl_line_buffer</CODE>.
</DL>
</P><P>
-<A NAME="IDX258"></A>
+<A NAME="IDX264"></A>
<DL>
<DT><U>Function:</U> int <B>rl_forced_update_display</B> <I>(void)</I>
<DD>Force the line to be updated and redisplayed, whether or not
@@ -3361,7 +3418,7 @@ Readline thinks the screen display is correct.
</DL>
</P><P>
-<A NAME="IDX259"></A>
+<A NAME="IDX265"></A>
<DL>
<DT><U>Function:</U> int <B>rl_on_new_line</B> <I>(void)</I>
<DD>Tell the update functions that we have moved onto a new (empty) line,
@@ -3369,7 +3426,7 @@ usually after ouputting a newline.
</DL>
</P><P>
-<A NAME="IDX260"></A>
+<A NAME="IDX266"></A>
<DL>
<DT><U>Function:</U> int <B>rl_on_new_line_with_prompt</B> <I>(void)</I>
<DD>Tell the update functions that we have moved onto a new line, with
@@ -3381,7 +3438,7 @@ It should be used after setting <VAR>rl_already_prompted</VAR>.
</DL>
</P><P>
-<A NAME="IDX261"></A>
+<A NAME="IDX267"></A>
<DL>
<DT><U>Function:</U> int <B>rl_reset_line_state</B> <I>(void)</I>
<DD>Reset the display state to a clean state and redisplay the current line
@@ -3389,14 +3446,14 @@ starting on a new line.
</DL>
</P><P>
-<A NAME="IDX262"></A>
+<A NAME="IDX268"></A>
<DL>
<DT><U>Function:</U> int <B>rl_crlf</B> <I>(void)</I>
<DD>Move the cursor to the start of the next screen line.
</DL>
</P><P>
-<A NAME="IDX263"></A>
+<A NAME="IDX269"></A>
<DL>
<DT><U>Function:</U> int <B>rl_show_char</B> <I>(int c)</I>
<DD>Display character <VAR>c</VAR> on <CODE>rl_outstream</CODE>.
@@ -3407,7 +3464,7 @@ redisplay.
</DL>
</P><P>
-<A NAME="IDX264"></A>
+<A NAME="IDX270"></A>
<DL>
<DT><U>Function:</U> int <B>rl_message</B> <I>(const char *, <small>...</small>)</I>
<DD>The arguments are a format string as would be supplied to <CODE>printf</CODE>,
@@ -3420,7 +3477,7 @@ before calling this function.
</DL>
</P><P>
-<A NAME="IDX265"></A>
+<A NAME="IDX271"></A>
<DL>
<DT><U>Function:</U> int <B>rl_clear_message</B> <I>(void)</I>
<DD>Clear the message in the echo area. If the prompt was saved with a call to
@@ -3429,7 +3486,7 @@ call <CODE>rl_restore_prompt</CODE> before calling this function.
</DL>
</P><P>
-<A NAME="IDX266"></A>
+<A NAME="IDX272"></A>
<DL>
<DT><U>Function:</U> void <B>rl_save_prompt</B> <I>(void)</I>
<DD>Save the local Readline prompt display state in preparation for
@@ -3437,7 +3494,7 @@ displaying a new message in the message area with <CODE>rl_message()</CODE>.
</DL>
</P><P>
-<A NAME="IDX267"></A>
+<A NAME="IDX273"></A>
<DL>
<DT><U>Function:</U> void <B>rl_restore_prompt</B> <I>(void)</I>
<DD>Restore the local Readline prompt display state saved by the most
@@ -3448,7 +3505,7 @@ corresponding call to <CODE>rl_clear_message</CODE>.
</DL>
</P><P>
-<A NAME="IDX268"></A>
+<A NAME="IDX274"></A>
<DL>
<DT><U>Function:</U> int <B>rl_expand_prompt</B> <I>(char *prompt)</I>
<DD>Expand any special character sequences in <VAR>prompt</VAR> and set up the
@@ -3466,7 +3523,7 @@ be used to embed terminal-specific escape sequences in prompts.
</DL>
</P><P>
-<A NAME="IDX269"></A>
+<A NAME="IDX275"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_prompt</B> <I>(const char *prompt)</I>
<DD>Make Readline use <VAR>prompt</VAR> for subsequent redisplay. This calls
@@ -3493,7 +3550,7 @@ to the result.
<!--docid::SEC36::-->
<P>
-<A NAME="IDX270"></A>
+<A NAME="IDX276"></A>
<DL>
<DT><U>Function:</U> int <B>rl_insert_text</B> <I>(const char *text)</I>
<DD>Insert <VAR>text</VAR> into the line at the current cursor position.
@@ -3501,7 +3558,7 @@ Returns the number of characters inserted.
</DL>
</P><P>
-<A NAME="IDX271"></A>
+<A NAME="IDX277"></A>
<DL>
<DT><U>Function:</U> int <B>rl_delete_text</B> <I>(int start, int end)</I>
<DD>Delete the text between <VAR>start</VAR> and <VAR>end</VAR> in the current line.
@@ -3509,7 +3566,7 @@ Returns the number of characters deleted.
</DL>
</P><P>
-<A NAME="IDX272"></A>
+<A NAME="IDX278"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_copy_text</B> <I>(int start, int end)</I>
<DD>Return a copy of the text between <VAR>start</VAR> and <VAR>end</VAR> in
@@ -3517,7 +3574,7 @@ the current line.
</DL>
</P><P>
-<A NAME="IDX273"></A>
+<A NAME="IDX279"></A>
<DL>
<DT><U>Function:</U> int <B>rl_kill_text</B> <I>(int start, int end)</I>
<DD>Copy the text between <VAR>start</VAR> and <VAR>end</VAR> in the current line
@@ -3529,7 +3586,7 @@ not a kill, a new kill ring slot is used.
</DL>
</P><P>
-<A NAME="IDX274"></A>
+<A NAME="IDX280"></A>
<DL>
<DT><U>Function:</U> int <B>rl_push_macro_input</B> <I>(char *macro)</I>
<DD>Cause <VAR>macro</VAR> to be inserted into the line, as if it had been invoked
@@ -3556,7 +3613,7 @@ by a key bound to a macro. Not especially useful; use
<!--docid::SEC37::-->
<P>
-<A NAME="IDX275"></A>
+<A NAME="IDX281"></A>
<DL>
<DT><U>Function:</U> int <B>rl_read_key</B> <I>(void)</I>
<DD>Return the next character available from Readline's current input stream.
@@ -3568,7 +3625,7 @@ the <CODE>rl_event_hook</CODE> variable.
</DL>
</P><P>
-<A NAME="IDX276"></A>
+<A NAME="IDX282"></A>
<DL>
<DT><U>Function:</U> int <B>rl_getc</B> <I>(FILE *stream)</I>
<DD>Return the next character available from <VAR>stream</VAR>, which is assumed to
@@ -3576,7 +3633,7 @@ be the keyboard.
</DL>
</P><P>
-<A NAME="IDX277"></A>
+<A NAME="IDX283"></A>
<DL>
<DT><U>Function:</U> int <B>rl_stuff_char</B> <I>(int c)</I>
<DD>Insert <VAR>c</VAR> into the Readline input stream. It will be "read"
@@ -3587,7 +3644,7 @@ before Readline attempts to read characters from the terminal with
</DL>
</P><P>
-<A NAME="IDX278"></A>
+<A NAME="IDX284"></A>
<DL>
<DT><U>Function:</U> int <B>rl_execute_next</B> <I>(int c)</I>
<DD>Make <VAR>c</VAR> be the next command to be executed when <CODE>rl_read_key()</CODE>
@@ -3595,7 +3652,7 @@ is called. This sets <VAR>rl_pending_input</VAR>.
</DL>
</P><P>
-<A NAME="IDX279"></A>
+<A NAME="IDX285"></A>
<DL>
<DT><U>Function:</U> int <B>rl_clear_pending_input</B> <I>(void)</I>
<DD>Unset <VAR>rl_pending_input</VAR>, effectively negating the effect of any
@@ -3604,7 +3661,7 @@ pending input has not already been read with <CODE>rl_read_key()</CODE>.
</DL>
</P><P>
-<A NAME="IDX280"></A>
+<A NAME="IDX286"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_keyboard_input_timeout</B> <I>(int u)</I>
<DD>While waiting for keyboard input in <CODE>rl_read_key()</CODE>, Readline will
@@ -3634,7 +3691,7 @@ Returns the old timeout value.
<!--docid::SEC38::-->
<P>
-<A NAME="IDX281"></A>
+<A NAME="IDX287"></A>
<DL>
<DT><U>Function:</U> void <B>rl_prep_terminal</B> <I>(int meta_flag)</I>
<DD>Modify the terminal settings for Readline's use, so <CODE>readline()</CODE>
@@ -3644,7 +3701,7 @@ read eight-bit input.
</DL>
</P><P>
-<A NAME="IDX282"></A>
+<A NAME="IDX288"></A>
<DL>
<DT><U>Function:</U> void <B>rl_deprep_terminal</B> <I>(void)</I>
<DD>Undo the effects of <CODE>rl_prep_terminal()</CODE>, leaving the terminal in
@@ -3653,7 +3710,7 @@ the state in which it was before the most recent call to
</DL>
</P><P>
-<A NAME="IDX283"></A>
+<A NAME="IDX289"></A>
<DL>
<DT><U>Function:</U> void <B>rl_tty_set_default_bindings</B> <I>(Keymap kmap)</I>
<DD>Read the operating system's terminal editing characters (as would be
@@ -3662,7 +3719,7 @@ The bindings are performed in <VAR>kmap</VAR>.
</DL>
</P><P>
-<A NAME="IDX284"></A>
+<A NAME="IDX290"></A>
<DL>
<DT><U>Function:</U> void <B>rl_tty_unset_default_bindings</B> <I>(Keymap kmap)</I>
<DD>Reset the bindings manipulated by <CODE>rl_tty_set_default_bindings</CODE> so
@@ -3671,7 +3728,7 @@ The bindings are performed in <VAR>kmap</VAR>.
</DL>
</P><P>
-<A NAME="IDX285"></A>
+<A NAME="IDX291"></A>
<DL>
<DT><U>Function:</U> int <B>rl_reset_terminal</B> <I>(const char *terminal_name)</I>
<DD>Reinitialize Readline's idea of the terminal settings using
@@ -3699,7 +3756,7 @@ environment variable is used.
<!--docid::SEC39::-->
<P>
-<A NAME="IDX286"></A>
+<A NAME="IDX292"></A>
<DL>
<DT><U>Function:</U> int <B>rl_save_state</B> <I>(struct readline_state *sp)</I>
<DD>Save a snapshot of Readline's internal state to <VAR>sp</VAR>.
@@ -3709,7 +3766,7 @@ The caller is responsible for allocating the structure.
</DL>
</P><P>
-<A NAME="IDX287"></A>
+<A NAME="IDX293"></A>
<DL>
<DT><U>Function:</U> int <B>rl_restore_state</B> <I>(struct readline_state *sp)</I>
<DD>Restore Readline's internal state to that stored in <VAR>sp</VAR>, which must
@@ -3720,7 +3777,7 @@ The caller is responsible for freeing the structure.
</DL>
</P><P>
-<A NAME="IDX288"></A>
+<A NAME="IDX294"></A>
<DL>
<DT><U>Function:</U> void <B>rl_free</B> <I>(void *mem)</I>
<DD>Deallocate the memory pointed to by <VAR>mem</VAR>. <VAR>mem</VAR> must have been
@@ -3728,7 +3785,7 @@ allocated by <CODE>malloc</CODE>.
</DL>
</P><P>
-<A NAME="IDX289"></A>
+<A NAME="IDX295"></A>
<DL>
<DT><U>Function:</U> void <B>rl_replace_line</B> <I>(const char *text, int clear_undo)</I>
<DD>Replace the contents of <CODE>rl_line_buffer</CODE> with <VAR>text</VAR>.
@@ -3738,7 +3795,7 @@ current line is cleared.
</DL>
</P><P>
-<A NAME="IDX290"></A>
+<A NAME="IDX296"></A>
<DL>
<DT><U>Function:</U> void <B>rl_extend_line_buffer</B> <I>(int len)</I>
<DD>Ensure that <CODE>rl_line_buffer</CODE> has enough space to hold <VAR>len</VAR>
@@ -3746,7 +3803,7 @@ characters, possibly reallocating it if necessary.
</DL>
</P><P>
-<A NAME="IDX291"></A>
+<A NAME="IDX297"></A>
<DL>
<DT><U>Function:</U> int <B>rl_initialize</B> <I>(void)</I>
<DD>Initialize or re-initialize Readline's internal state.
@@ -3755,21 +3812,21 @@ reading any input.
</DL>
</P><P>
-<A NAME="IDX292"></A>
+<A NAME="IDX298"></A>
<DL>
<DT><U>Function:</U> int <B>rl_ding</B> <I>(void)</I>
<DD>Ring the terminal bell, obeying the setting of <CODE>bell-style</CODE>.
</DL>
</P><P>
-<A NAME="IDX293"></A>
+<A NAME="IDX299"></A>
<DL>
<DT><U>Function:</U> int <B>rl_alphabetic</B> <I>(int c)</I>
<DD>Return 1 if <VAR>c</VAR> is an alphabetic character.
</DL>
</P><P>
-<A NAME="IDX294"></A>
+<A NAME="IDX300"></A>
<DL>
<DT><U>Function:</U> void <B>rl_display_match_list</B> <I>(char **matches, int len, int max)</I>
<DD>A convenience function for displaying a list of strings in
@@ -3786,28 +3843,28 @@ The following are implemented as macros, defined in <CODE>chardefs.h</CODE>.
Applications should refrain from using them.
</P><P>
-<A NAME="IDX295"></A>
+<A NAME="IDX301"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_uppercase_p</B> <I>(int c)</I>
<DD>Return 1 if <VAR>c</VAR> is an uppercase alphabetic character.
</DL>
</P><P>
-<A NAME="IDX296"></A>
+<A NAME="IDX302"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_lowercase_p</B> <I>(int c)</I>
<DD>Return 1 if <VAR>c</VAR> is a lowercase alphabetic character.
</DL>
</P><P>
-<A NAME="IDX297"></A>
+<A NAME="IDX303"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_digit_p</B> <I>(int c)</I>
<DD>Return 1 if <VAR>c</VAR> is a numeric character.
</DL>
</P><P>
-<A NAME="IDX298"></A>
+<A NAME="IDX304"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_to_upper</B> <I>(int c)</I>
<DD>If <VAR>c</VAR> is a lowercase alphabetic character, return the corresponding
@@ -3815,7 +3872,7 @@ uppercase character.
</DL>
</P><P>
-<A NAME="IDX299"></A>
+<A NAME="IDX305"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_to_lower</B> <I>(int c)</I>
<DD>If <VAR>c</VAR> is an uppercase alphabetic character, return the corresponding
@@ -3823,7 +3880,7 @@ lowercase character.
</DL>
</P><P>
-<A NAME="IDX300"></A>
+<A NAME="IDX306"></A>
<DL>
<DT><U>Function:</U> int <B>_rl_digit_value</B> <I>(int c)</I>
<DD>If <VAR>c</VAR> is a number, return the value it represents.
@@ -3848,7 +3905,7 @@ lowercase character.
<!--docid::SEC40::-->
<P>
-<A NAME="IDX301"></A>
+<A NAME="IDX307"></A>
<DL>
<DT><U>Function:</U> int <B>rl_macro_bind</B> <I>(const char *keyseq, const char *macro, Keymap map)</I>
<DD>Bind the key sequence <VAR>keyseq</VAR> to invoke the macro <VAR>macro</VAR>.
@@ -3858,7 +3915,7 @@ use <CODE>rl_generic_bind()</CODE> instead.
</DL>
</P><P>
-<A NAME="IDX302"></A>
+<A NAME="IDX308"></A>
<DL>
<DT><U>Function:</U> void <B>rl_macro_dumper</B> <I>(int readable)</I>
<DD>Print the key sequences bound to macros and their values, using
@@ -3868,7 +3925,7 @@ that it can be made part of an <CODE>inputrc</CODE> file and re-read.
</DL>
</P><P>
-<A NAME="IDX303"></A>
+<A NAME="IDX309"></A>
<DL>
<DT><U>Function:</U> int <B>rl_variable_bind</B> <I>(const char *variable, const char *value)</I>
<DD>Make the Readline variable <VAR>variable</VAR> have <VAR>value</VAR>.
@@ -3878,7 +3935,7 @@ file (see section <A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax<
</DL>
</P><P>
-<A NAME="IDX304"></A>
+<A NAME="IDX310"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_variable_value</B> <I>(const char *variable)</I>
<DD>Return a string representing the value of the Readline variable <VAR>variable</VAR>.
@@ -3886,7 +3943,7 @@ For boolean variables, this string is either <SAMP>`on'</SAMP> or <SAMP>`off'</S
</DL>
</P><P>
-<A NAME="IDX305"></A>
+<A NAME="IDX311"></A>
<DL>
<DT><U>Function:</U> void <B>rl_variable_dumper</B> <I>(int readable)</I>
<DD>Print the readline variable names and their current values
@@ -3896,7 +3953,7 @@ that it can be made part of an <CODE>inputrc</CODE> file and re-read.
</DL>
</P><P>
-<A NAME="IDX306"></A>
+<A NAME="IDX312"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_paren_blink_timeout</B> <I>(int u)</I>
<DD>Set the time interval (in microseconds) that Readline waits when showing
@@ -3904,7 +3961,7 @@ a balancing character when <CODE>blink-matching-paren</CODE> has been enabled.
</DL>
</P><P>
-<A NAME="IDX307"></A>
+<A NAME="IDX313"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_get_termcap</B> <I>(const char *cap)</I>
<DD>Retrieve the string value of the termcap capability <VAR>cap</VAR>.
@@ -3942,7 +3999,7 @@ also be invoked as a `callback' function from an event loop. There
are functions available to make this easy.
</P><P>
-<A NAME="IDX308"></A>
+<A NAME="IDX314"></A>
<DL>
<DT><U>Function:</U> void <B>rl_callback_handler_install</B> <I>(const char *prompt, rl_vcpfunc_t *lhandler)</I>
<DD>Set up the terminal for readline I/O and display the initial
@@ -3952,7 +4009,7 @@ The function takes the text of the line as an argument.
</DL>
</P><P>
-<A NAME="IDX309"></A>
+<A NAME="IDX315"></A>
<DL>
<DT><U>Function:</U> void <B>rl_callback_read_char</B> <I>(void)</I>
<DD>Whenever an application determines that keyboard input is available, it
@@ -3971,7 +4028,7 @@ the terminal settings are modified for Readline's use again.
</DL>
</P><P>
-<A NAME="IDX310"></A>
+<A NAME="IDX316"></A>
<DL>
<DT><U>Function:</U> void <B>rl_callback_handler_remove</B> <I>(void)</I>
<DD>Restore the terminal to its initial state and remove the line handler.
@@ -4129,7 +4186,7 @@ values of these variables only when calling <CODE>readline()</CODE>, not in
a signal handler, so Readline's internal signal state is not corrupted.
</P><P>
-<A NAME="IDX311"></A>
+<A NAME="IDX317"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_catch_signals</B>
<DD>If this variable is non-zero, Readline will install signal handlers for
@@ -4141,7 +4198,7 @@ The default value of <CODE>rl_catch_signals</CODE> is 1.
</DL>
</P><P>
-<A NAME="IDX312"></A>
+<A NAME="IDX318"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_catch_sigwinch</B>
<DD>If this variable is non-zero, Readline will install a signal handler for
@@ -4159,7 +4216,7 @@ Readline provides convenience functions to do the necessary terminal
and internal state cleanup upon receipt of a signal.
</P><P>
-<A NAME="IDX313"></A>
+<A NAME="IDX319"></A>
<DL>
<DT><U>Function:</U> void <B>rl_cleanup_after_signal</B> <I>(void)</I>
<DD>This function will reset the state of the terminal to what it was before
@@ -4169,7 +4226,7 @@ all signals, depending on the values of <CODE>rl_catch_signals</CODE> and
</DL>
</P><P>
-<A NAME="IDX314"></A>
+<A NAME="IDX320"></A>
<DL>
<DT><U>Function:</U> void <B>rl_free_line_state</B> <I>(void)</I>
<DD>This will free any partial state associated with the current input line
@@ -4181,7 +4238,7 @@ current input line.
</DL>
</P><P>
-<A NAME="IDX315"></A>
+<A NAME="IDX321"></A>
<DL>
<DT><U>Function:</U> void <B>rl_reset_after_signal</B> <I>(void)</I>
<DD>This will reinitialize the terminal and reinstall any Readline signal
@@ -4196,7 +4253,7 @@ Readline to update its idea of the terminal size when a <CODE>SIGWINCH</CODE>
is received.
</P><P>
-<A NAME="IDX316"></A>
+<A NAME="IDX322"></A>
<DL>
<DT><U>Function:</U> void <B>rl_echo_signal_char</B> <I>(int sig)</I>
<DD>If an application wishes to install its own signal handlers, but still
@@ -4206,14 +4263,14 @@ function with <VAR>sig</VAR> set to <CODE>SIGINT</CODE>, <CODE>SIGQUIT</CODE>, o
</DL>
</P><P>
-<A NAME="IDX317"></A>
+<A NAME="IDX323"></A>
<DL>
<DT><U>Function:</U> void <B>rl_resize_terminal</B> <I>(void)</I>
<DD>Update Readline's internal screen size by reading values from the kernel.
</DL>
</P><P>
-<A NAME="IDX318"></A>
+<A NAME="IDX324"></A>
<DL>
<DT><U>Function:</U> void <B>rl_set_screen_size</B> <I>(int rows, int cols)</I>
<DD>Set Readline's idea of the terminal size to <VAR>rows</VAR> rows and
@@ -4227,7 +4284,7 @@ is still interested in the screen dimensions, Readline's idea of the screen
size may be queried.
</P><P>
-<A NAME="IDX319"></A>
+<A NAME="IDX325"></A>
<DL>
<DT><U>Function:</U> void <B>rl_get_screen_size</B> <I>(int *rows, int *cols)</I>
<DD>Return Readline's idea of the terminal's size in the
@@ -4235,7 +4292,7 @@ variables pointed to by the arguments.
</DL>
</P><P>
-<A NAME="IDX320"></A>
+<A NAME="IDX326"></A>
<DL>
<DT><U>Function:</U> void <B>rl_reset_screen_size</B> <I>(void)</I>
<DD>Cause Readline to reobtain the screen size and recalculate its dimensions.
@@ -4245,7 +4302,7 @@ variables pointed to by the arguments.
The following functions install and remove Readline's signal handlers.
</P><P>
-<A NAME="IDX321"></A>
+<A NAME="IDX327"></A>
<DL>
<DT><U>Function:</U> int <B>rl_set_signals</B> <I>(void)</I>
<DD>Install Readline's signal handler for <CODE>SIGINT</CODE>, <CODE>SIGQUIT</CODE>,
@@ -4255,7 +4312,7 @@ The following functions install and remove Readline's signal handlers.
</DL>
</P><P>
-<A NAME="IDX322"></A>
+<A NAME="IDX328"></A>
<DL>
<DT><U>Function:</U> int <B>rl_clear_signals</B> <I>(void)</I>
<DD>Remove all of the Readline signal handlers installed by
@@ -4368,7 +4425,7 @@ Such a generator function is referred to as an
</OL>
<P>
-<A NAME="IDX323"></A>
+<A NAME="IDX329"></A>
<DL>
<DT><U>Function:</U> int <B>rl_complete</B> <I>(int ignore, int invoking_key)</I>
<DD>Complete the word at or before point. You have supplied the function
@@ -4377,7 +4434,7 @@ that does the initial simple matching selection algorithm (see
</DL>
</P><P>
-<A NAME="IDX324"></A>
+<A NAME="IDX330"></A>
<DL>
<DT><U>Variable:</U> rl_compentry_func_t * <B>rl_completion_entry_function</B>
<DD>This is a pointer to the generator function for
@@ -4413,7 +4470,7 @@ Here is the complete list of callable completion functions present in
Readline.
</P><P>
-<A NAME="IDX325"></A>
+<A NAME="IDX331"></A>
<DL>
<DT><U>Function:</U> int <B>rl_complete_internal</B> <I>(int what_to_do)</I>
<DD>Complete the word at or before point. <VAR>what_to_do</VAR> says what to do
@@ -4427,7 +4484,7 @@ a common prefix.
</DL>
</P><P>
-<A NAME="IDX326"></A>
+<A NAME="IDX332"></A>
<DL>
<DT><U>Function:</U> int <B>rl_complete</B> <I>(int ignore, int invoking_key)</I>
<DD>Complete the word at or before point. You have supplied the function
@@ -4439,7 +4496,7 @@ argument depending on <VAR>invoking_key</VAR>.
</DL>
</P><P>
-<A NAME="IDX327"></A>
+<A NAME="IDX333"></A>
<DL>
<DT><U>Function:</U> int <B>rl_possible_completions</B> <I>(int count, int invoking_key)</I>
<DD>List the possible completions. See description of <CODE>rl_complete
@@ -4448,7 +4505,7 @@ argument depending on <VAR>invoking_key</VAR>.
</DL>
</P><P>
-<A NAME="IDX328"></A>
+<A NAME="IDX334"></A>
<DL>
<DT><U>Function:</U> int <B>rl_insert_completions</B> <I>(int count, int invoking_key)</I>
<DD>Insert the list of possible completions into the line, deleting the
@@ -4457,7 +4514,7 @@ This calls <CODE>rl_complete_internal()</CODE> with an argument of <SAMP>`*'</SA
</DL>
</P><P>
-<A NAME="IDX329"></A>
+<A NAME="IDX335"></A>
<DL>
<DT><U>Function:</U> int <B>rl_completion_mode</B> <I>(rl_command_func_t *cfunc)</I>
<DD>Returns the apppriate value to pass to <CODE>rl_complete_internal()</CODE>
@@ -4469,7 +4526,7 @@ the same interface as <CODE>rl_complete()</CODE>.
</DL>
</P><P>
-<A NAME="IDX330"></A>
+<A NAME="IDX336"></A>
<DL>
<DT><U>Function:</U> char ** <B>rl_completion_matches</B> <I>(const char *text, rl_compentry_func_t *entry_func)</I>
<DD>Returns an array of strings which is a list of completions for
@@ -4487,7 +4544,7 @@ when there are no more matches.
</DL>
</P><P>
-<A NAME="IDX331"></A>
+<A NAME="IDX337"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_filename_completion_function</B> <I>(const char *text, int state)</I>
<DD>A generator function for filename completion in the general case.
@@ -4498,7 +4555,7 @@ Readline functions).
</DL>
</P><P>
-<A NAME="IDX332"></A>
+<A NAME="IDX338"></A>
<DL>
<DT><U>Function:</U> char * <B>rl_username_completion_function</B> <I>(const char *text, int state)</I>
<DD>A completion generator for usernames. <VAR>text</VAR> contains a partial
@@ -4526,7 +4583,7 @@ for subsequent calls.
<!--docid::SEC47::-->
<P>
-<A NAME="IDX333"></A>
+<A NAME="IDX339"></A>
<DL>
<DT><U>Variable:</U> rl_compentry_func_t * <B>rl_completion_entry_function</B>
<DD>A pointer to the generator function for <CODE>rl_completion_matches()</CODE>.
@@ -4535,7 +4592,7 @@ the default filename completer.
</DL>
</P><P>
-<A NAME="IDX334"></A>
+<A NAME="IDX340"></A>
<DL>
<DT><U>Variable:</U> rl_completion_func_t * <B>rl_attempted_completion_function</B>
<DD>A pointer to an alternative function to create matches.
@@ -4552,7 +4609,7 @@ completion even if this function returns no matches.
</DL>
</P><P>
-<A NAME="IDX335"></A>
+<A NAME="IDX341"></A>
<DL>
<DT><U>Variable:</U> rl_quote_func_t * <B>rl_filename_quoting_function</B>
<DD>A pointer to a function that will quote a filename in an
@@ -4569,7 +4626,7 @@ to reset this character.
</DL>
</P><P>
-<A NAME="IDX336"></A>
+<A NAME="IDX342"></A>
<DL>
<DT><U>Variable:</U> rl_dequote_func_t * <B>rl_filename_dequoting_function</B>
<DD>A pointer to a function that will remove application-specific quoting
@@ -4582,7 +4639,7 @@ that delimits the filename (usually <SAMP>`''</SAMP> or <SAMP>`"'</SAMP>). If
</DL>
</P><P>
-<A NAME="IDX337"></A>
+<A NAME="IDX343"></A>
<DL>
<DT><U>Variable:</U> rl_linebuf_func_t * <B>rl_char_is_quoted_p</B>
<DD>A pointer to a function to call that determines whether or not a specific
@@ -4595,7 +4652,7 @@ used to break words for the completer.
</DL>
</P><P>
-<A NAME="IDX338"></A>
+<A NAME="IDX344"></A>
<DL>
<DT><U>Variable:</U> rl_compignore_func_t * <B>rl_ignore_some_completions_function</B>
<DD>This function, if defined, is called by the completer when real filename
@@ -4608,7 +4665,7 @@ from the array must be freed.
</DL>
</P><P>
-<A NAME="IDX339"></A>
+<A NAME="IDX345"></A>
<DL>
<DT><U>Variable:</U> rl_icppfunc_t * <B>rl_directory_completion_hook</B>
<DD>This function, if defined, is allowed to modify the directory portion
@@ -4627,7 +4684,26 @@ be passed directly to <CODE>opendir()</CODE>.
</DL>
</P><P>
-<A NAME="IDX340"></A>
+<A NAME="IDX346"></A>
+<DL>
+<DT><U>Variable:</U> rl_dequote_func_t * <B>rl_filename_rewrite_hook</B>
+<DD>If non-zero, this is the address of a function called when reading
+directory entries from the filesystem for completion and comparing
+them to the partial word to be completed. The function should
+perform any necesary application or system-specific conversion on
+the filename, such as converting between character sets or converting
+from a filesystem format to a character input format.
+The function takes two arguments: <VAR>fname</VAR>, the filename to be converted,
+and <VAR>fnlen</VAR>, its length in bytes.
+It must either return its first argument (if no conversion takes place)
+or the converted filename in newly-allocated memory. The converted
+form is used to compare against the word to be completed, and, if it
+matches, is added to the list of matches. Readline will free the
+allocated string.
+</DL>
+</P><P>
+
+<A NAME="IDX347"></A>
<DL>
<DT><U>Variable:</U> rl_compdisp_func_t * <B>rl_completion_display_matches_hook</B>
<DD>If non-zero, then this is the address of a function to call when
@@ -4644,7 +4720,7 @@ function may be called from this hook.
</DL>
</P><P>
-<A NAME="IDX341"></A>
+<A NAME="IDX348"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_basic_word_break_characters</B>
<DD>The basic list of characters that signal a break between words for the
@@ -4654,14 +4730,14 @@ which break words for completion in Bash:
</DL>
</P><P>
-<A NAME="IDX342"></A>
+<A NAME="IDX349"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_basic_quote_characters</B>
<DD>A list of quote characters which can cause a word break.
</DL>
</P><P>
-<A NAME="IDX343"></A>
+<A NAME="IDX350"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_completer_word_break_characters</B>
<DD>The list of characters that signal a break between words for
@@ -4670,7 +4746,7 @@ which break words for completion in Bash:
</DL>
</P><P>
-<A NAME="IDX344"></A>
+<A NAME="IDX351"></A>
<DL>
<DT><U>Variable:</U> rl_cpvfunc_t * <B>rl_completion_word_break_hook</B>
<DD>If non-zero, this is the address of a function to call when Readline is
@@ -4682,7 +4758,7 @@ returns <CODE>NULL</CODE>, <CODE>rl_completer_word_break_characters</CODE> is us
</DL>
</P><P>
-<A NAME="IDX345"></A>
+<A NAME="IDX352"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_completer_quote_characters</B>
<DD>A list of characters which can be used to quote a substring of the line.
@@ -4692,7 +4768,7 @@ unless they also appear within this list.
</DL>
</P><P>
-<A NAME="IDX346"></A>
+<A NAME="IDX353"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_filename_quote_characters</B>
<DD>A list of characters that cause a filename to be quoted by the completer
@@ -4700,7 +4776,7 @@ when they appear in a completed filename. The default is the null string.
</DL>
</P><P>
-<A NAME="IDX347"></A>
+<A NAME="IDX354"></A>
<DL>
<DT><U>Variable:</U> const char * <B>rl_special_prefixes</B>
<DD>The list of characters that are word break characters, but should be
@@ -4711,7 +4787,7 @@ shell variables and hostnames.
</DL>
</P><P>
-<A NAME="IDX348"></A>
+<A NAME="IDX355"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_query_items</B>
<DD>Up to this many items will be displayed in response to a
@@ -4721,7 +4797,7 @@ indicates that Readline should never ask the user.
</DL>
</P><P>
-<A NAME="IDX349"></A>
+<A NAME="IDX356"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_append_character</B>
<DD>When a single completion alternative matches at the end of the command
@@ -4734,7 +4810,7 @@ an application-specific command line syntax specification.
</DL>
</P><P>
-<A NAME="IDX350"></A>
+<A NAME="IDX357"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_suppress_append</B>
<DD>If non-zero, <VAR>rl_completion_append_character</VAR> is not appended to
@@ -4744,7 +4820,7 @@ is called, and may only be changed within such a function.
</DL>
</P><P>
-<A NAME="IDX351"></A>
+<A NAME="IDX358"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_quote_character</B>
<DD>When Readline is completing quoted text, as delimited by one of the
@@ -4754,7 +4830,7 @@ This is set before any application-specific completion function is called.
</DL>
</P><P>
-<A NAME="IDX352"></A>
+<A NAME="IDX359"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_suppress_quote</B>
<DD>If non-zero, Readline does not append a matching quote character when
@@ -4764,7 +4840,7 @@ is called, and may only be changed within such a function.
</DL>
</P><P>
-<A NAME="IDX353"></A>
+<A NAME="IDX360"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_found_quote</B>
<DD>When Readline is completing quoted text, it sets this variable
@@ -4774,7 +4850,7 @@ This is set before any application-specific completion function is called.
</DL>
</P><P>
-<A NAME="IDX354"></A>
+<A NAME="IDX361"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_mark_symlink_dirs</B>
<DD>If non-zero, a slash will be appended to completed filenames that are
@@ -4789,7 +4865,7 @@ function modifies the value, the user's preferences are honored.
</DL>
</P><P>
-<A NAME="IDX355"></A>
+<A NAME="IDX362"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_ignore_completion_duplicates</B>
<DD>If non-zero, then duplicates in the matches are removed.
@@ -4797,7 +4873,7 @@ The default is 1.
</DL>
</P><P>
-<A NAME="IDX356"></A>
+<A NAME="IDX363"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_filename_completion_desired</B>
<DD>Non-zero means that the results of the matches are to be treated as
@@ -4811,7 +4887,7 @@ characters in <CODE>rl_filename_quote_characters</CODE> and
</DL>
</P><P>
-<A NAME="IDX357"></A>
+<A NAME="IDX364"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_filename_quoting_desired</B>
<DD>Non-zero means that the results of the matches are to be quoted using
@@ -4825,7 +4901,7 @@ by <CODE>rl_filename_quoting_function</CODE>.
</DL>
</P><P>
-<A NAME="IDX358"></A>
+<A NAME="IDX365"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_attempted_completion_over</B>
<DD>If an application-specific completion function assigned to
@@ -4836,7 +4912,7 @@ It should be set only by an application's completion function.
</DL>
</P><P>
-<A NAME="IDX359"></A>
+<A NAME="IDX366"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_sort_completion_matches</B>
<DD>If an application sets this variable to 0, Readline will not sort the
@@ -4848,7 +4924,7 @@ matches.
</DL>
</P><P>
-<A NAME="IDX360"></A>
+<A NAME="IDX367"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_type</B>
<DD>Set to a character describing the type of completion Readline is currently
@@ -4860,7 +4936,7 @@ the same interface as <CODE>rl_complete()</CODE>.
</DL>
</P><P>
-<A NAME="IDX361"></A>
+<A NAME="IDX368"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_completion_invoking_key</B>
<DD>Set to the final character in the key sequence that invoked one of the
@@ -4870,7 +4946,7 @@ function is called.
</DL>
</P><P>
-<A NAME="IDX362"></A>
+<A NAME="IDX369"></A>
<DL>
<DT><U>Variable:</U> int <B>rl_inhibit_completion</B>
<DD>If this variable is non-zero, completion is inhibited. The completion
@@ -5386,12 +5462,12 @@ valid_argument (caller, arg)
<P>
<center>
- Version 1.2, November 2002
+ Version 1.3, 3 November 2008
</center>
</P><P>
-<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+<A HREF="http://fsf.org/">http://fsf.org/</A>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -5509,6 +5585,10 @@ the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
</P><P>
+The "publisher" means any person or entity that distributes copies
+of the Document to the public.
+</P><P>
+
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
@@ -5822,13 +5902,33 @@ title.
TERMINATION
<P>
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+</P><P>
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+</P><P>
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+</P><P>
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
</P><P>
<LI>
@@ -5849,7 +5949,49 @@ following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+</P><P>
+
+<LI>
+RELICENSING
+<P>
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+</P><P>
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+</P><P>
+
+"Incorporate" means to publish or republish a Document, in whole or
+in part, as part of another Document.
+</P><P>
+
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+</P><P>
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+</P><P>
+
</OL>
<P>
@@ -5865,7 +6007,7 @@ license notices just after the title page:
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> Copyright (C) <VAR>year</VAR> <VAR>your name</VAR>.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
@@ -5951,7 +6093,7 @@ to permit their use in free software.
<TR><TD></TD><TD valign=top><A HREF="readline.html#SEC4">notation, readline</A></TD><TD valign=top><A HREF="readline.html#SEC4">1.2.1 Readline Bare Essentials</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX182">readline, function</A></TD><TD valign=top><A HREF="readline.html#SEC24">2.1 Basic Behavior</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX187">readline, function</A></TD><TD valign=top><A HREF="readline.html#SEC24">2.1 Basic Behavior</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_V"></A>V</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX4">variables, readline</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
@@ -6043,403 +6185,410 @@ to permit their use in free software.
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn__"></A>_</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX297"><CODE>_rl_digit_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX300"><CODE>_rl_digit_value</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX296"><CODE>_rl_lowercase_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX299"><CODE>_rl_to_lower</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX298"><CODE>_rl_to_upper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX295"><CODE>_rl_uppercase_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX303"><CODE>_rl_digit_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX306"><CODE>_rl_digit_value</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX302"><CODE>_rl_lowercase_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX305"><CODE>_rl_to_lower</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX304"><CODE>_rl_to_upper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX301"><CODE>_rl_uppercase_p</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_A"></A>A</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX149"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX150"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX47"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX152"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX153"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX48"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX49"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_B"></A>B</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX37"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX38"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX75"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX39"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX76"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX99"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX77"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX100"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX107"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX101"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX108"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX41"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX109"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX42"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX53"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX43"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX54"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX31"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX55"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX32"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX33"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX5">bell-style</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX6">bind-tty-special-chars</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_C"></A>C</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX145"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX146"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX93"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX148"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX149"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX94"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX165"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX166"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX167"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX168"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX43"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX95"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX168"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX169"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX170"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX171"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX44"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX45"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX7">comment-begin</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX131"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX132"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX133"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX8">completion-prefix-display-length</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX9">completion-query-items</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX10">convert-meta</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX119"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX120"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX121"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX121"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX122"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX117"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX123"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX118"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX119"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_D"></A>D</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX73"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX74"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX139"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX140"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX113"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX75"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX142"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX143"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX114"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX127"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX115"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX128"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX129"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX11">disable-completion</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX151"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX152"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX91"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX154"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX155"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX92"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX171"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX172"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX175"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX176"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX173"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX174"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX93"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX176"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX177"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX180"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX181"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX178"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX179"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_E"></A>E</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX12">editing-mode</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX177"><CODE>emacs-editing-mode (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX178"><CODE>emacs-editing-mode (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX182"><CODE>emacs-editing-mode (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX183"><CODE>emacs-editing-mode (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX13">enable-keypad</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX143"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX144"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX55"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX146"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX147"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX56"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX33"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX57"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX34"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX163"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX164"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX35"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX166"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX167"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX14">expand-tilde</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX77"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX78"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX35"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX79"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX36"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX59"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX37"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX60"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX39"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX61"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX40"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX41"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_H"></A>H</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX15">history-preserve-point</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX67"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX68"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX65"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX69"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX66"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX67"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX16">history-size</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX17">horizontal-scroll-mode</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_I"></A>I</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX18">input-meta</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX169"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX170"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX135"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX174"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX175"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX136"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX137"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX20">isearch-terminators</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_K"></A>K</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX21">keymap</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX97"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX98"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX115"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX99"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX116"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX103"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX117"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX104"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX105"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX105"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX106"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX107"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_M"></A>M</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX22">mark-modified-lines</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX23">mark-symlinked-directories</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX24">match-hidden-files</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX137"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX138"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX139"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX140"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX141"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX19">meta-flag</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_N"></A>N</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX51"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX52"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX63"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX53"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX64"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX61"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX65"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX62"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX63"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_O"></A>O</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX25">output-meta</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX95"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX96"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX97"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_P"></A>P</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX26">page-completions</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX133"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX134"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX153"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX154"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX49"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX135"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC19">1.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX156"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX157"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX50"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX51"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_Q"></A>Q</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX79"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX80"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX81"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX147"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX148"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX181"><CODE>readline</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC24">2.1 Basic Behavior</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX45"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX150"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX151"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX186"><CODE>readline</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC24">2.1 Basic Behavior</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX46"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX57"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX47"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC14">1.4.1 Commands For Moving</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX58"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX59"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX27">revert-all-at-newline</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX157"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX158"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX218"><CODE>rl_add_defun</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC30">2.4.1 Naming a Function</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX250"><CODE>rl_add_funmap_entry</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX253"><CODE>rl_add_undo</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX293"><CODE>rl_alphabetic</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX194">rl_already_prompted</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX334">rl_attempted_completion_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX358">rl_attempted_completion_over</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX342">rl_basic_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX341">rl_basic_word_break_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX251"><CODE>rl_begin_undo_group</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX227"><CODE>rl_bind_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX229"><CODE>rl_bind_key_if_unbound</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX230"><CODE>rl_bind_key_if_unbound_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX228"><CODE>rl_bind_key_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX235"><CODE>rl_bind_keyseq</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX238"><CODE>rl_bind_keyseq_if_unbound</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX239"><CODE>rl_bind_keyseq_if_unbound_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX236"><CODE>rl_bind_keyseq_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX212">rl_binding_keymap</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX308"><CODE>rl_callback_handler_install</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX310"><CODE>rl_callback_handler_remove</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX309"><CODE>rl_callback_read_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX311">rl_catch_signals</A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX312">rl_catch_sigwinch</A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX337">rl_char_is_quoted_p</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX313"><CODE>rl_cleanup_after_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX265"><CODE>rl_clear_message</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX279"><CODE>rl_clear_pending_input</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX322"><CODE>rl_clear_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX323"><CODE>rl_complete</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC45">2.6.1 How Completing Works</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX326"><CODE>rl_complete</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX325"><CODE>rl_complete_internal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX345">rl_completer_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX343">rl_completer_word_break_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX349">rl_completion_append_character</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX340">rl_completion_display_matches_hook</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX324">rl_completion_entry_function</A></TD><TD valign=top><A HREF="readline.html#SEC45">2.6.1 How Completing Works</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX333">rl_completion_entry_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX353">rl_completion_found_quote</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX361">rl_completion_invoking_key</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX354">rl_completion_mark_symlink_dirs</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX330"><CODE>rl_completion_matches</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX329"><CODE>rl_completion_mode</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX348">rl_completion_query_items</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX351">rl_completion_quote_character</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX350">rl_completion_suppress_append</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX352">rl_completion_suppress_quote</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX360">rl_completion_type</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX344">rl_completion_word_break_hook</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX220"><CODE>rl_copy_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX272"><CODE>rl_copy_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX262"><CODE>rl_crlf</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX271"><CODE>rl_delete_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX210">rl_deprep_term_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX282"><CODE>rl_deprep_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX292"><CODE>rl_ding</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX339">rl_directory_completion_hook</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX222"><CODE>rl_discard_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX190">rl_dispatching</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX294"><CODE>rl_display_match_list</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX193">rl_display_prompt</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX255"><CODE>rl_do_undo</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX187">rl_done</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX316"><CODE>rl_echo_signal_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX217">rl_editing_mode</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX185">rl_end</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX252"><CODE>rl_end_undo_group</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX191">rl_erase_empty_line</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX206">rl_event_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX278"><CODE>rl_execute_next</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX211">rl_executing_keymap</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX213">rl_executing_macro</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX268"><CODE>rl_expand_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX215">rl_explicit_arg</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX290"><CODE>rl_extend_line_buffer</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX356">rl_filename_completion_desired</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX331"><CODE>rl_filename_completion_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX336">rl_filename_dequoting_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX346">rl_filename_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX357">rl_filename_quoting_desired</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX335">rl_filename_quoting_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX258"><CODE>rl_forced_update_display</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX288"><CODE>rl_free</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX314"><CODE>rl_free_line_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX254"><CODE>rl_free_undo_list</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX247"><CODE>rl_function_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX244"><CODE>rl_function_of_keyseq</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX249"><CODE>rl_funmap_names</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX240"><CODE>rl_generic_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX223"><CODE>rl_get_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX225"><CODE>rl_get_keymap_by_name</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX226"><CODE>rl_get_keymap_name</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX319"><CODE>rl_get_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX307"><CODE>rl_get_termcap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX276"><CODE>rl_getc</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX207">rl_getc_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX197">rl_gnu_readline_p</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX355">rl_ignore_completion_duplicates</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX338">rl_ignore_some_completions_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX362">rl_inhibit_completion</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX291"><CODE>rl_initialize</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX328"><CODE>rl_insert_completions</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX270"><CODE>rl_insert_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX200">rl_instream</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX245"><CODE>rl_invoking_keyseqs</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX246"><CODE>rl_invoking_keyseqs_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX273"><CODE>rl_kill_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX203">rl_last_func</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX195">rl_library_version</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX183">rl_line_buffer</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX248"><CODE>rl_list_funmap_names</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX301"><CODE>rl_macro_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX302"><CODE>rl_macro_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX219"><CODE>rl_make_bare_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX221"><CODE>rl_make_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX186">rl_mark</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX264"><CODE>rl_message</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX256"><CODE>rl_modifying</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX243"><CODE>rl_named_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX188">rl_num_chars_to_read</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX216">rl_numeric_arg</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX259"><CODE>rl_on_new_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX260"><CODE>rl_on_new_line_with_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX201">rl_outstream</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX241"><CODE>rl_parse_and_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX189">rl_pending_input</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX184">rl_point</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX327"><CODE>rl_possible_completions</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX205">rl_pre_input_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX202">rl_prefer_env_winsize</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX209">rl_prep_term_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX281"><CODE>rl_prep_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX192">rl_prompt</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX274"><CODE>rl_push_macro_input</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX242"><CODE>rl_read_init_file</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX275"><CODE>rl_read_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX199">rl_readline_name</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX214">rl_readline_state</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX196">rl_readline_version</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX257"><CODE>rl_redisplay</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX208">rl_redisplay_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX289"><CODE>rl_replace_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX315"><CODE>rl_reset_after_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX261"><CODE>rl_reset_line_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX320"><CODE>rl_reset_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX285"><CODE>rl_reset_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX317"><CODE>rl_resize_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX267"><CODE>rl_restore_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX287"><CODE>rl_restore_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX266"><CODE>rl_save_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX286"><CODE>rl_save_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX237"><CODE>rl_set_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX280"><CODE>rl_set_keyboard_input_timeout</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX224"><CODE>rl_set_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX306"><CODE>rl_set_paren_blink_timeout</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX269"><CODE>rl_set_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX318"><CODE>rl_set_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX321"><CODE>rl_set_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX263"><CODE>rl_show_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX359">rl_sort_completion_matches</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX347">rl_special_prefixes</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX204">rl_startup_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX277"><CODE>rl_stuff_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX198">rl_terminal_name</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX283"><CODE>rl_tty_set_default_bindings</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX284"><CODE>rl_tty_unset_default_bindings</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX234"><CODE>rl_unbind_command_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX233"><CODE>rl_unbind_function_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX231"><CODE>rl_unbind_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX232"><CODE>rl_unbind_key_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX332"><CODE>rl_username_completion_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX303"><CODE>rl_variable_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX305"><CODE>rl_variable_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX304"><CODE>rl_variable_value</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX160"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX161"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX223"><CODE>rl_add_defun</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC30">2.4.1 Naming a Function</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX256"><CODE>rl_add_funmap_entry</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX259"><CODE>rl_add_undo</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX299"><CODE>rl_alphabetic</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX199">rl_already_prompted</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX340">rl_attempted_completion_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX365">rl_attempted_completion_over</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX349">rl_basic_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX348">rl_basic_word_break_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX257"><CODE>rl_begin_undo_group</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX233"><CODE>rl_bind_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX235"><CODE>rl_bind_key_if_unbound</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX236"><CODE>rl_bind_key_if_unbound_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX234"><CODE>rl_bind_key_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX241"><CODE>rl_bind_keyseq</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX244"><CODE>rl_bind_keyseq_if_unbound</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX245"><CODE>rl_bind_keyseq_if_unbound_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX242"><CODE>rl_bind_keyseq_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX217">rl_binding_keymap</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX314"><CODE>rl_callback_handler_install</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX316"><CODE>rl_callback_handler_remove</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX315"><CODE>rl_callback_read_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC41">2.4.12 Alternate Interface</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX317">rl_catch_signals</A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX318">rl_catch_sigwinch</A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX343">rl_char_is_quoted_p</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX319"><CODE>rl_cleanup_after_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX271"><CODE>rl_clear_message</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX285"><CODE>rl_clear_pending_input</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX328"><CODE>rl_clear_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX329"><CODE>rl_complete</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC45">2.6.1 How Completing Works</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX332"><CODE>rl_complete</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX331"><CODE>rl_complete_internal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX352">rl_completer_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX350">rl_completer_word_break_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX356">rl_completion_append_character</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX347">rl_completion_display_matches_hook</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX330">rl_completion_entry_function</A></TD><TD valign=top><A HREF="readline.html#SEC45">2.6.1 How Completing Works</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX339">rl_completion_entry_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX360">rl_completion_found_quote</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX368">rl_completion_invoking_key</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX361">rl_completion_mark_symlink_dirs</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX336"><CODE>rl_completion_matches</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX335"><CODE>rl_completion_mode</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX355">rl_completion_query_items</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX358">rl_completion_quote_character</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX357">rl_completion_suppress_append</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX359">rl_completion_suppress_quote</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX367">rl_completion_type</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX351">rl_completion_word_break_hook</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX225"><CODE>rl_copy_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX278"><CODE>rl_copy_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX268"><CODE>rl_crlf</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX277"><CODE>rl_delete_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX215">rl_deprep_term_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX288"><CODE>rl_deprep_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX298"><CODE>rl_ding</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX345">rl_directory_completion_hook</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX227"><CODE>rl_discard_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX195">rl_dispatching</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX300"><CODE>rl_display_match_list</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX198">rl_display_prompt</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX261"><CODE>rl_do_undo</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX192">rl_done</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX322"><CODE>rl_echo_signal_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX222">rl_editing_mode</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX190">rl_end</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX258"><CODE>rl_end_undo_group</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX196">rl_erase_empty_line</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX211">rl_event_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX284"><CODE>rl_execute_next</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX216">rl_executing_keymap</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX218">rl_executing_macro</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX274"><CODE>rl_expand_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX220">rl_explicit_arg</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX296"><CODE>rl_extend_line_buffer</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX363">rl_filename_completion_desired</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX337"><CODE>rl_filename_completion_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX342">rl_filename_dequoting_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX353">rl_filename_quote_characters</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX364">rl_filename_quoting_desired</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX341">rl_filename_quoting_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX346">rl_filename_rewrite_hook</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX264"><CODE>rl_forced_update_display</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX294"><CODE>rl_free</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX228"><CODE>rl_free_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX320"><CODE>rl_free_line_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX260"><CODE>rl_free_undo_list</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX253"><CODE>rl_function_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX250"><CODE>rl_function_of_keyseq</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX255"><CODE>rl_funmap_names</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX246"><CODE>rl_generic_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX229"><CODE>rl_get_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX231"><CODE>rl_get_keymap_by_name</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX232"><CODE>rl_get_keymap_name</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX325"><CODE>rl_get_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX313"><CODE>rl_get_termcap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX282"><CODE>rl_getc</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX212">rl_getc_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX202">rl_gnu_readline_p</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX362">rl_ignore_completion_duplicates</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX344">rl_ignore_some_completions_function</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX369">rl_inhibit_completion</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX297"><CODE>rl_initialize</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX334"><CODE>rl_insert_completions</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX276"><CODE>rl_insert_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX205">rl_instream</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX251"><CODE>rl_invoking_keyseqs</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX252"><CODE>rl_invoking_keyseqs_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX279"><CODE>rl_kill_text</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX208">rl_last_func</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX200">rl_library_version</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX188">rl_line_buffer</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX254"><CODE>rl_list_funmap_names</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX307"><CODE>rl_macro_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX308"><CODE>rl_macro_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX224"><CODE>rl_make_bare_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX226"><CODE>rl_make_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX191">rl_mark</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX270"><CODE>rl_message</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX262"><CODE>rl_modifying</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC34">2.4.5 Allowing Undoing</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX249"><CODE>rl_named_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC33">2.4.4 Associating Function Names and Bindings</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX193">rl_num_chars_to_read</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX221">rl_numeric_arg</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX265"><CODE>rl_on_new_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX266"><CODE>rl_on_new_line_with_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX206">rl_outstream</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX247"><CODE>rl_parse_and_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX194">rl_pending_input</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX189">rl_point</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX333"><CODE>rl_possible_completions</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX210">rl_pre_input_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX207">rl_prefer_env_winsize</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX214">rl_prep_term_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX287"><CODE>rl_prep_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX197">rl_prompt</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX280"><CODE>rl_push_macro_input</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC36">2.4.7 Modifying Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX248"><CODE>rl_read_init_file</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX281"><CODE>rl_read_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX204">rl_readline_name</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX219">rl_readline_state</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX201">rl_readline_version</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX263"><CODE>rl_redisplay</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX213">rl_redisplay_function</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX295"><CODE>rl_replace_line</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX321"><CODE>rl_reset_after_signal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX267"><CODE>rl_reset_line_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX326"><CODE>rl_reset_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX291"><CODE>rl_reset_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX323"><CODE>rl_resize_terminal</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX273"><CODE>rl_restore_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX293"><CODE>rl_restore_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX272"><CODE>rl_save_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX292"><CODE>rl_save_state</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC39">2.4.10 Utility Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX243"><CODE>rl_set_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX286"><CODE>rl_set_keyboard_input_timeout</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX230"><CODE>rl_set_keymap</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC31">2.4.2 Selecting a Keymap</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX312"><CODE>rl_set_paren_blink_timeout</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX275"><CODE>rl_set_prompt</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX324"><CODE>rl_set_screen_size</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX327"><CODE>rl_set_signals</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC43">2.5 Readline Signal Handling</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX269"><CODE>rl_show_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC35">2.4.6 Redisplay</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX366">rl_sort_completion_matches</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX354">rl_special_prefixes</A></TD><TD valign=top><A HREF="readline.html#SEC47">2.6.3 Completion Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX209">rl_startup_hook</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX283"><CODE>rl_stuff_char</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC37">2.4.8 Character Input</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX203">rl_terminal_name</A></TD><TD valign=top><A HREF="readline.html#SEC28">2.3 Readline Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX289"><CODE>rl_tty_set_default_bindings</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX290"><CODE>rl_tty_unset_default_bindings</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC38">2.4.9 Terminal Management</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX240"><CODE>rl_unbind_command_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX239"><CODE>rl_unbind_function_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX237"><CODE>rl_unbind_key</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX238"><CODE>rl_unbind_key_in_map</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC32">2.4.3 Binding Keys</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX338"><CODE>rl_username_completion_function</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC46">2.6.2 Completion Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX309"><CODE>rl_variable_bind</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX311"><CODE>rl_variable_dumper</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX310"><CODE>rl_variable_value</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC40">2.4.11 Miscellaneous Functions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_S"></A>S</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX83"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX84"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX161"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX162"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX85"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX164"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX165"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX28">show-all-if-ambiguous</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX29">show-all-if-unmodified</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX141"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX142"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX30">skip-completed-text</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX172"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX173"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX144"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX145"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC20">1.4.7 Keyboard Macros</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_T"></A>T</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX81"><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX82"><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX159"><CODE>tilde-expand (M-~)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX160"><CODE>tilde-expand (M-~)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX85"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX83"><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX162"><CODE>tilde-expand (M-~)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX163"><CODE>tilde-expand (M-~)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX86"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX87"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX87"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX88"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX89"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_U"></A>U</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX155"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX156"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX129"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX158"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX159"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX130"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX111"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX131"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC18">1.4.5 Specifying Numeric Arguments</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX112"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX101"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX113"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX102"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX109"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX103"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX110"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX89"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX111"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX90"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX91"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC16">1.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_V"></A>V</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX179"><CODE>vi-editing-mode (M-C-j)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX180"><CODE>vi-editing-mode (M-C-j)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX30">visible-stats</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX184"><CODE>vi-editing-mode (M-C-j)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX185"><CODE>vi-editing-mode (M-C-j)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC21">1.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX31">visible-stats</A></TD><TD valign=top><A HREF="readline.html#SEC10">1.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_Y"></A>Y</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX123"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX124"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX71"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX125"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX72"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX69"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX73"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX70"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX125"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX71"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC15">1.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX126"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="readline.html#IDX127"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="readline.html#SEC17">1.4.4 Killing And Yanking</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="readline.html#fn__" style="text-decoration:none"><b>_</b></A>
&nbsp;
@@ -6646,7 +6795,7 @@ to permit their use in free software.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="readline.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>January, 6 2009</I>
+This document was generated by <I>Chet Ramey</I> on <I>October, 12 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -6808,7 +6957,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>Chet Ramey</I> on <I>January, 6 2009</I>
+by <I>Chet Ramey</I> on <I>October, 12 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
diff --git a/doc/readline.info b/doc/readline.info
index d7af19d..272d79b 100644
--- a/doc/readline.info
+++ b/doc/readline.info
@@ -1,8 +1,8 @@
This is readline.info, produced by makeinfo version 4.13 from
-/Users/chet/src/bash/readline-src/doc/rlman.texi.
+/usr/src/local/chet/src/bash/readline-src/doc/rlman.texi.
-This manual describes the GNU Readline Library (version 6.0, 28 October
-2008), a library which aids in the consistency of user interface across
+This manual describes the GNU Readline Library (version 6.1, 9 October
+2009), a library which aids in the consistency of user interface across
discrete programs which provide a command line interface.
Copyright (C) 1988-2009 Free Software Foundation, Inc.
@@ -13,7 +13,7 @@ preserved on all copies.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover texts
being "A GNU Manual", and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
@@ -441,11 +441,22 @@ Variable Settings
editing mode, where the keystrokes are most similar to Emacs.
This variable can be set to either `emacs' or `vi'.
+ `echo-control-characters'
+ When set to `on', on operating systems that indicate they
+ support it, readline echoes a character corresponding to a
+ signal generated from the keyboard. The default is `on'.
+
`enable-keypad'
When set to `on', Readline will try to enable the application
keypad when it is called. Some systems need this to enable
the arrow keys. The default is `off'.
+ `enable-meta-key'
+ When set to `on', Readline will try to enable any meta
+ modifier key the terminal claims to support when it is
+ called. On many terminals, the meta key is used to send
+ eight-bit characters. The default is `on'.
+
`expand-tilde'
If set to `on', tilde expansion is performed when Readline
attempts word completion. The default is `off'.
@@ -548,6 +559,19 @@ Variable Settings
be listed immediately instead of ringing the bell. The
default value is `off'.
+ `skip-completed-text'
+ If set to `on', this alters the default completion behavior
+ when inserting a single match into the line. It's only
+ active when performing completion in the middle of a word.
+ If enabled, readline does not insert characters from the
+ completion that match characters after point in the word
+ being completed, so portions of the word following the cursor
+ are not duplicated. For instance, if this is enabled,
+ attempting completion when the cursor is after the `e' in
+ `Makefile' will result in `Makefile' rather than
+ `Makefilefile', assuming there is a single possible
+ completion. The default value is `off'.
+
`visible-stats'
If set to `on', a character denoting a file's type is
appended to the filename when listing possible completions.
@@ -1162,6 +1186,11 @@ File: readline.info, Node: Commands For Completion, Next: Keyboard Macros, Pr
command is intended to be bound to <TAB>, but is unbound by
default.
+`menu-complete-backward ()'
+ Identical to `menu-complete', but moves backward through the list
+ of possible completions, as if `menu-complete' had been given a
+ negative argument.
+
`delete-char-or-list ()'
Deletes the character under the cursor if not at the beginning or
end of the line (like `delete-char'). If at the end of the line,
@@ -1238,6 +1267,15 @@ File: readline.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up:
of that character. A negative count searches for subsequent
occurrences.
+`skip-csi-sequence ()'
+ Read enough characters to consume a multi-key sequence such as
+ those defined for keys like Home and End. Such sequences begin
+ with a Control Sequence Indicator (CSI), usually ESC-[. If this
+ sequence is bound to "\e[", keys producing such sequences will
+ have no effect unless explicitly bound to a readline command,
+ instead of inserting stray characters into the editing buffer.
+ This is unbound by default, but usually bound to ESC-[.
+
`insert-comment (M-#)'
Without a numeric argument, the value of the `comment-begin'
variable is inserted at the beginning of the current line. If a
@@ -1903,7 +1941,7 @@ which keymap to use.
-- Function: Keymap rl_make_bare_keymap (void)
Returns a new, empty keymap. The space for the keymap is
allocated with `malloc()'; the caller should free it by calling
- `rl_discard_keymap()' when done.
+ `rl_free_keymap()' when done.
-- Function: Keymap rl_copy_keymap (Keymap map)
Return a new keymap which is a copy of MAP.
@@ -1915,7 +1953,12 @@ which keymap to use.
arguments.
-- Function: void rl_discard_keymap (Keymap keymap)
- Free the storage associated with KEYMAP.
+ Free the storage associated with the data in KEYMAP. The caller
+ should free KEYMAP.
+
+ -- Function: void rl_free_keymap (Keymap keymap)
+ Free all storage associated with KEYMAP. This calls
+ `rl_discard_keymap' to free subordindate keymaps and macros.
Readline has several internal keymaps. These functions allow you to
change which keymap is active.
@@ -2930,6 +2973,21 @@ File: readline.info, Node: Completion Variables, Next: A Short Completion Exam
from the directory name, because its result will be passed
directly to `opendir()'.
+ -- Variable: rl_dequote_func_t * rl_filename_rewrite_hook
+ If non-zero, this is the address of a function called when reading
+ directory entries from the filesystem for completion and comparing
+ them to the partial word to be completed. The function should
+ perform any necesary application or system-specific conversion on
+ the filename, such as converting between character sets or
+ converting from a filesystem format to a character input format.
+ The function takes two arguments: FNAME, the filename to be
+ converted, and FNLEN, its length in bytes. It must either return
+ its first argument (if no conversion takes place) or the converted
+ filename in newly-allocated memory. The converted form is used to
+ compare against the word to be completed, and, if it matches, is
+ added to the list of matches. Readline will free the allocated
+ string.
+
-- Variable: rl_compdisp_func_t * rl_completion_display_matches_hook
If non-zero, then this is the address of a function to call when
completing a word would normally display the list of possible
@@ -3574,10 +3632,10 @@ File: readline.info, Node: GNU Free Documentation License, Next: Concept Index
Appendix A GNU Free Documentation License
*****************************************
- Version 1.2, November 2002
+ Version 1.3, 3 November 2008
- Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ `http://fsf.org/'
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -3679,6 +3737,9 @@ Appendix A GNU Free Documentation License
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
+ The "publisher" means any person or entity that distributes copies
+ of the Document to the public.
+
A section "Entitled XYZ" means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
@@ -3944,12 +4005,29 @@ Appendix A GNU Free Documentation License
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
- except as expressly provided for under this License. Any other
- attempt to copy, modify, sublicense or distribute the Document is
- void, and will automatically terminate your rights under this
- License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense, or distribute it is void,
+ and will automatically terminate your rights under this License.
+
+ However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly
+ and finally terminates your license, and (b) permanently, if the
+ copyright holder fails to notify you of the violation by some
+ reasonable means prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from
+ that copyright holder, and you cure the violation prior to 30 days
+ after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate
+ the licenses of parties who have received copies or rights from
+ you under this License. If your rights have been terminated and
+ not permanently reinstated, receipt of a copy of some or all of
+ the same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
@@ -3967,7 +4045,41 @@ Appendix A GNU Free Documentation License
published (not as a draft) by the Free Software Foundation. If
the Document does not specify a version number of this License,
you may choose any version ever published (not as a draft) by the
- Free Software Foundation.
+ Free Software Foundation. If the Document specifies that a proxy
+ can decide which future versions of this License can be used, that
+ proxy's public statement of acceptance of a version permanently
+ authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ World Wide Web server that publishes copyrightable works and also
+ provides prominent facilities for anybody to edit those works. A
+ public wiki that anybody can edit is an example of such a server.
+ A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+ site means any set of copyrightable works thus published on the MMC
+ site.
+
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ license published by Creative Commons Corporation, a not-for-profit
+ corporation with a principal place of business in San Francisco,
+ California, as well as future copyleft versions of that license
+ published by that same organization.
+
+ "Incorporate" means to publish or republish a Document, in whole or
+ in part, as part of another Document.
+
+ An MMC is "eligible for relicensing" if it is licensed under this
+ License, and if all works that were first published under this
+ License somewhere other than this MMC, and subsequently
+ incorporated in whole or in part into the MMC, (1) had no cover
+ texts or invariant sections, and (2) were thus incorporated prior
+ to November 1, 2008.
+
+ The operator of an MMC Site may republish an MMC contained in the
+ site under CC-BY-SA on the same site at any time before August 1,
+ 2009, provided the MMC is eligible for relicensing.
+
ADDENDUM: How to use this License for your documents
====================================================
@@ -3978,7 +4090,7 @@ notices just after the title page:
Copyright (C) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
@@ -4087,7 +4199,7 @@ Function and Variable Index
(line 45)
* delete-char (C-d): Commands For Text. (line 6)
* delete-char-or-list (): Commands For Completion.
- (line 30)
+ (line 35)
* delete-horizontal-space (): Commands For Killing.
(line 37)
* digit-argument (M-0, M-1, ... M--): Numeric Arguments. (line 6)
@@ -4097,15 +4209,15 @@ Function and Variable Index
(line 14)
* downcase-word (M-l): Commands For Text. (line 45)
* dump-functions (): Miscellaneous Commands.
- (line 61)
+ (line 70)
* dump-macros (): Miscellaneous Commands.
- (line 73)
+ (line 82)
* dump-variables (): Miscellaneous Commands.
- (line 67)
+ (line 76)
* editing-mode: Readline Init File Syntax.
(line 85)
* enable-keypad: Readline Init File Syntax.
- (line 91)
+ (line 96)
* end-kbd-macro (C-x )): Keyboard Macros. (line 9)
* end-of-history (M->): Commands For History.
(line 22)
@@ -4113,32 +4225,32 @@ Function and Variable Index
* exchange-point-and-mark (C-x C-x): Miscellaneous Commands.
(line 36)
* expand-tilde: Readline Init File Syntax.
- (line 96)
+ (line 107)
* forward-backward-delete-char (): Commands For Text. (line 15)
* forward-char (C-f): Commands For Moving. (line 12)
* forward-search-history (C-s): Commands For History.
(line 30)
* forward-word (M-f): Commands For Moving. (line 18)
* history-preserve-point: Readline Init File Syntax.
- (line 100)
+ (line 111)
* history-search-backward (): Commands For History.
(line 50)
* history-search-forward (): Commands For History.
(line 45)
* history-size: Readline Init File Syntax.
- (line 106)
+ (line 117)
* horizontal-scroll-mode: Readline Init File Syntax.
- (line 111)
+ (line 122)
* input-meta: Readline Init File Syntax.
- (line 118)
+ (line 129)
* insert-comment (M-#): Miscellaneous Commands.
- (line 51)
+ (line 60)
* insert-completions (M-*): Commands For Completion.
(line 14)
* isearch-terminators: Readline Init File Syntax.
- (line 125)
+ (line 136)
* keymap: Readline Init File Syntax.
- (line 132)
+ (line 143)
* kill-line (C-k): Commands For Killing.
(line 6)
* kill-region (): Commands For Killing.
@@ -4148,15 +4260,17 @@ Function and Variable Index
* kill-word (M-d): Commands For Killing.
(line 19)
* mark-modified-lines: Readline Init File Syntax.
- (line 145)
+ (line 156)
* mark-symlinked-directories: Readline Init File Syntax.
- (line 150)
+ (line 161)
* match-hidden-files: Readline Init File Syntax.
- (line 155)
+ (line 166)
* menu-complete (): Commands For Completion.
(line 18)
+* menu-complete-backward (): Commands For Completion.
+ (line 30)
* meta-flag: Readline Init File Syntax.
- (line 118)
+ (line 129)
* next-history (C-n): Commands For History.
(line 16)
* non-incremental-forward-search-history (M-n): Commands For History.
@@ -4164,10 +4278,10 @@ Function and Variable Index
* non-incremental-reverse-search-history (M-p): Commands For History.
(line 35)
* output-meta: Readline Init File Syntax.
- (line 162)
+ (line 173)
* overwrite-mode (): Commands For Text. (line 53)
* page-completions: Readline Init File Syntax.
- (line 167)
+ (line 178)
* possible-completions (M-?): Commands For Completion.
(line 11)
* prefix-meta (<ESC>): Miscellaneous Commands.
@@ -4182,7 +4296,7 @@ Function and Variable Index
* reverse-search-history (C-r): Commands For History.
(line 26)
* revert-all-at-newline: Readline Init File Syntax.
- (line 177)
+ (line 188)
* revert-line (M-r): Miscellaneous Commands.
(line 25)
* rl_add_defun: Function Naming. (line 20)
@@ -4194,11 +4308,11 @@ Function and Variable Index
* rl_attempted_completion_function: Completion Variables.
(line 12)
* rl_attempted_completion_over: Completion Variables.
- (line 210)
+ (line 225)
* rl_basic_quote_characters: Completion Variables.
- (line 99)
+ (line 114)
* rl_basic_word_break_characters: Completion Variables.
- (line 93)
+ (line 108)
* rl_begin_undo_group: Allowing Undoing. (line 29)
* rl_bind_key: Binding Keys. (line 22)
* rl_bind_key_if_unbound: Binding Keys. (line 32)
@@ -4231,39 +4345,39 @@ Function and Variable Index
* rl_complete_internal: Completion Functions.
(line 10)
* rl_completer_quote_characters: Completion Variables.
- (line 116)
+ (line 131)
* rl_completer_word_break_characters: Completion Variables.
- (line 102)
+ (line 117)
* rl_completion_append_character: Completion Variables.
- (line 140)
+ (line 155)
* rl_completion_display_matches_hook: Completion Variables.
- (line 80)
+ (line 95)
* rl_completion_entry_function <1>: How Completing Works.
(line 55)
* rl_completion_entry_function: Completion Variables.
(line 7)
* rl_completion_found_quote: Completion Variables.
- (line 168)
+ (line 183)
* rl_completion_invoking_key: Completion Variables.
- (line 233)
+ (line 248)
* rl_completion_mark_symlink_dirs: Completion Variables.
- (line 175)
+ (line 190)
* rl_completion_matches: Completion Functions.
(line 45)
* rl_completion_mode: Completion Functions.
(line 37)
* rl_completion_query_items: Completion Variables.
- (line 134)
+ (line 149)
* rl_completion_quote_character: Completion Variables.
- (line 156)
+ (line 171)
* rl_completion_suppress_append: Completion Variables.
- (line 150)
+ (line 165)
* rl_completion_suppress_quote: Completion Variables.
- (line 162)
+ (line 177)
* rl_completion_type: Completion Variables.
- (line 225)
+ (line 240)
* rl_completion_word_break_hook: Completion Variables.
- (line 107)
+ (line 122)
* rl_copy_keymap: Keymaps. (line 17)
* rl_copy_text: Modifying Text. (line 15)
* rl_crlf: Redisplay. (line 30)
@@ -4293,19 +4407,22 @@ Function and Variable Index
* rl_explicit_arg: Readline Variables. (line 261)
* rl_extend_line_buffer: Utility Functions. (line 27)
* rl_filename_completion_desired: Completion Variables.
- (line 190)
+ (line 205)
* rl_filename_completion_function: Completion Functions.
(line 59)
* rl_filename_dequoting_function: Completion Variables.
(line 37)
* rl_filename_quote_characters: Completion Variables.
- (line 122)
+ (line 137)
* rl_filename_quoting_desired: Completion Variables.
- (line 200)
+ (line 215)
* rl_filename_quoting_function: Completion Variables.
(line 24)
+* rl_filename_rewrite_hook: Completion Variables.
+ (line 80)
* rl_forced_update_display: Redisplay. (line 11)
* rl_free: Utility Functions. (line 18)
+* rl_free_keymap: Keymaps. (line 30)
* rl_free_line_state: Readline Signal Handling.
(line 72)
* rl_free_undo_list: Allowing Undoing. (line 45)
@@ -4316,9 +4433,9 @@ Function and Variable Index
* rl_funmap_names: Associating Function Names and Bindings.
(line 40)
* rl_generic_bind: Binding Keys. (line 89)
-* rl_get_keymap: Keymaps. (line 32)
-* rl_get_keymap_by_name: Keymaps. (line 38)
-* rl_get_keymap_name: Keymaps. (line 43)
+* rl_get_keymap: Keymaps. (line 37)
+* rl_get_keymap_by_name: Keymaps. (line 43)
+* rl_get_keymap_name: Keymaps. (line 48)
* rl_get_screen_size: Readline Signal Handling.
(line 108)
* rl_get_termcap: Miscellaneous Functions.
@@ -4327,11 +4444,11 @@ Function and Variable Index
* rl_getc_function: Readline Variables. (line 130)
* rl_gnu_readline_p: Readline Variables. (line 83)
* rl_ignore_completion_duplicates: Completion Variables.
- (line 186)
+ (line 201)
* rl_ignore_some_completions_function: Completion Variables.
(line 56)
* rl_inhibit_completion: Completion Variables.
- (line 239)
+ (line 254)
* rl_initialize: Utility Functions. (line 31)
* rl_insert_completions: Completion Functions.
(line 32)
@@ -4396,7 +4513,7 @@ Function and Variable Index
* rl_save_state: Utility Functions. (line 7)
* rl_set_key: Binding Keys. (line 73)
* rl_set_keyboard_input_timeout: Character Input. (line 35)
-* rl_set_keymap: Keymaps. (line 35)
+* rl_set_keymap: Keymaps. (line 40)
* rl_set_paren_blink_timeout: Miscellaneous Functions.
(line 37)
* rl_set_prompt: Redisplay. (line 78)
@@ -4406,9 +4523,9 @@ Function and Variable Index
(line 119)
* rl_show_char: Redisplay. (line 33)
* rl_sort_completion_matches: Completion Variables.
- (line 217)
+ (line 232)
* rl_special_prefixes: Completion Variables.
- (line 127)
+ (line 142)
* rl_startup_hook: Readline Variables. (line 115)
* rl_stuff_char: Character Input. (line 19)
* rl_terminal_name: Readline Variables. (line 87)
@@ -4430,9 +4547,13 @@ Function and Variable Index
* set-mark (C-@): Miscellaneous Commands.
(line 32)
* show-all-if-ambiguous: Readline Init File Syntax.
- (line 183)
+ (line 194)
* show-all-if-unmodified: Readline Init File Syntax.
- (line 189)
+ (line 200)
+* skip-completed-text: Readline Init File Syntax.
+ (line 209)
+* skip-csi-sequence (): Miscellaneous Commands.
+ (line 51)
* start-kbd-macro (C-x (): Keyboard Macros. (line 6)
* transpose-chars (C-t): Commands For Text. (line 30)
* transpose-words (M-t): Commands For Text. (line 36)
@@ -4447,7 +4568,7 @@ Function and Variable Index
(line 28)
* upcase-word (M-u): Commands For Text. (line 41)
* visible-stats: Readline Init File Syntax.
- (line 198)
+ (line 222)
* yank (C-y): Commands For Killing.
(line 59)
* yank-last-arg (M-. or M-_): Commands For History.
@@ -4460,57 +4581,57 @@ Function and Variable Index

Tag Table:
-Node: Top1321
-Node: Command Line Editing1978
-Node: Introduction and Notation2630
-Node: Readline Interaction4253
-Node: Readline Bare Essentials5445
-Node: Readline Movement Commands7235
-Node: Readline Killing Commands8201
-Node: Readline Arguments10122
-Node: Searching11167
-Node: Readline Init File13319
-Node: Readline Init File Syntax14473
-Node: Conditional Init Constructs27426
-Node: Sample Init File29960
-Node: Bindable Readline Commands33078
-Node: Commands For Moving34136
-Node: Commands For History34998
-Node: Commands For Text38123
-Node: Commands For Killing40850
-Node: Numeric Arguments42993
-Node: Commands For Completion44133
-Node: Keyboard Macros45678
-Node: Miscellaneous Commands46250
-Node: Readline vi Mode49612
-Node: Programming with GNU Readline51436
-Node: Basic Behavior52422
-Node: Custom Functions55839
-Node: Readline Typedefs57323
-Node: Function Writing58962
-Node: Readline Variables60269
-Node: Readline Convenience Functions70935
-Node: Function Naming71925
-Node: Keymaps73187
-Node: Binding Keys74959
-Node: Associating Function Names and Bindings79506
-Node: Allowing Undoing81791
-Node: Redisplay84341
-Node: Modifying Text88241
-Node: Character Input89487
-Node: Terminal Management91385
-Node: Utility Functions92821
-Node: Miscellaneous Functions95912
-Node: Alternate Interface98209
-Node: A Readline Example100368
-Node: Readline Signal Handling102271
-Node: Custom Completers108459
-Node: How Completing Works109179
-Node: Completion Functions112493
-Node: Completion Variables116065
-Node: A Short Completion Example129170
-Node: GNU Free Documentation License141949
-Node: Concept Index164407
-Node: Function and Variable Index165928
+Node: Top1328
+Node: Command Line Editing1985
+Node: Introduction and Notation2637
+Node: Readline Interaction4260
+Node: Readline Bare Essentials5452
+Node: Readline Movement Commands7242
+Node: Readline Killing Commands8208
+Node: Readline Arguments10129
+Node: Searching11174
+Node: Readline Init File13326
+Node: Readline Init File Syntax14480
+Node: Conditional Init Constructs28686
+Node: Sample Init File31220
+Node: Bindable Readline Commands34338
+Node: Commands For Moving35396
+Node: Commands For History36258
+Node: Commands For Text39383
+Node: Commands For Killing42110
+Node: Numeric Arguments44253
+Node: Commands For Completion45393
+Node: Keyboard Macros47131
+Node: Miscellaneous Commands47703
+Node: Readline vi Mode51560
+Node: Programming with GNU Readline53384
+Node: Basic Behavior54370
+Node: Custom Functions57787
+Node: Readline Typedefs59271
+Node: Function Writing60910
+Node: Readline Variables62217
+Node: Readline Convenience Functions72883
+Node: Function Naming73873
+Node: Keymaps75135
+Node: Binding Keys77128
+Node: Associating Function Names and Bindings81675
+Node: Allowing Undoing83960
+Node: Redisplay86510
+Node: Modifying Text90410
+Node: Character Input91656
+Node: Terminal Management93554
+Node: Utility Functions94990
+Node: Miscellaneous Functions98081
+Node: Alternate Interface100378
+Node: A Readline Example102537
+Node: Readline Signal Handling104440
+Node: Custom Completers110628
+Node: How Completing Works111348
+Node: Completion Functions114662
+Node: Completion Variables118234
+Node: A Short Completion Example132248
+Node: GNU Free Documentation License145027
+Node: Concept Index170220
+Node: Function and Variable Index171741

End Tag Table
diff --git a/doc/readline.pdf b/doc/readline.pdf
index c66cf67..93a7994 100644
--- a/doc/readline.pdf
+++ b/doc/readline.pdf
Binary files differ
diff --git a/doc/readline.ps b/doc/readline.ps
index 18ee7e4..0c60ebb 100644
--- a/doc/readline.ps
+++ b/doc/readline.ps
@@ -1,17 +1,17 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
%%Title: readline.dvi
-%%Pages: 71
+%%Pages: 72
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
-%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMBXTI10 CMTI10 CMCSC10
-%%+ CMSLTT10 CMSY9 CMR8 CMSL10 CMBX10 CMSS10 CMTT9 CMR9 CMTI9
+%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMMI12 CMMI10 CMCSC10
+%%+ CMSLTT10 CMTI10 CMSL10 CMSS10 CMTT9 CMR9 CMMI9
%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o readline.ps readline.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2009.01.06:1158
+%DVIPSSource: TeX output 2009.10.12:1034
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -75,29 +75,29 @@ forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
end
%%EndProcSet
-%%BeginFont: CMTI9
-%!PS-AdobeFont-1.1: CMTI9 1.0
-%%CreationDate: 1991 Aug 18 21:08:07
+%%BeginFont: CMMI9
+%!PS-AdobeFont-1.1: CMMI9 1.100
+%%CreationDate: 1996 Jul 23 07:53:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.0) readonly def
+/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTI9) readonly def
+/FullName (CMMI9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMTI9 def
+/FontName /CMMI9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 46 /period put
+dup 58 /period put
readonly def
-/FontBBox{-35 -250 1148 750}readonly def
+/FontBBox{-29 -250 1075 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -106,31 +106,31 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E3948FFB3DF7BFF10C9BDA4EFE5F68A8CB1526990D1357AE6D2F7C2D2EF8496
-4E47B39E6712EB8908A3265E5FAB40567E866C244814449F1E993AAB422C3F1D
-DFA8C7118584F2E5197FD4BFA3A8AE9E953C6CD4672C0FF51E41C3A919749C1A
-F06650DF4C5E17492164BDBCDF22609A74BFA7F69960A64B9F949FFC2A807458
-8579366C4F41BDE1FDFBCC4845FA19BBB6963D65EE8532549274BAEBDFF24FA6
-03235D1BE37C06B1938AF369DA75BF38DDBC87A1FF445EAA16E1895ABE9506B9
-211955753E447865D33CEF007391D2666A046277A30A49804FFCED3FEA5EB2C3
-E52EE14A9F75241EA10C91974CDA6236EB840FD44D6DDE4D9B3266C3B99BD38B
-D835BCA8CB819C073480FB972CC028D218F6A1D344CE1B63F4FBF2C826F412E1
-6E0B05A26125865A14FD7B7030B478BB8BC6BC395335C3BA940E1C348267F4F9
-0AF97BBEE253511940F1048E175D3569F7D05A28851B6F50765FEB6C9654FEDC
-1BF52F535DB5BB90C1BD5D2EBF75E0AEBE82B20507F3C28A03746781018D4EB2
-298E4F2C27ACF73FA73EBE43F014BB575AAD516C0407B29E1653375135ECB74D
-C91372F06FA8EF37C31AF3FA48AE65318EAA6C34830A5377ABB2DFA5DA53A574
-433484BA1466709A4B186761655C8E482833B697673E847C691079E7F1DCB8D6
-1AD91101D757B83E2090337D525AEECB028FB3C9F6A6E6AD2F322CFDC5A833E6
-1CE4EDBF41FD34FD61630581D222F854A76C2EA9FD72796A7C9CC1F6C2FCCD16
-E95CA05826A4ECFADA6A5FB83C41A7131E52BA6585DD6DD78515D8F7327DFC6F
-9404F89293D6ACB433CD0802C43F0E74C6C4766A23A6AE3788FE6CAE82E1A104
-BAEC8BEFDEFE4F292F625E60362F3886F602CE4121BF0AAD93526314BCBB5971
-40091A7BBF7EFB3BA355B88C897D9C70C841DE41309348751EDFFA8675215988
-49CB1599834A01EC6CD4FD813AFF97A614F56975775D5F48E9C1A9CE532FAEB1
-4EBE20C3FA87CFE03664C428BFC5C894668E507950005BD8C2BCA8998C1FB92C
-4E6B791BA05B79F332EB8AF5B0F851B8B7EE372EC0861B09C007CDF43F82D0B7
-35446F682A0DA7F4112CDABE4F922EACFCB7B8C88BF550B60957E7
+9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935
+86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505
+DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD
+67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF
+6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554
+FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7
+22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD
+730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F
+449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7
+97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A
+E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C
+AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA
+A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599
+B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B
+9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E
+759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
+5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
+BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
+3435E9C9445A59A7C666418C4F2512C32058B1CE1EA46C7839C6E372F6CC60AE
+2CF46DD2F130B532DE8ECD42D9204500E413799E298CF6426F28D23BB7216BEA
+1A618B3ECC61B44DDEF0BB22D640B47C09AC0DF378CE68FC9CD88BDAE9ED89CB
+431A5CF9C3E9528FEE7A9936C2B1CF7B38DD2B95773F0EA0051607BE1B0B3588
+A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433
+30AE3C094654ABF4698C07F8C74E71D023DFD242EE83B1306786124DD8C6BFA7
+801E66CB944BE7EBCB3FE803EC97067AF7AFC8A4E9AC9D11
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -715,6 +715,602 @@ AD48F174E44AD17C66B96DFBB9871AFC5E
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 34 /quotedblright put
+dup 36 /dollar put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 96 /quoteleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+dup 124 /emdash put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
+0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
+B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
+AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
+97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
+FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
+20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
+0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
+F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
+3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
+A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
+5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA77428025D4059BA
+2988AC2E3D7246BAAAFB89745F0E38580546045527C8779A254DB08DCC6FB9B9
+0E172209FBE3857AF495A7F2B34BC893D942C145C2204CFCD6A5C69FEFC25B60
+E412CB2BEAE7F7FAD03AF46344F6A7D483BBB1E896BF16B0F4C363799DF23CE2
+E8127996DE841B6F9D8A9E56BD799B6A938582988AF87151BB8D3AEA85C49857
+DD862B5E10D9F33D57795D656FB616BC9B8397B3612131A2B0F472656700958F
+739A548F7C3A348698AF9F6F9821D7A9FD4131781ACBF7EAB885A3AC254DBF94
+02FA697941A0F97F048861788BEACC20DE829764413CA58F9D045A6B38BCD6E6
+E4827247EDF1171F64E3B041A69B244308DC07F66643FCD7D5FD37F36EC4CB5F
+957D4ADAF91850A3B1A765E0E580EDC77556593D1B2E1C22685268469298688A
+45C474C9D0472D019CE1E83F25182D084AD85A49C502E8D679C227DA8E32045F
+8055D1622C478F8FDA342685F858DE3F53F1CEA0D70BF3FE09037D981E9E7FFB
+BC3F896535D0DCF53F4C85A1DA5D0B632484D1F25460E3EB38E251D2AA17817E
+F3B25A2A49C0AEDE0B89E277F52CBF744EF0243C409FD71FB0C574640CF11599
+117A4F42F27D8D282D34485AD116F7E753A8DEBFDF7C552A1179C02B7A37782B
+743D0DF85C15A333BE9EE82C13DBC9CB007DEB5900954AD9309902E08B3D5BB4
+E8414211B971CE8B9F05A61C15F400D9297745F606C6419E8A8A9ADCBDC39243
+617EFABFDCF9F836D14411BD72EE19D0BDE89234BF7D52E7A68ECC952FB74FE3
+33E1A87DA39AEEE9E90406E2B1CF3799C63E9BA858D54F38918B814C0DF0B696
+839C820C26FB473ACC5C08E2056457A74123A398806EECDB427BB183F5458105
+2B66D7E1FC3529025D3243A045625E9DD9417FA089B3C7C394D2B65C0367FF73
+79F17ADEC6B5D27A5D3D3E244A0839E38267ACF07B2D994C2B4E7F30A416EEE2
+D1688F167D1641A72A795B1F4DA3350F75AD6D546AA118B5F8A5085F5794E6E5
+28256CD31D250D8328C9620B8ACAB03E4A33DB4595E959F4D0FB1C8CE85A710E
+22F1940067C036A7DCED7EA48F1EB81AC4735FB26A249A32AC2E3E7636B32D31
+7D76FBEBA106D6C67C94A3BD4256B786B71C6EF8D191CA90CAD8D2EEAD42C6DD
+8BB4BEA7DAD4ECB6E002F3B71C2955A5A401E34D55F755BED68178C270109BAB
+FA0AD848347EB977325530B27180661A59447D7DB55A62D65309DE24B6638986
+1D3A539BD37E74C2C00DFED3336B5C6B28D915AB7188FFBCE3ADB3CB903944DF
+1BA5923A1C053D4682BB8616F44E81E18DB2B58298F4B1A6289CA993DF3E7C73
+B00DEA3A9B747FEEBC4A11E5B9B8B05CA2709B8AA935A42159D3DE399544F5AF
+AC1CC00F6CB94AB69856078C9A2EB2046BB9055CDD6A0622112F7D3710143F1C
+20CD8DAB4109CD47BC00EBCB88314081C1D6C43132412F261CE0262FA28DB7A3
+C7D8534BCBE1A60488EA230DC558B73C72AE87539A9D7E28C2BE05FC05F58DDD
+87117C0B5235B1486088B8368C80ECE70DC07A0493C32B571F6D6E5F3C7556B8
+79DD18A0C09C644C1B0A57E09CBF8247A97FBDA9442DF87C99CB00F959FE4925
+8FE8B3EA62A6C99396CEECAFDB091CBFAA0EA6F25BE1F34B1B8EF507D2347A7B
+866CE28452F7ADBB56F4696567032BD289B3439D6CB90A602223E00B43CD2585
+4D598BE43C0161BEAD813870FCA3E377A588C3D24667846301D1BEB056315636
+1304E2CB595B5297018C0ECD1BA4F8F1EA81B4FF88126295CD676D96756FB9FA
+C97CD2A8574EAEBB0A869C527E0828940C613B9D45894E4667172D841C94410B
+FCC5083CF850AEB2EF92BDBA8DBA361AE95B267FB5F90D5EF8B16B2A83568D5F
+50BD20AC88DE25DDFDAAB7B2F7662DB99E20989C7D12DE04057FCD2DEEC770D6
+535680D13ACB557EE7AF8DEBABC3088908943E6E3655C3C00ED022B276FFA5FA
+E6E4ABB96A214908EA899EC925E67E86413840A67B3FF86957586B5E06909036
+B9987C5BA21E46DE7919B382CFC4740ECC794A6577BE33CCB94E2E4BB3F28BBF
+AAC6E68DD9B01A59A7F3B964F53F41CB9BE94CD44027868F079324B44C595200
+0E375B069FC085DAD5B678ACBBFCCE8916C4266B572D89C0A7B6A26F1D329EA7
+63CDD44F37932CDC9C89C724AD52BF91CA68209471F26C10AA18CBCD1288460F
+9EA9BA85084A5F34451044B81559DBA03F03292638C28A704C553CB25312C568
+A06C9F5A764BA025FD48883244E88F1A31ACAE83432C2B837D034CC960EDE3C4
+2234FFFB8132473C8A750A41770EC46F9B2CA7FDD937A2C8CBF5DDD6162EEE0B
+36C53BDC0D2D7F6D38DC2F502755B0D25B0BD1858A9B16BA69549B5CA4673F0C
+32C5F1BA97E1C124374037E0B8EE94706B3B2AEB9CEBFF69E4F107BABED996B2
+EA92B4D94AA267E626953550633A74099022786C172A323DF9D903A0DF6CE486
+38AB2B0CA07D5EEF34BDE2DB5F539BEDB569F60005A3317EA6B1560C22606B8E
+AED6F84526090E626FBF48846E49714EA80C90FF66F82F36F3151B580DAFFFA2
+668B4952CAA66C6F10A341118E0D58B8CE34367BDAEA79645E27059FF2A43D2A
+435ED248345B6305316D1DAC5F75787D8E72D0D8C3145C0A1E45B201382EB716
+D06C5E8BA78B6F32B13F80E7EB6909D2B7ECD1420BA2B2A88C0C3154F3091065
+16A79C898C1682A98FC2A11A2B8D4536D74E6E228E5474090D42CBFE3BAA8029
+4564F468EE59B2E2BF8B2429634898F21C31812394AE3EC0CA8CFD5D5E818F4F
+344FF40488F06A48E9879E42F131DE378A8A733C6016BBDCA24B10B385BA73D3
+DF4770685FC7B9720D196A9FFF978C10977D37D98F11A3255486C8F8C3F67225
+4AA8884C88A3194EC1AFD2DA57258E30B057490A10AEA001017F06C83255C0AB
+13AE04B86FEEECC7F04A593282501423D319CC3FFAC3691DE723F71A6138EDBA
+F1373C651464A05906A2F370B0862F5E5CAA5C9570B7D5F9DB24FFE4A6C6B98C
+539FFD61F24487B2AF446467B1A3CA16E9BB2384972372C90DD930B8DAEC0FEA
+7C2692F029EA687E29EADEA6AE95F030A8DC599C8727F5CC41FFF86EC7E2D04E
+E1498E0AB0D2719E08956A68FE7E92EBC6945771DDC13689CB68D39EAF73CB2B
+DC8BAECFD1F721BC66D89342D650699C3364A2D0B35F58E4CDF2209512224472
+8920B0079AA5355990733CBCB8A372E1EA02B9DA4107F619968075F33BD123CB
+870D0DF6B22E6DB70F1328532A05BD7A624CB7488034E94F3622F97636CB1330
+FE3336665F27AF77FBCF01A786143F0AA892E1B2CDDAEF2E0F33E56F179CBC8A
+72973C643CF217828D892C818CECE72D0E89329C6A9159BF17D10BD3BB4A1154
+997ABD8127118AA79BD792292B6B9689D989258CA9F57A75C4C9CEADC338DF07
+13081B667C8D86DEEE5BDCC47FF96E2AA5B37C365585747EB3B664F08CC7ADAD
+B42D1B54096C60AD15596D7DC585316A36598A349E89242274B5171A1DE841CC
+30A5BE43B0ADB71C3DDA25650BFF704B452831FB06A7DB0D60D24436BFE23CC5
+AA68BFEE0897140B248E4A9BE7AAE37B98A54CC1D3F81164943B66250D55E554
+55A688BB9E3077FF8D11D1BE1C3FF99DA01EB206AC5AB1D394854DF5CD417084
+82BF6D1DAF88698A69DC196FA9A3285AAFFC3441CB4297A48DFC86B29490F2F4
+B514AE8F3D4C0EF920791371BBDD1B6369C38A90A2D2AC06B25781630847D6D0
+87B469CAC111778CEF26FA3233A85044965F3862C83F63CA2565B9644EC15B77
+BD2BA08CD8AC3DF1E5CC53CCE496172A18627384CD54595E3BE1E7D1B9751C86
+D6AD3EDCC725EA4B09BF3B92ED658356A3424F1B0D07B6E11B8E1D4823F5B0C8
+F3EA4BFA3DF77AED89D464D29BB2326ED2DEB73E327AC8B2C99B73DB70ACEB0B
+D0FD854CEFBC72FB9C906B4DB9EA35BA8018C623987C834B63E8C800A30BD551
+011F6E05EE76C26ED2F335E32BD4C866A57BA7AE89ACEB1066E795F122E1BBCD
+5768F2DEC922EFF8B1778F4FFB7BF1B6253F632F8D98648B81018D2FD4876974
+8C818E01ABFB557C8553B98A512241000B9DF64C1F5784343314B7B3CA04E506
+BBC612628AEE13DA23B3242AAC3B05244D3711121D5C9AFA8EBABD2074DD3658
+0F46D501A2CB11A370EA7E38E3682A31F5C47836E9CECAFB1BEC80DE889E99BD
+8F4DB78DBA5AC5D764EA99237738FEAAF199DDA7236D22B07D22A8F6ED023E44
+1828588397D723FB557CD35C7C5C87BB64E4A7F88B03FAF135ED0F185F7AFA4A
+F498B226D6D843EFECFD9029122B15065A4D04B509A8B633E46AD3D15D4F9EB1
+AA41E4694AC4DE0613B027E35C32935B5F0A9C21F5F60B9DFB5FAD619A35AF19
+20C0A1B2490E8E3BDACF27F37680BB32489D21F91603D4BC5FE69862A1A05F10
+4C11FE5744676C4794CC0B7F1AC1DC9861A247234FB986A0A4BC5F8F6A3183FE
+3A6FF5ED1D32A711906031CFF6802B5455CF208787AE3A35B1D437C64E5A3283
+A1B87F31D6B6AC634579FC3145035BC5F0B454CD9280BA3509B890D45AC7EC54
+F8FCDA7E5F8AB9F8201621417E17FFD8CB7BF55A6D9B21F95C403AC0112A94D4
+B7BAD823A1E9A5FEA956B08ABF303A917B69C8BAD87E685DEBA72E62AB132F46
+521CBA0C7A96A833AFDB396E0FEB85D3EC605A4EF6026C0A6CCADA56A26A8FDE
+18C61D26C93DC6E15F1B5E789567E833E79CB85580CB50A68AC93D9C2454861B
+487A833774E205A73A2932D0043759D5978921BB5B499BBEC5AC6F505EDE86C2
+8B8DAB630F36128B53BDA72CD82A3810E94C6947C9FB148574FD25E8629CBEF1
+2AAA7DD33D1A83C0235AF9F8FA00822AEF0A6E9DC7FA79B3872CAC39957D746E
+3F05C8EA69F0BBD0D96DA2ACA93E73FDECCA8B35D6CD52C464C1A51EDFAA83A0
+54C236F0064B7268C7DF4BC1F97606D48D6C8739AA2CE28CFF1B4986B4CE8A60
+D8DA6C67A6887CCC3A0A2790FF5FA00120D15C26E8D938D524F355FF8212A689
+D34269669DF03F1BACCFE834425972EEAB399EE578407F9550B93D65E63E3707
+CDA159B5AF4B68ED52D389CC6915CF7B0C737514EAB05C947AF32D67CC36D782
+C9F73B32CDF11D2CE33E8C3DAC12AD070D0CE9EB3C209D0830C0665DB9F61C35
+FF976057485A32A5A41E7205BCED4E2B9D2011AE3FA90ADFF6E3C58144293A55
+E25C6A98BA2113DAFB861F0C3544A15F5CC20496FBC58F1FA2088BC67334006E
+2AE3755CF0791FE82E8620A5BF3B487F37DBA3ABE1709DF21745CA7D7CDC0AF4
+F33FCF3672EF5ACB540CD7931FD18F815422B2A193C9AE34E626020F9AC0C36D
+4D5AC1137C75F10B42E2499DE914703C682806C9E1D158217C68329CE401234B
+462F92A35F20858F5FAFAE3062C57ECEB930B762880A982A8DCB7D010383A156
+547310C8BDEEDF6313650A2FD71856131E24F1299C8033CF49DA9BFD013F64D7
+2B571F6C2E0A84FE62F060298C654E068F0B8BA453D5F94BC89D3B5053721731
+AF5CCFED84B7F6CEC60FA31F84644CEFA02DC2323CADB246E64DE08D9BE4FAEA
+59D1652DFE1A09C41479C3CDB577942334F8C57545BD883E0AD172CEFE546C21
+5B9F63E32980B1E57B0EDD66674C9D919F6E323DA0A0CB8788F031BD533615B1
+D27320ABD6A1147E3200322DB2D8700B3F1F8B19E3C5B67842E84469D997B702
+0D8DE8894F5422DF2B9244C20186597587D3852F34ECB21E5244EA9C8596F0D8
+6E4D7353C7F6ABCAC499D7E34CA7E7789A54D712AE69DE15F767F045E637DDDB
+CAEFE413AF652D849D58D52DE084956D177AB7E3A9146B8A56BA23CB3F734298
+88C66B7C2B084EF219FA08BC87443FD9D86BBA351427631D368F514C7DAD7329
+DDCDCE8311971D746FE79322097E7F676740389F17B11587086942024918CCBE
+80A60A78D96F3CBB59CB81BF5D8028475316D96E12248867A3F23A859F8AB547
+B1F06C1ACFED4AB83378932A253B8FF8AD5F44BB4EC7A7F025BBAA179C81DBA2
+049053EDA32AC126C4F222B5FBB1119C7BE3F4BE0E9A3161CBC5F4842E6BD743
+11903130004FF705BDDC0EE6C1D97396904B295596A226FECFD665AE0A6F7EE3
+FD51F370008D1697035CCE907243038E0B0487A6DD63F1ECDABCE1A71193FFBC
+6DFBF1726156A4E9710C0D272A7A351F8FA0C2785BCFD0BDCF1B4250675B512F
+997677E512B29D85313FAB6F7FD26B402E1C4B2E270E264422D1375B93EA138C
+171557C70A07C8B330E0C0602949C60B9D921B33E906ED3858966A640367C505
+2E3D254C1C0C63B3F831C9D2AF2B2FA6FE8B663F94B72A7FFD63712A2C4422B6
+6E3524B5AA8D2EB9C7733BBF2662B64B3428EBFE956CBD500DC71A4F4CDE8896
+2EAA65771273D823E8687E2FED6A26D7DB98DDBFB57670278897D2AD553D6AAF
+6F1117C4F894AAD44F53348A763289BFEB2E9DF66DB921E402279FE17634E0DA
+576F0323E1F849DBB1E7E56D0303DD2C81EBBC192B5F8C13A5F5028D64DF153D
+C7E4C2A59A3E369D44F346BBD79A4AE4930E3249C1FD5CC8B4FC6C753ECA9326
+797F25BEE6BC66E125AFD247A2CC2F61A47F03DB682F67382B2E83312D1D239F
+39D8BD6C3256FDD8D424046A289D17984ADAE316FA39B743B12419DCC3C8582C
+EF6BE8C6E7A091F1EF76C6090C15A7742C5F66F66A69DE863256574491B422DA
+93F4B0B13E69B03D1A92840D80B39C96A535C2AEAFB579B9051CCC67E32103F6
+21EADDFEF9CEE1980D3F86DB452B61200C9805EDBD219E812F22AD612B436E28
+D86956797AE0FBBE0A0DEDE4340B51D2CEB5127FF7C14C85AC55C55A1A9412B0
+1471CDF9FE7D52A5A069669A9C500FABD920863628E541893B2692B9D40CF391
+69C797742BEB239A6FF37CBEECF5ACC960011BE1CD35241BF35431F902EE41FB
+5E89FD3C7FD3E7CE970CEF9A3BA9DB4F10945568813D4566F5939A7CF94CF2B0
+97E9D335CAAB09BBDED1D462EA787E5FD11A63B17D75882E379B490C5B2B4440
+FCCE6CD6EC2F4C21D5443E6269734EAF0A61520285791FAB0B421D5CEB2CB165
+286278D3F21045ABFCA81CD9E50A733CE516E1F4C494FF072C50FFCE2D746CD0
+0D28F9EB6CB77425D0F4188760F61C46101F21215BB89FE5FB9684F2E9BADF1D
+8078D29B3160EF63A74A19E17202270928654B95413DA00FF89548F30C8A2146
+8082CFAF97B44733C420572188F01731535A0F5609CE44AB565563B15212E835
+10E5EBA20E3B1635B8E08D85E8D282D51AF0C5D8B4526EB0D43325370644445E
+087E067A1EBE6E9C5A69D8F2D32E2960FA2B26B582A4D2D9AA1CC49408E88CCC
+19C63FEC3256F43F55CE38B3F2D7902A4978918AA2D9D23EE839BF2A901F0649
+856041B1F62612DD6FBBFBD1D3645ECEBCA6587080C6DE11DA4CC9F8E08758B4
+37D559BA464A49A3AEA6373DAD44C615496C71C41080F4357FF2ED23608BB448
+FF983C196501096A58EC0C0FFC9BFE36C735118DFA981C69365EC6E543BABAEF
+0515AAA6E8E34711747D586A6CAAE1D3D0F2EE85DAE124D93A6EDB408D9FC825
+7943607554B3CBF71A9843A76A69D7533865BE78F7BA15316360CEC333F0326E
+EDF8B884A60A0E02401A2A1E3C18C89580C030AAB8B94438214A96EFBA9554F8
+2AAAA5C653E94FE70BC18F998BCD6713AE8A087E37097C36E06C1E929278F668
+4E6B169E30196E373D89CDB6BDA65989AC54ABA2678ECC7EDE24AD6263BB0301
+012E31B2361D62F8E08528558CBE40A37939F09069F82095379C56C31EF2984E
+78BBA233E706B9575A245E527CCD6EC11075A3FD2623B49E2A68EEB68030AE43
+1D7AE54192A39C52BBA92FAEC3899FF0ED859B0051537F998743B6C5F2DC99AD
+FDBC65E51D3E82B70CEC3EF1C3645ADF893C3C5F3D25D51CE54CEAA463F8BF8D
+EDC3CDD0422C12FB34C87305CD11F0005B4AEA3E9AAA000546E4383C7B8629A2
+3372E0E857C5A9F564E6FBCE49407740873A109A2B8FC581171B6965DD349786
+E547781395D8F3E42E99BC556A41773DB2BA8AA0918081E4983B9F8B43A15544
+8D15BCF336E93F8CFCE6E79940A52F9B7067C2C8688F20F842B2D0BC02DB70A5
+3074D0CA85BBD01D6D91B2722CC15C866448C91ADAF9EB2D2A52F08B39808E43
+2A492AEFD45480EBB07C4182CD6DAA9C26A561B83E381594A1AA0364C4464AA6
+20621994D2B64D09B7F460C2D6A7C264D89E4415A9E54A53CC8331A3D358BD14
+4894EBA4DD7AE1B836E2C9246DBB0800805683A11DBE420BA989837D86A1A600
+8B669C7A7283BB9313F045A08602B7F98F78A059CB086B5991F761CADE8AEB86
+5039C35C2FD564C0D8CF404A5F32D7C532716169EEB6D08C8CE5BB357E4CDCB1
+5FCEC35440433719FC19DEA55B1662309EC85EB47B323CE2EBA56D17E0A88175
+B2FD7B59B37F7D48FACD52A7DA80BC296E62D60D6C5F251554138DDC4975E308
+2F9673033F0A255FE037F16CE58A3EF652D3DDE2AE7FD39AA20E88FB0A7B4598
+02E993D6550EE854A5D9ABB3B15BE396E3FC2DEE919D354166BC1A2519E0F2C0
+228998A7243FFDAE507841771E4A88B610F1D390F7898CCAE418C8CC15A4B3A0
+9B74E01AC32BCBAA020C99B6856952158F866E0AC66F171C3A3265E713094F71
+BED491A2ABFA737A0EC17DB262A73EBAB9F8F9E96DC7C5764B92D15F5C967CB3
+C846C147DF1568A68BE099D8E38B5A9FEDFC66CE2AD3BBAAFD72AA51D6C08A32
+AD54AE75530267728A9EA3244E8C8CF67C5A28F67068CB4CF90FB76F280930F1
+893C952DC2A7ADE38C692BD19FFF63383308FC2873CF241C1C3D1ECEF6B98CC7
+287D9F5F0C61033CAFA9739D9941AC833A194E67CD1B9CA1FB4A02F0A53A814B
+565CFDD9CDA06303ADB599D6CE17A7F6A81C13040FB7D6E98AEC4BE9F88F3B29
+FFA880E8CF8CB6F4FA009C4354337A43DD077D40C993A9AF66D2B524CEE5FC0A
+BDF03740A45C0CAD814E869D435C61A964D0644E93C6F228B205ECDE4EE59D67
+C35647FAE9617877DB23272A9D777262A1DDCBB7CDCFD2D6136FF69C000F9B29
+DA30B2A654C27C564F113FFB52CE2F6618EA1C8102FF9D93B0AA2C936CAED8CB
+1A9F2FA71930351D74240F88DE47423EAD67D66C20C8DE2ED00C94642C25630D
+4A60B8DA5362D00F3399C6796EE25BB88325E11045FB6E00B72706257BDDA2E2
+76C77F6E0030906D646D759447343EE6CDCF9A61CF30C1392BE54A0F5951AA69
+461E856C4A2921C859E03E13AAA1D6F563D5F62A66065F36ADA9A08A697F53E0
+249DB7965E9312F46A18F6016684708F397989B1C291F63C491B48A8B1A51E8A
+2C1DB13DB081B75784ECFFA1735A0DA6D443D7BBBF38B16874B57891E3C28A04
+C21978532D806CAD99C9CB00777FC2B9582CA68D285D0488B5724B9EF603D4A5
+4DC01291C0AAE941219EB99398C6051357DF7138324625A4C244A3B127BA85E3
+08C8272EC75E848D984E38F151E9C0D46D1BAE4648F7391B59BA76038391F306
+3E8E72B0B557913A38CD6042D2ECFA192A5124B9F58C887726C72C5518D3CD90
+B24196C04E0D05A6B590E067B17103BB36AC830CA181BAA072B137A344B7570C
+7EAA3272A774A58E049F71DC9DF45CD22B1452A26BE34A5179221A01FC5536DF
+BBB94E93BA9EC169BE596336768AA8C9A72C258B8A8CE7C511DD923193D886E7
+F6C33E5FD68032A5A4459955FFE76A8D5726AFDECF42818BE43F03D2B4B8958A
+38D94568751E5468A1322EBF924C7B587D732486DF8E309CB7FE20F64C6A371D
+D62BF5A33B49DD267AE4C3F638A76BE6DF49B693D40D8AE1E9F0C0B0606C84E2
+A6868B4F700A6DA1ECD097C96704B17DB76621FF4876149E6B2FFA89D38D8F3C
+1026401F2CB949DE9313115E6626B26082B1AD94D0C1F8E7B907B3676FFEC9E2
+E31FAC5504207CA741486734336521C2F9BC91AF257472E4762966AC19A6E89A
+87644A22CBC9FECECD919E513209FF439E2E7F24AA80B4D3C940021C23D7A921
+1B6E544E43FA00C4540C73EB0F3B8F352BAAE6CAA924C1F09C6EF7DCBF4BB88D
+0BFEC67C79B6334A4A0E6099A460B57FBB845831ABD0E83BF0F92491ADDE5526
+E036C58BDF78FE25C55B9580F6D02F2C2F7D77399DB7CB4B8B8E037538D2BA64
+BE2BE4697B87366CFAB5A92932465689775FBD9F87AED9B53303DBC13C0C13CD
+B549FF2D8C8C6C9082CCBB9B6DABFEBE53A85297555389E5A08E47F27F62EA1F
+11915A06C9A1E82C37E4AC72B009B0CBEF25FE046FF9FF20D50DFFA97AD9856B
+B51EEFB3DE0472EAB91CB0B51ECF29EA2025422B31C811C3E449416B8916C2B8
+63E9E4A80F9EC738B81A2A32BF196875BF8F52010B1DEEA25BC2719EFFEEA0D3
+A3AB794058EE49333468A3CF5D13336431ED14CEFB1A2D067AB3D2DE942D9DC9
+C0B5CFCBE9D9A4B53D9B2B19E28F5416F5DE29E73156516683F169BEC75C5344
+D953C9640552267E6CE554C418773F06BC8CD88084C60F8D7F37523922B4D49B
+ADCC93A64D0C92973527A810F6B0239E5525A6BC6AEFABBC8FDF0B7E1B368A52
+3620DEEC31E00D6CD5F02E1625A571A6129DC18333B395D4680CF6F69CC6D359
+4C444307FB45B09509E36E0905C7B2CED23D9B48FF65F31EDFBD2073F718FC34
+99FB4A68B4225D12A42FBB14D7A3FE9D2CE7DC8925E6BBCC4EB53632EA3432D7
+BBB17498259DC19AF7E6CA3F124A7B39BE4C9768FB49748F5CCAA3D1940E0A49
+136B3F49025B2C3D09AC6598844D9D113297A68027AFBB1D8341FEC07FF6CE10
+28358FDBA753264E7865B5B311532DC8D16E6E1747E53D96E996B9F27D9CFE93
+460158DDB6708485029D6F31729805DA1F445C629D5A7048F06D8BBBC6BB69D6
+FB7BE6BF7FC02EC0B33462CF5C756F35AA56886688B05F6A417B8BCA35886256
+8EE314686DB5BD49E631AC220C299A8C5D6ABB974C45643CBC589EB2D0DF48D7
+F59EEF1FEC4CCBEBA797DF168D1D08EC7467E7C35F421BB6BEA0E9C4846A84C1
+70FEBABA787CC46391393A0B99EF0CFC33730140696B0DE9C57E90231310FAD9
+D67462F55A56D9666EC08AC424E940CAEAD58503911C4D80FD59CDD5182ED504
+656628B1851818197DEACC842E943D5A2B75B5934E8AED3E67529FB51E625A14
+4D91B077A53FD8C69C930C677497A36A6A578A639EFBDE481EBCB80536C9CB96
+0A2E54A15F6940F4FECC203A440AB47439C9FDA12A9D78B74325ADF44010BF40
+6A5FB9C012E07A557A60326983A0802424CEA244DDBF66CDDF918B30618F348A
+8C5086F7A7BB1A86C7B4826323802701A584D17C6E19AB720CD13D02E8EBCE16
+4A87BEA7C6B76D05D49CDBE8549640FFE6124D2852A00A46768FEFDD2DD5B60C
+3AA80C3839A86B4EFB035B65E1236F6DA58BBE2A9445311E8714C82310E6A0D2
+E926A3D18AC3E7A8F8A61AAE5ADE10E43116C105653E3A03E895BB2F7477A0AA
+F1E481B4F1B3BC9DB099E60681EF3B0476D6E84DF5ADDA588E8320B4899D2D40
+F8CEA36C2039AE832C87644E2A3EC19AC8FECDD575364238524BF5F76ACB02EF
+094278DAC561F700ACE728478FBB8E0C192795AF982216E2A4A3488D6A4BF06B
+AFB8F4EE78DA4FD96437A45C1E1F49E83D6E85390F8FF9B8E487AFA6184FA430
+2A3E13C59C88E3FC8ED9102D485FCCA463197A32821988D1C0A7A86620655DC3
+DFEEDD33B3A1F55CD5599A58D0F4A390B69137D947897DC448A8255A2521EFCE
+2CA896955E05BEA3480166F9FF82F1B145DCB56B6872449335275533C38336F5
+4C49F40D0FB04222D14E0AC8057580118B1EB1DD43A8BF334763BBA198D851AD
+47F4499A2922816D2F0AC1956B4410E617201C82FDD7761C1A0C8AD025FCB1DA
+9A0722266E22C438C10275CC2BFFDBE726084F9CBAD1CA9ECFA072EB5A317EA5
+2A8E39F8794209B978DDF404FAFD22831F3F53356401FFB85334D339426CCFFE
+0F869606955F20FA055EE560B4744730EEA18CBBDC134644F124B714FD43653B
+C0879B820871B8809020301A71D37A44252491555D9B6278A9070C088C0A80D2
+BC753160E83AF282F3DC077CDF610A18A1A83D4920EB6E2A2B73E40BA112F78C
+A18A26ACD11A5D4E12C67A631D4928EFB809640F64571E5605AD4BFD3D00FFCF
+FFE4FF9FFF1A63002175D401D4BBD218F40B4C56766A4FBB93741F9D2B746F78
+B062CF36E60973FD3D52810750C06C73CC376F5291442A4EEF4B2842B6317CB7
+E1AE735793AA5CD2F927E4DAD0470D0A6612E8C0557245213B0DC87DF4B9CD12
+60A6FB3955E007041838B667417524FED98D5EE035C212C8377A6E2393D86DCA
+BD5092520A83CBFB978D2EEC4847BE9D4365714A5F36B343F87F1DBB1E2759ED
+78EAA5491A4EEFB8FE1FBD10112294959C42FA664442335E521CA7D7E7BDA468
+AE36FFEDA896738CDB3054025485FA28A071C96A003DF5A940261ECCE471616C
+A5B0223E7F435A096B90FF8ED7D88FADF050BC4C4C1FA51D4D389BC36E9D5D70
+9C38800E0CA38D1A045586E46563D855E4E6A8482BDEC35617411F8E046FB838
+1F745325CEF7AF2EF0D7F912A34BA6CE8676944A3B12212CE7AD55539FD9179C
+D8BE8CA39C9EEC948BCCCF2ECCC8F10DD4C8E99A5922BD9A56191C4900063DCC
+C3BED41EF16BD2BC1891D87E5DD05AF7C25D7E92B1BB87D53817643B621BB21B
+EA839B295433042A7E0CE294C031A4C460F05D16B46430445717EAC72766909F
+9008EF1F3F8404DD56B1B1F90A06D99859A1C45F7510B9E7C6929BF9E54053BF
+95B4911454183A5F2734C2CC7622ECFD0664B77640C416A1DA10F13BA0238C25
+DF6752C9B793F8FFA012C6E8E2AC81DDD9E402F42DC4CD6F290BFF4B9C633E1E
+52397F385B895FA3DC7471F3EB97244EFEAFB11BA92C994CFB511D7532304836
+151A4087F1CEE38AB690E1DE2354FA2A7059F42982D0CFD01BE3A320FB078F2D
+7947E9A5C973DFE340D0A742170386831314BDE9D67134451FDE80E093C53F37
+F0FD8CEF42FA08555757888839D9DAF23A735243EBB372A5C3230B1CC2F3B5C1
+C8C19CB3C3E9B1A42D0B314E778F7B3F24C8D61375FA725B40F561C6619D025E
+899BAFD602833506BBC5B6EC86A932F46338E7E26EDA743CC51D8E4B3944D186
+7EFEF666F9AE87E395FB9DDE9A936AB87B90771BE94B784B7584D71827874DEE
+03B55096CDD953D93FC0FCD7E878A11EB46A10CCCE040A90B375995C5FCBBB27
+5D0745BF763C61DCBF193651A3E36A4112F823B5607F418AC8C41B51221F9E6F
+0E9DC72ABCAC248BD8D83949A24D33DFEAA363508C263FF9B222347DA08B99F0
+2173065BB9240A61135E38D461736B04BE918BA150DC90043306056B657D6CA7
+FC27151322B0F132D91C0BD0B9483A6A26D84882095E20127541BC1D93B72AE0
+8A68A5DEFB35E50B37ACB926DD8DB96B910BB6F315FDBAE48531574B9ACBB438
+D1ADA41812A752E9876AB76B31CDE8EFDDB0DE7AF97238A9DA0846EAD39DB2AB
+30EB7D7F61DB0876FD294E5E09916F0C79417108B30597932BF1C81DCF5CE0BD
+2D65C84441D6354A9C8647D740C1B450E5DD3237EF9BBC793F1148155C0F950A
+405BFE9BE30D9EF9F8812279F71B30949F8640E9D0E5B6CD133153B2866E7F35
+78795EDF42FAC47913A9083E7069C4D4E6B0642F55FB481E7004DEA3C3C86177
+A103AFC8FF966BB958BC5EAE139870EC202D1BAC713AF4E3F2FB9594D60E83F0
+8638980BDB2FD061C867E748420E45AFE685D27A2767D31E272B43EC2DDA5424
+AC17EB9D1C7CE94DA05F741F0F635361325F227EC2DEEB5A3EF3AF4FF03F5FFF
+349A9571CA07A944C3974706C1E1A2A433F76149A1E33322E05335787A99C9A3
+98EBC8894218611339E7F065F13C02CF110ECED530FF12350140A7BC7BC810C8
+F17E870225D6DA162362C5587A4A13F52E9F92E31D0DC959DA76A3095661D000
+25A9EB458084039E445529C5A08E3C66FE115D2FE1CAD9CF27315D440FD45C76
+464970D0438E3C1E5F9CE9A9ADA95C5584532C7998063FC7E4E4DD3248148EAC
+10DD976E786084D5CD51D263AA0B7B5F0C31C1A127E03CA8AAA424C6D31106D9
+5788B85D5B2D4557615AF4B1CE34CB66F61AB005C5968756539C44690C3B93E9
+0629165F9377A1B449E2D07356E10DA88338F5B16EC8DAEA544ADED4B3EDD716
+550D9103F3F97E86181B8379D37E53FDA0557BA5EA231B90655957080E0E6DC6
+114D07BA1C9D1BACD0EF6F7997BF73482B194824A1EE1A39A6050213FDB4C820
+FE4BDE84724041C6F51287B7AF2E7A19558AB32EE2DABA726577787D5A136434
+427EF025B3D99F7B916F17AC1382994BD9DF6FD023D2AA72437FD509F55D5EA9
+189108B7934E0B0CEA9E956A000C5E23732E45BD1762961EFF36F7389BA1BF85
+312959449D0751E198C9C34E1081CD049759573217FB73F6A7B0348533F2D942
+9CF18688587980A65F512906C42593767D8A08F81C62E42CF85B92366E0DDE12
+0B04CD253800423151CCF040354A70EBF850C23013A48ACAFC816C4C002D0BAA
+0BCD2869368C497129DFA21813D2689F3EDBDA0956F822751B125CA6ACED9525
+51F85272D896B6A12EB9FB8579DF5FCE686804E3D4BCE113B5FD83478861553D
+75E11E30471EC3A76C5DA24F5BDA4C5A8B72E93DFA470B7E49CE1F960FD3F10F
+3E0E32BEBBB09244F091ACFD721B806D00593A925F97DAFC22C86BB5B0D4648B
+1BD0C32F5EEB7A3CD106C00015CC89B0D2677C7B4F2D3D818B40336B24D3B7B6
+77D03EAE4775C93326F7EE747CBD71FB65A2A2EAC5F1D03A5999C5689B099127
+61A2F058BD984FA3D2785622909A03EDE1A209ED6BB56237887479A782C75A54
+BC20ED5EB4E2BEAD28641E95237D2FE51C70AC77BE31246C92D4A3175EE3FE6C
+02612C7134DA79EAC6522DC1B52AD97132FF53EAE224C2DE9BB37E79464F08E1
+7340C8A79B87B439A484AAC56037E30DD391961E99B1BD4034BF50D00C1657E9
+8FCF4C2DD03612021175360A582CEFC4A7D12642EB33567A389EFBE03712DEF1
+00E971320F62E803F0775767620F37B34692C313FB9C0958E00597E1953F79F0
+F32186D202AF03829D2062335B64DE098D4ECBDED19516A3F4DC88D1799D0FFD
+F24B2C0E899D45756733EE27A1FCC99BEF10C462E9F9B062E9BFC16E75459B76
+06D84FE9C552AF42B0B3EC237785B3CB5075ECB9DE28817B55C85AAEC0C94C4B
+DA282188747A4CF8D63A50B9923CD27DB14D3BC523F41728A2D90ACF46355944
+991DACE13425D8DC18BA74B9F61923E45C978DC8B2D50939947CB4B33596D6D8
+5AB3DD0BD8E4CC3CB8D14590F900354CC46858D09C4BFA8142CDE33F8B75F349
+F535CF80B6DB8E64E6DADDF520D9E29D957BF1E298027BD5D0C4171DB575EA96
+1AECF1C3DEA0950BE26E739FBFB2BE59B86E188816CD44B7ECA980C1E44AA079
+AC2E7BD3C6FF65D9779B60ED34BCB38CCF793BFCF59B84A89A8C719C40EB0A23
+A91CCF0C21CE3DF3985E13C2EB9F89D6B7CE6923077D5E27260B55BC9FAE73B7
+C7EDE7676F922A8366154FAC92C7455863A45C4F4BF140776935BA4583CB1EC7
+1486197EDDFA9E46DCE6A28C992B10DA89C4FB8CF80CD39AC536C1D41C6753E3
+692F8E76928B5D4F2E86D30F7B3954BD6301ABB58CED13884C284C53D7A734BC
+46A9502745970B12A16058695801EDDFF1E65F7242CC61F6C4163A67DB236F17
+704CF79727413904319002AA4D81BFDDF64EFAD2DC47FB896BCBC5FF19FCA3ED
+B2321FF9F8504241CC25C1922DBB23CD6AFA25DDCFD473AC617F1333CFB469F1
+A343455681B59829DFFBCE8406D374059A724C7124FEBEE05F9BF3206254A931
+0D276555A890E38C69BB578DC8D7511E5F82A15E8E4BECD06D47F6E3AFD854C0
+B968F0923B0D7A3672BF7CDA1DA9CD9FEE74D70A2CCAD4055062E3AD8685FFC0
+B5BDDB530C857C3C826981C0F2F91574DE71274A4E404A1D73020F4B50376EFC
+748EEA93D6E1E2DB1144347180ED372D2727E2DBB8E9334778AB1C4E67993D28
+5EA56E402DC2A8B87D017778ACB9585D9C73780CAD7CE94B6BB727BB93366612
+8DC1B3830E7E95EC7EC2D539FE7E73E55633CADBC630F6B7DC36D77ED47B2958
+0B263DB67F07E16A040DC602CA362233C947B95F63F16239F0CA977F1A99F9A6
+B36F831B7D8AA5BD29DC4E26DB4DDB04508C53EA8041AF99D33899327C353C96
+A765BBFE74CFDD198E2FD0D9B9F3F76F2A8178A530919CB701F51DE0BECF3BFA
+B6A10EA4DB04DA17C04B2A932E937CCB268F5F427485C217D284CF602C9091E3
+6977BB4ECD4CA46905E79C6E847C0B7FE0A84F0DD43F7EECD10CC502F95293FC
+078348DBDAC9DAF6338E1F9D7DD289F52E1021E27851CC45AA0047F2FE07B5C7
+A6F0F8BB5E26BA7FFFB21082351804662F9C476E9D721E8A5BC81F2E5CA81F45
+4FC091EC171438E64ECE1899865F483D6015792450AE1186640D1E3C328B915E
+2893621345A8EAEF8A017CCA2D2608C5823A23FC7575397C3646476E8D26BDD2
+8C51C4CEF109EDB677017739A53CFA6A509AC5152077EA5ECD7A176578B6BFC4
+ABABBD0C484F31B293EE6FE8E68A281EECA6198A8BC6CAD2EA4EE2C49390AF4C
+6A710275742AFCA4E2A1DBE04123C080FAC65EB8C6AC86388FBFFAC8EEC49BAC
+464C4E1AA0DCB37AA6503E364FC954BEC84C9552300DC9495DDDEC35795EF8AF
+50D2C0CA0F238B3FA1CBBA9F9CBE1F621C710F73B7D456073082BCB28170407C
+FC3007F52CB71E08A85621B22B4DF750D011175E0A29B4FEBC1D8625E713D050
+31325515679F4A0D6EF17529A37C0BBC3F8F2F7AA0A6F57977941AB4133DA64D
+1AEBE4C7FABCDC25854BA5583678FFB54956AAE6D94F3E06D5C0F27B1DCF2421
+1C74FD8D4F0A5824DABE0346804CDD2D96BED494EE8B9D99F133F325D8CDF0EF
+431AB25D5025BA7A7E8B329AD2F89A53C3855AF9CD54275E030C3051632E5CC0
+994AFBD2A15772BAAFAF46FA10543A2B0AAC06163802D7F748C0EA0DA9072E54
+19E4BE682E9CDBA0B0D7E9F60A90C6C8491A6F30A5D310050DBCF613CC297D4B
+66974DACBFAB4377A753A16FE6394542A275D14197D422CF91FF360E8A63E8B0
+2E746082582E2448F6CAD56E488DBC0F40FCBCBB993A787E70BC9D8E24176B61
+FF2984A3855F02787C6C3DB41752B63FE0B7B090FC6D21763E96F2AC80B8994C
+FC3DD8AD32562184A3FA34CB6C0C73CB587529E35E72337A1AD22970995051DE
+2D10E84A14340589B08FA907F5A3570F98713316F633228AC0BBEC6789BED276
+6E2E1597D0C8C22705A729622749A30BDD267F7BF3CC116F7F888A4F4AFCD688
+63AE5A71F1E2F5EEFA3B100B19D6A893BE519DC5DAA215B143F807296187E4A2
+F52FC1F4448B0F4529E2156CE980293422994E484EA3F21C9FF7A56BB005A4C2
+F073DF6552D40E5DCB7A419C620C9127C451EBC2E341CB0649A503FA0E1B38D6
+2BAD504BEEEC35C13F6CB0659E719FF18C523B882EBD74D43D769E1F8A30354F
+8B790EAA99668110FE86806BDB239796E9F55A75D110D000C72AB2A430241713
+FD770F84793CD7BC488B8BBD59DA1BE3AAABC83F5E699F2A9D4870C2130502A1
+7CC2368B92CF0D52CB70446A3F634582E2E3D320CFC4353A748C1F1D91C7E4B5
+5ACA209EA88800AB7293FD1E8064B10C1A5829535E26D3C55AF6AD9B4ACE497B
+FAB377677F34D002BCDF35C0BBB7DA7833638683788748A16D075E344CE8FF95
+C09C6DCFCCBDB48EC084126BCF94EBDB1856940C67BBB69B8825E91A98F699EF
+2E378557776C9788E2A80ABAFE3E7E3BB6C0F32FA770597E37F271C50C10A9B2
+F90C8D80F4BD9F4C1098A306CE886C127946D3DB39C82F31F1CB1B1451FF6D9D
+A519AA74E1C7C4797F5E3EB440105C51ACFF85734924C0576E826B210C501232
+456601B688A3EA9494A8F391E1A0BFB7668BF6D0E1B82A47E91BC893E13EA0BC
+F8B7BA17D586DEFE3F7C2C72909106A651908325E055DE4F4E5B266D71716474
+56D5010FDC4012A2D659234BA355366C4E737FDFC04B7BECE1C1E16A7158FB27
+21AB8752DBCF8EF4AD11D185D7CE3BD84CD520553F0EE3FFA0AB3D773978A425
+F6C1B4EEE27F127C469005AFE5E07ACF2E438CCA628A77D90C9EAF7072733357
+CCF508A46C831FB96D0033FECE34E85023015A3AAA5E373A790DEB5D743EADBD
+7D249F543389FB089F4ECCAEDC4B75034AAF5DF41AB2DB047BE7C9500D34C60D
+7F38EC93219FA9C8A96523B981103196DB4D45031BAA1CF5018F3ABA08A547AD
+02E77C769762C162C7931A91CED9B33EE6C3BF4E59FF8EFE17A952FF3EAD46A9
+FDB74FFB0FB988DCEFA31ADB3F2A78E7C51BB09504DBBF1D53D96676E5843D8E
+DB50E2C89E2FA58295694AC71D7DC610756278F387A7809C8CD27152672314BE
+E287E774C2949A13B03BCEBA7A9A1A0B927AC46D8FF136C5B305EC65609F6162
+39908934CA61A225513E658F6B42F15A3621A45191F5437EBECAC64914548C8A
+6750FA2C9CC0E3BC40E01A21E3C4BA1707915D34CB78C96F0BCB7E2B10892E71
+174268D0234CFFCD5E60BD7955A151226F4987B67A69D9313CDB1ED0F9F34958
+33F7D16834BB40A6EEC4A5E24F57067FB59FB8D8C9AADFDBD3A897D8C91770CD
+D4820C1AE39A2D1AEC8B457DD856F81B3E698CF1FC5191CF60B1A80CC3230B63
+59C1384BD01EA86208DE000C9D3857B3243C95D6B6BA5BC693C539F7F6423205
+1F0FC68EB360DA674569C20FB993449096394328BB9229F93F45ECF5E11371B9
+63C233E1661C8451A3D1E076D243F6E887C82E49E00E2847CC33858370D560A4
+6742B1F48C2EE6D561A6D43BE796A09976E0D69A4A6C346AB895264C96092511
+7527320E9EA8A73250607B09BBE48D3952998435F36FE4D1CF667BC28ABCCD69
+FEE40049B09F1F39B64F3BE92C1EAC9C4661EBC403A69A9180FA83D1D5E590E0
+647AD00FE509B0E9FEB752F85726783978CE98B4AFAD649D9623F41419F9923A
+A11729723270E0847AA464AEF74FBC743D8D805322360364E7751743552A0AFF
+CCEB847942D9689E9659D15A3D795AEC8782C6EBCE6760E687F87095FCDDEA8B
+C4D8FCE65634148638A8DE5797BF21266AD94E363F58DB84561B74CDD8D5FAB3
+59A521598B34720C54C0AFC5B1A415B7E929D6EDCEE9205DAAB716379C29289F
+2C1AA7EE0776B1C6B6AFCDED4C6ED7EDFF1AA20523EC52F8332C2C0ABBAC1A2B
+DE91AE501079F2A4ECAE93FB93082B1A241AA79C1F7907F8EB3BD528A2353FBE
+749B89A4FD00C8C9472446EE4B6F04F5073EA7C2854835FFBA548920108192AC
+8CC658B87F249321015CA481B2A5F19156F63C5F7C285E18456D0CF0E1ECABCA
+C9702A3DC3911A3B179C837D4849DFEF463B9648AA2CEE8C7B7304B551296AA5
+4E73AFFD0D86AFBBAAEB71082E250627D70CAF3D246867A3676ED1BBBE99F6FD
+32BCA350821E0925E99235BE60C72D8270769DBE50CA12BE348D5145598EB0F6
+2EFC2EAFB348EC74C1F9025DEF33772AB3A41D6F8DDE6CC6746701CF75C86B43
+3F9224B633E510BAB613F6EC46A685D32C1C474F3509FC63268C4DF841B9B38E
+9CB08A26518FFD1A402D43C079C5603589D578DE2E8225A160625B6A484460CE
+5C445FDC1D3A58A982D205C370D86195D988E277F92937BBC9FF72851B0694B4
+D484FE0755962D2C4D81DA0F1F36973CD69765482A7DF0F5E701A3C5045C97FC
+09B5DEC1E35BDF033C02B7155B72851ED7A6BFDE12196DB43AFEDADACD52B93D
+E6F247F438A11DBF4A6D6CD59834865EF349F87DBB7EBBC5503492F5BAEA9615
+32AB4D318C6D1BB372FB14CFCB4268EF69128DE3FA99379609DF7099E459B557
+E7CFA0A293121A700CCC679D815F0883CFAF64B603C9E588488904267AD3EE3B
+9A8F6BED8EF48582F4A420AAE9CC3E0A61EB8D10C816C3091074E3B6345FF4DC
+37E1C1597DA71581A9920E9858DAB295178521766178F2141851EF5E455CE390
+4CD16782A04606397A6B4D13303918255700FFC68D83420E3F37437C073DBE9F
+C80EC3F7D915376410FC4961F37D73D13268B7E93C8B4F29880B535D14DE1205
+615CCB9BCDB0164F2D9C3E9515BF00C5D4E164A6B495E6A80EA01D3D6226BABE
+762982E7B5B74799A15819EDEDFB01B444BA30899AF2498DF31B1198C9115C88
+720C6BFFE2E0F33944274AB36CDEC08D18D00AD8AAB0037680DA8525AD9EBA6D
+8847EEEF0F689C466DB5CA6382B52F56FCF8490F2A931B3A71
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
%%BeginFont: CMTT9
%!PS-AdobeFont-1.1: CMTT9 1.0
%%CreationDate: 1991 Aug 20 16:46:24
@@ -752,6 +1348,7 @@ dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
+dup 51 /three put
dup 52 /four put
dup 54 /six put
dup 58 /colon put
@@ -849,382 +1446,388 @@ CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D
42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED
F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328
-A2C69F817061D6C60B121EEE844CA5008F23DF0729147C65909D506F59DC8AA8
-DABCE4FD05C6E3C0A053CA8BBDE49FDA4BB607BAD31CD4835048EDDF7923F4EC
-9A015714C2B23F78452F499BE4A24FDA76E13FD3FB334A29ADDDCCEC2F21D74C
-845E62987AAA50850C5C814B0374ED6285A3112D0A49F456FA7D7BC592FE5434
-B62C74F28D4FB8D080C7DB8E30CF0AD4BE57BCB22E1F32551C3EE6C73EC790D5
-C32BAA45CF9229D1F789AAB4047D1A3FAC932AD54188B7CDA31249039736DDEA
-8FB4AD8E988FC876EA3D01F1DC96CF98C0A5774A26F5F6162833777D6CB6E346
-9B13A4C2B63EFE8160484CD9D947D019510DA744A1B35019C9E9CCC9A765FFCB
-4E10A9CA7269A7FADFF5B64385749D7C9CE085BB1A31B0D6A3F433782814BF00
-B0738E02EF62508D02613E847DA3DEA251AFDC952520FBD7EDB982A97A15FB24
-D37C027D1B498DDCBF325EDFFF503F0A91402D08A3FE7F44080DF131F95D78D1
-86070EBC9C3F8C12FCC831FE8C9B16F123450626A4103C5CAD5DE7C0A913AEA6
-D98F2D61538188B4310EE0175C2CF911DAF0FCC821B8D1F9E641E6BA0302366C
-20950816ADBF36070A719BF556F66F7B373E0600DB76AB1B427D5C4C9D82019E
-27372722DF2484EFFA8A8E2B657536898A77063A1B374B4E2DFCDACA82F6F4A0
-854D6A17D5EF085C074E4C60DB90EF36F9927AAA365798E4AB6215249BA11870
-35F99D6AE4D2F5AC4435D36B5DA6F56A073C3CE2E19EEAF0C46EBFC348FD8820
-C7B896ABC9900AB1FA6B84244EBD0590C6CC6FAC20FC84DE56C5D300B825BC4D
-8B30D1524F68E7DBCBC0B24562F172949D8217213152046D90CAC6659E1AE55E
-654F54EFEA5EB700B7420DB75A94AC16AD2CF40BE1A18582B65F75552D29AC5D
-C88B168716D7F56281EF5C1C58A0A8D7BAA744321BB21B91B1038DDD132C1DC5
-786111947AE15CE8BB3565C8BF7C289F89C148A787181A1B7135BF8949DD68D0
-38BC1CB69FE40A7F60F5C7CA026D5677B49860788187DF5E982B317DEEA9F54E
-F99289F827A05E3B1476467A3205DC06ED085BE4326967EAA6F4326079C0251F
-5C250CB85073683FEEC9E44BB1C6EBCDCC7837FC3770DAD4B166B735B7BB394E
-194562C1DA349FF599C0E2A9414EE7615F6A7D2603491F81A2F6B74B97EAFF4C
-E9C78F33547B5CFF5EC26A6BD63FE516480FCF6C6B691652C0277D67CCE74F63
-7C86E00185DD6337F65008A9A46AA13CAD8C84D4C3E029C0E3BF576F0082A7FF
-7C64CE15119E8F3903E32BCCEFA5D71523CBD7D254C9ADADAC83C1A28F5241FC
-937963B58983E50EDCB1BF536508E5DDA2502C7FBEC42803A7B8D0E98DCFEE30
-8D2E430021D3F6D193D7F2535C838F275AD2FF36DA87B4B835A2D560214B602E
-CFD0D49A91AE679E15E8E2508A5639718ED6868AD5B3E15D8571601E00D720E2
-0D4C5069F3C34BB67364D957F7AFD59A3136922505CCB372BB1B0F72EC85EAF7
-59DC17286A0D3E7ED1689BD0008CE6F53FB84AA96C9AF9EB0C2C3EA11D5EF785
-FE5089B11923588E2A9F5B5316E22772EEECF048DF7F24D11E14B6B4EB3B51B0
-38BC704C05EA1639D4CD5BD8ABBB71DFEB1D8D3A3DD85E7D7F793A6CA180C8EF
-B71A3590AF9D02E38274E6B5A52EF7DC2FD9999A4A288532442377B9DC56044B
-C2C6D9B13146E00670F20E9D330F21609500477C45287B725625E537264D96AE
-96062CCCF03C20E98384F36DE48BBABF6274789B7E05A72C1897487E7610E380
-29B1E08AF2EB2332B92D5AEF5766CC399CD51F049BF45B7A54AE8FA96046A889
-9F6A04AC47AFA134527567D6A97F9DB3AA249FFE9C4E9F4743D549A942B30283
-52875E0F10AEDC7200A7E69614BE3AF1EE5501D58B74C3E07ACDF8071FCA27C9
-C08483CB88351865A4AE3A4F4330E520E1E197DE69C3FDFDE992F3DA9A19EEF3
-6C2C7886C50D174F226B4530458BAF04233E8A5EE200A88F825728F9FC8F7B7F
-3E94F234297FE1F177119700D53316692EFD70930855673C3705F997D23A7394
-3502E2480DA0D1C1BA01309F229055BB316B3E6325343F4A5D1B62F351AA32EF
-91398FFAAA3048535592789B41F7AC499DE1C0C1F229EEABCF62840DA8263C02
-8DFB33BC82E79F9AED556A1403501D0F56435EBEF82FAB0E1DB32EFCF2DEFF90
-299085DEA9033DD03D0CDA10A9254BEF057CA1A83C02C791F4DE06F92F22DFB2
-E23302F6420505247BF482D57270A09A9D06E5D90DAB42BC773F59110BDFAFD0
-8D1B3F4D9A1B344EB6292F9E812EC776DCBCB315AD8711F5B4FECDD929BA9B8F
-D3002B4C33567E97489D664EF9103BE4D6B1050B1305D887E6A270CA902CAE32
-E4CA5AB36C18F99D4609D23D12DF448E9D6D96E77ACAA5712E217E71A7365283
-E33197F317F4A6900D6870E09350E84EE8D0F87F836873EAF4ADBEBEAD32D6C6
-64F8A394BE72F2EA4C8A99C63F8B6B2F1B4DE5D59452A76E9159A65A0D874455
-D0220DBF3345DF3884F639B8AEC543BC4E566119903ADB44FB0D44DB46DCA10D
-9AC7CDA9D918C1010751A35A0F766406D3D01ECA6CAD45E633C55C34DBD33E8D
-5B741418BB1C46ED5FCE7D6793FC9A6087D2E4580729F50B9BB623B66124556A
-75C55FDE6D1E2AD3292D6A78267ED04F026CFF61DEFF78EC2307AAA7AD3D12FE
-367E06D99C4F92DD2F1409F1EB58944FACD2BE408F5471C92D7A8A2B26950DEA
-405CBE804B5D4DB3E3B8FAEFF87573B9DF64FDCF62BDB7B34FDDA68663985910
-1855DED9F78220CCBB4975B4A150A05790A9E266E6055F03AC180CB74B7DE139
-20FD35BE2C3D9892FD722FFB574F1180F40BE3B7E70FF6F33218C4660BA0069A
-3FD0AF5E72F35BE569EDEDCC12F14692EC353C2B591ABC466AAA8FBEC3FA70C6
-49E0A04D9B8C1E5C7434FBAF8C920D76CA55002E36C313D6AD3292F921540A36
-F78A9512544D7C3DD92484DD0C6FEE09D5EDFE8FD2A17A687F8EE8C2F9DA3BF9
-1AA6C02B3C2E2E902A5BA72CE1B1D4550EF1D3DE6B3974DC9B23E71C7C7ECD28
-2AB54BFFE6EC3DFBF03A0DFA41D3EC6C45CCA1ECDC491E5495EDD72A2983FB99
-22990109BB6BCD9B391DF8E490283B2DE160A98B7EC8780D5C3268AF605A346D
-E104BC62D03D3C3EF7DD3E442D632D961B118C47133B232B32319903CA71A305
-0C33AC74B5526577D09C482BA8544E36D4163B71696531263AFBC934F8D70272
-6C9BA39BC4EAEA9CE5300CB099B3E9BFF930A57C8AAC8E9A93FDECE392F4342C
-0DB41A757DD859286B14A0DDF77690024244E585097D3640DE55A76772906ED0
-7B4E1D761F526B557460A2233F27707A643258EC18708C4D6D90CBA06A1881F1
-0C41F0E82346BF96E63B33F39CDCFBCCD3ABF9F4ACEDAB52E95AAFC3D4AF55D8
-CD239FED7BCD8BBD387C9CD88ACC619E141D35E4B6D3EDCD71062C7A3F3521A8
-9A1163632944DE6E08FADE3C858E5D567B9531548F5A56D9B6D58A5F4CFC8E4D
-AA7F9F0D8760D3DB70EBE2B7CAE978E5637037C01FB31379FF8ED347DBB2069B
-C0EC258A403F19BDBE5325F20E725AC34BCC611D82718CD7B9CAA9B8E082E310
-73183F66124F878EE0725CCEC24CBAD16942324BE240ABBAED7B5CEF6A7D30F9
-5BF01207A67B7701AA16C43AF52C802FB6C327C9B6E37BB7D748085E2815D1D1
-B7B612965E0F6ED143746530BA04D8C315726EE8DDFE7100EEA02FD5177E863B
-E650B2CF3877E096A9F917327AAD56307B516109B519A9C424B61C96D32D143D
-5406C1491E668C2A9EAC1D2980CB6AE38F6C94CC4877A73FB36EE50C8D8259F6
-EDCF2470660E5CA00AC114699A377C2CD8FD3B346B94981E69E579B93E92C572
-F659630C258309C5AA1B4BD408B4203224E6D74FC79ECA84A664B455E0A4F616
-5B65B6E2D59E84629BF97F79B53339334B6F824BE9EBBD812E773D9976E61A47
-D327414C4F91B5CAC273BFD759C1FD3A400641CBC436C8863E79CFD3497E834D
-2B137BDB88C6349AE95BD3176625464A29C88DEF56C3DAF58BDF751755EC5278
-591607C9C845826749C62D2E91E211A714319E37A86EF3853E2BA8F7133B5E8E
-A844A96B08E0A725DB2A9B24E5E273541AEFEFE6AFF7ECE7A0F90071DFD2C252
-F9CA056F2168B6EA374C8B20CB23F1527E5E7F9BD35B98D80904B18484672D25
-41398EA4DA9A13B24318FFC11B708B60531268C5E3C2BF4BB968B64E271118EB
-D75C17B78BF6B17D376A7E54CC33BCA7E8E4AF54430D9458B2ED79135876D84F
-F5D21407A60064C5EF08E60D3557C072D93E69B7D1F75A271A082AA287CEE27A
-570384C71BEE3CF348766C7145646E32591E4E0F888042E509CC976CC1699AB1
-7B5D14FF6219326550D9C2803346493FEF1DE1E034377F829341930BB6CF1C35
-EA2927AEA1EEB7E48AFAFEB66B57C415CBECE29E1C449AD095C6D340C9ECEA33
-681E72443E1263D1BFC3C75AF050F7A176B2F6EA8DE54B111C9413FDCC40F4F7
-A7AA9C21FA691CF33703C943D28AD103E17E56C46C1697233D8FF4D431CB53E1
-D81F91BA6A9621B6EBE896D3C60699E74C7D23A493246DCABD8430BB85A6F3BA
-FCE8EAA2536F0E9E6C58B34A895B2D2A5CD198B5FFBCC9BC1A0C23AB43336D62
-51E3236ACDEBF3CAB3B4149E98920A9B9AF7A6EE2673CD50E70010724B9B1270
-BE038D2DA09431C13BF462F357C05EC7500FD9323EF03EBBF25DA8D6A7BB4F8E
-C317B3EB22AC677786E662F1936BC2625D590427EF9F6AA7636D6C65BA726011
-50AD71535716F7FBD467F33FAC5ED34E8B4653D0239F7F0D02B42B3E93C36B72
-1F821DD242CCF23A3E2C186A15437F36DEB0C8349233A40032BB74D2632824B0
-BEF37FD0D78D57862DB142EF9B3C0E1328E8EC845EE2680273798AEF9B09A24B
-B5ED0D51BC2300A631F2588C511EB760BCECBA3AE22FFE7D69078285BD979AA4
-9D7434A486AD93111DC599EA4EDC93BFDCC892D79CA47A06CA229BC7FF30D19D
-368D9F2999197C5D00919259E724DCB7265A1E6F601FAD2614784DB7438EAD28
-CEB65A9B052F4DE09312C74B01684AF6D8D7EF5266FBA5BE02F43EF1F7FB4840
-54733FBBE09F9130862AE4CD1825916B0245C1BF21D557638462828C4CAB63AE
-78685D49893EE2ED3D58E26AF4F8878A482FFBA0FADA9976E6A33E0045E185AA
-D1F8EB70B1FB2E96238A99E02F48B8C26FCDA47F910204A6E6D1DF60B4631061
-C815B8C873BC466AC27E66253AACCC3507A6227E52BF142939AC35450AF31982
-41F20A591BC74943EFC3CA9706DD73B6888522207083B9C461F14A6401171FE0
-720ABDADAE0C30C232F39ED55634100D1A5BA551AE293E7857B667565781171C
-3095EBECEC91693A9CB542BBD210ABBD94E2E282F452FF6ED5E1E5A696F5B3D9
-69083891F82547B89F67B579D56D63E2C1902FE7CC03A42B772370491DFFFD33
-658A43EF93D51F3BE975F44C7B52DADF515B17051EA9DE7A9A7FDE517F5C26BF
-FF6D2E4B27C57E51E1BD71BF602FB10833EE95C4630D995DA9467BC1B30EAE9C
-A514A470DBB7E3844A9C6718A59EACD48C80ACA377D09FD62768CD5FE2E950CE
-99D3ADA9726534A181ADE79B68891E9EDADB60F9B82A7E807177622D109783ED
-36697D493C3C9055386F0A3746D008151396310EB1AD5291D7FE62292B5BC196
-33329AE9DB921C551D5625E86F4E65B9083EBD1223B9140CEEF3CAE06401CAFC
-89EAFC43A238DF3CCAA99F10833A9AB67E28E62F95E7A461373613E6343177D7
-E980DBB1C2BDFEF5F16C39EA63B61BF3F705B3016D3E8266EC4CF142929EBDF5
-580E44BB6A3F0242A2F6F732A55292E0F3DAA24A85307E0F5ADEC9F01EEABE7B
-D5CB89CAD22E3CCFEEA67CA2296096A620EF800F7751DE3C433A219ADD4358DE
-9C45940C147F5F527D085B9D315E72F72FED444A81E5EA25F741949F71B42839
-7CEAC2D16953EB7BB15B8A130A6E5738E9905E92750EBAF97E244496BAB95F00
-37D867979E88C0D760CCD135EE37EBD9E7C0D01910754247F03E4FA2D51EAEA9
-10F9215F6428DF2658E54FACAEDE9568F6B2C0C872B27C279B6DE2E40CA45C6B
-E7F99B281A98FC5B8CA6D29010D625B2AEB9B1CA974286B59B1C1477B30ED8F7
-F02C50C6720827FDCD01F7368BE5E5100EBEA0AD2317ECE4B0B845D746F42160
-C24816048FCE50FC9030244517A7134A6BCEB73642E71D385F80A05139A7B024
-BB3917D7F1F5E0799F436A3BD425D19F2466B1B30931391611AFCFEB4DC1534E
-1100E9E8EA793EA448D6C6A06377D455B3200B939C3B7C039ADB20887C771C7D
-EC4A35D6240177E085AE8320088EAEEA0F0498249606F44E336306B4DA9266AE
-1E6EF714E211F326569FEE5BBA84E13C1C625F03E1EC823BACD79A6B077AC519
-1737EDC5FEC70B063110647A5AD38803241AFE47F48F852D6429D5E7AED6CA66
-9EDFAA584A7D8BD0E8E878C59EA3C9490D7DA958DC59F67FB053D801F96844F4
-954621F83708E192C753A69AEEB422542249CBDD9648A209D02622B3467D3C67
-CF6BFA218A5E669827C8CE3C0F1B125C431CB15160F7C390E7265A9FC2AF3CA7
-B57DF4ACA0F393BF3651F9C96B18413C427EBFE1250C27CB098A0FE438C5678F
-8E57556232702CD0AF8E01665171190BD82F49A8920831A2BC32B6192182CA11
-6EF5C42E8EDF34ACEF99EE3EFE8E742F06E329EDE9B4EB80060955DBDED5253A
-BA5CC7BB2214435A52638E282AAD4E0D3CC7EE5CB6D94980AA80D15C7D10091C
-87D9B9ABF0857F124074254DAC3634EB5A32A9B09E2C153F1DCF7D06023630EB
-2E9487712BE1E388D8F28B7256C2C3BE957AB70E4A42B20DF31F3C27166A9245
-45BB9E67FD9277D78D52F27105BA913D5DE256108096425F2E333D47EF999682
-5F2A5FF2EC1D2D9ECEFC5630B0A4A0A3E3B60A5E4135129EF963448F0A86EC5B
-72A8A8C0491257BE515B825C6A70A87B5015F5F68F732532C0090338311C102A
-9281922E2DD7C81E31D5CBB8D746A733AB2E1BEA5CD779A94FA3A3153C50A97D
-D76E8755C64758C4340CA6387DAA2DC71C290EF9DC62EBC57B11CABD982E2EDA
-2128D54D0383C42F42103AC9B7B65940BB76BAF2002601F807F67B009E562F6B
-FA592F8E80333857A817F6A5C06CE5A31E0C4C69C6046C9342B338F45142A8F3
-7132AD33F6B63D7F1CEC892D05FC5B4A779654181A883CD4F606B1FC7E620210
-03E43D6BE65A04E2B463D9F9B513FC7121F58F6B776623AB2C2D722DBBB89AB4
-C3DDDAAB387E9ABF6EAFADEE13609DE10FFD7B33B0040FD7D6EB233B8FAA3A6F
-4691ABE8976459B8F3C1AC728B5C7B4B4D4012EA76CED5FC04279FC13F5D0C6C
-410EFD5B265F54554F8427E4C4AB17D68217B63EB940A300CCA4F7D112DEC414
-27C1809B6944C66698FD1A915F543CE4676598504F140C3AD0D56C2E24688B9A
-41BE254C5333D93A32F2E8A7D0CBC83EA4863236FF7D701E1F800BEE5EDFCB64
-3B400CC6E603705D26632810F46D892B1E31EA2A9721604EC58B9A898D6F7C51
-D7225606F22EF733B85619EBD25E24CFA9255B931CF979A950B15AC554C7C670
-C61763B85B459615D8FE583FAD69A79A0FEFFE6E696369E929FF8069CDAEA292
-166D5FDAB2D0850B72C4A8999B425F1713E9896987C5B27A621F1B0FD334913C
-22422ED045C815E16510A4DC76441D551E55DCB4C210C29F028C251FF27F1DB9
-BDD49B27BFDC3CF841B77E2FC54386FD80F220F5B6466453BC0BAE7B068E50CD
-261B5EC686A05D572BD4A1B688957A531AE96B056C926CB953213E8D36F5F918
-3301ED3873A69DB313FA1EA420BCC273C1655F69A22E70C83E2EF65BC94C2363
-29FD36CEE208FB380D17042F29F7B9D6C53317C81FE46B3A24EF833D6C6305AB
-253E0AC5BEBF8200506371CE1957A86341BD19BDD664E2AD0FBDA172A0E5D929
-62EA421DF22C8849A8781B94BC92F7390480405E020B6F10908350E569471BB5
-BDE3DF98EB31232555D1860AD4E4C260F25140219540E07FE4DFCA5D75234513
-29444920E4DCEE9E941D6E2B11BB9C43FD769D24EED837F57A9FF9B03A4CF02F
-2B45E47689D1E25A8D105DDA7F540E1DD76A9BDD7740565E2A1E6F5619D083A8
-F836985018B639AF036E8907654C2F3944F54D49B31BB9BFA857D6F2313E9307
-D2E0CA85164BE9B6FC12A85520555ECD79CB74823BAFCDDB743AA28CF2BC4F3C
-19437DF96707D6004EAB60A9530AEF193B8D5687BA055F1FADA449C0BF39DE0B
-7E285B8C79AA4BACFE2026EA64FD1F80F2C30F4420865B57DB014243D66C2718
-0AA170247122471E65F973A90305E9B72ECD79C1590A04581AE01321164390F0
-1E1F25669106DEF25DD381A53F4905DFA401CA7A9765DCD3CB65E750FDC8FFE9
-5BC83F87613EFE40E147E0AEADF941E12070F08CC83D90B8AF614CC1F236462D
-57775720BF670EEBA4AE30D46FBE1F9DE708AC819C2838CAF5E62C7F24D32CFE
-FC1889BA5D07F1E04B2E5631C25E1000D1E646EFF6266A16952B283DEA96BC00
-92FA90FE581004E5C7DF4F898F152E77953EA3A4822321D4FB060D5D7830FFC0
-3155915948183E3519E0724D5F6BB29F10C148C2E36FB4DCA4AAEAD15214F514
-D64929A831062302E88758F25C1424702F54F2F166007E428389697B4FA4D2BD
-971561EFD69D698A26B8DCCC27CA98A47C5A62293F26ADFF87C30AC77E10325C
-8B722F99F904CE132F5A94652465E5970E03D4F223E3EF79354B7BE752D3BDD6
-B97F25F465B2486FB289179128D3258E3CB5BD1295180576C235E9AD6195CE22
-286EE6E4CBD57EAC05FD3C343B836934224631C2A95510AD902A4CDB03DF90EA
-51AD23A02DD6B1662B75DCE56ABE1B0006D2A83040C19456BE872F622F64C631
-053F3B3236F7EC1EF1D7423E7B86ACDC4AA9393B44765D3CE511C34215BED0D6
-08A5E02C3BE5C5A50AB8CC024863367252C54FEC8592F0FDAFA162263322909C
-07C5C0B53AFC23F038EEDEB8566303DA90A03B24CFA6C8895C0174EA7583618A
-844830294291122170B9F96982F142888914EFE3E56F8B30B5B07311F0DE4CD1
-C6A64DB8B379C6C3030B06F85F091F6352033478F3D88932C35E6159D6D51970
-F9AF587179473328A265C226BC685AE4460FDBD38581F2F06869AF69C64BC6D3
-EDE8FDA3C6F885F8C56A73A45E1876D12BAD04C0FB37DE5A71D202DF2D5ADE9F
-A4029B031F5A7130D0D7397F155390BE5595521C13ABA8A5F69120382FD4F23B
-9A8B92BF6F94789C6AD12A5880BC1EEA546699EB556868851AB0E274A4626039
-E059D0E511B062886F52A14FB7D4162479E4BBA17E9F0173C5D05349467DDC99
-29897E6F253A37FED427D558728C42FB9697F802DFCBB39BE6798A0EA8542144
-32139AAFA826EFCEA7EFEA4FB5BE06EE2917D8253D063BFC58C1E9C313119A21
-8BCF92DC1C9917308F3CE40C42318508AFD4E896E7C29710DC01EC4801001BEE
-BDA2C6C25AF8DBFAF294FAFFDFFA9F68296CAF85F8729753444DB0ABB0785015
-54D84EB91308C3F5E2A4A4F23BACDB63F742F68078C1D165CEB7D5CD8F14A53D
-8A7DBFB96CF9D8AA07F4EC04AD7805AC9BC037F376A2A816AE870EE79C581DE1
-5DDDDEC4A5ACE305735ED5FFD1C0968B67DF11D6141A6AB724788C4D07D20BB6
-D389E2854D8488EAB1E62BE2EAA4F68667D52177FDA982D42FBC1AA98A2D5423
-6157C8614996FAF6BBDDF717E6F5E51FC245AC1FDD9262213D46A211CCB7A3F4
-8385D0275BD8D6F13E86071A6F62677230EBB9FA6E3C3B88F03D880D9C85134C
-6469A367E71546036762DD33B5C91BCB751791E17C8A4EE091C1DA1CB3800117
-268182D0FEDD0669AC14916C68968F4E24E0116E9478460FACB9589F0800EEB4
-838DC4FEAA63918E4A6A62606525069854C4069BECD5A75198F1BBDE1C84189C
-7B1170B8A1C6447C2E94A151BEF5FF188310E60157D64790415FE449C909787B
-A291F10A6BAD6BE2E7F5E9EC35803AE1804A6DB384229B107F384597F80BA696
-24D482CBF68564233454ED25A68B02675C98F9EFB017AF564C78CCE27BF157CE
-E34C17B45A1468587CB0F06B47D65CDA0417F0FCFD5E0096E8CE9547131CE0F2
-3C6BDED80856AA2EC9D975BC5A92CADD11D703DB24AB2AF59A1CB24F1346B018
-5D3D2CE78C9C50AB160654B83B1099C6C87F4E6CBCA092D30159BA7B91917A16
-AB0E0894E7DB7008C3ACF7D7556A657804E6EBE7B2AFBF4C529927B04AA3D6E6
-FBEFF273B9038206DFC806D04A9DE44EBA36A1D3BF918048E4E5816B8B21182B
-E24BF897BF4B5DB94F635C54F678B1E2AF773BCB33615668A2BCF7C05AC11C07
-5C321CC2449ED4412AC381B0E1C469F438821F8A8199B6821503C02525B24FA1
-B3825A87DF3E4AE5BCC9D85D14B541A1495A012FB4636774F37ED0ACC5E96744
-771A1443E36D256BA05B662E4E9C0DB70C78A10157A854FDD2DFE15CD47AEFBD
-C909294366398B5F77EEBDE7FE42FECF59DC47E50287EFFB503220157BC26A07
-A40CAED8019A476338AB99CCEBB93BD71FCA119DB536E3FDB9A55FF98AB047E1
-A4831823CE7AD6FACA7FD55CDE5D8C676EBD0A3A03DFD6BF869EA79E5B319C7A
-F35145568A765BFF70A9E8D9FBB31DB2C02A2F426C49D5409C6679D6AB823ED5
-E4778279D92B256F5FA6A99E9AB16D8402CA444A4A07A94EFC597894CFF75955
-B50FEE510AEFD00FB5944837440129A74F1D43588F375090637844E81112C9FD
-09267C69E7D24C7D541CED5EA8A56870B9A6DBA5ACD6166BD23EA3A6A5B15160
-F8411DBF9C783F3BFEC5219B4F6620ECFD3DBC5DAAD2C0BBA1396E59641497E4
-DA690FCBDE9EAB4F78B458DA99A6B8ECA0D8088F1C1B237786907894314757F1
-AD14EFEA33C09C7E8C52C609FCB2A6CEA581712A391BA2284C856A5E94AA8F3A
-CC5C6E7786F9D7A103A41407F5934F7228A0F12AA48EA6BCED3ACB70EC92D8A7
-DF4A941476D1C885F681C9D7195999EF762A80261EB1E332DB1748DDF3111B6E
-B124480B3ECDDF773B7877709024E0B9738AA839B0AFAB55A915E398288DF583
-4A7D298EEC8BBBE47809E0B34C7EA3D32EAF7EAF1BAC0DCCA03A3B92E5730902
-1341552C62D1D22F69F219F89D0873C6EC0BE5EBA60ED37048A315D1FCC924EF
-8787D8FDD5741F37DE3A881C7C231E6E867200065A67BE71AB5457D3DC92B7F0
-3A956BEC76289D5294A7F448EEFB444DF2128B127D3B7F85A72AB18B6A8926D8
-96FE78F2F7946250F37D8E57940924A117E02383DEF4890CBD748FC1888C3A6A
-653AB8397D400ADE945AABEEA2B46DC09FB679642B3AFD3885AF6B097BB87427
-A81AB6BC78B1CD369020C8275150459B88A87F27C1B6BC7A5969C1ACEAC9A778
-B5376BEE859049F98C6D45A552635A22598F8B266B1558118BEDA5D7993FA739
-CAB5A554CE9257D4DC1D157BA56F6E15ADAA7602660665405DADB3D9E54BDD5A
-D86F22ED1E9A0337CCDDB8E5F05EBEFCC22E14E215A5487946415098208E7B0A
-96F4441BAD845A0423B9454979F1F288A5C5472A11B0AC62FC5D6EA74BE871BC
-72DE9A9ACE2C7E7242BE928F38C2CB550DF7655C04B8B2E0B0E0D4658B86FE78
-C971FDF8118A033FAD121B458DFD84B4379F83323749597DEA049E603A488601
-6D941AC5036B96A5938AE84CD9A403BBB0D31137F70AFAF24983E3EFB436B1E0
-47B20E0547584210E10E1FA7941B3A101579D7E0A012C97E5CC7239EC7EAA0A8
-281E196344A50003399F935F60CF97E88B7E9F920AD4B5282A478691A441E297
-AF443563C984377539679A8B6EBE78D096BDC3D2F8BF03A6ECFA2AB7BA66DE69
-55C165F93E977C79E1DDBA91F8A77F14DA4D60920C34F4C7E15CCAEC59708B78
-0EE8BF5003E7071A67C354B44A1EC83D8F2A8CCD01A85396CDB21D41D12F1977
-1CEAA00C643D5FD231F2438826B5B9F4C7AA793FF10D0D17C49D0ED5CAC6A439
-247BD02125C3577E239269FE37BCC988FA9AA2410C5E7C1AB2F7337AF4FDE718
-F5C57E39412F66EEB59F2DDDF735770BDE0BBF60E55FBFEE545D9069CB33284D
-EDE322EF91D3958E88DB30D34DD7DD1C04E3C1C52E59694BB3787E4602652E54
-6E0FF91E6832513D6AFBBB206EF74033106A000D9377EB6142C4F1B002B08841
-B7837CDDF5327A1C94187AB7038509C44B1E200DF58954E7B0AD3A11CC517434
-1CCF8D22A2A9E44E7B37C8D2715E8C4E865CDED5C82022475191CB9C2E156718
-1A4FBA2C3190BE38D6BA4C67F595313C9125E32E07664F7946F161250E31DFCB
-6506213BC1F10E9E9C61BB341F0494EA49473B4A3FCF834E5A98905FC6FD8B80
-2A43A5207CB847951BAE7BA3188F5CCF3D50272E7441956DAAEDE91E8DA0EA63
-769BEEDDAD24A5AC166553B86AFDF1388EAC006A368E91EE7B422D2A4DCDE6DA
-26A00981533252321F64F5F9E57D299F4C1875903CDFB96A89BAAEF8D2F737CC
-3CA8214D57B883C4F29B670888FE5ABF966ECA2570E5EF2DDC1C9267D3C0EDF9
-28BB86D529C57D7772897A4D8D1D71EAE697BFBC0816DB8DB4257B4567812D40
-4AC33EB8F92988474A3FAAA890399C8DDD0519D96F655C37BF3B5F0B740F13DC
-7DBC67E105FBC13D3E7BC3506B17CFC59C9BDD5EE2A7D0273971B55C38463D3C
-47A152A2EE06D75CBB02766850AF8246BC3AF73F63FB0DFF0B093ABC82670CB2
-6BCC46BFCCED8D58F70B86F6232EE45693CB9876DF34AD047612477FB613A80B
-B2B4283E546C3CE2CBFFA9E3FB4BAEA31ACE38B46ED45ACEA49F8CCC00BEC678
-381217DDCD47A8574C8A7A9CCE92B1D4FD53874A59CA7E48C15B29F09C41D4F4
-444F382F8F2B758C2E4428E5E77CEF9603C9A9B4CDAFB8F20D84F629893D7F4C
-FCE2A8C5561D73B1A348563E5E2D2BBF651AB44E8C324BDEB1709DCCADD3AF98
-22D3E4D1447E3157CBE4BDB7AF72C0FF719C97711450216F822A886A0458CC59
-1F766A691C9912F4BA5B76EEAEEEAFD00ECC29030DD0B54D09DF26FD1037180B
-D2649D1792CD67B3ABEA14276E3D6FD110F50C5FF54E8FFB20CE86EC2FB12DB2
-B4152E8AF9EF025CE79DA58ABCC2B2F4CE63A3F4DA91543CD7A288A4C4784B26
-F68CDB4C53DA952E46CEFA93C3989D7A135066DB7BAFCC9C2646FC1657BFA717
-C2AB595A611143FC1C55D20DC4AECDCC05CF63AC14F5A9E867DABEE9A62A026D
-C870725C54053E5BBD52470F9B3A05CA8AE52E639B08499A2E40752C1875BE3B
-B74223E3C6590CA4246F9AE6CDC9EC2CB66A30F5DBE7CB1BC1A718B0903AEBFC
-2E1DD4CE93EEDD298ABFA605135E990686DF6C10C8E132E2D5E1D1C5E73E4A72
-5DBB3A0CC1FF3C8C8190BCCED261C448D294AC367C2AC6B2AA3524D6ACDB0897
-635029C50C0BE4C2528BC0EF80DD944E110F16B4BB3D597AACEAF8AA27218208
-81FE09E81224500D606586A48B0ABCE176FC6557DAD44FEBBEBD8AF7F8EBAD18
-B09E65822642DFE73B7358F6A935F7F4EB4556715A39D701048F4F26FA673120
-11EED5CE71527CA645DE99D5CF8AE8455C300F62402C90152369134343E47567
-EBB51B5BD92C16E6873D0718C8E13E4DBE1BED9A4CBC2D0BEC1592BDB05BA329
-8F6517CC16B0C59CE1A653D0F9D1F5C7D63AB330C415312DE7DE9750593157B8
-4D50477530850D69824AE5FD98F43586BCC6A9067E0C41D1FC8BFDB7CC03AF13
-2E345F7429D6036A79AF35921F16F6D68AB0E007542B25E3E292BD83C4726886
-201388DDB4D469D022C20A9EE662457F0197FA95EE873B6240D95D3B02302FBD
-DC962D3F1318A0EADE716F2FF8EB60A842B9535FE9694649F4928701F4962937
-4D57915E6235F0616DAA7E6E571E6CB03E0C279701A4D25BB40146E3AEFCCE51
-433866C655B8ACDD5A6A9B5B2F2F5EDEBB2E0B2547FF3C6CE5F69E40A1B0516D
-42B18FD93D7E6ECED7783A8799891744525E51F7EBD40171DD9981379A42B535
-EB40D569D0D183913438A0CE38AB4047E2060170C40A04ED10E390BFC1705E08
-DCF46237872E29D172B7011FC340BDE57607B433A9FCC3D602897D9C43B8815C
-B63F20F315CDBFFCE7D7BA5410686F32F645556C44D73F3C4FA8E1BCDBB088B5
-0F462850692B4B36E986AE8029DAA700B7D78302A8BDCCB814702C881E411DFE
-BAA987A2C190501ADF655567A35C33E091516C3B426F24AB45BCCFB6534DDC7A
-32C4D1C6ED07E3F2FB54E2F7A8776AFE32310623D11E45B64A37C9D157D8B448
-ED5C384A34063981EB8D476BDD454B2665E13FE57E0D5C201389D22B44154002
-7916BCE852E5472087D8189BB1DF014B510FA847BC61EE9B01A3EE97FAAD4361
-ECD1A3096B40895ED364CFB6E7222F4EE562C8838250A8C0EACECA42574BBE96
-8812EB1ABAC83B822D16FCCE02EC900033C45CCCEF5ACD68D90F0BF24ADC1EB0
-F121C9AF51FCFEBC45595E336F402AA15B287E42A76A3EC73EA1C718242AC438
-01241F1565CED805E5E6BDE0BA05DDBFEAEA68B4D38C23098CE692E3B6B99D4B
-4F2E39BACF1BCB84094C669B683D115B1F8C7F74DDAD114159AF2D6854D3B3A9
-2AE8ECE505E60DF309E69D73AB6779B31E991D7B01BFE2C053C75C925F01713E
-3D5F5DE81B135AF7542E1E7D1F992A1D8EB5F27FF11F791C6AD26BFC3020E877
-F0CEE5C962B1AE5E3F7893FB2F4C60DE296CA4407E5ADDF430E995A4A101F78C
-712A5CD2CE6CA7EF1003A8A76770BFED2267266495F5F4F0E33A76CA7315BFD0
-1931BF4C8A9B384D55BB9684DBDD749B0FBC2F19090B9134ADAE09F2E0C24E23
-366DC5F5A65AA121AB143BDB5CBBEC99ED289F34DC171A6CB6B38700CE67D849
-42563C586937F7AFA0670C425080C641F7FD02AD1C1BD8C2AAC28EE2AB145CB6
-51B3CC03ED3EF6BB573A268E9060CA3AAD361D61ABDB670437C7B77D46166CA4
-70293E49AEC8FC68D79136D4D4EB9E283AD8D65F9A78FF28C3DE9575A0CC1E75
-2C3F42978A10DF19963E422EE1881038769DD331971EC1BB99E5A35B0A2BD978
-78716054EDF59DB0030CC7817528C4B1502E542FDAF2C3E506A624961439D828
-C207289F297A7BFF64C3A4C65B23372DABDA9864D5D709642DFA5F42ACA41EED
-037967AD3AB31DE25348E31AADFB1582F8C7288B90D8A5FAD5BD6A50EDDE1642
-5E096D6A8DDD7BB9A0BFA1568D5760BF1F23D3A7EEE9D141948939AB9977A59F
-13E7B8F1B2D23E2A274EE14B68E29518F973A1E198D4C0A235E0C4607C4FEA0F
-DE4F857A7A50686814C108E5C35AA6330C6ABDAEC5088B53A90410A683AE7E39
-71AE91BAFE8604468C1A6356CDF34F81B6DD4349C408EC1A7F8392A82C259240
-D9E728C4B69BDF347C61DF3C4EE07237031CE129BB31107346C7EA4A61D7B40C
-32DCFFE3BF2E6F8DAEFF742C4AE3174FC073F08B93EDD2A88F43AEF70DB1337B
-999E194BA92A3C1E5BAD34AA5FC6B6D7F7E9C85F5E152EF25C258EA04C9C5439
-C9BA84B19DE61239AD2CECF3A7BDB3E1942B9D9D8A63DA5ECC3FA9A4BD4C2771
-E26709F46BC712DC1987FC23E1A466C6D6327C0EA32C75B569F02F3E2EB485F1
-C2FA9B7BA01BE0F658C3EBE6FE43EB456A0D32D50AB04B86826D458458D46D43
-3A07DAC77655E505C318C9EE3169656776D9A0A77D9E7C0128882241F106560E
-B0DCBAE7F28684C81FF6AD0544BE47041C08384759BC193CAB2C6EEC5F88F976
-66FAC163DEB38FFB5896FA0BF630FD4D041F2790F4FDCD005EF1A82B3BEB5B1C
-AFCCAF5E3481FC17D6A4B714B6E192F3BFA7E1FFFC57FF647043E1BF0EFF893E
-B5007A72FBCF84D56C8FCD03C7746E12E703390C732BC529EA909561CEB37DCC
-B2C23AA622893FFF70FB7099692585D6EEEA8810A6C1AB87E3933C3350AC0131
-F4A5D4D719F27A33A98F98551B98A7CE2FC55996A70D9EF88982712406F45210
-14C8A85C4FE6E917DB1632A3CF1251110CC8A317DB97ABD549A634BE0B8FA4B6
-E866BB91DF4B269692681C95EDEE496680A637D416B8E1136A3B5A2E70D993A2
-DC6975FEF9D7452677AA404DF3D60759294656830DB6B110B343A6E5DF837C75
-1F92655915A1E60F3BDF341FBA7AD0236440B9B325FDF56B2811AE4F8A589F02
-D0D0643D73B2514BB205EC6F5C4DC5A9D18599AF84FF2546BF6E86E8EA259677
-5A13A1A97B2EAB61F6DF8433F727624F09DAED04802BC6D8870C004FEF7C0988
-ABADC24A8F22303199206689854805D82622C9FFA20CC7ACC47D5BE72F216E00
-056519589D8E46B81CE032A145FE1807284AA85E7A08F514417DEDC7D7155A0E
-BDFEA4C1FC09D5039D6F6AC400E4E7103CE6D96694F37D3B29BB215C37C8A60D
-E49E4774506420A6797C1F4B3772F49FB0997E15F7A7AD076A2991FDA66B7E8D
-971A3FFD360CDA9F02C2F89A764E7A6AAD06425023DE9B6219519E98A4BCBE8D
-8A2A74C5790181000DA40FA17F553DAA188391C1266633FA0CAEAF7EA96578BD
-06E210184B0C4C91E19B7435F6E3C8009A0AA202B24DDC5A6F33DB05051B1919
-B1D0F2DEE73ED087D7ED8F3917CA45F441F3213B615F072C91BF740F600EB635
-6AA29D703969678C57AA7B1FA62E492EDA0DF394B3DA48EC22E8C27605FDC16D
-57FF35C081874B47CA1D5DE1613DA640F456665349F0FE208E808C1170F0E99F
-A17FEA5B4D3BC2FC8964E091266A0A6623D531861AFDCAE9BEECBCC77B23258B
-4A4D58E327207E564E22C2B3261D2F7CB90986730B08B4E342C1ED1B04C99FB6
-1D634D74B034F2ACBD97F2CD0475F0CF2FBB23D525DEBC80C099467BE0FEC905
-6002BF7ACE5AD78A69DC8389722DED7C5A0B3EC95136D116AC0C18F4CE061850
-3977ED0BA818C39497C6B8014E1EBB311073C63D1F65836CB6EB788ACD2FB347
-260CBC0E824EE20C20474442205C23A24C3F6D856C097D12C1FC6749138471EA
-EF24A060FEC51B2810314F6587D036DC30BE8F6F4FB6094680FFED6A221E21A6
-688C02A7F8A0A529664C668D83F19AAF1B05C8AF299E0A2DB470D2DA781179FF
-ACBF2437921A61340AEAEB6281C1F67B4685B79D
+A2C69F817061D6C60B121EEE844CA5008F23DF07284565BBEF0CE7F1CF6FEF28
+F076C9A548815E85D9217BB252D3891CEE88E98C74015AD579DAB8A8F3CE74B4
+E054D34D0C8CBD8CD31B76ED594A67C314D947D71132A546EFF9F0A1D5C9EF00
+1935D169FDC0597ED3C84AC306B76F096C76CF2415ED28833BA187E53992D4CF
+7989F353CEA37B66136E61631E21C0C94A66DD92E36A668D781331758FCEF642
+0BB4EFC8FB6B340077270EF871B3FA6181714DF7B1C4F31E0A878E8A80F17303
+08125D405932EF6347F2076FAEAD5AD3B6BFD37FBDA386349E86AC43FDC075FE
+2F723D59ACA1827B7411FAAFDD192B067D9ADC43837A4AFAA44A9B9977F38A40
+B455394BB37FD42F864D87FC6354472FD07ABCCDB8ADB91920F4499E9FF9CED2
+7BC068A35B1E8F42C1D713435484F507D07BD88FCDC2AD786357212007D929AC
+91739C997CF60059723035D8118760650266DE84D67BBFFC8F9160A6047E1872
+543B2E6314994D0EC2239A0B392E4E063B59935CB1D746CAB6A0CEAD5C607BFB
+2B8D8BE15CABC61545AE4B0ABF52D5D6D4E79676D54319CF5C372B1620FEE9A9
+ED112E8EB0C9926D241005CA3E0713D7C404A4E36BF2CD40ED1BD929C502977E
+5519DE3613A4BE33C2202BD51A2931D1B8DF61D0FE4D579E6F0AFE9F8BCE6B81
+620605D3B24BB4E759D444ADE5D414C358E01BD56077326338059D3E072DFC6B
+A73042A5079C5D208C68919BCCB94D915B85FDCFA99307121D906A6644B1E985
+7BC0B72B5AA099B6FE5F136CA1D3858A24B67287A286F3A33A14BE5CC6F58AE3
+BAA95A683081195371180499A2DE681E8953092BC24A9491AC8C12135D697161
+9594262B9062AF226ECA469B31E6D983B52CCD2A3052778B124C897419757544
+95F0A7BB2CEA697A5591108D7C19C0AAD06F64A87F5582E0D48587D39701B3E7
+D9DC742E6C7326E030335E0617736614AE8EBA185F40263E79798C73924DDC32
+19CF344BE4EB06576343FE3E443E2CDBDE0EA7835C0D2D1151B4793C27A1B1C5
+E1AE0233C7A19CC23FA2CD07A3D73B7DB2EF96104D94B2F62DD3FB7277351A9A
+52A0778A3C83656B338D3F8951BC5A9BA28002BCF4C4815F119C001F6D656924
+FBED0CD9A28A0A49E200A3683F91A705B6847EBA41E47B65AB0905F91F908157
+0172210E075CB7EAED23A3F51147394606C02F9667A5DD977C4AAA8BD09C9294
+72C2428BD937C93EC6BE3E67DCF4928A2A96115EA1A98D6B06658493C2370E6E
+088E8B181E6542974FF1C51ECD7FB084932A9931B33C7ED6DD22C036829979D6
+760B78C1F08BAC053C883BFAE5B90FF2C1DD429AD5613D9EFDB35501069B651E
+969E59CD89B214F252D6E704FA00601F2ACC744AD9B38717C0BC0DF1E6C6DE99
+069E1E16FDF9CB81D9EEB02D27AEF5DC382BFD68689EBF58F644C0A3341F0529
+9DC677EB851B300E80519FFBCE90300F2D74198F9A4615C55DFFB10540066F5B
+DE4597687BA06A7056467B5B2261ECCAA224BDA8B26FC76939AAEEF3D9F19909
+A639FD5FFC9B7EEA77FB99359A55F776D7AEA05AF8F2A58F3D8D683A75C46D8A
+14984758C7DDAC37182186FDA630FA43754CF09E518E7760E073A39220C423B9
+AEA6962C84B7EE1389CB8ACDDA116A15A28D48F630685888C05D40A5E2FC1D5B
+A1CA6CB880CC2A3D12E68BECD474AB71B601F84047B8F653DCAB5D752D118A15
+05B46BEFAF68B6575E2C24D26DBAC139A29A218042407609D1DC5382C116A77F
+B793FC657596D3BE2FF0A30E64488A8749A6051209AB4C9D723442E1F16E66B2
+EF043314E1DF470B2087E9733337B61438E9E730EF61917F094E067457E52DBC
+3CB73A61F5599D3F80BC3A30EE2AED6725574804BE163BDA713BC2E16E8A1A65
+293D12C2191AE91FAC7E94A6C0BFFB3F0870DA9EC1F21A9E69654B72886FB22B
+6E603A7F31F327CF361B89E1C88FEB1BF3E537DCC0E82E4FE3CE976FEBFF885C
+3070D236A7CBB2BDF557C51A5F28AC6CD527508AD903481254A7737FBA4A0800
+D9A54A384C9E5979020A9609D6190E0C24C4D092C7D0B09370AFA5EE3C372ED1
+C3936F20543165F5D70AA0D4CFE2017239954E617907FD9C72AA9C2FD4C94279
+46DBC2FCF2788F62EA5C8E6B16ED355C14C5DCED3A04E276E22268F7D80DB574
+932937B1DB44D2AAF4B8CBED21BD3DCF7C620B115ACA9BF698AAC602BD0BEB65
+25890BCDB375DDA7C8807E43E534B849C21FCB75BF960ABBAD8561902C242DFC
+B2D3AA455524985FAE0CBBC9839BA84D77B3EC5B38D378F4C203AA48BBBB9757
+809648484684C95DF804ED2D29F672E4895BE54B821FD25B6C57EFD164DB0E5C
+7D178E57DE47D2376AACB150C60D986AA7C3B23392B7A3C7C8D89F86C98BBF80
+4CB51559D210251588340AA851DA3176CCFA61F8AF643A6E52E4109F059EFABA
+3973E580FBFBD2E75B73D7FF70C13D1394E187EFA4AF831B5A6876B3748A1CFC
+2F642F3829F5699C0DCB3CA99B2FC34176C6FAA943813CAA6A52CB170E87A1F0
+E02DF9C1243E7B4955B4380B6D8800E832E2F799FF72F2C0A3A373F21C43207B
+68A816147A46D8B4070E96EECE7AB0FC949D0400EBF6232EA7CC9A81BDB0F7B0
+886D5A1316A9636D779748A7D8E70B36A3AB65967C3258621100E0D6675376B9
+974959879BF814EDE2E764C84077561C357D9B427C3689243BB73C1B49D69B1A
+39379E3E0C57C9ED1D8DCA2C2EDD70652020773518B16AF171A14C77720EE361
+B3E79BA06B7B4182A2148356F0D7038E6CE2545E13142C93D3F20F430A927F96
+4902B1A00579EAD4B2EFB6E7BFD074D41A013624A088412D9E961509F1E0D60C
+BDAF336DF7FE2240A21A1C16FB2E112A550BB4700A61918AC6A21FBAF2EA2ADC
+828F356BC995BCE890CF78D8F0071DBBC47600589A65AB58D5F3ED6F0EFE2C09
+F8182026A24F645830A19B5A14C4DE5337ABECE46CE37EB86D21C6B7944F8C65
+BBB716DFCFB8E7B3885B85D376A69E5EE7A8F7029F6C89E4C442517F66DE9353
+BBE7C67FED5D1BF039960B1169BCB617A99526E7920BBFDCA33E11D279CD8AA6
+A7889AF9C8AA7ACD334E3AE2A4E48C33F44BCC96F3D78143BEAEF0EC9FA357BA
+83153E31EC162FB03998063DDE15DA5F51B261CBFC82690C0D4BEFCFAA5FCFFC
+E138EBEE9F4DA0CE076805D2FFD37586F1F45E7DFB68349C4173BC7996794EED
+EC2673224C40D2E0FFF9707F479745EA603BF93F6A99EFE10C7F449098DFE0E4
+0089BC6533A317F51A4BC0EAD3314DA8CAD24188DF1C6570C6E6DF36FA45ECC1
+39DDF72BE39B4A5ECA23D5E09DD856C10F0D3F25D78F8478D57669085B1D8124
+37C0E20DFF027B15614458F86E1BA3C655448F2FC6AFBDF333568F3704149C63
+E394A7F98322B15FFC5DA905ACCE397BD928054E48ABC3DA121B0A182555A109
+F014E0734D5AAF5858048F49F0B324DC77E060417B54F3A7060DE4475774C5FC
+77E7F583918AFB6E7C6E5AF0FF6708EA61ACF225DC79FB5B19AD288B4E2174E4
+A480A30FAB2617A62FA296825CF53C8EBEED170F11EFD6D4917770D273604800
+F384DB40581569C5041992F4EFF39079E8925294D26DFA83B091457E1E8B8B26
+3BC281683D4C19E29701661EE43DB860177E24FE50572FF9B44186165ADCE2EB
+FCC16E4D41DA9B0495133941815AD4D559F070B3E05AADC78D01CE604B260AEC
+6508DEFC3661719C04EA4F348B21BDD60CDA9EA543BCE78C2B4C85E870DB0B13
+2FA544ACABC56E8ADDA9CBE7FD8FA934C9AE1E0E998402A2CA6EF950A722F550
+6817C340EEAF4AB987C0AEF640BB2B739F5B21A96ACA55DD1DFC43F8CF9D1899
+FDCA0A5D55D2C9F4CF0F738C1D60A216E5ABE76451FD310CE60E485512139FE1
+DAABE87F8619669746C80D3306B8B6BE040F8C15ED2A69191180F3C887C847FA
+F3DD9FECE9207774CA07602D32096844F681AD05B79A59EE082B9D70558E9B0D
+9C9CDB807773E6EC3EB9BC15100628F961500082D34F2037851BB50546EB32A9
+E2ACE8E919B3A4B0CDC3B772B4670E3D8A23AA5CB70B8887D43C937BDA694362
+630F09DD0D5D759FC52D6464657CB8694E67B021DECF63394ABA00FC5294B482
+E7986938C5A302B41370FAB777A167E19F2615EEEA0B4334C5B644AFEC30FD84
+C61FC154A0442DE42606F4F86BFFBB296FD58EA4C61A266913A052F64E389B39
+00ACF232A472E72DFA9F75DEDC442D9D7BE5FC1E029E6448113EDD17E8F21A0E
+C13680609691B776763A537A85F87E4B0AED171C24151F72D63A5DE9A4407FC1
+FDD0FB731C8D37664BC51E050936D73920ACE8F3489470C75732A55C5147302B
+1033634FC4BFA63E857E8FCA328E9B7F05D0C0B52627F01AADCD3472281E0872
+F970229A6A64457F49A9BAD409B2FB60B683472212BBB0D65421F72CF3F1C4C5
+3085DB6D43BD7101985C6AED5F847C95EE7C3BC5F25CED1F90BD73A572CA2870
+3207ECA293318FFDAEB6E62B00BF3BF8A74134819BCF8C7ED7F381B3483D150D
+BEB0604C226B03E4DE88D7C58EC8C4DB6BF785E03E0381922D29E6AA35979AC4
+0DEBCACC1748EED7BDC1188F32C833D10544CE363D8BA4C1BAEDCB8533BC3C87
+C13A72E1B196E4FF17E364F4161416D54E3E4C81A9F195D0FD825525D5F9EF69
+723E889D8C82E3E22078A8E430B2940329E917728A91D41D834A0B8A6AB146DE
+080B33DD7D54BA206BD577952573EABD08BB0028F76DAFD32E5645A0020A71E2
+3503F599EB37E59502A3D87D16BB530007B7A5A01883BBD7755AE618DBA3AF0E
+BDC0013822545D40D40ACC23DF07BDBB0AFFAD46FFAA0082AEC302A2A540A30E
+DC3DA64D8681E01F744C06E7BD019711CE1AA9C34D60F8CEE96793C3477131AE
+672C0FA34AAD8BC6FF10B2D986506E07E0B93CE8AF15BB6F88C2E0F7525F5275
+6279AB8036BD871B0569E924AB1EF44496ECDA2456258128A8875F9C7379A65B
+A6E3B1B1B4F7D839E31E682FB9AF51D0F5E16C8C8DDAE9373AFEAE392FFAB643
+8B779858DCFC4D6C917ACD3B5DA3E3BCB41C5F489925D45398709BB202082527
+2CE1113EE58B9ABBE345E1E0B81326A0B5F6D8673F8D916A10D49E17E6A9EE6B
+A49DEE9CE9341D60BDCFE7C5E23F2ACE74E2410C8D7AA08B8C87934B7E25A293
+2C009BCF429D4E5855AC07C8BE039BE1C43D88EFC374C5D1D4DD0897CC12C4D6
+832E832670B3AC8810A742D19F2753E07C3FCD214BFD159E68EC7C70777F2623
+FB5A5A493B76C0557970D7D61776B9B10A62CABBFF26AD4BD31FD8B7C7339509
+6AD519595E5D9453EF513F9C8D081D9CDE9BA95864439DBB51215A3750B4BD6B
+8224D95966A2A7DE8643A3A4BB25B6D36C4D13832C3596C141B9687C783B42A5
+53393CDAA387B6E5BBD02F8A0EDC987AB79972AA7459833058891202CCB89B55
+8C02A10B0E4B543BBB0940791E72A75AE7F88F74FF4C4F22B0F130D97E38D815
+9CA982109A3D84B7ECB8704F7C553FB8BC64BC61565E48BCBB6F6A2CCC1F5067
+32217F7610347DF4849B4712E02D06908673117D7CC67598DD3B7EEE5C9028C7
+A6E32BD23E40AC3B5CA11E251BC9BBA74A37B4C6E1140555258C09DF0384F318
+8005E822A6801271634B6682938A4265737359B176A9AC91F38C4CC0BBE42205
+9C7896B48BCCA264B690491FF320917C8435649EDE509019E0D346DE9B241C31
+05D5401B68D63395F453D3EFC344948A37859ECF58BFC6B5834D2AE39DDBCB00
+56F9BE5115B8972A8AE8626234CE7505956BD6BF328F4AA09F2FD5B04A6B9273
+536DD8DE5166569A60ADCF27797C39B19DCCA6C928DC8A27C778D57405D77B57
+79A36660CB92D8E0215225F7D0B46DACF80CCBBD1020245B7C728D7F581C5412
+97191889A4199ABE2A0D261F86E5C1004378153AB6DAF5948D7CC2C0D4356B62
+86BCE32439DFDD30F5BAB2DCAF3855E6BB025737CE3FFEB1B2124AA5BE3084C2
+BCF2BC8C54212B75F5E741B66E49D36E51109007076B446C65A112181B42E721
+FF95011DBA1ED7C3349C889A4F6A55C21878647AE8B3615A87D3619057E14471
+04B5D5552CB886808BBC66B2CC86D7C040104A984F3B4E7B28A85FA0E04D83E6
+16877535A40F14FA5E2661D7209212D57B271F009CBB11F4C5096057A940C68D
+A2A5D5F2FFE3ADD8AC4B56D73FDF49A8F8C8E253971B74F5F97C9397B6273D92
+1A684C24845A9988D993D26FDD816463B8DC021381FE041E8B39FE1756FD9ACD
+93EAF3BD313EFE4334BAC1D5C0BAC7CD96B54CDAC088761FC4A712693AD9E27C
+B80042A35B024508831EF37789426A50F7729887A6136623FC72C79EFF02AF92
+C16EEA04C8BDED4E36F7168A6663943677F201B42C6FEABA4451E656F125A768
+71B87E37395283DA33EFBC32EC3CF594F2855934501511D0407F0927D6AD83EF
+EE8ACC2218706BBC1EF73DE12A30012DB5AB7585A1111DF2F806A1454C0E027F
+7F8A1A20C11F63D5D819E0880D0E0D5FA865CAA0A6AD24705F484CBBE6112CFC
+798587925A0B7A7DF5D0A6040B86EB87AC0D70A5B59A109A3BF7EC528E585CB7
+32403F77C45DA7A4734810421F50C25C72FF0F8414F5335789CB749E4D20D251
+2924278C9D4E3ABF5F266A56BECE755E5318C0B37F7F058CE78573914BCFD5D4
+6B147AE4E632C737C9F399F3415914DD3C57C05C697CA13DEF0696402444382E
+42257875079560216373E8D049C53D40CDC962D910F62A1D31AD6BE38675D993
+1CC639034FCCB16F47BC2646F9AB7C9A0EC6A6F8C5CF7C5CE4F48907B3734A94
+66E1538A7CCA5A25962D3718DAD9413D4A83FC1D771ADA62BBA18B61E5C316AC
+5A5FD60E465957FB57356D489B75BECAD72BE7D8B00E698C638C8559505052FE
+BAAAC08FFC1401C6220BD743C1DE9BDD4394EC43301B1286E309E82064C9109D
+86EDD1B9463464DD9802CDF87F2C69BDC36FD716070106836B1F094395A237FD
+708CF182D7AA177F8035BF20112A89BFB7C91782794BABA06AE5EAE132A409D5
+5495ACD3CC44115FEE36AC1795E5FFB697D5FFDE200CAE0D9F05AA17C290CEE8
+50D4C49C9D454C5B0478E34594C670D68D07AFC5F43DA79BE491AEA1E9580198
+6D1866D7C18D3724BB1E816138866C7365CEE09A417E22DE299410FA84903F08
+930044BD6190BAF3EAB5E6EAF5B9D1ACCD1E0E815842912B294B0AC8D005A107
+699A8D4EA623166AA426DBBE2C40CC591E079DBC45FFF20601D117CA0A350F63
+BC78A120D41C128945530D42C2EF749883C3398605C2FAADE077185E5C00397E
+06C2A11F14652CE4C4EB0D2F2D03574FB8B2ACC245F8A574DD8179ADFDC0E33E
+CD6485343FDA2B9B93A78A7E5A66E2F124CF7FDA4E7E1ED950CC26252B75F48A
+245E6276D3B2B57846E33BE57F199E5E8F2CC4FFC5C8AC892380A74A34370773
+D5545F0866CCB2ADDFFA0DB418FA6603242743E57A6B3865C91D1D2E58C90368
+1D1FDF0EA982DE83FB982AEBEF6B9C6C892A84E31B8F01E789F13D3897594C50
+3CA25239865731A70449CB6F5FB17E27671156D9B5CDEFF26CACDB53A6FDBDC6
+94D182A742DE0A6BA0A94A97285FABBB33978BCA5CACCDA547B5E2B94CF5888E
+F1FE5B08E538E181BEA643F837F2C8ECF2F037AE2E3BC799736B872356ED8540
+08132496E96093F6E54D81C839110668811AD8EB85FCCFE57BDA05B3BB36C49D
+493B8FBDEEED0A75EA7725F47C88877D3203463EECA12DD006FB114ED670CC01
+5B833EA5B7A2653F6EDE65BB4E4814462CF57D6DA21FCB31AB047B44AE237520
+A0985C465901BFC451154B1EBEBEA93A52426A431EEB4E5B67F09CFBED73847C
+5DF607D9B0F652E99D385AE147EB9A4CBC1BA1F8FC0D9BD0950FBB53A0E125EC
+5D309660F53D33CBE34F9A8DAB9B6ACC925FA8D5E44D4A925E832230A2E2AED9
+70BF7D0E5F72FFF045730EE23559EDF57276C359D7F4FEA17169C003D8913B18
+ECAD8580AE3216DA2C272665B7E884F1A324A42C3B7198AEB0CA29CC507F436A
+0E2F3C844CDDB13A7F08BC02EECE4654B65EA5260C79E6D765BA727C67A05F2C
+E859BFF7257A98E7417C6028C65162050D75BCD3204C134033F1F0238979E3BD
+16CC87AC37891FBF6CDFEA5F597C580DF2B97F40B30F1C0C3BE5BFE17F50E9BE
+649A7176012DE190C87A9A121E0D6FFF8AF785A9296F870CAC751D6AB615142B
+F0906CA484D5C6C5FFAA3AB1172121115DC0D6320050D821E127842FDC76E794
+BD15784EF5BA1F9744A5C7E5F5B1C13C8F6A589CE09E34E84E32BE17E8F0A7DB
+0EC8A2DF7B42875183FD7203C3648F71CE2E922A523C4992FCF2B3B006EFD0F0
+80C915358A2840CAC25EE98C63066F544867C5DA5D0B38972A30407040210E1C
+6521116F8934A475CFEC2EF86FBC3B6D4E505859FAD7EE1C146ADF6AD5BD4153
+9A74388B6E82534EEF4D974959E1817C79F5ADF22EB9FD06B8FD1F3AA33AF4AB
+EA293D18517B8E3BB1B188FA33216D2287C8B3B76BB1E1F0B57CEBBC7BC4A33B
+241FDC73F1462AE72C85F106C8DCD6258F98522D7F679770931D8571D1ABE54D
+4D7D7769C2DC95F8D76C00E43752C9B9EB6728CC52FAD9F0F970039C806001F1
+1F7B6913ED4DA7DC3354C8AA50396ADF00244F235947497731EEC97B62CEC45A
+314626A50BA9A651A2DFB2CCB98E267B4B99C4444BBE65B685AF3F75E3EE1823
+3F342FDA1D96D4436C250B2CEC024297689BA42EC47976147E5249DF44D211D2
+A115101B84AC60D85C6F4E0B0FFE40718828EBE248D3528F576A7B09327BEBF2
+75F1C0CA1493627C8CA4CCC318B4DDDE39D19DDE3A3512F37975D6607D13E890
+46B2FC2C190D6BD0FDD3DB46E0828E6FE14B0D4D05004A39742BB0C739771A79
+30FB99D67E3ED9C6D5945CB68CC07445F2814BFEA35E6EC66503F72BDE2FC89C
+5AB15BB82D3621AACFB83229AD75D7BABAE812DA050256DBEA32811132BBD3AE
+30705DAD3CC04FB369577D6C6A47234D64FB4B65EFE732507D634C104A6D7ED5
+011925FCED5E9B0209C1A6FC7E2241B5AC0137C9B02958DC49BF1ABEB4510EEF
+9CE5F52B8DADDDD7E2DC8239883D8E464E1485CF91F86EBA1F05C63EA0DB7D70
+5845A5CD291C4A7DFCFA0485F322E6F6169370B901BDA83074E03E3A7DEF6A51
+D747A4CA0DA80780E5C7750FAB43DCF65825CAF4F1384E732A82B41B7BC10D1A
+4DF2D164ECBB5A412A2F661AA9EA5A830B9B9FFA9BA28F7C77B4B44630582D76
+21729619FBE1855B765AAC1D1FC9F210015761110204A1DD1454BC2083E0C0B5
+302ACC80661F07A4E7A383D4504765F1BBA6453656EF433B057745CD4B3188E7
+80B1D64743A3D8D4C833DFDF1F7BE62DCA2E8F19B2E6B42B5824D9DCE4D25169
+B1ECD48AA770DF10B8CDAF0C052B74FA492C8F1F32B8F6653AB71E89C6AC861A
+17FC1C2521C3F13D51C8F3E8A194ECEB65D6E378DF77CA59261D89C22F447ABF
+F32B364C3317B10D7D4BB125ED13D2652628BB000C93FC0858927502959A08DA
+7D7DED2FB05F67DC4C8FD57FF0557DFB41B3B64B70E6CD4CC2BB1A93A9871C95
+8AECE589604D2728AC560357447712D6122A07A718A120192A05C60ACD76AE12
+A770F2BA949E7AEBDABB82DF856FC1B083D94A4F33E59133FC5852C372B3643C
+9C9FBCEC3842BE87407FFBCC197CEED5288EC521F8A9FAFFEE7E621ED6F7C4D2
+018B324E40D9DA379D44EA69CCAC6F6AC4B60496E1516EBEA89C3C71154769D5
+2D2DA6E22735EDAA07836CA0D80C75E746A5E10352C7EE38B7194AA011DE3CE4
+B0413B424160BEA8D036BBABB5F6605AB502A8E025ED1DB50854EB564A7F2EBB
+20A7D53E060CA39C4DE5031CB1B559F693F8DBDA03621F8F6082C8A23FC06609
+686E9D71059660B2CDD0D87E76EF4F72868347621992CE997D5BCFFD098369EA
+D5D393857D30B13A570FA6C7DC6EC565DB0CA5CF839B7F775D14AD508C52C5BE
+68CD329DD680503B8E76153A134414DF249A260C80D420E6F58FE267D10C3075
+5BA504D55FADCB03FB567111B64C5A307047607042D3BE73070A6C41A2D5F430
+A02548F6722C56FD30A0A6D29380AAB46B0A3F0CAFA020D5CA4DAFF00B73A08C
+568A14A89BC0DD190355AD8F346A5388EE11B5E814C087DF6BA4F2A2A3857706
+0A5DBE5A2FE2E5EF391238BDD884EDF8DA3161988BAD084968492F750BF85D97
+88901D90F27413763D1902690CA542CAB1A11FD7FC392365B20DECFC51642389
+F2E82AE2B0815F2E6D642AC005F9D919D27FA43164D322F44A1FF72811EA9E91
+CBEC140B38E52320B3C2A3E99E12E10CE5B416CD56AB3602595297FC4CB848B9
+8945B09267554B9810986AB04EE880C31B33DD65241ADFF147AD5FB644E98775
+6CCD3DCF3791960CCF51C263C36BD3CD0DE61A0FA8700F94117F8307FA253427
+E64AB799D6CE27239FE3BED969134A380458D4869F9A3D23DD026B21222ED323
+BF0C653347B5D80A1DB74D36CC658EF7DF7049E43E109E9FA712CAF4BF60B32D
+E82833CD3B0A264043E27F8A4BD73658FF982D2B7DC1813732714C8F3E07020D
+4D729A492CFE3E9F1F4BBC73F5075B25DA735CDAABB9929DFA59CAF06FB32A6B
+0DBE4039E516EAFA6D4211397F55CBA368286AF6533707AE9C7FA9C92B3980F2
+6D535BFD1ABDAD8F05B41280069A5ABC2C10E6071891E433C372F736A4F82DBF
+A442724B8CA4D1AB913B61CB402BF3638124FCBEED4775219ED8FFE18F26FA11
+46996E807D8F0878537A5E0B202F483ADDEC049817341890CA0515BA9B50EAC0
+D9CF13366E88F2729552BCE9188866A87E084CCC6BE773EC0DB26EF7C84687EA
+CB90DFD88A492C7A8A495018375B4FFE2D8A1D2BCAE6BBB4239EF32990ABD96B
+9D1FFE94585FAD705AF2C7C5D09F2410536B7BC0F693D2C90BD10E6D1F21F0EA
+61B449C48AF9D8DF6B8C40CF3BF5D7AE960ADEE9031B281745FD7E0F2A1C2067
+8BB23277FE5812392A125282235B1CA921BC6D8626994432EA40224D1BBF90C4
+AF80AE41EFA1F501CF0AE7C8CC1AD3EA097F6512E19B1977313B2132300CE351
+14A1B7CF795537B74D83202ABC1F30E246439CDC6853E0E16AA67DE68F91104D
+C857A19FD19266774A862AC4EFC6B8012E3734599BF62A2A10987D8E66A12EB9
+0181C1AA5029214BA6C1CE72932E156297EE549BDFE0E400EEBD5AD3E30FA623
+9BD16275D2C673DD757D458FC58814703E0A310658CB3492BC286E8BCEA52119
+4D2DBF77AD22E9E6653DC9B5ABAE4F1699B0118C9328DED651229B82F9C2E674
+8039384372131D1F9C6D3C552ED0E55E88ECC96BFF158D0E13E5BC5C2B893943
+4EB62EB18C0060496641E9CEE93B02E7E5FC55717912E69C015F689EAF43994C
+5564E5A4BA753C26315BB868BFD63D9FDC6366679ED1E867FF3527B9A108C907
+FEB1E5BE95D81A49CB46A927F47AEBAD027D728F4869488F3C2EB32A91BEEEC2
+57C0FC84416812685BC269B819650C63D7E89A7B400655A7B9937D57E1B3D66E
+CEBB750F0B0EC52CB33C32672980674F983E8314C49D634C541015D18A602B9E
+3716039734F351A43C35486F6AE7E4F5E3EF509359AF01F32CE9992AB4AF5876
+24FC19965F574FDAC74535F0D24D5993DD90BE1B308F4D5C9EBF21A0F094FCB1
+0D583DD7B3C56D9D2A5C620E8B993838E73A85C6783AD86ED94A29AEFA298CDF
+633CCFB27D5BF4F84F709B5801051BC0088ECA63E6D02D4EC74C2CDABAE14713
+4E6D6FFE4B4F152D14AA973ECE9B09DF78D4BE6B5FB62B1876B1AE7D7F94F61A
+D82296959CE171CDE1F5CEEC8DE98A8DB770C428373202AD265DBC8DA00AF665
+15057EAC78B3CAFCE9409D1675D729EAF2C7200FA1B20B372C223DA8C6ACF2BB
+2AF4D61985A52DCA98AB61055DCE71CD5C51A5B7AFC46763FE243F1895F8F915
+CE65F0F6833316F5B8294A9790B8F9DEA0F7B2BEB452CED4662B4CDC816261B3
+FB1FCFB4D6A2336EB40408ACE3514509AE32208BBCD952F54AF37DEAA18F44A2
+77AEFD2E07027EFC96B9A22B30FE1D05AD72A617B2C51BA0B3E37F91548AD129
+0A1674D8F8E36D190690E922D3E5D4A11F4A8C1534281EDF1E8AE1D4E7D3DF52
+9A7D82B0D6E73A6A2204561967132AD8150C71A83889EF70744D19C8D2A50989
+1AA29A536DF571345ACA92F4C0767D0AC410561E401FC8E4586A15BB59EF78C8
+307CAF4461BFCE1E5A42DB8505EC1E6E235CC7286966008FE81D8AD2E426E78E
+3E9B87BB29B224148F8425AA1B8EBCAFC7070A950920D5F81E498204B5068AD2
+317F664F717AE214FEF8C91DA5F834E7527362B9691B0939A917CAB856831BA7
+AF3268CB4364E8D2826BA3EAD0718EF3E96ECFCF5DE78DC519547EA0ACE1C2A4
+81CD9E1B5613742DB05BBBFD2ABE366A10FD8D90218D738BB34C83A1E4CFBEC5
+D4F8497FAAB97730B21AFB5830D926F2AD6EC81913418DFCAF52393CCE81D23C
+E44A38E63AA13F0B05625BE4D681EFFBCBA426B188D722EEF511F5F710988231
+7C89CA1D041C877951BD3666F39CF1E60AFD70237C94DCE0AD24C9A8E3E0E55C
+DEAA44D7A654B0DC255B6D1CCDB66B495705334B509879AB4CCBD9F388DEFEF6
+C135B0875658508E2CEF5AB1B1B67EDD2D9B2D8DAF3279B13D088A1A8E9BD07E
+9E3E08CEFA9EC5647AA804D126ABE371F5BFE161A7705A4EAC1F41057D0F2036
+B7001AFE5601544C76385797136B91E24364D630AA76DCE510555A0F2F9C3C1F
+21AB51814B579459EF58FA80853642BD9B5C61316A44BBBE61C5924D6E2D5E80
+923558A516092C344820B2FDA303695788847B85F382C9AC7356A19B8645F449
+80B5B0A28B148D3B9FF349A97F43FDB668045D055C6F58C3921A8A3FC3DE40B7
+06EEC36786201502FE29A5C31C926E372D0139D2957C7583CF44D2FABF004DA2
+5B613B628210876D18DCA2A9DE7B391027451052B2A09C4153BA2455467BF428
+0DD26997F39C20F41DB43DEFC5880A9FC2987F6E70614403DAABB926ABEEFCB0
+36E2F7B53B9E0AFD3B17944413D3BF32423D4985E540358EBD3CF30B2258E593
+F4154FDB13A2459F51CF66E30973D066ED04C9A184884AC896224C7E8FECC19C
+36F83B76826342A517FCDEF4E311B8677C3C3725B048779A498824D9C59952F9
+5D3C35A9C1F46CA02D096152C3AC5B909EB015AA346B72AF75F1DA75052280A6
+9972EE1E02B403D8FA54E303E2795EE7CF99F47949AC1BA8EC0758431E254BD9
+142AD913FABEFC32B5869812F13768D9DB84A92B5C7FF5E36DA2E75121053294
+A32350523F7B1DFFCF898CBA2C6D5963101F5072FA3A22B4B1DFC952160DF160
+77E432EBE4D3789DCC63C6DD72FD93F676E12E0B21ECB97E2D3017103B98D354
+A7272639DDF42E8260DD82A1FEBC06658575B3AC3CB95C51C7725CC878EE4CFE
+2D22057854CB47750ED829F15AA969B129A159188CA695DECA2A7416FD750656
+6E38F5CFE680480C8E35FA71CA8879679C5F257BA9708E48ED5ECB8B7C01FC88
+411E872B7F77DFD7CEE57F08811B89DD7671F76BBFB15573074119CF723359EE
+3B1C3B2098F3C096EFDE8DDCD1F216333AD4746D953727FFF976125BD1B4C887
+79D9432C118F5D401B427A3CDE48CC5DA66AD31270AF198330E55F75B6D4144C
+EFE163FE0025D5BE51D31C881913DCA8A0E7642A1C052A427CCDB71D0D5026C5
+F0DB66B54EE0281A4EE924FC5C803B8D86969793D0CD6D8E359A7FE2391CBDBE
+CA9D350217AE564AEAD14139A46C74A780E45BB11986160B42545247A0205F53
+A4EAE8A5C5C39C4C0EBD18715CA92BF4D9AEAE8870C90B9AD239ED31E291C0D5
+DA1B46F9D15B3D0AD0B83281AC2D9C742824BD66B1435AD7EAD5FECEBB47BC6F
+354C4271653238ACFE8C3732C575FD574AE3710BEB0EE8A177AB06E715306A3F
+6F3FFE555A2D1FE8832CE1F7E34F2D9D25F6CB04002E382E134D9E2714401A03
+8BA326501CD838F7CB060A568C339131F0239DF4CAF57B0F70FEF6E18B229CB6
+7E6B90D2EFE57C053763CF058D472CFA3480CC83F8754DDD38DB5779E0A10020
+4E1D8DB91FB515A5F62353F35333FE72FF99677B51073A7C62854A1A4F6447F4
+6A3D422DAFBDEA495979480E19744FA0176034AABE57E98540A60990F7CD0B31
+0F49891566AED89BC704950DBE56C594F89607F7189B690AD41E36E8EB3F62D2
+5F4AB75E8B5A4AD772654957C02510A7332DF9E0FEE697BF5D3B0A027FC222C5
+774121ECF991C3B55755AF3F448C1605A75DD7955794BD090490BE50A6628995
+1C2F50B25F50347739AAEE9709D2295B8542008C4C6C7F42EC7F1006E50C42AC
+9A6DFEBDFE541798C9FBF291DE1EBC14407349300A1266184D165BA45B1895F4
+B659CF40733DB9C6169085DC61D96BEFF0291572557BB39B205970F98EAD6E8E
+F3CC19E1DD13547AD53678815EFDA7977BE7928E28ABECFDB71A762ED37B6D3A
+9FCC95659715C47317885001DD00261D3AD0E62AB66BE5879427B578F155BF43
+7FB452A8997B4C032170B4AC96B1503C16877FCD5141F0CD1F2C0A265755C548
+FAB6C2B9AFBB90405781AFEFAAB65A172DDF50EC77DB40BCF2C3499B34C44E07
+8E56763B50FFB88985249DC698CC7A338B297DB6FEBC7016B580BC019E18EE78
+F2243FE7B78722F158AACE4B7CBF3F631CD38A49934FD79862B78882381C2CA7
+B52B19877F148B24E336A1105C26CF30AB1091552C997CF4C58F8E3C784448BE
+20CEAE23DF2353DE4126E2A541AACFB51871150ECE62F031CA1F6C62D744AB72
+9374B112537F04B3C8B8836724BE1623F5FB11EB83BFB86CDAC9C2D1A6BA4DDE
+5B8A0D52D04FB27A50AEDEC8D2ADE5C92869C1714180021DC255EC9293C553F2
+6D0EBDC24351CC3CA028E632236F5F33E659F8666CF0E991B210985EC7BD45D2
+652A601686699EDE09404A423BA6269580394F8C416D924FE5553EACD0580478
+981D4BA194288402277F5EB318C5607570C1C13D7C05B094E996C6B204532541
+58804F66117E1BAFA3FC190641E5E973685F1199E93BA30B2E21E5E55BA9AA1B
+8B23A4EEC8E48F3BF1DB8D2A7D2605C08668B155F7ECAFCEBEBBBAD52BD81D3D
+6AA3DA75C1070CE27A115FF4CA9A53AE9BEE0BE1688526D5300A853D8E1BB518
+FD612A88DB8C1373F33E0327A5F96A6A949A1A1057F7D10ECEAA6A30737FD126
+8DA97AD95733503C77DC89565C339410019F51910A7A387D9294933B70F4B995
+2C85427E083438743D4B121E184A294CF8B68F60441E89B2769218F1AB2FE409
+127494C22BA1B86A19617C8BE730B10839A73965EC81EA26410821C88E1AF123
+DF47BE758A311E9DB30713C58EB11CB21228C37F8124BAA72B4A257FC7A3BE2F
+5DE92314C63D6C29EF43679AE1A6AA2592A8B8F4D261C3913B28C15860A48C61
+FB6082B4CEAF34D8DD48C5477C9C8FB7BE56223157819D5C4FD194AC7DD12CBA
+CF445BDB1CEBA5521A71CC528B8E9A03B6D7E8484B033858C27185EAB563D12D
+68E5781E3C32A751A3BDC8AA61E2D12A30EBB63B0E65D0C094EBA423CA4F93E3
+4295EA088659ADFCF8D4C04E1DA8662AC56AFB1DABF0F02A4202FAB2834BE0AA
+57C78548AFE9CEB728B466673B8281412C3543A74249CF3BE96290741D34C73F
+0C8A0BDDE88A751B6C92EE0727A149C4E4897C32464A04F4A9850034802B5B61
+106771D35A0F38A8CCE154ECC6316765A978DB5FBBC40364ED3019277501B797
+B3A82E1A24D0C93B275F62BB22CB13A0870C63E5C17DA91D72A70AE8D8A9263B
+F4B11E811DB061322330995DAE4BE9CC77FB8D52EFC409382786DAE1C5FBD89B
+976E2C2B2A7EF03994220A47412072DB4B6744A3AF3C8BB7DA94A302A122D2B9
+69603F4996EA7A90F365DE594E09D54B156B5BC62108199052482EFBA2B9509B
+80B98030C8A598DF3DD137A980965B6AD38BB36E90468724D3BEBC97470422DE
+62D043A0682D30DF47CA36917EE1166E48C178D9EEFC9E5109B0889B3ED61E36
+8FE08EFE67A24856A8E298DE721AA064F68BF38D8FED193A93950DF9D83CE52A
+4C70BADEB5626DCC240C798A57E365897DB847E8A1141D2B4A7B34D726D6D9E4
+D56B5D4312D5AC01293A55362A6A7AE6E3221CDE683ABE93D54C8E0421999CBE
+982FFCD77D88A7A54874D9E1B3802295683215A15B34F0E6646EF35698253F92
+C9BD94E6CD758647558A130A7F415C32DE5ACF3E829E432FEF4400C177C96C2A
+6E43AB236B9E4EBFE4579B08B02FEBA3660406FD3157E1B61634F066FEB313EE
+10567E0E52F0445CE2A072A3D4E083DBD64DA04A1EBB2B0D6D131E85FAEB529B
+740879214E838CEE99F5E1368B2DC1938A97D9326758B481FCF4C97BDAB3EF68
+25F79B7C6C5CB408BE2BB366D484B258656E3C070D7880BDC1136303A72E2459
+878E53FFD9BB034A84111A2859FF255244E202F05AC5EBA37F8B352A592E14BD
+7913DA80C69A0CA65F25BB70783BC3AE556167556B4C5E382F0B84462EE0A51C
+1C25042F6893E1D1EAFA8E71953AC764C7473D906E5CD33BAC2A1D0D594B5B51
+446884767B53AC97229DC035CC5A02FAC222AF9D9D4F2F5B0A5530AA6C5FE06D
+999D45751D06754600BEE6A778B77CCFD4E00573A1CF1B8169BE1A281FBADE26
+11EDDE9ADC6E0898235D656E6DD0F8966B43622F6AC7904DF39359EE0F3FF7E6
+BFDCCC2480ED79BB17E43D5BB79D0654AD92A5F3DEB90C8AAF2008F8263EDF33
+FAD8329E487A7F31BA46C3F3DD6220153131B305EFD23C10908728A86FA57F22
+47C7A224F7A0E0776BB8A4FF7E2159E7DC61785970FA25ABEB7B11C100E49175
+2EE8346B59150535375D99588830D943FB79CC7D076246EACA26055990D7C8D6
+BB8928AF10FB92F769F2F85DB4280D8F7B39ECDA06C8E18FDF5B6ED0C1E5299A
+0C219BC1118AFA68A020D8514835CE357A090DCD39741CBA75BE62ABDE92E2CF
+88CD97318B616EF0D6B11A21502354FC9E69A1D4BADA349A6D3D79798B694B2E
+8C44A6C31B8348EE672D092B061529EE178739133BF57C766BC3F49B6AE7C62B
+781B240959F3275802518F210685EA431490994BCB0CA2ECAECA38F24EE26AF3
+0A4C54E8270196C452F504F9F9213C5B0224F6A0AE1C690338CF83937300C96C
+77D4241CB4C0F852E0ADB5AE3E8A456A5B749652621531E5976DBA5BE091A3D9
+6BA18D0F277086B0D773556F6DF40271C8038B3CEE459794AB12FE3A6037C850
+C9C4F1CD1618B53F7A4976BF426288C7D2A41180EB090C9421E8BED372E8EE3F
+C4D4C5ACE2590766FBF42B79ABAEE8AA572820C4
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1308,264 +1911,6 @@ A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMBX10
-%!PS-AdobeFont-1.1: CMBX10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:06
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBX10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-/FontBBox{-301 -250 1164 946}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
-7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
-77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
-2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
-FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
-DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
-7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
-9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
-CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
-6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
-E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
-8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
-3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
-EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
-0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
-4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
-1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
-757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
-0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
-6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
-E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
-61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7
-92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C
-EEAF70E3B20C64D4C2B34A084B5770BAB2A974E898F62BFE90F132A37E2DCA4F
-43E13DB13C94DFA8ECE2B7374827AE168634FA007F8981ADA046CED3448BF453
-FCD9A4F194FA648F9FC0971734BB69CB75348A88CC361FF06E984C86AF0EA429
-DAA5808CCE3583664AEFE0C59EDA04A147FB51227A5AB0C13942323E9B3733DD
-3EE7DF7F774DE5D0D0980DA8C0192983F1E3EF18481EAF1EFEDA0068BCBDB28A
-7FC7D9191EFFC574588DEC1E180341DC959F8EF56ED5B19F50AA82A4653649B7
-CDCA11A1FF27AFA7FF189A7E8A7C0E94AEEC901DDEB541604DEC0FE90FA0685A
-FDEADECE61CE2731FDDF7FCF2AEF7CC2B1EE7095F483C2597F66694FBD2AD81B
-F68FF2E378BD8357CD1B60A1CEDA2DE760A98868ACB45CCC8CC2370FE267830F
-B795058E0FB0EB3C625259C36BF9AD2EFB5C64A45797E18797CE1A2C0304CDE9
-9D88E11E878A721610EC57958C7E80A5E78226017A263288DEF5D335199E8F28
-787DF769550AD33E15342FC5E4751F8865AA66E78B8CD2388EC3618A619AD302
-5760E9F293085CB54BBBDD47C5ADC3F479E39A795541ED8CC921D1B41C9FB1CE
-57B1340BB4BFAD1329EE4EF2DE599944404B7DF94C759037CBE96073FD77DAC9
-B140B4580EF178A84D0746276D6E667E26671117EE04102304F2F599A423A687
-53CD9E2B061D02D54EF56439E33AD985A84C1CA8F6666CF7746E0DB19A79F249
-AE1F7714AE5E1D6723C5D3AF86E6ADC9F2BEA6A62C3C03A67414A99FCCCFEB42
-4EE4BE9FC8A530F06879F46889624F7D704EFCB951C1DA1613D55D61D33F6213
-F12610A6F071E79918AC289EA5A3AA9049229902B646FE14E8D19DBE673E1D7C
-76577E34ABE80ECF2F5D6E13CE0926F0C9B11F5E5D17EC5986042BA2AB6B1EE9
-B54CF450D616DA46373918953438A7BF83A5707CCCF26590A7EAD89B5D357947
-0B6F8BABCE6FC66BF2AF462C2CB99B5A68F1A2C237143FF92C2646B149EFE040
-41F97A52C48474684B9EDD0F3D0F3838AFFB70E7F7FF8CB8BDA06483F8DD04F8
-914B752F4C116BF243D31CBF9ACF04DA93BDE4B87D181C42111A2C90181E0A11
-9E87434F46801D6CFEB350467A78A899A70DC8E12CB2FCB376647F5A155A83C3
-77B72A0E058550E0F60C273A6320B331A6EA21B51F5B00B6A5271C331235A8D6
-FB9BAF99E4565B1461937DFF6818CCB8A8483BB54E58726C1DE836B9C4706491
-422F243DAFE6BE7369B09D87BC5CE3BC8085344D4C845A45AA9D915695F9BB8D
-9B06CA358A3A330694E6D269BE179704DCEDE985C2D886B7B063AA7F521FC8B9
-E79876B9FC0EB9BA8441E3317316AFA050E3668411CE8134224945A30F2EA5B9
-A5DD581A67B9ED8497F91589B3D31D477D0D4E3F711003FD2269CD368D89C556
-E938F1DE5372BCDFEE4DC10FB320741A1E1BBA627868AB665DC58BF3F3EB6C65
-C492BB9DF8A66AB2DF79A69A13D0BFF6A0CF5BDF7DD67C3135550C57DCDC9FCE
-8A2E4802BAEECBE8163D730616D7BD27380BA8F120DCACFA1FCD39AC538D0B74
-6A89102775A36A07A485371C6003849984EC9510E44FB64C7C48DD1D4EFCB466
-EAC4C05214A22D562AC26A4A12F285F5722AA8912988552EEF2AD37373AD005F
-90CF5C1BB6F1F0EADF0DEBCD98578321BE27914957E36B33903866F84DB9E29A
-0A2ACF23DDA2837A661EA5D79E573866546E6727D034374F2012CF2F9802C313
-3493D65D673A7C7F11B3CBBA5E228A1A1B7C0DFCECBEFA50F12823627F574B0C
-52D3BFB446BA34DD9DBDAA8E8F2A340CE08BA4CB7B026962955A24D14C6D3689
-4764599FBD400348B160C47A2B7854905E65F68F77CC767919CC54B3ED08B176
-FD613F32A5FF09F38B5DE50ABCCE670B52FA2D52D89D5FF6FAEB9488C13B3D9C
-47810A096C17CAC697CE51E8ADFB9ADAC0E4D7957E460A9681A9D9AA97448E89
-0DBAB82F55CF1F841AA057F40A8584A7C319A58803172D300C2D8689194E2C70
-FCE23E8A2BA569B30164898CDCDB8DC912C7A5E272C0390A1CC4B904A5C6D20C
-19E4D238EFED56C9066E377FD2823B005C800760EF772BB40341192EC4518E3A
-89E066BF7FA4BFE89F3194AA5D93458A05EE292473C072AB013F278909253677
-9EA061C1445F06277AB3ACAB37B71324F92F7516C6B900CE94D7ED439983B767
-AFD51B9DE8945067D8700CE394CCBB3C4600CA5EB01E26ED3FAE907B02CC6890
-4075216C6D9A53295FF319A282610EF6DF4A499E36D57E47527814BB30907191
-48F365D70E0BF52E3E0439E7D7893EA04C652B2481166A2ABC7B3268C2EDCA09
-DF7B1CD038358A34BE568262612A301690D560AC74D1F7A78F7614F490ACD793
-DF3617DBD88EAB3A7C026B3264CE901BF7EAD61073BA340DF216968C873B9B0D
-51ABF6B3424A934E3693D3001AEBED738F678C2BC9AB3FC6100316342022B997
-942F51249B6B5AC9A6F444377FA13BD0B0A9696D292EA1D41E4653A01238D6AD
-3F7AD5EFC20EFB36F3C197078FEC2B21072FA53F13A1EE408F11D5D828CC277F
-22049560E3338525019063FC4E5263F9338A0E4622B43F3050B13BC20C42F594
-7B8FAD088B950246563570C1B668425EEE484234FFF966E6F378C444EAD0969C
-BF579FAD5E0FD14B5DBF6394A2CAC132530DFCD8CE5E9EF92E44F05C1127711C
-B11D2DB2A7B96138BE44C15B641FD23E0075DB095DF7C7F1097FE15FDD319620
-C3F26688ABD69B47C7A09D6CE33FAB572315585109B9E7D0B89ECDD142442813
-522021A39E9060CA6EA7344637BA301C3BA10FE6A68127BF92D1BB8033909EBB
-5B908B6B06B826B5D5D885B7FE00CB023FDCB2A5D8921C4EEB33FFFC80F5FDA0
-4FC64F3F703892754538F101A171E51013FA71A7EC889F168DD2919C62E351D1
-60E1988EB9BD3731160CAF24718F655794D0713259A331D2559520ED7E807F4F
-7E1A89EBB1879EB4F82C68457B9F0DC6EDB701B2C66C60BE28B0F2D01B82DE96
-A7DDECC89E2A898ADBE47865102414A43E9629B5999B445AF01A2FC5675366DA
-7779581EC7A07B3550F7247C33A82CD5E3F06B69FF8D2CD4F1C49963ED55D935
-27DBCDA1E5010726030FF73D6C8127613C569D94E8D5AB09D7F362A845A5F191
-B7017CB62BFA6B9D179444F62C48A6A03E8FD80CEAE3E74B58AEFBC2B4467D63
-DB6A20083E260425FA8B18D10CEB6562E7AC0BE0238C26B274A709A2240D7F30
-03425C37E5D49B94B5A8F6EA8E69204BC861AF0FF7A33318D2DA78EE1C9C09D9
-A06DB0DD4F54C5E964D7197973F8988559FBB567B5B976A64A40B04B096C1E67
-CF3CA13989F0D05CB84BF89AB8B4ED727DDD60341DB653E77B7525774E799D53
-CC5E118246E2ED1429B48CF00861E0ED228CD9C08B71EA150CD8533FAC568DE4
-2C730F137F63EF879826F5D287C23D3DDA685D763C0360328FECDE0E29066ED3
-6905199F9B25FACA384242B9B92F29403B41BA0572B7C560D8FB637ED23C4A27
-70EB855315112FEB9456156E29B2EBBD941B9916EC6279E8B95775AB0A041CAF
-229F53023EB05EB3BA05B1047764F740E22137CA261419605ED11BCC1D1177BD
-0C169FD5FA3B9559FE63899101E19F1A537C8969A55D1D11C7362B199410572E
-D7676047A5892CD4BDCDD96209E826B350959DA0FF5AC0B5AEE8E14974E60091
-E84202D0517BFAFFD838448E3BBDA0F7728D686340E931F538344FF2D0DB6545
-2AA66994D3C40662EA07DDC898B5879CD01A9504C91BB40F28123895F5B13163
-DC7FBD61534F3572E90F018068D14486C98506A9BEDD87C9C5D0A363B4ED4C3F
-58F45A89E81BA4D5A412767A8DABA48EB7CA6A7EEFC8A28349C6E3E0745E9E21
-09E1961B1798FF0C50BD0CCC0D519D1D4C11143F129C4C410E26FAE00E27765A
-5E3A0A6E3E79D141E49D36BD6B889BCDEA0906C941F19E2A09526C86759FFE86
-B42C664A8E4AB46077A8DFBEA0FC04820FF43C4C781D84A6AEB63B9AE50F29DD
-E6C03CA2162CC138A77992F6925961E7C6BE9C00BB8736BA7A961BD6AC40A1DE
-CB78C06D3AB1205DCEF285032B21F2635C5B78F002563F43B6A3E7EB03891D23
-93C48511DB6F7BF9A7318E3A15A4E57973C5697379C6B5DF55513FACE2EDEAC0
-24BAA5F924F93243A90C5A4FCF9B95DA1395EAA3864F9F1046D87149F53669B1
-553E6302E796726D95633493BE6521290F19041957F7AAE38C5CA40D2D9F4322
-A079EC97F2E11BF3D82D96C9AA2EAC4BDAD0F7D1AB7D63CC39CCE38EC3A68496
-249FFFF330576AED4C0747BFBFA159C3DABFF480AECACE538884ADCA8415D6F2
-E43409B5D32A22D5997D236F6508AB0766846E617E9D4DB90C4B477D368AD8B6
-F0E4D1A984D7BC69B4FE9A14F4A30884CDBE7038DF8DAE42028FD7DBC0F4ECFA
-906E57F7DC4F0E6CE19C87423A750530F641316A9A2B5488E05BF37BEDF189E9
-2453BDD129DE584606F3E7570D82229DE9DB2C44C35C775C564465221CF19C5A
-016BF94A9B738471EBD72D35434C75597A8ACE4402C43009A47C2FF7FB795502
-73DF6E685676105743A6FED0A43656E871C09FF1D6F35C50D4F03BCE04A8D3E7
-7D9754C186AA7C655FD6DCBA4206A4BB44F6ED39CA244A25DA66AC9460000BCA
-2AA5AF0DB1895D6B3093DB4503F4AA4F04FAB3F368D7178D606D13707B1C4837
-B84813F681CDA82CEA6D126D4E569445C174488F1FE51F0F65A8F243B9817AA8
-8780DCA7993832A6D42F2658FAFFD693CD149BD956193087C7F8E5522F5E0D5B
-0E64C00BE5CD1CE7E9013BF8DEA49773D7D5F5ACB75A0BF9839808B9A2C501F4
-0977BF56640764D855A272EF5204FCECBD1CEEC156FE04AE86AA644C1C460A9E
-6DFCB417DDB7EC6759088B53D33890C88AAB82A5CE870AD347E9716F2E48856E
-EF214ED9D2407246C69FE73EE9FCD682E8ED508454FBC00D68F1523560AA5357
-5B391524C09F29A95BDFB9EF4E824D08084707638B72CBD82B7116B211EF2472
-67BD7BABBC31F2D77B070962BB730FA666F8E0EE4C7BCAA4B5FF8E3033A5D36B
-85AA043508E3C008574AF27603BA3CB5E9DD137462D025DD12E43CD90E12EC37
-F8597E07DD541B080410A052A499F6923C4E839515EE3A22D1A3CF78F5A0B0B4
-A92BA9C07BC55A80F6F207511AECE4F1179D2C3EAAB292A61FA53EA8E5D07FB3
-31A3AE227303D0E9B2BAEFD0C13525A83998996B2535C60E216A24DB9DAB7EDD
-A8C15CBFA67AB439D66BB6F9ED168088982E19723EF291B07A805B41BEC5D47D
-E9A26F6DD217EB8C7D241C60860950460FF5231D8A6062BA56EB670EA4C72FB7
-E2126C4C928C617FBAA138D9FA5F854E3BEEAA46431395EEF6C778538B2A2B15
-332653EAEE473DC3DD584C4921312354059620D28AAEC8A2BC3371560E0E1646
-F45FEF7E3B9A36F6289257A84EA4C21DFF2B77EE7A87ED896654BEB9997B5B57
-96909E8D6CFCD68E915350AEAF992EC493720194C7427EB9981CDB1C1167D0DF
-980D7D0103ABE4DA122C9AC7EE5C9D21B3BA6F07D533D027DDB27B2E94CF78F2
-334D8A32B056B265348CB93605E6420F5A034C068A44DA2FBCE8CD4A9072A763
-BEC1EC0361AA7DED64EFE9DE89F1B756CD2EAF4212B8E13007317BE98D76844D
-17F3D97E097D15F78DCD4C019A5240EE4D7441F189080008BD44F8B25B8305E6
-3C88EA20DD76FC84F1764758199EFBAA5266E94E4E57CB948E92B71ECA0A0A08
-5434C117BBEF6CB1F49869D7B8AC2306E9F8595C16342B56C44C7DCA580A4337
-14FF312150DCB985799C3F63BEA42DE542DF70B511C69BC4AACDA78E382E2940
-FEF26C86A3966A7396EE6E6FEA3F562BC5FCA00500CB13EA2E18A641A292D726
-85065BE32C6904E890325F1928F10AA1756733048E0D602DD235C1E4EED92EDB
-EE67DE5C7C0C8E3C7922B13FCC2D2F7AB3AD0F56AACC6AE4C02676DC22D22796
-B516DBB64F057EF1FDC41688F382C851526AA4A2DD70A3ED78057B2BF52E2C6E
-29E6E96C7147EFFA374A2494278F83B6CE9B1C05CE8336E0AECF2008AA87F360
-AA3757C833E7FCED0326DC1FB497E06C5358EF2402A51A20B3D627B572F1895E
-6AB9056AD0E31CB3C0F2C7C9749B316F4B3A83C345027069538F7F5E4EE52CD1
-562A513CE29D4759FCB9975AAC77FF01BE1E01E7F7647066000286A0460DD391
-64A56FA9D33E7DBDF17C4EFF5679C6E4BEF46B082936A109E4F2D7138BB33DFD
-A9DAB21CCE25671F080B7A0CE6B062FFAE40752839907C2642A470F0A598247C
-B42C6AB354F7ADBA87BFF9FDCCF2C270913DFDDC1EA456CF2CF1D62B3D4AB16B
-B02E4B2BA43C971383630F5E9CA0D85689970ABA81E8305B625ECCFF4FE4D4F7
-815C5CE45FA8F803FE4D2DD336808CE966BF96317D4C0FC700095F3F94F3EA3E
-54932AB5A4E57410B67FBA060AB911BB3239393A077ACDE5CCA16B582351AAE5
-3789DB7FC83A8C6FF2F2224821260E99A8BF848CEFA564FBDCD0C1FB549F474F
-CF9FDB885A093F5D4F613BE7B2F624E490206CF14B9BCC062FB0BC2549CAA7AE
-F85E0A5D1E691ED8A39508429160A94C61B3F69D31A637A1A8D4E1B3F76D202C
-FFF3E48DCC6E910E93CB3BA5CB7FD50DAE366A38210EC81B064D911CE3D774B2
-1B34BCBAE1DF62B691BB23FEC5713581963D9216FDC154BB7FA69DA43B670A4C
-A07CE43720FDAD1C5A2A70C1FACF13A9A4D45774EAD64F05FC65D320600E6F2C
-314FC1EC7ECD2F06FFB6C40354FF8626B3725E6065859C0CAEEB1B66A549F2D0
-22ADCF868F01ADB7637A8F017F7C47314C4376EB5302AC8E8AACE80198ACC40A
-3E16667DDA6ECDB5C1A6A12C8F3BCA5055169CE8C97EEE88040D0170F990E079
-FAA40AAF22AB403C56880B3D96F479A279CAC23B85F06FB0C66F9A3939EB6207
-283B792C0D8E6C26D5DD776D22ECB84A13CC6A154E6F8DF5D0D6A1963F296ABD
-93368F196BCD9EB6E6220B75045353EDE59520C62D5B559B125494C6D01E53C2
-ABD344CEEA46FF3BDC54693E6B031DF6F995EAF42899873D2BF37EFB19C5E764
-ADE116F77D9C81BB107ABB3392C28575C763CDF9E247504DFCA8E50F91C94811
-2F28E5B3F2241902226A556013CB1EFF74495C6639DCEA60A89946450979572A
-FCEC6C00226F1EBAFD7EB469A66074DF0DF24A420A7C2347A818EC2671DA5238
-5B4B5656AE50B5260326A868E15EE7C21F44807FE05300BA7B8201FAE5BAD485
-7DA3EF7D1ACF5ADB5963FFB43F9936F1FA4E92D05705AFEA26D074014A039F6B
-F06E017F4D51E8E99005FF4EDCB58F60BF0A6C9BC4E93B8912BA0AB4390A3458
-BB81CA7FAD0DD5131EAB9E807B840EF026020676407603D085E8F89D932AB04A
-4200FA0D7B11EBBB84D4E6D80913CE3A600BC11BB7F69547B356B511B0EBE0CC
-B36B9030C97B9CEC7A58BA6FF38290DFA6412BECB8A810FA1E34C1D024A3A530
-E584D95A9BB13E55945B7D9334DEDB96CEF3BD13D6C57D2BE38352EA19D4C609
-F798DC6E38ED7B1B43CEF5DFBBC1BD6AAE7C48B47F2542AD54C6D6C3FEF007FE
-66E43BE6375661AE84EBEC54AB20D37869CF9E1DB9A49C12B6D943F462BF7808
-DE6FE0DFD0E5374E68C17E00718E8B1C2E8EAC22D9974F98F485745C5534146E
-B6E1F782813D33C856383A1D65
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
%%BeginFont: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
@@ -2567,7 +2912,10 @@ end readonly def
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 13 /fl put
+dup 42 /asterisk put
+dup 44 /comma put
dup 45 /hyphen put
+dup 46 /period put
dup 48 /zero put
dup 49 /one put
dup 65 /A put
@@ -2642,299 +2990,310 @@ EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850
4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5
7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40
30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9
-2E080C10DE923C18A4E8722C0BA2247E4445AF50CF2457D0F320AB16DAF58530
-09C469922A41201DE813145520288C427C8CFFEAE4037F0999B1ADCC872FA414
-E5F41DF44AD1A79F10F62019BCD84663280343E7CA50FF4106019AE0A0351B36
-F889814914B4CAA436A5E2A1524D45CC0BE6DFAF1606662B5442CBF6E056E49C
-97525F06D93E23035257668B6CA0ED863E09AB10D930BAE8EEF482B9ADA477DD
-91138C17918C0130A8417BEE30145CFBFD9749668656EDF546845A471FA50E0C
-018D46A2AFD5E2C587F1BD1A439215AC8FCF61501657A2966E51C4D986672B00
-2081D80293F414AA902D91D0D1ABF7FA6DA81770E4C38F16D3D19579829A347E
-1745955A03D18CB37409B28BE6579F9CF04151A2F044E99C0F2805291EDFDBA4
-02D67D6FBFCF4B3D3958D5BFD0AC0D01604F65FCD631BE5C49CCF9D6A78C12A4
-EB03F11923C1DF636433A112EA558D5F0681D4F784BE1585E560757BEE67008B
-85C74A8F34EC016879E9B5748F14FE6076C7D27F58F4AA7EECA1F8148333A791
-E9C84F617004AB64B40C4C196C3B4F730B4FDB5533094F003C35BC2A33F194A6
-BF513D20AC55C18219440DB02290114BADF3D5074D0C336CE12D73AC9EDDD509
-33245C5731DEF7CC5C770EF5A820CB5B8993D3AB0B34033AAC8FEE06BF009382
-ADD7C9CA9E74922330E0DB6DB9359F475C377556A05611599606AC46157BE365
-B27382B2984406759B4E29A4DB0135E2C97A8FBE1B6230CA84E5B960FBD61BFD
-EBB60B3D1DF58541F85F6C7265BA68BFD713417F32E8BE62ABB274948A454446
-D2A3C71DEEF2D0BB4C54542635972F892FEF2DE187DCCF429CC745D43C01AC24
-9C652B4048DAC3FF784191CD37CA564127D4B91000A71326769C2AA9C84FCF1A
-5B512FA171E048C2346A98C7B81BAA590E425A3211B1EBA63EB2AD0F68C23D30
-264E24F0F89F752D5915A744965B9EA532E567E213045EE926074C5137853B0C
-68B7F1A32BB6EA8C2AC6E1DEB03504D05AC453EE739631061C02DCF90AD01721
-0A4923535DA2B9991E4E9571954681126089D40ABF277433B6AD7F6A6087DC92
-31845CE60B70377105B48FA6EE8EF3D02550D160609ABA9A228401622315C48E
-F4FFD3E24375A0D7C88D4454F55CE3970FAAE909780B2BE960DCBC3E42364958
-11BB1801659B6DDE9ADD83D7ADAF66A9580061F149BDA437FF7B5C98CF726A11
-438BEA6B7948C4CA968031328B69EEA5C30ED6DEB86DD36E9E5334B93A9F2381
-B141A64F2027360C9E7671C401AA25605405E507AA416ADD07BAE01489574482
-5529FC37F50197A1632CA085121AC3EDA547AAF667F0874078332B8AF7EB2716
-A92E76A5025448C81F69B9B7AFC56E794ABE5EFCF703A54DF577DD7C17BF6E56
-0540A84D67E32CBFB06AFAD3124998578CA11EA13E707EEDF5EE34689C0515A4
-5E63C0183DBB9D947DA2F78319408285D795350E89547BA0D1751E7ACDCF4255
-32F143E7FF199CE6A2C9153039C2E15CE19AB3475963239AC3D64D1FBDF5CBD8
-99B2CC4B8A08ACA3E711A795BE8C24F857EA747BDFEDCC87D32703BF163A32B3
-8127B04BDBCAE3764AE5C3697722E08490888FE9BBF5621EE0244865AC8FBD5E
-B0B8FF2E97B66DD2A0591FF6CE09443F38EE65E999AF40849582C7D4A5AFF878
-0B32337FDFFEA19314BC17CF387C87641E34F285FE041B5618057748CB522878
-34B9636548B37CDB08B35EF77DB2E9A24D7685D00ECF05EA9182F83E770CDD6F
-81953086B0A0C31606D991EC755B051E7C89B5CA9AE6C8F659EBC3E5CEF4B846
-3118F1C39F01BA1BA876E9B8CEAC46DD210BDF9264CCA38BC9AC2E651AD62FDD
-5291C7D1B0D958B83C5F6897F22A9976665CD74CB3EB44AC4B8CF4D909812744
-441F3290786784D33716E27992DA6D18A58AE0789F981DC76C456ED7752F00B8
-8E81CF58D8549837EE24BEE7E62BE7913295D7883E5B527EAC1683B84C1507D2
-0A7F8E00792B2AA7D6B3AFF3FB91CF441608219367A1562294338BCFF0CA5BF8
-652991D88CB4F748F8EDFD039EC8E4940D689FF18A4C3923BE1DFEC77D51BB81
-7A12D76CAB3B0076CC7EA994803AC928E3BDE512F981854001CF52B5FD992263
-87FF68324685FF589145E0FD33BC3C81746B08D631DB60B190AE501007F7D08C
-27AA346C653F56060D06B1E41E2E59EFEBF8295EB1B172C9FED55E95601043B4
-D8F1C5FBEC42D757E163422790D6A67589FA5D2790A996A2272F2CBAF69028D5
-A13E016E7C3D285E6EF9637A18F01FD879B0E4301648A6E3759C88C68A5BD582
-A4E6DB3D1CF5EF74955464229F39B8D6255DA47D8BAAFE09C928BECD13290F4C
-12606756DA9576F853A92CF7C0B71E81C4FC15E4B78D002FEB3A56EFA9FD8F18
-DFB507358FCFC543677B715B2F59E975423A5CFAD6B00B50A3259A60C68E46D9
-9AA5611C7D839F2C889AC1B75695F0B1DDAD1F10938F6483C58F5D0F2F25EBD4
-F17179D8C2C88121B76E21E4A5EBF14F34FB6792936F0A169FD5167D2B4717B4
-10DBFC9536FCF8C1C00F855C29BDD7513AB75BCBAA11A4E6D8F7975AE469355C
-C7AFB3CBF5BDDCB66CCF2AC56FCC7518E6941E25C0D4F3830D586CF9257BC21F
-A97AFF2FDD093833C88477F917985EDAB4D870B1F30C6074D296E2AE21AB091C
-AB1B5B144AED3153179EBBC9F87B9FBC016FBE8739F660E170BAA6CC2E14CD68
-12F2AE2FF8B41EDCA917909179FCDE3445D6F2AEB81C3214AE4F124C1472D109
-7DA7635E42FAD17CDDAC67DE0D11887711663BA505BAD344292600297050C8D0
-E2CAA1114D1A3204FBB919F584234F06EEE68C41440141BEC1A76F14F18EC517
-98029E371381D3F418699FB8FC659304689303DDB4D2EB0E164F38F07EAED0F1
-0BB4B9157A1A5EF36849BA070D084AF36DC748658D1569C6A6B99F375E47B9B5
-ACA4B0B399F51E0AE785D3C38E0AD77973A017AC6ED39C6B551582BA5D64DDCF
-1EE6B050D81C98E93DB2AB9DD84737B35385BACDA96D31955BC1DFF0B6ABECB9
-EE60B19D1728CFE958267E753B7A15913AF8262EC9B6A04B24ACF6D8848E0A51
-9EFACCFE94F12E18CD095C0E99EAAA07D39F47362E3146FDE419183C80B29A18
-6E15FADCD59636C0DA9A512DFB4445CF6763A523C7BADAE1A510A156E042BABC
-4D597DE5C5E3B6461133D37DF277711BCA0815CEA40908C1D7D7AD94D2673B56
-F1C38E8BBCC4EF64B0CB462BBB42449F5E26BE1F6D4E52B671366F4F15A77AFC
-4A1B0A74692D7E57E0E3CFD92CC71E11FE8B30AE22B90D0896741435464EE507
-A7282603445853CE351B73E062DC2E9B716D30E12B88B6EAF58D288B0AADE133
-5AAF21C0635559EB6D4B83144309DCA8DF53E77A22712ADCF3B1F8440ED4050F
-9D9D3F3CB866908C13E04F8D2FCCB19841B3D83C297F60FD9337D008E3120100
-6C29094E50AF3BD19961ECBF94C19BC86224FBEBD5BA9E8304B77CB805E78A6B
-0EE1DD22A2D5FB997F1BEAAB082779F1AA73DF79CF1C2F4C4D34D7F9170D1BBF
-6E8DA3C439B113BBBD29A7144C059ED6BF224347B8B4C9D19CEB246D2CEA8767
-2C68E0039C4B1F299E67439A8391BAB4FA60AA54E696A12A60A8CA11D9B3072E
-5BAE7E3038309DA1AA8AB6D313DB941D19C992DE658E8170722913AFAFA8ECC2
-BF797ECC8C89095CEB5B3F17601D03BD302F42EBCAA8C905B197954BC16C48D3
-877B8B6C47EB2EA5BB5979E1E0A6FB688FB4288D3817F3CEDEDC9C5B7852D678
-EB51EE6E1AAC12D68B34274A66367C79DD0791C932A1A990727716914E4C5BF1
-F479E48F4817FA22F5112EE7458997C048F3BF4DEB83E7AA5B266BEAD42DEE0C
-69C7389F5D48D33F89190257858B6099BF6F661AB55D0D6EB0F78B5D09FE2E58
-423001AB0758D10900842768CCA64752A5E93CF44B25F66A2035562D32A203F1
-2DBD00DAC39EE36A2480BB8721B9519E8EE4C7C1B1EF71B9BD792ABB1D38F8AD
-76BFDDBAC0C67C913957593690AB0109DE432A70A94A3694A4E56896B340FE31
-39D3FD9B732812C32272C1F0DE4957D8EEC942765E6DD04AB4E3117636CA51BA
-CAC9EDDD496DB8483E2914677C71F1CE56BDEBB4B9C64A22079F1F4A279954FC
-C3BF659E7B7593B44CB1610DDF98B58C2C322D45F11B8017537F5311724864C0
-BDB38F650BFCFC7580D131CC4AEF3B44E05D965A5F3A3E6DD667F53E17FD12A7
-080F9A79838B742E937E998E6EB9F78F170C69B587EC8E57B675D89A5699A118
-97A619EC4712CEA771730F1409F3EA8100F6BEE39AC52BE3ABB67679293ACECB
-2CD0EFFEF072E84FCF1CF9EBFA2B0BC7993DBDA1496A7BFD394772C10034EC86
-F2E7E963985EE6E7BE7DA1C608A50E296F5B44E0CA16379C8BF999D13DD6714F
-280EC9237DA2C80607C309EB4B15908F37C38B73F0A2A1B65715CD92148B3334
-7C434A3F70CCB68E9731F2C61A8C67FE218B9FBE3BA7AB4403B9EF8425A88370
-8EF6C06BA166BB224026E6ACAF5507749CB930E28B9ACB86EC107B684A8106B3
-9816DA5F6E8FAF47F4A79AAE76BE5BA3C8111A4D2C5050132BBE8202ACC668A6
-5DD3C384E179AC0200F447279B2D976EE80B34604D918533FCDCDF98E4FE04E4
-2B6722F4FC69E698B563FD2FFEBD607A1EA761090BA03E43DD3E19B973BA4177
-6C5AE3C1111844BCAEAE18DD6B62421BE44D81383B1F125DCBC73DC2EAE3CC3B
-60EA9DB613E0379BE7B688E41F7D59A25208EFF664B1C12A9E8B2FD83F2CEE2D
-78C043C9A2A50C7FF3CE6F0CFF328CF8D9CACF7571B044C172F7E0A4F8878D22
-129C415A86B4E794567C986107C16AFFB71C1AA057C21B9C8053563B16354923
-E38F161F94E7714F0D6422DC96CD82957F9147FA1CFCC46B1A117EAE4FB8E977
-C50A169B9D4BDD7A18CABC936650BCC545A0C69A2CD1E6DF42A9A746DEE0DAEE
-DABC0CFFFBC629AC2F60475CA1A38252E5112A1DDBFF6711EE22B95411546FD4
-27038ED19037B7C75AECF4C99D6D46DCB39FEC6641B448FE0DD860A651BD6892
-88AAE0E352129532ABA41BE35A15F0FDFA5D6DD84DCA1DBB5F169ECA1A8B298B
-D104C5B6D29406F4E48EE6BAAE6E7EBB3CC5FC4FDC1686AE7B4D9BFCBA8ADAE6
-F8F26CBC4E3D4BA7BC49BE8EA170B13AB7B852EA39EBC0B0B493444AB280FDDC
-6609BA785D947B73D1D181F2F9A67D7E55C710984B460338898418A49E01332C
-B94CB65168EE1882905198252DE2A31A207060F3BD07AADAA6F1C683EE047B5A
-401AA853075356E23AA43601F865C6CAE951D3F868C7476641B1019ADF891693
-C96314832AADB7FE2FA03DF3A52F9104D93D448756DC0E6C7DD5285F6DF83E78
-2A8F83FB2F3AF613CE92194229383BD7A42070AA0686888FEFAA8D4BED413839
-F282D58BA75D6E7945F1EBA89D172B319E76B31C8996465F68253574C7160893
-75F8A278DF5E68D6290D59DE2A187D080A5D6A94295623397C2F84D2BDD41CEF
-72E265F5FE15F71EB77A2E2FEFE6DD163CB9EB741DA7A0B60908CA367EDF2232
-03F986AD7518685A49E9498A34DA63A3C10E8AE6ABD90455E50F380D6BE95920
-6E675770B1E852452EAE7514734031848921A99CB473E4B6F327331F603A5730
-0E07AA58BA6FC7D90D271BEBCDAD6E656F42AC02D7CEB58E30F5C9219028A86D
-69FC173C5623E21736C1D5DD1945EEBDA39D47DD9493FD1ED41380653826B1A3
-6384EA7E12FE828CB36B2D9551E38F876C426F75AFFC3B7A626A4985AB9D3DB1
-72A3A3F1AEF5CEB8B7B70A04F85C9C4CBA278C1FFC109483614235D3279FDF24
-484F326677A9C5986A96DAE4520C5B5DD75CD23FD0461821B3025E796C1AC2D0
-158061A3AE9358775608D288CF449198D3A5A7459649802CDE6BA6EF043D7450
-36B505F12CC431582530830ED84EC4931049510DCC1BB8755203124AC851F0C3
-1F3559793848CB25D4C091D2F559EF43E26511C726CC235752CCEB98C156EAFC
-D215D0E22CAF31F5822FF47C544BD876DA4DBC24E21A9C9BCD3DA0FFCB6A9071
-2002461BEC157A229EE6D7AC28CB29D09475D6F9D6405F7668E2708B84C7D857
-3A541A70C269EF06F10DB00C30B19FC267772000C2CFC555729781A4FE0AB522
-C09A34977D1946A3453A4B10F74B82357D98A3727372E5803AEF73A1D7E90F80
-37DDBA78233AA1397AC9438EB1A962B91107200CE8A4E2BEDCDB669743518F07
-69786E45C1D79821AE1F71B3C00F969A16C728C17B29C0EC9603BE4EC5376A6A
-7415580B2C402E3ABAC2B4473A86DA78BA69BB46BDD0590DE573E72882C5A922
-C0646DAFF0D552B412A6B7E7E3F1C59C19ECB875DC43F0AF2F8336CF71D968AC
-F1894E0EC009666D8B37D5588F9B9F241788391D3E9B3B53653CD7BCD1B25EF9
-562E71B73B59F6E2A546A77188576EE40849921C0C41B38EEB1278E91EB13AF4
-6E06BBE37727227F2ABD70A16EC68B17E6B3E08A415A2A1C219CCC73F75B7669
-29D14DC63D4319A2076C3E94595A6FD9AEBB0296A0C1A72AA0DE3C1EDD6DFF63
-ADD96B91CDCC7B69BB01472785F89D2C6F9E8CB1D27761034A711A28B5C2B482
-A446C59BFDBCB1A9BAD0A62A46570C62DA58D0DEF4587E602C4024B12399A9FD
-C49869727A655C0DCE803A432177D329CC54F034DB84C20337D6101CA3E5ACAC
-060802E3D45AE4DFD6534171783BBA3101286226096C72C6E75F33C905A1D172
-B0BC3734A52E8D22AEEFCE5DB2E7FE19C4B8229961252EB56E43C27A20694B21
-B75D96F8DAEE6D1F48830D02D10BFB50A69C2EA2E585F74D3E086B84D7DB9E65
-3ABEABE4865EAE572A499F1DEEF7940131A4F821977BF9376160E1F3ED4C6F55
-4DEC96C755D368032A9B485D6097B519AD4FF7989295952A32D7DE660E37EA1D
-F15D1F75CC7BB1D837428F5B47B212EEB46932F48AA9340DAE0F404836F4307C
-BED6A19D55049C9C54045FDBCEC701F950BEF2626805001A68FACFB7ADC54A7A
-9AA2E2990C5968CAE23828B06A60423869652D43AA74FC0B1E0C1ED6C4C1C378
-29B3F369277C25B1981E85D41F5677E2AB7B9EE3FD31D2EB8965B65AEB9941BF
-FBE3A2CED1A90F0436AA4E8C19B32E837ACFC84B330EBC035FB5ACF7ECB6BBA2
-626559DA2C279AE0AD43A2818E21626DF050BE4A54C683825CD6C3BFDBBA5FBD
-B1709ADB8E0CB64FD47EAC22E1D3205B01CCC98824DAAF7337479E122C954426
-0E67A997027A4B8A37A1CCCEEC8DE06239FAE6A20E19D2731972479D04DC3F7B
-8415492D81ED2B04F8A7921F83A8D3F6904A68508276AE029F31B33FA1608FF8
-80080AFD5B2EB2F974B1EA8FD301F05026E9A5E28768ADF6C5A7DA8755E06894
-D85B5BDF75A11EA31FF53F0678A7741D8D88CF6223EDDD0019A8C638B6A138E9
-FFD17C7972AAD5AA6CC8E271E84D376E034F507334A94E0A0CC9A43D12819199
-738AEC2DB68E39122ACDE7D0530DD9EE6C686D04446D2D2D4F0D1EDB6B594C1E
-C07CEF409AFAB79974167CD3561A2535896CF2C0741950533F9C35D552A1D59F
-EDDC95A01F85E095A877AEA3025A86EC10C69B802E72DB5B7339EC4341808FC9
-17374DBD2A349B8B72C3CC588148153B18B7D644A7DE5975CC8A574484760C14
-C9F5C750CB6F8887BEFCEC11A01F713B7CBBEE8ADB3C5D7687E9105DE79ACEE0
-1B6641022CDD064CA528865136AD083665D8C417E15615D9AC29A2B52C4810D2
-DE294CADD0E3217FB84F954E6E34DD1C1365D76356FB2559041A436186B2F58F
-96D8F9BE6D4BB4333CA83EDEFA0543FA66D9176D81E4F7CCDF05571553945908
-7759C20348647D1EF3E09F9F8429ED2F17CCB5380C256BE7BE8817E6469983BB
-316E21FB9564DE76ED933F93238DC5F2CB140ED9E0906395FAFF35A679518835
-6ED2E65D0CB939E8DE46720B094CF86990035B0B9351EC536709DD2477233388
-957DB0FF735CCFC04DAF42D90D0785280F62B8EC6E77C26591A84A36729E689B
-E9853B88C2DA53F64E677786BBB8301B19EA6707FEA8456C38C53061AB09E946
-32D6F69ED6DA83934A37B7BCE7D9497266D5DA31A11417DCD3750730A74BBF76
-C0C2729F29F68F30C66E4B1F09AE42FF9533AFB8F27B811F2B03EF1C57B7DA66
-E0029CD236D04FFE12BD00C1BD6ABC65DBA778A8BFDD127862104AD6D53471CA
-CDBCE38687A2CA30E2589BDFB1D9776CB442FDEAB5909744390A228E3ABD73A2
-EB3187DE932D603A7CB623367371657D8B6979B80F041F6C69E86D73DD326347
-0172FA5DB875F9D0D42594202655C2818EDCA461E1713E900C966750C53A69BE
-7E5DE484DF282CE88450F099755D1D9739618E2D938CF8711187F13556AAEA68
-821AA9523A9CAECC22BE4C9BAE30E8F5B8A4ADC8CCA3F414256E7666B6E61097
-E0F8FCDFCEE0D0F424D5548D511FFB969C9C4DA9996D80D6349A4F4993EF5E07
-18C2A79986D491BDB738475CF07D5F6D7B51DE07A2F2C70BB8D36374CFDA6D48
-4503CA707EA969F7A2D87A94EA93EC2FD6C498411BA19DD0EC4862BE8CB218FD
-EB4D11BE9E77E945E3CD9BCB19C6F9B59B40E9FB2B951E364B679A5572EDA20A
-093A5BBBCBE69385728332D8012E78E421DEA8C9C96445F064ED7DCAAC0273FF
-3B3AF3335BC27D53E54DF0E2F543C7BBA500C37DB2AD5C23B8A73A7EE535152E
-B582C384C29BB4842F6D4F3C0F7CAB5B44FC1C30C8E722BF3DD43EC687ED616B
-C52DEF4FFED93DE0AF5A51F260CC451E27B0B44729FCFDBF62BFC5D67A925989
-C71A829CE46D4EB0577C5847A82D5E80546882FBA3BC4C72CCF9B524785DE77C
-E53FF9456B9740D6117173C7F767C573CAFB795138D2D05242E8CD787CAEBC6D
-7C79EA7A0CD65346E3C3B4FD1E0FEAD67E96FFF40D3B6B1BE13846A960B29D81
-68E81CE13FD515B2617FD48CF641D05BB0B4F5A8D6D50FE8F52AE36826AD9189
-88810C78E5D300171434E05A35763CC0281EA5E4A5F4FD8DB3FE850931106924
-0F3A2B9407D947A446BA9E86FF76CE619D7D8255F0DC9D37E3580C82554631EA
-4F03CF84182BB9CFDC9EB4FB3FF8AAD60CF25DD359DE5BD564E5CF4579BF9350
-EA9F3B44475587F66B25BCCCC4D8AFE311681741A5B63DF4FF263BCFBE410F61
-48217A3D7FC2D8B38973513ADD62BB64AAD19EB5FAC08D653563101EF9DB6046
-16BD7F61C2A20F298398C7B356CABC47968715A16D8CA13DE2B4628550AD4495
-8F8C53AF17E0C8731F390560F434FC273419C0D7935A76E2F85F696D0392818C
-BFA2C3F921DAFA78A19872746448C3C55A55FCA36EEE706BC23D73F1CD303917
-A3F63B2FDF1A425FBE6789C101FF15E5C66101CD3FB2AB1035A0E725C6455DF2
-2A6329BE6D62C791E2C0AFF8056BCF5B59CAF1EBDC4164D6D8CC47BB0F420209
-C42DCCF18750C49862FF5040610180B050E0B81617FA8DAB55D6E18694AC78F9
-A2C5205AEC3690869E8DBBFA1D41CDF4BF8D5617654B65BC738E6866D2BA1C23
-0C9F6534A9248CB12D7141697497C0B089BA16084A7F99B85E17C3E335C139E6
-8A864C3C453E867688169D44F34B3825C9FDA2072EABE45C87372370FBA0F82E
-CF5B0B96356F869DBAF1081EEC193B1C4A54E733CCC9A43B9BC7062FE32026ED
-B1CDBC0CD142FC882078F094B041EC305CB74F6A182467DE0BBB4ABBD43CC7F6
-4220752F87DD5C06526C9E1680E96433159948522269C6BD5C165F6CA5E66FF4
-9D757FF55A21B3424B4604BB49C6AD1841CABA884FAB2AC8D52873A653112926
-C0ABAFA7990F49C6D5087C8BCC04261F5AD4F6319DEDB33E321FD2399D60B9CC
-D52D3F3CFAB819B6B047C3CDDB40BC669DCE76E4A6560ABDFF5777C5D7044215
-C2EAEC926A92569335D7C5EADB9FCB82D4FA7DEA1B2EFEC6D7EF13C5209E84D6
-FC93ABE556ECFF7CD07ECF447B6F6D82F3A7F7CE3F6E75503181B3495EB0B933
-79ACD4BABAA3972F7BB81F9A786E63313216FF668717AB5C38A650F50271A727
-D8CA027486E7713170181865474F409D80390E1BBF784A6C6240ACD188801FB9
-261255640CE90142D6A78EDA30A84A1A146C7B63A74A180B05618E2EF7765EC4
-9B5619DEDCE41FD00EF3FF273C9BBDA8AF00B06F7954959F249DB4640A96F0DC
-1F6FFD14ADC2F99C0AABE152434C8BD7E45F611616D2530E862618CBB5935C37
-9431A180BF14D95970763B42C91D4E353D86B5314855A5E351BCEF14D606BF16
-585356D57949CC4D06E5AD54BA5B3AC1FB36366FD0B1F8598878F81EC83502F7
-960585DA213E2D670C0685D1EF6795F1065942C522E3EF6957FDD67C5FF19800
-E518F1A3971FECA7BD3B40FBA06065C23691FDF1E96A2A11E1DA179D2C620AE5
-4C18031290D83A1A4D6CAAF6783B3258640721417448CAC44996893836627D32
-45E07DC94090545C2BCA857E598A443299FA12238BB29AF9E68E447940CB36BD
-2EE6CD73555D6601A450DB06AF4ABEA52A9960E04C82EE91CD4CEB085276378B
-E90812B2C70EE66EDB3D031DAAC5B6DDD55FEFA329D48E68CA5B18EC48EA881E
-9098BA42FB6BFA8B58C58337093ADC794D637391AF5FF01FC3EA50B8542F5271
-6AAEE5D496AF7F4D6F3EBD19AA36B073A274CDBAD246B5A79839A84385C414A2
-635DAC09804A3ADF10862C64236C6ABD31C91318E77AAABFF4857F3679CCB17D
-3B19E2D3F5A92688F6AD9AAA1166ED1C7FE822D183EB127BF6BAD2A3B3F0E556
-37B05E50210C87E79A8B68C6971B59E54779FA2A9135A85794F4081E0A14DE7C
-D2EE771131008C83C0E198022C292174AB4068EE0D53A16F23DF10D5D08FBBAF
-FF0BA3B5D70857D093416B0C05589AA68903968815A89EA5E89A7E4371EEA504
-22989AD5D2125658D9204D32CBABBA477524207265A53D8F172BA36695998C11
-986AABF5C41DAC03B03731C604BE7D4CBBB613A4CB5E66AA396EF0C77550DE32
-F9294F8D3DBA42BF147548B26D4EBEA1495406D92406C42763E4BFA6B5F7EB88
-F11868BAE28274A320F3CCC40238FD6EDC619AAF39EC637FC6DBE6661558A21A
-408886ABF7A86DB4826348D379F0A21C0E2124E711C737ACDA7C202F849CDBA5
-BBE320D26FCD322DE78598411C74026F0DD96EAB567F33CAF36A4472E7790649
-E9CA91886576771E55CC04D95791DA23214D8E95CD4DA4DAE995EB68B2E5D034
-323DBF719F4585A56D4F333D08B31539328EA1642EC4C2BD27DFE9FA9488BF7E
-88A0F280DD5780E5803D4BB55D9A7A8399CFABF8E1ABD2991F11D377BC452BB0
-A6478AB422A185B7D6E9F6CF0B322790C715B1F446A40F808461C05A51F9DE6A
-16D774893F62EEF0520E5227C0B768CFFE087543F953F599E7F639740F79484D
-005B12CDA1CF99A65516557A4D71F41EC659DD04756791D9CDF612DF9516F004
-356226DC862CFDC092F52A9B5E1D76C6BBEC54CC22E16F2CA092E2D8DB78D8C0
-45B2889B8A9AAF70F0449D1213029F05D372F408245058AC07A069519ABC26F6
-44D49FD50538BEFC61825FEE73639D70A52DB8DF5B7B1857BD0F007C1DABB4B5
-A4FEF2C9DDC3E17B0B1639A1C875929833F0FC63FF9A260C7FDD22B02204AB07
-D86F76A7B6FA25E8629DB7A263F095CD01628C1A94B3C5FA0BDE529D2A98D613
-F8244214772D57A330E26973F647FC4B9C9902197BEE1F7181DDF8E15B4F20CD
-983FDA9B61ACF472E1EC8CC4C83A3338B606E52B3455C2F3D54D570CC2A6A73E
-B0954AB9F361B9197BA06365F56BE621925EBFE2A1BBB8E03EBABC1877C1124D
-9F343FFAC47268A0CFC72A587196849D0B9E53D9B79294D204E0EA5FF1BE3CC0
-FE02E764A46CC88C3B33ADCF3983C89554700D7BCCC61F09DBCD40E94B14FBCF
-6E8A91D11965E46F20C9441001A59390BA2EAC235BD4FE2B995923F698A9D7F8
-4AB20160A0E72300EBF9FBE6E9F7E3A25B71F7A183DCBA3C650CF60D2DFDA3DE
-D57D903571AA1E4DB9986EDFEF125CADA779262CC0A33D6BDA3D084983F46C1E
-4A564A4D8B9029E86566781E23FFB6E9D6CA3CCC6A2DD8A4A5688A329913C629
-8BC0187CB8F95D282BFF33298A45CDCA38D62E1378CDF207C4103163D91EA06E
-90345EF0702F549A7BEF14EAFB33D49776DEECDF22246E10CBF5180F2BED012E
-4248DA7EF02E34970B83D080318401D77D55399B0CA69E1909A5FECE5A3FD9C5
-B66CED7B7C03AE0CD76BF8CB24239D38F7C92C28BC86B36A238D7230EF49A3BD
-4D051190DCF146636C52B9F1E5C8FAA62A63786C0F049208C6F8D8172C2BBEB7
-D85DB7C4436FFEA1778AB042AED56FA8D6CDB7E93AA6AF825847669DCD9157BB
-0E51F1F3E72576DA81513E0B1A5EE7D80F774FB8B8C8E2320826B99E51509CDC
-8299E44E44BA054A8B9302BCFEB0199508E653FFAA593BFEF9E6B7050834D022
-19E0960E02B27DD84C00BF33BA87562A0697C2AF0F6C32BCB6A58009C649B927
-50971B89D8AB2687187B2324513B38310DEDFF2FC9FFCD46F98AAFAED2D122ED
-C270FDE6D837364EFFBD17473D2B8A686F74FC3A0F6A7861219B145E241FD58A
-0CAA17805D78E7AEAA897A2C1EDCC6876D292AE7B0DB6D5C2BACE74687C0BE87
-A01455686C3E509BCA6889E422ECAEB607D1D70D8606C9E9FFE7C1C49118BB3A
-D5BDAE4B89495D828843ABA49C0CE749A940D9DF789E49165ED24145C8DF8006
-F8FA32A8FCBF088A1A22A8D789206FE8C17732C02F303A109745CE8017E13D74
-4E48D9DA75BCFDF129DEBF32301D52592CD5EE5A7CA2AF84B590B8B3EA1C01EC
-63AE4B00BF74B5B13F0DE0EA6B49F6849B70909630B76A1A0CA692743CC0647B
-6467F3F2324D8F4A510B034C59BD0E3ACAF3E3FD30A609876897CDD3921AA6D9
-1F4527E5A58BF2862CF6716FFAFCD9BACB8C20D78E39DC001E6387E834E8709D
-786A786928D8302D205EA0BEC32A4B95ECAA5BD29A91A77980E0024A754C462C
-4831130591AE41466E6CDCE10118B8D87237EFB50746A6A23076EF4BEF2574B0
-447FC6803F5BD80B029A1A94431CE2ADB6CED67A977252E4FC3C03ECAFAD92FF
-5689FD644F4D483906BAA88566FFBD737745CBF3E5FD3E33B449DADFF1BFAB15
-26E9CA01E757DD2CE79C440E565500215E9AEB1C9FCB2FC5A15E2F73F2787F17
-7B86FF22DDDAC458649D2477AF3FBF261E7EDB19EDE0F8120EF24D3E12351692
-220540BD44BF731F1590D2F00A9333F29AFE7DDF9D85549BB643E1EACA09FFCE
-D6F66F7C646C3DF14F5121B34E41DBBA6533705497A448C4115DF01E7DF753EF
-61D9B8618796AA26E0A8E783A6DF
+2E080C10DE923C1959C82C55551BEAECA9B83CB5E9364252CFCC406A27FC43B9
+69C5BB80A41C85D80EDDCD5029E57D77EF4128B40B131799B4DE0EBAE17C595D
+A450B79703CFDBFF2D455DA910FE978A84F7ED3852BD7E3969F36C3F1BA3BE81
+9B299A46CE155CDD0BB9584D8278BC323B43C6DC278E2AD1D77733116900D045
+22458514359B1EF0E9CFA4516B201C65031C002AA05514C2318959530C2EB73F
+439703EB108208492CE953091DB2E5C76FF7E7005FEBCB01A6C62BC823004287
+105EA9213BF4C9D647629BEAE0F304A369E81C6D9A1F24B98E78D0EDE100A874
+E3063FAC51AC5972896DD151B0780613872DA4FEED668C04FB312B7C5186AFF7
+70655B9658FEDFF154B9A13D1B5836F9AF14D66F46D1C45AC7D463648AF9EEF6
+0C17A66F7E9073A202EC00779327F491B51DF6C55D13251D23431B796B2E59AF
+3931607D3F1A2A045B89891E7591B2B12D8EF65F473E1247400C6B659B75E8BF
+E440E150F2E99A1B10747489BB813DFB1D4E7AA795E2214D3BD602CBA6E8573E
+1F4CEB6A1838B9DA209396DD3B91614A4A385198D49FBC655525E2B06F030E3C
+49283EEC4478DE3AF41861F4735D3ECE7D33C691A166035F8673FDB0B531F898
+C4E7072358144B59BACA5023AAE3E8036DD031AC6FEBE425DB5F90D39A79E7CE
+CA99E6F917EEE7DF2D08126F9136AA95E8E41B478D989C03F4F878F997FBFE04
+2B95720FDA3337E5BED32E070BAC56AF0E355B069E1E6889C9D6F6937BAAC791
+5AED48536D08CA46BB78B23C68BFDC6DE47EEAAB93F2BBC77108230F1EB87F73
+DAF46561BB346ABAFBDB677554C9BC17A2E51C9A9E8B2E34209066D68F00D78A
+AF29130FA85DD757793C9F5A530571F5CD66A5F4C5E9FE9E169DE23B884BE1E0
+B2615D294132B328FFEB8F0442ABA50E426A56EFE98BEECC32AC74A7F0F8FDF3
+73DAFB11640FB3E56630463621162219B9724EBEE31091FCF2D8EB2804DE56A1
+6324D717C155FF07E5018CEECCD323F0BA1069107C9622347DF889F4B160FF6A
+ABD50968D9FA47DCD238F1C9604776700F419D41838368BF226CB8C55C205FDD
+56B5A3F323249337E20A596FB953D84C0985722F0F9C839535DCD876CFD1DB11
+EAD95F81FCBEAC415D2805AA0942008AA3D7AC928A05DC19783FCEC5E01160C9
+63C211AC8E01A6462D900E53B4D1F0D8C10D84F1237324688A08CBBA419E59B0
+6AC55D092D154BBA8DC0B55333776A50F2913818BE2140ED1812AB499E2E38CF
+67542F031FD267289A7AB060FAD335561BD52289D97D2AD51A0873EDC8949C19
+AE7B8FB4D296509D9D995FD051EAB8BE66C6659408FAB7BDAD50C31A61523B78
+709A9D262FD5EA01F59268209B4B35D760A539EC69AEEF23DAA56C23B4ECB893
+5AC1FEDE4B478AB5F547D49F2E44018D01E64BE5F36837916F7D19BF15D9D4DB
+BCCC32DB9A28EB375D1E4325C7C693D9BD88A70C3620D0599C3342DF779716F9
+E18A42D3E13C9609DAC603A84799610FFBDA4B853A0426106394FA8E42FF8FB9
+1AE904388AFC7F2FBC1150993F5351EC17F8BCC86F41C51D51AA8845294511BC
+32AA2479F0141B465FA0ECF4D8761EFD23AFD85420C626C5C35407091A2D214B
+30A45EE381C9B898A083354F7CDBDC0CFFEDBFFF455237B54E0ECAF8309E6D8C
+FF27D347253E8BB7B417F5B44B01081377EAE2C7436B3FE3D01E464DA600827B
+079B0A2254B9F88D1C61C7F6D5617CA305D4F4238C073AE29B6D1983CF94C62E
+F0CCA0404BEBD074F11483399E45146BCCF17E6365822B7B51019FD473AEEF2A
+695D94232796C71A2C50278FDEA1C0424E58B9CEBE77B5BAB0796CBE1A784766
+A0E839511930F9CD6C8A59B0FCA8CE2EC2664F6E87ACB790C0CA1013B226EBDF
+3FADF8FBA0DDBCC7DA37FC5021921FA98F08E9288B21451BC06FD1420C069A53
+CAD2DCC57C2A66F76421D1EC65E5519A11BE065CFD614BE5990EAB0EB683A122
+1C70415F20AAE49258EEC654051C25EDFA0FB0FF0336867F7B18D76F257A8BD5
+D0F082105AA8DD426ACB8CCB1A5079CD845B99FCC4B1240E12A01BB9117CE119
+42FBAE841A1F85902BAD49E631D3AA217AEBBB2DE5B67F7DB47E06ED9FCA76B4
+C738165E8381868EA9185007FD72ECEE398152CABEDA2B0F5A978F3B49917379
+75786B51AEF3178A29DD9B16A223C84561A64E0F9B30D4C3BBF919E50F240AF4
+ABA9ABF1C1D9500DFF5651FBB53B5EEAC51A9A3B27A24BF7541345521949B30C
+39F519C040606C747FAFE8E046A98A45D02CCE57CD74A48FC33D9FF36381289C
+468139415984B5671790C38DCE919671DB1A8C0EEE1A7F54431A3C59378E829E
+F668815796359C54C7EF7305FF3FB0B0CF3E9553C1CB27FE768FE3E098BA4520
+16690A5B3F2D002113F48A8946B6898EAC1C517AF424F915CD5E5B632004B323
+F89D471BE0C1AB5934E73C355C6A72794DE07E6072D1768C25B4B8B4546847A8
+D1A0E21898CAF30F9E298B541AD0E346D4B74512D54B035AC2FA7474C06F6810
+E200C2D10C53EA5F0CAF74A7B0EEA4B9D4401EFEB642AAB30324DA2A5B89D0FF
+923616E4555CEEE924E62159EFC62B83009BBF4EDFF78BFF0465D8CFB5804C64
+3085CEB43A7D402E7E52DEA25088FFD361D3CEDBDCF1C18285C15EA1EEFE2EBB
+01AC677391DCA6DE005306F81E22BC2C8E24C4652A8CAF251EDB5E0B528A08A4
+809675DCD887033951C59F342AC595AED7A320D18BE2EC00A4FD1D7080A67FE4
+9ACA25B493EFAC70B6C0B432250D2934D05E059BBAF6B3DE86CE33F8BA70BABC
+B28E0710F87D08F06FFC885608E9168A379A2F3EB249E62B4B2A0D09D51A13AB
+4168398E09F793099C4C5EFADE04027C4E107D31E9919C08AD69AFCFBBA3C3F6
+39552C8DC60752F7FA2BAAA1CA89B8A79F0510B5054C71634CFD2D2401EB5AD3
+C71CE94410DE7AC64315BB52C82FF2E87DAE8DEB0231AC7C95FFF330576AC7E7
+709316BB5FCA67A3FA7B740E9D94E725D12289ED95E379529AD26D950E995616
+9BF5D40DEFFE7320318A6FB359F9D895F7AC454A94DACE6DCAB13103C87654D3
+8641A4029703981BA8EAB3BDF3759704E3297077853BDA0DC32DAA45BAD52B8D
+B0B3DFE4CD99E92493937D1FAE4FEF8BFD83034B14119B4E1E81192795ABCC54
+60EA53E59E388B2462579EECAE76E9D7538AE1F030A7C2EDBABFC2EF39264B25
+1AB664E8FB4FD3AFE50C5C789FE09F17047FAB6423F0B8F7245C055961A68A3E
+E52EFE2D95FF3D5D4B59926DEE73BD53760C5670825376DE0FE488EACACA1088
+BB49CC951C5123672C77452DD0141E35A4F7A519B781FB7993DB9803EEE0749A
+196ECC81583E6F6E6EA5C2483834DFC23DBC6B19073F19753B4694705DFA6498
+72E9DD7B53A123DBFEB26F2E3574160F538A4095C31739EFFB6EBFD95DF1D2D0
+484ED99692BD62E3024684F3ECC3F8F053F7316DC95E87C7FBCF72396025E3DC
+211B200C7A0B07DF73DE5C3E54AC0ED5351E730CD35E4FCE7516B4F250B63510
+1B8091E85FDA67E8CB8610FC8C3BA6102FE173418B846AD1F9497B819FDA5B78
+1BF8E370BF18B95E7B26A29B8751E63F38FC78FB882B7B69C25A7F266D958D36
+0D4C7DB1B8DA32D333B50BBDD6AE691EA480AB3DE7A5C6F818EA1E1EFA0AD197
+F03EDCC93A7CE7193DF3E9E583CDEB97D11756DAB3A8E565AFBD7929F8C71A55
+377BA9522684CFB184C8E6F6516FB73E59EE46132FCBEB878D2340FAA2BF051C
+64A0F7A398F30EF2C2A7346659CDAEDE932E5579E44EAC17EB31BED2113212E3
+1AEB2DBB63124E60ACB1C853612A1304A15059905F769C6EFD2B2E0FE93EE3E7
+A342131EF659788EAC53FDBBA84D320A6A995ADC6DA03DE53BBFD13533EE7D06
+3C43FE41104DECD6885E397B67B16FF1E1779B5FFA18B8779BB9A99521BB27B8
+9E95CB638EE5A4A41573D6B65A9AB48E20AFAB5373C75C3AA928A828FFD5B8DC
+D406C8155F94CC10260E4A2ED282C3D60B0D10E63D97893BF559979F31EA574B
+5EF21BCD88136C381C29CE35E2D3F4D63A70F979BEFF8C009AC80C759A03D559
+FE8ACE97B6BB2A713043F853AE57E5783F449B2884A3551A3CD2EF85F485684A
+6F9C0493B5F628298F49065BB1E85ABE09A5B8A97779DB4E478FA0567F76BF44
+674429A44BB35EA03D0AE4C0C92C6E674FBFBF39A9090D4E5F9A040B4339EF49
+2B1CF8DA2DD76FC000CB175245F2B4A2135CF04BDF04E9F29BC5749A790379C0
+96C57E8FFE17D61A2833D7E164E1AA1BFE817D5BEE037D4B741BFDB90646A8DB
+6C9EFF527EAFAB6FF2A8018C20298B700358229A3435EA4EDBD6B59F4C934520
+9111571018CAE0C6429027C2FF53144AA4FE93AD2AB352EAF0104FD1E5B3DFB4
+1C9627903B2BEF2B3997C8C4A158096AFCEE97DC0A74AAE2563D1922A3C5AE7E
+A99ED5BCE2A6E9B775E3986872A9F638625E0CBCD65A80565B3D559147A506FF
+81AE38AC03BD4A600E98DD856A8611C6E163088DD4807862F794CD4D324C0FE8
+0D96CB0F9052B4F2835B840DA6783020EC367270EA1E184FC9FEF9D22FCDBC8B
+192699B51FBE05B9A80170035929D859F29C44130990ABE674D9ED6C69177580
+9676EEAF9C053F4C514756F3481ED1F6609AA2FB5C6D97F548E4524A423F4B00
+2E4DE423FD134FDF417F74EA4CC17F5E96D153C9D10BB4993123AB835A6B62E2
+CCD4E356062EAB83F019B6FFC689E66D87D4D7F9C95DB7B5CA6614E196552D9D
+CABB6B6E0AC3890579CA7F20DEBF377DACD6C0697499110E1B10F2C58641E105
+8B47211E6EDFBE63E38EB023B4904D7459030BA1C4E37F393C8BBF0D3FADA478
+29BFB4436B69238810FAB19C66FEE3DE6DFB43D55F2DFD07A9064DEA5E552104
+4950740A18F1F0B6A7AF574EA71D4BE3714164D362F138868BC698CC4465F675
+AB8EC379E75934696B8E5CB849454F5AACD2C658694DCFDB8A5E9D06D5EA13F9
+A46AD15FD3049207DFB2B51EACC552254C4D4D495CF457FF81990C0A07E56245
+C1CF05311B52547C599817B72E81162540578B35E5296E416F3F0F3BF8A55DBE
+22559D5D8352DC7952F6FF1849FD4E257C6F0A063884CDE3F5AAB1893CAC5475
+E78F71D55D1EFEFE2150AFB45066565828CB2B9D672823E669F9DA47E2B5BE5C
+8EB31A2FA16CC6D342BA046DFC32AF799476E80C36D87FE89BEAC2455E0757AB
+F0AA69CE84B9955EE420973A9FCD16C89032F34EDF41BF044A123F41BDDF71CA
+BA5BA6B46E798EAEC9219AECBAA99BC417D7F5C5CD1589D5F84C2F19D7F9A913
+11A7D6C47005514705C9C617E4BD55D92D1528608F72346DDE5DDB47F5C59CE9
+0B27F41EBA097FDB67C335031B5AF893E9BBF4DFE945229E2C4272115A69B65D
+025A58098AD6B366207A2065E865EF8F8EA1363A4D5FB0F62A556CC885110B98
+2FF55126EAB50DEC2F28415C27588470601B1FBB9E8FECD8A9C55E213BED6E88
+3CA6CA6A3FFFDCAF09E748EA047CA109960F92ABAAAF99602F5B13E4D998516B
+B459808807B52949589A22166076A28EBD49DA713802B7731E047104630C89AF
+C99FF96B9B16E0901696AB8E665CB94C39C0957F08423AB6188B3F505B37A3EC
+A449345CD1208BE2845C13E9FA2B8D03300928FA5424A7F8F27E9D6716EAEB29
+E2BFC6C41648B9F13FA4A4D8D8B81972C32FE45F1817B3182D270AC9F6B5B001
+4574EFA7EDDD8E4BC7BE6BFDE7CB04FED64E104920892B9E98AC63F16C0366AA
+D317A19C71AF274EA7AC9F3409CBC042A1D7875459ED89887497A9152E212915
+B83B7721D57B169B1F201C3B0605ED07D5997EC79D9F367ED4F455DD7DCAE65A
+2B9057B3E6B2A719956BBFD189372FB8D3B60B075F15D91F5E3A2DF51430C000
+038E71AE7AE040E1A0CF0A3BDB8F21D6C0FDB1339B2821F7542A782A43B70DCA
+6A46832981BC5DB43B5D0CF208F38E642727AB79E710DA022D47D39884A400BD
+DB5F80A39CD46558BE7915FD7AFFACF243AF5A3762E76D33D6B6AAE666F67BB6
+B78BD2D2BFF6F7CC10B3B66F3241BF6F8518EA32E020A26905E6AFBFBDBDBA17
+244BCC8D6A127D1A8690DDDF509E06532D3F28D9235E965F4D9E5D8664F0BD12
+11FC9D1A8C7C2A4CE4FBC9EB95611D9581C3FFE6991EF04073803DAE1B5D717F
+D65437213F3E1A3CBFC1AE66746FDF8FD949F7D72F73B11A01C0FECC9B51D203
+617750CD5DA57AF8E793594397AA33A1A3205C5D0838EEECD209A67EA5249A56
+7B727F6B22798508D2CB2D5E2460BCA4826B82A3BC1BB6CD709ABC64E2977973
+82B520C7EE77AFF1F940E95E4AC7776D40E6FA636A2BEFF673A61C81BC958BDC
+F7EE7BC246DB2474A6761B5B18BEEFD57BDC13688FDCE862356FEAEFE42B8083
+8D388566CFFCAF64F5B494973B56E311D795EC29D9F215012A571AD28903B0AA
+C3C46929133385A99EE73B05A603481067E6E813E2C80518835EC64C65DFB130
+2B69257C3814989A9C2C1E49EB02D3A93502871A121EB6A7D07C1F243344AAD8
+6EB61BA565BA9EC0B28909A15FE82E425190A8C1AC8B1DBB92E6289794F24E4F
+3A25CDDFC30277669DDA68269500D610254E2E67981B361B919960EC286120FA
+6954B91A94341A5EEE52AD61BD71486207463D4A412E45D802D89D3CAC436C6A
+EE5C9E06FA42222E004771D58FFC2EE277B720DAD3DE5B505077D0240C4CF3AA
+A54A971FADF7C3CEFBBEEEC093E294BDF4D3B21BDBF13B7FBF5DB4D2528B2EC6
+A03FCA688ABDE692AFFBDFA8DE5E80882C1FE4640C7A3A3EFBB49DD31564624B
+C5656606CD565B84976820101994B26F41B7AD49A969D93A8CE62212EDBD1E9F
+C97B3E26DC29A6540AD72C0504F374B2A4AC955158D4DEB3DD544C8A404753E9
+4D44733D2AB083F6B49286D5BF71BC746E23DAFE40F95E4CD33D026CF949B7E8
+B7955BBC6588914204F8BD1916BC28CE626DE554FFA95BE341EE51536AC10742
+A5FCA8F5F76A417C9DA3D803330A1A6901A26D0278107BEF1301C46BB081D355
+3725DA2B5ABFBD795200B2BD231657FC28B6228BE8A18B00A540A49D69477A6A
+538D1F3548270295BFFED29777CE491BBE6D367FF5393D736837823022711475
+1D03EA22D6D4C380F351D3159AC9407C7F1D948B34FEBDCF6AFE7FE0F816F84B
+C3682C5BFEDCF6B1332DBF0032BF88F9229AEF4858A3D935B855B5C738A05631
+2A77CACDFD2144E2FA60784AF2166830340A0AED0302F50D0EBA673B1F450F51
+DA9E3C9DF5136EA4167E008E2E2AD0BABDB9E144FFB9D39B54D80BE7F347F4CD
+FB2B1C98DA84E855EFD44A169788EE5E08754FCD8C0154F2D601020D918071E3
+C10FC2BB6446437527E237B336D5D04D43530D6F5AED60F2248E7A08F3F17514
+D21B09FE0BF5CE4E23DDEACB81EA87EB649559FF29590B2569CF8C07898D7034
+07B70776F93C0F943F1489F0262C44AF4E300A30A583B6A0030AA64D07E28B65
+2AE7668596D8A7C51C315BAACF5B907F6361E86B2DE484FDE057141204C98F77
+64A8C9B68EC184F7A17FAED61B022161A662DB4569AEF8F04E6B887A0C63AE9D
+0284B943B53EF9C247A595887A612B90694876643C35D46FCFCA331E7B3D8646
+F9826CBD0D4F691C2CD9542DFAB7BB3789D9990BA426F9A8F161CB4AF752C023
+46CF0E9AAB48FD24931BDF51B58CFB9C548E93BAE1038D6966A2B997DFA012AF
+F4B2FC4C56179DDF4B40D51E7C6A4929EE7CDF2A985DA06EB93D91235BB66BD7
+854A6A6BFE3E8C8578CBF3723339E95AFF4CDDB9DC00AFF87436E1789C3F3CD1
+EC77D8B6C106242C16E35E6DDB58BF9A96FF7CB9C5522E76D76DBE6AF29CC54E
+F32A928E53EC588CA74219FAA9B37BF26FFA3954B5C7A3246E47968493FE1BD7
+A7146F58F403018491276DA918180B6C95BB2C4D93A654782E7D7780D1176A0F
+CCE14041A005AA613C103D5F47F82327CD646C14A81A9FAE771E944CF70A602B
+1E93976C4C6800CC1A9DF0077BB83FFE5186C107C8FDB2D70AAFB230A1F53BC4
+6E930636155C34315FA191AE48DCAFBE12F934283BB7C9E4433F8DA8E5BA24C9
+F47EC01DDA3C61A7327612136249FB3D14596B966F48FE1E1F95E780E8D10EF8
+09CA34C7988B0D6004902D72C03C9343C00DF128648C68A78DBFE16D829342EF
+72861BA47C9ECE6DC444B8E03263FDA416F396D90EC4C83E2F55907B963B3793
+AD8AC58A04180EB504F093A069397CBA0E496C8D9B31F7FFE925949910C429C0
+E514429F6F46E467057803CC0603E39F90662C951CE9FFD4525E76D4D29115E7
+2C39128A44C44D4B0E208B6ECDEE73B753F05C7883B1345C3C8CB40EEC35DE4A
+2EB8F1A6167B180A8C18C95FBDD462C4BA2A23E884F5FEABB0012C3567F7DF54
+5786B6BA32B5D331A1BA7E819D2E3EA92E288D509FE70DB067D351EA53AD858A
+F88F250CD0933421FCFB23B77CC305749FCAAFD49A2BC4BBD7087F04D85DF0C2
+7DF68ED3A0CEA4374123D54C538D05765A482B023EE4BC2519636346AF825D67
+80F78FC3EFF8E9D198E3DD67397F9AC965B1A9D99AF8C96C17CEEF8346007D05
+16E880B8716FF385C0CD679FC7A770E02E06CEA67160D2AE407C64B5E84F2591
+88371FD832A05D190472A74139860FC897C0A93C1ED82766534ED9415D4D7102
+DA832B566A44C52125620ECD7FC4B3147A571156547770E83A08CA935CA16AAA
+1201E7B759BDA9A9C35BFB9398651504D3B97440DC2E1B83FD9C68838EB29EB0
+0CAF700CF11FEAAE098F62B3A5A67E9DE2B20FEE44A31C740139859158EEC81C
+0F905187C722AE412502B526D03EF5CD45EE125A4DFAF40B51EC4275994A424F
+699F61ACD1A09F68895718E56B66CC8F4C59E71158DBB33FA2E35CC2845F516E
+96BBF28C8073CCDB88B459BEFA4FF251E3181C563D98EF87A4648D67C31E3FAD
+770578BFCA0FFFCD9F6A746DF448B8594A68B81C28536E9E393A8E6241A63450
+54ECAEDE256F21E5D0A2E1A100FB843F6A7B0C97A3B2942DD137C4E7FBE2BBEE
+F252E9BAA695EE6C0B21E44623D35F0B11E232E626F292892C8D5F099E216418
+E08420BEBC1EFB03E4D154A2B35E776CD84C8C9EAB0FE10D38DC323851405E17
+4660DE87A1C42298F40F33861FCD9E68FDFE7EEC68FE4EF9341D5B539179CBDD
+DB15416397B2E67D937327FB707ED93DD02BEF04EC195D7A901631DB45EB68C3
+F4E38459DE458B6793A157FECA9895EE150DD71216887FBB73279E0FEA743A39
+1F8468931FE798D8196C96E9BBABCB19D2AD97BFE5A776E6626C9F83D745BF14
+E9C10375A3561FA3585BC4E86FBA6513E5AB20C4BABC0761A9A897DB95A1498D
+48E4246313758DB16803789B29ED9B04013A8DA79BEAB0E0CD901EE32E241BE1
+BA0C64F93FF30DBF15DB9266C872DFF210DB36E3C71FD096D03DECE673AE73A6
+3A909D7F15807C71729ABE5EC7222DD5C1475FCB9920B8F2B1B5019238C9ACDF
+7A2948789A6E5219D964627992618D6AC27D8C898FD50207D6DA833EA2DDC744
+D241C7B7403F8BD4804FC03D89F5A53D80F96E24E8EBD0C5276BC2DD5443A986
+D4FA9262BFBE50D93CEDE92D3741EBC7EBA9DAEB6D3C24F50365D445AD284E3E
+88B245CFEC62F0E8A62517E652F2AFD5AC720030AC82768B362E1BE33A3BFBC6
+4862A01E3F70178B3C30C984DE6C14E153AB5663D191599D5DAF55C82C9F045B
+243C3FD310FB49C4508F3E71686E6780E96BDC5DE7B93EE02E356155DD12C554
+4723199288C6668D7BC952BFAD9C9AE708AC084EBD43952853864E3195596C52
+1DF754A536EBF9A2B222DFD13DAFDB65AFE622AB231EFFF7643651C3E802ADC2
+65CE15FD0B3AF65285B68CD78055B2012BD4B07C6F44F76594BD8D3571CC2169
+93AFDB2DA8469B4CD9608AA42A70C8C65B18D0BAFFCA685983B114C9C36407FB
+9B0CEC6D678DF677B2960DF600EB7A0D8BFC3DE30B779E0E87B4C8756CC8F1E8
+DC0389D9874FF275101681917F62A3BE7F031C3CB45BCAFC4B75ABAC37E472FE
+320CA222FF0D93F2952C9DA2CD57B3C976DD6380A21A2A014EB65F634179F992
+6B6DE6E668DD114127152C847FDEE9A9E0DC031D779C273B9822452C0E3E37A4
+EA8A0B836F6FF43A6FE2514926903E92A04A511616AE373E8B65D2ECE3B61CC1
+828478FC9B4934B748644472E615988344F5D54CD785B53B3EADA902D6C1DF47
+2C186FC0427158C014AE68ECDABA015E4E99602350D82DD760BC82DB0FE41A3C
+18B6D86F76D56E5E6916FB0B4B0ACE1709766A5131E89A24EC44DBFE292F1A71
+36E71C382051CA99C7DECDF461FCA13EDF3AA06210ED2406EB79C65BF6B4FF64
+98DE9D823F1003DDCF89304D1B3278B3B262A9FF9E13C8B5D16F6587A727456C
+C8F72C28F76CAFB9849DD15B6D2450AA91B2EE2D013C702E7BA39CB3C46F9D0B
+B31680D89BDD9D06A9319D9EFAC175CEC30A952DC5C87A9E4594AB85173E9E03
+522D9061CDB335A59E4E8B97516AFC7E4EFCABF1D931C80E4D031B3B191AD517
+A5E2F2AA4C23A392FE09906226F1B846D1CCF3D799341EC2C83E6A3E9ED4F35A
+66506EEC7C22640E42DCB7D8959ABF8F1EFB45791545AEC4526CDA41CCF07B82
+884D2048CEF6A49E0267579C030E4CD228F6AC78EA3EC6A3D9E35F2F1A690A28
+9060B0F3785EBA06C57F52C5C13FEC575A2D3A2C2FB809C6A3FC3A4E4F11093B
+6B03E139505DE7F41FCF765C5427F45243A766FC486E7BCD5B466809432311F1
+0B83A44B03D9B5A65D1F4E385A6FD02BC0A4B3204CE852E1721F6F0E1C2EEBA8
+3D4911A981547FBA5ACA6AACBFF16382A1C980E292DC66D399ECFCC42F078ED2
+A05C06AA792345D157A2D6E59337CA6FD7F951DA2FB02D6F2B80AFDF36B6148F
+B6AAE89FE177D9AC92DEE51774059863F58A551352241B9434F383BBA4D61A8A
+901283B9D08AC993B49E2CF4B27E8BD2475C02603F5B4A2EC98E21F306DEFBAD
+0BB4C0DB806729B61E2839C8345D62C46EA1826B4E7CCD5EB69DD7BD899ED2A0
+B4992CCE2C5FCE9415371001840BFAE846784BD81F2915DF8792C923E37D6823
+A5427949C219D9C8CA716AF631485CD72934B3E8E2F077FF2EDC8E6A0B742FBC
+946A608F7FEE8CFEA0583FB6D9BFC68A2A01E379A6AD0DEDCAF66C7900A2F967
+C21804DFE2B5ADD2A334E7208778FEA247BF012D1790C0B796D2C5AD7C0C26AB
+311864254A3F88895197C36D5C236D6FD3F58C1B4A7CE43E317B14D488F5B20B
+DA16C269B9DCBCD197A72B980C6A443C22EC0741B6680B8D2CB4FF597709EC92
+63BBB449B884B516B50D5003815B2978C5933A6C80D572DB08433B373C7375C4
+EDAE583976BB729F93F57212B521E5046FB5E755AF208BE5987EA8D9CBA315D9
+6E0DECEE1E2469B3C0326A809929B5049766A14DC81923CC25D17AC4A203878B
+AC6C2CAD5D7D5D1E9CEEAB73FF195D5EDD81947D6FD078927318C19D382DE6FC
+6C44294B400C207DD83270C1E53313CA05735EE194C80F266E2CC34E041F1B66
+E2847E682E22BCC536982D6D6A96250EABC30D5EA344FC019292ADBF477795E7
+CD89D9D47D67214D08DAC6A8E8AE2192F195DA7D41AB0ED40510631C36701CE9
+4670F48AC472D1BE219F48EBF9977A03DA7DE787FBA5CC59C6FEF6A5F76C4865
+8A7F2A267B8CEF6B4CB736BE4C6ED226A57C092BC83E4522D19BF8999244125D
+23C36CD772E7ABCB48C7D1A27D482F6D444B910CB957835F78473238D3421CC6
+AEA1399BB2533B2818D77FE394481DBD8CB3C10D931589B0959D217FACADA757
+0DADBF579386DB95A6F12F61D10C465633245E05A100961844CC9A5527B6D7AD
+C632910D4ED6D71AFB2B34D975C4A32631FE66BC051728D50C63F481AD641D2B
+4E2F7E72F66FD22D424B8C6C93ADD447DCE87C2608E884D36EBE21D97DB9C82E
+14417EC97C835FBA7F020B6CB06A0CD989F9D9E5CB5C8F662357B365A581610C
+9165823D6BC005B510C60EC4BB3A7FEDE70410355D8E58A1725E4BFD93BCB75D
+01988E0F9E4F4F7F007F153C76A450A24FE139A8B7D2C9825A2370664263F1E0
+411A4A0FCBCC1B8F5EBFE15C4143E4E48FA39B5CC68A116E8A96645AD578FCC3
+9475DF1FF6EA1C3F203CFA3952482B6D380C25B80084F849224296B2193CA434
+B4850EF0BD04FB56F1BEB4B465E5193BA62D8D6B6920749ACB685D09E026E12F
+1E23C68EB275542E53C855CBE19E400B7DC47046F72AF881EEB1372B5C7B90AE
+F3654A9DC8436043A6278B375ACD4F81017FFDC478226EF57CC1C3730E302601
+777AD0E09E9E2CE8D0270DD6F19A6DA3741F25727EB307C7F8AF73CA4CFED885
+0C148D4A2444DDA2C22EDAC2356788B90ACB3428DB71DFC65380959FAFD573EA
+9B5793D05C40E2AC8059D024EB873CAFE1711FACCB17E6CA35F5F6B55C4539BA
+0F66A1EA6D16A26D4CA8C07765F76C68638FEC66CFF951DD13E0F48CD839AC23
+0E183844C5DDC94AC5ACB56C532960E0C24ACD0C7F29530E9DB888C260F651D4
+A063B9489961BE9D68F3138CC2006D0EEC618B1165C22CA07802840DD8562BC8
+04FEFB8300B01DA3A5D25CEEB5115AEF6EE197EB88B4CE3FA5092867044274F0
+B2C49E7604FE33554BFC8BC782019F0342806089BF8BF7FE6F9779D61702015E
+1D8CDE9B2F199ECA9F5AE69E4E286DB30A02B9FA44A53081E015B5FFD2DE7D6F
+9932903EF3FF0259BE2D491DB2F15B9170AD9C3BEEC5818B65D58C2EAEA21EB7
+874960E7F46D8D76856926345542E021148D95559520FB876D13B2B18D9C5EE6
+6FF720F22F1EDB66E0216D20C46153B1CFB096105DCCB04DD7F4F606566EEF62
+C638DAA0044D2DBCC6B460682F0FD9973F4396F4CA99D56F28C0105DF0110714
+906A9EBA29B9AB375F250C065CC0329DCE53577386E005EDC452BAC822CE7E69
+F9973AE14490E9FE6C033BC6A77391052BCB476AFD901DB71DC2BD5BEAF51C99
+609D01BF2696558515B6FCF825217DA206C87C894133D0B49E8944ABADC9FF3C
+E8BF10B2CB5D5AC9CAAE9AFFF7779A48DAE362E4F97EEBA75144F4610DEF1F4F
+F89E6DCAA88CB1910B0AA98BB53DFAE78611B28DF5C42D6253218E48187D65E1
+C093CE0CC8A137F6D9C268203B483F153928415EB96784E993F4B13E598348B4
+0ED07D148B74B5FBEE7BCBB298F4E3E364DC6AE166C0D91C4FB69AF8B7A47C9D
+03692EEACD8E700B9E79807311E320CEB913BAEC5E305A96DEA1456145E2113E
+871A649B7D143E05FB3E1242782F2CE15CDDCC9ED74F12D02FB74D23F2103979
+DD5CC27040B20F0324A3367DEABE17FA6069C1645F801E9ED5C9E653F9207C6B
+C03622E1F65E3280AB84ED97BD555DA13AA3AD7DA97C4772185F63F009D4EE5A
+9A8898A99A4CE1AB51B60F872D337233BA7E0BBF6C4F7302F0F9CAB90022ABC9
+AEE327C1A866BAA2F2CEF71E9B71A7070649E1C25EF91AA389B2C56B53B2DDC1
+CCEB2DF6571E19F71ECD136B0370C6417D484C4FC1DA9C200F3406D26377C807
+FF79460F38019130498C0F8E283D3A6416A51A2099F78D4B66DCD2FE873C2B4E
+B9DCDE7F8DFD42EF767F381C034C8106F5AEE118B209952FB6BDF693611433A3
+CA8814367719F0CEC27352AF826A1455EF8A5DDDBA6853932A1B1212A3FD8B93
+2E83EBBC72F2CCCE97CF5EE3A85CDA4805A5D4663D66015A9E92F670BA5FD46F
+B5735192AE1B0630B6857B070B43A8E602DA6127EDCDD3550A17FBC52BC26229
+399DBDFA557C94ABD7409495921931C68D1372BB0AF7F5F1414735
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -2945,48 +3304,35 @@ D6F66F7C646C3DF14F5121B34E41DBBA6533705497A448C4115DF01E7DF753EF
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMR8
-%!PS-AdobeFont-1.1: CMR8 1.0
-%%CreationDate: 1991 Aug 20 16:39:40
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.1: CMTI10 1.00B
+%%CreationDate: 1992 Feb 19 19:56:16
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.0) readonly def
+/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR8) readonly def
+/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
-/ItalicAngle 0 def
+/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMR8 def
+/FontName /CMTI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 39 /quoteright put
-dup 45 /hyphen put
-dup 49 /one put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 76 /L put
-dup 77 /M put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 91 /bracketleft put
+dup 12 /fi put
dup 97 /a put
-dup 98 /b put
dup 99 /c put
+dup 100 /d put
dup 101 /e put
-dup 106 /j put
-dup 107 /k put
+dup 103 /g put
+dup 105 /i put
+dup 108 /l put
+dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
@@ -2994,234 +3340,171 @@ dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 121 /y put
readonly def
-/FontBBox{-36 -250 1070 750}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
-68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
-3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65
-48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3
-9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB
-0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB
-8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F
-EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466
-FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3
-9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62
-D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8
-9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5
-ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6
-10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582
-83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493
-2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA912A2BCC6CA6105B29
-044005DDBEAF88E0F05541BBD233977A447B469F013D8535A9D7023CC0FB7B49
-A95CD2B6F18935C37F49E9A73E97A8602C5C26EE13D7A04A188336FCAB4CDEE0
-23DE9D803FD6E8D846B3F729BD36137E834E016242CD2F7BF048959DD45AD413
-19B985D05E5D422F3D0968375EA6A90FBEBF8B42B15F15280469D69629C08A42
-1C298CC027CC288B9C984239ABB96B6A891C1360D08F9ECC22202861E4CE9B39
-8BF7664E30EC188FBDBBF995890F9AC6C923684A02F6C7DB89154D09C81BC7EA
-9A2B34C9806216117E5533541980DD76B8046BB7221CD2EFCC188EC32B66085F
-E42A6892DB535EC02828116588FBD74EA4E0E3BFD88684FA6C7CB71555AEF77E
-0D78142204F285CCF060D964A7967A6A2154B3D08DFE2B2322FDA86ED5D45470
-EE9B589449C6DF08697D3BAA6280D74E342FC602E5FD61DF2D74FEEF1DCF80C0
-0497F3F1208A9E574D216C3B48093AE15D11F9847624B5CF4857D570D6C0A907
-14D4843707484EA5D3BAE8D0672F6B3A9C8C1ED6BF4DAF2A81F5C7FC263CCC8E
-9FCC30FC885750FD23B170C4A001EE0D0FB35BDFEE911AE9F70A8C66DB17C60A
-4AC74DC48522B655F231C01E4C61E959B0A0CBFBF001FB0B42E4DBE9B1A6BF9B
-4D20B0DDD45F462FF4719E893B5F61078860087D3DFBBEF960E1A6F722385F99
-64460E5CCD0EE6CF95744E2131500B2C691795BD499027BCEBA9731B15086FD3
-774A3BADBDBE26012CF3F4001565ABBB2C4642B339BE77343AC8511D720B6272
-2B606999427A671063AE9D97DCC822FFC39E654E077129B2CD9B295061BC7AB3
-25223A9DAF1D6835627FD62317CF9BCAF55B04105D22963838F3B4D6ADDA95CE
-E5E49A6BD2E7AFB72E564607E122C179D823DAD649C5919671E2B53A8CC683C0
-CEC0E9003F04E200FC25DF5CA616B0B19CF230F6BCC671BE60943E3D440D2291
-0D15111AAAB83B4CA5C842369690C29408DD421B5EA29E17974FE032235AC25E
-2019D3A4A5D3F45884F5C44C08C35C205DA1C032208EB9476C6AED686ECAEA46
-D63646B2E652FF872928055BD6A5310D185A6934C286AAEFFE58E650F4CB967E
-D6E859A734B62C19D3CAA63D31C71EA216D3EE53C3E8E952ECE9DE4042C95BB7
-EDDDC9353F5DF524A30563E952A31F5D040DAEF1150F87E400A4AF38DEEDED55
-8B0F4C717E44D6C4B9D6A517CEC4F8A3525ADCD321F12F81CD82D27E496AC1A3
-78C42B954025DD0B1B28DE9AC66BD9AF171D66B33FE1492D087FAA0921DB8CC1
-D5C0972020BCD8B667FC0A249AECCB8CAD6741DCDD06F0364613EB26DC2B95AB
-14CD7503667EAD92084C99037F59BE39F98AC2D02F88F341C7CDD72EB1FF7D68
-4754AD07D2385D3415E04DEE3ACD5DAA941585A1215BA426BD5E53A62D60DFBA
-937C45B0F9CB1E5E42429B1747DAFFA43E4A5234F34B7BF0D10442D16DBF1D0B
-7595356E73BE3C85C11BFF63E26DCD1B4343419C1308E2312527E3992FC6515F
-0143C7A98099668D8AA66A432D5FA26806268C4D6873EE7C3B90E0A368168C33
-3FDF8D483AE0151E7C9061CEE544699BEE1EF5E8BB9EF897745FAA7CB2BD3803
-BB46F0E6F01ACE744482EE4D86662DAC3043C5716D0E2A77DDA3117C70F7225F
-CE2EC1CA00663F019A14CCE473D47820ADFC620C3E2F9AE0BE50E909934B25A5
-8BCFF6D057F22D43AFAF475750EFC99FBBB5C1620C73FD26F4145F8542B89CED
-1AF6E4D044F4D1F58E8B7F3D655112975D8D996F252383E4B93A851DE80F6CEA
-9251942309E3591CA732E1A9CD8AC2ADD5BAC4B0BEF318BE73C15E2F07C03592
-3252891CD1D3FFA120BE2A496FB417D683E0F22DC0EF8F0F7303DE3DEBD6811A
-EAACD37AF708C641A75FF6984AB0E9FCDBBC3F0A45DB5A146EDB1F99BE208871
-BF643DE15F237F192F8D990612F716F2FC81EA3ACAD89639158030322AAE35ED
-EDF89F0A8F41A927D5F536ECE5EE39FE6F19E9F9966EB5814C24134D70F44F6F
-A79582D296E362DE55CA27C92AC8376DAD8BC0EDB5FE9C60B0577C60297A7F57
-9C940CF66E5E80BA5F802D584F3227C1C7D5DB243360F94AF4D7C6AE6BAE5FF0
-47EABA66F54F49EDC0A2D35C8BF5310930515EA95569A00C76EA23BBDF958EDE
-A1BB8F10693AE3D778B473A350DAFA4BEFB26CD56F99EA0B60958C43BCF78576
-048503553CB41899066F60F6722EEF4FB78C72DED9883C2207B0D72EBCA8360E
-EFCDA95AF624DEBD55AC802A0A9EC0AB78C7D6773ABA1638D12E20712EC4CBCF
-28981E3F95BEED6FCA15DF4CF24C8EEFB0AC314466E97060B7E5D4C23F261EF3
-29AF6D53C08814D9FB15F50921A37BE6A3D663A33BA80B6DC2181C4D654D048C
-BDF2538423B70EF21C07CEE7C6F53A65E20F861657BD5C9347CE43CAF97FA1D2
-2E3AA12CE29225C0E52F5E75AF09F292F1027DBAE29AA7B40C330F4EB52A4216
-06A01645A9564C875A701A4D323D7A4E52131981A044FD52B4EC7156DFBD021E
-DFBE9AAC28C4B6E7AAE4E000437ECE23B404A5DF1E2EDA2A256AC8893B82BBE0
-6FAD760865E409D03B865B878013CD3C74683D66724E6A76078579ED805C69A9
-131C90EF1959BBC9C833807D10A3990015F75C7338676B4EE320B6EE7082327A
-2F8638A6AF9D40D28E56633D9601D24325DD1CFC96033012D45B545565CB67F2
-79BA7F6B638CC7416BBBB078D7298E544D015154D56F15195525D351156DE994
-93D242FDF8DABC24E050F995839991BE0214BCE0D796CE1456C82E28F546C17E
-F7031B8068036045ABDCCE01807E44B171B50385DB3F4A5FC967312B7A1899D4
-B0DBD1B2D935C7FED91DD3BC8955C0CC6D1C9FA894554AF16A7FADA0E30EC20B
-E5FDE32C0E94322C2E0CAE694CA62A555929C8CD57E344F04554320D8E8ABD1B
-7E1AC9A4CDAC38168C4BCEED9D9BA29C321C22F7A4C17504FD6026DF513B4B0E
-12F0B1234C555FB7EC19D704E11F3C8FF22A59A83E3D37FE4C74E37B709B4CF8
-8A054BBF6C915590B87BC824DD8D52C5DD074B605991C4C8E276ED8300EB974A
-486D59C7DC277514C57A8A835715B4893D4B7820134B5259DF699728E20E85EA
-90A2C5E0ACF963D4C337904C48ED851BFE2CE7C71DE737C48EE172E57DE7BCF8
-4A7542EAD0BC76D813382AB254B9898F0929045F841FBCBD085248F04437F368
-9998D93E1CB93B96694520EB0E46B0C1DC8A272615A4EE1A5C89B116F0E0D596
-F3B729A2760B790663539756611F27BAC5D0A5B007411C48DEACD10C3B85E6C6
-079172F9F7A81097BC12D1ADA805F06A7812952456687747B3621D7979C46F14
-CAE2EEBF488DCDBA8C10E171A2312373D166053A4864A0BFCCB958AB52526514
-0638C3C42603FF8613051E851B5177B67E19EFCAE16875079B1CE8B07CCB055F
-FDA70BC4906562A76BD4DA1A8A7D57187F6477ABAF8AFBC49FB0DEB3F62213C8
-41F5A469F84152D20B72A1C48D8072E87E3841C2B832F28A7EA88E4727457DCB
-A9DE91010E83ECF4788A7B2BA0C10223AF216AB589924FDD22068C390B04DCF2
-E8809127CD20C4A41EC45F92FCD7F319FEC50C84B0317FAA44CB7F1245268CF3
-6BB8067AF4862D842F743E282382A55A82C113513A5576490C5059AF431A2857
-301CD331301A2F92D6E8BAD6EB47DF90BD21E561AAB2ACED9DBD9BA22C3CF522
-B6E10919F2CF1FC8CA02D44935C29CF8D3A7330A91512982E219D56CD71AB196
-38262D63B4676AE3A30C416BFF50EBE68302337FA27EF74227D64FAFB424EE9E
-DABFDB7150D5C336F58A2FE9AEF4538519377833A857B11C8AD51D1A093B1AE9
-E091980F3850A8EAB2633CD9090293C798200316B85E292AED878AD7C28CF0AA
-5F970619E2C0413B2B719ED01DA74902D163F0C13DF48C01146A4277E42AF371
-C3496F5570EC1EBF769F1F97FA142BD660707028BB3A5F1EFCB20DF215D5D538
-CC6770438F7B86D94AD64D38BB3F62099C04B8FC6F864665C4B03A178A3DD738
-45A58A082E7B6DCE7CC82FAFEC2DABF443F9C0A792A426AA5EF425517B47F11A
-C6E9B98B1D468A3F6FAD221BBB69E808A900A0098784A890D32D88F3219B528A
-18686B5DDBE6A683967C4CA31A83214E9CEF6DB42C2FC3E18C4CE373ECEF038B
-04F26953932B5401F05B91A0C636AA111063BE72DAA2A60AC9E7BB4D8C3572CD
-FF032CD4F6BAEEF136C02E7F997F6CB513CA2492190043E4D4C3507FB8408175
-0FB47C08DDC70E86D3BCF7F9DEB15DCA6583151074DF927BACB9707DD0819085
-940A0BCED41BC18BC7A62251203E2E1C010AB0F5B44A842356AF7CF9BEB013E6
-A10362D47360DB5067849C835AC20754F9C9F0B7FA13D6A8FBD171BBED1D13F0
-F030767F7614D4C9A0039BA0650A93773F703253CC3DFBC75A72EA0FAA56340F
-07D631063F347E3E8734A7E1F2D6BB3D5B91F9590C7DA355AD9F2B8D4513E7D4
-528410A1EC6A5C65EEF78659FD9E511B85DE680CF4EF104ECA236C3127C73013
-E2E31BC6B91F60ED27BA6B9F38700C402B0D758E8E2A54999D4D472E10EB4943
-F8EE5549DA1565F9C2265B3D49D2B14763824A16AA8718B664BF15B96E88D20C
-CDF7FD4852D70B71AD0369B3D89203EF7DAB69370B703CD30962B22C8D6E929C
-2A2F395C5A455D1701EF0D05076F2C40788B9DD7457F68A4A13AEAD807F544B7
-3A844D376D61FD49AF09E502B6F5D15419E31FD03355D261E55F36E989D6C030
-C06AB11E764F4A7B55A49E26D7A4D922F7FC1F7283774CB8663FB4EB97D3F50A
-A7624F4B2A8D5813EA1E1560BCBE1363515D1E9F4E45300D62F129F4854014ED
-754EAAF06528E0AAA25D31A1A5AD55F0C3DFB2F5DBAAC0E52DAFC207D6F4A006
-7FDB452F3FEF90ACEDF137D8C53E272FBF846DD677802BA13FCE850732B0966B
-92FFCC679CE181B5D5DAFE0FB943922020DED0AF242380359A673E0DB7FF8ACD
-B0F1C1EFB5A26FF5793999E43A8CFD9BAD2B733D5F08A311A99AAF7BE445B94A
-0927E34D4DC4480030F5C83BA2EE9D90D4DDF2EE0466F46B3FD776DE0A402653
-84CAEF6C8325325D7E99337C461CD248B1ABE857A9C296F6D972C6524AFBA089
-0E3BF41644D39860425A7B08FF8AF01A4BB7F33402A79452D5B48E5DADB3F87C
-C7B41F8A650AD7FFAA2B16342947BB0224D225CF5EE8BD44B2FAF79A7BE0A654
-9FA6D04EEB57B287D46F202FDE071F01A32C6A561FB819E98AF25530EB1EC4E4
-CB3560B348023F4CF9DB99106DF0FD87CDA9C8D1CA702CBE54F1C4E6D97206CE
-A03B809D519566C03AA8B03AEC9D598307EF18230B707ADA01E53CFE7D3DB5C7
-568316F1A8DDFA54271B1F9CC0C1DBA583A0AD4073AACA046CB46634A60CC862
-7688D6DBAED47297898DEA914C5AE1D8A71CEA4899ACBF700FBAB0E08AC24EA3
-DC41F3917C021D37AECC1E7A7BE39B87000C8B1B6405706427F27984C0227AA2
-F0BB1D0579F196D83C548BB1A2BC0E5B4C49C27DD41FA124093491691C878C68
-EF2F8C915BD3C99F96048AAAB7D91B29D71382414836DED075E235107AE38268
-D1B393E06B5609245F356C9B01E10EF0B55C46E5A1C0E2AEC7B2389BC1CC113C
-7A9C88507D98BE861B808EA46023BA73C93EEB1B8EAFF966B0EF2EE668096B61
-61BF2B0812D072649B8DA55CE03CB0EF48BFFF6FDEADECAF2FDA4CE65D8A474A
-B0644973021205DE39FE838BC7B2C792BE051ECF3C0C4B3FCD3DE7AF823E28AD
-9EA226B22167652C0683A4208704F451EE311FD79AAB849E08C32345C0BEE452
-31721906A7DC9E67C02A2880E6B69205D8C777E26BA188E08CFF8E08078F3020
-9A40EAF73E97A572E69BCB6BE5C1C99FA8BFD598365B59CECC3AA6CA03B1C3EF
-FBCFAAC56444DBA3B1FB8FE554E8246885DCE707C7955D155E4C43E74133E5BF
-4B44B12CE27C79527A570C3C372770D95336AA8230B7ACD6012677735010FD38
-BDE62AD2F00157DC69292283122923222F3C984E81165B872F299215510397F7
-2854D3FD3DE0E96E7085C72DB587F72AF43B99A12B1A038DD95955A5312E091F
-73DB034DBF4A879777F775B0DAA41B5D938C1D775D32593B7F0A03A29CD4A67C
-8AACFCD20E38FC2B7E8058E99EC7219E951184E8E505A3179E9DF64F6C4D676C
-5826C834DA3DCA57A30DCB0ABA997A072D700D8B143EB4D9458CD6A772CCDD66
-9AB2A29BF7E0936C694C27646F2C2D32F046A3C9E09A2923E06DADE28236AEDA
-4A310B56EF1E538A53B3D1FC282A40F30EE9DF5A280AEAF2CD366B7F03608E36
-C83BC963F528E05695063EF1DD3018A0A98E7D48613D79ACD285C5BFFCAEB04E
-4B428CA13FCD0485B2FBF3ED199C4D90350326EDEB23E9E357624DD406ED79AF
-75E4DAADDE9879FB03EC6EB56CA348D6CA73917FD53150F0EAED95738B082426
-B54466762248286104013D4861050837450ABE706B43EA7E74A87C16E3CDB4A8
-925D3185DB0136DBC3493F3E1E89B90B54FE1822F3C6757FB5A11A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMSY9
-%!PS-AdobeFont-1.1: CMSY9 1.0
-%%CreationDate: 1991 Aug 15 07:22:27
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMSY9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.035 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMSY9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 104 /angbracketleft put
-dup 105 /angbracketright put
-readonly def
-/FontBBox{-30 -958 1146 777}readonly def
+/FontBBox{-163 -250 1146 969}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
-7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
-A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
-E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
-221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
-27D1663E0B62F461F6E40A5D6676D0037D33F24E2FAC2B0009AD3C8350CDF8CC
-65BCA87979C36D14CB552E9A985E48BE4E88ECA16DF418749AF04FDD2B0E1380
-D281BB2476BB45FF30946B247DFD7F57305FA87E50CA338121C71CDFDF927A9C
-77FF14CB4A1D6D80356FB1171ED38C37702350497B44E42CE31DB2F493807DAA
-15B887C671199A54C4C1294BC520F5538C15556BC43C9F62342B121C6DCD6C5F
-491DA47FF360201EE21C08A781ED0589A6DF91B99FE118B9B29E4F068672E52F
-1A06C514D91C4C937D4E642503392B1CD1BF5AF0BCA28EBD840AD76CC39AD7AA
-CF2C05711374F7849708E1106F88737C9AA60612D384CA8C173FF1031EBF6EA4
-176136DE1B9F29E40E82680A2CFFDC24DA05853307F1D1F6537D061EBCBCC5AE
-E6316380ECD8E63ACBEA9FD1FC28949366850AAABCBC9552CAB2CA3BB934C8A2
-14C9DFADE24D9214858B1D42B2171DB18A475AF78868C2549F19555AAB07F586
-58B28541C74E14F28B68DA42A9D46C031CBD74FC09BFEAA3AC1DDC68B7B71B81
-6003C9C6AC8EDDDC046D247A2B8AFA63A3B1BA1F12AE0B4DD07327F0138BF470
-4630E4B5DA55C194F454EE2E872E0ABE6B879DF2E87CF81F75D79F458F7D3F81
-FDB76C15EEC4125D18685E1D8591C54C0B0D069E2ED73434617B9D30E64457E6
-1542E4630E848948FF2747D5C31B9C314AE108931003DB9F76644DB43D245499
-2D28E8452E50B1945E13A5DE2A8B93523D3671D1C7ED07EAB6FFB559E5A1F828
-B22D2FAF349B40C3B31FE806595F67C5E75260514F456FA0013668D948619514
-0EFFC35C1AA131AF8578A254AE62CA75A6631489C78CCE633A3B302BFACB
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
+21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
+06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
+55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
+B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
+0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
+1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
+7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
+7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
+356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
+19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
+C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
+244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
+AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
+5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC
+D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D
+993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363
+2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B
+E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3
+309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513
+F42EDDCF39AE522A1DC2D80B2772B05DA60F3DC15A815A6BAFEDC399C7956E75
+3851CB3588E22936FBFB63A58300298B11C45D82385C083D07AF133BB1BC941A
+FDD9F34D5E0B8087EF2A58C54D8AB7580EE3ED58AEB83B72CB9028F472ADBF11
+05A77651F118824F6CD00209EFB60C1D32D46A78E8C8DCB8B0E742828E3B7D17
+DF5200D68189C91FB8489CDEE8BC223C4281DDCA5F7DA80BD5C2D66A14695EA1
+5F05E03500579ADD440ED2C57F535807560C6FE3873143D792734FEAB93AE8DD
+633BA6FC5683083402BF086D23594AAC84A4868AFAA32AFBDF86142B350F8F62
+E2531321E4CCF34293024EF8AB617BAB11A3A5EDA03CAC5AC431C893607DF8E5
+C3DC8646027A7554625A16FD184A70DB5FE6DCEA366B64430A147144CC9839F5
+72829FFA42BC3A8406D680E44A0305C9C9E265E91AE82EDF30F73730DCD4AA20
+8B63D3B568DBA690DFC2103EE47296E0EE2AD4627B84BF062FF54A76E4C48137
+E491AFA711FA8087A3F3FAD6C3BC571655D66A52BFFC2AB09CB9035AA67A50B2
+E938298E2DA5C50C50948BBFB6DAE4613B0C70E5E2E0E7C72621E61E51107C33
+463BC505D3FE9FE04CE5A67B252B8BBA81759F6EADADF1DADEB0B15872130D09
+D48E8AA0633DAF01025F36A0C224A65540E062922F9FAE9DD77BA007CF237ECB
+1DBEB5BC617C7B84599EC193456F2959D222DCECE46B26699F71AB1B2640D8D2
+3EC0C04CE0CCD5B6940E36472275ECE2E42ACA7B3E886F9846A6894D1E16A448
+6DE9DCA4F5CAC1DD63172DD7603A082CF812D1427FFB51E155AFDEAF583BE97F
+5CE8E4E9FEA15618846B1FAE475C62689784326A95DB1383BEFDFAED6BB9194E
+9BBB86476F78F0243B4515002D76AFC202225F62B1F04FF4B69D4B63C16B3063
+711F889BF159978BB6F83E2C090D44195AA4791554F092D82D50D4A3A3B7153D
+7078A482E02D272728CBF0A96B85948C31B71028F03B77CB61EF7AECBA66676A
+D050B06C53BA2401E3B0AFED364E0864A5B65CF9093F78A84A0DD628730D6F4A
+B65C861E42E9466E7D1E477BE5D7035CF30F9675585B52C01924AC437DCE2943
+8B545C90ECFE190144AA8A7A76FA522D98EC1B581C9F5253F704EBE33FF1D1A6
+86CD1F9B706ECA6A1BBF01F0C56FA59C014512C31432A9ABF09AD6C49363AA5D
+8E08AA4D0AB995DCD4CCC0400B71055505EBE7D21D2061504E990600C3C04937
+424C2527DADEF40A0C058E76B08BC7B8CDC5BAA13E4E7AC6D3B59F25439BCABC
+1A940BB9D4BDCA9DECBF4EC7F4FF3655C89E05A7706613C9BDD0179F8C686333
+C9A876055B3ADB816692BAD1AF575011E30287CC9B65902F2BCB1BB45CD441C2
+1968E8DE4FEA5837AA93CD73FAF6F50B87DD2EEE0C1487149C562864A528EDA5
+A3612AE68D8ACC67C5207735F4AFD19462CB84EEEFBE81DFC66CE8E89311DE83
+6546CFBC19D4A18F4A3725838DE19D7F4DE87F9F1866DC65E155A82FD5555D79
+F799EDF508A4F7BBD16D7C09C035DB51858CFC00DE7CEFA7A8C6ED6C47EC33C1
+0E613E1FAB5B5686B439F467DBE384AEDF8836B2CEFC1B917AE95AEE4329BC16
+EEFE7CFE5B43323E90AC167B1DAC570C3FA61A334427495A5B53C6DE597AC069
+1E56B9CC27C7789AD915F2A33A70F2D194859EFE129A9A6994559A898DC9267A
+A1966BB9438FBB2EDD33995A4749416205A3E2F71A30114B161AA043FFCFD30A
+1094C56555DA272AAD08228C0AB1FC39BB11D103894FA0A899E0AED597A595A2
+EA8D70AA76BEB04C244BDF4CF94226EED1B01DFBE1F0C3E3AC90DB4AA8BFF2E1
+C718A17B6B69F423E7E44F8D42EB67C0A6369CC1CFA9E9D7F50F09402431B2DC
+B5CA0FEF2E24242C5027836C6399D28F384F1236DFD33EC8634997BB78B25DFA
+CE75E060D19009A6AF994F883A0908B4AD79FA8D69D1930D9CE40B53D1396553
+9D9A7FA0CF827957BC1244A816576C8B2DAB8BA123A164E717E9BCEA023CAA5F
+265D9D24E4EAF58F0B580A351B8AB2BC43E338AF241AFD001A19A984CFC62A59
+8B2013E8824A6827A7FEE516A09485F301AF11D925D18F59A2E907B17646C8AE
+586E9168900605CA101CD78C24D3559508F80E844D31BA7E197DEA3A38A82766
+A45E8C41B60DED52B1DF8691737FD7D57C807968D6937B90275F082C692E1C0D
+2C767E0C77B192774D37B2BD4E80E214A8E28EDA8926A120C12A4E7901DBFBC0
+B5A72A1CCECF325FFB569231EC8AD0528086D6E94397F8F3ACA26BB976FFBB1C
+F49B8B6BF7B3A9E953E9D089FBF8E0B82D156A6C11BA6520F91B8B9ECE690FF6
+324176A8016379348959A20C78F07D82DDF803D38C73BB3E0C0DC1028ACBD6CC
+8DF50D96AE276FD243FDC8C8FAE66E146160C966F3F67177436F9F861940AA6D
+B5348AEEC6B0E923DCDC589E392C72D0936D958884858E397B8BA8B553333BAC
+6022064E4F1D42C3CC143061D377FDD0542BBB5F3CD1A089CE64B60B4B436A14
+6A429D05FAD474C84CD8672364D35543C605EE5FDDCABE2C06B4AE7D4F8490BA
+E2CC28E290E5323E4676391739E2EA134105BBC58B3A74D940575BB9A919DD7A
+C38E05A366F23A0143F4C192316CB7408F5E64028F28840A27FC4DEC8448D593
+9D5468134DAECF543F5697EF5989FFEB34807A1D79DBF2A354A0714B27B97DEB
+0D8EEAED69E1F90211E1BB6A6795537BEA950601168458AFE5940E78A5FFAD60
+ED2E04D99E7FC6BC0E5747B56E80805FE24D81A604E867CFA1F9814E048D2DFC
+34D04E8884EBDCA85AAC94DA6ECE609228892682EB8C569C974CC0E7362234DE
+0B81F683B81ED714DC0F586D903EFD97805FBEB92170C0C25A6A13F76DD60921
+2F1CFD57CC219FE6B91DC1C99C0FF4951027EDE31DC5535DF6612BCD4963F9D8
+E6D01817CBA5A350CA666B64B6A6B45E4AA33694142CC1E150C0CCEDE5168DBA
+50938787F91B44CFC3DB90121B49032F0D73F631F16A82D4E19245CB94BF688A
+213A56D62D546ABC818C730AD4F40E4C622276BB12C090C9ED9C1B8A9FFF2DBB
+AC82A80CA2406A842AC497F5EC0B227194714BC6D47312177616C638CAB94C31
+42ABC4FAD725A3DB1B83A590B4E05A984EF6492C68BD2E13FAEE77DEAA2CA56D
+B8F6CF2800B15BE370179ACA404C87E7D9A6C7F70ABECDA8AE07DD3AA14808F8
+219CC49DCC2828AC72966710D1506B400640CF80090F5BB400EEEC11851E630E
+23F01BBBBD9D2B84246FC644567C45C2324998679A7EB28ADBD2C4FC20CD3F5B
+E712E38F87EBC6621769C99ED42789505EB5135A47DE4F6D15B536586D7F2382
+9514C2528E4E9BC0CC8BA6828AB7ECF3D87A0CF5B7A26F52AA89B5A1B5980AB4
+399F408B0A1AC21AD1C6A40F1B489BC8051B8D3C537C765AFC909D5C62A2F5D7
+C30C349576D36B1FD4EBBEC9F3FA3466FE03C885FDFBB308929CDEF89BF35E00
+DE9A5EE59B1730528FC4A653397FFBB2833073CC792AAFDF9421E5DBE494BDEF
+70243094C61678C79CAFD7DA8363FBAB45202455F72241CD4037225FBDAE983C
+22F1CE3831BECA0F99B1BE8C239563B2BDA6B32246B213DDB45F2CA748E43769
+A49AC5042B18CB894E9A108A1062B0D8E72AB0A81B866AEF65B1B993DFB12ACB
+68265B8408568516415E4C1900204B0617110C98E9EABC34712BC3306B595761
+79F96C39D826C959536B2F2F9320EC9FAAF97427E07EEFC64523CAED57C2D6D7
+DA9AC41E4F589F223C214E80140D2F65E062685D333B44C39365C1721DF60B77
+990E6B0E3EA4AB7354905C402416BC67356D485798C00DDEE17A812091590520
+FC2845FE24345017180408BB143B6B6054B947961A307A3CDD9CCD858ADFF2F3
+D3430EDB2254DCA877BA18A46D48FA1979B434DBF737ABE3AA240DFF74A2994D
+B8D53B6A2A85B81E815B22BC7A61190D8A56DCDA40DABA6F0EB7C1A5549A5516
+FE816ADBEC811EA881A820BA1816E2D42C45AD4FE575551D3EB4976D5E975479
+D0A32D47D874E94A4A5AEE8BBCAD973053749AA70D03105828DF417813E61169
+BB5F6ABA5CFE500AA78582E4BE8074FEFB29EB32A8BEF9FB6FE4CBA2A6D72BE5
+05F8B488FABC424FB00EA88C43712BAEE1AC2FE75D93C2E759963962AAF81A4F
+F802636AA0B493B93C2D6D39F070CB0B36776950CB2E60C437F7E32809C25F66
+CC7424AB194B88C30EADFC68E83F856A0293DB2C4749A0098EF5CF33D07DB18D
+13EEA54031B24D2D5D131183F8DEA7C98417C985EF148F64A48D95DC8C1D7F8F
+F0536B1B0C00A8C3BFC67E558DB07A2A9C8BF6F462E3531B6E7E3BBCEE830E9A
+12A7F85D1E7EABC09221C4BF383AC8ED6BF538640B25426E59CF9060A6D40B71
+BE73C09C847786462AB9B2A5AE60F99E628DC5E83CB4F44786457C85DCC76D6C
+816EBDD86013E6EEC0B9305390AC028E99E98C7DD7AFD17548F5EBB7FEC28E31
+9B2EED71BCA9E5A24380E0C4DB993A1B9E93A2DE919EE00257A682CD0F48F38E
+686B0AC7F2CE64789AC368DDEF067C79A1F0CB3CFCA3BD7D7CB7A9582C6ED4FA
+F3A5EFF59E995E04B6543F3A25CD2FDCD39D2C87E980C175740EF0D6805C154E
+B422B9826CF396C64DA951DD3A1449CAE447BDAC920846E0CDB4DC4256B4C832
+87E907C43E933C70D04F84EECE984B7701732592BC81E7AD669E30A32F65DF87
+94AC9AC35C56F3FD5E25F67DBA459F76D2711B621D85EF0034C5F2D16F27AF13
+2CABFFDADFB87AC4FB1BABD2658CAFFBBEB290D9F62619120D0A4FE45B9EEC26
+FC2E285AED3F5FADB85F2B0D64DD278A86FD01FB80E251DFAB40A371F183FB2D
+A72C7FA2176128F7A85F01343A3A5BACC7CF7ECF9C5FE98D058201B31E7F3FDB
+F9CFCE3A66FA77382A43240FD80E97A933C5FE116C911D14BCCD8947B0C50C34
+799EB0A2391A8B49E29FA94EE7F4563D38C3B9A700FB608DF98D2ECF6841221C
+6AC099E8318392F1F28AB7E6E97CDA9196A87B509E67BA93C74DBC84D8B72B78
+D6F5C3CA30CFE25150DA227F9DD260A57FCE041BC8DDE287FD0DBD65EC465B00
+80E564FE2967F1FCB1E072ACA9C168AA746F4F54B4A9F83381DD11EF6F8DAE6D
+14077695AA1113EDBDC6B8DF4BEC621FF81A2D505CD5B7D30F90CEF1A477FF01
+BE15B018484169432E922D935E4863C66E8769651A899D5E1A1BA511CF49D211
+446546B71DDA8C2F944E66F76202EB4DC8F6CA54103DBB01CAC20CB08DC77A4D
+3973E29C2DE8C858865FBBEAE5D71E81E0CCEF5FD4FFD706D7428EC33D5AF789
+C13C5AE91FD36FB215D4D9A51C96739B0DA033D83BFB812411CE25D49C19819E
+533F4EB14FCAC3F746F7FFC7270E4E947AD2C5FB4447B9BA284D788C9AACCF69
+B35CD1EF290B662DD72118B0C475C2DFF997FD62E279BC0C44AE5D2F7290E4AA
+E6443141D9CB366CD71374BD411C4E72B09165021AADE20E747E2CC89D8BEA12
+59EDF9CF61FC957C9DB0F1B4B3CA73B2DACF4DA0BF1E08912EB4C23C66C21447
+E22B8B8F93B89D853F6CB728111E6788BF95F969A654C9FE69F0CE3DCF436CFD
+8B3B68353ED1DCD6C26DE48817E4B0F46741D0DA7695802A16442F1052C99131
+F8D7D2FC2965B90B9D9675E6F66BF502B4BA495A5899A46760B8E8E2426396FD
+2BBABEA05AFFE78DAE98972BB61E07385A8566AAB160BA5E4030F1BC6DDFACAC
+850354E3F98294698DA8553D2D4F40DEAFC25DDEE47C5047776AAE8AE49A0E3F
+B52F4EC8D68F195AFF4C13FCED0FF91B06F6C9160F6A0BD1518CF4A2F6353357
+846DE266C22B4FCB2550C4E1CC9BF7FBD5ACCF31CF037EC4AFC8D2560D0F5FF7
+3B3F3D1E0399F7ED51C7D194EA17E298C33CFA73133A64C29F834E8684017D26
+4E9FEDE39001667895474D7649C39DAA83BA7EB97A3A5F66E7F07C9C389579E6
+E07C7B8517CFC535DB0D12B6F57A7C292582309C09E89CF4111734BAA78CAB3B
+DD6B34C23235968C14851E3760940A38F367A42D48D453
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -3254,20 +3537,14 @@ end readonly def
0 1 255 {1 index exch /.notdef put} for
dup 97 /a put
dup 99 /c put
-dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
-dup 104 /h put
dup 105 /i put
-dup 106 /j put
-dup 108 /l put
-dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 115 /s put
-dup 116 /t put
dup 117 /u put
dup 120 /x put
readonly def
@@ -3297,99 +3574,72 @@ CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2
24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD
9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3
933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307
-08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61FCD9
-3BA0C4AE0FF4F03CDB67A59BF0FA3EF565B71B6B46567F47386A37B73DC3EA3C
-83D600659CBE5CFDC9B84CE11D659D83352F5B6E9FF599E0E25244709CF94999
-F4490F79C766FA55136CD85D8BF793202FDD810A61844BCB7ADC5736C338B72E
-F6B6EACF402E22501162C7B985CABBE5CD653BD4BC882F3CDA306B8D82F8C256
-D66F86BB8D800556AD53683E35812ED61470F11E8444F0A97CA096FA37EE63A3
-BBABA37D240549D95D6FAA5EDE9867EE2CFED7EF929B833EADEFB9E4E9DB19D9
-2A013D3884F1A17AEB95D189CED0F4C80FFAE18F71733697202DDC4ACE91E6B4
-600332FB49F953444AA7005E65DA787EE3953EA2B0B928726553C7EC1309C5FD
-7B0B7AAC5BD4E2535866540043F5F6815D7171AC447EF63D8B79471B41F50C94
-7F405419204A80C33463AB00205F51545C7C6C723505DF68238D2591C25B7627
-7FC0F4A215B2F8F225A11763A97BC2AC25E060ACC4D3D6D3DE9065A8A2197F78
-EC0CDC9AB6036F8E6E83D0D099E78029C5A755C00A5F24B5F6EC435558707430
-C6C966526F7ABB1CD635BAF4BFD9904282239A224EDAD8330344A1796FB18580
-965F34F885F28CAFBD5519411FC833A319F8265B8E9A97AE064B1364B9A5A3A3
-C59E19620A53F82B108D9C48FD240A5252D2ACDBF4498973E31C9FF3AD4D943D
-01A6F9DEDC0060E9AA8EC38DFBEEB5A63DA4A6FC9981F3ED71818C4F3BBCDD6B
-4652824691C369D1052801AE761EC8CAB9EF46C6F820F88874B1ABB8FB907C14
-03C8990FD8106C3DC14882C3F651BB89B9E479B7ACBB958E39CE4279F8173F2C
-50369D3EC79B5679E8D3BC42B40C896B2A73180E94302FFE0AA5A6D6066CEC3C
-116115189CB0FE5B0700E898D624CC772E932B4ECEC87AB7DF9B71471ED7CBAC
-B8BA84825E9B2F69040D31CCDD677BEA51C6B718E2D1B86F718E3E4F05F1FA1B
-5B1426412EC3539F5499D3F31C78CA1F8C72F2E7674286A9F9B20871A0C76CE8
-E89CA4111EF6628FEA6FBE7D20853111EBC40167181B8B5D97391502C960AD15
-596D6B0D81F3B3E92A2386D378BC5B236BC35941963E587A08EC126F7EEEA860
-89CB644FAC8E77EACED049D7EE276760AAAD684E68D0126C7D22F180A132F942
-5F68A03E7EF07C70B50DC802FAA05BCF9E2EF3FF8B3D3F7C5963C4DFBEB9D11D
-899AB25979042DE940F02561249269A038B76EBC29ECCFA0D44C055319F4792C
-2B7B4CC47AEC4C83A349F0F3B281BF62B62DA0FB0D8F24A8CE1F73024815A802
-E08B9BFD14ABD611C7A9F764C5F91AAB5BAF2A2E46FC269495B2366129E3DB47
-D09E707549900C0D1578FE601E8EB803CA6BB80CC5A488F9B7F1D923DB5D06E3
-BF1E03DBADA701639A21B9CDB67BA8BF62D308DB4C460DAF18D4622AC03912B2
-4D904D416FB927600B42F271DE15F7286E52E53DAD4F2CEFC545845E1B7AFF3D
-8B25FDBB6E7215769E4225DD284F6D37C785FDB0C7DF182B54C443100EC58DFE
-18164FE653B9E5977148A6BF77BD089EEB8286024A719DB721F5D9EFC46E1DB5
-DDEA3CD883169686F0534B35EC91BB2BA6971F9FF44E8691A9D8C8E8C0262A6B
-F20B1497174C8A8FF6B3AF1323C59CBA4E3489BD8527FEA652B404AB552DBAAB
-F5FBC44D7BCDE495895A50516C6E9A10BB8691DBAB29506D703167134D567F83
-951418F611CE7323659EE60EACC8000F6BB0F7440C65BE980D82752CC3823169
-D2C934514CAB71FCD8C8FCE139BA03DB6BC7B9557E7B0BDC14681FF3370ED2EB
-A1B9C315C03528AA381ECD389EB53833074668FDA5DA2282E7E4433FF7B94457
-C3AA2874BFF73FB21A55441D3DD11489B5E0A4E8946D3F273EDF5A845587A422
-1915696A0D1B7C8CBCE3D3031A69DB3101AE7F547628BFF38D8E383DA16B52F0
-3D42676AB459769F2BD50C8F3CE7A6DC0430AC385636087783E98E6A4582291A
-F34E3F6120E5E2282C765E97F8A99EB922BE98FEFEB86587C63E9B10399F00AF
-CDABAFAD8A1EE367149C4618582BC85DE5D57FE6B7E8254E8B9ABFB9F4AB8635
-74A449F2AEC35A84ADF4ECA4940AA2AF136DA60EB8797EA726763974376893CE
-8F799E1F75FC012D4A41BD5A9A766CF23BE98CA3D31DDEC59F26E9E6531A3BD6
-3F4DEC954168D0CE948329C0DFC1F212F781C31F84484EBE4ABEA55923C9FBDE
-34BE6DC02B1A9E0EA6AC9F0D0710B0E88AB7E6D87534522D98EB39B41DF9D960
-CEA4A65D6311C0AAA6E189399222ED5B2F1728C7218E45E49923445FCD858633
-C8019929170C50BDF8411822AB2759A3CB38908E1CD5598DD89F68DF0B905204
-030F15C16AD938DB3389026234AF4B069B9EDED52215AA2B21AC72D505F1EB58
-88EA6D61E815EBD83D1BA7A6DED6F45A8F6AE0039AD41C88C4049299C1BEBDFB
-A464C2F55EC061926DB93DFCFE19A33F9EDA3971FF1681FC001AD37407FAACC4
-56CBA2C45031ABFB1E96E5AE1F7E4645FB6AD13702453FB79AAE8EF6B5D6CA9D
-1B3A37D4E80E9ACE57BF6249E3D1DF36945D9493FBF83AF7BB9F038AE96D364D
-73C2120587CC6AE260329F0786BEE3F282ACF41FD7DE5BF8E7DCFC3DB19E09B3
-85CDFFC5D9608B27F6ABAB2A0CD25FAE183D06E7E55C002B3A9200632DD9D964
-E8109EAC946C4C272006CDBD6CD8C2EDB0BCCEB7C5C25C9B6C7D881794533508
-2029A936DA935A17802F2EB438B5425CEFB51CEC94A7AB7A1558F0B132F57DB5
-ABE34B5ED234DB394D5764816730714AE3AFED28FF069789CD75B70CB7ED1C7B
-1D9F547BF6223C89F97C62D1DB03221A7984620DAF68EBEB934E2C1EF4E99038
-0BC9DBB60B893F8078480F5BAB81A981F849FBB8B6E9E64589D4BC777A493B08
-570577F541BCA84CB0AAFAD4DEFECE229C7E507EE332EF7C2335E6DC0EB71F79
-38EF17EDE68309834527EF9EF92C61922E5621184D850A97437332FB6CD40123
-C56153CAD67A63654221BDD5F3D04EB25D370A3CEF597D5EC664831DE2DF99F8
-CF42B7E665850C30610E9347AF7A8B2D2F6754E2C8807CA049253949E63C0C9C
-68FCE32046493B2E9E1622AC65F30AD17CBF3984F2DAE2B6D115D08A23B0B2E8
-C0568E23543E93C7480C9D73A7062B12F70F0A556FD197B92ACA0FD60D157236
-FAD51D36A8B8D1E81C768A88B2E9676E453F89231DE805877EF9A71B1AE80699
-1CD0C463EC1596B32B985DBFA9725AB31D23C40012B48BCA5D992961C1FED5EB
-BEFBCA7952AE46892A1DBB8C25DAD22CAE4159CC9B9CFD26BC91EA9E4A8E50B3
-6B04B3C75398E4B3038BA8DF88C51404E52EA5E9BD6E87F35F37296BFBE0BEE1
-07289BAC29B72510F6DE0219B636008F9D506249FED3D58B33CB47F9754089D8
-477B55E61B0FBFC7164B40B2FEA4E45F9966FD7BDD758B24BDE96D7E8FC5EED8
-9FB91D03A510EC8D2063C914E227497A4252C00554D745D35C7E2E59D4A03B9D
-66E72D62597C1FFB8F9A5889C1766E6701788E8383A0F9287CCD75E72EFF20BC
-702B606314BAF95676FB696302D25F1B1BF9417046A37D53858D2B8A5A3FFEE8
-FBC245D6F93DFA01460F98147E2D159D09C62E76B67E51383976C7CE861D4041
-075394791016B1EFB6429B4FB930792939820AC1C553F2B3E6691E09F0632689
-F59A1A8838AD3F8F758C0B79D5DE4BEE864633264BAF10EEE0E6D501A5EE9EEC
-3750CD6C91FB9F7E679A0B02885E8437764797BCC0613905B9CDEA87918D9E31
-EC63F4F1464DEDE470C527174B079979085BC03430CCAC7A92F7DF83DA2DECE2
-D770949B3F3FC1012C1EE7531E8637533507AFB20869F1323EB98406D8631E5D
-EDDDEF57DAE60EDB26BF66DAB185616D4245D0FA92A314F3995E8C7261443165
-A81E250357D84A0642395D09A017E324A381048D8A9AC7D42F7D1DC471252E26
-DCFC25EAABE8C12E59045C0BC2F790C8C71A7BB6C0FAF914940BB78310C38A52
-74A6A3D3B19382171B8E7AF8A9CAE10512E942D928A52F10D4134FB66C60A915
-FB663A6BE31AB27F6F7AF2F121FB6BF1AB79C76EEA3BBDCA392F4EE64DF93EC4
-AF5D2528E66ECA77E134EC3D4368E0AD8055D782D5BCE2E43F5830F34AD1D64B
-9797DF1416046326290DCEDF3EA07175381A8C1D268B5A6E7C7C864AF59EE9A7
-1E1042EE5F23D303DB1B0A940D7C40950B4F7C60A78AE637
+08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61FCD3
+64512116F2751A1B95D2439E266074DB3B9FC76ED319B2851588B1F38F46C8FE
+040793C860F05E26700B72A766D0BF3F6F2EDEE06A26866BF0207CEF2841BCD2
+84F5873A147D5BAD18FD74DF7B77B8CF1913AD882DC1F4A94020B2A8A73237BB
+222E6B78BD1C4C0975B9B6683B5DFBFA693970DD53FB5D5CA5805B7728C11D6F
+92E6293F82E628C9FDD901010DEC199055B6682D6B2A688E3EE8759F7E592F54
+43E63699F1D60CD915365B85B8713DC4EB3EC4D2860880035348966F004FBE18
+9299E1DD0D491A5D542D450C8945321BFB9E823E18D1F33178BECAADD34378BF
+6FDE26691802F24E43CFA4ED1FB81C824F808A049085FA95CA518D9F4EE91D78
+26A8B8B461486419D598E7E341E9D43CED2402BF225B2C75CEE127D8B8633FC3
+6F4F69DBAF7134D4F3D669B35822FA701A441E5FBA3DC1F02A00B25C583EDB52
+4D4D488C6A810128777654B956C3CCE8FFB0D1985AE2A2735BA415941D1CAD5D
+62D9DBBF01CC979B8E1509F5DDD3BA6E87B14879955F978209CB398825E40199
+2B1C7D2C55251F321BAC0764D40B80D7AE1B787E5690CB5907719044B2AC832C
+C002C181088BA15AEFDA44D2305E6327358D1DC1D9B93AB1802FE9F24CF49739
+9863288D0195F5610441122648F5E38208E1AE5F01D1966DE10B8AAC02EF9F2E
+27D2383BC6D5BF9DA8F9018BABA01B70755FCA281588B85BB705FB7016F6D7D6
+8607BD0739433B54DFB87614A76902A3C122F39A21E80CC1970C5A6932C6046A
+771484EA9BD04CF0963E1D372B456C50625807B3557384F5368C520E757716F0
+16EF17F3A58F2F7EA42C9BFE2A64AE786F49213CC47B496B8F127696EDD017A2
+A07FD72357F4D847CE1EC8103EECDE35AA194F9CE466E733F66515749B3C36DB
+6F7E83B31034687CE18CBD15342723FC21689731B45C72DA278994FF8C5824A0
+EFE9F8D734D75C3C263F9D4BEACDD86406567055B1A8A5EF73ACAB4A09255E39
+BE9AD89DBF4624E686541E2FF03742C99BE71E7CE3B4756A22CA4B0121E1FC6D
+D62BB37F46B6EDA0AC3669802D1DF75B0F9F61976B2FA2DFB5AE2274CF08A000
+AB716CF047D7770A76B6577C75D806D878BC185C4117FD7BBE29E767E028633D
+257C34395F8988DE13F0F9083823F028E05D16BAB6B3E9002F01AD5039CA62BD
+07AE9C5FA71D6F234899382F90EBCC371C5501FE01E38646BC3C734C7E2C1AA2
+11355703BE46724DD85F5DB4051F65E48A3E8DA4CF8845BB4B3F39C47000E871
+AD2FB60C3161437D8C76A10377B98456BC205F3676D02132B174AC046658D059
+5E506F3C4178C400AD4E721AD613199FD1395413EC7AE6960F96849D6A26F695
+B78395941D62A7F7B6E25CD6824E78804A8CFA780E9919BA860C2951EB88DB5B
+C2F9E9AF635BD2C95C7D6AD4BA85E4B85483EEA4EF1908E3D5451AF6EE9176C2
+BA3F1622024250AC2A1F8E66811EE9C1608FDE0E91287AFBEFB43800212C90C1
+6D2D8066C742EAC7D611CB9F0590AB2AA66C17340FC81E55C339FE83B68D060B
+33A10B037B3370E351168E98E9DC4E8AB2B909879566CC28DD053B6EEB04A3EE
+6016A02EBB0E8D0BDB7F0B1B3BEC8C559F48448AFBBFFF5E11051516E9CB5F45
+6F38CEADF429570FB2DEC6E13CFB2A59D5FFBF0A2396FE9F7B3A0836C76B06CF
+9B9D99035BFF40EA918DC4A8CBF4576809F49DF330A9F742AB2FB385C9382076
+6FA8BB32BA81FA3E57E91BB6757C6E98047E9537A0595EC0F2A9BB2D3E093294
+023360099DC1D4EBE77960AB4E26211D1A75ADE1C764E5C2E80EC234F678159E
+3E64331306FB3E2BE3AE0CFEED0FC3F583E875A98694742C3DEDC35CCD9D45B5
+D4200D69F93C5B730AF952EA0DCC88EE1F6D50B9477E249C6274EA0FD849B537
+BA497FBD6617943E7BE06CAF71A0F6B13CFFBB51AEF3E042F28BFCAD6CBA2DBA
+CECBDB7BB399AF5D80487592A820F82A7255B46A0D7C739CCF16B7F60B709651
+0B91A26FF4854483DEF0336B7633C1E053BA889F4306F7398D85C3EBE21A5A41
+B7DB32141ACA892DDD4C0FE0C95328A70F53DD95940017CFA865D15FB0BB281A
+13E2CF735AB238D278FE175EB8B72337218B5F66B62FFD912FCCD0E180AA69D4
+23701D46D44EC2E80D3C4275DC7B5848F50682394C4E67ED98A2E6B41C348263
+EABA9705AA74CD35EC6E1D9DD55634102C6633ED9117DD472DA7F41705DC5772
+72A3C2D8BF6B308567D07153BC750C8CE867E40355C3D50747B757E52F7575DF
+9B5B913AF7FC3FDBEB317DA46DB498C7C044F83E46BAA00321A84DAE2DF14604
+12031AF813C994414F098824C30FC07E9B5307EFD8D01B56481BBD2EF648A69E
+7507FED42C6605B09EA047F09DFA9BE15B59B93395DF192C0FB33F6F31F325E4
+DCC9A5DFAA157D1D5B4E5BF811F6F5B0FD1E69ED7EE1A6FBC2CE14D11D6FA699
+255370376844BFF3C2BE814A1FEDD0B0854647B9B193B4984394C8602820A17C
+62704CEEC824C3C745BC615C54EE5DF86EBD79E874CC3522F8B8954C8E4A6FB4
+F715EE641A3D52C06574E8D7DCFCE83F3F8809D08A3C9C70C962D33F5B3D6128
+16EF2DCD4D6DCF0DD055AEA2293E10C1B7C2399C0DE4928F0A47E0BA652943B1
+004568BBA7CE62F12C7B58966BBF7B0327481DCCFC56218E7C4B9F0761063BA3
+BEA01AD1BC99DB3C1FE550DED79B243A7A554F2B1752F18FEE94120B708FE4DB
+5948387091DF4198859CF49ECAC3AB49CE2E5F0451EA4EDF9BD49633C9826026
+BC9E7E1544A0318C545ED1C37C64176504D175B83CF974B4ACC39F5790E24B11
+85F01604144C0E694DB7206941933B60651A800DF182E19C3BF2862E72F25F2F
+2D9BD71056559C0FE547D0C752640DD4DC6110A849CF9557FCB0643A1EE77855
+512015F57A80140FC06B8CDEABC5580B89F9F30A489696AEF2
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -3400,48 +3650,29 @@ AF5D2528E66ECA77E134EC3D4368E0AD8055D782D5BCE2E43F5830F34AD1D64B
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMTI10
-%!PS-AdobeFont-1.1: CMTI10 1.00B
-%%CreationDate: 1992 Feb 19 19:56:16
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
+/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTI10) readonly def
+/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMTI10 def
+/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 46 /period put
-dup 97 /a put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 103 /g put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 121 /y put
+dup 58 /period put
readonly def
-/FontBBox{-163 -250 1146 969}readonly def
+/FontBBox{-32 -250 1048 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -3450,160 +3681,31 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
-21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
-06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
-55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
-B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
-0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
-1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
-7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
-7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
-356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
-19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
-C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
-244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
-AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
-5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC
-D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D
-993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363
-2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B
-E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3
-309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513
-F42EDDCF39AE522A1DC2D80B2772B05DA60F3DC15A815A6BAFEDC399C7956E75
-3851CB3588E22936FBFB63A58300298B11C45D82385C083D07AF133BB1BC941A
-FDD9F34D5E0B8087EF2A58C54D8AB7580EE3ED58AEB83B72CB9028F472ADBF11
-05A77651F118824F6CD00209EFB60C1D32D46A78E8C8DCB8B0E742828E3B7D17
-DF5200D68189C91FB8489CDEE8BC223C4281DDCA5F7DA80BD5C2D66A14695EA1
-5F05E03500579ADD440ED2C57F535807560C6FE3873143D792734FEAB93AE8DD
-633BA6FC5683083402BF086D23594AAC84A4868AFAA32AFBDF86142B350F8F62
-E2531321E4CCF34293024EF8AB617BAB11A3A5EDA03CAC5AC431C893607DF8E5
-C3DC8646027A7554625A16FD184A70DB5FE6DCEA366B64430A147144CC9839F5
-72829FFA42BC3A8406D680E44A0305C9C9E265E91AE82EDF30F73730DCD4AA21
-5A7A9D68297D84B0011DDDA6A44D8E6F0B5113AFAE9D3B0F66D6FB848160FF13
-4021ADD1556977B9AC95BF81148C1FE76F3992BC8B1DABC2C8F5FBBD4A3921BB
-70DDF314D78E41F0ED56721F313A208FF0503D85F125955AD86513FD8DCDC093
-9FA3C29076FA27B5C745162F14AFE7E8586038E3DB7E2BE20D81A3DF1BE04DB2
-BC54AAC9283F6D91107F0E64310C6E281FEB21EE5B594A052259C87C55A599C1
-ACD69F7EE902CE74E92C41A1C46D069F47532112FC183FA19CBCC7E726719014
-5DB5BAB855671B4853DE6F2402868324BD032B1A6C768FECFE1770B655338EB0
-60BE11C22C06C24BAA99A3F2274BE68D21A7328CC3190D0037F516B6AF555E84
-6E973C988B9604E6F1F09B5C6D762D019DDCBD6010D9F0AF6285ABE25EB7B9F9
-BFF99D72C7A4400DF9791643B5DDA95030C3625AB14F3EA5477363BB98D4CD2F
-A9033B18073769D640E8BBC4CE9C830E032540EE63E4F00DB9D720EBF2482FB1
-2B83D8DF7AE56BD45876E16D74E46768074AF8E48D4E329CFC2449AC998F5291
-ED88EA4F583887DCED258F32B20209A076708F97905C16B5009455247F4124B9
-4C717E4C13664409955254865BA2D380B7D7805A89079A2A5A60CA94602D99EE
-68BB219D9FDF7DE70901B9DA726A0CB9B76598190724AA6BAE22B1E47AA017C8
-D9280D582C9C3576065FA51C5D825992759A4E23D380895489A88FB3093C67BD
-4171D5ACC2492A288E5BBD0A38E6E8A7B8613B72429B5C9CC1FFE1D05C177704
-127B117860272AF357401701EE98E124E8E86450F3240919DC2D63914813A64C
-9EB4A6530331BFC2CDFBFBD92B5A13A185EF3E8B41C550FCA5266B0F57A0E1E9
-676AFFE6548CC834650D7596F3D694F2083654768C0F69B3D048CC64A17A8CA6
-468B4E0481CD050535296F04A44FCF6EDED22097D4D78AC1508A2B31C2388FAA
-638388975A4F0749A8D61D30365A497C52E49CFEF11CAFD5C9B4AF1749F481DD
-641485F4F8BCD527F04950007D981AE733F8091A1A4349906157E5FCC84DE8F0
-0D9BBE078944626EA7B8E5BB292ABE2912102ABA9768BA41E91EFA5873A5DC4A
-195D0AE57489432F1ADFA11E3C42017A5D0EA195E26943E0B78ADA4CC3888624
-387144527691845D8B804F657A14927F8C731D0F3CEF347F78C38E40E788DF28
-5921B5F6519BE9DC9F3813AB306DDEF740A70FE033B50130F5A46FD10A23A2FF
-06AAF650C9B0EC7958B6F82ACA9B130934635DABF279800484AE82621413810A
-21C45CAE15F4B6A802C5E187726C88E0E3520051D1FFE35AE531C02F71B0EFB0
-80E22C4E7EB9AF3A54E26391AA116CF9F6BD60E0FF108F8B6CA6DB74F7BB9F9C
-D672DED73EE5D93CD420E76A8849E2A2AB9A3EFBD689920D3454B1232A7484DE
-F2F8F90F70FFF349319F280502F28F12D5F322394F12266C1E79EFF3B5605249
-AEA0AEE1168FD180F839477295B04BA68B9C9E260D80927253EDF559236958AA
-394BDE3DF606E47C09BEB68F5E505EB2315DE891E3546EAFD782C89FA9F9A56D
-B11B8DD000E4403E698EC7A793DB2966584764B633A7ACFFE4BF62A9926431DC
-37808DFDBD97AAE9DF6B5A861FB12ACCA59E84544DF07BAD599277C7266D986B
-9BCEF6C380D0DDB4B16A79CC89456285267EBD523ED2971DE50F792693C1E219
-F2C57EDA81ABF3E9CC13CF1197F2ACF4BF9597AFD7CFEBD109CC0C86BE812EF6
-F0A5E412AA025EED7BF7F2C1BA835A13ECCA474A9FEB853807B274270300D814
-3330FB0A6C17F723F1272677F8F5B28372B9314190A48A0B00E8CE45DD657E65
-1348AC068D0211C67D85F3346F9D5D7FAB2A08D7A02295163B6B041661EA5A4C
-723DBCDFC8A471FD38C42DD2E32DB7721E3FAAD0BEAFB85853C1EF8B7702F2A5
-DBED75AF8040BFF1E9FF3643259E4E7F85A38F45DFC09B7C333AA44B2EEC1FFD
-993DA1E2860BED8EE41FA34543DFC0D760E0A47B1114A24EE3346C93A4CEF52D
-8AC99E6132A330AE340BEA2EA1840BA152A7172B14298BEB318A6FC2192DAE5D
-137C1323E6D1EBF0B2CC749F20CA3AC3504927279D9EE3EF97127619C3439EA7
-C28124FCF96F9BEF4A6AC960C44EE8FE0677366FC295A5EABE370A09AC5434AA
-3AAFDB8614B6C3187C73C9F94B61B369CD702AAC783367E7A67AFE50E621EC92
-4277CBC084FDD8865D6048BFA990B70C3BAAC6F449FE8D006DCFCD7EC2755AC9
-810F4E57B64649D7D1F8BF21D766F565AC2A7D111EAD60ADA3141CFBEAC8E139
-9E48EC7249564215A73679095E5FF1DCCF1AC0C8CEE4E2257C384F3E5EFAF857
-D9B3A043112D3E3383AB95F1AF132D156EC89442208E1D8F53183CF882DF3683
-44D1238E24003ECB746D91921DF2FA33B0AE84111BE54D62BE98CC8F419DC91D
-E7E8A6D6A371FD75BA160466606D8EA13FFC16FCED59E2CBAAE033A090B96901
-1D76C0C860D204B826C180E5887E52041206F6DF91C36DF6F23402216D108EC9
-C2438EB3023763B57F1AA0E4214535EC4977255390066A19A61E0C3F3E39409D
-19160103095DD99C872A8B1B339AF0FE551BA667DA429CF64B381502BEB19D83
-7E0B607F196058C874617AD90B5BDC7916AD706F696AC13530D111D70AB31409
-720193C901F656EAD781FAC3FEDEA7D10E0F90F6136C005CA83A41A6D5AA1B5B
-CA25144E3ACD36538E895CB56237887472C20D0CCE418DF3781F60DDF9CA7E94
-051F4FD7BC30867D7CC37118569E9DBD6AEED65CE04894EB8A1ADC2562660DD6
-AB91A2144509B93A933ED84F16441DCB7A4C44E6A000BE4E10C843DA3055C813
-57C20B8D61983E75F72B9ED5319EE95AD2D37E58953007DCA7EE86CCFFE5BECE
-6BC9F03CA47CEFE9FD5BE5E09A07216F5ACD8263398F99E708817BFF27194CF0
-5788F2E709CBA7F753F74C081D3068BB095F2B40635CE6404AC6EBDAFAACD18D
-04008B8154C38824D05B81F2A3F7C99516F792F49C73F0454394160B15C4FCE4
-4D4D769DC2559C00BE224FF52A9EAA550DB6F5F7375B900F1839AB3116693AFB
-669228F9B311F6DA24BE0804B5C6B2851B5ADB6C57319C4C1CC70E23C5CAD6A7
-B9019A21D8B50801B8977B766CD5D4E1FD37B19852919DB201FDCE07ACBBCB67
-1A3D34E40165D3B87659394297BD0A6604E11B1A71BF99A07B751888D74210DF
-5857EC4F22700FB057205F284BF1FAAEA21251A4713C6562685587C82EDC5FF5
-040AB083801A8974D2A008B59DD1368C13CE00FFBCF73B7A422BEF6EF8C08490
-B4070D2A1FFF460E4E05025CA6973FF082E76C4FEEA123A1D0A47E3D4197EF4A
-9786369446F3875B450CCC5389D6C3CDB1D0A64C8D5A5C316A3341DABDBF496C
-694AE97ECC77C2EC57040E83CD0916680B490F0DF9443DBD20BB97E543BBBF15
-E20049C76969CE56B0AEA28A28B6BFC3EF7E6BFC58C69339C927F8657ECFB631
-D39D741B012AA425937FEBEAF3147AAF1F18E3225666D94EA18166622E672315
-3031DD98EBCF94F9FE1D28406D8D8CBB9F9CEE173A6F2C6A8E621902C620E72B
-C9CAF734A167C583F78AAC792363F9CE7CC3CCB5A90C32F2BB9880C287429B9A
-CB7C05744777D339E86300998615E1F991B89FA0F415EDEB76FEDB476E9996FE
-C5B301CC1F8C6E3FB20E6B4A03656B2E7AD6641C7179BFEA39889CA6CD4AFE6B
-D9BB48122EB88B31F3909549418E20EF018933076D5EB11AFAD2A4E2203307EC
-6202BB544423459D37A26EA5D064F5A3A76ADDA50DDA60B08F3E8DE5A9D17458
-A3CF5483D7F57BDA0B0E65438198E65950954967F7CAE8D70AB7BECA62C8A2FF
-35B231E353C9CEAEE9C76C4E382EE03C995EF55147F14A3817FAFF2D9C3F9A7B
-6EE48F363490CB95BE2CC4B1C66D835E3D68B387065C94C47DD21BE5FA7DD775
-6561E53D66499C5683FEA050EC57023C14EBD08EC05AF1517B14E47BE183B0B4
-BDF1229CDFED63810B491297AFF65229276254FCAADDF10868A8970C98AD09B2
-F29CC206ECCF6ACA77FAA20D4A02D95EAE67756C47BE4D0CC7B1A964207BDD75
-D48D69A70CEDAF026C4C9CEFA17C336C0985C9ECAC63D81A8E24C77A42C57431
-02F35AB78EE59E8491426953A30C5223CA04D5C52920D644D1DDE8D746239C21
-42D573AEF2375CD6F22D48D3FEC491A4359863656792714C623E9AEDD1CF4584
-930843BA171732C13ACCD13D22807BDA661AA9B8B25F2899B383A2264E9F7B16
-62BA3567E1BC3F1D5B37E0D8BBCA4CE31CC8F87258C2F1B10A6163B32C73F8DD
-022F8E082DA54D08C46BE91C89D95AF1AEAC554507F308B49B6CB17E3C472E61
-1F3445E4242ADE93D2D4368E6EC47E64AD6DDE289085F01BB780F7CD23156E2F
-86DCD31E221E0A97FE5F830C709E009331BE8D511DBAB64F4D71B70547B1277A
-EB4448EF937DF037275AB452C8B848D6D31E4104E9598178C687723C5EB0025E
-BC9016713ACEDC80CC4E3BF841909B5420B6E732E0E6707A456170B5C668580E
-1D6A9B532E4A244DD5565ADE7B544848EBC1F8F13C672DDEE527EE0F00C8E650
-DB861DF41BD70681F442545C87760F353AB4468C6815DD1EFD2FB5567F12E31E
-95A01C57BFED8D670D2A9B53EE6927CFE92A1103FB8A5EB5FA04E2C2A9DC3468
-79A6B737311176ECF128451A66B242FF5882A2CD23FAA473CD842C26477068AB
-FF9043D9EFE91C5D91C8303940DD82F4E01AE190FBB748EE2D59C34C82C40CA4
-645066616AA0511997D56E18D7E7203F1552C22C70F56C6552978DC5591B4C87
-E9D47E13A2FE5543EC9904CF25428A678A1F2F9171D0E634A0820EC24E01D572
-5E7E6D843DBAC7D9D0C4F1FE488BD3C62649B78A982E710CC8C6467DC2D01C41
-735BA8C8BFFEBFFB3A2519871C707A562B3383252771761D6E5C13C3031B472C
-4B2E865DEE5CD50703F5DB61A65297FBF37A2C329FA25AE71EEA0413336B0453
-6D16F3E666782286C0C7438518B2179EF25DF50DED1EEF3B364B024222A5F14E
-C19B407EBB9B0397F4B59A9B38F1CEFFED5D8A0FC4276CCA60BC6A9F4196B652
-CE8384234FE1E73A36918B4BBEF3269B7C8ABF0A9BA590EB11D01AD682D024A8
-F82CB2196CF0744696ED36026AB7447CC97BF78CFFE5513D6CFFC8E96DF063C2
-25CFDFB56B2B1536E207E10B5022971C8F4E2021D52825A46508A976B9043DDA
-71549CA80EBAAEBFA2AE50DC2546F6BC6DB05621277C63C00EE01FBA9078E5E5
-56D1A24793DE06730F6D74AE52AE1579FE36D28F898044CDDB38604104AF78CF
-D009354108A86ED86C7DD3F5E04B0ECFF924FB32A7215A647BD7598317364F71
-30FF1513397C0C9B900906FE036C842DFF64E2C52A2CC5197388800926B1C623
-7E4C2DFCAD0DEAD54954F1835552EF47F832A6DE20DA96783C8E0FE255A48B1C
-4D9D3082E5131445C25215FAEB4C2CFEA4AC5B2FCCAC95506E88864B039EA9BA
-850F7C3669458DD3578890B4E14A18E527A837137EB9A1A66582EEC3F37C43C9
-96D691E9A587268F33EE2DB0AFD29C4DE675572C74F8A9A81457983C0D75F4A2
-B78D143E8417B478BC232B35967A0A4D055482F891B6EA70ECBE902360B29E95
-CD75F60BFDBD86AA37564DAFB5D65F4EB331302782D9
+9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
+990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
+6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
+DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
+59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
+D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
+8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
+6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
+1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
+03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
+95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
+74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
+3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
+47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
+AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
+42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
+40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
+B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
+9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD
+0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE
+E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C
+7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37
+88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6
+DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1
+AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -3614,29 +3716,29 @@ CD75F60BFDBD86AA37564DAFB5D65F4EB331302782D9
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMBXTI10
-%!PS-AdobeFont-1.1: CMBXTI10 1.0
-%%CreationDate: 1991 Aug 18 17:46:30
+%%BeginFont: CMMI12
+%!PS-AdobeFont-1.1: CMMI12 1.100
+%%CreationDate: 1996 Jul 27 08:57:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.0) readonly def
+/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBXTI10) readonly def
+/FullName (CMMI12) readonly def
/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
+/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMBXTI10 def
+/FontName /CMMI12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 46 /period put
+dup 58 /period put
readonly def
-/FontBBox{-29 -250 1274 754}readonly def
+/FontBBox{-30 -250 1026 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -3644,32 +3746,32 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
-E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
-BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
-3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
-F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
-C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
-BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
-2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
-879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
-141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
-63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
-4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
-FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
-395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
-82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
-763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
-165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
-57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
-E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
-178DAA7C97C35EAFA47778CE03E863303582D8A9900EF4F8DA879DED54BACD7A
-4A50C18AA2ED906FC4DC073B1E6CA1E3855AD5B7698EF4A96B77DBE19A12382A
-CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4
-890359E7E04690BFFA99FAB5CC9999F0873A9DBE49E33F79E483FAD72313DF9A
-7B7D926461988C23CCE9F71AB7BB63BDB2B10B3F78176380AFFC154825C9BDCE
-82303FBFC3B59E070438984C28D12E8655BBBF049125BF56DD2B0DE8C0450E55
-82832DA59EBEB001AAD86F2317460DD7ED264611B9043614221ECF
+D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
+5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
+4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
+3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
+EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
+4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
+2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
+323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
+2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
+D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
+5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
+0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
+A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
+2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
+00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
+CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
+99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
+C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
+5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
+55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49
+335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146
+BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888
+15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10
+0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8
+23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2
+378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -3736,661 +3838,61 @@ EC544A68134496A9BD0B87D83AF6FDA3CB62FBF0B54FACE1F0E6A2D84B467AFF
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.1: CMR10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:52
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 13 /fl put
-dup 14 /ffi put
-dup 34 /quotedblright put
-dup 36 /dollar put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 92 /quotedblleft put
-dup 93 /bracketright put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /endash put
-dup 124 /emdash put
-readonly def
-/FontBBox{-251 -250 1009 969}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
-87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
-D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
-92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
-295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
-409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
-4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
-2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
-0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
-B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
-24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
-43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
-D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
-5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
-96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
-7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
-0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
-B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
-AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
-97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
-FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
-20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
-0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
-F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
-3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
-A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
-5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA77428025D4059BA
-2988AC2E3D7246BAAAFB89745F0E38580546045527C8779A254DB08DCC6FB9B9
-0E172209FBE3857AF495A7F2B34BC893D942C145C2204CFCD6A5C69FEFC25B60
-E412CB2BEAE7F7FAD03AF46344F6A7D483BBB1E896BF16B0F4C363799DF23CE2
-E8127996DE841B6F9D8A9E56BD799B6A938582988AF87151BB8D3AEA85C49857
-DD862B5E10D9F33D57795D656FB616BC9B8397B3612131A2B0F472656700958F
-739A548F7C3A348698AF9F6F9821D7A9FD4131781ACBF7EAB885A3AC254DBF94
-02FA697941A0F97F048861788BEACC20DE829764413CA58F9D045A6B38BCD6E6
-E4827247EDF1171F64E3B041A69B244308DC07F66643FCD7D5FD37F36EC4CB5F
-957D4ADAF91850A3B1A765E0E580EDC77556593D1B2E1C22685268469298688A
-45C474C9D0472D019CE1E83F25182D084AD85A49C502E8D679C227DA8E32045F
-8055D1622C478F8FDA342685F858DE3F53F1CEA0D70BF3FE09037D981E9E7FFB
-BC3F896535D0DCF53F4C85A1DA5D0B632484D1F25460E3EB38E251D2AA17817E
-F3B25A2A49C0AEDE0B89E277F52CBF744EF0243C409FD71FB0C574640CF11599
-117A4F42F27D8D282D34485AD116F7E753A8DEBFDF7C552A1179C02B7A37782B
-743D0DF85C15A333BE9EE82C13DBC9CB007DEB5900954AD9309902E08B3D5BB4
-E8414211B971CE8B9F05A61C15F400D9297745F606C6419E8A8A9ADCBDC39243
-617EFABFDCF9F836D14411BD72EE19D0BDE89234BF7D52E7A68ECC952FB74FE3
-33E1A87DA39AEEE9E90406E2B1CF3799C63E9BA858D54F38918B814C0DF0B696
-839C820C26FB473ACC5C08E2056457A74123A398806EECDB427BB183F5458105
-2B66D7E1FC3529025D3243A045625E9DD9417FA089B3C7C394D2B65C0367FF73
-79F17ADEC6B5D27A5D3D3E244A0839E38267ACF07B2D994C2B4E7F30A416EEE2
-D1688F167D1641A72A795B1F4DA3350F75AD6D546AA118B5F8A5085F5794E6E5
-28256CD31D250D8328C9620B8ACAB03E4A33DB4595E959F4D0FB1C8CE85A710E
-22F1940067C036A7DCED7EA48F1EB81AC4735FB26A249A32AC2E3E7636B32D31
-7D76FBEBA106D6C67C94A3BD4256B786B71C6EF8D191CA90CAD8D2EEAD42C6DD
-8BB4BEA7DAD4ECB6E002F3B71C2955A5A401E34D55F755BED68178C270109BAB
-FA0AD848347EB977325530B27180661A59447D7DB55A62D65309DE24B6638986
-1D3A539BD37E74C2C00DFED3336B5C6B28D915AB7188FFBCE3ADB3CB903944DF
-1BA5923A1C053D4682BB8616F44E81E18DB2B58298F4B1A6289CA993DF3E7C73
-B00DEA3A9B747FEEBC4A11E5B9B8B05CA2709B8AA935A42159D3DE399544F5AF
-AC1CC00F6CB94AB69856078C9A2EB2046BB9055CDD6A0622112F7D3710143F1C
-20CD8DAB4109CD47BC00EBCB88314081C1D6C43132412F261CE0262FA28DB7A3
-C7D8534BCBE1A60488EA230DC558B73C72AE87539A9D7E28C2BE05FC05F58DDD
-87117C0B5235B1486088B8368C80ECE70DC07A0493C32B571F6D6E5F3C7556B8
-79DD18A0C09C644C1B0A57E09CBF8247A97FBDA9442DF87C99CB00F959FE4925
-8FE8B3EA62A6C99396CEECAFDB091CBFAA0EA6F25BE1F34B1B8EF507D2347A7B
-866CE28452F7ADBB56F4696567032BD289B3439D6CB90A602223E00B43CD2585
-4D598BE43C0161BEAD813870FCA3E377A588C3D24667846301D1BEB056315636
-1304E2CB595B5297018C0ECD1BA4F8F1EA81B4FF88126295CD676D96756FB9FA
-C97CD2A8574EAEBB0A869C527E0828940C613B9D45894E4667172D841C94410B
-FCC5083CF850AEB2EF92BDBA8DBA361AE95B267FB5F90D5EF8B16B2A83568D5F
-50BD20AC88DE25DDFDAAB7B2F7662DB99E20989C7D12DE04057FCD2DEEC770D6
-535680D13ACB557EE7AF8DEBABC3088908943E6E3655C3C00ED022B276FFA5FA
-E6E4ABB96A214908EA899EC925E67E86413840A67B3FF86957586B5E06909036
-B9987C5BA21E46DE7919B382CFC4740ECC794A6577BE33CCB94E2E4BB3F28BBF
-AAC6E68DD9B01A59A7F3B964F53F41CB9BE94CD44027868F079324B44C595200
-0E375B069FC085DAD5B678ACBBFCCE8916C4266B572D89C0A7B6A26F1D329EA7
-63CDD44F37932CDC9C89C724AD52BF91CA68209471F26C10AA18CBCD1288460F
-9EA9BA85084A5F34451044B81559DBA03F03292638C28A704C553CB25312C568
-A06C9F5A764BA025FD48883244E88F1A31ACAE83432C2B837D034CC960EDE3C4
-2234FFFB8132473C8A750A41770EC46F9B2CA7FDD937A2C8CBF5DDD6162EEE0B
-36C53BDC0D2D7F6D38DC2F502755B0D25B0BD1858A9B16BA69549B5CA4673F0C
-32C5F1BA97E1C124374037E0B8EE94706B3B2AEB9CEBFF69E4F107BABED996B2
-EA92B4D94AA267E626953550633A74099022786C172A323DF9D903A0DF6CE486
-38AB2B0CA07D5EEF34BDE2DB5F539BEDB569F60005A3317EA6B1560C22606B8E
-AED6F84526090E626FBF48846E49714EA80C90FF66F82F36F3151B580DAFFFA2
-668B4952CAA66C6F10A341118E0D58B8CE34367BDAEA79645E27059FF2A43D2A
-435ED248345B6305316D1DAC5F75787D8E72D0D8C3145C0A1E45B201382EB716
-D06C5E8BA78B6F32B13F80E7EB6909D2B7ECD1420BA2B2A88C0C3154F3091065
-16A79C898C1682A98FC2A11A2B8D4536D74E6E228E5474090D42CBFE3BAA8029
-4564F468EE59B2E2BF8B2429634898F21C31812394AE3EC0CA8CFD5D5E818F4F
-344FF40488F06A48E9879E42F131DE378A8A733C6016BBDCA24B10B385BA73D3
-DF4770685FC7B9720D196A9FFF978C10977D37D98F11A3255486C8F8C3F67225
-4AA8884C88A3194EC1AFD2DA57258E30B057490A10AEA001017F06C83255C0AB
-13AE04B86FEEECC7F04A593282501423D319CC3FFAC3691DE723F71A6138EDBA
-F1373C651464A05906A2F370B0862F5E5CAA5C9570B7D5F9DB24FFE4A6C6B98C
-539FFD61F24487B2AF446467B1A3CA16E9BB2384972372C90DD930B8DAEC0FEA
-7C2692F029EA687E29EADEA6AE95F030A8DC599C8727F5CC41FFF86EC7E2D04E
-E1498E0AB0D2719E08956A68FE7E92EBC6945771DDC13689CB68D39EAF73CB2B
-DC8BAECFD1F721BC66D89342D650699C3364A2D0B35F58E4CDF2209512224472
-8920B0079AA5355990733CBCB8A372E1EA02B9DA4107F619968075F33BD123CB
-870D0DF6B22E6DB70F1328532A05BD7A624CB7488034E94F3622F97636CB1330
-FE3336665F27AF77FBCF01A786143F0AA892E1B2CDDAEF2E0F33E56F179CBC8A
-72973C643CF217828D892C818CECE72D0E89329C6A9159BF17D10BD3BB4A1154
-997ABD8127118AA79BD792292B6B9689D989258CA9F57A75C4C9CEADC338DF07
-13081B667C8D86DEEE5BDCC47FF96E2AA5B37C365585747EB3B664F08CC7ADAD
-B42D1B54096C60AD15596D7DC585316A36598A349E89242274B5171A1DE841CC
-30A5BE43B0ADB71C3DDA25650BFF704B452831FB06A7DB0D60D24436BFE23CC5
-AA68BFEE0897140B248E4A9BE7AAE37B98A54CC1D3F81164943B66250D55E554
-55A688BB9E3077FF8D11D1BE1C3FF99DA01EB206AC5AB1D394854DF5CD417084
-82BF6D1DAF88698A69DC196FA9A3285AAFFC3441CB4297A48DFC86B29490F2F4
-B514AE8F3D4C0EF920791371BBDD1B6369C38A90A2D2AC06B25781630847D6D0
-87B469CAC111778CEF26FA3233A85044965F3862C83F63CA2565B9644EC15B77
-BD2BA08CD8AC3DF1E5CC53CCE496172A18627384CD54595E3BE1E7D1B9751C86
-D6AD3EDCC725EA4B09BF3B92ED658356A3424F1B0D07B6E11B8E1D4823F5B0C8
-F3EA4BFA3DF77AED89D464D29BB2326ED2DEB73E327AC8B2C99B73DB70ACEB0B
-D0FD854CEFBC72FB9C906B4DB9EA35BA8018C623987C834B63E8C800A30BD551
-011F6E05EE76C26ED2F335E32BD4C866A57BA7AE89ACEB1066E795F122E1BBCD
-5768F2DEC922EFF8B1778F4FFB7BF1B6253F632F8D98648B81018D2FD4876974
-8C818E01ABFB557C8553B98A512241000B9DF64C1F5784343314B7B3CA04E506
-BBC612628AEE13DA23B3242AAC3B05244D3711121D5C9AFA8EBABD2074DD3658
-0F46D501A2CB11A370EA7E38E3682A31F5C47836E9CECAFB1BEC80DE889E99BD
-8F4DB78DBA5AC5D764EA99237738FEAAF199DDA7236D22B07D22A8F6ED023E44
-1828588397D723FB557CD35C7C5C87BB64E4A7F88B03FAF135ED0F185F7AFA4A
-F498B226D6D843EFECFD9029122B15065A4D04B509A8B633E46AD3D15D4F9EB1
-AA41E4694AC4DE0613B027E35C32935B5F0A9C21F5F60B9DFB5FAD619A35AF19
-20C0A1B2490E8E3BDACF27F37680BB32489D21F91603D4BC5FE69862A1A05F10
-4C11FE5744676C4794CC0B7F1AC1DC9861A247234FB986A0A4BC5F8F6A3183FE
-3A6FF5ED1D32A711906031CFF6802B5455CF208787AE3A35B1D437C64E5A3283
-A1B87F31D6B6AC634579FC3145035BC5F0B454CD9280BA3509B890D45AC7EC54
-F8FCDA7E5F8AB9F8201621417E17FFD8CB7BF55A6D9B21F95C403AC0112A94D4
-B7BAD823A1E9A5FEA956B08ABF303A917B69C8BAD87E685DEBA72E62AB132F46
-521CBA0C7A96A833AFDB396E0FEB85D3EC605A4EF6026C0A6CCADA56A26A8FDE
-18C61D26C93DC6E15F1B5E789567E833E79CB85580CB50A68AC93D9C2454861B
-487A833774E205A73A2932D0043759D5978921BB5B499BBEC5AC6F505EDE86C2
-8B8DAB630F36128B53BDA72CD82A3810E94C6947C9FB148574FD25E8629CBEF1
-2AAA7DD33D1A83C0235AF9F8FA00822AEF0A6E9DC7FA79B3872CAC39957D746E
-3F05C8EA69F0BBD0D96DA2ACA93E73FDECCA8B35D6CD52C464C1A51EDFAA83A0
-54C236F0064B7268C7DF4BC1F97606D48D6C8739AA2CE28CFF1B4986B4CE8A60
-D8DA6C67A6887CCC3A0A2790FF5FA00120D15C26E8D938D524F355FF8212A689
-D34269669DF03F1BACCFE834425972EEAB399EE578407F9550B93D65E63E3707
-CDA159B5AF4B68ED52D389CC6915CF7B0C737514EAB05C947AF32D67CC36D782
-C9F73B32CDF11D2CE33E8C3DAC12AD070D0CE9EB3C209D0830C0665DB9F61C35
-FF976057485A32A5A41E7205BCED4E2B9D2011AE3FA90ADFF6E3C58144293A55
-E25C6A98BA2113DAFB861F0C3544A15F5CC20496FBC58F1FA2088BC67334006E
-2AE3755CF0791FE82E8620A5BF3B487F37DBA3ABE1709DF21745CA7D7CDC0AF4
-F33FCF3672EF5ACB540CD7931FD18F815422B2A193C9AE34E626020F9AC0C36D
-4D5AC1137C75F10B42E2499DE914703C682806C9E1D158217C68329CE401234B
-462F92A35F20858F5FAFAE3062C57ECEB930B762880A982A8DCB7D010383A156
-547310C8BDEEDF6313650A2FD71856131E24F1299C8033CF49DA9BFD013F64D7
-2B571F6C2E0A84FE62F060298C654E068F0B8BA453D5F94BC89D3B5053721731
-AF5CCFED84B7F6CEC60FA31F84644CEFA02DC2323CADB246E64DE08D9BE4FAEA
-59D1652DFE1A09C41479C3CDB577942334F8C57545BD883E0AD172CEFE546C21
-5B9F63E32980B1E57B0EDD66674C9D919F6E323DA0A0CB8788F031BD533615B1
-D27320ABD6A1147E3200322DB2D8700B3F1F8B19E3C5B67842E84469D997B702
-0D8DE8894F5422DF2B9244C20186597587D3852F34ECB21E5244EA9C8596F0D8
-6E4D7353C7F6ABCAC499D7E34CA7E7789A54D712AE69DE15F767F045E637DDDB
-CAEFE413AF652D849D58D52DE084956D177AB7E3A9146B8A56BA23CB3F734298
-88C66B7C2B084EF219FA08BC87443FD9D86BBA351427631D368F514C7DAD7329
-DDCDCE8311971D746FE79322097E7F676740389F17B11587086942024918CCBE
-80A60A78D96F3CBB59CB81BF5D8028475316D96E12248867A3F23A859F8AB547
-B1F06C1ACFED4AB83378932A253B8FF8AD5F44BB4EC7A7F025BBAA179C81DBA2
-049053EDA32AC126C4F222B5FBB1119C7BE3F4BE0E9A3161CBC5F4842E6BD743
-11903130004FF705BDDC0EE6C1D97396904B295596A226FECFD665AE0A6F7EE3
-FD51F370008D1697035CCE907243038E0B0487A6DD63F1ECDABCE1A71193FFBC
-6DFBF1726156A4E9710C0D272A7A351F8FA0C2785BCFD0BDCF1B4250675B512F
-997677E512B29D85313FAB6F7FD26B402E1C4B2E270E264422D1375B93EA138C
-171557C70A07C8B330E0C0602949C60B9D921B33E906ED3858966A640367C505
-2E3D254C1C0C63B3F831C9D2AF2B2FA6FE8B663F94B72A7FFD63712A2C4422B6
-6E3524B5AA8D2EB9C7733BBF2662B64B3428EBFE956CBD500DC71A4F4CDE8896
-2EAA65771273D823E8687E2FED6A26D7DB98DDBFB57670278897D2AD553D6AAF
-6F1117C4F894AAD44F53348A763289BFEB2E9DF66DB921E402279FE17634E0DA
-576F0323E1F849DBB1E7E56D0303DD2C81EBBC192B5F8C13A5F5028D64DF153D
-C7E4C2A59A3E369D44F346BBD79A4AE4930E3249C1FD5CC8B4FC6C753ECA9326
-797F25BEE6BC66E125AFD247A2CC2F61A47F03DB682F67382B2E83312D1D239F
-39D8BD6C3256FDD8D424046A289D17984ADAE316FA39B743B12419DCC3C8582C
-EF6BE8C6E7A091F1EF76C6090C15A7742C5F66F66A69DE863256574491B422DA
-93F4B0B13E69B03D1A92840D80B39C96A535C2AEAFB579B9051CCC67E32103F6
-21EADDFEF9CEE1980D3F86DB452B61200C9805EDBD219E812F22AD612B436E28
-D86956797AE0FBBE0A0DEDE4340B51D2CEB5127FF7C14C85AC55C55A1A9412B0
-1471CDF9FE7D52A5A069669A9C500FABD920863628E541893B2692B9D40CF391
-69C797742BEB239A6FF37CBEECF5ACC960011BE1CD35241BF35431F902EE41FB
-5E89FD3C7FD3E7CE970CEF9A3BA9DB4F10945568813D4566F5939A7CF94CF2B0
-97E9D335CAAB09BBDED1D462EA787E5FD11A63B17D75882E379B490C5B2B4440
-FCCE6CD6EC2F4C21D5443E6269734EAF0A61520285791FAB0B421D5CEB2CB165
-286278D3F21045ABFCA81CD9E50A733CE516E1F4C494FF072C50FFCE2D746CD0
-0D28F9EB6CB77425D0F4188760F61C46101F21215BB89FE5FB9684F2E9BADF1D
-8078D29B3160EF63A74A19E17202270928654B95413DA00FF89548F30C8A2146
-8082CFAF97B44733C420572188F01731535A0F5609CE44AB565563B15212E835
-10E5EBA20E3B1635B8E08D85E8D282D51AF0C5D8B4526EB0D43325370644445E
-087E067A1EBE6E9C5A69D8F2D32E2960FA2B26B582A4D2D9AA1CC49408E88CCC
-19C63FEC3256F43F55CE38B3F2D7902A4978918AA2D9D23EE839BF2A901F0649
-856041B1F62612DD6FBBFBD1D3645ECEBCA6587080C6DE11DA4CC9F8E08758B4
-37D559BA464A49A3AEA6373DAD44C615496C71C41080F4357FF2ED23608BB448
-FF983C196501096A58EC0C0FFC9BFE36C735118DFA981C69365EC6E543BABAEF
-0515AAA6E8E34711747D586A6CAAE1D3D0F2EE85DAE124D93A6EDB408D9FC825
-7943607554B3CBF71A9843A76A69D7533865BE78F7BA15316360CEC333F0326E
-EDF8B884A60A0E02401A2A1E3C18C89580C030AAB8B94438214A96EFBA9554F8
-2AAAA5C653E94FE70BC18F998BCD6713AE8A087E37097C36E06C1E929278F668
-4E6B169E30196E373D89CDB6BDA65989AC54ABA2678ECC7EDE24AD6263BB0301
-012E31B2361D62F8E08528558CBE40A37939F09069F82095379C56C31EF2984E
-78BBA233E706B9575A245E527CCD6EC11075A3FD2623B49E2A68EEB68030AE43
-1D7AE54192A39C52BBA92FAEC3899FF0ED859B0051537F998743B6C5F2DC99AD
-FDBC65E51D3E82B70CEC3EF1C3645ADF893C3C5F3D25D51CE54CEAA463F8BF8D
-EDC3CDD0422C12FB34C87305CD11F0005B4AEA3E9AAA000546E4383C7B8629A2
-3372E0E857C5A9F564E6FBCE49407740873A109A2B8FC581171B6965DD349786
-E547781395D8F3E42E99BC556A41773DB2BA8AA0918081E4983B9F8B43A15544
-8D15BCF336E93F8CFCE6E79940A52F9B7067C2C8688F20F842B2D0BC02DB70A5
-3074D0CA85BBD01D6D91B2722CC15C866448C91ADAF9EB2D2A52F08B39808E43
-2A492AEFD45480EBB07C4182CD6DAA9C26A561B83E381594A1AA0364C4464AA6
-20621994D2B64D09B7F460C2D6A7C264D89E4415A9E54A53CC8331A3D358BD14
-4894EBA4DD7AE1B836E2C9246DBB0800805683A11DBE420BA989837D86A1A600
-8B669C7A7283BB9313F045A08602B7F98F78A059CB086B5991F761CADE8AEB86
-5039C35C2FD564C0D8CF404A5F32D7C532716169EEB6D08C8CE5BB357E4CDCB1
-5FCEC35440433719FC19DEA55B1662309EC85EB47B323CE2EBA56D17E0A88175
-B2FD7B59B37F7D48FACD52A7DA80BC296E62D60D6C5F251554138DDC4975E308
-2F9673033F0A255FE037F16CE58A3EF652D3DDE2AE7FD39AA20E88FB0A7B4598
-02E993D6550EE854A5D9ABB3B15BE396E3FC2DEE919D354166BC1A2519E0F2C0
-228998A7243FFDAE507841771E4A88B610F1D390F7898CCAE418C8CC15A4B3A0
-9B74E01AC32BCBAA020C99B6856952158F866E0AC66F171C3A3265E713094F71
-BED491A2ABFA737A0EC17DB262A73EBAB9F8F9E96DC7C5764B92D15F5C967CB3
-C846C147DF1568A68BE099D8E38B5A9FEDFC66CE2AD3BBAAFD72AA51D6C08A32
-AD54AE75530267728A9EA3244E8C8CF67C5A28F67068CB4CF90FB76F280930F1
-893C952DC2A7ADE38C692BD19FFF63383308FC2873CF241C1C3D1ECEF6B98CC7
-287D9F5F0C61033CAFA9739D9941AC833A194E67CD1B9CA1FB4A02F0A53A814B
-565CFDD9CDA06303ADB599D6CE17A7F6A81C13040FB7D6E98AEC4BE9F88F3B29
-FFA880E8CF8CB6F4FA009C4354337A43DD077D40C993A9AF66D2B524CEE5FC0A
-BDF03740A45C0CAD814E869D435C61A964D0644E93C6F228B205ECDE4EE59D67
-C35647FAE9617877DB23272A9D777262A1DDCBB7CDCFD2D6136FF69C000F9B29
-DA30B2A654C27C564F113FFB52CE2F6618EA1C8102FF9D93B0AA2C936CAED8CB
-1A9F2FA71930351D74240F88DE47423EAD67D66C20C8DE2ED00C94642C25630D
-4A60B8DA5362D00F3399C6796EE25BB88325E11045FB6E00B72706257BDDA2E2
-76C77F6E0030906D646D759447343EE6CDCF9A61CF30C1392BE54A0F5951AA69
-461E856C4A2921C859E03E13AAA1D6F563D5F62A66065F36ADA9A08A697F53E0
-249DB7965E9312F46A18F6016684708F397989B1C291F63C491B48A8B1A51E8A
-2C1DB13DB081B75784ECFFA1735A0DA6D443D7BBBF38B16874B57891E3C28A04
-C21978532D806CAD99C9CB00777FC2B9582CA68D285D0488B5724B9EF603D4A5
-4DC01291C0AAE941219EB99398C6051357DF7138324625A4C244A3B127BA85E3
-08C8272EC75E848D984E38F151E9C0D46D1BAE4648F7391B59BA76038391F306
-3E8E72B0B557913A38CD6042D2ECFA192A5124B9F58C887726C72C5518D3CD90
-B24196C04E0D05A6B590E067B17103BB36AC830CA181BAA072B137A344B7570C
-7EAA3272A774A58E049F71DC9DF45CD22B1452A26BE34A5179221A01FC5536DF
-BBB94E93BA9EC169BE596336768AA8C9A72C258B8A8CE7C511DD923193D886E7
-F6C33E5FD68032A5A4459955FFE76A8D5726AFDECF42818BE43F03D2B4B8958A
-38D94568751E5468A1322EBF924C7B587D732486DF8E309CB7FE20F64C6A371D
-D62BF5A33B49DD267AE4C3F638A76BE6DF49B693D40D8AE1E9F0C0B0606C84E2
-A6868B4F700A6DA1ECD097C96704B17DB76621FF4876149E6B2FFA89D38D8F3C
-1026401F2CB949DE9313115E6626B26082B1AD94D0C1F8E7B907B3676FFEC9E2
-E31FAC5504207CA741486734336521C2F9BC91AF257472E4762966AC19A6E89A
-87644A22CBC9FECECD919E513209FF439E2E7F24AA80B4D3C940021C23D7A921
-1B6E544E43FA00C4540C73EB0F3B8F352BAAE6CAA924C1F09C6EF7DCBF4BB88D
-0BFEC67C79B6334A4A0E6099A460B57FBB845831ABD0E83BF0F92491ADDE5526
-E036C58BDF78FE25C55B9580F6D02F2C2F7D77399DB7CB4B8B8E037538D2BA64
-BE2BE4697B87366CFAB5A92932465689775FBD9F87AED9B53303DBC13C0C13CD
-B549FF2D8C8C6C9082CCBB9B6DABFEBE53A85297555389E5A08E47F27F62EA1F
-11915A06C9A1E82C37E4AC72B009B0CBEF25FE046FF9FF20D50DFFA97AD9856B
-B51EEFB3DE0472EAB91CB0B51ECF29EA2025422B31C811C3E449416B8916C2B8
-63E9E4A80F9EC738B81A2A32BF196875BF8F52010B1DEEA25BC2719EFFEEA0D3
-A3AB794058EE49333468A3CF5D13336431ED14CEFB1A2D067AB3D2DE942D9DC9
-C0B5CFCBE9D9A4B53D9B2B19E28F5416F5DE29E73156516683F169BEC75C5344
-D953C9640552267E6CE554C418773F06BC8CD88084C60F8D7F37523922B4D49B
-ADCC93A64D0C92973527A810F6B0239E5525A6BC6AEFABBC8FDF0B7E1B368A52
-3620DEEC31E00D6CD5F02E1625A571A6129DC18333B395D4680CF6F69CC6D359
-4C444307FB45B09509E36E0905C7B2CED23D9B48FF65F31EDFBD2073F718FC34
-99FB4A68B4225D12A42FBB14D7A3FE9D2CE7DC8925E6BBCC4EB53632EA3432D7
-BBB17498259DC19AF7E6CA3F124A7B39BE4C9768FB49748F5CCAA3D1940E0A49
-136B3F49025B2C3D09AC6598844D9D113297A68027AFBB1D8341FEC07FF6CE10
-28358FDBA753264E7865B5B311532DC8D16E6E1747E53D96E996B9F27D9CFE93
-460158DDB6708485029D6F31729805DA1F445C629D5A7048F06D8BBBC6BB69D6
-FB7BE6BF7FC02EC0B33462CF5C756F35AA56886688B05F6A417B8BCA35886256
-8EE314686DB5BD49E631AC220C299A8C5D6ABB974C45643CBC589EB2D0DF48D7
-F59EEF1FEC4CCBEBA797DF168D1D08EC7467E7C35F421BB6BEA0E9C4846A84C1
-70FEBABA787CC46391393A0B99EF0CFC33730140696B0DE9C57E90231310FAD9
-D67462F55A56D9666EC08AC424E940CAEAD58503911C4D80FD59CDD5182ED504
-656628B1851818197DEACC842E943D5A2B75B5934E8AED3E67529FB51E625A14
-4D91B077A53FD8C69C930C677497A36A6A578A639EFBDE481EBCB80536C9CB96
-0A2E54A15F6940F4FECC203A440AB47439C9FDA12A9D78B74325ADF44010BF40
-6A5FB9C012E07A557A60326983A0802424CEA244DDBF66CDDF918B30618F348A
-8C5086F7A7BB1A86C7B4826323802701A584D17C6E19AB720CD13D02E8EBCE16
-4A87BEA7C6B76D05D49CDBE8549640FFE6124D2852A00A46768FEFDD2DD5B60C
-3AA80C3839A86B4EFB035B65E1236F6DA58BBE2A9445311E8714C82310E6A0D2
-E926A3D18AC3E7A8F8A61AAE5ADE10E43116C105653E3A03E895BB2F7477A0AA
-F1E481B4F1B3BC9DB099E60681EF3B0476D6E84DF5ADDA588E8320B4899D2D40
-F8CEA36C2039AE832C87644E2A3EC19AC8FECDD575364238524BF5F76ACB02EF
-094278DAC561F700ACE728478FBB8E0C192795AF982216E2A4A3488D6A4BF06B
-AFB8F4EE78DA4FD96437A45C1E1F49E83D6E85390F8FF9B8E487AFA6184FA430
-2A3E13C59C88E3FC8ED9102D485FCCA463197A32821988D1C0A7A86620655DC3
-DFEEDD33B3A1F55CD5599A58D0F4A390B69137D947897DC448A8255A2521EFCE
-2CA896955E05BEA3480166F9FF82F1B145DCB56B6872449335275533C38336F5
-4C49F40D0FB04222D14E0AC8057580118B1EB1DD43A8BF334763BBA198D851AD
-47F4499A2922816D2F0AC1956B4410E617201C82FDD7761C1A0C8AD025FCB1DA
-9A0722266E22C438C10275CC2BFFDBE726084F9CBAD1CA9ECFA072EB5A317EA5
-2A8E39F8794209B978DDF404FAFD22831F3F53356401FFB85334D339426CCFFE
-0F869606955F20FA055EE560B4744730EEA18CBBDC134644F124B714FD43653B
-C0879B820871B8809020301A71D37A44252491555D9B6278A9070C088C0A80D2
-BC753160E83AF282F3DC077CDF610A18A1A83D4920EB6E2A2B73E40BA112F78C
-A18A26ACD11A5D4E12C67A631D4928EFB809640F64571E5605AD4BFD3D00FFCF
-FFE4FF9FFF1A63002175D401D4BBD218F40B4C56766A4FBB93741F9D2B746F78
-B062CF36E60973FD3D52810750C06C73CC376F5291442A4EEF4B2842B6317CB7
-E1AE735793AA5CD2F927E4DAD0470D0A6612E8C0557245213B0DC87DF4B9CD12
-60A6FB3955E007041838B667417524FED98D5EE035C212C8377A6E2393D86DCA
-BD5092520A83CBFB978D2EEC4847BE9D4365714A5F36B343F87F1DBB1E2759ED
-78EAA5491A4EEFB8FE1FBD10112294959C42FA664442335E521CA7D7E7BDA468
-AE36FFEDA896738CDB3054025485FA28A071C96A003DF5A940261ECCE471616C
-A5B0223E7F435A096B90FF8ED7D88FADF050BC4C4C1FA51D4D389BC36E9D5D70
-9C38800E0CA38D1A045586E46563D855E4E6A8482BDEC35617411F8E046FB838
-1F745325CEF7AF2EF0D7F912A34BA6CE8676944A3B12212CE7AD55539FD9179C
-D8BE8CA39C9EEC948BCCCF2ECCC8F10DD4C8E99A5922BD9A56191C4900063DCC
-C3BED41EF16BD2BC1891D87E5DD05AF7C25D7E92B1BB87D53817643B621BB21B
-EA839B295433042A7E0CE294C031A4C460F05D16B46430445717EAC72766909F
-9008EF1F3F8404DD56B1B1F90A06D99859A1C45F7510B9E7C6929BF9E54053BF
-95B4911454183A5F2734C2CC7622ECFD0664B77640C416A1DA10F13BA0238C25
-DF6752C9B793F8FFA012C6E8E2AC81DDD9E402F42DC4CD6F290BFF4B9C633E1E
-52397F385B895FA3DC7471F3EB97244EFEAFB11BA92C994CFB511D7532304836
-151A4087F1CEE38AB690E1DE2354FA2A7059F42982D0CFD01BE3A320FB078F2D
-7947E9A5C973DFE340D0A742170386831314BDE9D67134451FDE80E093C53F37
-F0FD8CEF42FA08555757888839D9DAF23A735243EBB372A5C3230B1CC2F3B5C1
-C8C19CB3C3E9B1A42D0B314E778F7B3F24C8D61375FA725B40F561C6619D025E
-899BAFD602833506BBC5B6EC86A932F46338E7E26EDA743CC51D8E4B3944D186
-7EFEF666F9AE87E395FB9DDE9A936AB87B90771BE94B784B7584D71827874DEE
-03B55096CDD953D93FC0FCD7E878A11EB46A10CCCE040A90B375995C5FCBBB27
-5D0745BF763C61DCBF193651A3E36A4112F823B5607F418AC8C41B51221F9E6F
-0E9DC72ABCAC248BD8D83949A24D33DFEAA363508C263FF9B222347DA08B99F0
-2173065BB9240A61135E38D461736B04BE918BA150DC90043306056B657D6CA7
-FC27151322B0F132D91C0BD0B9483A6A26D84882095E20127541BC1D93B72AE0
-8A68A5DEFB35E50B37ACB926DD8DB96B910BB6F315FDBAE48531574B9ACBB438
-D1ADA41812A752E9876AB76B31CDE8EFDDB0DE7AF97238A9DA0846EAD39DB2AB
-30EB7D7F61DB0876FD294E5E09916F0C79417108B30597932BF1C81DCF5CE0BD
-2D65C84441D6354A9C8647D740C1B450E5DD3237EF9BBC793F1148155C0F950A
-405BFE9BE30D9EF9F8812279F71B30949F8640E9D0E5B6CD133153B2866E7F35
-78795EDF42FAC47913A9083E7069C4D4E6B0642F55FB481E7004DEA3C3C86177
-A103AFC8FF966BB958BC5EAE139870EC202D1BAC713AF4E3F2FB9594D60E83F0
-8638980BDB2FD061C867E748420E45AFE685D27A2767D31E272B43EC2DDA5424
-AC17EB9D1C7CE94DA05F741F0F635361325F227EC2DEEB5A3EF3AF4FF03F5FFF
-349A9571CA07A944C3974706C1E1A2A433F76149A1E33322E05335787A99C9A3
-98EBC8894218611339E7F065F13C02CF110ECED530FF12350140A7BC7BC810C8
-F17E870225D6DA162362C5587A4A13F52E9F92E31D0DC959DA76A3095661D000
-25A9EB458084039E445529C5A08E3C66FE115D2FE1CAD9CF27315D440FD45C76
-464970D0438E3C1E5F9CE9A9ADA95C5584532C7998063FC7E4E4DD3248148EAC
-10DD976E786084D5CD51D263AA0B7B5F0C31C1A127E03CA8AAA424C6D31106D9
-5788B85D5B2D4557615AF4B1CE34CB66F61AB005C5968756539C44690C3B93E9
-0629165F9377A1B449E2D07356E10DA88338F5B16EC8DAEA544ADED4B3EDD716
-550D9103F3F97E86181B8379D37E53FDA0557BA5EA231B90655957080E0E6DC6
-114D07BA1C9D1BACD0EF6F7997BF73482B194824A1EE1A39A6050213FDB4C820
-FE4BDE84724041C6F51287B7AF2E7A19558AB32EE2DABA726577787D5A136434
-427EF025B3D99F7B916F17AC1382994BD9DF6FD023D2AA72437FD509F55D5EA9
-189108B7934E0B0CEA9E956A000C5E23732E45BD1762961EFF36F7389BA1BF85
-312959449D0751E198C9C34E1081CD049759573217FB73F6A7B0348533F2D942
-9CF18688587980A65F512906C42593767D8A08F81C62E42CF85B92366E0DDE12
-0B04CD253800423151CCF040354A70EBF850C23013A48ACAFC816C4C002D0BAA
-0BCD2869368C497129DFA21813D2689F3EDBDA0956F822751B125CA6ACED9525
-51F85272D896B6A12EB9FB8579DF5FCE686804E3D4BCE113B5FD83478861553D
-75E11E30471EC3A76C5DA24F5BDA4C5A8B72E93DFA470B7E49CE1F960FD3F10F
-3E0E32BEBBB09244F091ACFD721B806D00593A925F97DAFC22C86BB5B0D4648B
-1BD0C32F5EEB7A3CD106C00015CC89B0D2677C7B4F2D3D818B40336B24D3B7B6
-77D03EAE4775C93326F7EE747CBD71FB65A2A2EAC5F1D03A5999C5689B099127
-61A2F058BD984FA3D2785622909A03EDE1A209ED6BB56237887479A782C75A54
-BC20ED5EB4E2BEAD28641E95237D2FE51C70AC77BE31246C92D4A3175EE3FE6C
-02612C7134DA79EAC6522DC1B52AD97132FF53EAE224C2DE9BB37E79464F08E1
-7340C8A79B87B439A484AAC56037E30DD391961E99B1BD4034BF50D00C1657E9
-8FCF4C2DD03612021175360A582CEFC4A7D12642EB33567A389EFBE03712DEF1
-00E971320F62E803F0775767620F37B34692C313FB9C0958E00597E1953F79F0
-F32186D202AF03829D2062335B64DE098D4ECBDED19516A3F4DC88D1799D0FFD
-F24B2C0E899D45756733EE27A1FCC99BEF10C462E9F9B062E9BFC16E75459B76
-06D84FE9C552AF42B0B3EC237785B3CB5075ECB9DE28817B55C85AAEC0C94C4B
-DA282188747A4CF8D63A50B9923CD27DB14D3BC523F41728A2D90ACF46355944
-991DACE13425D8DC18BA74B9F61923E45C978DC8B2D50939947CB4B33596D6D8
-5AB3DD0BD8E4CC3CB8D14590F900354CC46858D09C4BFA8142CDE33F8B75F349
-F535CF80B6DB8E64E6DADDF520D9E29D957BF1E298027BD5D0C4171DB575EA96
-1AECF1C3DEA0950BE26E739FBFB2BE59B86E188816CD44B7ECA980C1E44AA079
-AC2E7BD3C6FF65D9779B60ED34BCB38CCF793BFCF59B84A89A8C719C40EB0A23
-A91CCF0C21CE3DF3985E13C2EB9F89D6B7CE6923077D5E27260B55BC9FAE73B7
-C7EDE7676F922A8366154FAC92C7455863A45C4F4BF140776935BA4583CB1EC7
-1486197EDDFA9E46DCE6A28C992B10DA89C4FB8CF80CD39AC536C1D41C6753E3
-692F8E76928B5D4F2E86D30F7B3954BD6301ABB58CED13884C284C53D7A734BC
-46A9502745970B12A16058695801EDDFF1E65F7242CC61F6C4163A67DB236F17
-704CF79727413904319002AA4D81BFDDF64EFAD2DC47FB896BCBC5FF19FCA3ED
-B2321FF9F8504241CC25C1922DBB23CD6AFA25DDCFD473AC617F1333CFB469F1
-A343455681B59829DFFBCE8406D374059A724C7124FEBEE05F9BF3206254A931
-0D276555A890E38C69BB578DC8D7511E5F82A15E8E4BECD06D47F6E3AFD854C0
-B968F0923B0D7A3672BF7CDA1DA9CD9FEE74D70A2CCAD4055062E3AD8685FFC0
-B5BDDB530C857C3C826981C0F2F91574DE71274A4E404A1D73020F4B50376EFC
-748EEA93D6E1E2DB1144347180ED372D2727E2DBB8E9334778AB1C4E67993D28
-5EA56E402DC2A8B87D017778ACB9585D9C73780CAD7CE94B6BB727BB93366612
-8DC1B3830E7E95EC7EC2D539FE7E73E55633CADBC630F6B7DC36D77ED47B2958
-0B263DB67F07E16A040DC602CA362233C947B95F63F16239F0CA977F1A99F9A6
-B36F831B7D8AA5BD29DC4E26DB4DDB04508C53EA8041AF99D33899327C353C96
-A765BBFE74CFDD198E2FD0D9B9F3F76F2A8178A530919CB701F51DE0BECF3BFA
-B6A10EA4DB04DA17C04B2A932E937CCB268F5F427485C217D284CF602C9091E3
-6977BB4ECD4CA46905E79C6E847C0B7FE0A84F0DD43F7EECD10CC502F95293FC
-078348DBDAC9DAF6338E1F9D7DD289F52E1021E27851CC45AA0047F2FE07B5C7
-A6F0F8BB5E26BA7FFFB21082351804662F9C476E9D721E8A5BC81F2E5CA81F45
-4FC091EC171438E64ECE1899865F483D6015792450AE1186640D1E3C328B915E
-2893621345A8EAEF8A017CCA2D2608C5823A23FC7575397C3646476E8D26BDD2
-8C51C4CEF109EDB677017739A53CFA6A509AC5152077EA5ECD7A176578B6BFC4
-ABABBD0C484F31B293EE6FE8E68A281EECA6198A8BC6CAD2EA4EE2C49390AF4C
-6A710275742AFCA4E2A1DBE04123C080FAC65EB8C6AC86388FBFFAC8EEC49BAC
-464C4E1AA0DCB37AA6503E364FC954BEC84C9552300DC9495DDDEC35795EF8AF
-50D2C0CA0F238B3FA1CBBA9F9CBE1F621C710F73B7D456073082BCB28170407C
-FC3007F52CB71E08A85621B22B4DF750D011175E0A29B4FEBC1D8625E713D050
-31325515679F4A0D6EF17529A37C0BBC3F8F2F7AA0A6F57977941AB4133DA64D
-1AEBE4C7FABCDC25854BA5583678FFB54956AAE6D94F3E06D5C0F27B1DCF2421
-1C74FD8D4F0A5824DABE0346804CDD2D96BED494EE8B9D99F133F325D8CDF0EF
-431AB25D5025BA7A7E8B329AD2F89A53C3855AF9CD54275E030C3051632E5CC0
-994AFBD2A15772BAAFAF46FA10543A2B0AAC06163802D7F748C0EA0DA9072E54
-19E4BE682E9CDBA0B0D7E9F60A90C6C8491A6F30A5D310050DBCF613CC297D4B
-66974DACBFAB4377A753A16FE6394542A275D14197D422CF91FF360E8A63E8B0
-2E746082582E2448F6CAD56E488DBC0F40FCBCBB993A787E70BC9D8E24176B61
-FF2984A3855F02787C6C3DB41752B63FE0B7B090FC6D21763E96F2AC80B8994C
-FC3DD8AD32562184A3FA34CB6C0C73CB587529E35E72337A1AD22970995051DE
-2D10E84A14340589B08FA907F5A3570F98713316F633228AC0BBEC6789BED276
-6E2E1597D0C8C22705A729622749A30BDD267F7BF3CC116F7F888A4F4AFCD688
-63AE5A71F1E2F5EEFA3B100B19D6A893BE519DC5DAA215B143F807296187E4A2
-F52FC1F4448B0F4529E2156CE980293422994E484EA3F21C9FF7A56BB005A4C2
-F073DF6552D40E5DCB7A419C620C9127C451EBC2E341CB0649A503FA0E1B38D6
-2BAD504BEEEC35C13F6CB0659E719FF18C523B882EBD74D43D769E1F8A30354F
-8B790EAA99668110FE86806BDB239796E9F55A75D110D000C72AB2A430241713
-FD770F84793CD7BC488B8BBD59DA1BE3AAABC83F5E699F2A9D4870C2130502A1
-7CC2368B92CF0D52CB70446A3F634582E2E3D320CFC4353A748C1F1D91C7E4B5
-5ACA209EA88800AB7293FD1E8064B10C1A5829535E26D3C55AF6AD9B4ACE497B
-FAB377677F34D002BCDF35C0BBB7DA7833638683788748A16D075E344CE8FF95
-C09C6DCFCCBDB48EC084126BCF94EBDB1856940C67BBB69B8825E91A98F699EF
-2E378557776C9788E2A80ABAFE3E7E3BB6C0F32FA770597E37F271C50C10A9B2
-F90C8D80F4BD9F4C1098A306CE886C127946D3DB39C82F31F1CB1B1451FF6D9D
-A519AA74E1C7C4797F5E3EB440105C51ACFF85734924C0576E826B210C501232
-456601B688A3EA9494A8F391E1A0BFB7668BF6D0E1B82A47E91BC893E13EA0BC
-F8B7BA17D586DEFE3F7C2C72909106A651908325E055DE4F4E5B266D71716474
-56D5010FDC4012A2D659234BA355366C4E737FDFC04B7BECE1C1E16A7158FB27
-21AB8752DBCF8EF4AD11D185D7CE3BD84CD520553F0EE3FFA0AB3D773978A425
-F6C1B4EEE27F127C469005AFE5E07ACF2E438CCA628A77D90C9EAF7072733357
-CCF508A46C831FB96D0033FECE34E85023015A3AAA5E373A790DEB5D743EADBD
-7D249F543389FB089F4ECCAEDC4B75034AAF5DF41AB2DB047BE7C9500D34C60D
-7F38EC93219FA9C8A96523B981103196DB4D45031BAA1CF5018F3ABA08A547AD
-02E77C769762C162C7931A91CED9B33EE6C3BF4E59FF8EFE17A952FF3EAD46A9
-FDB74FFB0FB988DCEFA31ADB3F2A78E7C51BB09504DBBF1D53D96676E5843D8E
-DB50E2C89E2FA58295694AC71D7DC610756278F387A7809C8CD27152672314BE
-E287E774C2949A13B03BCEBA7A9A1A0B927AC46D8FF136C5B305EC65609F6162
-39908934CA61A225513E658F6B42F15A3621A45191F5437EBECAC64914548C8A
-6750FA2C9CC0E3BC40E01A21E3C4BA1707915D34CB78C96F0BCB7E2B10892E71
-174268D0234CFFCD5E60BD7955A151226F4987B67A69D9313CDB1ED0F9F34958
-33F7D16834BB40A6EEC4A5E24F57067FB59FB8D8C9AADFDBD3A897D8C91770CD
-D4820C1AE39A2D1AEC8B457DD856F81B3E698CF1FC5191CF60B1A80CC3230B63
-59C1384BD01EA86208DE000C9D3857B3243C95D6B6BA5BC693C539F7F6423205
-1F0FC68EB360DA674569C20FB993449096394328BB9229F93F45ECF5E11371B9
-63C233E1661C8451A3D1E076D243F6E887C82E49E00E2847CC33858370D560A4
-6742B1F48C2EE6D561A6D43BE796A09976E0D69A4A6C346AB895264C96092511
-7527320E9EA8A73250607B09BBE48D3952998435F36FE4D1CF667BC28ABCCD69
-FEE40049B09F1F39B64F3BE92C1EAC9C4661EBC403A69A9180FA83D1D5E590E0
-647AD00FE509B0E9FEB752F85726783978CE98B4AFAD649D9623F41419F9923A
-A11729723270E0847AA464AEF74FBC743D8D805322360364E7751743552A0AFF
-CCEB847942D9689E9659D15A3D795AEC8782C6EBCE6760E687F87095FCDDEA8B
-C4D8FCE65634148638A8DE5797BF21266AD94E363F58DB84561B74CDD8D5FAB3
-59A521598B34720C54C0AFC5B1A415B7E929D6EDCEE9205DAAB716379C29289F
-2C1AA7EE0776B1C6B6AFCDED4C6ED7EDFF1AA20523EC52F8332C2C0ABBAC1A2B
-DE91AE501079F2A4ECAE93FB93082B1A241AA79C1F7907F8EB3BD528A2353FBE
-749B89A4FD00C8C9472446EE4B6F04F5073EA7C2854835FFBA548920108192AC
-8CC658B87F249321015CA481B2A5F19156F63C5F7C285E18456D0CF0E1ECABCA
-C9702A3DC3911A3B179C837D4849DFEF463B9648AA2CEE8C7B7304B551296AA5
-4E73AFFD0D86AFBBAAEB71082E250627D70CAF3D246867A3676ED1BBBE99F6FD
-32BCA350821E0925E99235BE60C72D8270769DBE50CA12BE348D5145598EB0F6
-2EFC2EAFB348EC74C1F9025DEF33772AB3A41D6F8DDE6CC6746701CF75C86B43
-3F9224B633E510BAB613F6EC46A685D32C1C474F3509FC63268C4DF841B9B38E
-9CB08A26518FFD1A402D43C079C5603589D578DE2E8225A160625B6A484460CE
-5C445FDC1D3A58A982D205C370D86195D988E277F92937BBC9FF72851B0694B4
-D484FE0755962D2C4D81DA0F1F36973CD69765482A7DF0F5E701A3C5045C97FC
-09B5DEC1E35BDF033C02B7155B72851ED7A6BFDE12196DB43AFEDADACD52B93D
-E6F247F438A11DBF4A6D6CD59834865EF349F87DBB7EBBC5503492F5BAEA9615
-32AB4D318C6D1BB372FB14CFCB4268EF69128DE3FA99379609DF7099E459B557
-E7CFA0A293121A700CCC679D815F0883CFAF64B603C9E588488904267AD3EE3B
-9A8F6BED8EF48582F4A420AAE9CC3E0A61EB8D10C816C3091074E3B6345FF4DC
-37E1C1597DA71581A9920E9858DAB295178521766178F2141851EF5E455CE390
-4CD16782A04606397A6B4D13303918255700FFC68D83420E3F37437C073DBE9F
-C80EC3F7D915376410FC4961F37D73D13268B7E93C8B4F29880B535D14DE1205
-615CCB9BCDB0164F2D9C3E9515BF00C5D4E164A6B495E6A80EA01D3D6226BABE
-762982E7B5B74799A15819EDEDFB01B444BA30899AF2498DF31B1198C9115C88
-720C6BFFE2E0F33944274AB36CDEC08D18D00AD8AAB0037680DA8525AD9EBA6D
-8847EEEF0F689C466DB5CA6382B52F56FCF8490F2A931B3A71
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
TeXDict begin 40258431 52099146 1000 600 600 (readline.dvi)
-@start /Fa 209[24 46[{}1 74.7198 /CMTI9 rf /Fb 133[34
+@start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 133[34
41 41 55 41 43 30 30 30 41 43 38 43 64 21 41 1[21 43
38 23 34 43 34 43 38 39[38 38 38 38 38 38 38 38 38 38
2[26 21 30[43 43 12[{}39 74.7198 /CMR9 rf /Fc 134[39
39 2[39 39 39 39 2[39 39 39 39 2[39 39 2[39 3[39 19[39
-27[39 39 2[39 45[{}18 74.7198 /CMSLTT10 rf /Fd 129[39
+27[39 39 2[39 45[{}18 74.7198 /CMSLTT10 rf /Fd 167[62
+3[60 46 2[57 1[62 76 52 1[43 1[62 65 54 1[63 60 67[{}13
+83.022 /CMR10 rf /Fe 129[39 39 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
-39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 39 39 1[39
-39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 39 39 39
-39 39 39 39 39 39 39 39 39 39 39 39 39 3[39 1[39 1[39
-39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 39 39 33[{}85
-74.7198 /CMTT9 rf /Fe 214[35 35 40[{}2 90.9091 /CMSS10
-rf /Ff 133[51 60 60 83 60 64 45 45 47 60 64 57 64 95
-32 60 1[32 64 57 35 53 64 51 64 56 84[64 67 11[{}27 99.6264
-/CMBX10 rf /Fg 134[52 2[52 52 52 52 52 52 52 52 52 52
-52 52 1[52 52 52 52 52 52 52 52 52 1[52 18[52 52 1[52
-2[52 52 26[52 42[{}29 99.6264 /CMTT10 rf /Fh 134[65 65
-89 65 68 48 48 50 1[68 61 68 102 34 65 1[34 68 61 37
-56 68 55 68 60 7[93 1[127 93 94 85 68 92 3[96 116 74
-96 1[46 96 1[77 81 1[89 87 93 7[61 61 61 61 61 61 61
-61 61 61 1[34 46[{}52 109.091 /CMBX12 rf /Fi 134[48 48
-66 48 51 35 36 36 48 51 45 51 76 25 48 1[25 51 45 28
-40 51 40 51 45 9[93 1[68 66 51 67 1[62 71 68 83 57 71
-1[33 68 1[59 62 69 66 64 68 15[45 45 2[30 31[51 51 12[{}48
-90.9091 /CMSL10 rf /Fj 138[39 27 28 28 1[39 35 39 2[37
-22 4[31 1[31 39 35 5[20 6[51 39 52 1[48 2[65 44 5[46
-48 54 51 50 53 15[35 3[24 5[20 39[{}29 66.4176 /CMR8
-rf /Fk 150[30 30 104[{}2 74.7198 /CMSY9 rf /Fl 134[48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48
-48 48 48 48 48 48 1[48 2[48 14[48 48 1[48 1[48 2[48 48
-48 17[48 48 2[48 5[48 39[{}37 90.9091 /CMSLTT10 rf /Fm
-135[56 2[56 54 42 2[51 58 56 68 47 1[39 27 56 58 49 51
-57 54 1[56 97[{}18 90.9091 /CMCSC10 rf /Fn 134[44 1[60
-42 49 30 37 38 1[46 46 51 74 23 2[28 1[42 1[42 46 42
-1[46 50[28 33[51 12[{}20 90.9091 /CMTI10 rf /Fo 209[43
-46[{}1 119.552 /CMBXTI10 rf /Fp 135[85 117 1[90 63 64
-66 1[90 81 90 134 45 2[45 90 81 49 74 90 72 90 78 10[122
-124 112 1[120 1[110 1[126 1[97 2[60 1[127 101 106 124
-117 1[122 14[81 81 49[{}36 143.462 /CMBX12 rf /Fq 242[91
-13[{}1 90.9091 /CMSY10 rf /Fr 134[71 71 97 71 75 52 53
-55 1[75 67 75 112 37 2[37 75 67 41 61 75 60 75 65 7[102
-1[139 102 103 94 75 100 101 92 101 105 128 81 105 1[50
-105 106 85 88 103 97 96 102 6[37 3[67 67 67 67 67 67
-67 1[37 1[37 44[{}55 119.552 /CMBX12 rf /Fs 129[48 48
+39 39 39 39 1[39 39 39 1[39 39 39 39 39 39 39 39 39 39
+39 39 39 39 1[39 39 39 39 39 39 39 39 39 39 39 39 39
+39 39 39 39 3[39 1[39 39 39 39 39 39 39 39 39 39 39 39
+39 39 39 39 1[39 39 39 33[{}86 74.7198 /CMTT9 rf /Ff
+214[35 35 40[{}2 90.9091 /CMSS10 rf /Fg 133[52 52 52
+52 52 52 52 52 52 52 52 52 52 52 52 52 1[52 52 52 52
+52 52 52 52 52 1[52 18[52 52 1[52 2[52 52 26[52 42[{}32
+99.6264 /CMTT10 rf /Fh 134[65 65 89 65 68 48 48 50 1[68
+61 68 102 34 65 1[34 68 61 37 56 68 55 68 60 7[93 1[127
+93 94 85 68 92 3[96 116 74 96 1[46 96 1[77 81 1[89 87
+93 7[61 61 61 61 61 61 61 61 61 61 1[34 46[{}52 109.091
+/CMBX12 rf /Fi 134[48 48 66 48 51 35 36 36 48 51 45 51
+76 25 48 1[25 51 45 28 40 51 40 51 45 9[93 1[68 66 51
+67 1[62 71 68 83 57 71 1[33 68 1[59 62 69 66 64 68 15[45
+45 1[25 30 25 1[45 28[51 51 12[{}51 90.9091 /CMSL10 rf
+/Fj 134[44 1[60 42 49 30 37 38 1[46 46 51 74 23 2[28
+1[42 1[42 46 42 1[46 84[51 12[{}19 90.9091 /CMTI10 rf
+/Fk 134[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 1[48 48 48 48 48 48 48 1[48 2[48 14[48 48 1[48
+1[48 2[48 48 48 17[48 48 2[48 5[48 39[{}37 90.9091 /CMSLTT10
+rf /Fl 135[56 2[56 1[42 2[51 58 56 4[27 1[58 49 51 1[54
+1[56 97[{}12 90.9091 /CMCSC10 rf /Fm 197[25 58[{}1 90.9091
+/CMMI10 rf /Fn 197[33 58[{}1 119.552 /CMMI12 rf /Fo 135[85
+117 1[90 63 64 66 1[90 81 90 134 45 2[45 90 81 49 74
+90 72 90 78 10[122 124 112 1[120 1[110 1[126 1[97 2[60
+1[127 101 106 124 117 1[122 14[81 81 49[{}36 143.462
+/CMBX12 rf /Fp 242[91 13[{}1 90.9091 /CMSY10 rf /Fq 134[71
+71 97 71 75 52 53 55 1[75 67 75 112 37 2[37 75 67 41
+61 75 60 75 65 7[102 1[139 102 103 94 75 100 101 92 101
+105 128 81 105 1[50 105 106 85 88 103 97 96 102 6[37
+3[67 67 67 67 67 67 67 1[37 1[37 44[{}55 119.552 /CMBX12
+rf /Fr 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 1[48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 48 1[48 48
1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 33[{}89 90.9091 /CMTT10 rf /Ft 131[91 45 40 48 48
-66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 45 28
-40 51 40 51 45 25 2[25 45 25 56 68 68 93 68 68 66 51
-67 71 62 71 68 83 57 71 47 33 68 71 59 62 69 66 64 68
-5[25 25 45 45 45 45 45 45 45 45 45 45 45 25 30 25 2[35
-35 25 2[45 1[45 19[76 51 51 53 11[{}83 90.9091 /CMR10
-rf /Fu 134[102 6[79 3[108 1[54 2[54 3[88 108 1[108 94
-11[149 2[144 3[151 1[116 4[152 71[{}14 172.154 /CMBX12
-rf end
+48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 1[48 48 1[48 48 1[48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 33[{}89 90.9091 /CMTT10 rf /Fs 131[91
+45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28
+25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93
+68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62
+69 66 64 68 5[25 25 45 45 45 45 45 45 45 45 45 45 45
+25 30 25 2[35 35 25 2[45 1[45 19[76 51 51 53 11[{}83
+90.9091 /CMR10 rf /Ft 134[102 6[79 3[108 1[54 2[54 3[88
+108 1[108 94 11[149 2[144 3[151 1[116 4[152 71[{}14 172.154
+/CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
@@ -4401,21 +3903,21 @@ letter
end
%%EndSetup
%%Page: 1 1
-TeXDict begin 1 0 bop 150 1318 a Fu(GNU)65 b(Readline)g(Library)p
-150 1418 3600 34 v 1873 1515 a Ft(Edition)30 b(6.0,)i(for)e
-Fs(Readline)e(Library)h Ft(V)-8 b(ersion)31 b(6.0.)3217
-1623 y(Octob)s(er)f(2008)150 4935 y Fr(Chet)45 b(Ramey)-11
+TeXDict begin 1 0 bop 150 1318 a Ft(GNU)65 b(Readline)g(Library)p
+150 1418 3600 34 v 1873 1515 a Fs(Edition)30 b(6.1,)i(for)e
+Fr(Readline)e(Library)h Fs(V)-8 b(ersion)31 b(6.1.)3217
+1623 y(Octob)s(er)f(2009)150 4935 y Fq(Chet)45 b(Ramey)-11
b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)
-11 b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
-TeXDict begin 2 1 bop 150 3024 a Ft(This)28 b(man)m(ual)i(describ)s(es)
-e(the)i(GNU)f(Readline)h(Library)e(\(v)m(ersion)i(6.0,)h(28)f(Octob)s
-(er)f(2008\),)j(a)d(library)150 3133 y(whic)m(h)39 b(aids)g(in)g(the)g
+TeXDict begin 2 1 bop 150 3024 a Fs(This)32 b(man)m(ual)h(describ)s(es)
+f(the)g(GNU)i(Readline)f(Library)f(\(v)m(ersion)h(6.1,)h(9)f(Octob)s
+(er)g(2009\),)i(a)e(library)150 3133 y(whic)m(h)39 b(aids)g(in)g(the)g
(consistency)h(of)g(user)e(in)m(terface)j(across)f(discrete)g(programs)
e(whic)m(h)h(pro)m(vide)h(a)150 3243 y(command)30 b(line)h(in)m
(terface.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577
-3377 y Fq(\015)f Ft(1988{2009)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)
+3377 y Fp(\015)f Fs(1988{2009)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)
-8 b(oundation,)31 b(Inc.)150 3512 y(P)m(ermission)h(is)h(gran)m(ted)g
(to)f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g
(man)m(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f
@@ -4424,7 +3926,7 @@ e(whic)m(h)h(pro)m(vide)h(a)150 3243 y(command)30 b(line)h(in)m
b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
-b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -4443,900 +3945,896 @@ b(oundation)150 5011 y(59)31 b(T)-8 b(emple)31 b(Place,)h(Suite)e(330,)
150 5121 y(Boston,)i(MA)e(02111-1307)150 5230 y(USA)p
eop end
%%Page: -1 3
-TeXDict begin -1 2 bop 3725 -116 a Ft(i)150 299 y Fp(T)-13
-b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fr(1)135 b(Command)45
-b(Line)g(Editing)40 b Fo(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
-(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)84 b Fr(1)449 778
-y Ft(1.1)92 b(In)m(tro)s(duction)30 b(to)h(Line)f(Editing)25
-b Fn(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55
-b Ft(1)449 888 y(1.2)92 b(Readline)31 b(In)m(teraction)16
-b Fn(.)h(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)46 b Ft(1)748 997 y(1.2.1)93 b(Readline)31
-b(Bare)g(Essen)m(tials)c Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56
-b Ft(1)748 1107 y(1.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)h
-(Commands)14 b Fn(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)44 b Ft(2)748 1216 y(1.2.3)93 b(Readline)31
-b(Killing)g(Commands)22 b Fn(.)13 b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)51 b Ft(2)748
-1326 y(1.2.4)93 b(Readline)31 b(Argumen)m(ts)25 b Fn(.)15
-b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b Ft(3)748
-1435 y(1.2.5)93 b(Searc)m(hing)30 b(for)h(Commands)e(in)h(the)g
-(History)d Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56
-b Ft(3)449 1545 y(1.3)92 b(Readline)31 b(Init)f(File)g
-Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)58 b Ft(4)748 1655 y(1.3.1)93 b(Readline)31
-b(Init)f(File)h(Syn)m(tax)13 b Fn(.)j(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)43
-b Ft(4)748 1764 y(1.3.2)93 b(Conditional)30 b(Init)h(Constructs)9
-b Fn(.)14 b(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)39 b Ft(9)748 1874 y(1.3.3)93
-b(Sample)30 b(Init)g(File)21 b Fn(.)c(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)51 b Ft(10)449 1983 y(1.4)92 b(Bindable)31
-b(Readline)g(Commands)12 b Fn(.)i(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)41
-b Ft(13)748 2093 y(1.4.1)93 b(Commands)29 b(F)-8 b(or)31
-b(Mo)m(ving)d Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56 b Ft(13)748
-2203 y(1.4.2)93 b(Commands)29 b(F)-8 b(or)31 b(Manipulating)g(The)f
-(History)18 b Fn(.)e(.)f(.)g(.)g(.)g(.)g(.)47 b Ft(13)748
-2312 y(1.4.3)93 b(Commands)29 b(F)-8 b(or)31 b(Changing)f(T)-8
-b(ext)30 b Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)h(.)f(.)58 b Ft(14)748 2422 y(1.4.4)93 b(Killing)31
-b(And)e(Y)-8 b(anking)17 b Fn(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)46
-b Ft(16)748 2531 y(1.4.5)93 b(Sp)s(ecifying)29 b(Numeric)i(Argumen)m
-(ts)25 b Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)54 b Ft(17)748 2641 y(1.4.6)93 b(Letting)31
-b(Readline)g(T)m(yp)s(e)f(F)-8 b(or)31 b(Y)-8 b(ou)19
-b Fn(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-49 b Ft(17)748 2751 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)11
-b Fn(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41
-b Ft(17)748 2860 y(1.4.8)93 b(Some)30 b(Miscellaneous)i(Commands)13
-b Fn(.)h(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
-42 b Ft(18)449 2970 y(1.5)92 b(Readline)31 b(vi)f(Mo)s(de)d
-Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)56 b Ft(19)150 3212 y Fr(2)135 b(Programming)46
-b(with)f(GNU)g(Readline)25 b Fo(.)c(.)e(.)h(.)f(.)g(.)h(.)f(.)h(.)69
-b Fr(20)449 3349 y Ft(2.1)92 b(Basic)32 b(Beha)m(vior)15
-b Fn(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)h(.)f(.)44 b Ft(20)449 3459 y(2.2)92
-b(Custom)30 b(F)-8 b(unctions)15 b Fn(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b
-Ft(21)748 3568 y(2.2.1)93 b(Readline)31 b(T)m(yp)s(edefs)19
-b Fn(.)13 b(.)i(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)48
-b Ft(21)748 3678 y(2.2.2)93 b(W)-8 b(riting)31 b(a)g(New)f(F)-8
-b(unction)11 b Fn(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41 b Ft(22)449
-3787 y(2.3)92 b(Readline)31 b(V)-8 b(ariables)30 b Fn(.)15
-b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)58 b Ft(23)449 3897 y(2.4)92 b(Readline)31 b(Con)m(v)m(enience)h(F)
--8 b(unctions)15 b Fn(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
-(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44
-b Ft(27)748 4007 y(2.4.1)93 b(Naming)30 b(a)h(F)-8 b(unction)25
-b Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)53 b Ft(27)748
-4116 y(2.4.2)93 b(Selecting)31 b(a)g(Keymap)12 b Fn(.)j(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)41 b Ft(28)748 4226 y(2.4.3)93 b(Binding)30
-b(Keys)10 b Fn(.)k(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)39 b Ft(28)748 4335 y(2.4.4)93 b(Asso)s(ciating)31
-b(F)-8 b(unction)31 b(Names)g(and)f(Bindings)16 b Fn(.)f(.)g(.)g(.)g(.)
-g(.)g(.)45 b Ft(30)748 4445 y(2.4.5)93 b(Allo)m(wing)31
-b(Undoing)e Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58
-b Ft(31)748 4555 y(2.4.6)93 b(Redispla)m(y)21 b Fn(.)15
-b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)50 b Ft(32)748 4664 y(2.4.7)93 b(Mo)s(difying)30
-b(T)-8 b(ext)13 b Fn(.)j(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
-(.)g(.)42 b Ft(33)748 4774 y(2.4.8)93 b(Character)30
-b(Input)20 b Fn(.)14 b(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-50 b Ft(34)748 4883 y(2.4.9)93 b(T)-8 b(erminal)30 b(Managemen)m(t)c
-Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)53 b Ft(34)748 4993
-y(2.4.10)93 b(Utilit)m(y)32 b(F)-8 b(unctions)26 b Fn(.)15
-b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Ft(35)748
-5103 y(2.4.11)93 b(Miscellaneous)32 b(F)-8 b(unctions)12
-b Fn(.)k(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)h(.)f(.)g(.)g(.)g(.)41 b Ft(36)748 5212 y(2.4.12)93
-b(Alternate)32 b(In)m(terface)f Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)59 b Ft(37)748 5322 y(2.4.13)93 b(A)30 b(Readline)h(Example)17
-b Fn(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)46 b Ft(38)p eop
-end
+TeXDict begin -1 2 bop 3725 -116 a Fs(i)150 299 y Fo(T)-13
+b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fq(1)135 b(Command)45
+b(Line)g(Editing)35 b Fn(:)20 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)79
+b Fq(1)275 778 y Fs(1.1)92 b(In)m(tro)s(duction)30 b(to)h(Line)f
+(Editing)9 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)39 b Fs(1)275 888 y(1.2)92 b(Readline)31
+b(In)m(teraction)11 b Fm(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41
+b Fs(1)399 997 y(1.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)9
+b Fm(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)40 b Fs(1)399 1107 y(1.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i
+(Commands)10 b Fm(:)k(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)40
+b Fs(2)399 1216 y(1.2.3)93 b(Readline)31 b(Killing)g(Commands)21
+b Fm(:)15 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52
+b Fs(2)399 1326 y(1.2.4)93 b(Readline)31 b(Argumen)m(ts)14
+b Fm(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)44 b Fs(3)399 1435 y(1.2.5)93 b(Searc)m(hing)31
+b(for)f(Commands)f(in)h(the)h(History)11 b Fm(:)16 b(:)g(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)42
+b Fs(3)275 1545 y(1.3)92 b(Readline)31 b(Init)f(File)c
+Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)55 b
+Fs(4)399 1655 y(1.3.1)93 b(Readline)31 b(Init)f(File)i(Syn)m(tax)17
+b Fm(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47
+b Fs(4)399 1764 y(1.3.2)93 b(Conditional)31 b(Init)f(Constructs)e
+Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)58
+b Fs(10)399 1874 y(1.3.3)93 b(Sample)30 b(Init)g(File)14
+b Fm(:)j(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)44 b Fs(10)275 1983 y(1.4)92
+b(Bindable)30 b(Readline)h(Commands)14 b Fm(:)g(:)i(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)43 b Fs(13)399 2093 y(1.4.1)93
+b(Commands)29 b(F)-8 b(or)31 b(Mo)m(ving)10 b Fm(:)17
+b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40
+b Fs(13)399 2203 y(1.4.2)93 b(Commands)29 b(F)-8 b(or)31
+b(Manipulating)g(The)f(History)20 b Fm(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49 b Fs(13)399 2312 y(1.4.3)93
+b(Commands)29 b(F)-8 b(or)31 b(Changing)f(T)-8 b(ext)25
+b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)53 b Fs(15)399
+2422 y(1.4.4)93 b(Killing)31 b(And)e(Y)-8 b(anking)26
+b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)55 b Fs(16)399 2531 y(1.4.5)93 b(Sp)s(ecifying)30
+b(Numeric)g(Argumen)m(ts)19 b Fm(:)d(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)49
+b Fs(17)399 2641 y(1.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)-8
+b(or)31 b(Y)-8 b(ou)14 b Fm(:)i(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)44
+b Fs(17)399 2751 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)23
+b Fm(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)53 b Fs(18)399 2860 y(1.4.8)93
+b(Some)30 b(Miscellaneous)j(Commands)26 b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)58 b Fs(18)275 2970 y(1.5)92 b(Readline)31 b(vi)f(Mo)s(de)22
+b Fm(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)52 b Fs(19)150
+3212 y Fq(2)135 b(Programming)46 b(with)f(GNU)g(Readline)17
+b Fn(:)k(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)62 b Fq(20)275
+3349 y Fs(2.1)92 b(Basic)31 b(Beha)m(vior)15 b Fm(:)i(:)e(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)44 b Fs(20)275 3459 y(2.2)92
+b(Custom)29 b(F)-8 b(unctions)10 b Fm(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)40 b Fs(21)399 3568 y(2.2.1)93 b(Readline)31
+b(T)m(yp)s(edefs)9 b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 b Fs(22)399
+3678 y(2.2.2)93 b(W)-8 b(riting)31 b(a)g(New)g(F)-8 b(unction)15
+b Fm(:)h(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)45
+b Fs(22)275 3787 y(2.3)92 b(Readline)31 b(V)-8 b(ariables)23
+b Fm(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53 b Fs(23)275
+3897 y(2.4)92 b(Readline)31 b(Con)m(v)m(enience)g(F)-8
+b(unctions)14 b Fm(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
+43 b Fs(27)399 4007 y(2.4.1)93 b(Naming)31 b(a)g(F)-8
+b(unction)13 b Fm(:)j(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 b Fs(27)399 4116 y(2.4.2)93
+b(Selecting)32 b(a)e(Keymap)21 b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)51 b
+Fs(28)399 4226 y(2.4.3)93 b(Binding)30 b(Keys)c Fm(:)16
+b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Fs(29)399 4335 y(2.4.4)93
+b(Asso)s(ciating)32 b(F)-8 b(unction)31 b(Names)g(and)e(Bindings)18
+b Fm(:)d(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47
+b Fs(30)399 4445 y(2.4.5)93 b(Allo)m(wing)32 b(Undoing)19
+b Fm(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)48 b Fs(31)399 4555 y(2.4.6)93
+b(Redispla)m(y)21 b Fm(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
+(:)f(:)51 b Fs(32)399 4664 y(2.4.7)93 b(Mo)s(difying)30
+b(T)-8 b(ext)28 b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)57 b
+Fs(33)399 4774 y(2.4.8)93 b(Character)31 b(Input)13 b
+Fm(:)h(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)43 b Fs(34)399 4883 y(2.4.9)93
+b(T)-8 b(erminal)30 b(Managemen)m(t)8 b Fm(:)18 b(:)e(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38 b
+Fs(34)399 4993 y(2.4.10)93 b(Utilit)m(y)33 b(F)-8 b(unctions)15
+b Fm(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)45 b Fs(35)399 5103 y(2.4.11)93
+b(Miscellaneous)33 b(F)-8 b(unctions)15 b Fm(:)g(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b Fs(36)399 5212
+y(2.4.12)93 b(Alternate)32 b(In)m(terface)17 b Fm(:)g(:)e(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)47
+b Fs(37)399 5322 y(2.4.13)93 b(A)31 b(Readline)g(Example)24
+b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)53 b Fs(37)p eop end
%%Page: -2 4
-TeXDict begin -2 3 bop 3699 -116 a Ft(ii)449 83 y(2.5)92
-b(Readline)31 b(Signal)g(Handling)23 b Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
-(.)g(.)g(.)g(.)g(.)g(.)g(.)52 b Ft(39)449 193 y(2.6)92
-b(Custom)30 b(Completers)25 b Fn(.)15 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b Ft(41)748 302
-y(2.6.1)93 b(Ho)m(w)31 b(Completing)g(W)-8 b(orks)19
-b Fn(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)49 b Ft(41)748 412 y(2.6.2)93
-b(Completion)30 b(F)-8 b(unctions)12 b Fn(.)17 b(.)e(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)42 b Ft(42)748 521 y(2.6.3)93 b(Completion)30
-b(V)-8 b(ariables)23 b Fn(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)52
-b Ft(43)748 631 y(2.6.4)93 b(A)30 b(Short)g(Completion)h(Example)9
-b Fn(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
-(.)f(.)g(.)38 b Ft(47)150 873 y Fr(App)t(endix)44 b(A)99
-b(GNU)46 b(F)-11 b(ree)44 b(Do)t(cumen)l(tation)j(License)456
-1006 y Fo(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
-h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
-(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)82 b Fr(56)150 1276 y(Concept)45
-b(Index)21 b Fo(.)e(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
-(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)65
-b Fr(63)150 1546 y(F)-11 b(unction)44 b(and)h(V)-11 b(ariable)45
-b(Index)17 b Fo(.)j(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
-(.)f(.)g(.)h(.)62 b Fr(64)p eop end
+TeXDict begin -2 3 bop 3699 -116 a Fs(ii)275 83 y(2.5)92
+b(Readline)31 b(Signal)f(Handling)10 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)39
+b Fs(39)275 193 y(2.6)92 b(Custom)29 b(Completers)18
+b Fm(:)e(:)g(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)48 b Fs(41)399 302
+y(2.6.1)93 b(Ho)m(w)31 b(Completing)g(W)-8 b(orks)24
+b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+53 b Fs(41)399 412 y(2.6.2)93 b(Completion)31 b(F)-8
+b(unctions)19 b Fm(:)d(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)49 b Fs(42)399 521 y(2.6.3)93 b(Completion)31
+b(V)-8 b(ariables)9 b Fm(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 b Fs(43)399 631 y(2.6.4)93
+b(A)30 b(Short)g(Completion)h(Example)c Fm(:)15 b(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)56 b Fs(47)150 873 y Fq(App)t(endix)44
+b(A)160 b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)446
+1006 y Fn(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)72
+b Fq(56)150 1276 y(Concept)45 b(Index)18 b Fn(:)i(:)f(:)g(:)h(:)f(:)h
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)63
+b Fq(64)150 1546 y(F)-11 b(unction)44 b(and)h(V)-11 b(ariable)45
+b(Index)29 b Fn(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)73 b Fq(65)p eop end
%%Page: 1 5
-TeXDict begin 1 4 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(1)150 299 y Fp(1)80
-b(Command)54 b(Line)f(Editing)275 511 y Ft(This)29 b(c)m(hapter)i
-(describ)s(es)f(the)g(basic)h(features)g(of)f(the)h Fm(gnu)f
-Ft(command)g(line)h(editing)g(in)m(terface.)150 755 y
-Fr(1.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)275
-995 y Ft(The)29 b(follo)m(wing)j(paragraphs)e(describ)s(e)g(the)g
-(notation)i(used)d(to)j(represen)m(t)e(k)m(eystrok)m(es.)275
-1125 y(The)i(text)j Fl(C-k)d Ft(is)i(read)f(as)h(`Con)m(trol-K')g(and)f
-(describ)s(es)g(the)g(c)m(haracter)i(pro)s(duced)d(when)g(the)3663
-1122 y Fk(h)p 3687 1069 38 4 v 3687 1125 a Fj(k)p 3687
-1140 V 3720 1122 a Fk(i)150 1235 y Ft(k)m(ey)f(is)g(pressed)e(while)h
-(the)h(Con)m(trol)g(k)m(ey)g(is)g(depressed.)275 1365
-y(The)g(text)i Fl(M-k)e Ft(is)h(read)f(as)i(`Meta-K')g(and)f(describ)s
-(es)f(the)h(c)m(haracter)h(pro)s(duced)e(when)f(the)i(Meta)150
-1474 y(k)m(ey)d(\(if)g(y)m(ou)g(ha)m(v)m(e)g(one\))g(is)g(depressed,)f
-(and)f(the)1859 1471 y Fk(h)p 1883 1418 V 1883 1474 a
-Fj(k)p 1883 1490 V 1916 1471 a Fk(i)1974 1474 y Ft(k)m(ey)j(is)e
-(pressed.)39 b(The)28 b(Meta)i(k)m(ey)f(is)g(lab)s(eled)3558
-1471 y Fk(h)p 3582 1418 143 4 v 3582 1474 a Fj(AL)-6
-b(T)p 3582 1490 V 3720 1471 a Fk(i)150 1584 y Ft(on)26
-b(man)m(y)g(k)m(eyb)s(oards.)39 b(On)26 b(k)m(eyb)s(oards)g(with)g(t)m
-(w)m(o)h(k)m(eys)g(lab)s(eled)2425 1581 y Fk(h)p 2450
-1528 V 2450 1584 a Fj(AL)-6 b(T)p 2450 1599 V 2587 1581
-a Fk(i)2643 1584 y Ft(\(usually)27 b(to)g(either)f(side)g(of)h(the)150
-1693 y(space)32 b(bar\),)g(the)775 1690 y Fk(h)p 799
-1637 V 799 1693 a Fj(AL)-6 b(T)p 799 1709 V 937 1690
-a Fk(i)998 1693 y Ft(on)32 b(the)f(left)h(side)g(is)f(generally)i(set)e
-(to)i(w)m(ork)e(as)h(a)f(Meta)i(k)m(ey)-8 b(.)45 b(The)3393
-1690 y Fk(h)p 3417 1637 V 3417 1693 a Fj(AL)-6 b(T)p
-3417 1709 V 3555 1690 a Fk(i)3616 1693 y Ft(k)m(ey)150
-1803 y(on)33 b(the)h(righ)m(t)g(ma)m(y)g(also)g(b)s(e)f(con\014gured)f
-(to)i(w)m(ork)g(as)g(a)f(Meta)i(k)m(ey)f(or)g(ma)m(y)g(b)s(e)e
-(con\014gured)h(as)h(some)150 1913 y(other)d(mo)s(di\014er,)e(suc)m(h)h
-(as)h(a)g(Comp)s(ose)f(k)m(ey)h(for)f(t)m(yping)h(accen)m(ted)h(c)m
-(haracters.)275 2043 y(If)21 b(y)m(ou)h(do)g(not)g(ha)m(v)m(e)h(a)f
-(Meta)h(or)1388 2040 y Fk(h)p 1412 1987 V 1412 2043 a
-Fj(AL)-6 b(T)p 1412 2058 V 1550 2040 a Fk(i)1601 2043
-y Ft(k)m(ey)e(,)25 b(or)d(another)g(k)m(ey)h(w)m(orking)f(as)g(a)g
-(Meta)h(k)m(ey)-8 b(,)25 b(the)d(iden)m(tical)150 2152
-y(k)m(eystrok)m(e)i(can)f(b)s(e)f(generated)i(b)m(y)e(t)m(yping)1619
-2149 y Fk(h)p 1643 2096 139 4 v 1643 2152 a Fj(ESC)p
-1643 2168 V 1777 2149 a Fk(i)1829 2152 y Fn(\014rst)p
-Ft(,)j(and)d(then)g(t)m(yping)2678 2149 y Fk(h)p 2703
-2096 38 4 v 2703 2152 a Fj(k)p 2703 2168 V 2736 2149
-a Fk(i)2765 2152 y Ft(.)38 b(Either)23 b(pro)s(cess)f(is)g(kno)m(wn)150
-2262 y(as)31 b Fi(metafying)39 b Ft(the)850 2259 y Fk(h)p
-874 2206 V 874 2262 a Fj(k)p 874 2277 V 907 2259 a Fk(i)968
-2262 y Ft(k)m(ey)-8 b(.)275 2392 y(The)39 b(text)j Fl(M-C-k)d
-Ft(is)h(read)g(as)h(`Meta-Con)m(trol-k')j(and)39 b(describ)s(es)h(the)g
-(c)m(haracter)i(pro)s(duced)d(b)m(y)150 2501 y Fi(metafying)g
-Fl(C-k)p Ft(.)275 2632 y(In)d(addition,)j(sev)m(eral)f(k)m(eys)f(ha)m
-(v)m(e)h(their)f(o)m(wn)g(names.)60 b(Sp)s(eci\014cally)-8
-b(,)2768 2629 y Fk(h)p 2792 2576 146 4 v 2792 2632 a
-Fj(DEL)p 2792 2647 V 2934 2629 a Fk(i)2964 2632 y Ft(,)3028
-2629 y Fk(h)p 3052 2576 139 4 v 3052 2632 a Fj(ESC)p
-3052 2647 V 3186 2629 a Fk(i)3216 2632 y Ft(,)3279 2629
-y Fk(h)p 3303 2576 144 4 v 3303 2632 a Fj(LFD)p 3303
-2647 V 3443 2629 a Fk(i)3473 2632 y Ft(,)3537 2629 y
-Fk(h)p 3561 2576 139 4 v 3561 2632 a Fj(SPC)p 3561 2647
-V 3695 2629 a Fk(i)3725 2632 y Ft(,)150 2738 y Fk(h)p
-174 2685 151 4 v 174 2741 a Fj(RET)p 174 2757 V 321 2738
-a Fk(i)351 2741 y Ft(,)47 b(and)612 2738 y Fk(h)p 637
-2685 148 4 v 637 2741 a Fj(T)-6 b(AB)p 637 2757 V 780
-2738 a Fk(i)853 2741 y Ft(all)45 b(stand)e(for)g(themselv)m(es)i(when)d
-(seen)i(in)f(this)g(text,)48 b(or)43 b(in)g(an)h(init)f(\014le)h(\(see)
-150 2851 y(Section)c(1.3)f([Readline)h(Init)e(File],)43
-b(page)c(4\).)67 b(If)38 b(y)m(our)h(k)m(eyb)s(oard)f(lac)m(ks)i(a)2888
-2848 y Fk(h)p 2912 2795 144 4 v 2912 2851 a Fj(LFD)p
-2912 2866 V 3052 2848 a Fk(i)3121 2851 y Ft(k)m(ey)-8
-b(,)42 b(t)m(yping)3604 2848 y Fk(h)p 3628 2795 97 4
-v 3628 2851 a Fj(C-j)p 3628 2866 V 3720 2848 a Fk(i)150
-2960 y Ft(will)30 b(pro)s(duce)e(the)i(desired)f(c)m(haracter.)42
-b(The)1748 2957 y Fk(h)p 1772 2904 151 4 v 1772 2960
-a Fj(RET)p 1772 2976 V 1919 2957 a Fk(i)1978 2960 y Ft(k)m(ey)30
-b(ma)m(y)g(b)s(e)f(lab)s(eled)2770 2957 y Fk(h)p 2794
-2904 217 4 v 2794 2960 a Fj(Return)p 2794 2976 V 3007
-2957 a Fk(i)3066 2960 y Ft(or)3176 2957 y Fk(h)p 3201
-2904 172 4 v 3201 2960 a Fj(En)n(ter)p 3201 2976 V 3368
-2957 a Fk(i)3427 2960 y Ft(on)h(some)150 3070 y(k)m(eyb)s(oards.)150
-3314 y Fr(1.2)68 b(Readline)47 b(In)l(teraction)275 3554
-y Ft(Often)24 b(during)g(an)h(in)m(teractiv)m(e)j(session)e(y)m(ou)f(t)
-m(yp)s(e)h(in)f(a)g(long)h(line)f(of)h(text,)h(only)f(to)f(notice)i
-(that)f(the)150 3663 y(\014rst)32 b(w)m(ord)g(on)g(the)g(line)h(is)g
+TeXDict begin 1 4 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(1)150 299 y Fo(1)80
+b(Command)54 b(Line)f(Editing)150 532 y Fs(This)30 b(c)m(hapter)h
+(describ)s(es)e(the)i(basic)g(features)f(of)h(the)f Fl(gnu)g
+Fs(command)h(line)f(editing)h(in)m(terface.)150 764 y
+Fq(1.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150
+923 y Fs(The)30 b(follo)m(wing)i(paragraphs)d(describ)s(e)h(the)h
+(notation)g(used)f(to)h(represen)m(t)f(k)m(eystrok)m(es.)275
+1058 y(The)35 b(text)i Fk(C-k)f Fs(is)g(read)g(as)h(`Con)m(trol-K')g
+(and)f(describ)s(es)f(the)h(c)m(haracter)i(pro)s(duced)d(when)g(the)h
+Fr(k)150 1167 y Fs(k)m(ey)31 b(is)g(pressed)e(while)h(the)h(Con)m(trol)
+g(k)m(ey)g(is)g(depressed.)275 1301 y(The)g(text)i Fk(M-k)e
+Fs(is)h(read)f(as)i(`Meta-K')g(and)f(describ)s(es)f(the)h(c)m(haracter)
+h(pro)s(duced)e(when)f(the)i(Meta)150 1411 y(k)m(ey)i(\(if)f(y)m(ou)h
+(ha)m(v)m(e)g(one\))g(is)f(depressed,)g(and)f(the)h Fr(k)g
+Fs(k)m(ey)h(is)f(pressed.)48 b(The)32 b(Meta)j(k)m(ey)e(is)h(lab)s
+(eled)f Fr(ALT)150 1521 y Fs(on)c(man)m(y)h(k)m(eyb)s(oards.)40
+b(On)29 b(k)m(eyb)s(oards)g(with)h(t)m(w)m(o)h(k)m(eys)f(lab)s(eled)g
+Fr(ALT)e Fs(\(usually)i(to)g(either)g(side)g(of)g(the)150
+1630 y(space)h(bar\),)f(the)g Fr(ALT)f Fs(on)h(the)g(left)h(side)f(is)g
+(generally)h(set)f(to)h(w)m(ork)f(as)g(a)h(Meta)g(k)m(ey)-8
+b(.)42 b(The)29 b Fr(ALT)g Fs(k)m(ey)i(on)150 1740 y(the)c(righ)m(t)h
+(ma)m(y)g(also)g(b)s(e)f(con\014gured)f(to)i(w)m(ork)f(as)h(a)f(Meta)i
+(k)m(ey)f(or)f(ma)m(y)h(b)s(e)e(con\014gured)h(as)g(some)h(other)150
+1849 y(mo)s(di\014er,)i(suc)m(h)g(as)g(a)h(Comp)s(ose)f(k)m(ey)h(for)f
+(t)m(yping)h(accen)m(ted)h(c)m(haracters.)275 1984 y(If)23
+b(y)m(ou)i(do)f(not)h(ha)m(v)m(e)h(a)f(Meta)g(or)g Fr(ALT)e
+Fs(k)m(ey)-8 b(,)27 b(or)e(another)f(k)m(ey)i(w)m(orking)e(as)h(a)g
+(Meta)h(k)m(ey)-8 b(,)27 b(the)d(iden)m(tical)150 2093
+y(k)m(eystrok)m(e)30 b(can)f(b)s(e)f(generated)h(b)m(y)g(t)m(yping)g
+Fr(ESC)e Fj(\014rst)p Fs(,)j(and)e(then)g(t)m(yping)h
+Fr(k)p Fs(.)40 b(Either)28 b(pro)s(cess)g(is)g(kno)m(wn)150
+2203 y(as)j Fi(metafying)39 b Fs(the)30 b Fr(k)g Fs(k)m(ey)-8
+b(.)275 2337 y(The)39 b(text)j Fk(M-C-k)d Fs(is)h(read)g(as)h
+(`Meta-Con)m(trol-k')j(and)39 b(describ)s(es)h(the)g(c)m(haracter)i
+(pro)s(duced)d(b)m(y)150 2447 y Fi(metafying)g Fk(C-k)p
+Fs(.)275 2581 y(In)c(addition,)j(sev)m(eral)f(k)m(eys)g(ha)m(v)m(e)g
+(their)f(o)m(wn)g(names.)58 b(Sp)s(eci\014cally)-8 b(,)38
+b Fr(DEL)p Fs(,)f Fr(ESC)p Fs(,)g Fr(LFD)p Fs(,)g Fr(SPC)p
+Fs(,)g Fr(RET)p Fs(,)150 2690 y(and)d Fr(TAB)f Fs(all)j(stand)e(for)g
+(themselv)m(es)i(when)d(seen)i(in)f(this)g(text,)j(or)d(in)h(an)f(init)
+h(\014le)f(\(see)i(Section)f(1.3)150 2800 y([Readline)c(Init)e(File],)j
+(page)e(4\).)41 b(If)29 b(y)m(our)h(k)m(eyb)s(oard)f(lac)m(ks)i(a)f
+Fr(LFD)f Fs(k)m(ey)-8 b(,)31 b(t)m(yping)g Fr(C-j)d Fs(will)i(pro)s
+(duce)f(the)150 2910 y(desired)h(c)m(haracter.)42 b(The)30
+b Fr(RET)g Fs(k)m(ey)h(ma)m(y)g(b)s(e)e(lab)s(eled)i
+Fr(Return)e Fs(or)h Fr(Enter)f Fs(on)h(some)h(k)m(eyb)s(oards.)150
+3142 y Fq(1.2)68 b(Readline)47 b(In)l(teraction)150 3301
+y Fs(Often)32 b(during)g(an)g(in)m(teractiv)m(e)j(session)e(y)m(ou)g(t)
+m(yp)s(e)g(in)f(a)h(long)g(line)g(of)f(text,)j(only)d(to)i(notice)g
+(that)f(the)150 3411 y(\014rst)f(w)m(ord)g(on)g(the)g(line)h(is)g
(missp)s(elled.)46 b(The)32 b(Readline)h(library)f(giv)m(es)h(y)m(ou)g
-(a)g(set)g(of)f(commands)g(for)150 3773 y(manipulating)e(the)g(text)h
+(a)g(set)g(of)f(commands)g(for)150 3520 y(manipulating)e(the)g(text)h
(as)f(y)m(ou)g(t)m(yp)s(e)g(it)g(in,)g(allo)m(wing)h(y)m(ou)f(to)h
(just)e(\014x)g(y)m(our)h(t)m(yp)s(o,)g(and)g(not)g(forcing)150
-3883 y(y)m(ou)e(to)h(ret)m(yp)s(e)g(the)f(ma)5 b(jorit)m(y)29
+3630 y(y)m(ou)e(to)h(ret)m(yp)s(e)g(the)f(ma)5 b(jorit)m(y)29
b(of)f(the)h(line.)40 b(Using)28 b(these)h(editing)g(commands,)f(y)m
-(ou)h(mo)m(v)m(e)g(the)g(cursor)150 3992 y(to)35 b(the)f(place)i(that)e
+(ou)h(mo)m(v)m(e)g(the)g(cursor)150 3739 y(to)35 b(the)f(place)i(that)e
(needs)g(correction,)j(and)d(delete)h(or)f(insert)h(the)f(text)h(of)g
-(the)f(corrections.)54 b(Then,)150 4102 y(when)30 b(y)m(ou)i(are)f
-(satis\014ed)g(with)g(the)g(line,)h(y)m(ou)g(simply)e(press)2320
-4099 y Fk(h)p 2344 4046 151 4 v 2344 4102 a Fj(RET)p
-2344 4117 V 2491 4099 a Fk(i)2520 4102 y Ft(.)43 b(Y)-8
-b(ou)32 b(do)f(not)g(ha)m(v)m(e)i(to)e(b)s(e)g(at)h(the)150
-4211 y(end)j(of)h(the)g(line)g(to)h(press)1126 4208 y
-Fk(h)p 1150 4155 V 1150 4211 a Fj(RET)p 1150 4227 V 1297
-4208 a Fk(i)1327 4211 y Ft(;)h(the)e(en)m(tire)h(line)f(is)g(accepted)h
-(regardless)f(of)g(the)g(lo)s(cation)i(of)e(the)150 4321
-y(cursor)30 b(within)g(the)g(line.)150 4532 y Fh(1.2.1)63
-b(Readline)40 b(Bare)h(Essen)m(tials)275 4772 y Ft(In)22
-b(order)g(to)i(en)m(ter)g(c)m(haracters)g(in)m(to)g(the)g(line,)h
-(simply)d(t)m(yp)s(e)i(them.)38 b(The)22 b(t)m(yp)s(ed)h(c)m(haracter)i
-(app)s(ears)150 4881 y(where)32 b(the)h(cursor)e(w)m(as,)j(and)e(then)g
-(the)h(cursor)e(mo)m(v)m(es)j(one)f(space)g(to)g(the)g(righ)m(t.)47
-b(If)32 b(y)m(ou)h(mist)m(yp)s(e)g(a)150 4991 y(c)m(haracter,)f(y)m(ou)
-f(can)g(use)f(y)m(our)g(erase)h(c)m(haracter)h(to)f(bac)m(k)g(up)f(and)
-f(delete)j(the)f(mist)m(yp)s(ed)e(c)m(haracter.)275 5121
+(the)f(corrections.)54 b(Then,)150 3849 y(when)24 b(y)m(ou)h(are)g
+(satis\014ed)g(with)g(the)g(line,)i(y)m(ou)e(simply)f(press)g
+Fr(RET)p Fs(.)39 b(Y)-8 b(ou)25 b(do)g(not)g(ha)m(v)m(e)h(to)g(b)s(e)e
+(at)h(the)h(end)150 3959 y(of)33 b(the)h(line)g(to)g(press)e
+Fr(RET)p Fs(;)i(the)g(en)m(tire)g(line)f(is)h(accepted)g(regardless)g
+(of)f(the)h(lo)s(cation)h(of)e(the)h(cursor)150 4068
+y(within)c(the)g(line.)150 4267 y Fh(1.2.1)63 b(Readline)40
+b(Bare)h(Essen)m(tials)150 4414 y Fs(In)31 b(order)h(to)h(en)m(ter)g(c)
+m(haracters)g(in)m(to)g(the)g(line,)g(simply)e(t)m(yp)s(e)i(them.)46
+b(The)31 b(t)m(yp)s(ed)h(c)m(haracter)i(app)s(ears)150
+4523 y(where)e(the)h(cursor)e(w)m(as,)j(and)e(then)g(the)h(cursor)e(mo)
+m(v)m(es)j(one)f(space)g(to)g(the)g(righ)m(t.)47 b(If)32
+b(y)m(ou)h(mist)m(yp)s(e)g(a)150 4633 y(c)m(haracter,)f(y)m(ou)f(can)g
+(use)f(y)m(our)g(erase)h(c)m(haracter)h(to)f(bac)m(k)g(up)f(and)f
+(delete)j(the)f(mist)m(yp)s(ed)e(c)m(haracter.)275 4767
y(Sometimes)i(y)m(ou)g(ma)m(y)h(mist)m(yp)s(e)e(a)i(c)m(haracter,)g
(and)e(not)i(notice)g(the)f(error)f(un)m(til)h(y)m(ou)g(ha)m(v)m(e)h(t)
-m(yp)s(ed)150 5230 y(sev)m(eral)e(other)f(c)m(haracters.)42
+m(yp)s(ed)150 4877 y(sev)m(eral)e(other)f(c)m(haracters.)42
b(In)28 b(that)i(case,)g(y)m(ou)f(can)g(t)m(yp)s(e)h
-Fl(C-b)d Ft(to)j(mo)m(v)m(e)g(the)f(cursor)g(to)g(the)g(left,)i(and)150
-5340 y(then)f(correct)i(y)m(our)e(mistak)m(e.)42 b(Afterw)m(ards,)31
+Fk(C-b)d Fs(to)j(mo)m(v)m(e)g(the)f(cursor)g(to)g(the)g(left,)i(and)150
+4987 y(then)f(correct)i(y)m(our)e(mistak)m(e.)42 b(Afterw)m(ards,)31
b(y)m(ou)f(can)h(mo)m(v)m(e)h(the)e(cursor)g(to)h(the)g(righ)m(t)g
-(with)f Fl(C-f)p Ft(.)p eop end
+(with)f Fk(C-f)p Fs(.)275 5121 y(When)i(y)m(ou)h(add)f(text)h(in)f(the)
+h(middle)f(of)h(a)g(line,)h(y)m(ou)e(will)h(notice)h(that)f(c)m
+(haracters)h(to)g(the)e(righ)m(t)150 5230 y(of)d(the)g(cursor)f(are)h
+(`pushed)e(o)m(v)m(er')j(to)g(mak)m(e)f(ro)s(om)g(for)f(the)h(text)h
+(that)f(y)m(ou)g(ha)m(v)m(e)h(inserted.)40 b(Lik)m(ewise,)150
+5340 y(when)d(y)m(ou)g(delete)i(text)g(b)s(ehind)c(the)j(cursor,)h(c)m
+(haracters)g(to)f(the)g(righ)m(t)g(of)g(the)g(cursor)e(are)i(`pulled)p
+eop end
%%Page: 2 6
-TeXDict begin 2 5 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(2)275 299 y(When)32
-b(y)m(ou)h(add)f(text)h(in)f(the)h(middle)f(of)h(a)g(line,)h(y)m(ou)e
-(will)h(notice)h(that)f(c)m(haracters)h(to)g(the)e(righ)m(t)150
-408 y(of)d(the)g(cursor)f(are)h(`pushed)e(o)m(v)m(er')j(to)g(mak)m(e)f
-(ro)s(om)g(for)f(the)h(text)h(that)f(y)m(ou)g(ha)m(v)m(e)h(inserted.)40
-b(Lik)m(ewise,)150 518 y(when)d(y)m(ou)g(delete)i(text)g(b)s(ehind)c
-(the)j(cursor,)h(c)m(haracters)g(to)f(the)g(righ)m(t)g(of)g(the)g
-(cursor)e(are)i(`pulled)150 628 y(bac)m(k')24 b(to)f(\014ll)g(in)f(the)
-h(blank)f(space)i(created)f(b)m(y)g(the)g(remo)m(v)-5
-b(al)24 b(of)f(the)g(text.)39 b(A)23 b(list)g(of)g(the)g(bare)f(essen)m
-(tials)150 737 y(for)30 b(editing)h(the)g(text)g(of)g(an)f(input)f
-(line)i(follo)m(ws.)150 892 y Fl(C-b)336 b Ft(Mo)m(v)m(e)32
-b(bac)m(k)g(one)e(c)m(haracter.)150 1048 y Fl(C-f)336
-b Ft(Mo)m(v)m(e)32 b(forw)m(ard)e(one)h(c)m(haracter.)150
-1200 y Fk(h)p 174 1147 146 4 v 174 1203 a Fj(DEL)p 174
-1218 V 316 1200 a Fk(i)376 1203 y Ft(or)487 1200 y Fk(h)p
-512 1147 317 4 v 512 1203 a Fj(Bac)n(kspace)p 512 1218
-V 824 1200 a Fk(i)630 1312 y Ft(Delete)i(the)d(c)m(haracter)i(to)f(the)
-g(left)g(of)f(the)h(cursor.)150 1467 y Fl(C-d)336 b Ft(Delete)33
-b(the)d(c)m(haracter)i(underneath)d(the)i(cursor.)150
-1622 y(Prin)m(ting)g(c)m(haracters)630 1732 y(Insert)f(the)g(c)m
-(haracter)i(in)m(to)g(the)e(line)h(at)g(the)g(cursor.)150
-1887 y Fl(C-_)e Ft(or)i Fl(C-x)e(C-u)630 1997 y Ft(Undo)k(the)h(last)g
-(editing)g(command.)50 b(Y)-8 b(ou)34 b(can)f(undo)g(all)h(the)f(w)m(a)
-m(y)i(bac)m(k)f(to)g(an)g(empt)m(y)630 2106 y(line.)150
-2262 y(\(Dep)s(ending)g(on)g(y)m(our)g(con\014guration,)h(the)1726
-2259 y Fk(h)p 1750 2205 V 1750 2262 a Fj(Bac)n(kspace)p
-1750 2277 V 2063 2259 a Fk(i)2127 2262 y Ft(k)m(ey)g(b)s(e)e(set)h(to)h
-(delete)g(the)f(c)m(haracter)i(to)f(the)150 2371 y(left)f(of)f(the)g
-(cursor)f(and)h(the)1192 2368 y Fk(h)p 1216 2315 146
-4 v 1216 2371 a Fj(DEL)p 1216 2386 V 1358 2368 a Fk(i)1421
-2371 y Ft(k)m(ey)g(set)h(to)g(delete)g(the)f(c)m(haracter)i(underneath)
-c(the)i(cursor,)h(lik)m(e)150 2481 y Fl(C-d)p Ft(,)c(rather)g(than)g
-(the)h(c)m(haracter)h(to)f(the)f(left)h(of)g(the)f(cursor.\))150
-2698 y Fh(1.2.2)63 b(Readline)40 b(Mo)m(v)m(emen)m(t)h(Commands)275
-2940 y Ft(The)25 b(ab)s(o)m(v)m(e)i(table)g(describ)s(es)f(the)g(most)h
-(basic)f(k)m(eystrok)m(es)i(that)f(y)m(ou)f(need)g(in)g(order)f(to)i
-(do)f(editing)150 3050 y(of)g(the)f(input)g(line.)39
-b(F)-8 b(or)27 b(y)m(our)e(con)m(v)m(enience,)k(man)m(y)c(other)h
-(commands)f(ha)m(v)m(e)i(b)s(een)e(added)g(in)g(addition)150
-3160 y(to)33 b Fl(C-b)p Ft(,)e Fl(C-f)p Ft(,)h Fl(C-d)p
-Ft(,)g(and)1043 3157 y Fk(h)p 1067 3104 V 1067 3160 a
-Fj(DEL)p 1067 3175 V 1209 3157 a Fk(i)1239 3160 y Ft(.)45
-b(Here)33 b(are)f(some)g(commands)g(for)g(mo)m(ving)h(more)f(rapidly)f
-(ab)s(out)h(the)150 3269 y(line.)150 3424 y Fl(C-a)336
-b Ft(Mo)m(v)m(e)32 b(to)g(the)e(start)h(of)g(the)f(line.)150
-3579 y Fl(C-e)336 b Ft(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h
-(line.)150 3735 y Fl(M-f)336 b Ft(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(w)m
-(ord,)f(where)g(a)h(w)m(ord)f(is)g(comp)s(osed)g(of)h(letters)h(and)d
-(digits.)150 3890 y Fl(M-b)336 b Ft(Mo)m(v)m(e)32 b(bac)m(kw)m(ard)f(a)
-g(w)m(ord.)150 4045 y Fl(C-l)336 b Ft(Clear)31 b(the)f(screen,)h
-(reprin)m(ting)f(the)h(curren)m(t)f(line)h(at)g(the)f(top.)275
-4200 y(Notice)c(ho)m(w)f Fl(C-f)e Ft(mo)m(v)m(es)j(forw)m(ard)e(a)h(c)m
-(haracter,)j(while)d Fl(M-f)e Ft(mo)m(v)m(es)j(forw)m(ard)e(a)h(w)m
-(ord.)39 b(It)24 b(is)h(a)g(lo)s(ose)150 4310 y(con)m(v)m(en)m(tion)32
+TeXDict begin 2 5 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(2)150 299 y(bac)m(k')24
+b(to)f(\014ll)g(in)f(the)h(blank)f(space)i(created)f(b)m(y)g(the)g
+(remo)m(v)-5 b(al)24 b(of)f(the)g(text.)39 b(A)23 b(list)g(of)g(the)g
+(bare)f(essen)m(tials)150 408 y(for)30 b(editing)h(the)g(text)g(of)g
+(an)f(input)f(line)i(follo)m(ws.)150 562 y Fk(C-b)336
+b Fs(Mo)m(v)m(e)32 b(bac)m(k)g(one)e(c)m(haracter.)150
+715 y Fk(C-f)336 b Fs(Mo)m(v)m(e)32 b(forw)m(ard)e(one)h(c)m(haracter.)
+150 869 y Fr(DEL)e Fs(or)i Fr(Backspace)630 978 y Fs(Delete)i(the)d(c)m
+(haracter)i(to)f(the)g(left)g(of)f(the)h(cursor.)150
+1132 y Fk(C-d)336 b Fs(Delete)33 b(the)d(c)m(haracter)i(underneath)d
+(the)i(cursor.)150 1285 y(Prin)m(ting)g(c)m(haracters)630
+1394 y(Insert)f(the)g(c)m(haracter)i(in)m(to)g(the)e(line)h(at)g(the)g
+(cursor.)150 1548 y Fk(C-_)e Fs(or)i Fk(C-x)e(C-u)630
+1657 y Fs(Undo)k(the)h(last)g(editing)g(command.)50 b(Y)-8
+b(ou)34 b(can)f(undo)g(all)h(the)f(w)m(a)m(y)i(bac)m(k)f(to)g(an)g
+(empt)m(y)630 1767 y(line.)150 1920 y(\(Dep)s(ending)29
+b(on)h(y)m(our)f(con\014guration,)i(the)e Fr(Backspace)e
+Fs(k)m(ey)k(b)s(e)d(set)j(to)f(delete)h(the)e(c)m(haracter)i(to)g(the)
+150 2030 y(left)37 b(of)f(the)h(cursor)e(and)h(the)g
+Fr(DEL)g Fs(k)m(ey)h(set)f(to)h(delete)h(the)e(c)m(haracter)i
+(underneath)d(the)h(cursor,)i(lik)m(e)150 2140 y Fk(C-d)p
+Fs(,)30 b(rather)g(than)g(the)h(c)m(haracter)h(to)f(the)f(left)h(of)g
+(the)f(cursor.\))150 2333 y Fh(1.2.2)63 b(Readline)40
+b(Mo)m(v)m(emen)m(t)h(Commands)150 2480 y Fs(The)27 b(ab)s(o)m(v)m(e)i
+(table)g(describ)s(es)e(the)g(most)i(basic)f(k)m(eystrok)m(es)h(that)f
+(y)m(ou)g(need)g(in)f(order)g(to)i(do)e(editing)i(of)150
+2589 y(the)k(input)f(line.)49 b(F)-8 b(or)34 b(y)m(our)f(con)m(v)m
+(enience,)j(man)m(y)d(other)g(commands)f(ha)m(v)m(e)j(b)s(een)d(added)g
+(in)h(addition)150 2699 y(to)j Fk(C-b)p Fs(,)f Fk(C-f)p
+Fs(,)g Fk(C-d)p Fs(,)h(and)e Fr(DEL)p Fs(.)54 b(Here)35
+b(are)g(some)h(commands)e(for)h(mo)m(ving)h(more)f(rapidly)f(ab)s(out)h
+(the)150 2808 y(line.)150 2962 y Fk(C-a)336 b Fs(Mo)m(v)m(e)32
+b(to)g(the)e(start)h(of)g(the)f(line.)150 3115 y Fk(C-e)336
+b Fs(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(line.)150
+3269 y Fk(M-f)336 b Fs(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(w)m(ord,)f
+(where)g(a)h(w)m(ord)f(is)g(comp)s(osed)g(of)h(letters)h(and)d(digits.)
+150 3422 y Fk(M-b)336 b Fs(Mo)m(v)m(e)32 b(bac)m(kw)m(ard)f(a)g(w)m
+(ord.)150 3575 y Fk(C-l)336 b Fs(Clear)31 b(the)f(screen,)h(reprin)m
+(ting)f(the)h(curren)m(t)f(line)h(at)g(the)f(top.)275
+3729 y(Notice)c(ho)m(w)f Fk(C-f)e Fs(mo)m(v)m(es)j(forw)m(ard)e(a)h(c)m
+(haracter,)j(while)d Fk(M-f)e Fs(mo)m(v)m(es)j(forw)m(ard)e(a)h(w)m
+(ord.)39 b(It)24 b(is)h(a)g(lo)s(ose)150 3838 y(con)m(v)m(en)m(tion)32
b(that)f(con)m(trol)g(k)m(eystrok)m(es)h(op)s(erate)e(on)g(c)m
(haracters)h(while)f(meta)h(k)m(eystrok)m(es)h(op)s(erate)e(on)150
-4419 y(w)m(ords.)150 4637 y Fh(1.2.3)63 b(Readline)40
-b(Killing)i(Commands)275 4879 y Fi(Killing)j Ft(text)39
-b(means)e(to)h(delete)g(the)g(text)g(from)f(the)g(line,)j(but)d(to)h
-(sa)m(v)m(e)h(it)e(a)m(w)m(a)m(y)j(for)d(later)h(use,)150
-4988 y(usually)c(b)m(y)g Fi(y)m(anking)42 b Ft(\(re-inserting\))35
-b(it)g(bac)m(k)g(in)m(to)g(the)f(line.)52 b(\(`Cut')35
-b(and)e(`paste')i(are)g(more)f(recen)m(t)150 5098 y(jargon)d(for)f
-(`kill')h(and)f(`y)m(ank'.\))275 5230 y(If)f(the)i(description)f(for)g
-(a)h(command)f(sa)m(ys)g(that)h(it)g(`kills')g(text,)h(then)e(y)m(ou)g
-(can)h(b)s(e)e(sure)h(that)h(y)m(ou)150 5340 y(can)g(get)g(the)g(text)g
-(bac)m(k)g(in)f(a)h(di\013eren)m(t)g(\(or)g(the)f(same\))h(place)h
-(later.)p eop end
-%%Page: 3 7
-TeXDict begin 3 6 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(3)275 299 y(When)23
+3948 y(w)m(ords.)150 4141 y Fh(1.2.3)63 b(Readline)40
+b(Killing)i(Commands)150 4288 y Fi(Killing)35 b Fs(text)28
+b(means)e(to)h(delete)h(the)f(text)g(from)g(the)f(line,)i(but)e(to)h
+(sa)m(v)m(e)h(it)g(a)m(w)m(a)m(y)g(for)e(later)i(use,)f(usually)150
+4398 y(b)m(y)g Fi(y)m(anking)35 b Fs(\(re-inserting\))28
+b(it)g(bac)m(k)f(in)m(to)h(the)f(line.)40 b(\(`Cut')27
+b(and)g(`paste')h(are)f(more)g(recen)m(t)h(jargon)f(for)150
+4507 y(`kill')32 b(and)d(`y)m(ank'.\))275 4639 y(If)g(the)i
+(description)f(for)g(a)h(command)f(sa)m(ys)g(that)h(it)g(`kills')g
+(text,)h(then)e(y)m(ou)g(can)h(b)s(e)e(sure)h(that)h(y)m(ou)150
+4748 y(can)g(get)g(the)g(text)g(bac)m(k)g(in)f(a)h(di\013eren)m(t)g
+(\(or)g(the)f(same\))h(place)h(later.)275 4880 y(When)23
b(y)m(ou)g(use)g(a)h(kill)g(command,)g(the)g(text)g(is)f(sa)m(v)m(ed)i
-(in)e(a)g Fi(kill-ring)p Ft(.)39 b(An)m(y)24 b(n)m(um)m(b)s(er)e(of)h
-(consecutiv)m(e)150 408 y(kills)31 b(sa)m(v)m(e)i(all)f(of)f(the)g
+(in)e(a)g Fi(kill-ring)p Fs(.)39 b(An)m(y)24 b(n)m(um)m(b)s(er)e(of)h
+(consecutiv)m(e)150 4989 y(kills)31 b(sa)m(v)m(e)i(all)f(of)f(the)g
(killed)h(text)g(together,)g(so)g(that)f(when)f(y)m(ou)h(y)m(ank)h(it)f
-(bac)m(k,)h(y)m(ou)g(get)g(it)f(all.)43 b(The)150 518
+(bac)m(k,)h(y)m(ou)g(get)g(it)f(all.)43 b(The)150 5099
y(kill)33 b(ring)f(is)g(not)h(line)g(sp)s(eci\014c;)g(the)g(text)g
(that)g(y)m(ou)g(killed)f(on)h(a)f(previously)g(t)m(yp)s(ed)h(line)f
-(is)h(a)m(v)-5 b(ailable)150 628 y(to)31 b(b)s(e)f(y)m(ank)m(ed)h(bac)m
-(k)g(later,)h(when)d(y)m(ou)i(are)g(t)m(yping)f(another)h(line.)275
-760 y(Here)f(is)h(the)f(list)h(of)g(commands)f(for)g(killing)h(text.)
-150 916 y Fl(C-k)336 b Ft(Kill)31 b(the)f(text)i(from)e(the)g(curren)m
-(t)g(cursor)g(p)s(osition)h(to)g(the)f(end)g(of)g(the)h(line.)150
-1072 y Fl(M-d)336 b Ft(Kill)27 b(from)f(the)g(cursor)g(to)h(the)f(end)g
-(of)h(the)f(curren)m(t)g(w)m(ord,)h(or,)h(if)e(b)s(et)m(w)m(een)h(w)m
-(ords,)g(to)g(the)630 1182 y(end)j(of)g(the)h(next)f(w)m(ord.)41
+(is)h(a)m(v)-5 b(ailable)150 5208 y(to)31 b(b)s(e)f(y)m(ank)m(ed)h(bac)
+m(k)g(later,)h(when)d(y)m(ou)i(are)g(t)m(yping)f(another)h(line.)275
+5340 y(Here)f(is)h(the)f(list)h(of)g(commands)f(for)g(killing)h(text.)p
+eop end
+%%Page: 3 7
+TeXDict begin 3 6 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(3)150 299 y Fk(C-k)336
+b Fs(Kill)31 b(the)f(text)i(from)e(the)g(curren)m(t)g(cursor)g(p)s
+(osition)h(to)g(the)f(end)g(of)g(the)h(line.)150 461
+y Fk(M-d)336 b Fs(Kill)27 b(from)f(the)g(cursor)g(to)h(the)f(end)g(of)h
+(the)f(curren)m(t)g(w)m(ord,)h(or,)h(if)e(b)s(et)m(w)m(een)h(w)m(ords,)
+g(to)g(the)630 570 y(end)j(of)g(the)h(next)f(w)m(ord.)41
b(W)-8 b(ord)30 b(b)s(oundaries)f(are)i(the)g(same)f(as)h(those)g(used)
-f(b)m(y)g Fl(M-f)p Ft(.)150 1337 y Fl(M-)246 1334 y Fk(h)p
-270 1281 146 4 v 270 1337 a Fj(DEL)p 270 1353 V 411 1334
-a Fk(i)630 1337 y Ft(Kill)h(from)f(the)h(cursor)f(the)g(start)h(of)g
-(the)g(curren)m(t)f(w)m(ord,)h(or,)f(if)h(b)s(et)m(w)m(een)g(w)m(ords,)
-f(to)i(the)630 1447 y(start)39 b(of)f(the)h(previous)f(w)m(ord.)64
-b(W)-8 b(ord)39 b(b)s(oundaries)e(are)i(the)f(same)h(as)g(those)f(used)
-g(b)m(y)630 1557 y Fl(M-b)p Ft(.)150 1712 y Fl(C-w)336
-b Ft(Kill)32 b(from)e(the)i(cursor)e(to)i(the)g(previous)e(whitespace.)
-44 b(This)31 b(is)g(di\013eren)m(t)h(than)f Fl(M-)3555
-1709 y Fk(h)p 3578 1656 V 3578 1712 a Fj(DEL)p 3578 1728
-V 3720 1709 a Fk(i)630 1822 y Ft(b)s(ecause)f(the)h(w)m(ord)f(b)s
-(oundaries)f(di\013er.)275 1978 y(Here)42 b(is)f(ho)m(w)h(to)g
-Fi(y)m(ank)47 b Ft(the)42 b(text)g(bac)m(k)h(in)m(to)f(the)g(line.)74
-b(Y)-8 b(anking)43 b(means)e(to)h(cop)m(y)h(the)e(most-)150
-2087 y(recen)m(tly-killed)33 b(text)e(from)f(the)g(kill)i(bu\013er.)150
-2243 y Fl(C-y)336 b Ft(Y)-8 b(ank)31 b(the)f(most)h(recen)m(tly)h
-(killed)f(text)g(bac)m(k)g(in)m(to)h(the)e(bu\013er)g(at)h(the)f
-(cursor.)150 2399 y Fl(M-y)336 b Ft(Rotate)36 b(the)f(kill-ring,)i(and)
-d(y)m(ank)h(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h
-(this)f(if)h(the)g(prior)630 2509 y(command)30 b(is)h
-Fl(C-y)e Ft(or)h Fl(M-y)p Ft(.)150 2727 y Fh(1.2.4)63
-b(Readline)40 b(Argumen)m(ts)275 2970 y Ft(Y)-8 b(ou)29
-b(can)h(pass)f(n)m(umeric)g(argumen)m(ts)g(to)h(Readline)g(commands.)40
-b(Sometimes)30 b(the)f(argumen)m(t)h(acts)150 3079 y(as)40
-b(a)h(rep)s(eat)f(coun)m(t,)j(other)e(times)f(it)h(is)f(the)g
-Fn(sign)47 b Ft(of)41 b(the)f(argumen)m(t)g(that)h(is)f(signi\014can)m
-(t.)71 b(If)40 b(y)m(ou)150 3189 y(pass)33 b(a)h(negativ)m(e)i(argumen)
+f(b)m(y)g Fk(M-f)p Fs(.)150 732 y Fk(M-DEL)240 b Fs(Kill)31
+b(from)f(the)h(cursor)f(the)g(start)h(of)g(the)g(curren)m(t)f(w)m(ord,)
+h(or,)f(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)i(the)630
+842 y(start)39 b(of)f(the)h(previous)f(w)m(ord.)64 b(W)-8
+b(ord)39 b(b)s(oundaries)e(are)i(the)f(same)h(as)g(those)f(used)g(b)m
+(y)630 951 y Fk(M-b)p Fs(.)150 1113 y Fk(C-w)336 b Fs(Kill)35
+b(from)g(the)g(cursor)f(to)i(the)f(previous)g(whitespace.)55
+b(This)34 b(is)h(di\013eren)m(t)h(than)e Fk(M-DEL)630
+1223 y Fs(b)s(ecause)c(the)h(w)m(ord)f(b)s(oundaries)f(di\013er.)275
+1386 y(Here)42 b(is)f(ho)m(w)h(to)g Fi(y)m(ank)47 b Fs(the)42
+b(text)g(bac)m(k)h(in)m(to)f(the)g(line.)74 b(Y)-8 b(anking)43
+b(means)e(to)h(cop)m(y)h(the)e(most-)150 1496 y(recen)m(tly-killed)33
+b(text)e(from)f(the)g(kill)i(bu\013er.)150 1659 y Fk(C-y)336
+b Fs(Y)-8 b(ank)31 b(the)f(most)h(recen)m(tly)h(killed)f(text)g(bac)m
+(k)g(in)m(to)h(the)e(bu\013er)g(at)h(the)f(cursor.)150
+1821 y Fk(M-y)336 b Fs(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h
+(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h
+(the)g(prior)630 1930 y(command)30 b(is)h Fk(C-y)e Fs(or)h
+Fk(M-y)p Fs(.)150 2132 y Fh(1.2.4)63 b(Readline)40 b(Argumen)m(ts)150
+2279 y Fs(Y)-8 b(ou)40 b(can)f(pass)g(n)m(umeric)f(argumen)m(ts)i(to)f
+(Readline)h(commands.)67 b(Sometimes)39 b(the)g(argumen)m(t)h(acts)150
+2389 y(as)g(a)h(rep)s(eat)f(coun)m(t,)j(other)e(times)f(it)h(is)f(the)g
+Fj(sign)47 b Fs(of)41 b(the)f(argumen)m(t)g(that)h(is)f(signi\014can)m
+(t.)71 b(If)40 b(y)m(ou)150 2498 y(pass)33 b(a)h(negativ)m(e)i(argumen)
m(t)e(to)g(a)g(command)f(whic)m(h)g(normally)h(acts)g(in)f(a)h(forw)m
-(ard)f(direction,)i(that)150 3298 y(command)g(will)h(act)g(in)f(a)h
+(ard)f(direction,)i(that)150 2608 y(command)g(will)h(act)g(in)f(a)h
(bac)m(kw)m(ard)f(direction.)57 b(F)-8 b(or)36 b(example,)h(to)f(kill)g
-(text)g(bac)m(k)g(to)g(the)g(start)g(of)150 3408 y(the)31
-b(line,)g(y)m(ou)f(migh)m(t)h(t)m(yp)s(e)g(`)p Fs(M--)f(C-k)p
-Ft('.)275 3541 y(The)d(general)i(w)m(a)m(y)h(to)e(pass)g(n)m(umeric)g
+(text)g(bac)m(k)g(to)g(the)g(start)g(of)150 2717 y(the)31
+b(line,)g(y)m(ou)f(migh)m(t)h(t)m(yp)s(e)g(`)p Fr(M--)f(C-k)p
+Fs('.)275 2854 y(The)d(general)i(w)m(a)m(y)h(to)e(pass)g(n)m(umeric)g
(argumen)m(ts)h(to)g(a)f(command)g(is)g(to)h(t)m(yp)s(e)f(meta)i
-(digits)e(b)s(efore)150 3650 y(the)j(command.)42 b(If)30
+(digits)e(b)s(efore)150 2964 y(the)j(command.)42 b(If)30
b(the)h(\014rst)f(`digit')i(t)m(yp)s(ed)f(is)g(a)g(min)m(us)f(sign)h
-(\(`)p Fs(-)p Ft('\),)h(then)f(the)g(sign)f(of)h(the)g(argumen)m(t)150
-3760 y(will)39 b(b)s(e)e(negativ)m(e.)66 b(Once)38 b(y)m(ou)h(ha)m(v)m
+(\(`)p Fr(-)p Fs('\),)h(then)f(the)g(sign)f(of)h(the)g(argumen)m(t)150
+3073 y(will)39 b(b)s(e)e(negativ)m(e.)66 b(Once)38 b(y)m(ou)h(ha)m(v)m
(e)g(t)m(yp)s(ed)f(one)h(meta)g(digit)g(to)f(get)i(the)e(argumen)m(t)h
-(started,)i(y)m(ou)150 3869 y(can)29 b(t)m(yp)s(e)g(the)g(remainder)f
+(started,)i(y)m(ou)150 3183 y(can)29 b(t)m(yp)s(e)g(the)g(remainder)f
(of)h(the)g(digits,)h(and)f(then)f(the)h(command.)40
-b(F)-8 b(or)30 b(example,)g(to)f(giv)m(e)i(the)e Fl(C-d)150
-3979 y Ft(command)37 b(an)g(argumen)m(t)h(of)g(10,)i(y)m(ou)e(could)f
-(t)m(yp)s(e)h(`)p Fs(M-1)29 b(0)h(C-d)p Ft(',)39 b(whic)m(h)e(will)h
-(delete)h(the)e(next)h(ten)150 4089 y(c)m(haracters)32
-b(on)e(the)h(input)e(line.)150 4307 y Fh(1.2.5)63 b(Searc)m(hing)40
-b(for)i(Commands)g(in)f(the)g(History)275 4550 y Ft(Readline)32
-b(pro)m(vides)h(commands)f(for)g(searc)m(hing)h(through)e(the)i
-(command)f(history)g(for)g(lines)g(con-)150 4659 y(taining)f(a)g(sp)s
-(eci\014ed)f(string.)40 b(There)30 b(are)h(t)m(w)m(o)h(searc)m(h)f(mo)s
-(des:)40 b Fi(incremen)m(tal)35 b Ft(and)30 b Fi(non-incremen)m(tal)p
-Ft(.)275 4792 y(Incremen)m(tal)c(searc)m(hes)h(b)s(egin)e(b)s(efore)g
-(the)h(user)f(has)h(\014nished)e(t)m(yping)i(the)g(searc)m(h)g(string.)
-39 b(As)26 b(eac)m(h)150 4902 y(c)m(haracter)37 b(of)e(the)h(searc)m(h)
-g(string)f(is)h(t)m(yp)s(ed,)g(Readline)g(displa)m(ys)g(the)f(next)h
-(en)m(try)g(from)e(the)i(history)150 5011 y(matc)m(hing)25
-b(the)f(string)g(t)m(yp)s(ed)g(so)g(far.)39 b(An)23 b(incremen)m(tal)j
-(searc)m(h)e(requires)g(only)g(as)g(man)m(y)g(c)m(haracters)i(as)150
-5121 y(needed)i(to)i(\014nd)d(the)i(desired)f(history)h(en)m(try)-8
-b(.)41 b(T)-8 b(o)29 b(searc)m(h)h(bac)m(kw)m(ard)f(in)f(the)h(history)
-g(for)f(a)i(particular)150 5230 y(string,)g(t)m(yp)s(e)f
-Fl(C-r)p Ft(.)40 b(T)m(yping)29 b Fl(C-s)g Ft(searc)m(hes)h(forw)m(ard)
-f(through)g(the)g(history)-8 b(.)41 b(The)29 b(c)m(haracters)i(presen)m
-(t)150 5340 y(in)38 b(the)g(v)-5 b(alue)38 b(of)g(the)g
-Fs(isearch-terminators)33 b Ft(v)-5 b(ariable)39 b(are)f(used)f(to)i
-(terminate)g(an)f(incremen)m(tal)p eop end
-%%Page: 4 8
-TeXDict begin 4 7 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(4)150 299 y(searc)m(h.)63
-b(If)38 b(that)g(v)-5 b(ariable)38 b(has)g(not)g(b)s(een)f(assigned)h
-(a)g(v)-5 b(alue,)40 b(the)2578 296 y Fk(h)p 2602 243
-139 4 v 2602 299 a Fj(ESC)p 2602 314 V 2736 296 a Fk(i)2804
-299 y Ft(and)d Fl(C-J)f Ft(c)m(haracters)k(will)150 408
-y(terminate)j(an)g(incremen)m(tal)g(searc)m(h.)78 b Fl(C-g)41
-b Ft(will)i(ab)s(ort)f(an)g(incremen)m(tal)i(searc)m(h)f(and)f(restore)
-h(the)150 518 y(original)30 b(line.)41 b(When)28 b(the)h(searc)m(h)h
-(is)f(terminated,)h(the)f(history)g(en)m(try)g(con)m(taining)h(the)f
-(searc)m(h)h(string)150 628 y(b)s(ecomes)h(the)f(curren)m(t)g(line.)275
-771 y(T)-8 b(o)31 b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e
-(the)h(history)g(list,)h(t)m(yp)s(e)g Fl(C-r)e Ft(or)h
-Fl(C-s)f Ft(as)h(appropriate.)43 b(This)150 880 y(will)26
-b(searc)m(h)h(bac)m(kw)m(ard)g(or)f(forw)m(ard)g(in)f(the)i(history)f
-(for)g(the)g(next)g(en)m(try)h(matc)m(hing)g(the)f(searc)m(h)h(string)
-150 990 y(t)m(yp)s(ed)37 b(so)h(far.)63 b(An)m(y)38 b(other)f(k)m(ey)i
+b(F)-8 b(or)30 b(example,)g(to)f(giv)m(e)i(the)e Fk(C-d)150
+3293 y Fs(command)37 b(an)g(argumen)m(t)h(of)g(10,)i(y)m(ou)e(could)f
+(t)m(yp)s(e)h(`)p Fr(M-1)29 b(0)h(C-d)p Fs(',)39 b(whic)m(h)e(will)h
+(delete)h(the)e(next)h(ten)150 3402 y(c)m(haracters)32
+b(on)e(the)h(input)e(line.)150 3604 y Fh(1.2.5)63 b(Searc)m(hing)40
+b(for)i(Commands)g(in)f(the)g(History)150 3751 y Fs(Readline)22
+b(pro)m(vides)f(commands)g(for)g(searc)m(hing)h(through)f(the)g
+(command)h(history)f(for)g(lines)g(con)m(taining)150
+3861 y(a)31 b(sp)s(eci\014ed)e(string.)41 b(There)30
+b(are)h(t)m(w)m(o)g(searc)m(h)g(mo)s(des:)41 b Fi(incremen)m(tal)35
+b Fs(and)30 b Fi(non-incremen)m(tal)p Fs(.)275 3998 y(Incremen)m(tal)c
+(searc)m(hes)h(b)s(egin)e(b)s(efore)g(the)h(user)f(has)h(\014nished)e
+(t)m(yping)i(the)g(searc)m(h)g(string.)39 b(As)26 b(eac)m(h)150
+4107 y(c)m(haracter)37 b(of)e(the)h(searc)m(h)g(string)f(is)h(t)m(yp)s
+(ed,)g(Readline)g(displa)m(ys)g(the)f(next)h(en)m(try)g(from)e(the)i
+(history)150 4217 y(matc)m(hing)25 b(the)f(string)g(t)m(yp)s(ed)g(so)g
+(far.)39 b(An)23 b(incremen)m(tal)j(searc)m(h)e(requires)g(only)g(as)g
+(man)m(y)g(c)m(haracters)i(as)150 4326 y(needed)i(to)i(\014nd)d(the)i
+(desired)f(history)h(en)m(try)-8 b(.)41 b(T)-8 b(o)29
+b(searc)m(h)h(bac)m(kw)m(ard)f(in)f(the)h(history)g(for)f(a)i
+(particular)150 4436 y(string,)g(t)m(yp)s(e)f Fk(C-r)p
+Fs(.)40 b(T)m(yping)29 b Fk(C-s)g Fs(searc)m(hes)h(forw)m(ard)f
+(through)g(the)g(history)-8 b(.)41 b(The)29 b(c)m(haracters)i(presen)m
+(t)150 4545 y(in)38 b(the)g(v)-5 b(alue)38 b(of)g(the)g
+Fr(isearch-terminators)33 b Fs(v)-5 b(ariable)39 b(are)f(used)f(to)i
+(terminate)g(an)f(incremen)m(tal)150 4655 y(searc)m(h.)71
+b(If)40 b(that)h(v)-5 b(ariable)41 b(has)f(not)h(b)s(een)e(assigned)i
+(a)f(v)-5 b(alue,)44 b(the)c Fr(ESC)g Fs(and)f Fk(C-J)h
+Fs(c)m(haracters)i(will)150 4765 y(terminate)h(an)g(incremen)m(tal)g
+(searc)m(h.)78 b Fk(C-g)41 b Fs(will)i(ab)s(ort)f(an)g(incremen)m(tal)i
+(searc)m(h)f(and)f(restore)h(the)150 4874 y(original)30
+b(line.)41 b(When)28 b(the)h(searc)m(h)h(is)f(terminated,)h(the)f
+(history)g(en)m(try)g(con)m(taining)h(the)f(searc)m(h)h(string)150
+4984 y(b)s(ecomes)h(the)f(curren)m(t)g(line.)275 5121
+y(T)-8 b(o)31 b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e(the)h
+(history)g(list,)h(t)m(yp)s(e)g Fk(C-r)e Fs(or)h Fk(C-s)f
+Fs(as)h(appropriate.)43 b(This)150 5230 y(will)26 b(searc)m(h)h(bac)m
+(kw)m(ard)g(or)f(forw)m(ard)g(in)f(the)i(history)f(for)g(the)g(next)g
+(en)m(try)h(matc)m(hing)g(the)f(searc)m(h)h(string)150
+5340 y(t)m(yp)s(ed)37 b(so)h(far.)63 b(An)m(y)38 b(other)f(k)m(ey)i
(sequence)f(b)s(ound)e(to)i(a)g(Readline)h(command)e(will)h(terminate)h
-(the)150 1100 y(searc)m(h)22 b(and)e(execute)j(that)e(command.)38
-b(F)-8 b(or)22 b(instance,)h(a)2127 1097 y Fk(h)p 2151
-1044 151 4 v 2151 1100 a Fj(RET)p 2151 1115 V 2298 1097
-a Fk(i)2349 1100 y Ft(will)e(terminate)h(the)f(searc)m(h)h(and)e
-(accept)150 1209 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e
-(command)g(from)g(the)h(history)f(list.)41 b(A)29 b(mo)m(v)m(emen)m(t)j
-(command)d(will)150 1319 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h
-(the)e(last)h(line)g(found)e(the)i(curren)m(t)f(line,)h(and)f(b)s(egin)
-g(editing.)275 1462 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h
-(incremen)m(tal)g(searc)m(h)f(string.)54 b(If)34 b(t)m(w)m(o)j
-Fl(C-r)p Ft(s)c(are)i(t)m(yp)s(ed)g(without)150 1571
-y(an)m(y)i(in)m(terv)m(ening)g(c)m(haracters)h(de\014ning)e(a)h(new)f
-(searc)m(h)h(string,)h(an)m(y)f(remem)m(b)s(ered)e(searc)m(h)i(string)g
-(is)150 1681 y(used.)275 1824 y(Non-incremen)m(tal)48
-b(searc)m(hes)g(read)e(the)h(en)m(tire)h(searc)m(h)f(string)g(b)s
-(efore)f(starting)h(to)h(searc)m(h)f(for)150 1934 y(matc)m(hing)d
-(history)e(lines.)78 b(The)42 b(searc)m(h)h(string)g(ma)m(y)g(b)s(e)f
-(t)m(yp)s(ed)g(b)m(y)g(the)h(user)f(or)h(b)s(e)f(part)g(of)h(the)150
-2043 y(con)m(ten)m(ts)32 b(of)f(the)f(curren)m(t)g(line.)150
-2322 y Fr(1.3)68 b(Readline)47 b(Init)e(File)275 2575
-y Ft(Although)g(the)g(Readline)h(library)e(comes)i(with)f(a)h(set)f(of)
-g(Emacs-lik)m(e)i(k)m(eybindings)e(installed)150 2685
-y(b)m(y)d(default,)i(it)f(is)e(p)s(ossible)g(to)i(use)e(a)h(di\013eren)
-m(t)g(set)g(of)g(k)m(eybindings.)74 b(An)m(y)42 b(user)f(can)h
-(customize)150 2794 y(programs)32 b(that)h(use)f(Readline)h(b)m(y)g
-(putting)f(commands)g(in)g(an)g Fi(inputrc)37 b Ft(\014le,)d(con)m(v)m
-(en)m(tionally)h(in)d(his)150 2904 y(home)h(directory)-8
-b(.)50 b(The)33 b(name)g(of)g(this)g(\014le)h(is)f(tak)m(en)h(from)f
-(the)g(v)-5 b(alue)34 b(of)f(the)g(en)m(vironmen)m(t)h(v)-5
-b(ariable)150 3014 y Fs(INPUTRC)p Ft(.)38 b(If)28 b(that)g(v)-5
-b(ariable)29 b(is)f(unset,)h(the)f(default)g(is)h(`)p
-Fs(~/.inputrc)p Ft('.)37 b(If)28 b(that)h(\014le)f(do)s(es)g(not)g
-(exist)h(or)150 3123 y(cannot)i(b)s(e)f(read,)g(the)h(ultimate)g
-(default)g(is)f(`)p Fs(/etc/inputrc)p Ft('.)275 3266
-y(When)f(a)h(program)f(whic)m(h)h(uses)f(the)h(Readline)g(library)f
-(starts)h(up,)f(the)h(init)g(\014le)f(is)h(read,)g(and)f(the)150
-3376 y(k)m(ey)i(bindings)e(are)i(set.)275 3519 y(In)26
-b(addition,)i(the)f Fs(C-x)i(C-r)d Ft(command)h(re-reads)g(this)f(init)
-h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m(hanges)150
-3629 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g(it.)150
-3870 y Fh(1.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)275
-4123 y Ft(There)33 b(are)h(only)g(a)g(few)f(basic)h(constructs)g(allo)m
-(w)m(ed)h(in)f(the)g(Readline)g(init)g(\014le.)51 b(Blank)34
-b(lines)g(are)150 4232 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
-(a)g(`)p Fs(#)p Ft(')g(are)h(commen)m(ts.)73 b(Lines)41
-b(b)s(eginning)f(with)g(a)i(`)p Fs($)p Ft(')f(indicate)150
-4342 y(conditional)29 b(constructs)f(\(see)g(Section)h(1.3.2)g
-([Conditional)g(Init)e(Constructs],)i(page)f(9\).)41
-b(Other)27 b(lines)150 4452 y(denote)k(v)-5 b(ariable)31
-b(settings)g(and)f(k)m(ey)h(bindings.)150 4624 y(V)-8
-b(ariable)32 b(Settings)630 4734 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
+(the)p eop end
+%%Page: 4 8
+TeXDict begin 4 7 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(4)150 299 y(searc)m(h)26
+b(and)f(execute)i(that)f(command.)39 b(F)-8 b(or)26 b(instance,)h(a)f
+Fr(RET)f Fs(will)g(terminate)i(the)f(searc)m(h)g(and)e(accept)150
+408 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e(command)g(from)g
+(the)h(history)f(list.)41 b(A)29 b(mo)m(v)m(emen)m(t)j(command)d(will)
+150 518 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h(the)e(last)h(line)g
+(found)e(the)i(curren)m(t)f(line,)h(and)f(b)s(egin)g(editing.)275
+647 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h(incremen)m(tal)g
+(searc)m(h)f(string.)54 b(If)34 b(t)m(w)m(o)j Fk(C-r)p
+Fs(s)c(are)i(t)m(yp)s(ed)g(without)150 757 y(an)m(y)i(in)m(terv)m
+(ening)g(c)m(haracters)h(de\014ning)e(a)h(new)f(searc)m(h)h(string,)h
+(an)m(y)f(remem)m(b)s(ered)e(searc)m(h)i(string)g(is)150
+866 y(used.)275 995 y(Non-incremen)m(tal)48 b(searc)m(hes)g(read)e(the)
+h(en)m(tire)h(searc)m(h)f(string)g(b)s(efore)f(starting)h(to)h(searc)m
+(h)f(for)150 1105 y(matc)m(hing)d(history)e(lines.)78
+b(The)42 b(searc)m(h)h(string)g(ma)m(y)g(b)s(e)f(t)m(yp)s(ed)g(b)m(y)g
+(the)h(user)f(or)h(b)s(e)f(part)g(of)h(the)150 1214 y(con)m(ten)m(ts)32
+b(of)f(the)f(curren)m(t)g(line.)150 1436 y Fq(1.3)68
+b(Readline)47 b(Init)e(File)150 1595 y Fs(Although)f(the)g(Readline)g
+(library)f(comes)i(with)e(a)h(set)h(of)f(Emacs-lik)m(e)h(k)m
+(eybindings)f(installed)g(b)m(y)150 1705 y(default,)26
+b(it)g(is)e(p)s(ossible)h(to)g(use)f(a)i(di\013eren)m(t)f(set)g(of)g(k)
+m(eybindings.)38 b(An)m(y)25 b(user)f(can)h(customize)h(programs)150
+1814 y(that)45 b(use)f(Readline)h(b)m(y)f(putting)g(commands)g(in)g(an)
+g Fi(inputrc)49 b Fs(\014le,)g(con)m(v)m(en)m(tionally)e(in)d(his)g
+(home)150 1924 y(directory)-8 b(.)39 b(The)23 b(name)h(of)f(this)h
+(\014le)f(is)g(tak)m(en)i(from)e(the)g(v)-5 b(alue)24
+b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)25 b
+Fr(INPUTRC)p Fs(.)150 2033 y(If)34 b(that)g(v)-5 b(ariable)35
+b(is)g(unset,)g(the)f(default)g(is)g(`)p Fr(~/.inputrc)p
+Fs('.)50 b(If)34 b(that)h(\014le)f(do)s(es)g(not)g(exist)h(or)f(cannot)
+150 2143 y(b)s(e)c(read,)g(the)h(ultimate)g(default)g(is)f(`)p
+Fr(/etc/inputrc)p Fs('.)275 2272 y(When)f(a)h(program)f(whic)m(h)h
+(uses)f(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g(\014le)f
+(is)h(read,)g(and)f(the)150 2381 y(k)m(ey)i(bindings)e(are)i(set.)275
+2510 y(In)26 b(addition,)i(the)f Fr(C-x)i(C-r)d Fs(command)h(re-reads)g
+(this)f(init)h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m
+(hanges)150 2620 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g
+(it.)150 2808 y Fh(1.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)150
+2955 y Fs(There)f(are)i(only)f(a)g(few)g(basic)g(constructs)h(allo)m(w)
+m(ed)h(in)d(the)h(Readline)h(init)f(\014le.)73 b(Blank)41
+b(lines)h(are)150 3065 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
+(a)g(`)p Fr(#)p Fs(')g(are)h(commen)m(ts.)73 b(Lines)41
+b(b)s(eginning)f(with)g(a)i(`)p Fr($)p Fs(')f(indicate)150
+3174 y(conditional)i(constructs)e(\(see)i(Section)f(1.3.2)h
+([Conditional)f(Init)f(Constructs],)j(page)f(10\).)74
+b(Other)150 3284 y(lines)31 b(denote)g(v)-5 b(ariable)31
+b(settings)g(and)f(k)m(ey)h(bindings.)150 3432 y(V)-8
+b(ariable)32 b(Settings)630 3542 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
(the)i(run-time)f(b)s(eha)m(vior)g(of)h(Readline)g(b)m(y)f(altering)h
-(the)g(v)-5 b(alues)41 b(of)630 4843 y(v)-5 b(ariables)34
-b(in)f(Readline)i(using)e(the)g Fs(set)g Ft(command)g(within)g(the)h
-(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 4953 y(is)d(simple:)870
-5092 y Fs(set)47 b Fl(variable)56 b(value)630 5230 y
-Ft(Here,)29 b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f
+(the)g(v)-5 b(alues)41 b(of)630 3651 y(v)-5 b(ariables)34
+b(in)f(Readline)i(using)e(the)g Fr(set)g Fs(command)g(within)g(the)h
+(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 3761 y(is)d(simple:)870
+3890 y Fr(set)47 b Fk(variable)56 b(value)630 4019 y
+Fs(Here,)29 b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f
(the)g(default)h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630
-5340 y(use)k Fs(vi)g Ft(line)h(editing)g(commands:)p
-eop end
-%%Page: 5 9
-TeXDict begin 5 8 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(5)870 299 y Fs(set)47
-b(editing-mode)d(vi)630 447 y Ft(V)-8 b(ariable)36 b(names)f(and)g(v)-5
-b(alues,)36 b(where)f(appropriate,)h(are)g(recognized)g(without)f
-(regard)630 557 y(to)c(case.)42 b(Unrecognized)31 b(v)-5
-b(ariable)31 b(names)g(are)f(ignored.)630 705 y(Bo)s(olean)c(v)-5
-b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g
-(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5
-b(alue)26 b(is)630 815 y(n)m(ull)e(or)g(empt)m(y)-8 b(,)27
-b Fi(on)d Ft(\(case-insensitiv)m(e\),)29 b(or)24 b(1.)39
-b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)-5
-b(ariable)630 924 y(b)s(eing)30 b(set)h(to)g(o\013.)630
-1072 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
+4128 y(use)k Fr(vi)g Fs(line)h(editing)g(commands:)870
+4257 y Fr(set)47 b(editing-mode)d(vi)630 4386 y Fs(V)-8
+b(ariable)36 b(names)f(and)g(v)-5 b(alues,)36 b(where)f(appropriate,)h
+(are)g(recognized)g(without)f(regard)630 4496 y(to)c(case.)42
+b(Unrecognized)31 b(v)-5 b(ariable)31 b(names)g(are)f(ignored.)630
+4624 y(Bo)s(olean)c(v)-5 b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f
+(set)i(to)g(on)f(or)g(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)
+g(v)-5 b(alue)26 b(is)630 4734 y(n)m(ull)e(or)g(empt)m(y)-8
+b(,)27 b Fi(on)d Fs(\(case-insensitiv)m(e\),)29 b(or)24
+b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
+-5 b(ariable)630 4844 y(b)s(eing)30 b(set)h(to)g(o\013.)630
+4973 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
(hangeable)j(with)d(the)g(follo)m(wing)i(v)-5 b(ariables.)630
-1259 y Fs(bell-style)1110 1369 y Ft(Con)m(trols)44 b(what)g(happ)s(ens)
+5121 y Fr(bell-style)1110 5230 y Fs(Con)m(trols)44 b(what)g(happ)s(ens)
e(when)h(Readline)i(w)m(an)m(ts)f(to)h(ring)e(the)h(termi-)1110
-1479 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
-Fs(none)p Ft(',)g(Readline)g(nev)m(er)g(rings)e(the)i(b)s(ell.)61
-b(If)36 b(set)i(to)1110 1588 y(`)p Fs(visible)p Ft(',)32
-b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g(one)g(is)g(a)m(v)-5
-b(ailable.)51 b(If)33 b(set)g(to)1110 1698 y(`)p Fs(audible)p
-Ft(')j(\(the)i(default\),)i(Readline)e(attempts)g(to)h(ring)e(the)g
-(terminal's)1110 1807 y(b)s(ell.)630 1994 y Fs(bind-tty-special-chars)
-1110 2104 y Ft(If)45 b(set)h(to)f(`)p Fs(on)p Ft(',)50
-b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m(trol)g(c)m
-(haracters)1110 2213 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
-(ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110
-2323 y(equiv)-5 b(alen)m(ts.)630 2510 y Fs(comment-begin)1110
-2620 y Ft(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
-g(the)h(line)f(when)f(the)i Fs(insert-)1110 2729 y(comment)e
-Ft(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5
-b(alue)31 b(is)f Fs("#")p Ft(.)630 2916 y Fs(completion-ignore-case)
-1110 3026 y Ft(If)d(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(p)s
+5340 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
+Fr(none)p Fs(',)g(Readline)g(nev)m(er)g(rings)e(the)i(b)s(ell.)61
+b(If)36 b(set)i(to)p eop end
+%%Page: 5 9
+TeXDict begin 5 8 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(5)1110 299 y(`)p
+Fr(visible)p Fs(',)32 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g
+(one)g(is)g(a)m(v)-5 b(ailable.)51 b(If)33 b(set)g(to)1110
+408 y(`)p Fr(audible)p Fs(')j(\(the)i(default\),)i(Readline)e(attempts)
+g(to)h(ring)e(the)g(terminal's)1110 518 y(b)s(ell.)630
+664 y Fr(bind-tty-special-chars)1110 774 y Fs(If)45 b(set)h(to)f(`)p
+Fr(on)p Fs(',)50 b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m
+(trol)g(c)m(haracters)1110 883 y(treated)36 b(sp)s(ecially)h(b)m(y)e
+(the)h(k)m(ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110
+993 y(equiv)-5 b(alen)m(ts.)630 1139 y Fr(comment-begin)1110
+1249 y Fs(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
+g(the)h(line)f(when)f(the)i Fr(insert-)1110 1358 y(comment)e
+Fs(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5
+b(alue)31 b(is)f Fr("#")p Fs(.)630 1504 y Fr(completion-ignore-case)
+1110 1614 y Fs(If)d(set)h(to)g(`)p Fr(on)p Fs(',)g(Readline)g(p)s
(erforms)e(\014lename)h(matc)m(hing)i(and)e(completion)1110
-3135 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
-b(default)h(v)-5 b(alue)30 b(is)h(`)p Fs(off)p Ft('.)630
-3322 y Fs(completion-prefix-displa)o(y-le)o(ngth)1110
-3432 y Ft(The)g(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h
-(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 3541
+1724 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
+b(default)h(v)-5 b(alue)30 b(is)h(`)p Fr(off)p Fs('.)630
+1870 y Fr(completion-prefix-displa)o(y-le)o(ngth)1110
+1979 y Fs(The)g(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h
+(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 2089
y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s
-(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 3651
+(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 2198
y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e
-(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 3761
+(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 2308
y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)
-f(completions.)630 3948 y Fs(completion-query-items)1110
-4057 y Ft(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h
-(that)g(determines)f(when)f(the)i(user)1110 4167 y(is)i(ask)m(ed)h
+f(completions.)630 2454 y Fr(completion-query-items)1110
+2564 y Fs(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h
+(that)g(determines)f(when)f(the)i(user)1110 2673 y(is)i(ask)m(ed)h
(whether)f(the)h(list)g(of)f(p)s(ossibilities)h(should)e(b)s(e)h
-(displa)m(y)m(ed.)41 b(If)29 b(the)1110 4276 y(n)m(um)m(b)s(er)d(of)h
+(displa)m(y)m(ed.)41 b(If)29 b(the)1110 2783 y(n)m(um)m(b)s(er)d(of)h
(p)s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5
-b(alue,)28 b(Readline)1110 4386 y(will)f(ask)g(the)f(user)g(whether)g
+b(alue,)28 b(Readline)1110 2892 y(will)f(ask)g(the)f(user)g(whether)g
(or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110
-4495 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5
+3002 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5
b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5
-b(alue)1110 4605 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(alue)1110 3112 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110
-4715 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
-Fs(100)p Ft(.)630 4902 y Fs(convert-meta)1110 5011 y
-Ft(If)22 b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m(v)m
+3221 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Fr(100)p Fs(.)630 3367 y Fr(convert-meta)1110 3477 y
+Fs(If)22 b(set)g(to)h(`)p Fr(on)p Fs(',)h(Readline)f(will)f(con)m(v)m
(ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
-5121 y(to)g(an)f Fm(asci)r(i)g Ft(k)m(ey)h(sequence)g(b)m(y)f
-(stripping)f(the)i(eigh)m(th)g(bit)f(and)g(pre\014xing)f(an)1110
-5227 y Fk(h)p 1134 5174 139 4 v 1134 5230 a Fj(ESC)p
-1134 5246 V 1268 5227 a Fk(i)1332 5230 y Ft(c)m(haracter,)36
-b(con)m(v)m(erting)g(them)e(to)g(a)h(meta-pre\014xed)f(k)m(ey)g
-(sequence.)1110 5340 y(The)c(default)g(v)-5 b(alue)31
-b(is)g(`)p Fs(on)p Ft('.)p eop end
+3587 y(to)33 b(an)e Fl(asci)r(i)h Fs(k)m(ey)h(sequence)f(b)m(y)g
+(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110
+3696 y(an)24 b Fr(ESC)g Fs(c)m(haracter,)j(con)m(v)m(erting)f(them)f
+(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 3806
+y(The)30 b(default)g(v)-5 b(alue)31 b(is)g(`)p Fr(on)p
+Fs('.)630 3952 y Fr(disable-completion)1110 4061 y Fs(If)36
+b(set)h(to)h(`)p Fr(On)p Fs(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h
+(completion.)60 b(Completion)1110 4171 y(c)m(haracters)28
+b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g(line)f(as)g(if)g(they)h
+(had)e(b)s(een)g(mapp)s(ed)1110 4281 y(to)31 b Fr(self-insert)p
+Fs(.)38 b(The)30 b(default)g(is)h(`)p Fr(off)p Fs('.)630
+4427 y Fr(editing-mode)1110 4536 y Fs(The)d Fr(editing-mode)e
+Fs(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k)
+m(ey)i(bind-)1110 4646 y(ings)25 b(is)g(used.)38 b(By)26
+b(default,)g(Readline)g(starts)f(up)f(in)h(Emacs)g(editing)h(mo)s(de,)
+1110 4756 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to)
+h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30 b(can)1110
+4865 y(b)s(e)g(set)h(to)g(either)g(`)p Fr(emacs)p Fs(')e(or)h(`)p
+Fr(vi)p Fs('.)630 5011 y Fr(echo-control-characters)1110
+5121 y Fs(When)g(set)h(to)g(`)p Fr(on)p Fs(',)f(on)g(op)s(erating)h
+(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 5230
+y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m(haracter)h(corresp)s(onding)d
+(to)j(a)f(signal)g(generated)1110 5340 y(from)e(the)g(k)m(eyb)s(oard.)
+41 b(The)30 b(default)g(is)h(`)p Fr(on)p Fs('.)p eop
+end
%%Page: 6 10
-TeXDict begin 6 9 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(6)630 299 y Fs(disable-completion)
-1110 408 y Ft(If)36 b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g
-(inhibit)f(w)m(ord)h(completion.)60 b(Completion)1110
-518 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
-(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-628 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 774 y Fs(editing-mode)1110 883 y Ft(The)d
-Fs(editing-mode)e Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e
-(default)h(set)h(of)e(k)m(ey)i(bind-)1110 993 y(ings)25
-b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h
-(Emacs)g(editing)h(mo)s(de,)1110 1103 y(where)j(the)g(k)m(eystrok)m(es)
-i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5
-b(ariable)30 b(can)1110 1212 y(b)s(e)g(set)h(to)g(either)g(`)p
-Fs(emacs)p Ft(')e(or)h(`)p Fs(vi)p Ft('.)630 1358 y Fs(enable-keypad)
-1110 1468 y Ft(When)23 b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f
-(will)g(try)f(to)h(enable)g(the)f(application)i(k)m(eypad)1110
-1577 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
-(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 1687 y(The)j(default)g
-(is)h(`)p Fs(off)p Ft('.)630 1833 y Fs(expand-tilde)1110
-1943 y Ft(If)c(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f
-(p)s(erformed)f(when)h(Readline)h(attempts)1110 2052
-y(w)m(ord)i(completion.)42 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 2198 y Fs(history-preserve-point)1110
-2308 y Ft(If)41 b(set)h(to)h(`)p Fs(on)p Ft(',)i(the)c(history)h(co)s
-(de)g(attempts)h(to)f(place)h(the)f(p)s(oin)m(t)f(\(the)1110
-2418 y(curren)m(t)35 b(cursor)g(p)s(osition\))g(at)h(the)g(same)f(lo)s
-(cation)i(on)e(eac)m(h)h(history)g(line)1110 2527 y(retriev)m(ed)h
-(with)f Fs(previous-history)c Ft(or)37 b Fs(next-history)p
-Ft(.)55 b(The)36 b(default)1110 2637 y(is)30 b(`)p Fs(off)p
-Ft('.)630 2783 y Fs(history-size)1110 2892 y Ft(Set)39
-b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g(en)m(tries)h(sa)m
-(v)m(ed)g(in)f(the)g(history)1110 3002 y(list.)53 b(If)34
-b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g(en)m(tries)h(in)f
-(the)h(history)f(list)h(is)g(not)1110 3112 y(limited.)630
-3258 y Fs(horizontal-scroll-mode)1110 3367 y Ft(This)g(v)-5
-b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p
-Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57 b(Setting)36
-b(it)g(to)h(`)p Fs(on)p Ft(')1110 3477 y(means)26 b(that)h(the)f(text)h
+TeXDict begin 6 9 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(6)630 299 y Fr(enable-keypad)1110
+408 y Fs(When)23 b(set)h(to)g(`)p Fr(on)p Fs(',)h(Readline)f(will)g
+(try)f(to)h(enable)g(the)f(application)i(k)m(eypad)1110
+518 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
+(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 628 y(The)j(default)g(is)
+h(`)p Fr(off)p Fs('.)630 778 y Fr(enable-meta-key)1110
+888 y Fs(When)40 b(set)g(to)g(`)p Fr(on)p Fs(',)j(Readline)d(will)g
+(try)g(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110
+998 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h(supp)s(ort)d(when)h(it)h
+(is)g(called.)76 b(On)41 b(man)m(y)1110 1107 y(terminals,)c(the)e(meta)
+h(k)m(ey)g(is)f(used)g(to)h(send)e(eigh)m(t-bit)j(c)m(haracters.)56
+b(The)1110 1217 y(default)31 b(is)f(`)p Fr(on)p Fs('.)630
+1367 y Fr(expand-tilde)1110 1477 y Fs(If)d(set)h(to)h(`)p
+Fr(on)p Fs(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h
+(Readline)h(attempts)1110 1587 y(w)m(ord)i(completion.)42
+b(The)30 b(default)g(is)h(`)p Fr(off)p Fs('.)630 1737
+y Fr(history-preserve-point)1110 1847 y Fs(If)41 b(set)h(to)h(`)p
+Fr(on)p Fs(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f
+(p)s(oin)m(t)f(\(the)1110 1956 y(curren)m(t)35 b(cursor)g(p)s
+(osition\))g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g
+(line)1110 2066 y(retriev)m(ed)h(with)f Fr(previous-history)c
+Fs(or)37 b Fr(next-history)p Fs(.)55 b(The)36 b(default)1110
+2176 y(is)30 b(`)p Fr(off)p Fs('.)630 2326 y Fr(history-size)1110
+2436 y Fs(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g
+(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 2545
+y(list.)53 b(If)34 b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g
+(en)m(tries)h(in)f(the)h(history)f(list)h(is)g(not)1110
+2655 y(limited.)630 2806 y Fr(horizontal-scroll-mode)1110
+2915 y Fs(This)g(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f
+(`)p Fr(on)p Fs(')g(or)g(`)p Fr(off)p Fs('.)57 b(Setting)36
+b(it)g(to)h(`)p Fr(on)p Fs(')1110 3025 y(means)26 b(that)h(the)f(text)h
(of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m
-(tally)1110 3587 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
-(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 3696
+(tally)1110 3134 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
+(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 3244
y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g
-(line.)39 b(By)27 b(default,)g(this)1110 3806 y(v)-5
-b(ariable)31 b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630
-3952 y Fs(input-meta)1110 4061 y Ft(If)f(set)g(to)h(`)p
-Fs(on)p Ft(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
-i(will)f(not)h(clear)1110 4171 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
+(line.)39 b(By)27 b(default,)g(this)1110 3354 y(v)-5
+b(ariable)31 b(is)g(set)f(to)i(`)p Fr(off)p Fs('.)630
+3504 y Fr(input-meta)1110 3614 y Fs(If)f(set)g(to)h(`)p
+Fr(on)p Fs(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
+i(will)f(not)h(clear)1110 3724 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
(c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110
-4281 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
-b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fs(off)p
-Ft('.)69 b(The)1110 4390 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m
-(ym)g(for)g(this)h(v)-5 b(ariable.)630 4536 y Fs(isearch-terminators)
-1110 4646 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
-(terminate)j(an)f(incremen)m(tal)1110 4755 y(searc)m(h)25
+3833 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
+b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fr(off)p
+Fs('.)69 b(The)1110 3943 y(name)30 b Fr(meta-flag)e Fs(is)j(a)f(synon)m
+(ym)g(for)g(this)h(v)-5 b(ariable.)630 4093 y Fr(isearch-terminators)
+1110 4203 y Fs(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
+(terminate)j(an)f(incremen)m(tal)1110 4313 y(searc)m(h)25
b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g
-(command)1110 4865 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j
+(command)1110 4422 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j
(page)d(3\).)84 b(If)44 b(this)g(v)-5 b(ariable)45 b(has)g(not)1110
-4975 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
-(haracters)2494 4972 y Fk(h)p 2518 4919 139 4 v 2518
-4975 a Fj(ESC)p 2518 4990 V 2652 4972 a Fk(i)2713 4975
-y Ft(and)f Fl(C-J)g Ft(will)h(terminate)g(an)1110 5084
-y(incremen)m(tal)g(searc)m(h.)630 5230 y Fs(keymap)192
-b Ft(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
-(for)g(k)m(ey)g(binding)f(com-)1110 5340 y(mands.)81
-b(Acceptable)47 b Fs(keymap)42 b Ft(names)i(are)h Fs(emacs)p
-Ft(,)i Fs(emacs-standard)p Ft(,)p eop end
+4532 y(b)s(een)35 b(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m
+(haracters)h Fr(ESC)d Fs(and)h Fk(C-J)g Fs(will)h(terminate)g(an)1110
+4641 y(incremen)m(tal)c(searc)m(h.)630 4792 y Fr(keymap)192
+b Fs(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
+(for)g(k)m(ey)g(binding)f(com-)1110 4902 y(mands.)81
+b(Acceptable)47 b Fr(keymap)42 b Fs(names)i(are)h Fr(emacs)p
+Fs(,)i Fr(emacs-standard)p Fs(,)1110 5011 y Fr(emacs-meta)p
+Fs(,)99 b Fr(emacs-ctlx)p Fs(,)f Fr(vi)p Fs(,)j Fr(vi-move)p
+Fs(,)f Fr(vi-command)p Fs(,)f(and)1110 5121 y Fr(vi-insert)p
+Fs(.)64 b Fr(vi)38 b Fs(is)h(equiv)-5 b(alen)m(t)41 b(to)e
+Fr(vi-command)p Fs(;)i Fr(emacs)c Fs(is)i(equiv)-5 b(alen)m(t)1110
+5230 y(to)33 b Fr(emacs-standard)p Fs(.)41 b(The)31 b(default)h(v)-5
+b(alue)32 b(is)g Fr(emacs)p Fs(.)44 b(The)31 b(v)-5 b(alue)33
+b(of)f(the)1110 5340 y Fr(editing-mode)27 b Fs(v)-5 b(ariable)31
+b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)p eop
+end
%%Page: 7 11
-TeXDict begin 7 10 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(7)1110 299 y Fs(emacs-meta)p
-Ft(,)99 b Fs(emacs-ctlx)p Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p
-Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 408 y Fs(vi-insert)p
-Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e
-Fs(vi-command)p Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110
-518 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
-b(alue)32 b(is)g Fs(emacs)p Ft(.)44 b(The)31 b(v)-5 b(alue)33
-b(of)f(the)1110 628 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
-b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 798
-y Fs(mark-directories)1110 908 y Ft(If)38 b(set)g(to)h(`)p
-Fs(on)p Ft(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)
-g(app)s(ended.)1110 1017 y(The)30 b(default)g(is)h(`)p
-Fs(on)p Ft('.)630 1188 y Fs(mark-modified-lines)1110
-1297 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
-Fs(on)p Ft(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110
-1407 y(terisk)f(\(`)p Fs(*)p Ft('\))h(at)f(the)g(start)g(of)g(history)g
-(lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110
-1517 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g
-(default.)630 1687 y Fs(mark-symlinked-directori)o(es)1110
-1797 y Ft(If)44 b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f
-(whic)m(h)f(are)h(sym)m(b)s(olic)g(links)g(to)g(di-)1110
-1906 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5
-b(ject)47 b(to)g(the)f(v)-5 b(alue)47 b(of)f Fs(mark-)1110
-2016 y(directories)p Ft(\).)38 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 2186 y Fs(match-hidden-files)1110
-2296 y Ft(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p
-Fs(on)p Ft(',)h(causes)f(Readline)g(to)g(matc)m(h)g(\014les)f(whose)
-1110 2405 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p
-Ft(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110
-2515 y(completion,)j(unless)41 b(the)g(leading)h(`)p
-Fs(.)p Ft(')g(is)g(supplied)e(b)m(y)h(the)h(user)f(in)g(the)1110
-2625 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
-b(v)-5 b(ariable)31 b(is)f(`)p Fs(on)p Ft(')h(b)m(y)f(default.)630
-2795 y Fs(output-meta)1110 2905 y Ft(If)35 b(set)h(to)g(`)p
-Fs(on)p Ft(',)h(Readline)f(will)g(displa)m(y)f(c)m(haracters)i(with)e
-(the)h(eigh)m(th)g(bit)1110 3014 y(set)h(directly)g(rather)f(than)g(as)
+TeXDict begin 7 10 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(7)630 299 y Fr(mark-directories)
+1110 408 y Fs(If)38 b(set)g(to)h(`)p Fr(on)p Fs(',)i(completed)e
+(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)g(app)s(ended.)1110
+518 y(The)30 b(default)g(is)h(`)p Fr(on)p Fs('.)630 676
+y Fr(mark-modified-lines)1110 786 y Fs(This)k(v)-5 b(ariable,)38
+b(when)d(set)h(to)h(`)p Fr(on)p Fs(',)g(causes)g(Readline)f(to)h
+(displa)m(y)f(an)f(as-)1110 896 y(terisk)f(\(`)p Fr(*)p
+Fs('\))h(at)f(the)g(start)g(of)g(history)g(lines)g(whic)m(h)f(ha)m(v)m
+(e)i(b)s(een)e(mo)s(di\014ed.)1110 1005 y(This)d(v)-5
+b(ariable)31 b(is)f(`)p Fr(off)p Fs(')g(b)m(y)g(default.)630
+1163 y Fr(mark-symlinked-directori)o(es)1110 1273 y Fs(If)44
+b(set)h(to)h(`)p Fr(on)p Fs(',)i(completed)e(names)f(whic)m(h)f(are)h
+(sym)m(b)s(olic)g(links)g(to)g(di-)1110 1383 y(rectories)j(ha)m(v)m(e)f
+(a)g(slash)f(app)s(ended)e(\(sub)5 b(ject)47 b(to)g(the)f(v)-5
+b(alue)47 b(of)f Fr(mark-)1110 1492 y(directories)p Fs(\).)38
+b(The)30 b(default)g(is)h(`)p Fr(off)p Fs('.)630 1650
+y Fr(match-hidden-files)1110 1760 y Fs(This)21 b(v)-5
+b(ariable,)25 b(when)d(set)g(to)h(`)p Fr(on)p Fs(',)h(causes)f
+(Readline)g(to)g(matc)m(h)g(\014les)f(whose)1110 1870
+y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fr(.)p Fs(')g(\(hidden)f
+(\014les\))i(when)e(p)s(erforming)g(\014lename)1110 1979
+y(completion,)j(unless)41 b(the)g(leading)h(`)p Fr(.)p
+Fs(')g(is)g(supplied)e(b)m(y)h(the)h(user)f(in)g(the)1110
+2089 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
+b(v)-5 b(ariable)31 b(is)f(`)p Fr(on)p Fs(')h(b)m(y)f(default.)630
+2247 y Fr(output-meta)1110 2357 y Fs(If)35 b(set)h(to)g(`)p
+Fr(on)p Fs(',)h(Readline)f(will)g(displa)m(y)f(c)m(haracters)i(with)e
+(the)h(eigh)m(th)g(bit)1110 2466 y(set)h(directly)g(rather)f(than)g(as)
h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 b(The)1110
-3124 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 3294
-y Fs(page-completions)1110 3404 y Ft(If)j(set)i(to)f(`)p
-Fs(on)p Ft(',)h(Readline)g(uses)e(an)h(in)m(ternal)h
-Fs(more)p Ft(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
-3513 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
-47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fs(on)p Ft(')1110
-3623 y(b)m(y)e(default.)630 3794 y Fs(print-completions-horizo)o(ntal)o
-(ly)1110 3903 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
+2576 y(default)31 b(is)f(`)p Fr(off)p Fs('.)630 2734
+y Fr(page-completions)1110 2844 y Fs(If)j(set)i(to)f(`)p
+Fr(on)p Fs(',)h(Readline)g(uses)e(an)h(in)m(ternal)h
+Fr(more)p Fs(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
+2953 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
+47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fr(on)p Fs(')1110
+3063 y(b)m(y)e(default.)630 3221 y Fr(print-completions-horizo)o(ntal)o
+(ly)1110 3331 y Fs(If)23 b(set)i(to)g(`)p Fr(on)p Fs(',)g(Readline)g
(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110
-4013 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
-(than)g(do)m(wn)g(the)h(screen.)1110 4122 y(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 4293 y Fs(revert-all-at-newline)1110
-4402 y Ft(If)e(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(will)g(undo)f
+3440 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
+(than)g(do)m(wn)g(the)h(screen.)1110 3550 y(The)30 b(default)g(is)h(`)p
+Fr(off)p Fs('.)630 3708 y Fr(revert-all-at-newline)1110
+3818 y Fs(If)e(set)h(to)g(`)p Fr(on)p Fs(',)g(Readline)g(will)g(undo)f
(all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110
-4512 y(returning)f(when)f Fs(accept-line)f Ft(is)j(executed.)41
-b(By)29 b(default,)g(history)g(lines)1110 4622 y(ma)m(y)42
+3927 y(returning)f(when)f Fr(accept-line)f Fs(is)j(executed.)41
+b(By)29 b(default,)g(history)g(lines)1110 4037 y(ma)m(y)42
b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h
-(across)g(calls)h(to)1110 4731 y Fs(readline)p Ft(.)38
-b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630 4902
-y Fs(show-all-if-ambiguous)1110 5011 y Ft(This)f(alters)i(the)f
+(across)g(calls)h(to)1110 4147 y Fr(readline)p Fs(.)38
+b(The)30 b(default)h(is)f(`)p Fr(off)p Fs('.)630 4305
+y Fr(show-all-if-ambiguous)1110 4415 y Fs(This)f(alters)i(the)f
(default)g(b)s(eha)m(vior)g(of)g(the)h(completion)g(functions.)40
-b(If)29 b(set)1110 5121 y(to)f(`)p Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h)
+b(If)29 b(set)1110 4524 y(to)f(`)p Fr(on)p Fs(',)g(w)m(ords)f(whic)m(h)
g(ha)m(v)m(e)i(more)f(than)f(one)h(p)s(ossible)f(completion)h(cause)
-1110 5230 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i
-(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 5340 y(The)30
-b(default)g(v)-5 b(alue)31 b(is)g(`)p Fs(off)p Ft('.)p
-eop end
+1110 4634 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i
+(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 4743 y(The)30
+b(default)g(v)-5 b(alue)31 b(is)g(`)p Fr(off)p Fs('.)630
+4902 y Fr(show-all-if-unmodified)1110 5011 y Fs(This)38
+b(alters)h(the)g(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h
+(functions)e(in)h(a)1110 5121 y(fashion)25 b(similar)g(to)h
+Fi(sho)m(w-all-if-am)m(biguous)t Fs(.)41 b(If)24 b(set)i(to)f(`)p
+Fr(on)p Fs(',)i(w)m(ords)d(whic)m(h)1110 5230 y(ha)m(v)m(e)32
+b(more)f(than)f(one)i(p)s(ossible)e(completion)i(without)f(an)m(y)g(p)s
+(ossible)f(par-)1110 5340 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
+f(completions)h(don't)f(share)g(a)h(common)p eop end
%%Page: 8 12
-TeXDict begin 8 11 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(8)630 299 y Fs
-(show-all-if-unmodified)1110 408 y Ft(This)38 b(alters)h(the)g(default)
-g(b)s(eha)m(vior)g(of)f(the)h(completion)h(functions)e(in)h(a)1110
-518 y(fashion)25 b(similar)h(to)g Fi(sho)m(w-all-if-am)m(biguous)p
-Ft(.)41 b(If)25 b(set)h(to)h(`)p Fs(on)p Ft(',)f(w)m(ords)f(whic)m(h)
-1110 628 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e
-(completion)i(without)f(an)m(y)g(p)s(ossible)f(par-)1110
-737 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h(don't)
-f(share)g(a)h(common)1110 847 y(pre\014x\))30 b(cause)g(the)h(matc)m
-(hes)g(to)g(b)s(e)f(listed)g(immediately)i(instead)e(of)h(ring-)1110
-956 y(ing)g(the)f(b)s(ell.)41 b(The)30 b(default)g(v)-5
-b(alue)31 b(is)f(`)p Fs(off)p Ft('.)630 1113 y Fs(visible-stats)1110
-1223 y Ft(If)h(set)i(to)f(`)p Fs(on)p Ft(',)h(a)f(c)m(haracter)i
-(denoting)e(a)g(\014le's)g(t)m(yp)s(e)g(is)g(app)s(ended)e(to)j(the)
-1110 1332 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
-b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)150 1489
-y(Key)f(Bindings)630 1598 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
-(k)m(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75
-b(First)43 b(y)m(ou)630 1708 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)
-h(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
-b(The)27 b(follo)m(wing)630 1817 y(sections)37 b(con)m(tain)g(tables)g
-(of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an)
-m(y)-8 b(,)630 1927 y(and)30 b(a)h(short)f(description)g(of)h(what)f
-(the)g(command)h(do)s(es.)630 2060 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
-(name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g
-(the)g(init)630 2170 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
-(ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)
-630 2279 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
+TeXDict begin 8 11 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(8)1110 299 y(pre\014x\))30
+b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g(immediately)i
+(instead)e(of)h(ring-)1110 408 y(ing)g(the)f(b)s(ell.)41
+b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fr(off)p
+Fs('.)630 562 y Fr(skip-completed-text)1110 671 y Fs(If)i(set)i(to)f(`)
+p Fr(on)p Fs(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s(eha)
+m(vior)f(when)f(in-)1110 781 y(serting)d(a)h(single)g(matc)m(h)f(in)m
+(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-)
+1110 891 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m(ord.)
+53 b(If)35 b(enabled,)g(readline)g(do)s(es)1110 1000
+y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h(that)f
+(matc)m(h)g(c)m(haracters)1110 1110 y(after)c(p)s(oin)m(t)g(in)g(the)g
+(w)m(ord)f(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m
+(ord)1110 1219 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)
+45 b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110
+1329 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
+(after)h(the)g(`)p Fr(e)p Fs(')f(in)1110 1439 y(`)p Fr(Makefile)p
+Fs(')c(will)i(result)f(in)g(`)p Fr(Makefile)p Fs(')f(rather)h(than)h(`)
+p Fr(Makefilefile)p Fs(',)1110 1548 y(assuming)d(there)g(is)h(a)f
+(single)h(p)s(ossible)f(completion.)56 b(The)35 b(default)g(v)-5
+b(alue)1110 1658 y(is)30 b(`)p Fr(off)p Fs('.)630 1811
+y Fr(visible-stats)1110 1921 y Fs(If)h(set)i(to)f(`)p
+Fr(on)p Fs(',)h(a)f(c)m(haracter)i(denoting)e(a)g(\014le's)g(t)m(yp)s
+(e)g(is)g(app)s(ended)e(to)j(the)1110 2030 y(\014lename)e(when)e
+(listing)i(p)s(ossible)f(completions.)42 b(The)30 b(default)g(is)h(`)p
+Fr(off)p Fs('.)150 2184 y(Key)f(Bindings)630 2293 y(The)41
+b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e(in)h(the)g
+(init)g(\014le)g(is)g(simple.)75 b(First)43 b(y)m(ou)630
+2403 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g(command)f(that)i
+(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41 b(The)27 b(follo)m(wing)630
+2513 y(sections)37 b(con)m(tain)g(tables)g(of)f(the)g(command)f(name,)j
+(the)e(default)g(k)m(eybinding,)h(if)f(an)m(y)-8 b(,)630
+2622 y(and)30 b(a)h(short)f(description)g(of)h(what)f(the)g(command)h
+(do)s(es.)630 2754 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g(name)g(of)g
+(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g(the)g(init)630
+2863 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)g(wish)f(to)h
+(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)630
+2973 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g
-(and)630 2389 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
+(and)630 3082 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
-b(The)40 b(name)h(of)630 2498 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
+b(The)40 b(name)h(of)630 3192 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
(expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h
-(what)h(y)m(ou)g(\014nd)e(most)630 2608 y(comfortable.)630
-2741 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
+(what)h(y)m(ou)g(\014nd)e(most)630 3302 y(comfortable.)630
+3433 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630
-2851 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
-(\(a)h Fi(macro)5 b Ft(\).)630 3007 y Fi(k)m(eyname)g
-Ft(:)42 b Fi(function-name)35 b Ft(or)c Fi(macro)1110
-3117 y(k)m(eyname)k Ft(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
+3543 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
+(\(a)h Fi(macro)5 b Fs(\).)630 3696 y Fi(k)m(eyname)g
+Fs(:)42 b Fi(function-name)35 b Fs(or)c Fi(macro)1110
+3806 y(k)m(eyname)k Fs(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
(elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350
-3250 y Fs(Control-u:)45 b(universal-argument)1350 3360
-y(Meta-Rubout:)f(backward-kill-word)1350 3469 y(Control-o:)h(">)i
-(output")1110 3602 y Ft(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h
-Fl(C-u)d Ft(is)h(b)s(ound)d(to)k(the)e(function)h Fs(universal-)1110
-3712 y(argument)p Ft(,)f Fl(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g
-(function)g Fs(backward-kill-word)p Ft(,)1110 3821 y(and)g
-Fl(C-o)g Ft(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f
-(the)i(righ)m(t)f(hand)1110 3931 y(side)30 b(\(that)i(is,)e(to)h
-(insert)g(the)f(text)i(`)p Fs(>)e(output)p Ft(')f(in)m(to)i(the)g
-(line\).)1110 4064 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m
+3937 y Fr(Control-u:)45 b(universal-argument)1350 4047
+y(Meta-Rubout:)f(backward-kill-word)1350 4156 y(Control-o:)h(">)i
+(output")1110 4288 y Fs(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h
+Fk(C-u)d Fs(is)h(b)s(ound)d(to)k(the)e(function)h Fr(universal-)1110
+4398 y(argument)p Fs(,)f Fk(M-DEL)e Fs(is)i(b)s(ound)e(to)i(the)g
+(function)g Fr(backward-kill-word)p Fs(,)1110 4507 y(and)g
+Fk(C-o)g Fs(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f
+(the)i(righ)m(t)f(hand)1110 4617 y(side)30 b(\(that)i(is,)e(to)h
+(insert)g(the)f(text)i(`)p Fr(>)e(output)p Fs(')f(in)m(to)i(the)g
+(line\).)1110 4748 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m
(haracter)i(names)e(are)g(recognized)h(while)f(pro-)1110
-4174 y(cessing)24 b(this)g(k)m(ey)g(binding)f(syn)m(tax:)37
-b Fi(DEL)p Ft(,)24 b Fi(ESC)p Ft(,)f Fi(ESCAPE)p Ft(,)g
-Fi(LFD)p Ft(,)h Fi(NEW-)1110 4283 y(LINE)p Ft(,)30 b
-Fi(RET)p Ft(,)g Fi(RETURN)p Ft(,)h Fi(R)m(UBOUT)p Ft(,)g
-Fi(SP)-8 b(A)m(CE)p Ft(,)30 b Fi(SPC)p Ft(,)g(and)f Fi(T)-8
-b(AB)p Ft(.)630 4440 y Fs(")p Fi(k)m(eyseq)r Fs(")p Ft(:)41
-b Fi(function-name)36 b Ft(or)30 b Fi(macro)1110 4549
-y(k)m(eyseq)k Ft(di\013ers)d(from)f Fi(k)m(eyname)37
-b Ft(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f(denoting)g(an)g(en-)1110
-4659 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
-(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 4769
-y(double)29 b(quotes.)41 b(Some)29 b Fm(gnu)h Ft(Emacs)f(st)m(yle)i(k)m
-(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 4878
-y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s(ecial)h(c)m
-(haracter)g(names)f(are)g(not)1110 4988 y(recognized.)1350
-5121 y Fs("\\C-u":)46 b(universal-argument)1350 5230
-y("\\C-x\\C-r":)f(re-read-init-file)1350 5340 y("\\e[11~":)g("Function)
-h(Key)g(1")p eop end
+4858 y(cessing)22 b(this)g(k)m(ey)g(binding)e(syn)m(tax:)37
+b Fi(DEL)p Fs(,)22 b Fi(ESC)8 b Fs(,)20 b Fi(ESCAPE)5
+b Fs(,)21 b Fi(LFD)5 b Fs(,)22 b Fi(NEW-)1110 4967 y(LINE)5
+b Fs(,)31 b Fi(RET)7 b Fs(,)29 b Fi(RETURN)10 b Fs(,)30
+b Fi(R)m(UBOUT)7 b Fs(,)31 b Fi(SP)-8 b(A)m(CE)5 b Fs(,)31
+b Fi(SPC)8 b Fs(,)29 b(and)h Fi(T)-8 b(AB)5 b Fs(.)630
+5121 y Fr(")p Fi(k)m(eyseq)r Fr(")p Fs(:)41 b Fi(function-name)36
+b Fs(or)30 b Fi(macro)1110 5230 y(k)m(eyseq)k Fs(di\013ers)d(from)f
+Fi(k)m(eyname)37 b Fs(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f
+(denoting)g(an)g(en-)1110 5340 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s
+(e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)p
+eop end
%%Page: 9 13
-TeXDict begin 9 12 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(9)1110 299 y(In)64
-b(the)g(ab)s(o)m(v)m(e)i(example,)74 b Fl(C-u)64 b Ft(is)g(again)i(b)s
-(ound)c(to)k(the)e(function)1110 408 y Fs(universal-argument)39
-b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g(the)f(\014rst)g(example\),)49
-b(`)p Fl(C-x)1110 518 y(C-r)p Ft(')41 b(is)g(b)s(ound)e(to)j(the)f
-(function)g Fs(re-read-init-file)p Ft(,)e(and)i(`)3462
-515 y Fk(h)p 3486 462 139 4 v 3486 518 a Fj(ESC)p 3486
-533 V 3620 515 a Fk(i)31 b(h)p 3705 462 20 4 v 3705 518
-a Fj([)p 3705 535 V 3720 515 a Fk(i)1110 625 y(h)p 1134
-572 36 4 v 1134 628 a Fj(1)p 1134 643 V 1165 625 a Fk(i)f(h)p
-1250 572 V 1250 628 a Fj(1)p 1250 643 V 1281 625 a Fk(i)g(h)p
-1365 572 48 4 v 1365 628 a Fs(~)p 1365 643 V 1409 625
-a Fk(i)1438 628 y Ft(')h(is)f(b)s(ound)f(to)i(insert)f(the)h(text)g(`)p
-Fs(Function)d(Key)i(1)p Ft('.)630 786 y(The)f(follo)m(wing)i
-Fm(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5
-b(ailable)32 b(when)d(sp)s(ecifying)630 896 y(k)m(ey)i(sequences:)630
-1055 y Fl(\\C-)336 b Ft(con)m(trol)32 b(pre\014x)630
-1213 y Fl(\\M-)336 b Ft(meta)31 b(pre\014x)630 1372 y
-Fl(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter)630
-1531 y Fl(\\\\)384 b Ft(bac)m(kslash)630 1689 y Fl(\\)p
-Fs(")1110 1686 y Fk(h)p 1134 1633 V 1134 1689 a Fs(")p
-1134 1705 V 1178 1686 a Fk(i)1208 1689 y Ft(,)30 b(a)h(double)f
-(quotation)h(mark)630 1848 y Fl(\\')1110 1845 y Fk(h)p
-1134 1792 20 4 v 1134 1848 a Fj(')p 1134 1864 V 1150
-1845 a Fk(i)1179 1848 y Ft(,)g(a)g(single)g(quote)g(or)f(ap)s(ostrophe)
-630 2007 y(In)d(addition)h(to)g(the)g Fm(gnu)f Ft(Emacs)h(st)m(yle)h
-(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g(bac)m(kslash)630
-2116 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 2275
-y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 2434 y Fs(\\b)384
-b Ft(bac)m(kspace)630 2593 y Fs(\\d)g Ft(delete)630 2751
-y Fs(\\f)g Ft(form)30 b(feed)630 2910 y Fs(\\n)384 b
-Ft(newline)630 3069 y Fs(\\r)g Ft(carriage)32 b(return)630
-3227 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)630 3386
-y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 3545 y Fs(\\)p
-Fl(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
+TeXDict begin 9 12 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(9)1110 299 y(double)29
+b(quotes.)41 b(Some)29 b Fl(gnu)h Fs(Emacs)f(st)m(yle)i(k)m(ey)f(escap)
+s(es)g(can)g(b)s(e)f(used,)g(as)1110 408 y(in)k(the)h(follo)m(wing)i
+(example,)f(but)e(the)h(sp)s(ecial)h(c)m(haracter)g(names)f(are)g(not)
+1110 518 y(recognized.)1350 652 y Fr("\\C-u":)46 b(universal-argument)
+1350 761 y("\\C-x\\C-r":)f(re-read-init-file)1350 871
+y("\\e[11~":)g("Function)h(Key)g(1")1110 1004 y Fs(In)64
+b(the)g(ab)s(o)m(v)m(e)i(example,)74 b Fk(C-u)64 b Fs(is)g(again)i(b)s
+(ound)c(to)k(the)e(function)1110 1114 y Fr(universal-argument)39
+b Fs(\(just)k(as)h(it)g(w)m(as)g(in)g(the)f(\014rst)g(example\),)49
+b(`)p Fk(C-x)1110 1223 y(C-r)p Fs(')30 b(is)g(b)s(ound)e(to)j(the)g
+(function)f Fr(re-read-init-file)p Fs(,)c(and)j(`)p Fr(ESC)h([)g(1)g(1)
+1110 1333 y(~)p Fs(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
+Fr(Function)e(Key)g(1)p Fs('.)630 1490 y(The)g(follo)m(wing)i
+Fl(gnu)f Fs(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5
+b(ailable)32 b(when)d(sp)s(ecifying)630 1600 y(k)m(ey)i(sequences:)630
+1757 y Fk(\\C-)336 b Fs(con)m(trol)32 b(pre\014x)630
+1915 y Fk(\\M-)336 b Fs(meta)31 b(pre\014x)630 2072 y
+Fk(\\e)384 b Fs(an)30 b(escap)s(e)h(c)m(haracter)630
+2229 y Fk(\\\\)384 b Fs(bac)m(kslash)630 2387 y Fk(\\)p
+Fr(")g(")p Fs(,)30 b(a)h(double)f(quotation)i(mark)630
+2544 y Fk(\\')384 b Fr(')p Fs(,)30 b(a)h(single)g(quote)g(or)f(ap)s
+(ostrophe)630 2701 y(In)d(addition)h(to)g(the)g Fl(gnu)f
+Fs(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g
+(bac)m(kslash)630 2811 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630
+2968 y Fr(\\a)384 b Fs(alert)31 b(\(b)s(ell\))630 3125
+y Fr(\\b)384 b Fs(bac)m(kspace)630 3283 y Fr(\\d)g Fs(delete)630
+3440 y Fr(\\f)g Fs(form)30 b(feed)630 3597 y Fr(\\n)384
+b Fs(newline)630 3755 y Fr(\\r)g Fs(carriage)32 b(return)630
+3912 y Fr(\\t)384 b Fs(horizon)m(tal)32 b(tab)630 4069
+y Fr(\\v)384 b Fs(v)m(ertical)32 b(tab)630 4227 y Fr(\\)p
+Fk(nnn)288 b Fs(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fi(nnn)e
-Ft(\(one)i(to)1110 3654 y(three)c(digits\))630 3813 y
-Fs(\\x)p Fl(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e
+Fs(\(one)i(to)1110 4336 y(three)c(digits\))630 4494 y
+Fr(\\x)p Fk(HH)288 b Fs(the)40 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e
(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 b(alue)40
-b Fi(HH)1110 3923 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
-4081 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
+b Fi(HH)1110 4603 y Fs(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
+4761 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630
-4191 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
+4870 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38
-b(In)630 4301 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
+b(In)630 4980 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j
-(are)e(expanded.)37 b(Bac)m(kslash)630 4410 y(will)j(quote)h(an)m(y)f
+(are)e(expanded.)37 b(Bac)m(kslash)630 5089 y(will)j(quote)h(an)m(y)f
(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
-b(`)p Fs(")p Ft(')h(and)g(`)p Fs(')p Ft('.)69 b(F)-8
-b(or)630 4520 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
-(mak)m(e)h(`)p Fl(C-x)j Fs(\\)p Ft(')c(insert)f(a)h(single)h(`)p
-Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 4654 y Fs("\\C-x\\\\":)45
-b("\\\\")150 4877 y Fh(1.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-275 5121 y Ft(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
-(in)g(spirit)g(to)h(the)g(conditional)h(compilation)g(features)150
-5230 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
-(bindings)e(and)h(v)-5 b(ariable)35 b(settings)h(to)f(b)s(e)f(p)s
-(erformed)f(as)150 5340 y(the)e(result)f(of)g(tests.)42
-b(There)30 b(are)h(four)e(parser)h(directiv)m(es)i(used.)p
-eop end
+b(`)p Fr(")p Fs(')h(and)g(`)p Fr(')p Fs('.)69 b(F)-8
+b(or)630 5199 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
+(mak)m(e)h(`)p Fk(C-x)j Fr(\\)p Fs(')c(insert)f(a)h(single)h(`)p
+Fr(\\)p Fs(')f(in)m(to)g(the)g(line:)870 5332 y Fr("\\C-x\\\\":)45
+b("\\\\")p eop end
%%Page: 10 14
-TeXDict begin 10 13 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(10)150 299 y Fs($if)336
-b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h(bindings)d(to)i(b)s
-(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g(the)630
-408 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g(application)h(using)f
-(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)630 518
+TeXDict begin 10 13 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(10)150 299 y Fh(1.3.2)63
+b(Conditional)41 b(Init)g(Constructs)150 446 y Fs(Readline)c(implemen)m
+(ts)g(a)h(facilit)m(y)g(similar)f(in)g(spirit)f(to)i(the)f(conditional)
+h(compilation)g(features)f(of)150 555 y(the)31 b(C)f(prepro)s(cessor)g
+(whic)m(h)g(allo)m(ws)i(k)m(ey)g(bindings)d(and)h(v)-5
+b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s(erformed)f(as)i(the)150
+665 y(result)f(of)h(tests.)41 b(There)30 b(are)h(four)f(parser)f
+(directiv)m(es)j(used.)150 824 y Fr($if)336 b Fs(The)31
+b Fr($if)f Fs(construct)i(allo)m(ws)h(bindings)d(to)i(b)s(e)e(made)i
+(based)f(on)g(the)g(editing)h(mo)s(de,)g(the)630 934
+y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g(application)h(using)f
+(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)630 1044
y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m(haracters)i
-(are)f(required)e(to)i(isolate)i(it.)630 677 y Fs(mode)288
-b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g Fs($if)f
-Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)1110
-787 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40
+(are)f(required)e(to)i(isolate)i(it.)630 1203 y Fr(mode)288
+b Fs(The)20 b Fr(mode=)g Fs(form)g(of)h(the)g Fr($if)f
+Fs(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)1110
+1313 y(is)29 b(in)h Fr(emacs)e Fs(or)h Fr(vi)g Fs(mo)s(de.)40
b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110
-897 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f
-(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 1006 y(standard)23
-b Ft(and)h Fs(emacs-ctlx)f Ft(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
-(starting)h(out)1110 1116 y(in)k Fs(emacs)f Ft(mo)s(de.)630
-1275 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e
+1422 y(`)p Fr(set)h(keymap)p Fs(')c(command,)i(for)f(instance,)i(to)f
+(set)g(bindings)f(in)g(the)h Fr(emacs-)1110 1532 y(standard)23
+b Fs(and)h Fr(emacs-ctlx)f Fs(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
+(starting)h(out)1110 1641 y(in)k Fr(emacs)f Fs(mo)s(de.)630
+1801 y Fr(term)288 b Fs(The)26 b Fr(term=)g Fs(form)g(ma)m(y)i(b)s(e)e
(used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110
-1385 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
-(output)g(b)m(y)g(the)g(terminal's)1110 1494 y(function)24
+1910 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
+(output)g(b)m(y)g(the)g(terminal's)1110 2020 y(function)24
b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g
-(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 1604
+(the)g(`)p Fr(=)p Fs(')g(is)g(tested)h(against)1110 2130
y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s
-(ortion)e(of)h(the)g(terminal)1110 1714 y(name)k(b)s(efore)f(the)g
-(\014rst)g(`)p Fs(-)p Ft('.)50 b(This)33 b(allo)m(ws)i
-Fs(sun)e Ft(to)h(matc)m(h)g(b)s(oth)f Fs(sun)g Ft(and)1110
-1823 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 1983 y
-Fs(application)1110 2092 y Ft(The)21 b Fi(application)j
-Ft(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h
-(set-)1110 2202 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
+(ortion)e(of)h(the)g(terminal)1110 2239 y(name)k(b)s(efore)f(the)g
+(\014rst)g(`)p Fr(-)p Fs('.)50 b(This)33 b(allo)m(ws)i
+Fr(sun)e Fs(to)h(matc)m(h)g(b)s(oth)f Fr(sun)g Fs(and)1110
+2349 y Fr(sun-cmd)p Fs(,)c(for)h(instance.)630 2508 y
+Fr(application)1110 2618 y Fs(The)21 b Fi(application)j
+Fs(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h
+(set-)1110 2727 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
(Readline)g(library)g(sets)g(the)g Fi(application)1110
-2311 y(name)p Ft(,)g(and)e(y)m(ou)g(can)h(test)g(for)f(a)g(particular)h
-(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g(used)f(to)1110
-2421 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h
-(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 2531
-y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)f
-(sequence)h(that)f(quotes)1110 2640 y(the)e(curren)m(t)f(or)g(previous)
-g(w)m(ord)g(in)g(Bash:)1350 2775 y Fs($if)47 b(Bash)1350
-2884 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)1350
-2994 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 3103 y($endif)150
-3263 y($endif)192 b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g
-(previous)g(example,)h(terminates)g(an)g Fs($if)e Ft(command.)150
-3422 y Fs($else)240 b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
-(the)f Fs($if)g Ft(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g
-(fails.)150 3582 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m
+2837 y(name)5 b Fs(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h
+(particular)h(v)-5 b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to)
+1110 2946 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g
+(for)h(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110
+3056 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)
+f(sequence)h(that)f(quotes)1110 3166 y(the)e(curren)m(t)f(or)g
+(previous)g(w)m(ord)g(in)g(Bash:)1350 3300 y Fr($if)47
+b(Bash)1350 3410 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)
+1350 3519 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 3629 y($endif)150
+3788 y($endif)192 b Fs(This)29 b(command,)i(as)f(seen)h(in)f(the)g
+(previous)g(example,)h(terminates)g(an)g Fr($if)e Fs(command.)150
+3948 y Fr($else)240 b Fs(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
+(the)f Fr($if)g Fs(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g
+(fails.)150 4107 y Fr($include)96 b Fs(This)43 b(directiv)m(e)i(tak)m
(es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g
-(commands)630 3691 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
+(commands)630 4217 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e
-(from)630 3801 y(`)p Fs(/etc/inputrc)p Ft(':)870 3935
-y Fs($include)46 b(/etc/inputrc)150 4159 y Fh(1.3.3)63
-b(Sample)41 b(Init)g(File)275 4403 y Ft(Here)31 b(is)f(an)g(example)i
-(of)e(an)g Fi(inputrc)35 b Ft(\014le.)42 b(This)29 b(illustrates)j(k)m
-(ey)f(binding,)f(v)-5 b(ariable)31 b(assignmen)m(t,)150
-4513 y(and)f(conditional)h(syn)m(tax.)p eop end
+(from)630 4326 y(`)p Fr(/etc/inputrc)p Fs(':)870 4461
+y Fr($include)46 b(/etc/inputrc)150 4660 y Fh(1.3.3)63
+b(Sample)41 b(Init)g(File)150 4807 y Fs(Here)27 b(is)f(an)h(example)g
+(of)f(an)h Fi(inputrc)k Fs(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)
+h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150
+4917 y(conditional)j(syn)m(tax.)p eop end
%%Page: 11 15
-TeXDict begin 11 14 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(11)390 408 y Fs(#)47
+TeXDict begin 11 14 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(11)390 408 y Fr(#)47
b(This)g(file)g(controls)e(the)i(behaviour)e(of)j(line)e(input)h
(editing)e(for)390 518 y(#)i(programs)f(that)h(use)g(the)f(GNU)h
(Readline)f(library.)93 b(Existing)390 628 y(#)47 b(programs)f(include)
@@ -5366,8 +4864,8 @@ h(function)f(name)g(is)h(ignored)p 3971 2401 42 76 v
390 5121 y(#)390 5230 y(#"\\M-\\C-[D":)331 b(backward-char)390
5340 y(#"\\M-\\C-[C":)g(forward-char)p eop end
%%Page: 12 16
-TeXDict begin 12 15 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(12)390 299 y Fs(#"\\M-\\C-[A":)331
+TeXDict begin 12 15 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(12)390 299 y Fr(#"\\M-\\C-[A":)331
b(previous-history)390 408 y(#"\\M-\\C-[B":)g(next-history)390
628 y(C-q:)47 b(quoted-insert)390 847 y($endif)390 1066
y(#)g(An)h(old-style)d(binding.)93 b(This)47 b(happens)f(to)h(be)g(the)
@@ -5401,707 +4899,700 @@ y($endif)390 3477 y(#)i(use)g(a)h(visible)e(bell)g(if)h(one)g(is)h
(he)g(wants)f(to)i(see)f(all)f(of)i(them)390 5230 y(set)f
(completion-query-items)42 b(150)p eop end
%%Page: 13 17
-TeXDict begin 13 16 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(13)390 299 y Fs(#)47
+TeXDict begin 13 16 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(13)390 299 y Fr(#)47
b(For)g(FTP)390 408 y($if)g(Ftp)390 518 y("\\C-xg":)f("get)g(\\M-?")390
628 y("\\C-xt":)g("put)g(\\M-?")390 737 y("\\M-.":)g(yank-last-arg)390
-847 y($endif)150 1098 y Fr(1.4)68 b(Bindable)45 b(Readline)i(Commands)
-275 1340 y Ft(This)30 b(section)j(describ)s(es)d(Readline)i(commands)f
-(that)h(ma)m(y)g(b)s(e)f(b)s(ound)e(to)j(k)m(ey)g(sequences.)44
-b(Com-)150 1449 y(mand)30 b(names)g(without)g(an)g(accompan)m(ying)i(k)
-m(ey)g(sequence)e(are)h(un)m(b)s(ound)d(b)m(y)i(default.)275
-1582 y(In)25 b(the)h(follo)m(wing)i(descriptions,)f Fi(p)s(oin)m(t)h
-Ft(refers)e(to)h(the)f(curren)m(t)g(cursor)g(p)s(osition,)h(and)f
-Fi(mark)31 b Ft(refers)150 1691 y(to)40 b(a)f(cursor)f(p)s(osition)h
-(sa)m(v)m(ed)h(b)m(y)f(the)g Fs(set-mark)d Ft(command.)66
+847 y($endif)150 1077 y Fq(1.4)68 b(Bindable)45 b(Readline)i(Commands)
+150 1237 y Fs(This)25 b(section)i(describ)s(es)d(Readline)j(commands)e
+(that)h(ma)m(y)g(b)s(e)f(b)s(ound)f(to)i(k)m(ey)h(sequences.)39
+b(Command)150 1346 y(names)30 b(without)h(an)f(accompan)m(ying)i(k)m
+(ey)f(sequence)g(are)g(un)m(b)s(ound)c(b)m(y)k(default.)275
+1480 y(In)25 b(the)h(follo)m(wing)i(descriptions,)f Fi(p)s(oin)m(t)h
+Fs(refers)e(to)h(the)f(curren)m(t)g(cursor)g(p)s(osition,)h(and)f
+Fi(mark)31 b Fs(refers)150 1590 y(to)40 b(a)f(cursor)f(p)s(osition)h
+(sa)m(v)m(ed)h(b)m(y)f(the)g Fr(set-mark)d Fs(command.)66
b(The)38 b(text)i(b)s(et)m(w)m(een)g(the)f(p)s(oin)m(t)g(and)150
-1801 y(mark)30 b(is)h(referred)e(to)i(as)g(the)f Fi(region)p
-Ft(.)150 2018 y Fh(1.4.1)63 b(Commands)42 b(F)-10 b(or)41
-b(Mo)m(ving)150 2260 y Fs(beginning-of-line)26 b(\(C-a\))630
-2370 y Ft(Mo)m(v)m(e)32 b(to)g(the)e(start)h(of)g(the)f(curren)m(t)g
-(line.)150 2525 y Fs(end-of-line)d(\(C-e\))630 2635 y
-Ft(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(line.)150
-2790 y Fs(forward-char)c(\(C-f\))630 2899 y Ft(Mo)m(v)m(e)32
-b(forw)m(ard)e(a)h(c)m(haracter.)150 3054 y Fs(backward-char)c(\(C-b\))
-630 3164 y Ft(Mo)m(v)m(e)32 b(bac)m(k)g(a)e(c)m(haracter.)150
-3319 y Fs(forward-word)d(\(M-f\))630 3429 y Ft(Mo)m(v)m(e)32
+1699 y(mark)30 b(is)h(referred)e(to)i(as)g(the)f Fi(region)p
+Fs(.)150 1897 y Fh(1.4.1)63 b(Commands)42 b(F)-10 b(or)41
+b(Mo)m(ving)150 2067 y Fr(beginning-of-line)26 b(\(C-a\))630
+2177 y Fs(Mo)m(v)m(e)32 b(to)g(the)e(start)h(of)g(the)f(curren)m(t)g
+(line.)150 2335 y Fr(end-of-line)d(\(C-e\))630 2444 y
+Fs(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(line.)150
+2602 y Fr(forward-char)c(\(C-f\))630 2711 y Fs(Mo)m(v)m(e)32
+b(forw)m(ard)e(a)h(c)m(haracter.)150 2869 y Fr(backward-char)c(\(C-b\))
+630 2978 y Fs(Mo)m(v)m(e)32 b(bac)m(k)g(a)e(c)m(haracter.)150
+3136 y Fr(forward-word)d(\(M-f\))630 3246 y Fs(Mo)m(v)m(e)32
b(forw)m(ard)e(to)h(the)f(end)g(of)g(the)h(next)f(w)m(ord.)41
b(W)-8 b(ords)30 b(are)h(comp)s(osed)f(of)g(letters)i(and)630
-3538 y(digits.)150 3693 y Fs(backward-word)27 b(\(M-b\))630
-3803 y Ft(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g(of)g(the)g
+3355 y(digits.)150 3513 y Fr(backward-word)27 b(\(M-b\))630
+3622 y Fs(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g(of)g(the)g
(curren)m(t)f(or)g(previous)g(w)m(ord.)50 b(W)-8 b(ords)34
-b(are)g(comp)s(osed)630 3913 y(of)d(letters)g(and)f(digits.)150
-4068 y Fs(clear-screen)d(\(C-l\))630 4177 y Ft(Clear)g(the)g(screen)f
+b(are)g(comp)s(osed)630 3732 y(of)d(letters)g(and)f(digits.)150
+3889 y Fr(clear-screen)d(\(C-l\))630 3999 y Fs(Clear)g(the)g(screen)f
(and)h(redra)m(w)f(the)h(curren)m(t)f(line,)i(lea)m(ving)g(the)f
-(curren)m(t)g(line)g(at)g(the)g(top)630 4287 y(of)k(the)f(screen.)150
-4442 y Fs(redraw-current-line)25 b(\(\))630 4552 y Ft(Refresh)30
+(curren)m(t)g(line)g(at)g(the)g(top)630 4109 y(of)k(the)f(screen.)150
+4266 y Fr(redraw-current-line)25 b(\(\))630 4376 y Fs(Refresh)30
b(the)g(curren)m(t)h(line.)41 b(By)30 b(default,)h(this)f(is)h(un)m(b)s
-(ound.)150 4769 y Fh(1.4.2)63 b(Commands)42 b(F)-10 b(or)41
-b(Manipulating)h(The)f(History)150 5011 y Fs(accept-line)27
-b(\(Newline)h(or)i(Return\))630 5121 y Ft(Accept)36 b(the)g(line)f
+(ound.)150 4573 y Fh(1.4.2)63 b(Commands)42 b(F)-10 b(or)41
+b(Manipulating)h(The)f(History)150 4744 y Fr(accept-line)27
+b(\(Newline)h(or)i(Return\))630 4854 y Fs(Accept)36 b(the)g(line)f
(regardless)h(of)f(where)g(the)g(cursor)g(is.)55 b(If)34
b(this)h(line)h(is)f(non-empt)m(y)-8 b(,)37 b(it)630
-5230 y(ma)m(y)32 b(b)s(e)g(added)f(to)h(the)g(history)g(list)h(for)e
-(future)g(recall)j(with)d Fs(add_history\(\))p Ft(.)42
-b(If)31 b(this)630 5340 y(line)g(is)f(a)h(mo)s(di\014ed)e(history)h
+4963 y(ma)m(y)32 b(b)s(e)g(added)f(to)h(the)g(history)g(list)h(for)e
+(future)g(recall)j(with)d Fr(add_history\(\))p Fs(.)42
+b(If)31 b(this)630 5073 y(line)g(is)f(a)h(mo)s(di\014ed)e(history)h
(line,)h(the)g(history)f(line)h(is)f(restored)h(to)g(its)g(original)g
-(state.)p eop end
+(state.)150 5230 y Fr(previous-history)26 b(\(C-p\))630
+5340 y Fs(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g(history)h(list,)g
+(fetc)m(hing)g(the)g(previous)f(command.)p eop end
%%Page: 14 18
-TeXDict begin 14 17 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(14)150 299 y Fs(previous-history)
-26 b(\(C-p\))630 408 y Ft(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g
-(history)h(list,)g(fetc)m(hing)g(the)g(previous)f(command.)150
-556 y Fs(next-history)d(\(C-n\))630 666 y Ft(Mo)m(v)m(e)32
-b(`forw)m(ard')f(through)e(the)i(history)f(list,)i(fetc)m(hing)f(the)g
-(next)f(command.)150 814 y Fs(beginning-of-history)25
-b(\(M-<\))630 923 y Ft(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h
-(the)f(history)-8 b(.)150 1071 y Fs(end-of-history)26
-b(\(M->\))630 1181 y Ft(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h
-(input)e(history)-8 b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s
-(eing)f(en)m(tered.)150 1329 y Fs(reverse-search-history)24
-b(\(C-r\))630 1438 y Ft(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
-(the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g
-(his-)630 1548 y(tory)g(as)f(necessary)-8 b(.)42 b(This)29
-b(is)i(an)f(incremen)m(tal)i(searc)m(h.)150 1696 y Fs
-(forward-search-history)24 b(\(C-s\))630 1805 y Ft(Searc)m(h)30
-b(forw)m(ard)f(starting)h(at)g(the)g(curren)m(t)f(line)h(and)f(mo)m
-(ving)h(`do)m(wn')f(through)g(the)h(the)630 1915 y(history)g(as)h
-(necessary)-8 b(.)41 b(This)30 b(is)g(an)h(incremen)m(tal)g(searc)m(h.)
-150 2063 y Fs(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-p\))630 2172 y Ft(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
+TeXDict begin 14 17 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(14)150 299 y Fr(next-history)27
+b(\(C-n\))630 408 y Fs(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i
+(history)f(list,)i(fetc)m(hing)f(the)g(next)f(command.)150
+582 y Fr(beginning-of-history)25 b(\(M-<\))630 692 y
+Fs(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h(the)f(history)-8
+b(.)150 865 y Fr(end-of-history)26 b(\(M->\))630 975
+y Fs(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(input)e(history)-8
+b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s(eing)f(en)m(tered.)150
+1148 y Fr(reverse-search-history)24 b(\(C-r\))630 1258
+y Fs(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g(the)f(curren)m(t)g
+(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g(his-)630
+1368 y(tory)g(as)f(necessary)-8 b(.)42 b(This)29 b(is)i(an)f(incremen)m
+(tal)i(searc)m(h.)150 1541 y Fr(forward-search-history)24
+b(\(C-s\))630 1651 y Fs(Searc)m(h)30 b(forw)m(ard)f(starting)h(at)g
+(the)g(curren)m(t)f(line)h(and)f(mo)m(ving)h(`do)m(wn')f(through)g(the)
+h(the)630 1760 y(history)g(as)h(necessary)-8 b(.)41 b(This)30
+b(is)g(an)h(incremen)m(tal)g(searc)m(h.)150 1934 y Fr
+(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
+b(\(M-p\))630 2043 y Fs(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
(the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g
-(his-)630 2282 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
+(his-)630 2153 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
(tal)g(searc)m(h)f(for)g(a)g(string)g(supplied)f(b)m(y)h(the)630
-2391 y(user.)150 2539 y Fs(non-incremental-forward-)o(sear)o(ch-h)o
-(ist)o(ory)24 b(\(M-n\))630 2649 y Ft(Searc)m(h)30 b(forw)m(ard)f
+2263 y(user.)150 2436 y Fr(non-incremental-forward-)o(sear)o(ch-h)o
+(ist)o(ory)24 b(\(M-n\))630 2546 y Fs(Searc)m(h)30 b(forw)m(ard)f
(starting)h(at)g(the)g(curren)m(t)f(line)h(and)f(mo)m(ving)h(`do)m(wn')
-f(through)g(the)h(the)630 2758 y(history)d(as)f(necessary)i(using)e(a)h
+f(through)g(the)h(the)630 2655 y(history)d(as)f(necessary)i(using)e(a)h
(non-incremen)m(tal)g(searc)m(h)h(for)e(a)h(string)g(supplied)e(b)m(y)i
-(the)630 2868 y(user.)150 3016 y Fs(history-search-forward)d(\(\))630
-3125 y Ft(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g
+(the)630 2765 y(user.)150 2939 y Fr(history-search-forward)d(\(\))630
+3048 y Fs(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g
(the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630
-3235 y(start)36 b(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m
+3158 y(start)36 b(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m
(t.)55 b(This)34 b(is)i(a)f(non-incremen)m(tal)h(searc)m(h.)56
-b(By)630 3345 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150
-3492 y Fs(history-search-backward)24 b(\(\))630 3602
-y Ft(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g
+b(By)630 3267 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150
+3441 y Fr(history-search-backward)24 b(\(\))630 3550
+y Fs(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g
(the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630
-3712 y(start)g(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m(t.)
+3660 y(start)g(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m(t.)
55 b(This)34 b(is)i(a)f(non-incremen)m(tal)h(searc)m(h.)56
-b(By)630 3821 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150
-3969 y Fs(yank-nth-arg)c(\(M-C-y\))630 4079 y Ft(Insert)37
+b(By)630 3770 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150
+3943 y Fr(yank-nth-arg)c(\(M-C-y\))630 4053 y Fs(Insert)37
b(the)g(\014rst)f(argumen)m(t)i(to)f(the)h(previous)e(command)h
-(\(usually)g(the)g(second)g(w)m(ord)630 4188 y(on)32
+(\(usually)g(the)g(second)g(w)m(ord)630 4162 y(on)32
b(the)g(previous)f(line\))i(at)f(p)s(oin)m(t.)46 b(With)32
-b(an)g(argumen)m(t)g Fi(n)p Ft(,)g(insert)g(the)g Fi(n)p
-Ft(th)f(w)m(ord)g(from)630 4298 y(the)k(previous)f(command)h(\(the)g(w)
+b(an)g(argumen)m(t)g Fi(n)p Fs(,)g(insert)g(the)g Fi(n)p
+Fs(th)f(w)m(ord)g(from)630 4272 y(the)k(previous)f(command)h(\(the)g(w)
m(ords)g(in)f(the)h(previous)g(command)f(b)s(egin)h(with)f(w)m(ord)630
-4407 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f
-Fi(n)p Ft(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f(previous)630
-4517 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fi(n)e
-Ft(is)h(computed,)h(the)f(argumen)m(t)g(is)g(extracted)i(as)e(if)630
-4627 y(the)e(`)p Fs(!)p Fl(n)11 b Ft(')29 b(history)i(expansion)f(had)g
-(b)s(een)f(sp)s(eci\014ed.)150 4774 y Fs(yank-last-arg)e(\(M-.)i(or)h
-(M-_\))630 4884 y Ft(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)
+4382 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f
+Fi(n)p Fs(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f(previous)630
+4491 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fi(n)e
+Fs(is)h(computed,)h(the)f(argumen)m(t)g(is)g(extracted)i(as)e(if)630
+4601 y(the)e(`)p Fr(!)p Fk(n)11 b Fs(')29 b(history)i(expansion)f(had)g
+(b)s(een)f(sp)s(eci\014ed.)150 4774 y Fr(yank-last-arg)e(\(M-.)i(or)h
+(M-_\))630 4884 y Fs(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)
f(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630
4994 y(history)c(en)m(try\).)41 b(With)31 b(an)g(argumen)m(t,)g(b)s
-(eha)m(v)m(e)g(exactly)i(lik)m(e)f Fs(yank-nth-arg)p
-Ft(.)38 b(Succes-)630 5103 y(siv)m(e)d(calls)h(to)f Fs(yank-last-arg)c
-Ft(mo)m(v)m(e)36 b(bac)m(k)g(through)d(the)i(history)g(list,)h
+(eha)m(v)m(e)g(exactly)i(lik)m(e)f Fr(yank-nth-arg)p
+Fs(.)38 b(Succes-)630 5103 y(siv)m(e)d(calls)h(to)f Fr(yank-last-arg)c
+Fs(mo)m(v)m(e)36 b(bac)m(k)g(through)d(the)i(history)g(list,)h
(inserting)f(the)630 5213 y(last)d(argumen)m(t)f(of)g(eac)m(h)h(line)f
(in)f(turn.)41 b(The)30 b(history)h(expansion)f(facilities)j(are)e
(used)f(to)630 5322 y(extract)i(the)e(last)i(argumen)m(t,)f(as)f(if)h
-(the)f(`)p Fs(!$)p Ft(')g(history)h(expansion)f(had)g(b)s(een)f(sp)s
+(the)f(`)p Fr(!$)p Fs(')g(history)h(expansion)f(had)g(b)s(een)f(sp)s
(eci\014ed.)p eop end
%%Page: 15 19
-TeXDict begin 15 18 bop 150 -116 a Ft(Chapter)30 b(1:)41
+TeXDict begin 15 18 bop 150 -116 a Fs(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2107 b(15)150 299 y Fh(1.4.3)63
b(Commands)42 b(F)-10 b(or)41 b(Changing)g(T)-10 b(ext)150
-547 y Fs(delete-char)27 b(\(C-d\))630 656 y Ft(Delete)41
+468 y Fr(delete-char)27 b(\(C-d\))630 578 y Fs(Delete)41
b(the)e(c)m(haracter)i(at)e(p)s(oin)m(t.)66 b(If)39 b(p)s(oin)m(t)f(is)
h(at)h(the)f(b)s(eginning)f(of)h(the)g(line,)j(there)630
-766 y(are)37 b(no)g(c)m(haracters)i(in)d(the)i(line,)h(and)d(the)h
+687 y(are)37 b(no)g(c)m(haracters)i(in)d(the)i(line,)h(and)d(the)h
(last)h(c)m(haracter)h(t)m(yp)s(ed)e(w)m(as)g(not)g(b)s(ound)e(to)630
-875 y Fs(delete-char)p Ft(,)28 b(then)i(return)f Fm(eof)p
-Ft(.)150 1042 y Fs(backward-delete-char)c(\(Rubout\))630
-1152 y Ft(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
+797 y Fr(delete-char)p Fs(,)28 b(then)i(return)f Fl(eof)p
+Fs(.)150 951 y Fr(backward-delete-char)c(\(Rubout\))630
+1060 y Fs(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630
-1261 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150
-1428 y Fs(forward-backward-delete-)o(char)24 b(\(\))630
-1538 y Ft(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h
+1170 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150
+1324 y Fr(forward-backward-delete-)o(char)24 b(\(\))630
+1434 y Fs(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h
(unless)d(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630
-1647 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s
+1543 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s
(ehind)d(the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630
-1757 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
-1924 y Fs(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 2033
-y Ft(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h
+1653 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
+1807 y Fr(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 1916
+y Fs(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h
(v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630
-2143 y(sequences)d(lik)m(e)g Fl(C-q)p Ft(,)f(for)g(example.)150
-2310 y Fs(tab-insert)e(\(M-)802 2307 y Fk(h)p 825 2254
-148 4 v 825 2310 a Fj(T)-6 b(AB)p 825 2325 V 969 2307
-a Fk(i)998 2310 y Fs(\))630 2419 y Ft(Insert)30 b(a)h(tab)f(c)m
-(haracter.)150 2586 y Fs(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o
-(\))630 2696 y Ft(Insert)g(y)m(ourself.)150 2862 y Fs(transpose-chars)c
-(\(C-t\))630 2972 y Ft(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g
+2026 y(sequences)d(lik)m(e)g Fk(C-q)p Fs(,)f(for)g(example.)150
+2180 y Fr(tab-insert)e(\(M-TAB\))630 2289 y Fs(Insert)i(a)h(tab)f(c)m
+(haracter.)150 2443 y Fr(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o
+(\))630 2553 y Fs(Insert)g(y)m(ourself.)150 2707 y Fr(transpose-chars)c
+(\(C-t\))630 2817 y Fs(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g
(cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g
-(cursor,)630 3081 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m
+(cursor,)630 2926 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m
(ell.)57 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end)
-g(of)h(the)630 3191 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h
+g(of)h(the)630 3036 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h
(last)h(t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38
-b(Negativ)m(e)25 b(argumen)m(ts)630 3301 y(ha)m(v)m(e)32
-b(no)e(e\013ect.)150 3467 y Fs(transpose-words)c(\(M-t\))630
-3577 y Ft(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g
+b(Negativ)m(e)25 b(argumen)m(ts)630 3145 y(ha)m(v)m(e)32
+b(no)e(e\013ect.)150 3299 y Fr(transpose-words)c(\(M-t\))630
+3409 y Fs(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g
(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past)
-g(that)630 3687 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27
+g(that)630 3519 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27
b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i(the)f
-(line,)i(this)e(transp)s(oses)g(the)630 3796 y(last)j(t)m(w)m(o)h(w)m
-(ords)e(on)g(the)h(line.)150 3963 y Fs(upcase-word)c(\(M-u\))630
-4073 y Ft(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i
+(line,)i(this)e(transp)s(oses)g(the)630 3628 y(last)j(t)m(w)m(o)h(w)m
+(ords)e(on)g(the)h(line.)150 3782 y Fr(upcase-word)c(\(M-u\))630
+3892 y Fs(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i
(w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630
-4182 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
-(the)e(cursor.)150 4349 y Fs(downcase-word)d(\(M-l\))630
-4458 y Ft(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
+4001 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
+(the)e(cursor.)150 4155 y Fr(downcase-word)d(\(M-l\))630
+4265 y Fs(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m(t,)g(lo)m(w)m
-(ercase)630 4568 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m
-(v)m(e)i(the)f(cursor.)150 4735 y Fs(capitalize-word)26
-b(\(M-c\))630 4844 y Ft(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
+(ercase)630 4374 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m
+(v)m(e)i(the)f(cursor.)150 4528 y Fr(capitalize-word)26
+b(\(M-c\))630 4638 y Fs(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
(wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h
-(capitalize)630 4954 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
-(mo)m(v)m(e)i(the)f(cursor.)150 5121 y Fs(overwrite-mode)26
-b(\(\))630 5230 y Ft(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
+(capitalize)630 4748 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
+(mo)m(v)m(e)i(the)f(cursor.)150 4902 y Fr(overwrite-mode)26
+b(\(\))630 5011 y Fs(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
b(With)33 b(an)g(explicit)h(p)s(ositiv)m(e)g(n)m(umeric)f(argumen)m(t,)
-h(switc)m(hes)630 5340 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
+h(switc)m(hes)630 5121 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
b(With)22 b(an)g(explicit)h(non-p)s(ositiv)m(e)f(n)m(umeric)g(argumen)m
-(t,)i(switc)m(hes)e(to)p eop end
+(t,)i(switc)m(hes)e(to)630 5230 y(insert)30 b(mo)s(de.)41
+b(This)30 b(command)h(a\013ects)h(only)e Fr(emacs)f Fs(mo)s(de;)i
+Fr(vi)f Fs(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 5340
+y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31 b(call)h(to)f
+Fr(readline\(\))c Fs(starts)k(in)f(insert)g(mo)s(de.)p
+eop end
%%Page: 16 20
-TeXDict begin 16 19 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(16)630 299 y(insert)30
-b(mo)s(de.)41 b(This)30 b(command)h(a\013ects)h(only)e
-Fs(emacs)f Ft(mo)s(de;)i Fs(vi)f Ft(mo)s(de)g(do)s(es)g(o)m(v)m
-(erwrite)630 408 y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31
-b(call)h(to)f Fs(readline\(\))c Ft(starts)k(in)f(insert)g(mo)s(de.)630
-539 y(In)e(o)m(v)m(erwrite)j(mo)s(de,)e(c)m(haracters)i(b)s(ound)c(to)j
-Fs(self-insert)c Ft(replace)k(the)g(text)g(at)g(p)s(oin)m(t)630
-648 y(rather)41 b(than)h(pushing)e(the)i(text)g(to)g(the)g(righ)m(t.)75
-b(Characters)42 b(b)s(ound)d(to)j Fs(backward-)630 758
-y(delete-char)27 b Ft(replace)32 b(the)e(c)m(haracter)i(b)s(efore)e(p)s
-(oin)m(t)h(with)f(a)g(space.)630 888 y(By)h(default,)f(this)h(command)f
-(is)g(un)m(b)s(ound.)150 1099 y Fh(1.4.4)63 b(Killing)42
-b(And)e(Y)-10 b(anking)150 1339 y Fs(kill-line)28 b(\(C-k\))630
-1449 y Ft(Kill)j(the)f(text)i(from)e(p)s(oin)m(t)g(to)h(the)g(end)e(of)
-i(the)f(line.)150 1599 y Fs(backward-kill-line)25 b(\(C-x)30
-b(Rubout\))630 1709 y Ft(Kill)h(bac)m(kw)m(ard)g(to)g(the)f(b)s
-(eginning)g(of)g(the)h(line.)150 1860 y Fs(unix-line-discard)26
-b(\(C-u\))630 1969 y Ft(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)
+TeXDict begin 16 19 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(16)630 299 y(In)28
+b(o)m(v)m(erwrite)j(mo)s(de,)e(c)m(haracters)i(b)s(ound)c(to)j
+Fr(self-insert)c Fs(replace)k(the)g(text)g(at)g(p)s(oin)m(t)630
+408 y(rather)41 b(than)h(pushing)e(the)i(text)g(to)g(the)g(righ)m(t.)75
+b(Characters)42 b(b)s(ound)d(to)j Fr(backward-)630 518
+y(delete-char)27 b Fs(replace)32 b(the)e(c)m(haracter)i(b)s(efore)e(p)s
+(oin)m(t)h(with)f(a)g(space.)630 651 y(By)h(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 846 y Fh(1.4.4)63 b(Killing)42
+b(And)e(Y)-10 b(anking)150 1016 y Fr(kill-line)28 b(\(C-k\))630
+1126 y Fs(Kill)j(the)f(text)i(from)e(p)s(oin)m(t)g(to)h(the)g(end)e(of)
+i(the)f(line.)150 1281 y Fr(backward-kill-line)25 b(\(C-x)30
+b(Rubout\))630 1391 y Fs(Kill)h(bac)m(kw)m(ard)g(to)g(the)f(b)s
+(eginning)g(of)g(the)h(line.)150 1546 y Fr(unix-line-discard)26
+b(\(C-u\))630 1656 y Fs(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)
f(to)h(the)f(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150
-2120 y Fs(kill-whole-line)c(\(\))630 2230 y Ft(Kill)37
+1812 y Fr(kill-whole-line)c(\(\))630 1921 y Fs(Kill)37
b(all)g(c)m(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g
(where)f(p)s(oin)m(t)h(is.)59 b(By)36 b(default,)630
-2339 y(this)30 b(is)h(un)m(b)s(ound.)150 2490 y Fs(kill-word)d(\(M-d\))
-630 2600 y Ft(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
+2031 y(this)30 b(is)h(un)m(b)s(ound.)150 2186 y Fr(kill-word)d(\(M-d\))
+630 2296 y Fs(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
(curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 2709 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
-b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fs(forward-word)p
-Ft(.)150 2860 y Fs(backward-kill-word)25 b(\(M-)1183
-2857 y Fk(h)p 1207 2804 146 4 v 1207 2860 a Fj(DEL)p
-1207 2875 V 1348 2857 a Fk(i)1378 2860 y Fs(\))630 2970
-y Ft(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
+(the)g(end)630 2405 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
+b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fr(forward-word)p
+Fs(.)150 2561 y Fr(backward-kill-word)25 b(\(M-DEL\))630
+2671 y Fs(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g
-Fs(backward-word)p Ft(.)150 3120 y Fs(unix-word-rubout)d(\(C-w\))630
-3230 y Ft(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f
+Fr(backward-word)p Fs(.)150 2826 y Fr(unix-word-rubout)d(\(C-w\))630
+2936 y Fs(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f
(white)h(space)g(as)g(a)g(w)m(ord)f(b)s(oundary)-8 b(.)43
-b(The)31 b(killed)630 3339 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f
-(kill-ring.)150 3490 y Fs(unix-filename-rubout)25 b(\(\))630
-3600 y Ft(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
+b(The)31 b(killed)630 3045 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f
+(kill-ring.)150 3201 y Fr(unix-filename-rubout)25 b(\(\))630
+3311 y Fs(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630
-3709 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g
-(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 3860 y Fs
-(delete-horizontal-space)24 b(\(\))630 3970 y Ft(Delete)33
+3420 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g
+(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 3576 y Fr
+(delete-horizontal-space)24 b(\(\))630 3685 y Fs(Delete)33
b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41
-b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 4121
-y Fs(kill-region)d(\(\))630 4230 y Ft(Kill)k(the)f(text)i(in)e(the)g
+b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 3841
+y Fr(kill-region)d(\(\))630 3951 y Fs(Kill)k(the)f(text)i(in)e(the)g
(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un)
-m(b)s(ound.)150 4381 y Fs(copy-region-as-kill)25 b(\(\))630
-4490 y Ft(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
+m(b)s(ound.)150 4106 y Fr(copy-region-as-kill)25 b(\(\))630
+4216 y Fs(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f
-(a)m(w)m(a)m(y)-8 b(.)630 4600 y(By)31 b(default,)f(this)h(command)f
-(is)g(un)m(b)s(ound.)150 4751 y Fs(copy-backward-word)25
-b(\(\))630 4860 y Ft(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(a)m(w)m(a)m(y)-8 b(.)630 4325 y(By)31 b(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 4481 y Fr(copy-backward-word)25
+b(\(\))630 4590 y Fs(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)
-f(are)i(the)630 4970 y(same)31 b(as)f Fs(backward-word)p
-Ft(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
-5121 y Fs(copy-forward-word)26 b(\(\))630 5230 y Ft(Cop)m(y)31
+f(are)i(the)630 4700 y(same)31 b(as)f Fr(backward-word)p
+Fs(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
+4856 y Fr(copy-forward-word)26 b(\(\))630 4965 y Fs(Cop)m(y)31
b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h
(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630
-5340 y(same)f(as)f Fs(forward-word)p Ft(.)38 b(By)30
-b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)p eop
-end
+5075 y(same)f(as)f Fr(forward-word)p Fs(.)38 b(By)30
+b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150
+5230 y Fr(yank)f(\(C-y\))630 5340 y Fs(Y)-8 b(ank)31
+b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h
+(p)s(oin)m(t.)p eop end
%%Page: 17 21
-TeXDict begin 17 20 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(17)150 299 y Fs(yank)29
-b(\(C-y\))630 408 y Ft(Y)-8 b(ank)31 b(the)f(top)h(of)g(the)f(kill)h
-(ring)f(in)m(to)i(the)e(bu\013er)g(at)h(p)s(oin)m(t.)150
-552 y Fs(yank-pop)d(\(M-y\))630 661 y Ft(Rotate)36 b(the)f(kill-ring,)i
-(and)d(y)m(ank)h(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h
-(this)f(if)h(the)g(prior)630 771 y(command)30 b(is)h
-Fs(yank)e Ft(or)h Fs(yank-pop)p Ft(.)150 971 y Fh(1.4.5)63
-b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 1207
-y Fs(digit-argument)26 b(\()p Fl(M-0)p Fs(,)j Fl(M-1)p
-Fs(,)h(...)f Fl(M--)p Fs(\))630 1317 y Ft(Add)d(this)h(digit)g(to)h
-(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new)
-f(argumen)m(t.)630 1427 y Fl(M--)j Ft(starts)i(a)g(negativ)m(e)i
-(argumen)m(t.)150 1570 y Fs(universal-argument)25 b(\(\))630
-1680 y Ft(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g
-(argumen)m(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m
-(y)f(one)630 1789 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h
-(leading)h(min)m(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
-1899 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
-m(y)f(digits,)i(executing)f Fs(universal-argument)630
-2008 y Ft(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
+TeXDict begin 17 20 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(17)150 299 y Fr(yank-pop)28
+b(\(M-y\))630 408 y Fs(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h
+(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h
+(the)g(prior)630 518 y(command)30 b(is)h Fr(yank)e Fs(or)h
+Fr(yank-pop)p Fs(.)150 709 y Fh(1.4.5)63 b(Sp)s(ecifying)42
+b(Numeric)f(Argumen)m(ts)150 877 y Fr(digit-argument)26
+b(\()p Fk(M-0)p Fr(,)j Fk(M-1)p Fr(,)h(...)f Fk(M--)p
+Fr(\))630 986 y Fs(Add)d(this)h(digit)g(to)h(the)f(argumen)m(t)g
+(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new)f(argumen)m(t.)630
+1096 y Fk(M--)j Fs(starts)i(a)g(negativ)m(e)i(argumen)m(t.)150
+1247 y Fr(universal-argument)25 b(\(\))630 1357 y Fs(This)g(is)g
+(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g(argumen)m(t.)40
+b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m(y)f(one)630
+1466 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h(leading)h(min)m
+(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
+1576 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
+m(y)f(digits,)i(executing)f Fr(universal-argument)630
+1685 y Fs(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
(otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630
-2118 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
+1795 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
-2228 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e
+1904 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e
(the)i(next)f(command)f(is)h(m)m(ultiplied)h(b)m(y)e(four.)630
-2337 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f
+2014 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f
(executing)g(this)f(function)g(the)h(\014rst)e(time)630
-2447 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e
+2124 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e
(time)i(mak)m(es)f(the)g(argumen)m(t)g(coun)m(t)h(six-)630
-2556 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h
-(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 2757 y Fh(1.4.6)63
+2233 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h
+(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 2424 y Fh(1.4.6)63
b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42
-b(Y)-10 b(ou)150 2993 y Fs(complete)28 b(\()610 2990
-y Fk(h)p 634 2937 148 4 v 634 2993 a Fj(T)-6 b(AB)p 634
-3008 V 778 2990 a Fk(i)808 2993 y Fs(\))630 3102 y Ft(A)m(ttempt)24
-b(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g(b)s(efore)f(p)s(oin)
-m(t.)39 b(The)22 b(actual)i(completion)630 3212 y(p)s(erformed)29
-b(is)h(application-sp)s(eci\014c.)42 b(The)30 b(default)h(is)f
-(\014lename)h(completion.)150 3355 y Fs(possible-completions)25
-b(\(M-?\))630 3465 y Ft(List)31 b(the)f(p)s(ossible)g(completions)i(of)
-e(the)h(text)g(b)s(efore)f(p)s(oin)m(t.)150 3608 y Fs
-(insert-completions)25 b(\(M-*\))630 3718 y Ft(Insert)30
-b(all)h(completions)h(of)f(the)g(text)g(b)s(efore)f(p)s(oin)m(t)h(that)
-g(w)m(ould)f(ha)m(v)m(e)i(b)s(een)e(generated)630 3827
-y(b)m(y)g Fs(possible-completions)p Ft(.)150 3971 y Fs(menu-complete)d
-(\(\))630 4080 y Ft(Similar)d(to)g Fs(complete)p Ft(,)f(but)h(replaces)
-g(the)g(w)m(ord)g(to)g(b)s(e)f(completed)i(with)e(a)i(single)f(matc)m
-(h)630 4190 y(from)37 b(the)h(list)h(of)f(p)s(ossible)f(completions.)64
-b(Rep)s(eated)39 b(execution)g(of)f Fs(menu-complete)630
-4300 y Ft(steps)i(through)g(the)g(list)h(of)f(p)s(ossible)g
-(completions,)k(inserting)c(eac)m(h)i(matc)m(h)f(in)f(turn.)630
-4409 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g(of)g(completions,)i(the)e
-(b)s(ell)g(is)g(rung)f(\(sub)5 b(ject)36 b(to)i(the)f(setting)630
-4519 y(of)f Fs(bell-style)p Ft(\))e(and)h(the)h(original)i(text)f(is)f
-(restored.)57 b(An)36 b(argumen)m(t)h(of)f Fi(n)f Ft(mo)m(v)m(es)i
-Fi(n)630 4628 y Ft(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
+b(Y)-10 b(ou)150 2592 y Fr(complete)28 b(\(TAB\))630
+2701 y Fs(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
+(b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
+2811 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
+b(The)30 b(default)h(is)f(\014lename)h(completion.)150
+2962 y Fr(possible-completions)25 b(\(M-?\))630 3072
+y Fs(List)31 b(the)f(p)s(ossible)g(completions)i(of)e(the)h(text)g(b)s
+(efore)f(p)s(oin)m(t.)150 3223 y Fr(insert-completions)25
+b(\(M-*\))630 3332 y Fs(Insert)30 b(all)h(completions)h(of)f(the)g
+(text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s
+(een)e(generated)630 3442 y(b)m(y)g Fr(possible-completions)p
+Fs(.)150 3593 y Fr(menu-complete)d(\(\))630 3703 y Fs(Similar)d(to)g
+Fr(complete)p Fs(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f
+(completed)i(with)e(a)i(single)f(matc)m(h)630 3812 y(from)37
+b(the)h(list)h(of)f(p)s(ossible)f(completions.)64 b(Rep)s(eated)39
+b(execution)g(of)f Fr(menu-complete)630 3922 y Fs(steps)i(through)g
+(the)g(list)h(of)f(p)s(ossible)g(completions,)k(inserting)c(eac)m(h)i
+(matc)m(h)f(in)f(turn.)630 4031 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g
+(of)g(completions,)i(the)e(b)s(ell)g(is)g(rung)f(\(sub)5
+b(ject)36 b(to)i(the)f(setting)630 4141 y(of)f Fr(bell-style)p
+Fs(\))e(and)h(the)h(original)i(text)f(is)f(restored.)57
+b(An)36 b(argumen)m(t)h(of)f Fi(n)f Fs(mo)m(v)m(es)i
+Fi(n)630 4251 y Fs(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
(matc)m(hes;)39 b(a)c(negativ)m(e)i(argumen)m(t)e(ma)m(y)g(b)s(e)f
-(used)g(to)630 4738 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
+(used)g(to)630 4360 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
(list.)65 b(This)38 b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s
-(ound)e(to)630 4845 y Fk(h)p 654 4792 V 654 4848 a Fj(T)-6
-b(AB)p 654 4863 V 798 4845 a Fk(i)828 4848 y Ft(,)30
-b(but)g(is)g(un)m(b)s(ound)e(b)m(y)i(default.)150 4991
-y Fs(delete-char-or-list)25 b(\(\))630 5101 y Ft(Deletes)k(the)e(c)m
-(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)g(b)s(eginning)g
-(or)f(end)h(of)g(the)g(line)630 5210 y(\(lik)m(e)k Fs(delete-char)p
-Ft(\).)37 b(If)29 b(at)h(the)f(end)f(of)i(the)f(line,)h(b)s(eha)m(v)m
-(es)g(iden)m(tically)h(to)e Fs(possible-)630 5320 y(completions)p
-Ft(.)38 b(This)29 b(command)h(is)h(un)m(b)s(ound)d(b)m(y)i(default.)p
-eop end
+(ound)e(to)630 4470 y Fr(TAB)p Fs(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
+(y)i(default.)150 4621 y Fr(menu-complete-backward)24
+b(\(\))630 4730 y Fs(Iden)m(tical)36 b(to)g Fr(menu-complete)p
+Fs(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g
+(p)s(ossible)630 4840 y(completions,)d(as)e(if)h Fr(menu-complete)26
+b Fs(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150
+4991 y Fr(delete-char-or-list)25 b(\(\))630 5101 y Fs(Deletes)k(the)e
+(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)g(b)s
+(eginning)g(or)f(end)h(of)g(the)g(line)630 5210 y(\(lik)m(e)k
+Fr(delete-char)p Fs(\).)37 b(If)29 b(at)h(the)f(end)f(of)i(the)f(line,)
+h(b)s(eha)m(v)m(es)g(iden)m(tically)h(to)e Fr(possible-)630
+5320 y(completions)p Fs(.)38 b(This)29 b(command)h(is)h(un)m(b)s(ound)d
+(b)m(y)i(default.)p eop end
%%Page: 18 22
-TeXDict begin 18 21 bop 150 -116 a Ft(Chapter)30 b(1:)41
+TeXDict begin 18 21 bop 150 -116 a Fs(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2107 b(18)150 299 y Fh(1.4.7)63
-b(Keyb)s(oard)41 b(Macros)150 545 y Fs(start-kbd-macro)26
-b(\(C-x)j(\(\))630 655 y Ft(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
+b(Keyb)s(oard)41 b(Macros)150 465 y Fr(start-kbd-macro)26
+b(\(C-x)j(\(\))630 575 y Fs(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150
-818 y Fs(end-kbd-macro)d(\(C-x)i(\)\))630 927 y Ft(Stop)e(sa)m(ving)h
+723 y Fr(end-kbd-macro)d(\(C-x)i(\)\))630 833 y Fs(Stop)e(sa)m(ving)h
(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m
-(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 1037
-y(de\014nition.)150 1200 y Fs(call-last-kbd-macro)c(\(C-x)k(e\))630
-1310 y Ft(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
+(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 942
+y(de\014nition.)150 1091 y Fr(call-last-kbd-macro)c(\(C-x)k(e\))630
+1200 y Fs(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630
-1419 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
-(oard.)150 1651 y Fh(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands)150
-1898 y Fs(re-read-init-file)26 b(\(C-x)j(C-r\))630 2007
-y Ft(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
-Fi(inputrc)27 b Ft(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d
-(or)i(v)-5 b(ariable)630 2117 y(assignmen)m(ts)31 b(found)e(there.)150
-2280 y Fs(abort)g(\(C-g\))630 2390 y Ft(Ab)s(ort)d(the)h(curren)m(t)f
+1310 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
+(oard.)150 1498 y Fh(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands)150
+1664 y Fr(re-read-init-file)26 b(\(C-x)j(C-r\))630 1774
+y Fs(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
+Fi(inputrc)27 b Fs(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d
+(or)i(v)-5 b(ariable)630 1884 y(assignmen)m(ts)31 b(found)e(there.)150
+2032 y Fr(abort)g(\(C-g\))630 2142 y Fs(Ab)s(ort)d(the)h(curren)m(t)f
(editing)h(command)f(and)g(ring)h(the)f(terminal's)h(b)s(ell)g(\(sub)5
-b(ject)26 b(to)i(the)630 2499 y(setting)j(of)g Fs(bell-style)p
-Ft(\).)150 2663 y Fs(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p
-Fl(x)p Fs(,)g(...)o(\))630 2772 y Ft(If)e(the)h(meta\014ed)g(c)m
-(haracter)h Fi(x)34 b Ft(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g
-(command)h(that)g(is)g(b)s(ound)d(to)k(the)630 2882 y(corresp)s(onding)
-g(upp)s(ercase)h(c)m(haracter.)150 3045 y Fs(prefix-meta)d(\()753
-3042 y Fk(h)p 777 2989 139 4 v 777 3045 a Fj(ESC)p 777
-3060 V 911 3042 a Fk(i)941 3045 y Fs(\))630 3155 y Ft(Metafy)39
-b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62 b(This)37
-b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g(k)m(ey)-8
-b(.)630 3264 y(T)m(yping)30 b(`)968 3261 y Fk(h)p 993
-3208 V 993 3264 a Fj(ESC)p 993 3280 V 1127 3261 a Fk(i)1187
-3264 y Fs(f)p Ft(')g(is)g(equiv)-5 b(alen)m(t)32 b(to)f(t)m(yping)g
-Fl(M-f)p Ft(.)150 3428 y Fs(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630
-3537 y Ft(Incremen)m(tal)h(undo,)f(separately)h(remem)m(b)s(ered)f(for)
-g(eac)m(h)i(line.)150 3700 y Fs(revert-line)27 b(\(M-r\))630
-3810 y Ft(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49
-b(This)32 b(is)h(lik)m(e)i(executing)f(the)f Fs(undo)f
-Ft(command)630 3920 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f
-(b)s(eginning.)150 4083 y Fs(tilde-expand)d(\(M-~\))630
-4192 y Ft(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m
-(ord.)150 4356 y Fs(set-mark)d(\(C-@\))630 4465 y Ft(Set)33
-b(the)g(mark)f(to)i(the)f(p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g
-(argumen)m(t)g(is)g(supplied,)f(the)h(mark)g(is)f(set)630
-4575 y(to)f(that)g(p)s(osition.)150 4738 y Fs(exchange-point-and-mark)
-24 b(\(C-x)29 b(C-x\))630 4848 y Ft(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)
-g(the)g(mark.)43 b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f
-(set)h(to)f(the)h(sa)m(v)m(ed)630 4957 y(p)s(osition,)f(and)e(the)i
-(old)g(cursor)e(p)s(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150
-5121 y Fs(character-search)26 b(\(C-]\))630 5230 y Ft(A)f(c)m(haracter)
-h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g
-(o)s(ccurrence)g(of)g(that)g(c)m(haracter.)630 5340 y(A)30
+b(ject)26 b(to)i(the)630 2251 y(setting)j(of)g Fr(bell-style)p
+Fs(\).)150 2400 y Fr(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p
+Fk(x)11 b Fr(,)29 b(...)o(\))630 2509 y Fs(If)e(the)h(meta\014ed)g(c)m
+(haracter)h Fi(x)34 b Fs(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g
+(command)h(that)g(is)g(b)s(ound)d(to)k(the)630 2619 y(corresp)s(onding)
+g(upp)s(ercase)h(c)m(haracter.)150 2767 y Fr(prefix-meta)d(\(ESC\))630
+2877 y Fs(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62
+b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g(k)m(ey)-8
+b(.)630 2986 y(T)m(yping)30 b(`)p Fr(ESC)g(f)p Fs(')g(is)h(equiv)-5
+b(alen)m(t)31 b(to)g(t)m(yping)g Fk(M-f)p Fs(.)150 3135
+y Fr(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 3244 y Fs(Incremen)m(tal)h
+(undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150
+3393 y Fr(revert-line)27 b(\(M-r\))630 3502 y Fs(Undo)33
+b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49 b(This)32
+b(is)h(lik)m(e)i(executing)f(the)f Fr(undo)f Fs(command)630
+3612 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(b)s(eginning.)
+150 3760 y Fr(tilde-expand)d(\(M-~\))630 3870 y Fs(P)m(erform)j(tilde)h
+(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)150 4018
+y Fr(set-mark)d(\(C-@\))630 4128 y Fs(Set)33 b(the)g(mark)f(to)i(the)f
+(p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g
+(supplied,)f(the)h(mark)g(is)f(set)630 4237 y(to)f(that)g(p)s(osition.)
+150 4386 y Fr(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
+4495 y Fs(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)g(the)g(mark.)43
+b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f(set)h(to)f(the)h
+(sa)m(v)m(ed)630 4605 y(p)s(osition,)f(and)e(the)i(old)g(cursor)e(p)s
+(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150 4753
+y Fr(character-search)26 b(\(C-]\))630 4863 y Fs(A)f(c)m(haracter)h(is)
+f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g(o)s
+(ccurrence)g(of)g(that)g(c)m(haracter.)630 4972 y(A)30
b(negativ)m(e)j(coun)m(t)e(searc)m(hes)g(for)f(previous)g(o)s
-(ccurrences.)p eop end
+(ccurrences.)150 5121 y Fr(character-search-backwar)o(d)24
+b(\(M-C-]\))630 5230 y Fs(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s
+(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)
+g(that)630 5340 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f
+(searc)m(hes)h(for)e(subsequen)m(t)f(o)s(ccurrences.)p
+eop end
%%Page: 19 23
-TeXDict begin 19 22 bop 150 -116 a Ft(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(19)150 299 y Fs
-(character-search-backwar)o(d)24 b(\(M-C-]\))630 408
-y Ft(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)
-m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)g(that)630
-518 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f(searc)m(hes)h
-(for)e(subsequen)m(t)f(o)s(ccurrences.)150 677 y Fs(insert-comment)d
-(\(M-#\))630 787 y Ft(Without)36 b(a)g(n)m(umeric)g(argumen)m(t,)h(the)
-f(v)-5 b(alue)36 b(of)g(the)g Fs(comment-begin)c Ft(v)-5
-b(ariable)36 b(is)g(in-)630 897 y(serted)c(at)g(the)g(b)s(eginning)f
-(of)h(the)f(curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m
-(t)h(is)g(supplied,)630 1006 y(this)k(command)h(acts)g(as)g(a)g
-(toggle:)55 b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g
-(of)h(the)g(line)630 1116 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
-b(alue)31 b(of)f Fs(comment-begin)p Ft(,)e(the)i(v)-5
-b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 1225
-y(c)m(haracters)42 b(in)d Fs(comment-begin)e Ft(are)j(deleted)h(from)f
-(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 1335
+TeXDict begin 19 22 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2107 b(19)150 299 y Fr(skip-csi-sequence)
+26 b(\(\))630 408 y Fs(Read)i(enough)f(c)m(haracters)h(to)g(consume)f
+(a)h(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
+518 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)60
+b(Suc)m(h)37 b(sequences)g(b)s(egin)g(with)g(a)h(Con)m(trol)g(Sequence)
+630 628 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59
+b(If)36 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fr("\\)p
+Fs(e[)p Fr(")p Fs(,)g(k)m(eys)f(pro-)630 737 y(ducing)31
+b(suc)m(h)h(sequences)g(will)h(ha)m(v)m(e)g(no)f(e\013ect)h(unless)e
+(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 847 y(command,)f
+(instead)g(of)g(inserting)g(stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f
+(editing)h(bu\013er.)44 b(This)31 b(is)630 956 y(un)m(b)s(ound)d(b)m(y)
+i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150
+1116 y Fr(insert-comment)26 b(\(M-#\))630 1225 y Fs(Without)36
+b(a)g(n)m(umeric)g(argumen)m(t,)h(the)f(v)-5 b(alue)36
+b(of)g(the)g Fr(comment-begin)c Fs(v)-5 b(ariable)36
+b(is)g(in-)630 1335 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
+(curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
+(supplied,)630 1445 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
+b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g(of)h(the)g
+(line)630 1554 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
+b(alue)31 b(of)f Fr(comment-begin)p Fs(,)e(the)i(v)-5
+b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 1664
+y(c)m(haracters)42 b(in)d Fr(comment-begin)e Fs(are)j(deleted)h(from)f
+(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 1773
y(either)31 b(case,)h(the)e(line)h(is)f(accepted)i(as)f(if)f(a)h
-(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 1494 y Fs(dump-functions)d
-(\(\))630 1604 y Ft(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
+(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 1933 y Fr(dump-functions)d
+(\(\))630 2042 y Fs(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
(their)g(k)m(ey)h(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630
-1714 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
+2152 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
-1823 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fi(inputrc)k
-Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
-(default.)150 1983 y Fs(dump-variables)26 b(\(\))630
-2092 y Ft(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
+2262 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fi(inputrc)k
+Fs(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
+(default.)150 2421 y Fr(dump-variables)26 b(\(\))630
+2531 y Fs(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h
-(output)f(stream.)630 2202 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
+(output)f(stream.)630 2640 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)
-m(y)g(that)630 2311 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
-Fi(inputrc)k Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
-(b)m(y)k(default.)150 2471 y Fs(dump-macros)c(\(\))630
-2580 y Ft(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
+m(y)g(that)630 2750 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
+Fi(inputrc)k Fs(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
+(b)m(y)k(default.)150 2909 y Fr(dump-macros)c(\(\))630
+3019 y Fs(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
-2690 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
+3128 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
(supplied,)h(the)g(output)g(is)f(formatted)i(in)e(suc)m(h)h(a)630
-2800 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
-Fi(inputrc)35 b Ft(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound)
-d(b)m(y)630 2909 y(default.)150 3068 y Fs(emacs-editing-mode)e(\(C-e\))
-630 3178 y Ft(When)30 b(in)g Fs(vi)g Ft(command)g(mo)s(de,)g(this)h
-(causes)f(a)h(switc)m(h)g(to)g Fs(emacs)e Ft(editing)i(mo)s(de.)150
-3337 y Fs(vi-editing-mode)26 b(\(M-C-j\))630 3447 y Ft(When)k(in)g
-Fs(emacs)f Ft(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g
-Fs(vi)f Ft(editing)h(mo)s(de.)150 3704 y Fr(1.5)68 b(Readline)47
-b(vi)e(Mo)t(de)275 3949 y Ft(While)24 b(the)g(Readline)g(library)f(do)s
-(es)h(not)g(ha)m(v)m(e)g(a)h(full)e(set)h(of)g Fs(vi)f
-Ft(editing)h(functions,)h(it)f(do)s(es)g(con)m(tain)150
-4058 y(enough)34 b(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)
-52 b(The)34 b(Readline)g Fs(vi)g Ft(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f
-(sp)s(eci\014ed)f(in)150 4168 y(the)e Fm(posix)e Ft(1003.2)k(standard.)
-275 4302 y(In)28 b(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s
-(et)m(w)m(een)d Fs(emacs)f Ft(and)g Fs(vi)h Ft(editing)g(mo)s(des,)g
-(use)g(the)g(command)150 4412 y Fl(M-C-j)36 b Ft(\(b)s(ound)h(to)h
-(emacs-editing-mo)s(de)i(when)d(in)g Fs(vi)h Ft(mo)s(de)f(and)g(to)i
-(vi-editing-mo)s(de)g(in)e Fs(emacs)150 4521 y Ft(mo)s(de\).)k(The)30
-b(Readline)h(default)f(is)g Fs(emacs)f Ft(mo)s(de.)275
-4656 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fs(vi)f
-Ft(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s
-(de,)g(as)h(if)f(y)m(ou)150 4765 y(had)c(t)m(yp)s(ed)g(an)g(`)p
-Fs(i)p Ft('.)39 b(Pressing)1215 4762 y Fk(h)p 1239 4709
-139 4 v 1239 4765 a Fj(ESC)p 1239 4781 V 1373 4762 a
-Fk(i)1429 4765 y Ft(switc)m(hes)27 b(y)m(ou)g(in)m(to)g(`command')f(mo)
-s(de,)h(where)f(y)m(ou)h(can)f(edit)h(the)150 4875 y(text)35
-b(of)f(the)g(line)g(with)f(the)h(standard)f Fs(vi)g Ft(mo)m(v)m(emen)m
-(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g(history)f(lines)h(with)150
-4985 y(`)p Fs(k)p Ft(')d(and)e(subsequen)m(t)h(lines)h(with)f(`)p
-Fs(j)p Ft(',)g(and)g(so)h(forth.)p eop end
+3238 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
+Fi(inputrc)35 b Fs(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound)
+d(b)m(y)630 3347 y(default.)150 3507 y Fr(emacs-editing-mode)e(\(C-e\))
+630 3616 y Fs(When)30 b(in)g Fr(vi)g Fs(command)g(mo)s(de,)g(this)h
+(causes)f(a)h(switc)m(h)g(to)g Fr(emacs)e Fs(editing)i(mo)s(de.)150
+3776 y Fr(vi-editing-mode)26 b(\(M-C-j\))630 3885 y Fs(When)k(in)g
+Fr(emacs)f Fs(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g
+Fr(vi)f Fs(editing)h(mo)s(de.)150 4118 y Fq(1.5)68 b(Readline)47
+b(vi)e(Mo)t(de)150 4277 y Fs(While)32 b(the)g(Readline)g(library)f(do)s
+(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fr(vi)f
+Fs(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
+4387 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
+b(The)34 b(Readline)g Fr(vi)g Fs(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
+(eci\014ed)f(in)150 4496 y(the)e Fl(posix)e Fs(1003.2)k(standard.)275
+4631 y(In)28 b(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m
+(w)m(een)d Fr(emacs)f Fs(and)g Fr(vi)h Fs(editing)g(mo)s(des,)g(use)g
+(the)g(command)150 4741 y Fk(M-C-j)36 b Fs(\(b)s(ound)h(to)h
+(emacs-editing-mo)s(de)i(when)d(in)g Fr(vi)h Fs(mo)s(de)f(and)g(to)i
+(vi-editing-mo)s(de)g(in)e Fr(emacs)150 4850 y Fs(mo)s(de\).)k(The)30
+b(Readline)h(default)f(is)g Fr(emacs)f Fs(mo)s(de.)275
+4985 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fr(vi)f
+Fs(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s
+(de,)g(as)h(if)f(y)m(ou)150 5094 y(had)f(t)m(yp)s(ed)g(an)g(`)p
+Fr(i)p Fs('.)41 b(Pressing)29 b Fr(ESC)f Fs(switc)m(hes)i(y)m(ou)g(in)m
+(to)h(`command')e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150
+5204 y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f
+Fr(vi)g Fs(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g
+(history)f(lines)h(with)150 5313 y(`)p Fr(k)p Fs(')d(and)e(subsequen)m
+(t)h(lines)h(with)f(`)p Fr(j)p Fs(',)g(and)g(so)h(forth.)p
+eop end
%%Page: 20 24
-TeXDict begin 20 23 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 20 23 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(20)150
-299 y Fp(2)80 b(Programming)54 b(with)f(GNU)h(Readline)275
-527 y Ft(This)33 b(c)m(hapter)h(describ)s(es)f(the)h(in)m(terface)i(b)s
-(et)m(w)m(een)e(the)g Fm(gnu)g Ft(Readline)h(Library)e(and)g(other)h
-(pro-)150 637 y(grams.)k(If)22 b(y)m(ou)h(are)g(a)g(programmer,)h(and)d
-(y)m(ou)i(wish)f(to)h(include)f(the)h(features)g(found)e(in)h
-Fm(gnu)g Ft(Readline)150 746 y(suc)m(h)g(as)h(completion,)j(line)d
-(editing,)i(and)d(in)m(teractiv)m(e)j(history)e(manipulation)g(in)f(y)m
-(our)g(o)m(wn)h(programs,)150 856 y(this)30 b(section)i(is)e(for)g(y)m
-(ou.)150 1110 y Fr(2.1)68 b(Basic)45 b(Beha)l(vior)275
-1353 y Ft(Man)m(y)31 b(programs)f(pro)m(vide)h(a)g(command)f(line)h(in)
-m(terface,)h(suc)m(h)f(as)f Fs(mail)p Ft(,)g Fs(ftp)p
-Ft(,)g(and)g Fs(sh)p Ft(.)41 b(F)-8 b(or)31 b(suc)m(h)150
-1462 y(programs,)e(the)f(default)h(b)s(eha)m(viour)f(of)h(Readline)g
-(is)g(su\016cien)m(t.)40 b(This)28 b(section)i(describ)s(es)d(ho)m(w)i
-(to)g(use)150 1572 y(Readline)35 b(in)f(the)h(simplest)f(w)m(a)m(y)h(p)
-s(ossible,)h(p)s(erhaps)c(to)j(replace)h(calls)f(in)f(y)m(our)h(co)s
-(de)f(to)h Fs(gets\(\))e Ft(or)150 1682 y Fs(fgets\(\))p
-Ft(.)275 1815 y(The)f(function)g Fs(readline\(\))e Ft(prin)m(ts)i(a)g
-(prompt)g Fi(prompt)i Ft(and)e(then)g(reads)g(and)g(returns)f(a)i
-(single)150 1924 y(line)g(of)g(text)h(from)e(the)h(user.)47
-b(If)32 b Fi(prompt)i Ft(is)e Fs(NULL)g Ft(or)h(the)f(empt)m(y)i
-(string,)f(no)g(prompt)e(is)i(displa)m(y)m(ed.)150 2034
-y(The)k(line)g Fs(readline)e Ft(returns)h(is)h(allo)s(cated)i(with)e
-Fs(malloc\(\))p Ft(;)h(the)f(caller)i(should)d Fs(free\(\))f
-Ft(the)j(line)150 2144 y(when)29 b(it)i(has)f(\014nished)f(with)h(it.)
-42 b(The)29 b(declaration)j(for)f Fs(readline)d Ft(in)i(ANSI)g(C)g(is)
-390 2277 y Fs(char)47 b(*readline)e(\(const)h(char)h(*)p
-Fl(prompt)11 b Fs(\);)150 2410 y Ft(So,)31 b(one)f(migh)m(t)h(sa)m(y)
-390 2544 y Fs(char)47 b(*line)f(=)h(readline)f(\("Enter)g(a)h(line:)g
-("\);)150 2677 y Ft(in)23 b(order)f(to)h(read)g(a)g(line)h(of)f(text)h
+299 y Fo(2)80 b(Programming)54 b(with)f(GNU)h(Readline)150
+527 y Fs(This)24 b(c)m(hapter)i(describ)s(es)e(the)h(in)m(terface)h(b)s
+(et)m(w)m(een)g(the)f Fl(gnu)f Fs(Readline)i(Library)e(and)g(other)h
+(programs.)150 636 y(If)k(y)m(ou)g(are)g(a)h(programmer,)f(and)f(y)m
+(ou)i(wish)e(to)i(include)f(the)g(features)g(found)f(in)h
+Fl(gnu)g Fs(Readline)g(suc)m(h)150 746 y(as)c(completion,)j(line)d
+(editing,)i(and)d(in)m(teractiv)m(e)k(history)d(manipulation)g(in)f(y)m
+(our)h(o)m(wn)g(programs,)h(this)150 855 y(section)32
+b(is)e(for)g(y)m(ou.)150 1085 y Fq(2.1)68 b(Basic)45
+b(Beha)l(vior)150 1245 y Fs(Man)m(y)39 b(programs)e(pro)m(vide)h(a)h
+(command)f(line)g(in)m(terface,)k(suc)m(h)37 b(as)i Fr(mail)p
+Fs(,)g Fr(ftp)p Fs(,)g(and)e Fr(sh)p Fs(.)63 b(F)-8 b(or)39
+b(suc)m(h)150 1354 y(programs,)29 b(the)f(default)h(b)s(eha)m(viour)f
+(of)h(Readline)g(is)g(su\016cien)m(t.)40 b(This)28 b(section)i(describ)
+s(es)d(ho)m(w)i(to)g(use)150 1464 y(Readline)35 b(in)f(the)h(simplest)f
+(w)m(a)m(y)h(p)s(ossible,)h(p)s(erhaps)c(to)j(replace)h(calls)f(in)f(y)
+m(our)h(co)s(de)f(to)h Fr(gets\(\))e Fs(or)150 1573 y
+Fr(fgets\(\))p Fs(.)275 1707 y(The)f(function)g Fr(readline\(\))e
+Fs(prin)m(ts)i(a)g(prompt)g Fi(prompt)i Fs(and)e(then)g(reads)g(and)g
+(returns)f(a)i(single)150 1816 y(line)g(of)g(text)h(from)e(the)h(user.)
+47 b(If)32 b Fi(prompt)i Fs(is)e Fr(NULL)g Fs(or)h(the)f(empt)m(y)i
+(string,)f(no)g(prompt)e(is)i(displa)m(y)m(ed.)150 1926
+y(The)k(line)g Fr(readline)e Fs(returns)h(is)h(allo)s(cated)i(with)e
+Fr(malloc\(\))p Fs(;)h(the)f(caller)i(should)d Fr(free\(\))f
+Fs(the)j(line)150 2035 y(when)29 b(it)i(has)f(\014nished)f(with)h(it.)
+42 b(The)29 b(declaration)j(for)f Fr(readline)d Fs(in)i(ANSI)g(C)g(is)
+390 2169 y Fr(char)47 b(*readline)e(\(const)h(char)h(*)p
+Fk(prompt)11 b Fr(\);)150 2302 y Fs(So,)31 b(one)f(migh)m(t)h(sa)m(y)
+390 2435 y Fr(char)47 b(*line)f(=)h(readline)f(\("Enter)g(a)h(line:)g
+("\);)150 2568 y Fs(in)23 b(order)f(to)h(read)g(a)g(line)h(of)f(text)h
(from)e(the)h(user.)38 b(The)22 b(line)h(returned)f(has)g(the)h
-(\014nal)g(newline)g(remo)m(v)m(ed,)150 2787 y(so)31
-b(only)f(the)h(text)g(remains.)275 2920 y(If)40 b Fs(readline)e
-Ft(encoun)m(ters)j(an)f Fs(EOF)f Ft(while)i(reading)f(the)h(line,)j
+(\014nal)g(newline)g(remo)m(v)m(ed,)150 2678 y(so)31
+b(only)f(the)h(text)g(remains.)275 2811 y(If)40 b Fr(readline)e
+Fs(encoun)m(ters)j(an)f Fr(EOF)f Fs(while)i(reading)f(the)h(line,)j
(and)39 b(the)i(line)g(is)f(empt)m(y)h(at)g(that)150
-3029 y(p)s(oin)m(t,)30 b(then)f Fs(\(char)g(*\)NULL)e
-Ft(is)j(returned.)39 b(Otherwise,)30 b(the)f(line)h(is)f(ended)g(just)g
-(as)g(if)h(a)f(newline)h(had)150 3139 y(b)s(een)g(t)m(yp)s(ed.)275
-3272 y(If)25 b(y)m(ou)h(w)m(an)m(t)h(the)f(user)f(to)i(b)s(e)e(able)h
-(to)h(get)g(at)g(the)f(line)g(later,)i(\(with)2651 3269
-y Fk(h)p 2675 3216 114 4 v 2675 3272 a Fj(C-p)p 2675
-3288 V 2784 3269 a Fk(i)2840 3272 y Ft(for)e(example\),)i(y)m(ou)e(m)m
-(ust)150 3382 y(call)32 b Fs(add_history\(\))26 b Ft(to)32
-b(sa)m(v)m(e)f(the)g(line)g(a)m(w)m(a)m(y)h(in)e(a)h
-Fi(history)38 b Ft(list)31 b(of)g(suc)m(h)f(lines.)390
-3515 y Fs(add_history)45 b(\(line\);)150 3649 y Ft(F)-8
+2921 y(p)s(oin)m(t,)30 b(then)f Fr(\(char)g(*\)NULL)e
+Fs(is)j(returned.)39 b(Otherwise,)30 b(the)f(line)h(is)f(ended)g(just)g
+(as)g(if)h(a)f(newline)h(had)150 3030 y(b)s(een)g(t)m(yp)s(ed.)275
+3163 y(If)c(y)m(ou)h(w)m(an)m(t)h(the)f(user)g(to)g(b)s(e)g(able)g(to)h
+(get)g(at)g(the)f(line)g(later,)i(\(with)e Fr(C-p)f Fs(for)h
+(example\),)i(y)m(ou)e(m)m(ust)150 3273 y(call)32 b Fr(add_history\(\))
+26 b Fs(to)32 b(sa)m(v)m(e)f(the)g(line)g(a)m(w)m(a)m(y)h(in)e(a)h
+Fi(history)38 b Fs(list)31 b(of)g(suc)m(h)f(lines.)390
+3406 y Fr(add_history)45 b(\(line\);)150 3539 y Fs(F)-8
b(or)31 b(full)f(details)i(on)e(the)g(GNU)h(History)g(Library)-8
-b(,)31 b(see)g(the)f(asso)s(ciated)i(man)m(ual.)275 3782
+b(,)31 b(see)g(the)f(asso)s(ciated)i(man)m(ual.)275 3673
y(It)f(is)g(preferable)g(to)i(a)m(v)m(oid)f(sa)m(ving)h(empt)m(y)e
(lines)h(on)f(the)h(history)f(list,)h(since)g(users)e(rarely)i(ha)m(v)m
-(e)h(a)150 3892 y(burning)28 b(need)h(to)i(reuse)e(a)h(blank)g(line.)40
+(e)h(a)150 3782 y(burning)28 b(need)h(to)i(reuse)e(a)h(blank)g(line.)40
b(Here)31 b(is)e(a)h(function)g(whic)m(h)f(usefully)g(replaces)i(the)f
-(standard)150 4001 y Fs(gets\(\))f Ft(library)h(function,)g(and)g(has)g
+(standard)150 3892 y Fr(gets\(\))f Fs(library)h(function,)g(and)g(has)g
(the)g(adv)-5 b(an)m(tage)33 b(of)d(no)g(static)i(bu\013er)e(to)h(o)m
-(v)m(er\015o)m(w:)390 4134 y Fs(/*)47 b(A)h(static)e(variable)f(for)i
-(holding)f(the)h(line.)f(*/)390 4244 y(static)g(char)h(*line_read)e(=)i
-(\(char)g(*\)NULL;)390 4463 y(/*)g(Read)g(a)g(string,)f(and)h(return)f
-(a)i(pointer)d(to)j(it.)533 4573 y(Returns)e(NULL)h(on)g(EOF.)f(*/)390
-4682 y(char)h(*)390 4792 y(rl_gets)f(\(\))390 4902 y({)485
-5011 y(/*)i(If)f(the)g(buffer)f(has)h(already)f(been)g(allocated,)629
-5121 y(return)g(the)h(memory)f(to)h(the)g(free)f(pool.)h(*/)485
-5230 y(if)h(\(line_read\))581 5340 y({)p eop end
+(v)m(er\015o)m(w:)390 4025 y Fr(/*)47 b(A)h(static)e(variable)f(for)i
+(holding)f(the)h(line.)f(*/)390 4134 y(static)g(char)h(*line_read)e(=)i
+(\(char)g(*\)NULL;)390 4354 y(/*)g(Read)g(a)g(string,)f(and)h(return)f
+(a)i(pointer)d(to)j(it.)533 4463 y(Returns)e(NULL)h(on)g(EOF.)f(*/)390
+4573 y(char)h(*)390 4682 y(rl_gets)f(\(\))390 4792 y({)485
+4902 y(/*)i(If)f(the)g(buffer)f(has)h(already)f(been)g(allocated,)629
+5011 y(return)g(the)h(memory)f(to)h(the)g(free)f(pool.)h(*/)485
+5121 y(if)h(\(line_read\))581 5230 y({)676 5340 y(free)f
+(\(line_read\);)p eop end
%%Page: 21 25
-TeXDict begin 21 24 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 21 24 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(21)676
-299 y Fs(free)47 b(\(line_read\);)676 408 y(line_read)f(=)h(\(char)f
-(*\)NULL;)581 518 y(})485 737 y(/*)i(Get)f(a)g(line)g(from)f(the)h
-(user.)g(*/)485 847 y(line_read)f(=)h(readline)f(\(""\);)485
-1066 y(/*)i(If)f(the)g(line)f(has)h(any)g(text)g(in)g(it,)629
-1176 y(save)f(it)h(on)h(the)f(history.)e(*/)485 1285
-y(if)j(\(line_read)d(&&)i(*line_read\))581 1395 y(add_history)e
-(\(line_read\);)485 1614 y(return)i(\(line_read\);)390
-1724 y(})275 1854 y Ft(This)22 b(function)i(giv)m(es)h(the)f(user)f
-(the)h(default)g(b)s(eha)m(viour)f(of)2338 1851 y Fk(h)p
-2362 1798 148 4 v 2362 1854 a Fj(T)-6 b(AB)p 2362 1870
-V 2506 1851 a Fk(i)2560 1854 y Ft(completion:)38 b(completion)25
-b(on)f(\014le)150 1964 y(names.)41 b(If)31 b(y)m(ou)g(do)f(not)h(w)m
-(an)m(t)g(Readline)h(to)f(complete)h(on)f(\014lenames,)g(y)m(ou)g(can)f
-(c)m(hange)i(the)f(binding)150 2074 y(of)g(the)410 2071
-y Fk(h)p 434 2018 V 434 2074 a Fj(T)-6 b(AB)p 434 2089
-V 578 2071 a Fk(i)638 2074 y Ft(k)m(ey)31 b(with)f Fs(rl_bind_key\(\))p
-Ft(.)390 2205 y Fs(int)47 b(rl_bind_key)e(\(int)h Fl(key)p
-Fs(,)h(rl_command_func_t)c(*)p Fl(function)11 b Fs(\);)275
-2335 y(rl_bind_key\(\))29 b Ft(tak)m(es)35 b(t)m(w)m(o)g(argumen)m(ts:)
-47 b Fi(k)m(ey)c Ft(is)33 b(the)h(c)m(haracter)h(that)f(y)m(ou)g(w)m
-(an)m(t)g(to)g(bind,)g(and)150 2445 y Fi(function)h Ft(is)h(the)g
-(address)f(of)h(the)g(function)g(to)g(call)h(when)e Fi(k)m(ey)44
-b Ft(is)36 b(pressed.)56 b(Binding)3257 2442 y Fk(h)p
-3281 2389 V 3281 2445 a Fj(T)-6 b(AB)p 3281 2460 V 3425
-2442 a Fk(i)3490 2445 y Ft(to)37 b Fs(rl_)150 2555 y(insert\(\))c
-Ft(mak)m(es)845 2552 y Fk(h)p 869 2499 V 869 2555 a Fj(T)-6
-b(AB)p 869 2570 V 1013 2552 a Fk(i)1077 2555 y Ft(insert)35
-b(itself.)56 b Fs(rl_bind_key\(\))32 b Ft(returns)h(non-zero)j(if)f
-Fi(k)m(ey)44 b Ft(is)35 b(not)g(a)h(v)-5 b(alid)150 2664
+299 y Fr(line_read)46 b(=)h(\(char)f(*\)NULL;)581 408
+y(})485 628 y(/*)i(Get)f(a)g(line)g(from)f(the)h(user.)g(*/)485
+737 y(line_read)f(=)h(readline)f(\(""\);)485 956 y(/*)i(If)f(the)g
+(line)f(has)h(any)g(text)g(in)g(it,)629 1066 y(save)f(it)h(on)h(the)f
+(history.)e(*/)485 1176 y(if)j(\(line_read)d(&&)i(*line_read\))581
+1285 y(add_history)e(\(line_read\);)485 1504 y(return)i(\(line_read\);)
+390 1614 y(})275 1767 y Fs(This)27 b(function)h(giv)m(es)h(the)f(user)g
+(the)g(default)g(b)s(eha)m(viour)g(of)g Fr(TAB)g Fs(completion:)40
+b(completion)30 b(on)e(\014le)150 1877 y(names.)41 b(If)31
+b(y)m(ou)g(do)f(not)h(w)m(an)m(t)g(Readline)h(to)f(complete)h(on)f
+(\014lenames,)g(y)m(ou)g(can)f(c)m(hange)i(the)f(binding)150
+1986 y(of)g(the)f Fr(TAB)g Fs(k)m(ey)h(with)f Fr(rl_bind_key\(\))p
+Fs(.)390 2139 y Fr(int)47 b(rl_bind_key)e(\(int)h Fk(key)11
+b Fr(,)46 b(rl_command_func_t)d(*)p Fk(function)11 b
+Fr(\);)275 2292 y(rl_bind_key\(\))29 b Fs(tak)m(es)35
+b(t)m(w)m(o)g(argumen)m(ts:)47 b Fi(k)m(ey)c Fs(is)33
+b(the)h(c)m(haracter)h(that)f(y)m(ou)g(w)m(an)m(t)g(to)g(bind,)g(and)
+150 2402 y Fi(function)39 b Fs(is)f(the)h(address)f(of)h(the)g
+(function)g(to)g(call)i(when)c Fi(k)m(ey)48 b Fs(is)39
+b(pressed.)65 b(Binding)38 b Fr(TAB)g Fs(to)i Fr(rl_)150
+2511 y(insert\(\))c Fs(mak)m(es)k Fr(TAB)e Fs(insert)g(itself.)67
+b Fr(rl_bind_key\(\))35 b Fs(returns)j(non-zero)h(if)g
+Fi(k)m(ey)47 b Fs(is)39 b(not)g(a)g(v)-5 b(alid)150 2621
y(ASCI)s(I)29 b(c)m(haracter)j(co)s(de)e(\(b)s(et)m(w)m(een)i(0)f(and)e
-(255\).)275 2795 y(Th)m(us,)g(to)i(disable)g(the)f(default)1407
-2792 y Fk(h)p 1431 2739 V 1431 2795 a Fj(T)-6 b(AB)p
-1431 2810 V 1575 2792 a Fk(i)1635 2795 y Ft(b)s(eha)m(vior,)31
-b(the)f(follo)m(wing)i(su\016ces:)390 2926 y Fs(rl_bind_key)45
-b(\('\\t',)h(rl_insert\);)275 3057 y Ft(This)25 b(co)s(de)i(should)e(b)
-s(e)h(executed)h(once)g(at)g(the)g(start)g(of)f(y)m(our)h(program;)g(y)
-m(ou)g(migh)m(t)g(write)g(a)g(func-)150 3166 y(tion)33
-b(called)h Fs(initialize_readline\(\))27 b Ft(whic)m(h)33
-b(p)s(erforms)e(this)h(and)h(other)g(desired)f(initializations,)150
-3276 y(suc)m(h)e(as)h(installing)g(custom)g(completers)g(\(see)g
-(Section)h(2.6)f([Custom)f(Completers],)h(page)g(41\).)150
-3523 y Fr(2.2)68 b(Custom)45 b(F)-11 b(unctions)275 3763
-y Ft(Readline)25 b(pro)m(vides)f(man)m(y)h(functions)f(for)g
-(manipulating)g(the)h(text)g(of)g(the)g(line,)h(but)e(it)h(isn't)f(p)s
-(ossi-)150 3873 y(ble)i(to)h(an)m(ticipate)i(the)e(needs)f(of)g(all)h
-(programs.)39 b(This)26 b(section)h(describ)s(es)f(the)g(v)-5
-b(arious)27 b(functions)f(and)150 3982 y(v)-5 b(ariables)27
+(255\).)275 2774 y(Th)m(us,)g(to)i(disable)g(the)f(default)h
+Fr(TAB)e Fs(b)s(eha)m(vior,)i(the)g(follo)m(wing)g(su\016ces:)390
+2927 y Fr(rl_bind_key)45 b(\('\\t',)h(rl_insert\);)275
+3080 y Fs(This)25 b(co)s(de)i(should)e(b)s(e)h(executed)h(once)g(at)g
+(the)g(start)g(of)f(y)m(our)h(program;)g(y)m(ou)g(migh)m(t)g(write)g(a)
+g(func-)150 3190 y(tion)33 b(called)h Fr(initialize_readline\(\))27
+b Fs(whic)m(h)33 b(p)s(erforms)e(this)h(and)h(other)g(desired)f
+(initializations,)150 3299 y(suc)m(h)e(as)h(installing)g(custom)g
+(completers)g(\(see)g(Section)h(2.6)f([Custom)f(Completers],)h(page)g
+(41\).)150 3559 y Fq(2.2)68 b(Custom)45 b(F)-11 b(unctions)150
+3719 y Fs(Readline)28 b(pro)m(vides)f(man)m(y)g(functions)g(for)g
+(manipulating)h(the)f(text)h(of)g(the)f(line,)i(but)d(it)i(isn't)f(p)s
+(ossible)150 3828 y(to)37 b(an)m(ticipate)i(the)e(needs)f(of)h(all)g
+(programs.)59 b(This)36 b(section)h(describ)s(es)f(the)h(v)-5
+b(arious)36 b(functions)h(and)150 3938 y(v)-5 b(ariables)27
b(de\014ned)e(within)g(the)h(Readline)h(library)f(whic)m(h)g(allo)m(w)h
-(a)g(user)e(program)h(to)h(add)e(customized)150 4092
-y(functionalit)m(y)32 b(to)f(Readline.)275 4223 y(Before)37
+(a)g(user)e(program)h(to)h(add)e(customized)150 4048
+y(functionalit)m(y)32 b(to)f(Readline.)275 4201 y(Before)37
b(declaring)g(an)m(y)g(functions)f(that)h(customize)h(Readline's)f(b)s
-(eha)m(vior,)h(or)f(using)f(an)m(y)h(func-)150 4332 y(tionalit)m(y)48
+(eha)m(vior,)h(or)f(using)f(an)m(y)h(func-)150 4310 y(tionalit)m(y)48
b(Readline)e(pro)m(vides)f(in)g(other)h(co)s(de,)k(an)45
b(application)i(writer)e(should)g(include)g(the)h(\014le)150
-4442 y Fs(<readline/readline.h>)28 b Ft(in)33 b(an)m(y)h(\014le)f(that)
+4420 y Fr(<readline/readline.h>)28 b Fs(in)33 b(an)m(y)h(\014le)f(that)
h(uses)f(Readline's)h(features.)51 b(Since)33 b(some)h(of)g(the)f
-(de\014-)150 4552 y(nitions)e(in)g Fs(readline.h)d Ft(use)j(the)h
-Fs(stdio)d Ft(library)-8 b(,)32 b(the)f(\014le)h Fs(<stdio.h>)c
-Ft(should)i(b)s(e)h(included)f(b)s(efore)150 4661 y Fs(readline.h)p
-Ft(.)275 4792 y Fs(readline.h)d Ft(de\014nes)j(a)h(C)f(prepro)s(cessor)
+(de\014-)150 4529 y(nitions)e(in)g Fr(readline.h)d Fs(use)j(the)h
+Fr(stdio)d Fs(library)-8 b(,)32 b(the)f(\014le)h Fr(<stdio.h>)c
+Fs(should)i(b)s(e)h(included)f(b)s(efore)150 4639 y Fr(readline.h)p
+Fs(.)275 4792 y Fr(readline.h)d Fs(de\014nes)j(a)h(C)f(prepro)s(cessor)
g(v)-5 b(ariable)31 b(that)g(should)f(b)s(e)g(treated)h(as)g(an)g(in)m
-(teger,)h Fs(RL_)150 4902 y(READLINE_VERSION)p Ft(,)20
+(teger,)h Fr(RL_)150 4902 y(READLINE_VERSION)p Fs(,)20
b(whic)m(h)h(ma)m(y)i(b)s(e)f(used)f(to)i(conditionally)h(compile)f
(application)g(co)s(de)f(dep)s(ending)150 5011 y(on)35
b(the)g(installed)h(Readline)f(v)m(ersion.)56 b(The)34
b(v)-5 b(alue)35 b(is)h(a)f(hexadecimal)h(enco)s(ding)f(of)g(the)h(ma)5
b(jor)35 b(and)150 5121 y(minor)f(v)m(ersion)g(n)m(um)m(b)s(ers)f(of)h
(the)h(library)-8 b(,)35 b(of)f(the)h(form)e(0x)p Fi(MMmm)p
-Ft(.)53 b Fi(MM)45 b Ft(is)34 b(the)g(t)m(w)m(o-digit)j(ma)5
+Fs(.)53 b Fi(MM)45 b Fs(is)34 b(the)g(t)m(w)m(o-digit)j(ma)5
b(jor)150 5230 y(v)m(ersion)29 b(n)m(um)m(b)s(er;)g Fi(mm)f
-Ft(is)h(the)g(t)m(w)m(o-digit)j(minor)c(v)m(ersion)i(n)m(um)m(b)s(er.)
+Fs(is)h(the)g(t)m(w)m(o-digit)j(minor)c(v)m(ersion)i(n)m(um)m(b)s(er.)
38 b(F)-8 b(or)30 b(Readline)g(4.2,)g(for)f(example,)150
-5340 y(the)i(v)-5 b(alue)30 b(of)h Fs(RL_READLINE_VERSION)25
-b Ft(w)m(ould)30 b(b)s(e)g Fs(0x0402)p Ft(.)p eop end
+5340 y(the)i(v)-5 b(alue)30 b(of)h Fr(RL_READLINE_VERSION)25
+b Fs(w)m(ould)30 b(b)s(e)g Fr(0x0402)p Fs(.)p eop end
%%Page: 22 26
-TeXDict begin 22 25 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 22 25 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(22)150
-299 y Fh(2.2.1)63 b(Readline)40 b(T)m(yp)s(edefs)275
-540 y Ft(F)-8 b(or)31 b(readabilt)m(y)-8 b(,)32 b(w)m(e)f(declare)g(a)g
-(n)m(um)m(b)s(er)e(of)h(new)g(ob)5 b(ject)32 b(t)m(yp)s(es,)e(all)h(p)s
-(oin)m(ters)g(to)g(functions.)275 672 y(The)k(reason)h(for)f(declaring)
+299 y Fh(2.2.1)63 b(Readline)40 b(T)m(yp)s(edefs)150
+446 y Fs(F)-8 b(or)31 b(readabilt)m(y)-8 b(,)32 b(w)m(e)f(declare)h(a)e
+(n)m(um)m(b)s(er)f(of)i(new)f(ob)5 b(ject)31 b(t)m(yp)s(es,)g(all)g(p)s
+(oin)m(ters)f(to)h(functions.)275 585 y(The)k(reason)h(for)f(declaring)
h(these)h(new)e(t)m(yp)s(es)g(is)h(to)h(mak)m(e)f(it)g(easier)h(to)f
-(write)g(co)s(de)g(describing)150 782 y(p)s(oin)m(ters)30
+(write)g(co)s(de)g(describing)150 694 y(p)s(oin)m(ters)30
b(to)h(C)f(functions)g(with)g(appropriately)h(protot)m(yp)s(ed)f
-(argumen)m(ts)h(and)f(return)f(v)-5 b(alues.)275 913
+(argumen)m(ts)h(and)f(return)f(v)-5 b(alues.)275 833
y(F)d(or)37 b(instance,)j(sa)m(y)d(w)m(e)g(w)m(an)m(t)h(to)g(declare)f
-(a)h(v)-5 b(ariable)37 b Fi(func)42 b Ft(as)37 b(a)g(p)s(oin)m(ter)g
-(to)g(a)h(function)e(whic)m(h)150 1023 y(tak)m(es)27
-b(t)m(w)m(o)g Fs(int)e Ft(argumen)m(ts)h(and)f(returns)f(an)i
-Fs(int)f Ft(\(this)h(is)f(the)h(t)m(yp)s(e)g(of)g(all)h(of)e(the)h
-(Readline)h(bindable)150 1132 y(functions\).)41 b(Instead)30
-b(of)g(the)h(classic)h(C)e(declaration)275 1264 y Fs(int)f
-(\(*func\)\(\);)150 1396 y Ft(or)h(the)h(ANSI-C)f(st)m(yle)i
-(declaration)275 1528 y Fs(int)d(\(*func\)\(int,)e(int\);)150
-1659 y Ft(w)m(e)k(ma)m(y)g(write)275 1791 y Fs(rl_command_func_t)25
-b(*func;)275 1923 y Ft(The)k(full)h(list)i(of)e(function)g(p)s(oin)m
-(ter)g(t)m(yp)s(es)h(a)m(v)-5 b(ailable)33 b(is)150 2077
-y Fs(typedef)28 b(int)i(rl_command_func_t)c(\(int,)i(int\);)150
-2186 y(typedef)g(char)i(*rl_compentry_func_t)24 b(\(const)29
-b(char)g(*,)h(int\);)150 2296 y(typedef)e(char)i
+(a)h(v)-5 b(ariable)37 b Fi(func)42 b Fs(as)37 b(a)g(p)s(oin)m(ter)g
+(to)g(a)h(function)e(whic)m(h)150 943 y(tak)m(es)27 b(t)m(w)m(o)g
+Fr(int)e Fs(argumen)m(ts)h(and)f(returns)f(an)i Fr(int)f
+Fs(\(this)h(is)f(the)h(t)m(yp)s(e)g(of)g(all)h(of)e(the)h(Readline)h
+(bindable)150 1052 y(functions\).)41 b(Instead)30 b(of)g(the)h(classic)
+h(C)e(declaration)275 1191 y Fr(int)f(\(*func\)\(\);)150
+1330 y Fs(or)h(the)h(ANSI-C)f(st)m(yle)i(declaration)275
+1468 y Fr(int)d(\(*func\)\(int,)e(int\);)150 1607 y Fs(w)m(e)k(ma)m(y)g
+(write)275 1746 y Fr(rl_command_func_t)25 b(*func;)275
+1885 y Fs(The)k(full)h(list)i(of)e(function)g(p)s(oin)m(ter)g(t)m(yp)s
+(es)h(a)m(v)-5 b(ailable)33 b(is)150 2051 y Fr(typedef)28
+b(int)i(rl_command_func_t)c(\(int,)i(int\);)150 2160
+y(typedef)g(char)i(*rl_compentry_func_t)24 b(\(const)29
+b(char)g(*,)h(int\);)150 2270 y(typedef)e(char)i
(**rl_completion_func_t)24 b(\(const)29 b(char)g(*,)h(int,)f(int\);)150
-2405 y(typedef)f(char)i(*rl_quote_func_t)c(\(char)i(*,)i(int,)f(char)h
-(*\);)150 2515 y(typedef)e(char)i(*rl_dequote_func_t)25
-b(\(char)k(*,)h(int\);)150 2625 y(typedef)e(int)i(rl_compignore_func_t)
-25 b(\(char)k(**\);)150 2734 y(typedef)f(void)i(rl_compdisp_func_t)25
-b(\(char)k(**,)g(int,)h(int\);)150 2844 y(typedef)e(int)i
-(rl_hook_func_t)c(\(void\);)150 2953 y(typedef)i(int)i(rl_getc_func_t)c
-(\(FILE)j(*\);)150 3063 y(typedef)f(int)i(rl_linebuf_func_t)c(\(char)i
-(*,)i(int\);)150 3173 y(typedef)e(int)i(rl_intfunc_t)d(\(int\);)150
-3282 y(#define)h(rl_ivoidfunc_t)f(rl_hook_func_t)150
-3392 y(typedef)h(int)i(rl_icpfunc_t)d(\(char)i(*\);)150
-3501 y(typedef)f(int)i(rl_icppfunc_t)d(\(char)i(**\);)150
-3611 y(typedef)f(void)i(rl_voidfunc_t)c(\(void\);)150
-3720 y(typedef)i(void)i(rl_vintfunc_t)c(\(int\);)150
-3830 y(typedef)i(void)i(rl_vcpfunc_t)d(\(char)i(*\);)150
-3940 y(typedef)f(void)i(rl_vcppfunc_t)c(\(char)j(**\);)150
-4133 y Fh(2.2.2)63 b(W)-10 b(riting)41 b(a)f(New)h(F)-10
-b(unction)275 4375 y Ft(In)31 b(order)h(to)g(write)h(new)e(functions)h
-(for)g(Readline,)i(y)m(ou)e(need)g(to)h(kno)m(w)f(the)g(calling)i(con)m
-(v)m(en)m(tions)150 4484 y(for)j(k)m(eyb)s(oard-in)m(v)m(ok)m(ed)h
-(functions,)g(and)e(the)h(names)g(of)g(the)g(v)-5 b(ariables)38
-b(that)f(describ)s(e)f(the)h(curren)m(t)150 4594 y(state)32
-b(of)e(the)h(line)g(read)f(so)g(far.)275 4726 y(The)f(calling)j
-(sequence)f(for)f(a)h(command)f Fs(foo)g Ft(lo)s(oks)g(lik)m(e)390
-4857 y Fs(int)47 b(foo)g(\(int)f(count,)h(int)f(key\))150
-4989 y Ft(where)35 b Fi(coun)m(t)k Ft(is)d(the)g(n)m(umeric)g(argumen)m
+2379 y(typedef)f(char)i(*rl_quote_func_t)c(\(char)i(*,)i(int,)f(char)h
+(*\);)150 2489 y(typedef)e(char)i(*rl_dequote_func_t)25
+b(\(char)k(*,)h(int\);)150 2598 y(typedef)e(int)i(rl_compignore_func_t)
+25 b(\(char)k(**\);)150 2708 y(typedef)f(void)i(rl_compdisp_func_t)25
+b(\(char)k(**,)g(int,)h(int\);)150 2818 y(typedef)e(int)i
+(rl_hook_func_t)c(\(void\);)150 2927 y(typedef)i(int)i(rl_getc_func_t)c
+(\(FILE)j(*\);)150 3037 y(typedef)f(int)i(rl_linebuf_func_t)c(\(char)i
+(*,)i(int\);)150 3146 y(typedef)e(int)i(rl_intfunc_t)d(\(int\);)150
+3256 y(#define)h(rl_ivoidfunc_t)f(rl_hook_func_t)150
+3366 y(typedef)h(int)i(rl_icpfunc_t)d(\(char)i(*\);)150
+3475 y(typedef)f(int)i(rl_icppfunc_t)d(\(char)i(**\);)150
+3585 y(typedef)f(void)i(rl_voidfunc_t)c(\(void\);)150
+3694 y(typedef)i(void)i(rl_vintfunc_t)c(\(int\);)150
+3804 y(typedef)i(void)i(rl_vcpfunc_t)d(\(char)i(*\);)150
+3914 y(typedef)f(void)i(rl_vcppfunc_t)c(\(char)j(**\);)150
+4090 y Fh(2.2.2)63 b(W)-10 b(riting)41 b(a)f(New)h(F)-10
+b(unction)150 4237 y Fs(In)30 b(order)h(to)h(write)f(new)g(functions)f
+(for)h(Readline,)h(y)m(ou)g(need)e(to)i(kno)m(w)f(the)g(calling)i(con)m
+(v)m(en)m(tions)g(for)150 4347 y(k)m(eyb)s(oard-in)m(v)m(ok)m(ed)f
+(functions,)d(and)h(the)g(names)g(of)g(the)g(v)-5 b(ariables)31
+b(that)f(describ)s(e)g(the)g(curren)m(t)g(state)150 4456
+y(of)h(the)f(line)h(read)f(so)h(far.)275 4595 y(The)e(calling)j
+(sequence)f(for)f(a)h(command)f Fr(foo)g Fs(lo)s(oks)g(lik)m(e)390
+4734 y Fr(int)47 b(foo)g(\(int)f(count,)h(int)f(key\))150
+4872 y Fs(where)35 b Fi(coun)m(t)k Fs(is)d(the)g(n)m(umeric)g(argumen)m
(t)g(\(or)g(1)g(if)g(defaulted\))h(and)e Fi(k)m(ey)44
-b Ft(is)36 b(the)g(k)m(ey)h(that)f(in)m(v)m(ok)m(ed)150
-5099 y(this)30 b(function.)275 5230 y(It)23 b(is)g(completely)h(up)e
+b Fs(is)36 b(the)g(k)m(ey)h(that)f(in)m(v)m(ok)m(ed)150
+4982 y(this)30 b(function.)275 5121 y(It)23 b(is)g(completely)h(up)e
(to)i(the)f(function)g(as)g(to)h(what)f(should)f(b)s(e)h(done)f(with)h
-(the)g(n)m(umeric)g(argumen)m(t.)150 5340 y(Some)40 b(functions)g(use)f
+(the)g(n)m(umeric)g(argumen)m(t.)150 5230 y(Some)40 b(functions)g(use)f
(it)i(as)f(a)g(rep)s(eat)h(coun)m(t,)i(some)d(as)h(a)f(\015ag,)j(and)c
-(others)h(to)h(c)m(ho)s(ose)g(alternate)p eop end
+(others)h(to)h(c)m(ho)s(ose)g(alternate)150 5340 y(b)s(eha)m(vior)i
+(\(refreshing)g(the)h(curren)m(t)f(line)h(as)f(opp)s(osed)g(to)h
+(refreshing)e(the)i(screen,)j(for)c(example\).)p eop
+end
%%Page: 23 27
-TeXDict begin 23 26 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 23 26 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(23)150
-299 y(b)s(eha)m(vior)43 b(\(refreshing)g(the)h(curren)m(t)f(line)h(as)f
-(opp)s(osed)g(to)h(refreshing)e(the)i(screen,)j(for)c(example\).)150
-408 y(Some)33 b(c)m(ho)s(ose)h(to)g(ignore)g(it.)50 b(In)32
+299 y(Some)33 b(c)m(ho)s(ose)h(to)g(ignore)g(it.)50 b(In)32
b(general,)j(if)f(a)f(function)g(uses)g(the)g(n)m(umeric)g(argumen)m(t)
-h(as)f(a)h(rep)s(eat)150 518 y(coun)m(t,)29 b(it)g(should)e(b)s(e)g
+h(as)f(a)h(rep)s(eat)150 408 y(coun)m(t,)29 b(it)g(should)e(b)s(e)g
(able)h(to)h(do)f(something)g(useful)f(with)h(b)s(oth)f(negativ)m(e)j
-(and)d(p)s(ositiv)m(e)i(argumen)m(ts.)150 628 y(A)m(t)i(the)g(v)m(ery)g
+(and)d(p)s(ositiv)m(e)i(argumen)m(ts.)150 518 y(A)m(t)i(the)g(v)m(ery)g
(least,)h(it)e(should)g(b)s(e)g(a)m(w)m(are)h(that)g(it)g(can)g(b)s(e)f
-(passed)g(a)g(negativ)m(e)j(argumen)m(t.)275 759 y(A)27
+(passed)g(a)g(negativ)m(e)j(argumen)m(t.)275 658 y(A)27
b(command)h(function)f(should)g(return)g(0)h(if)g(its)g(action)h
(completes)g(successfully)-8 b(,)29 b(and)e(a)h(non-zero)150
-869 y(v)-5 b(alue)40 b(if)f(some)g(error)g(o)s(ccurs.)67
+768 y(v)-5 b(alue)40 b(if)f(some)g(error)g(o)s(ccurs.)67
b(This)38 b(is)h(the)g(con)m(v)m(en)m(tion)j(ob)s(ey)m(ed)d(b)m(y)g
-(all)h(of)f(the)h(builtin)e(Readline)150 978 y(bindable)30
-b(command)g(functions.)150 1226 y Fr(2.3)68 b(Readline)47
-b(V)-11 b(ariables)275 1467 y Ft(These)30 b(v)-5 b(ariables)31
-b(are)f(a)m(v)-5 b(ailable)33 b(to)e(function)f(writers.)3371
-1641 y([V)-8 b(ariable])-3598 b Fg(char)39 b(*)g Ff(rl)p
-575 1641 35 5 v 50 w(line)p 806 1641 V 50 w(bu\013er)390
-1751 y Ft(This)30 b(is)i(the)f(line)g(gathered)h(so)f(far.)43
+(all)h(of)f(the)h(builtin)e(Readline)150 877 y(bindable)30
+b(command)g(functions.)150 1118 y Fq(2.3)68 b(Readline)47
+b(V)-11 b(ariables)150 1278 y Fs(These)30 b(v)-5 b(ariables)31
+b(are)g(a)m(v)-5 b(ailable)33 b(to)e(function)f(writers.)3371
+1473 y([V)-8 b(ariable])-3598 b Fg(char)54 b(*)e(rl_line_buffer)390
+1583 y Fs(This)30 b(is)i(the)f(line)g(gathered)h(so)f(far.)43
b(Y)-8 b(ou)32 b(are)f(w)m(elcome)i(to)f(mo)s(dify)f(the)g(con)m(ten)m
-(ts)i(of)e(the)g(line,)390 1861 y(but)k(see)h(Section)g(2.4.5)h([Allo)m
+(ts)i(of)e(the)g(line,)390 1693 y(but)k(see)h(Section)g(2.4.5)h([Allo)m
(wing)h(Undoing],)f(page)f(31.)57 b(The)35 b(function)g
-Fs(rl_extend_line_)390 1970 y(buffer)29 b Ft(is)h(a)m(v)-5
+Fr(rl_extend_line_)390 1802 y(buffer)29 b Fs(is)h(a)m(v)-5
b(ailable)33 b(to)e(increase)g(the)g(memory)f(allo)s(cated)i(to)f
-Fs(rl_line_buffer)p Ft(.)3371 2145 y([V)-8 b(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 2145 V 51 w(p)s(oin)m(t)390
-2254 y Ft(The)30 b(o\013set)h(of)g(the)f(curren)m(t)h(cursor)e(p)s
-(osition)i(in)f Fs(rl_line_buffer)c Ft(\(the)31 b Fn(p)-5
-b(oint)9 b Ft(\).)3371 2429 y([V)-8 b(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 2429 V 51 w(end)390 2539 y
-Ft(The)27 b(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h(presen)m(t)f(in)g
-Fs(rl_line_buffer)p Ft(.)36 b(When)27 b Fs(rl_point)f
-Ft(is)i(at)h(the)f(end)390 2648 y(of)j(the)f(line,)h
-Fs(rl_point)d Ft(and)i Fs(rl_end)f Ft(are)h(equal.)3371
-2823 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-2823 V 51 w(mark)390 2932 y Ft(The)d Fi(mark)42 b Ft(\(sa)m(v)m(ed)d(p)
-s(osition\))e(in)g(the)g(curren)m(t)f(line.)61 b(If)36
-b(set,)k(the)d(mark)f(and)h(p)s(oin)m(t)f(de\014ne)h(a)390
-3042 y Fn(r)-5 b(e)g(gion)p Ft(.)3371 3217 y([V)d(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 3217 V 51 w(done)390 3326 y
-Ft(Setting)22 b(this)g(to)g(a)g(non-zero)g(v)-5 b(alue)23
-b(causes)f(Readline)g(to)g(return)f(the)h(curren)m(t)f(line)h
-(immediately)-8 b(.)3371 3501 y([V)g(ariable])-3598 b
-Fg(int)39 b Ff(rl)p 432 3501 V 51 w(n)m(um)p 703 3501
-V 50 w(c)m(hars)p 1013 3501 V 49 w(to)p 1164 3501 V 51
-w(read)390 3611 y Ft(Setting)34 b(this)e(to)i(a)f(p)s(ositiv)m(e)h(v)-5
-b(alue)34 b(b)s(efore)e(calling)i Fs(readline\(\))d Ft(causes)i
-(Readline)g(to)h(return)390 3720 y(after)i(accepting)h(that)g(man)m(y)e
-(c)m(haracters,)k(rather)d(than)f(reading)h(up)e(to)j(a)f(c)m(haracter)
-h(b)s(ound)390 3830 y(to)31 b Fs(accept-line)p Ft(.)3371
-4004 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-4004 V 51 w(p)s(ending)p 884 4004 V 48 w(input)390 4114
-y Ft(Setting)26 b(this)f(to)h(a)f(v)-5 b(alue)26 b(mak)m(es)g(it)g(the)
+Fr(rl_line_buffer)p Fs(.)3371 1998 y([V)-8 b(ariable])-3598
+b Fg(int)53 b(rl_point)390 2107 y Fs(The)30 b(o\013set)h(of)g(the)f
+(curren)m(t)h(cursor)e(p)s(osition)i(in)f Fr(rl_line_buffer)c
+Fs(\(the)31 b Fj(p)-5 b(oint)9 b Fs(\).)3371 2303 y([V)-8
+b(ariable])-3598 b Fg(int)53 b(rl_end)390 2413 y Fs(The)27
+b(n)m(um)m(b)s(er)g(of)h(c)m(haracters)h(presen)m(t)f(in)g
+Fr(rl_line_buffer)p Fs(.)36 b(When)27 b Fr(rl_point)f
+Fs(is)i(at)h(the)f(end)390 2522 y(of)j(the)f(line,)h
+Fr(rl_point)d Fs(and)i Fr(rl_end)f Fs(are)h(equal.)3371
+2718 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_mark)390
+2827 y Fs(The)36 b Fi(mark)42 b Fs(\(sa)m(v)m(ed)d(p)s(osition\))e(in)g
+(the)g(curren)m(t)f(line.)61 b(If)36 b(set,)k(the)d(mark)f(and)h(p)s
+(oin)m(t)f(de\014ne)h(a)390 2937 y Fj(r)-5 b(e)g(gion)p
+Fs(.)3371 3133 y([V)d(ariable])-3598 b Fg(int)53 b(rl_done)390
+3242 y Fs(Setting)22 b(this)g(to)g(a)g(non-zero)g(v)-5
+b(alue)23 b(causes)f(Readline)g(to)g(return)f(the)h(curren)m(t)f(line)h
+(immediately)-8 b(.)3371 3438 y([V)g(ariable])-3598 b
+Fg(int)53 b(rl_num_chars_to_read)390 3548 y Fs(Setting)34
+b(this)e(to)i(a)f(p)s(ositiv)m(e)h(v)-5 b(alue)34 b(b)s(efore)e
+(calling)i Fr(readline\(\))d Fs(causes)i(Readline)g(to)h(return)390
+3657 y(after)i(accepting)h(that)g(man)m(y)e(c)m(haracters,)k(rather)d
+(than)f(reading)h(up)e(to)j(a)f(c)m(haracter)h(b)s(ound)390
+3767 y(to)31 b Fr(accept-line)p Fs(.)3371 3962 y([V)-8
+b(ariable])-3598 b Fg(int)53 b(rl_pending_input)390 4072
+y Fs(Setting)26 b(this)f(to)h(a)f(v)-5 b(alue)26 b(mak)m(es)g(it)g(the)
f(next)g(k)m(eystrok)m(e)i(read.)39 b(This)24 b(is)i(a)f(w)m(a)m(y)h
-(to)g(stu\013)f(a)g(single)390 4224 y(c)m(haracter)32
-b(in)m(to)f(the)g(input)e(stream.)3371 4398 y([V)-8 b(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 4398 V 51 w(dispatc)m(hing)390
-4508 y Ft(Set)24 b(to)h(a)g(non-zero)g(v)-5 b(alue)24
-b(if)h(a)f(function)g(is)g(b)s(eing)g(called)i(from)d(a)i(k)m(ey)g
-(binding;)g(zero)g(otherwise.)390 4617 y(Application)37
+(to)g(stu\013)f(a)g(single)390 4182 y(c)m(haracter)32
+b(in)m(to)f(the)g(input)e(stream.)3371 4377 y([V)-8 b(ariable])-3598
+b Fg(int)53 b(rl_dispatching)390 4487 y Fs(Set)24 b(to)h(a)g(non-zero)g
+(v)-5 b(alue)24 b(if)h(a)f(function)g(is)g(b)s(eing)g(called)i(from)d
+(a)i(k)m(ey)g(binding;)g(zero)g(otherwise.)390 4596 y(Application)37
b(functions)e(can)h(test)h(this)e(to)i(disco)m(v)m(er)g(whether)e(they)
-h(w)m(ere)g(called)h(directly)f(or)390 4727 y(b)m(y)30
+h(w)m(ere)g(called)h(directly)f(or)390 4706 y(b)m(y)30
b(Readline's)h(dispatc)m(hing)g(mec)m(hanism.)3371 4902
-y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432 4902
-V 51 w(erase)p 737 4902 V 49 w(empt)m(y)p 1100 4902 V
-50 w(line)390 5011 y Ft(Setting)47 b(this)e(to)i(a)f(non-zero)h(v)-5
+y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_erase_empty_line)390
+5011 y Fs(Setting)47 b(this)e(to)i(a)f(non-zero)h(v)-5
b(alue)46 b(causes)h(Readline)f(to)h(completely)g(erase)g(the)f(curren)
m(t)390 5121 y(line,)f(including)c(an)m(y)g(prompt,)j(an)m(y)d(time)h
(a)g(newline)f(is)h(t)m(yp)s(ed)f(as)g(the)h(only)f(c)m(haracter)i(on)
@@ -6109,1931 +5600,1819 @@ m(t)390 5121 y(line,)f(including)c(an)m(y)g(prompt,)j(an)m(y)d(time)h
b(cursor)g(is)g(mo)m(v)m(ed)h(to)g(the)g(b)s(eginning)e(of)i(the)f
(newly-blank)390 5340 y(line.)p eop end
%%Page: 24 28
-TeXDict begin 24 27 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 24 27 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(24)3371
-299 y([V)-8 b(ariable])-3598 b Fg(char)39 b(*)g Ff(rl)p
-575 299 35 5 v 50 w(prompt)390 408 y Ft(The)26 b(prompt)f(Readline)i
-(uses.)38 b(This)26 b(is)g(set)h(from)e(the)i(argumen)m(t)f(to)h
-Fs(readline\(\))p Ft(,)d(and)i(should)390 518 y(not)h(b)s(e)f(assigned)
-h(to)h(directly)-8 b(.)41 b(The)26 b Fs(rl_set_prompt\(\))d
-Ft(function)j(\(see)i(Section)g(2.4.6)h([Redis-)390 628
-y(pla)m(y],)i(page)h(32\))f(ma)m(y)g(b)s(e)f(used)f(to)j(mo)s(dify)d
-(the)i(prompt)e(string)h(after)h(calling)h Fs(readline\(\))p
-Ft(.)3371 814 y([V)-8 b(ariable])-3598 b Fg(char)39 b(*)g
-Ff(rl)p 575 814 V 50 w(displa)m(y)p 975 814 V 50 w(prompt)390
-924 y Ft(The)31 b(string)h(displa)m(y)m(ed)g(as)g(the)g(prompt.)44
-b(This)31 b(is)h(usually)f(iden)m(tical)j(to)e Fi(rl)p
-3031 924 28 4 v 40 w(prompt)p Ft(,)f(but)g(ma)m(y)390
-1033 y(b)s(e)j(c)m(hanged)g(temp)s(orarily)h(b)m(y)f(functions)g(that)g
-(use)g(the)h(prompt)e(string)h(as)h(a)f(message)i(area,)390
-1143 y(suc)m(h)30 b(as)h(incremen)m(tal)g(searc)m(h.)3371
-1329 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-1329 35 5 v 51 w(already)p 851 1329 V 49 w(prompted)390
-1439 y Ft(If)d(an)g(application)i(wishes)d(to)i(displa)m(y)g(the)f
+299 y([V)-8 b(ariable])-3598 b Fg(char)54 b(*)e(rl_prompt)390
+408 y Fs(The)26 b(prompt)f(Readline)i(uses.)38 b(This)26
+b(is)g(set)h(from)e(the)i(argumen)m(t)f(to)h Fr(readline\(\))p
+Fs(,)d(and)i(should)390 518 y(not)h(b)s(e)f(assigned)h(to)h(directly)-8
+b(.)41 b(The)26 b Fr(rl_set_prompt\(\))d Fs(function)j(\(see)i(Section)
+g(2.4.6)h([Redis-)390 628 y(pla)m(y],)i(page)h(32\))f(ma)m(y)g(b)s(e)f
+(used)f(to)j(mo)s(dify)d(the)i(prompt)e(string)h(after)h(calling)h
+Fr(readline\(\))p Fs(.)3371 814 y([V)-8 b(ariable])-3598
+b Fg(char)54 b(*)e(rl_display_prompt)390 924 y Fs(The)31
+b(string)h(displa)m(y)m(ed)g(as)g(the)f(prompt.)44 b(This)31
+b(is)g(usually)h(iden)m(tical)h(to)f Fi(rl)p 3029 924
+28 4 v 40 w(prompt)r Fs(,)f(but)g(ma)m(y)390 1033 y(b)s(e)j(c)m(hanged)
+g(temp)s(orarily)h(b)m(y)f(functions)g(that)g(use)g(the)h(prompt)e
+(string)h(as)h(a)f(message)i(area,)390 1143 y(suc)m(h)30
+b(as)h(incremen)m(tal)g(searc)m(h.)3371 1329 y([V)-8
+b(ariable])-3598 b Fg(int)53 b(rl_already_prompted)390
+1439 y Fs(If)36 b(an)g(application)i(wishes)d(to)i(displa)m(y)g(the)f
(prompt)g(itself,)i(rather)f(than)f(ha)m(v)m(e)h(Readline)g(do)390
-1548 y(it)c(the)g(\014rst)f(time)i Fs(readline\(\))c
-Ft(is)i(called,)j(it)e(should)f(set)h(this)g(v)-5 b(ariable)34
+1548 y(it)c(the)g(\014rst)f(time)i Fr(readline\(\))c
+Fs(is)i(called,)j(it)e(should)f(set)h(this)g(v)-5 b(ariable)34
b(to)f(a)g(non-zero)g(v)-5 b(alue)390 1658 y(after)38
b(displa)m(ying)h(the)f(prompt.)63 b(The)37 b(prompt)g(m)m(ust)h(also)h
(b)s(e)e(passed)g(as)i(the)f(argumen)m(t)g(to)390 1767
-y Fs(readline\(\))30 b Ft(so)j(the)h(redispla)m(y)f(functions)f(can)i
+y Fr(readline\(\))30 b Fs(so)j(the)h(redispla)m(y)f(functions)f(can)i
(up)s(date)e(the)h(displa)m(y)g(prop)s(erly)-8 b(.)48
b(The)32 b(calling)390 1877 y(application)g(is)e(resp)s(onsible)g(for)g
(managing)h(the)f(v)-5 b(alue;)31 b(Readline)g(nev)m(er)g(sets)g(it.)
-3371 2063 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
-Ff(rl)p 875 2063 V 50 w(library)p 1263 2063 V 50 w(v)m(ersion)390
-2173 y Ft(The)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(of)h(this)h(revision)
-f(of)h(the)f(library)-8 b(.)3371 2359 y([V)g(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 2359 V 51 w(readline)p 884
-2359 V 48 w(v)m(ersion)390 2469 y Ft(An)34 b(in)m(teger)h(enco)s(ding)f
-(the)g(curren)m(t)g(v)m(ersion)h(of)f(the)g(library)-8
-b(.)52 b(The)34 b(enco)s(ding)g(is)g(of)g(the)g(form)390
-2578 y(0x)p Fi(MMmm)p Ft(,)39 b(where)d Fi(MM)47 b Ft(is)36
-b(the)h(t)m(w)m(o-digit)i(ma)5 b(jor)36 b(v)m(ersion)h(n)m(um)m(b)s
-(er,)g(and)f Fi(mm)g Ft(is)h(the)f(t)m(w)m(o-)390 2688
-y(digit)i(minor)f(v)m(ersion)h(n)m(um)m(b)s(er.)60 b(F)-8
-b(or)38 b(example,)i(for)d(Readline-4.2,)k Fs(rl_readline_version)390
-2798 y Ft(w)m(ould)30 b(ha)m(v)m(e)i(the)e(v)-5 b(alue)31
-b(0x0402.)3371 2984 y([V)-8 b(ariable])-3598 b Fg(int)39
-b Ff(rl)p 432 2984 V 51 w(gn)m(u)p 665 2984 V 49 w(readline)p
-1115 2984 V 49 w(p)390 3093 y Ft(Alw)m(a)m(ys)32 b(set)f(to)g(1,)g
-(denoting)f(that)h(this)g(is)f Fm(gnu)g Ft(readline)h(rather)f(than)g
-(some)h(em)m(ulation.)3371 3280 y([V)-8 b(ariable])-3598
-b Fg(const)40 b(char)f(*)g Ff(rl)p 875 3280 V 50 w(terminal)p
-1349 3280 V 49 w(name)390 3389 y Ft(The)28 b(terminal)g(t)m(yp)s(e,)h
-(used)e(for)h(initialization.)43 b(If)28 b(not)g(set)h(b)m(y)e(the)i
+3371 2063 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g
+(rl_library_version)390 2173 y Fs(The)30 b(v)m(ersion)h(n)m(um)m(b)s
+(er)e(of)h(this)h(revision)f(of)h(the)f(library)-8 b(.)3371
+2359 y([V)g(ariable])-3598 b Fg(int)53 b(rl_readline_version)390
+2469 y Fs(An)34 b(in)m(teger)h(enco)s(ding)f(the)g(curren)m(t)g(v)m
+(ersion)h(of)f(the)g(library)-8 b(.)52 b(The)34 b(enco)s(ding)g(is)g
+(of)g(the)g(form)390 2578 y(0x)p Fi(MMmm)p Fs(,)39 b(where)d
+Fi(MM)47 b Fs(is)36 b(the)h(t)m(w)m(o-digit)i(ma)5 b(jor)36
+b(v)m(ersion)h(n)m(um)m(b)s(er,)g(and)f Fi(mm)g Fs(is)h(the)f(t)m(w)m
+(o-)390 2688 y(digit)i(minor)f(v)m(ersion)h(n)m(um)m(b)s(er.)60
+b(F)-8 b(or)38 b(example,)i(for)d(Readline-4.2,)k Fr
+(rl_readline_version)390 2798 y Fs(w)m(ould)30 b(ha)m(v)m(e)i(the)e(v)
+-5 b(alue)31 b(0x0402.)3371 2984 y([V)-8 b(ariable])-3598
+b Fg(int)53 b(rl_gnu_readline_p)390 3093 y Fs(Alw)m(a)m(ys)32
+b(set)f(to)g(1,)g(denoting)f(that)h(this)g(is)f Fl(gnu)g
+Fs(readline)h(rather)f(than)g(some)h(em)m(ulation.)3371
+3280 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g
+(rl_terminal_name)390 3389 y Fs(The)28 b(terminal)g(t)m(yp)s(e,)h(used)
+e(for)h(initialization.)43 b(If)28 b(not)g(set)h(b)m(y)e(the)i
(application,)h(Readline)f(sets)390 3499 y(this)h(to)h(the)g(v)-5
-b(alue)31 b(of)f(the)h Fs(TERM)e Ft(en)m(vironmen)m(t)i(v)-5
+b(alue)31 b(of)f(the)h Fr(TERM)e Fs(en)m(vironmen)m(t)i(v)-5
b(ariable)31 b(the)g(\014rst)e(time)j(it)e(is)h(called.)3371
-3685 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
-Ff(rl)p 875 3685 V 50 w(readline)p 1326 3685 V 48 w(name)390
-3795 y Ft(This)30 b(v)-5 b(ariable)32 b(is)g(set)f(to)h(a)g(unique)e
-(name)h(b)m(y)g(eac)m(h)i(application)f(using)f(Readline.)44
-b(The)30 b(v)-5 b(alue)390 3904 y(allo)m(ws)29 b(conditional)h(parsing)
-d(of)h(the)h(inputrc)e(\014le)h(\(see)h(Section)g(1.3.2)g([Conditional)
-g(Init)f(Con-)390 4014 y(structs],)j(page)g(9\).)3371
-4200 y([V)-8 b(ariable])-3598 b Fg(FILE)39 b(*)g Ff(rl)p
-575 4200 V 50 w(instream)390 4310 y Ft(The)h(stdio)i(stream)f(from)g
-(whic)m(h)f(Readline)i(reads)f(input.)71 b(If)41 b Fs(NULL)p
-Ft(,)i(Readline)e(defaults)g(to)390 4419 y Fi(stdin)p
-Ft(.)3371 4606 y([V)-8 b(ariable])-3598 b Fg(FILE)39
-b(*)g Ff(rl)p 575 4606 V 50 w(outstream)390 4715 y Ft(The)34
+3685 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g
+(rl_readline_name)390 3795 y Fs(This)30 b(v)-5 b(ariable)32
+b(is)g(set)f(to)h(a)g(unique)e(name)h(b)m(y)g(eac)m(h)i(application)f
+(using)f(Readline.)44 b(The)30 b(v)-5 b(alue)390 3904
+y(allo)m(ws)29 b(conditional)h(parsing)d(of)h(the)h(inputrc)e(\014le)h
+(\(see)h(Section)g(1.3.2)g([Conditional)g(Init)f(Con-)390
+4014 y(structs],)j(page)g(10\).)3371 4200 y([V)-8 b(ariable])-3598
+b Fg(FILE)54 b(*)e(rl_instream)390 4310 y Fs(The)40 b(stdio)i(stream)f
+(from)g(whic)m(h)f(Readline)i(reads)f(input.)71 b(If)41
+b Fr(NULL)p Fs(,)i(Readline)e(defaults)g(to)390 4419
+y Fi(stdin)p Fs(.)3371 4606 y([V)-8 b(ariable])-3598
+b Fg(FILE)54 b(*)e(rl_outstream)390 4715 y Fs(The)34
b(stdio)h(stream)f(to)i(whic)m(h)e(Readline)h(p)s(erforms)e(output.)52
-b(If)34 b Fs(NULL)p Ft(,)h(Readline)g(defaults)f(to)390
-4825 y Fi(stdout)p Ft(.)3371 5011 y([V)-8 b(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 5011 V 51 w(prefer)p 782 5011
-V 49 w(en)m(v)p 1005 5011 V 50 w(winsize)390 5121 y Ft(If)28
+b(If)34 b Fr(NULL)p Fs(,)h(Readline)g(defaults)f(to)390
+4825 y Fi(stdout)r Fs(.)3371 5011 y([V)-8 b(ariable])-3598
+b Fg(int)53 b(rl_prefer_env_winsize)390 5121 y Fs(If)28
b(non-zero,)h(Readline)g(giv)m(es)h(v)-5 b(alues)29 b(found)e(in)h(the)
-g Fs(LINES)f Ft(and)h Fs(COLUMNS)e Ft(en)m(vironmen)m(t)j(v)-5
+g Fr(LINES)f Fs(and)h Fr(COLUMNS)e Fs(en)m(vironmen)m(t)j(v)-5
b(ari-)390 5230 y(ables)41 b(greater)h(precedence)g(than)e(v)-5
b(alues)41 b(fetc)m(hed)h(from)e(the)h(k)m(ernel)h(when)e(computing)h
(the)390 5340 y(screen)30 b(dimensions.)p eop end
%%Page: 25 29
-TeXDict begin 25 28 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 25 28 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(25)3371
-299 y([V)-8 b(ariable])-3598 b Fg(rl_command_func_t)43
-b(*)c Ff(rl)p 1255 299 35 5 v 50 w(last)p 1483 299 V
-50 w(func)390 408 y Ft(The)34 b(address)g(of)h(the)g(last)h(command)e
-(function)g(Readline)i(executed.)55 b(Ma)m(y)35 b(b)s(e)g(used)f(to)h
-(test)390 518 y(whether)30 b(or)g(not)h(a)f(function)h(is)f(b)s(eing)g
-(executed)h(t)m(wice)h(in)e(succession,)h(for)f(example.)3371
-726 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t)42 b(*)d
-Ff(rl)p 1098 726 V 50 w(startup)p 1514 726 V 49 w(ho)s(ok)390
-836 y Ft(If)34 b(non-zero,)i(this)e(is)h(the)f(address)f(of)i(a)g
-(function)f(to)h(call)g(just)f(b)s(efore)g Fs(readline)e
-Ft(prin)m(ts)i(the)390 945 y(\014rst)c(prompt.)3371 1154
-y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t)42 b(*)d
-Ff(rl)p 1098 1154 V 50 w(pre)p 1312 1154 V 50 w(input)p
-1631 1154 V 49 w(ho)s(ok)390 1263 y Ft(If)c(non-zero,)j(this)d(is)g
-(the)h(address)f(of)g(a)h(function)f(to)i(call)f(after)g(the)g(\014rst)
-f(prompt)f(has)i(b)s(een)390 1373 y(prin)m(ted)30 b(and)g(just)f(b)s
-(efore)h Fs(readline)f Ft(starts)h(reading)h(input)e(c)m(haracters.)
-3371 1581 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t)42
-b(*)d Ff(rl)p 1098 1581 V 50 w(ev)m(en)m(t)p 1417 1581
-V 49 w(ho)s(ok)390 1691 y Ft(If)h(non-zero,)k(this)d(is)f(the)h
-(address)f(of)h(a)g(function)f(to)h(call)h(p)s(erio)s(dically)f(when)f
-(Readline)h(is)390 1800 y(w)m(aiting)30 b(for)f(terminal)h(input.)39
-b(By)30 b(default,)g(this)f(will)g(b)s(e)g(called)h(at)g(most)f(ten)h
-(times)f(a)h(second)390 1910 y(if)g(there)h(is)f(no)h(k)m(eyb)s(oard)f
-(input.)3371 2118 y([V)-8 b(ariable])-3598 b Fg(rl_getc_func_t)42
-b(*)d Ff(rl)p 1098 2118 V 50 w(getc)p 1354 2118 V 50
-w(function)390 2228 y Ft(If)30 b(non-zero,)h(Readline)g(will)g(call)h
-(indirectly)e(through)g(this)h(p)s(oin)m(ter)f(to)h(get)h(a)e(c)m
-(haracter)i(from)390 2337 y(the)39 b(input)e(stream.)65
-b(By)39 b(default,)i(it)e(is)f(set)h(to)g Fs(rl_getc)p
-Ft(,)g(the)g(default)f(Readline)h(c)m(haracter)390 2447
+299 y([V)-8 b(ariable])-3598 b Fg(rl_command_func_t)57
+b(*)c(rl_last_func)390 408 y Fs(The)34 b(address)g(of)h(the)g(last)h
+(command)e(function)g(Readline)i(executed.)55 b(Ma)m(y)35
+b(b)s(e)g(used)f(to)h(test)390 518 y(whether)30 b(or)g(not)h(a)f
+(function)h(is)f(b)s(eing)g(executed)h(t)m(wice)h(in)e(succession,)h
+(for)f(example.)3371 726 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t)
+57 b(*)52 b(rl_startup_hook)390 836 y Fs(If)34 b(non-zero,)i(this)e(is)
+h(the)f(address)f(of)i(a)g(function)f(to)h(call)g(just)f(b)s(efore)g
+Fr(readline)e Fs(prin)m(ts)i(the)390 945 y(\014rst)c(prompt.)3371
+1154 y([V)-8 b(ariable])-3598 b Fg(rl_hook_func_t)57
+b(*)52 b(rl_pre_input_hook)390 1263 y Fs(If)35 b(non-zero,)j(this)d(is)
+g(the)h(address)f(of)g(a)h(function)f(to)i(call)f(after)g(the)g
+(\014rst)f(prompt)f(has)i(b)s(een)390 1373 y(prin)m(ted)30
+b(and)g(just)f(b)s(efore)h Fr(readline)f Fs(starts)h(reading)h(input)e
+(c)m(haracters.)3371 1581 y([V)-8 b(ariable])-3598 b
+Fg(rl_hook_func_t)57 b(*)52 b(rl_event_hook)390 1691
+y Fs(If)40 b(non-zero,)k(this)d(is)f(the)h(address)f(of)h(a)g(function)
+f(to)h(call)h(p)s(erio)s(dically)f(when)f(Readline)h(is)390
+1800 y(w)m(aiting)30 b(for)f(terminal)h(input.)39 b(By)30
+b(default,)g(this)f(will)g(b)s(e)g(called)h(at)g(most)f(ten)h(times)f
+(a)h(second)390 1910 y(if)g(there)h(is)f(no)h(k)m(eyb)s(oard)f(input.)
+3371 2118 y([V)-8 b(ariable])-3598 b Fg(rl_getc_func_t)57
+b(*)52 b(rl_getc_function)390 2228 y Fs(If)30 b(non-zero,)h(Readline)g
+(will)g(call)h(indirectly)e(through)g(this)h(p)s(oin)m(ter)f(to)h(get)h
+(a)e(c)m(haracter)i(from)390 2337 y(the)39 b(input)e(stream.)65
+b(By)39 b(default,)i(it)e(is)f(set)h(to)g Fr(rl_getc)p
+Fs(,)g(the)g(default)f(Readline)h(c)m(haracter)390 2447
y(input)29 b(function)h(\(see)i(Section)f(2.4.8)h([Character)f(Input],)
-f(page)h(34\).)3371 2655 y([V)-8 b(ariable])-3598 b Fg(rl_voidfunc_t)42
-b(*)d Ff(rl)p 1046 2655 V 50 w(redispla)m(y)p 1546 2655
-V 49 w(function)390 2765 y Ft(If)d(non-zero,)i(Readline)e(will)h(call)g
-(indirectly)f(through)g(this)g(p)s(oin)m(ter)g(to)g(up)s(date)g(the)g
-(displa)m(y)390 2874 y(with)27 b(the)g(curren)m(t)g(con)m(ten)m(ts)h
-(of)f(the)h(editing)f(bu\013er.)39 b(By)27 b(default,)h(it)g(is)f(set)g
-(to)h Fs(rl_redisplay)p Ft(,)390 2984 y(the)j(default)f(Readline)h
-(redispla)m(y)g(function)f(\(see)h(Section)g(2.4.6)h([Redispla)m(y],)g
-(page)f(32\).)3371 3192 y([V)-8 b(ariable])-3598 b Fg(rl_vintfunc_t)42
-b(*)d Ff(rl)p 1046 3192 V 50 w(prep)p 1324 3192 V 49
-w(term)p 1613 3192 V 51 w(function)390 3302 y Ft(If)24
-b(non-zero,)i(Readline)e(will)h(call)g(indirectly)g(through)e(this)h(p)
-s(oin)m(ter)g(to)h(initialize)h(the)e(terminal.)390 3411
-y(The)37 b(function)f(tak)m(es)j(a)e(single)h(argumen)m(t,)i(an)d
-Fs(int)f Ft(\015ag)h(that)h(sa)m(ys)g(whether)e(or)h(not)g(to)h(use)390
-3521 y(eigh)m(t-bit)e(c)m(haracters.)53 b(By)35 b(default,)g(this)f(is)
-g(set)h(to)g Fs(rl_prep_terminal)29 b Ft(\(see)35 b(Section)g(2.4.9)390
-3630 y([T)-8 b(erminal)31 b(Managemen)m(t],)i(page)e(35\).)3371
-3839 y([V)-8 b(ariable])-3598 b Fg(rl_voidfunc_t)42 b(*)d
-Ff(rl)p 1046 3839 V 50 w(deprep)p 1441 3839 V 49 w(term)p
-1730 3839 V 50 w(function)390 3948 y Ft(If)d(non-zero,)j(Readline)e
-(will)g(call)h(indirectly)f(through)f(this)g(p)s(oin)m(ter)h(to)g
+f(page)h(34\).)3371 2655 y([V)-8 b(ariable])-3598 b Fg(rl_voidfunc_t)56
+b(*)d(rl_redisplay_function)390 2765 y Fs(If)36 b(non-zero,)i(Readline)
+e(will)h(call)g(indirectly)f(through)g(this)g(p)s(oin)m(ter)g(to)g(up)s
+(date)g(the)g(displa)m(y)390 2874 y(with)27 b(the)g(curren)m(t)g(con)m
+(ten)m(ts)h(of)f(the)h(editing)f(bu\013er.)39 b(By)27
+b(default,)h(it)g(is)f(set)g(to)h Fr(rl_redisplay)p Fs(,)390
+2984 y(the)j(default)f(Readline)h(redispla)m(y)g(function)f(\(see)h
+(Section)g(2.4.6)h([Redispla)m(y],)g(page)f(32\).)3371
+3192 y([V)-8 b(ariable])-3598 b Fg(rl_vintfunc_t)56 b(*)d
+(rl_prep_term_function)390 3302 y Fs(If)24 b(non-zero,)i(Readline)e
+(will)h(call)g(indirectly)g(through)e(this)h(p)s(oin)m(ter)g(to)h
+(initialize)h(the)e(terminal.)390 3411 y(The)37 b(function)f(tak)m(es)j
+(a)e(single)h(argumen)m(t,)i(an)d Fr(int)f Fs(\015ag)h(that)h(sa)m(ys)g
+(whether)e(or)h(not)g(to)h(use)390 3521 y(eigh)m(t-bit)e(c)m
+(haracters.)53 b(By)35 b(default,)g(this)f(is)g(set)h(to)g
+Fr(rl_prep_terminal)29 b Fs(\(see)35 b(Section)g(2.4.9)390
+3630 y([T)-8 b(erminal)31 b(Managemen)m(t],)i(page)e(34\).)3371
+3839 y([V)-8 b(ariable])-3598 b Fg(rl_voidfunc_t)56 b(*)d
+(rl_deprep_term_functio)q(n)390 3948 y Fs(If)36 b(non-zero,)j(Readline)
+e(will)g(call)h(indirectly)f(through)f(this)g(p)s(oin)m(ter)h(to)g
(reset)g(the)g(terminal.)390 4058 y(This)d(function)h(should)f(undo)g
-(the)h(e\013ects)h(of)f Fs(rl_prep_term_function)p Ft(.)49
+(the)h(e\013ects)h(of)f Fr(rl_prep_term_function)p Fs(.)49
b(By)35 b(default,)i(this)390 4167 y(is)30 b(set)h(to)g
-Fs(rl_deprep_terminal)26 b Ft(\(see)31 b(Section)g(2.4.9)i([T)-8
-b(erminal)30 b(Managemen)m(t],)j(page)e(35\).)3371 4376
-y([V)-8 b(ariable])-3598 b Fg(Keymap)40 b Ff(rl)p 589
-4376 V 50 w(executing)p 1118 4376 V 49 w(k)m(eymap)390
-4485 y Ft(This)35 b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m
+Fr(rl_deprep_terminal)26 b Fs(\(see)31 b(Section)g(2.4.9)i([T)-8
+b(erminal)30 b(Managemen)m(t],)j(page)e(34\).)3371 4376
+y([V)-8 b(ariable])-3598 b Fg(Keymap)54 b(rl_executing_keymap)390
+4485 y Fs(This)35 b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m
(eymap)h(\(see)g(Section)f(2.4.2)i([Keymaps],)g(page)e(28\))i(in)d
(whic)m(h)390 4595 y(the)c(curren)m(tly)f(executing)i(readline)e
(function)g(w)m(as)h(found.)3371 4803 y([V)-8 b(ariable])-3598
-b Fg(Keymap)40 b Ff(rl)p 589 4803 V 50 w(binding)p 1016
-4803 V 49 w(k)m(eymap)390 4913 y Ft(This)35 b(v)-5 b(ariable)37
-b(is)f(set)g(to)h(the)f(k)m(eymap)h(\(see)g(Section)f(2.4.2)i
-([Keymaps],)g(page)e(28\))i(in)d(whic)m(h)390 5022 y(the)c(last)g(k)m
-(ey)g(binding)e(o)s(ccurred.)3371 5230 y([V)-8 b(ariable])-3598
-b Fg(char)39 b(*)g Ff(rl)p 575 5230 V 50 w(executing)p
-1104 5230 V 49 w(macro)390 5340 y Ft(This)30 b(v)-5 b(ariable)31
-b(is)f(set)h(to)g(the)g(text)g(of)g(an)m(y)f(curren)m(tly-executing)i
-(macro.)p eop end
+b Fg(Keymap)54 b(rl_binding_keymap)390 4913 y Fs(This)35
+b(v)-5 b(ariable)37 b(is)f(set)g(to)h(the)f(k)m(eymap)h(\(see)g
+(Section)f(2.4.2)i([Keymaps],)g(page)e(28\))i(in)d(whic)m(h)390
+5022 y(the)c(last)g(k)m(ey)g(binding)e(o)s(ccurred.)3371
+5230 y([V)-8 b(ariable])-3598 b Fg(char)54 b(*)e(rl_executing_macro)390
+5340 y Fs(This)30 b(v)-5 b(ariable)31 b(is)f(set)h(to)g(the)g(text)g
+(of)g(an)m(y)f(curren)m(tly-executing)i(macro.)p eop
+end
%%Page: 26 30
-TeXDict begin 26 29 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 26 29 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(26)3371
-299 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(readline)p 884 299 V 48 w(state)390 408
-y Ft(A)c(v)-5 b(ariable)35 b(with)f(bit)g(v)-5 b(alues)35
-b(that)g(encapsulate)h(the)e(curren)m(t)h(Readline)g(state.)54
-b(A)34 b(bit)h(is)f(set)390 518 y(with)k(the)g Fs(RL_SETSTATE)c
-Ft(macro,)41 b(and)c(unset)h(with)f(the)h Fs(RL_UNSETSTATE)d
-Ft(macro.)63 b(Use)39 b(the)390 628 y Fs(RL_ISSTATE)34
-b Ft(macro)k(to)g(test)g(whether)f(a)h(particular)f(state)i(bit)e(is)g
+299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_readline_state)390
+408 y Fs(A)35 b(v)-5 b(ariable)35 b(with)f(bit)g(v)-5
+b(alues)35 b(that)g(encapsulate)h(the)e(curren)m(t)h(Readline)g(state.)
+54 b(A)34 b(bit)h(is)f(set)390 518 y(with)k(the)g Fr(RL_SETSTATE)c
+Fs(macro,)41 b(and)c(unset)h(with)f(the)h Fr(RL_UNSETSTATE)d
+Fs(macro.)63 b(Use)39 b(the)390 628 y Fr(RL_ISSTATE)34
+b Fs(macro)k(to)g(test)g(whether)f(a)h(particular)f(state)i(bit)e(is)g
(set.)62 b(Curren)m(t)36 b(state)j(bits)390 737 y(include:)390
-904 y Fs(RL_STATE_NONE)870 1013 y Ft(Readline)31 b(has)f(not)h(y)m(et)g
+904 y Fr(RL_STATE_NONE)870 1013 y Fs(Readline)31 b(has)f(not)h(y)m(et)g
(b)s(een)f(called,)i(nor)e(has)g(it)h(b)s(egun)e(to)i(in)m(tialize.)390
-1178 y Fs(RL_STATE_INITIALIZING)870 1287 y Ft(Readline)g(is)f
+1178 y Fr(RL_STATE_INITIALIZING)870 1287 y Fs(Readline)g(is)f
(initializing)j(its)e(in)m(ternal)g(data)g(structures.)390
-1452 y Fs(RL_STATE_INITIALIZED)870 1561 y Ft(Readline)g(has)f
-(completed)h(its)g(initialization.)390 1725 y Fs(RL_STATE_TERMPREPPED)
-870 1835 y Ft(Readline)e(has)g(mo)s(di\014ed)e(the)i(terminal)g(mo)s
+1452 y Fr(RL_STATE_INITIALIZED)870 1561 y Fs(Readline)g(has)f
+(completed)h(its)g(initialization.)390 1725 y Fr(RL_STATE_TERMPREPPED)
+870 1835 y Fs(Readline)e(has)g(mo)s(di\014ed)e(the)i(terminal)g(mo)s
(des)f(to)i(do)e(its)i(o)m(wn)e(input)g(and)g(redis-)870
-1945 y(pla)m(y)-8 b(.)390 2109 y Fs(RL_STATE_READCMD)870
-2218 y Ft(Readline)31 b(is)f(reading)h(a)g(command)f(from)g(the)g(k)m
-(eyb)s(oard.)390 2383 y Fs(RL_STATE_METANEXT)870 2492
-y Ft(Readline)h(is)f(reading)h(more)f(input)g(after)h(reading)f(the)h
-(meta-pre\014x)f(c)m(haracter.)390 2656 y Fs(RL_STATE_DISPATCHING)870
-2766 y Ft(Readline)h(is)f(dispatc)m(hing)h(to)g(a)g(command.)390
-2930 y Fs(RL_STATE_MOREINPUT)870 3040 y Ft(Readline)g(is)f(reading)h
+1945 y(pla)m(y)-8 b(.)390 2109 y Fr(RL_STATE_READCMD)870
+2218 y Fs(Readline)31 b(is)f(reading)h(a)g(command)f(from)g(the)g(k)m
+(eyb)s(oard.)390 2383 y Fr(RL_STATE_METANEXT)870 2492
+y Fs(Readline)h(is)f(reading)h(more)f(input)g(after)h(reading)f(the)h
+(meta-pre\014x)f(c)m(haracter.)390 2656 y Fr(RL_STATE_DISPATCHING)870
+2766 y Fs(Readline)h(is)f(dispatc)m(hing)h(to)g(a)g(command.)390
+2930 y Fr(RL_STATE_MOREINPUT)870 3040 y Fs(Readline)g(is)f(reading)h
(more)f(input)g(while)g(executing)i(an)e(editing)h(command.)390
-3204 y Fs(RL_STATE_ISEARCH)870 3314 y Ft(Readline)g(is)f(p)s(erforming)
+3204 y Fr(RL_STATE_ISEARCH)870 3314 y Fs(Readline)g(is)f(p)s(erforming)
g(an)g(incremen)m(tal)i(history)e(searc)m(h.)390 3478
-y Fs(RL_STATE_NSEARCH)870 3587 y Ft(Readline)h(is)f(p)s(erforming)g(a)g
+y Fr(RL_STATE_NSEARCH)870 3587 y Fs(Readline)h(is)f(p)s(erforming)g(a)g
(non-incremen)m(tal)i(history)e(searc)m(h.)390 3752 y
-Fs(RL_STATE_SEARCH)870 3861 y Ft(Readline)21 b(is)f(searc)m(hing)i(bac)
+Fr(RL_STATE_SEARCH)870 3861 y Fs(Readline)21 b(is)f(searc)m(hing)i(bac)
m(kw)m(ard)e(or)h(forw)m(ard)e(through)h(the)h(history)f(for)g(a)h
-(string.)390 4026 y Fs(RL_STATE_NUMERICARG)870 4135 y
-Ft(Readline)31 b(is)f(reading)h(a)g(n)m(umeric)f(argumen)m(t.)390
-4299 y Fs(RL_STATE_MACROINPUT)870 4409 y Ft(Readline)25
+(string.)390 4026 y Fr(RL_STATE_NUMERICARG)870 4135 y
+Fs(Readline)31 b(is)f(reading)h(a)g(n)m(umeric)f(argumen)m(t.)390
+4299 y Fr(RL_STATE_MACROINPUT)870 4409 y Fs(Readline)25
b(is)f(curren)m(tly)g(getting)i(its)f(input)e(from)h(a)g
(previously-de\014ned)f(k)m(eyb)s(oard)870 4519 y(macro.)390
-4683 y Fs(RL_STATE_MACRODEF)870 4792 y Ft(Readline)31
+4683 y Fr(RL_STATE_MACRODEF)870 4792 y Fs(Readline)31
b(is)f(curren)m(tly)h(reading)f(c)m(haracters)i(de\014ning)e(a)g(k)m
-(eyb)s(oard)h(macro.)390 4957 y Fs(RL_STATE_OVERWRITE)870
-5066 y Ft(Readline)g(is)f(in)g(o)m(v)m(erwrite)i(mo)s(de.)390
-5230 y Fs(RL_STATE_COMPLETING)870 5340 y Ft(Readline)f(is)f(p)s
+(eyb)s(oard)h(macro.)390 4957 y Fr(RL_STATE_OVERWRITE)870
+5066 y Fs(Readline)g(is)f(in)g(o)m(v)m(erwrite)i(mo)s(de.)390
+5230 y Fr(RL_STATE_COMPLETING)870 5340 y Fs(Readline)f(is)f(p)s
(erforming)g(w)m(ord)g(completion.)p eop end
%%Page: 27 31
-TeXDict begin 27 30 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 27 30 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(27)390
-299 y Fs(RL_STATE_SIGHANDLER)870 408 y Ft(Readline)31
+299 y Fr(RL_STATE_SIGHANDLER)870 408 y Fs(Readline)31
b(is)f(curren)m(tly)h(executing)g(the)g(readline)g(signal)g(handler.)
-390 577 y Fs(RL_STATE_UNDOING)870 687 y Ft(Readline)g(is)f(p)s
-(erforming)g(an)g(undo.)390 856 y Fs(RL_STATE_INPUTPENDING)870
-966 y Ft(Readline)h(has)f(input)g(p)s(ending)f(due)g(to)i(a)g(call)h
-(to)f Fs(rl_execute_next\(\))p Ft(.)390 1134 y Fs(RL_STATE_TTYCSAVED)
-870 1244 y Ft(Readline)g(has)f(sa)m(v)m(ed)i(the)e(v)-5
+390 563 y Fr(RL_STATE_UNDOING)870 673 y Fs(Readline)g(is)f(p)s
+(erforming)g(an)g(undo.)390 827 y Fr(RL_STATE_INPUTPENDING)870
+937 y Fs(Readline)h(has)f(input)g(p)s(ending)f(due)g(to)i(a)g(call)h
+(to)f Fr(rl_execute_next\(\))p Fs(.)390 1092 y Fr(RL_STATE_TTYCSAVED)
+870 1201 y Fs(Readline)g(has)f(sa)m(v)m(ed)i(the)e(v)-5
b(alues)31 b(of)f(the)h(terminal's)g(sp)s(ecial)g(c)m(haracters.)390
-1413 y Fs(RL_STATE_CALLBACK)870 1523 y Ft(Readline)44
+1356 y Fr(RL_STATE_CALLBACK)870 1466 y Fs(Readline)44
b(is)f(curren)m(tly)g(using)f(the)h(alternate)i(\(callbac)m(k\))h(in)m
-(terface)e(\(see)g(Sec-)870 1632 y(tion)31 b(2.4.12)h([Alternate)h(In)m
-(terface],)f(page)f(37\).)390 1801 y Fs(RL_STATE_VIMOTION)870
-1911 y Ft(Readline)g(is)f(reading)h(the)f(argumen)m(t)h(to)g(a)g(vi-mo)
-s(de)g Fs(")p Ft(motion)p Fs(")f Ft(command.)390 2080
-y Fs(RL_STATE_MULTIKEY)870 2189 y Ft(Readline)h(is)f(reading)h(a)g(m)m
-(ultiple-k)m(eystrok)m(e)i(command.)390 2358 y Fs(RL_STATE_VICMDONCE)
-870 2468 y Ft(Readline)40 b(has)f(en)m(tered)g(vi)g(command)g(\(mo)m(v)
+(terface)e(\(see)g(Sec-)870 1575 y(tion)31 b(2.4.12)h([Alternate)h(In)m
+(terface],)f(page)f(37\).)390 1730 y Fr(RL_STATE_VIMOTION)870
+1839 y Fs(Readline)g(is)f(reading)h(the)f(argumen)m(t)h(to)g(a)g(vi-mo)
+s(de)g Fr(")p Fs(motion)p Fr(")f Fs(command.)390 1994
+y Fr(RL_STATE_MULTIKEY)870 2104 y Fs(Readline)h(is)f(reading)h(a)g(m)m
+(ultiple-k)m(eystrok)m(e)i(command.)390 2258 y Fr(RL_STATE_VICMDONCE)
+870 2368 y Fs(Readline)40 b(has)f(en)m(tered)g(vi)g(command)g(\(mo)m(v)
m(emen)m(t\))j(mo)s(de)d(at)h(least)g(one)f(time)870
-2577 y(during)29 b(the)i(curren)m(t)f(call)i(to)f Fs(readline\(\))p
-Ft(.)390 2746 y Fs(RL_STATE_DONE)870 2856 y Ft(Readline)d(has)g(read)f
-(a)i(k)m(ey)f(sequence)g(b)s(ound)e(to)i Fs(accept-line)d
-Ft(and)i(is)h(ab)s(out)f(to)870 2965 y(return)i(the)i(line)g(to)g(the)f
-(caller.)3371 3169 y([V)-8 b(ariable])-3598 b Fg(int)39
-b Ff(rl)p 432 3169 35 5 v 51 w(explicit)p 852 3169 V
-49 w(arg)390 3278 y Ft(Set)g(to)g(a)h(non-zero)f(v)-5
+2478 y(during)29 b(the)i(curren)m(t)f(call)i(to)f Fr(readline\(\))p
+Fs(.)390 2632 y Fr(RL_STATE_DONE)870 2742 y Fs(Readline)d(has)g(read)f
+(a)i(k)m(ey)f(sequence)g(b)s(ound)e(to)i Fr(accept-line)d
+Fs(and)i(is)h(ab)s(out)f(to)870 2852 y(return)i(the)i(line)g(to)g(the)f
+(caller.)3371 3029 y([V)-8 b(ariable])-3598 b Fg(int)53
+b(rl_explicit_arg)390 3138 y Fs(Set)39 b(to)g(a)h(non-zero)f(v)-5
b(alue)39 b(if)g(an)g(explicit)h(n)m(umeric)e(argumen)m(t)i(w)m(as)f
-(sp)s(eci\014ed)f(b)m(y)g(the)h(user.)390 3388 y(Only)30
+(sp)s(eci\014ed)f(b)m(y)g(the)h(user.)390 3248 y(Only)30
b(v)-5 b(alid)30 b(in)h(a)f(bindable)g(command)g(function.)3371
-3591 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-3591 V 51 w(n)m(umeric)p 886 3591 V 49 w(arg)390 3701
-y Ft(Set)45 b(to)h(the)g(v)-5 b(alue)46 b(of)f(an)m(y)h(n)m(umeric)f
-(argumen)m(t)h(explicitly)h(sp)s(eci\014ed)d(b)m(y)h(the)h(user)e(b)s
-(efore)390 3811 y(executing)27 b(the)f(curren)m(t)g(Readline)h
-(function.)38 b(Only)26 b(v)-5 b(alid)26 b(in)g(a)g(bindable)f(command)
-h(function.)3371 4014 y([V)-8 b(ariable])-3598 b Fg(int)39
-b Ff(rl)p 432 4014 V 51 w(editing)p 830 4014 V 48 w(mo)s(de)390
-4124 y Ft(Set)25 b(to)h(a)g(v)-5 b(alue)25 b(denoting)h(Readline's)f
-(curren)m(t)g(editing)h(mo)s(de.)39 b(A)25 b(v)-5 b(alue)25
-b(of)h Fi(1)32 b Ft(means)25 b(Readline)390 4233 y(is)30
-b(curren)m(tly)h(in)f(emacs)h(mo)s(de;)f Fi(0)38 b Ft(means)31
-b(that)f(vi)h(mo)s(de)f(is)g(activ)m(e.)150 4514 y Fr(2.4)68
-b(Readline)47 b(Con)l(v)l(enience)f(F)-11 b(unctions)150
-4867 y Fh(2.4.1)63 b(Naming)41 b(a)g(F)-10 b(unction)275
-5121 y Ft(The)39 b(user)g(can)h(dynamically)g(c)m(hange)h(the)f
-(bindings)e(of)i(k)m(eys)h(while)e(using)h(Readline.)69
-b(This)39 b(is)150 5230 y(done)e(b)m(y)f(represen)m(ting)h(the)g
-(function)g(with)f(a)i(descriptiv)m(e)f(name.)61 b(The)36
-b(user)g(is)h(able)g(to)h(t)m(yp)s(e)f(the)150 5340 y(descriptiv)m(e)31
-b(name)g(when)e(referring)h(to)h(the)g(function.)40 b(Th)m(us,)30
-b(in)g(an)g(init)h(\014le,)f(one)h(migh)m(t)g(\014nd)p
-eop end
+3425 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_numeric_arg)390
+3535 y Fs(Set)45 b(to)h(the)g(v)-5 b(alue)46 b(of)f(an)m(y)h(n)m
+(umeric)f(argumen)m(t)h(explicitly)h(sp)s(eci\014ed)d(b)m(y)h(the)h
+(user)e(b)s(efore)390 3644 y(executing)27 b(the)f(curren)m(t)g
+(Readline)h(function.)38 b(Only)26 b(v)-5 b(alid)26 b(in)g(a)g
+(bindable)f(command)h(function.)3371 3822 y([V)-8 b(ariable])-3598
+b Fg(int)53 b(rl_editing_mode)390 3931 y Fs(Set)25 b(to)h(a)g(v)-5
+b(alue)25 b(denoting)h(Readline's)f(curren)m(t)g(editing)h(mo)s(de.)39
+b(A)25 b(v)-5 b(alue)25 b(of)h Fi(1)32 b Fs(means)25
+b(Readline)390 4041 y(is)30 b(curren)m(tly)h(in)f(emacs)h(mo)s(de;)f
+Fi(0)38 b Fs(means)31 b(that)f(vi)h(mo)s(de)f(is)g(activ)m(e.)150
+4269 y Fq(2.4)68 b(Readline)47 b(Con)l(v)l(enience)f(F)-11
+b(unctions)150 4490 y Fh(2.4.1)63 b(Naming)41 b(a)g(F)-10
+b(unction)150 4637 y Fs(The)24 b(user)h(can)g(dynamically)g(c)m(hange)h
+(the)f(bindings)f(of)h(k)m(eys)h(while)e(using)h(Readline.)39
+b(This)24 b(is)h(done)g(b)m(y)150 4747 y(represen)m(ting)30
+b(the)h(function)f(with)g(a)g(descriptiv)m(e)h(name.)41
+b(The)30 b(user)f(is)i(able)f(to)h(t)m(yp)s(e)g(the)f(descriptiv)m(e)
+150 4857 y(name)g(when)g(referring)g(to)h(the)f(function.)41
+b(Th)m(us,)29 b(in)h(an)h(init)f(\014le,)h(one)g(migh)m(t)g(\014nd)390
+4989 y Fr(Meta-Rubout:)92 b(backward-kill-word)275 5121
+y Fs(This)33 b(binds)f(the)j(k)m(eystrok)m(e)h Fr(Meta-Rubout)31
+b Fs(to)k(the)f(function)g Fj(descriptively)43 b Fs(named)33
+b Fr(backward-)150 5230 y(kill-word)p Fs(.)59 b(Y)-8
+b(ou,)39 b(as)f(the)f(programmer,)i(should)d(bind)g(the)h(functions)g
+(y)m(ou)h(write)f(to)h(descriptiv)m(e)150 5340 y(names)30
+b(as)h(w)m(ell.)42 b(Readline)31 b(pro)m(vides)f(a)h(function)f(for)g
+(doing)g(that:)p eop end
%%Page: 28 32
-TeXDict begin 28 31 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(28)390
-299 y Fs(Meta-Rubout:)92 b(backward-kill-word)275 427
-y Ft(This)39 b(binds)f(the)i(k)m(eystrok)m(e)1322 424
-y Fk(h)p 1346 371 417 4 v 1346 427 a Fj(Meta-Rub)r(out)p
-1346 442 V 1759 424 a Fk(i)1828 427 y Ft(to)h(the)f(function)g
-Fn(descriptively)49 b Ft(named)39 b Fs(backward-)150
-537 y(kill-word)p Ft(.)59 b(Y)-8 b(ou,)39 b(as)f(the)f(programmer,)i
-(should)d(bind)g(the)h(functions)g(y)m(ou)h(write)f(to)h(descriptiv)m
-(e)150 646 y(names)30 b(as)h(w)m(ell.)42 b(Readline)31
-b(pro)m(vides)f(a)h(function)f(for)g(doing)g(that:)3350
-811 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-811 35 5 v 51 w(add)p 667 811 V 49 w(defun)44 b Fe(\()p
-Fs(const)29 b(char)g(*name,)g(rl_command_func_t)d(*function,)565
-921 y(int)k(key)p Fe(\))390 1031 y Ft(Add)k Fi(name)41
-b Ft(to)36 b(the)f(list)h(of)g(named)e(functions.)55
-b(Mak)m(e)37 b Fi(function)e Ft(b)s(e)g(the)g(function)g(that)h(gets)
-390 1140 y(called.)42 b(If)30 b Fi(k)m(ey)39 b Ft(is)30
-b(not)h(-1,)g(then)f(bind)f(it)i(to)g Fi(function)f Ft(using)g
-Fs(rl_bind_key\(\))p Ft(.)275 1305 y(Using)g(this)g(function)g(alone)h
-(is)f(su\016cien)m(t)g(for)g(most)h(applications.)42
-b(It)30 b(is)g(the)g(recommended)g(w)m(a)m(y)150 1415
+TeXDict begin 28 31 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(28)3350
+299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_add_defun)c
+Ff(\()p Fi(const)32 b(c)m(har)e(*name,)h(rl)p 1885 299
+28 4 v 40 w(command)p 2309 299 V 40 w(func)p 2519 299
+V 39 w(t)g(*function,)g(in)m(t)565 408 y(k)m(ey)p Ff(\))390
+518 y Fs(Add)j Fi(name)41 b Fs(to)36 b(the)f(list)h(of)g(named)e
+(functions.)55 b(Mak)m(e)37 b Fi(function)e Fs(b)s(e)g(the)g(function)g
+(that)h(gets)390 628 y(called.)42 b(If)30 b Fi(k)m(ey)39
+b Fs(is)30 b(not)h(-1,)g(then)f(bind)f(it)i(to)g Fi(function)f
+Fs(using)g Fr(rl_bind_key\(\))p Fs(.)275 813 y(Using)g(this)g(function)
+g(alone)h(is)f(su\016cien)m(t)g(for)g(most)h(applications.)42
+b(It)30 b(is)g(the)g(recommended)g(w)m(a)m(y)150 923
y(to)e(add)e(a)h(few)g(functions)g(to)g(the)g(default)h(functions)e
(that)i(Readline)f(has)g(built)g(in.)39 b(If)26 b(y)m(ou)i(need)e(to)i
-(do)150 1525 y(something)34 b(other)g(than)f(adding)h(a)g(function)f
+(do)150 1032 y(something)34 b(other)g(than)f(adding)h(a)g(function)f
(to)h(Readline,)i(y)m(ou)e(ma)m(y)g(need)f(to)i(use)e(the)h(underlying)
-150 1634 y(functions)c(describ)s(ed)f(b)s(elo)m(w.)150
-1839 y Fh(2.4.2)63 b(Selecting)41 b(a)f(Keymap)275 2077
-y Ft(Key)30 b(bindings)g(tak)m(e)j(place)e(on)g(a)g Fi(k)m(eymap)p
-Ft(.)43 b(The)31 b(k)m(eymap)g(is)g(the)g(asso)s(ciation)i(b)s(et)m(w)m
-(een)e(the)g(k)m(eys)150 2187 y(that)e(the)g(user)e(t)m(yp)s(es)i(and)f
-(the)g(functions)g(that)h(get)h(run.)39 b(Y)-8 b(ou)29
-b(can)f(mak)m(e)i(y)m(our)e(o)m(wn)h(k)m(eymaps,)g(cop)m(y)150
-2296 y(existing)i(k)m(eymaps,)g(and)f(tell)i(Readline)f(whic)m(h)f(k)m
-(eymap)h(to)g(use.)3350 2461 y([F)-8 b(unction])-3599
-b Fg(Keymap)40 b Ff(rl)p 589 2461 V 50 w(mak)m(e)p 900
-2461 V 51 w(bare)p 1171 2461 V 49 w(k)m(eymap)46 b Fe(\()p
-Fs(void)p Fe(\))390 2571 y Ft(Returns)23 b(a)i(new,)g(empt)m(y)f(k)m
-(eymap.)40 b(The)23 b(space)i(for)f(the)g(k)m(eymap)h(is)f(allo)s
-(cated)i(with)e Fs(malloc\(\))p Ft(;)390 2680 y(the)31
-b(caller)g(should)f(free)g(it)h(b)m(y)f(calling)i Fs
-(rl_discard_keymap\(\))25 b Ft(when)30 b(done.)3350 2846
-y([F)-8 b(unction])-3599 b Fg(Keymap)40 b Ff(rl)p 589
-2846 V 50 w(cop)m(y)p 868 2846 V 51 w(k)m(eymap)46 b
-Fe(\()p Fs(Keymap)29 b(map)p Fe(\))390 2955 y Ft(Return)h(a)g(new)g(k)m
-(eymap)h(whic)m(h)f(is)h(a)f(cop)m(y)h(of)g Fi(map)p
-Ft(.)3350 3121 y([F)-8 b(unction])-3599 b Fg(Keymap)40
-b Ff(rl)p 589 3121 V 50 w(mak)m(e)p 900 3121 V 51 w(k)m(eymap)45
-b Fe(\()p Fs(void)p Fe(\))390 3230 y Ft(Return)31 b(a)g(new)g(k)m
-(eymap)h(with)f(the)h(prin)m(ting)f(c)m(haracters)i(b)s(ound)c(to)j(rl)
-p 2909 3230 28 4 v 40 w(insert,)g(the)g(lo)m(w)m(ercase)390
-3340 y(Meta)24 b(c)m(haracters)g(b)s(ound)d(to)i(run)e(their)i(equiv)-5
-b(alen)m(ts,)25 b(and)d(the)h(Meta)h(digits)f(b)s(ound)e(to)i(pro)s
-(duce)390 3449 y(n)m(umeric)30 b(argumen)m(ts.)3350 3614
-y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p 484 3614
-35 5 v 51 w(discard)p 894 3614 V 49 w(k)m(eymap)46 b
-Fe(\()p Fs(Keymap)29 b(keymap)p Fe(\))390 3724 y Ft(F)-8
-b(ree)31 b(the)g(storage)h(asso)s(ciated)g(with)e Fi(k)m(eymap)p
-Ft(.)275 3889 y(Readline)45 b(has)g(sev)m(eral)i(in)m(ternal)f(k)m
-(eymaps.)86 b(These)45 b(functions)g(allo)m(w)h(y)m(ou)g(to)g(c)m
-(hange)g(whic)m(h)150 3999 y(k)m(eymap)31 b(is)f(activ)m(e.)3350
-4164 y([F)-8 b(unction])-3599 b Fg(Keymap)40 b Ff(rl)p
-589 4164 V 50 w(get)p 794 4164 V 50 w(k)m(eymap)46 b
-Fe(\()p Fs(void)p Fe(\))390 4274 y Ft(Returns)29 b(the)i(curren)m(tly)f
-(activ)m(e)j(k)m(eymap.)3350 4439 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(rl)p 484 4439 V 51 w(set)p 678 4439
-V 49 w(k)m(eymap)46 b Fe(\()p Fs(Keymap)29 b(keymap)p
-Fe(\))390 4548 y Ft(Mak)m(es)j Fi(k)m(eymap)h Ft(the)e(curren)m(tly)f
-(activ)m(e)j(k)m(eymap.)3350 4714 y([F)-8 b(unction])-3599
-b Fg(Keymap)40 b Ff(rl)p 589 4714 V 50 w(get)p 794 4714
-V 50 w(k)m(eymap)p 1229 4714 V 51 w(b)m(y)p 1401 4714
-V 50 w(name)45 b Fe(\()p Fs(const)29 b(char)g(*name)p
-Fe(\))390 4823 y Ft(Return)j(the)i(k)m(eymap)f(matc)m(hing)i
-Fi(name)p Ft(.)49 b Fi(name)38 b Ft(is)c(one)f(whic)m(h)g(w)m(ould)g(b)
-s(e)f(supplied)g(in)h(a)h Fs(set)390 4933 y(keymap)29
-b Ft(inputrc)g(line)i(\(see)g(Section)g(1.3)h([Readline)f(Init)f
-(File],)i(page)f(4\).)3350 5098 y([F)-8 b(unction])-3599
-b Fg(char)39 b(*)g Ff(rl)p 575 5098 V 50 w(get)p 780
-5098 V 50 w(k)m(eymap)p 1215 5098 V 51 w(name)44 b Fe(\()p
-Fs(Keymap)29 b(keymap)p Fe(\))390 5208 y Ft(Return)j(the)i(name)f(matc)
-m(hing)h Fi(k)m(eymap)p Ft(.)50 b Fi(name)38 b Ft(is)c(one)f(whic)m(h)g
-(w)m(ould)g(b)s(e)f(supplied)g(in)h(a)h Fs(set)390 5317
-y(keymap)29 b Ft(inputrc)g(line)i(\(see)g(Section)g(1.3)h([Readline)f
-(Init)f(File],)i(page)f(4\).)p eop end
+150 1142 y(functions)c(describ)s(ed)f(b)s(elo)m(w.)150
+1342 y Fh(2.4.2)63 b(Selecting)41 b(a)f(Keymap)150 1489
+y Fs(Key)f(bindings)e(tak)m(e)j(place)g(on)f(a)g Fi(k)m(eymap)p
+Fs(.)66 b(The)38 b(k)m(eymap)h(is)g(the)g(asso)s(ciation)h(b)s(et)m(w)m
+(een)f(the)g(k)m(eys)150 1598 y(that)29 b(the)g(user)e(t)m(yp)s(es)i
+(and)f(the)g(functions)g(that)h(get)h(run.)39 b(Y)-8
+b(ou)29 b(can)f(mak)m(e)i(y)m(our)e(o)m(wn)h(k)m(eymaps,)g(cop)m(y)150
+1708 y(existing)i(k)m(eymaps,)g(and)f(tell)i(Readline)f(whic)m(h)f(k)m
+(eymap)h(to)g(use.)3350 1894 y([F)-8 b(unction])-3599
+b Fg(Keymap)54 b(rl_make_bare_keymap)d Ff(\()p Fi(v)m(oid)p
+Ff(\))390 2003 y Fs(Returns)23 b(a)i(new,)g(empt)m(y)f(k)m(eymap.)40
+b(The)23 b(space)i(for)f(the)g(k)m(eymap)h(is)f(allo)s(cated)i(with)e
+Fr(malloc\(\))p Fs(;)390 2113 y(the)31 b(caller)g(should)f(free)g(it)h
+(b)m(y)f(calling)i Fr(rl_free_keymap\(\))26 b Fs(when)j(done.)3350
+2298 y([F)-8 b(unction])-3599 b Fg(Keymap)54 b(rl_copy_keymap)c
+Ff(\()p Fi(Keymap)30 b(map)p Ff(\))390 2408 y Fs(Return)g(a)g(new)g(k)m
+(eymap)h(whic)m(h)f(is)h(a)f(cop)m(y)h(of)g Fi(map)s
+Fs(.)3350 2594 y([F)-8 b(unction])-3599 b Fg(Keymap)54
+b(rl_make_keymap)c Ff(\()p Fi(v)m(oid)p Ff(\))390 2703
+y Fs(Return)31 b(a)g(new)g(k)m(eymap)h(with)f(the)h(prin)m(ting)f(c)m
+(haracters)i(b)s(ound)c(to)j(rl)p 2909 2703 V 40 w(insert,)g(the)g(lo)m
+(w)m(ercase)390 2813 y(Meta)24 b(c)m(haracters)g(b)s(ound)d(to)i(run)e
+(their)i(equiv)-5 b(alen)m(ts,)25 b(and)d(the)h(Meta)h(digits)f(b)s
+(ound)e(to)i(pro)s(duce)390 2922 y(n)m(umeric)30 b(argumen)m(ts.)3350
+3108 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_discard_keymap)c
+Ff(\()p Fi(Keymap)31 b(k)m(eymap)p Ff(\))390 3217 y Fs(F)-8
+b(ree)30 b(the)f(storage)h(asso)s(ciated)h(with)d(the)h(data)h(in)f
+Fi(k)m(eymap)s Fs(.)40 b(The)28 b(caller)j(should)c(free)i
+Fi(k)m(eymap)s Fs(.)3350 3403 y([F)-8 b(unction])-3599
+b Fg(void)54 b(rl_free_keymap)49 b Ff(\()p Fi(Keymap)31
+b(k)m(eymap)p Ff(\))390 3513 y Fs(F)-8 b(ree)32 b(all)f(storage)h(asso)
+s(ciated)g(with)f Fi(k)m(eymap)s Fs(.)41 b(This)30 b(calls)i
+Fr(rl_discard_keymap)26 b Fs(to)31 b(free)g(sub-)390
+3622 y(ordindate)f(k)m(eymaps)h(and)f(macros.)275 3808
+y(Readline)45 b(has)g(sev)m(eral)i(in)m(ternal)f(k)m(eymaps.)86
+b(These)45 b(functions)g(allo)m(w)h(y)m(ou)g(to)g(c)m(hange)g(whic)m(h)
+150 3917 y(k)m(eymap)31 b(is)f(activ)m(e.)3350 4103 y([F)-8
+b(unction])-3599 b Fg(Keymap)54 b(rl_get_keymap)c Ff(\()p
+Fi(v)m(oid)p Ff(\))390 4213 y Fs(Returns)29 b(the)i(curren)m(tly)f
+(activ)m(e)j(k)m(eymap.)3350 4398 y([F)-8 b(unction])-3599
+b Fg(void)54 b(rl_set_keymap)49 b Ff(\()p Fi(Keymap)30
+b(k)m(eymap)p Ff(\))390 4508 y Fs(Mak)m(es)i Fi(k)m(eymap)h
+Fs(the)e(curren)m(tly)f(activ)m(e)j(k)m(eymap.)3350 4693
+y([F)-8 b(unction])-3599 b Fg(Keymap)54 b(rl_get_keymap_by_name)e
+Ff(\()p Fi(const)31 b(c)m(har)g(*name)p Ff(\))390 4803
+y Fs(Return)h(the)h(k)m(eymap)h(matc)m(hing)f Fi(name)5
+b Fs(.)49 b Fi(name)38 b Fs(is)33 b(one)g(whic)m(h)g(w)m(ould)f(b)s(e)g
+(supplied)g(in)h(a)g Fr(set)390 4912 y(keymap)c Fs(inputrc)g(line)i
+(\(see)g(Section)g(1.3)h([Readline)f(Init)f(File],)i(page)f(4\).)3350
+5098 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_get_keymap_name)f
+Ff(\()p Fi(Keymap)31 b(k)m(eymap)p Ff(\))390 5208 y Fs(Return)h(the)h
+(name)h(matc)m(hing)g Fi(k)m(eymap)s Fs(.)49 b Fi(name)38
+b Fs(is)33 b(one)g(whic)m(h)g(w)m(ould)g(b)s(e)f(supplied)g(in)g(a)i
+Fr(set)390 5317 y(keymap)29 b Fs(inputrc)g(line)i(\(see)g(Section)g
+(1.3)h([Readline)f(Init)f(File],)i(page)f(4\).)p eop
+end
%%Page: 29 33
-TeXDict begin 29 32 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 29 32 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(29)150
-299 y Fh(2.4.3)63 b(Binding)42 b(Keys)275 536 y Ft(Key)23
-b(sequences)i(are)f(asso)s(ciate)i(with)e(functions)f(through)g(the)h
-(k)m(eymap.)39 b(Readline)25 b(has)f(sev)m(eral)h(in-)150
-646 y(ternal)30 b(k)m(eymaps:)40 b Fs(emacs_standard_keymap)p
-Ft(,)24 b Fs(emacs_meta_keymap)p Ft(,)h Fs(emacs_ctlx_keymap)p
-Ft(,)g Fs(vi_)150 756 y(movement_keymap)p Ft(,)41 b(and)h
-Fs(vi_insertion_keymap)p Ft(.)71 b Fs(emacs_standard_keymap)37
-b Ft(is)42 b(the)g(default,)150 865 y(and)30 b(the)g(examples)h(in)f
-(this)h(man)m(ual)f(assume)g(that.)275 993 y(Since)d
-Fs(readline\(\))e Ft(installs)j(a)g(set)g(of)g(default)g(k)m(ey)g
+299 y Fh(2.4.3)63 b(Binding)42 b(Keys)150 446 y Fs(Key)34
+b(sequences)g(are)h(asso)s(ciate)h(with)e(functions)f(through)h(the)g
+(k)m(eymap.)52 b(Readline)35 b(has)f(sev)m(eral)h(in-)150
+555 y(ternal)30 b(k)m(eymaps:)40 b Fr(emacs_standard_keymap)p
+Fs(,)24 b Fr(emacs_meta_keymap)p Fs(,)h Fr(emacs_ctlx_keymap)p
+Fs(,)g Fr(vi_)150 665 y(movement_keymap)p Fs(,)41 b(and)h
+Fr(vi_insertion_keymap)p Fs(.)71 b Fr(emacs_standard_keymap)37
+b Fs(is)42 b(the)g(default,)150 775 y(and)30 b(the)g(examples)h(in)f
+(this)h(man)m(ual)f(assume)g(that.)275 920 y(Since)d
+Fr(readline\(\))e Fs(installs)j(a)g(set)g(of)g(default)g(k)m(ey)g
(bindings)f(the)h(\014rst)e(time)j(it)f(is)f(called,)j(there)e(is)150
-1103 y(alw)m(a)m(ys)34 b(the)f(danger)f(that)i(a)f(custom)g(binding)e
+1030 y(alw)m(a)m(ys)34 b(the)f(danger)f(that)i(a)f(custom)g(binding)e
(installed)j(b)s(efore)e(the)h(\014rst)e(call)j(to)g
-Fs(readline\(\))c Ft(will)150 1212 y(b)s(e)25 b(o)m(v)m(erridden.)39
+Fr(readline\(\))c Fs(will)150 1140 y(b)s(e)25 b(o)m(v)m(erridden.)39
b(An)26 b(alternate)h(mec)m(hanism)f(is)g(to)g(install)h(custom)f(k)m
-(ey)g(bindings)f(in)g(an)h(initialization)150 1322 y(function)37
-b(assigned)g(to)h(the)f Fs(rl_startup_hook)c Ft(v)-5
+(ey)g(bindings)f(in)g(an)h(initialization)150 1249 y(function)37
+b(assigned)g(to)h(the)f Fr(rl_startup_hook)c Fs(v)-5
b(ariable)38 b(\(see)g(Section)g(2.3)g([Readline)g(V)-8
-b(ariables],)150 1431 y(page)31 b(23\).)275 1559 y(These)f(functions)g
-(manage)h(k)m(ey)g(bindings.)3350 1724 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 1724 35 5 v 51 w(bind)p 707
-1724 V 49 w(k)m(ey)45 b Fe(\()p Fs(int)30 b(key,)f(rl_command_func_t)d
-(*function)p Fe(\))390 1833 y Ft(Binds)32 b Fi(k)m(ey)42
-b Ft(to)34 b Fi(function)e Ft(in)h(the)g(curren)m(tly)g(activ)m(e)i(k)m
-(eymap.)49 b(Returns)32 b(non-zero)i(in)f(the)g(case)390
-1943 y(of)e(an)f(in)m(v)-5 b(alid)31 b Fi(k)m(ey)p Ft(.)3350
-2107 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-2107 V 51 w(bind)p 707 2107 V 49 w(k)m(ey)p 926 2107
-V 50 w(in)p 1072 2107 V 50 w(map)46 b Fe(\()p Fs(int)29
-b(key,)h(rl_command_func_t)25 b(*function,)565 2217 y(Keymap)k(map)p
-Fe(\))390 2326 y Ft(Bind)h Fi(k)m(ey)39 b Ft(to)31 b
-Fi(function)f Ft(in)g Fi(map)p Ft(.)40 b(Returns)30 b(non-zero)h(in)f
-(the)h(case)g(of)f(an)h(in)m(v)-5 b(alid)31 b Fi(k)m(ey)p
-Ft(.)3350 2491 y([F)-8 b(unction])-3599 b Fg(int)39 b
-Ff(rl)p 432 2491 V 51 w(bind)p 707 2491 V 49 w(k)m(ey)p
-926 2491 V 50 w(if)p 1043 2491 V 51 w(un)m(b)s(ound)k
-Fe(\()p Fs(int)30 b(key,)f(rl_command_func_t)565 2600
-y(*function)p Fe(\))390 2710 y Ft(Binds)43 b Fi(k)m(ey)53
-b Ft(to)45 b Fi(function)e Ft(if)h(it)h(is)f(not)g(already)g(b)s(ound)e
-(in)i(the)g(curren)m(tly)g(activ)m(e)i(k)m(eymap.)390
-2819 y(Returns)29 b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)-5
-b(alid)31 b Fi(k)m(ey)39 b Ft(or)30 b(if)h Fi(k)m(ey)39
-b Ft(is)30 b(already)h(b)s(ound.)3350 2984 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 2984 V 51 w(bind)p 707 2984
-V 49 w(k)m(ey)p 926 2984 V 50 w(if)p 1043 2984 V 51 w(un)m(b)s(ound)p
-1535 2984 V 48 w(in)p 1679 2984 V 50 w(map)45 b Fe(\()p
-Fs(int)30 b(key,)565 3093 y(rl_command_func_t)c(*function,)h(Keymap)i
-(map)p Fe(\))390 3203 y Ft(Binds)e Fi(k)m(ey)36 b Ft(to)28
-b Fi(function)f Ft(if)g(it)h(is)f(not)h(already)g(b)s(ound)d(in)i
-Fi(map)p Ft(.)39 b(Returns)27 b(non-zero)g(in)g(the)h(case)390
-3313 y(of)j(an)f(in)m(v)-5 b(alid)31 b Fi(k)m(ey)39 b
-Ft(or)30 b(if)g Fi(k)m(ey)39 b Ft(is)31 b(already)g(b)s(ound.)3350
-3477 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-3477 V 51 w(un)m(bind)p 832 3477 V 48 w(k)m(ey)46 b Fe(\()p
-Fs(int)29 b(key)p Fe(\))390 3587 y Ft(Bind)36 b Fi(k)m(ey)45
-b Ft(to)37 b(the)f(n)m(ull)g(function)g(in)g(the)h(curren)m(tly)f
-(activ)m(e)i(k)m(eymap.)59 b(Returns)35 b(non-zero)i(in)390
-3696 y(case)31 b(of)g(error.)3350 3861 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 3861 V 51 w(un)m(bind)p 832
-3861 V 48 w(k)m(ey)p 1050 3861 V 51 w(in)p 1197 3861
-V 49 w(map)46 b Fe(\()p Fs(int)29 b(key,)h(Keymap)e(map)p
-Fe(\))390 3970 y Ft(Bind)i Fi(k)m(ey)39 b Ft(to)31 b(the)g(n)m(ull)f
-(function)g(in)g Fi(map)p Ft(.)40 b(Returns)30 b(non-zero)h(in)f(case)h
-(of)g(error.)3350 4134 y([F)-8 b(unction])-3599 b Fg(int)39
-b Ff(rl)p 432 4134 V 51 w(un)m(bind)p 832 4134 V 48 w(function)p
-1292 4134 V 49 w(in)p 1437 4134 V 50 w(map)45 b Fe(\()p
-Fs(rl_command_func_t)26 b(*function,)565 4244 y(Keymap)j(map)p
-Fe(\))390 4354 y Ft(Un)m(bind)g(all)i(k)m(eys)g(that)g(execute)h
-Fi(function)e Ft(in)g Fi(map)p Ft(.)3350 4518 y([F)-8
-b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 4518 V 51
-w(un)m(bind)p 832 4518 V 48 w(command)p 1362 4518 V 50
-w(in)p 1508 4518 V 50 w(map)46 b Fe(\()p Fs(const)29
-b(char)g(*command,)f(Keymap)565 4628 y(map)p Fe(\))390
-4737 y Ft(Un)m(bind)h(all)i(k)m(eys)g(that)g(are)g(b)s(ound)e(to)i
-Fi(command)i Ft(in)d Fi(map)p Ft(.)3350 4902 y([F)-8
-b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 4902 V 51
-w(bind)p 707 4902 V 49 w(k)m(eyseq)46 b Fe(\()p Fs(const)29
-b(char)g(*keyseq,)f(rl_command_func_t)565 5011 y(*function)p
-Fe(\))390 5121 y Ft(Bind)43 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)
-g(b)m(y)g(the)g(string)g Fi(k)m(eyseq)j Ft(to)e(the)f(function)g
-Fi(function)p Ft(,)390 5230 y(b)s(eginning)27 b(in)h(the)h(curren)m(t)f
-(k)m(eymap.)40 b(This)28 b(mak)m(es)h(new)e(k)m(eymaps)i(as)f
-(necessary)-8 b(.)41 b(The)28 b(return)390 5340 y(v)-5
-b(alue)31 b(is)f(non-zero)h(if)g Fi(k)m(eyseq)i Ft(is)d(in)m(v)-5
-b(alid.)p eop end
+b(ariables],)150 1359 y(page)31 b(23\).)275 1505 y(These)f(functions)g
+(manage)h(k)m(ey)g(bindings.)3350 1712 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_bind_key)c Ff(\()p Fi(in)m(t)31 b(k)m(ey)-8
+b(,)32 b(rl)p 1403 1712 28 4 v 40 w(command)p 1827 1712
+V 40 w(func)p 2037 1712 V 39 w(t)f(*function)p Ff(\))390
+1821 y Fs(Binds)h Fi(k)m(ey)42 b Fs(to)34 b Fi(function)e
+Fs(in)h(the)g(curren)m(tly)g(activ)m(e)i(k)m(eymap.)49
+b(Returns)32 b(non-zero)i(in)f(the)g(case)390 1931 y(of)e(an)f(in)m(v)
+-5 b(alid)31 b Fi(k)m(ey)8 b Fs(.)3350 2138 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_bind_key_in_map)e Ff(\()p Fi(in)m(t)31
+b(k)m(ey)-8 b(,)32 b(rl)p 1769 2138 V 40 w(command)p
+2193 2138 V 40 w(func)p 2403 2138 V 39 w(t)f(*function,)565
+2247 y(Keymap)f(map)p Ff(\))390 2357 y Fs(Bind)g Fi(k)m(ey)39
+b Fs(to)31 b Fi(function)f Fs(in)g Fi(map)s Fs(.)40 b(Returns)30
+b(non-zero)h(in)f(the)g(case)i(of)e(an)g(in)m(v)-5 b(alid)31
+b Fi(k)m(ey)8 b Fs(.)3350 2564 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_bind_key_if_unboun)q(d)e Ff(\()p Fi(in)m(t)32
+b(k)m(ey)-8 b(,)31 b(rl)p 1978 2564 V 40 w(command)p
+2402 2564 V 40 w(func)p 2612 2564 V 39 w(t)g(*function)p
+Ff(\))390 2673 y Fs(Binds)43 b Fi(k)m(ey)53 b Fs(to)45
+b Fi(function)e Fs(if)h(it)h(is)f(not)g(already)g(b)s(ound)e(in)i(the)g
+(curren)m(tly)g(activ)m(e)i(k)m(eymap.)390 2783 y(Returns)29
+b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)-5 b(alid)31
+b Fi(k)m(ey)39 b Fs(or)30 b(if)h Fi(k)m(ey)39 b Fs(is)30
+b(already)h(b)s(ound.)3350 2990 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_bind_key_if_unboun)q(d_in)q(_ma)q(p)e
+Ff(\()p Fi(in)m(t)32 b(k)m(ey)-8 b(,)32 b(rl)p 2345 2990
+V 39 w(command)p 2768 2990 V 40 w(func)p 2978 2990 V
+39 w(t)565 3100 y(*function,)f(Keymap)f(map)p Ff(\))390
+3209 y Fs(Binds)d Fi(k)m(ey)35 b Fs(to)28 b Fi(function)f
+Fs(if)g(it)h(is)f(not)g(already)h(b)s(ound)d(in)i Fi(map)s
+Fs(.)39 b(Returns)26 b(non-zero)i(in)f(the)g(case)390
+3319 y(of)k(an)f(in)m(v)-5 b(alid)31 b Fi(k)m(ey)39 b
+Fs(or)30 b(if)g Fi(k)m(ey)39 b Fs(is)31 b(already)g(b)s(ound.)3350
+3526 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_unbind_key)d
+Ff(\()p Fi(in)m(t)31 b(k)m(ey)p Ff(\))390 3635 y Fs(Bind)36
+b Fi(k)m(ey)45 b Fs(to)37 b(the)f(n)m(ull)g(function)g(in)g(the)h
+(curren)m(tly)f(activ)m(e)i(k)m(eymap.)59 b(Returns)35
+b(non-zero)i(in)390 3745 y(case)31 b(of)g(error.)3350
+3952 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_unbind_key_in_map)f
+Ff(\()p Fi(in)m(t)31 b(k)m(ey)-8 b(,)32 b(Keymap)e(map)p
+Ff(\))390 4062 y Fs(Bind)g Fi(k)m(ey)39 b Fs(to)31 b(the)g(n)m(ull)f
+(function)g(in)g Fi(map)s Fs(.)40 b(Returns)30 b(non-zero)h(in)f(case)h
+(of)g(error.)3350 4268 y([F)-8 b(unction])-3599 b Fg(int)53
+b(rl_unbind_function_in)q(_map)f Ff(\()p Fi(rl)p 1814
+4268 V 40 w(command)p 2238 4268 V 40 w(func)p 2448 4268
+V 40 w(t)30 b(*function,)565 4378 y(Keymap)g(map)p Ff(\))390
+4488 y Fs(Un)m(bind)f(all)i(k)m(eys)g(that)g(execute)h
+Fi(function)e Fs(in)g Fi(map)s Fs(.)3350 4695 y([F)-8
+b(unction])-3599 b Fg(int)53 b(rl_unbind_command_in_)q(map)f
+Ff(\()p Fi(const)31 b(c)m(har)g(*command,)g(Keymap)f(map)p
+Ff(\))390 4804 y Fs(Un)m(bind)f(all)i(k)m(eys)g(that)g(are)g(b)s(ound)e
+(to)i Fi(command)i Fs(in)d Fi(map)s Fs(.)3350 5011 y([F)-8
+b(unction])-3599 b Fg(int)53 b(rl_bind_keyseq)d Ff(\()p
+Fi(const)31 b(c)m(har)g(*k)m(eyseq,)h(rl)p 2036 5011
+V 40 w(command)p 2460 5011 V 40 w(func)p 2670 5011 V
+39 w(t)f(*function)p Ff(\))390 5121 y Fs(Bind)43 b(the)g(k)m(ey)h
+(sequence)f(represen)m(ted)g(b)m(y)g(the)g(string)g Fi(k)m(eyseq)j
+Fs(to)e(the)f(function)g Fi(function)p Fs(,)390 5230
+y(b)s(eginning)27 b(in)h(the)h(curren)m(t)f(k)m(eymap.)40
+b(This)28 b(mak)m(es)h(new)e(k)m(eymaps)i(as)f(necessary)-8
+b(.)41 b(The)28 b(return)390 5340 y(v)-5 b(alue)31 b(is)f(non-zero)h
+(if)g Fi(k)m(eyseq)i Fs(is)d(in)m(v)-5 b(alid.)p eop
+end
%%Page: 30 34
-TeXDict begin 30 33 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 30 33 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(30)3350
-299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(bind)p 707 299 V 49 w(k)m(eyseq)p 1084
-299 V 51 w(in)p 1231 299 V 49 w(map)46 b Fe(\()p Fs(const)29
-b(char)g(*keyseq,)565 408 y(rl_command_func_t)d(*function,)h(Keymap)i
-(map)p Fe(\))390 518 y Ft(Bind)c(the)g(k)m(ey)h(sequence)f(represen)m
-(ted)g(b)m(y)g(the)g(string)g Fi(k)m(eyseq)j Ft(to)e(the)f(function)g
-Fi(function)p Ft(.)39 b(This)390 628 y(mak)m(es)30 b(new)f(k)m(eymaps)g
-(as)g(necessary)-8 b(.)42 b(Initial)30 b(bindings)d(are)j(p)s(erformed)
-e(in)g Fi(map)p Ft(.)40 b(The)29 b(return)390 737 y(v)-5
-b(alue)31 b(is)f(non-zero)h(if)g Fi(k)m(eyseq)i Ft(is)d(in)m(v)-5
-b(alid.)3350 925 y([F)d(unction])-3599 b Fg(int)39 b
-Ff(rl)p 432 925 V 51 w(set)p 626 925 V 49 w(k)m(ey)46
-b Fe(\()p Fs(const)29 b(char)g(*keyseq,)g(rl_command_func_t)c
-(*function,)565 1034 y(Keymap)k(map)p Fe(\))390 1144
-y Ft(Equiv)-5 b(alen)m(t)31 b(to)g Fs(rl_bind_keyseq_in_map)p
-Ft(.)3350 1331 y([F)-8 b(unction])-3599 b Fg(int)39 b
-Ff(rl)p 432 1331 V 51 w(bind)p 707 1331 V 49 w(k)m(eyseq)p
-1084 1331 V 51 w(if)p 1202 1331 V 50 w(un)m(b)s(ound)k
-Fe(\()p Fs(const)30 b(char)f(*keyseq,)565 1441 y(rl_command_func_t)d
-(*function)p Fe(\))390 1551 y Ft(Binds)35 b Fi(k)m(eyseq)k
-Ft(to)d Fi(function)f Ft(if)g(it)h(is)g(not)g(already)g(b)s(ound)d(in)i
-(the)h(curren)m(tly)f(activ)m(e)j(k)m(eymap.)390 1660
-y(Returns)29 b(non-zero)i(in)f(the)h(case)g(of)g(an)f(in)m(v)-5
-b(alid)31 b Fi(k)m(eyseq)j Ft(or)c(if)g Fi(k)m(eyseq)k
-Ft(is)c(already)h(b)s(ound.)3350 1848 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 1848 V 51 w(bind)p 707 1848
-V 49 w(k)m(eyseq)p 1084 1848 V 51 w(if)p 1202 1848 V
-50 w(un)m(b)s(ound)p 1693 1848 V 48 w(in)p 1837 1848
-V 50 w(map)46 b Fe(\()p Fs(const)29 b(char)g(*keyseq,)565
-1957 y(rl_command_func_t)d(*function,)h(Keymap)i(map)p
-Fe(\))390 2067 y Ft(Binds)i Fi(k)m(eyseq)k Ft(to)e Fi(function)f
-Ft(if)g(it)g(is)g(not)g(already)h(b)s(ound)d(in)h Fi(map)p
-Ft(.)46 b(Returns)31 b(non-zero)h(in)g(the)390 2176 y(case)f(of)g(an)f
-(in)m(v)-5 b(alid)31 b Fi(k)m(eyseq)j Ft(or)c(if)g Fi(k)m(eyseq)k
-Ft(is)c(already)h(b)s(ound.)3350 2364 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 2364 V 51 w(generic)p 840 2364
-V 49 w(bind)44 b Fe(\()p Fs(int)30 b(type,)f(const)g(char)g(*keyseq,)f
-(char)h(*data,)565 2473 y(Keymap)g(map)p Fe(\))390 2583
-y Ft(Bind)e(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g(the)g
-(string)g Fi(k)m(eyseq)j Ft(to)e(the)f(arbitrary)g(p)s(oin)m(ter)g
-Fi(data)p Ft(.)390 2693 y Fi(t)m(yp)s(e)34 b Ft(sa)m(ys)29
+299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_keyseq_in_map)f
+Ff(\()p Fi(const)31 b(c)m(har)g(*k)m(eyseq,)h(rl)p 2402
+299 28 4 v 40 w(command)p 2826 299 V 40 w(func)p 3036
+299 V 39 w(t)565 408 y(*function,)f(Keymap)f(map)p Ff(\))390
+518 y Fs(Bind)25 b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g
+(the)g(string)g Fi(k)m(eyseq)j Fs(to)e(the)f(function)g
+Fi(function)p Fs(.)39 b(This)390 628 y(mak)m(es)30 b(new)e(k)m(eymaps)h
+(as)g(necessary)-8 b(.)41 b(Initial)30 b(bindings)e(are)h(p)s(erformed)
+e(in)i Fi(map)s Fs(.)40 b(The)28 b(return)390 737 y(v)-5
+b(alue)31 b(is)f(non-zero)h(if)g Fi(k)m(eyseq)i Fs(is)d(in)m(v)-5
+b(alid.)3350 939 y([F)d(unction])-3599 b Fg(int)53 b(rl_set_key)c
+Ff(\()p Fi(const)31 b(c)m(har)g(*k)m(eyseq,)h(rl)p 1827
+939 V 40 w(command)p 2251 939 V 39 w(func)p 2460 939
+V 40 w(t)e(*function,)565 1049 y(Keymap)g(map)p Ff(\))390
+1159 y Fs(Equiv)-5 b(alen)m(t)31 b(to)g Fr(rl_bind_keyseq_in_map)p
+Fs(.)3350 1361 y([F)-8 b(unction])-3599 b Fg(int)53 b
+(rl_bind_keyseq_if_unb)q(ound)f Ff(\()p Fi(const)31 b(c)m(har)g(*k)m
+(eyseq,)565 1470 y(rl)p 632 1470 V 40 w(command)p 1056
+1470 V 40 w(func)p 1266 1470 V 39 w(t)g(*function)p Ff(\))390
+1580 y Fs(Binds)k Fi(k)m(eyseq)k Fs(to)d Fi(function)f
+Fs(if)g(it)h(is)g(not)g(already)g(b)s(ound)d(in)i(the)h(curren)m(tly)f
+(activ)m(e)j(k)m(eymap.)390 1690 y(Returns)29 b(non-zero)i(in)f(the)h
+(case)g(of)g(an)f(in)m(v)-5 b(alid)31 b Fi(k)m(eyseq)j
+Fs(or)c(if)g Fi(k)m(eyseq)k Fs(is)c(already)h(b)s(ound.)3350
+1892 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_bind_keyseq_if_unb)q
+(ound)q(_in)q(_ma)q(p)e Ff(\()p Fi(const)32 b(c)m(har)e(*k)m(eyseq,)565
+2001 y(rl)p 632 2001 V 40 w(command)p 1056 2001 V 40
+w(func)p 1266 2001 V 39 w(t)h(*function,)f(Keymap)h(map)p
+Ff(\))390 2111 y Fs(Binds)g Fi(k)m(eyseq)k Fs(to)e Fi(function)e
+Fs(if)h(it)g(is)g(not)g(already)g(b)s(ound)e(in)i Fi(map)s
+Fs(.)44 b(Returns)31 b(non-zero)h(in)g(the)390 2220 y(case)f(of)g(an)f
+(in)m(v)-5 b(alid)31 b Fi(k)m(eyseq)j Fs(or)c(if)g Fi(k)m(eyseq)k
+Fs(is)c(already)h(b)s(ound.)3350 2423 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_generic_bind)d Ff(\()p Fi(in)m(t)31
+b(t)m(yp)s(e,)g(const)g(c)m(har)g(*k)m(eyseq,)h(c)m(har)f(*data,)h
+(Keymap)565 2532 y(map)p Ff(\))390 2642 y Fs(Bind)27
+b(the)g(k)m(ey)h(sequence)f(represen)m(ted)g(b)m(y)g(the)g(string)g
+Fi(k)m(eyseq)j Fs(to)e(the)f(arbitrary)g(p)s(oin)m(ter)g
+Fi(data)p Fs(.)390 2751 y Fi(t)m(yp)s(e)34 b Fs(sa)m(ys)29
b(what)f(kind)g(of)g(data)h(is)g(p)s(oin)m(ted)f(to)h(b)m(y)g
-Fi(data)p Ft(;)h(this)e(can)h(b)s(e)f(a)g(function)g(\()p
-Fs(ISFUNC)p Ft(\),)h(a)390 2802 y(macro)h(\()p Fs(ISMACR)p
-Ft(\),)f(or)g(a)h(k)m(eymap)g(\()p Fs(ISKMAP)p Ft(\).)40
+Fi(data)p Fs(;)h(this)e(can)h(b)s(e)f(a)g(function)g(\()p
+Fr(ISFUNC)p Fs(\),)h(a)390 2861 y(macro)h(\()p Fr(ISMACR)p
+Fs(\),)f(or)g(a)h(k)m(eymap)g(\()p Fr(ISKMAP)p Fs(\).)40
b(This)28 b(mak)m(es)j(new)e(k)m(eymaps)g(as)h(necessary)-8
-b(.)41 b(The)390 2912 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h
-(do)f(bindings)f(is)i Fi(map)p Ft(.)3350 3099 y([F)-8
-b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 3099 V 51
-w(parse)p 748 3099 V 49 w(and)p 981 3099 V 50 w(bind)44
-b Fe(\()p Fs(char)29 b(*line)p Fe(\))390 3209 y Ft(P)m(arse)h
-Fi(line)35 b Ft(as)29 b(if)h(it)g(had)e(b)s(een)h(read)g(from)g(the)h
-Fs(inputrc)d Ft(\014le)j(and)e(p)s(erform)g(an)m(y)i(k)m(ey)g(bindings)
-390 3318 y(and)g(v)-5 b(ariable)31 b(assignmen)m(ts)g(found)e(\(see)i
+b(.)41 b(The)390 2971 y(initial)32 b(k)m(eymap)e(in)h(whic)m(h)f(to)h
+(do)f(bindings)f(is)i Fi(map)s Fs(.)3350 3173 y([F)-8
+b(unction])-3599 b Fg(int)53 b(rl_parse_and_bind)e Ff(\()p
+Fi(c)m(har)31 b(*line)p Ff(\))390 3282 y Fs(P)m(arse)f
+Fi(line)35 b Fs(as)29 b(if)h(it)g(had)e(b)s(een)h(read)g(from)g(the)h
+Fr(inputrc)d Fs(\014le)j(and)e(p)s(erform)g(an)m(y)i(k)m(ey)g(bindings)
+390 3392 y(and)g(v)-5 b(ariable)31 b(assignmen)m(ts)g(found)e(\(see)i
(Section)h(1.3)f([Readline)g(Init)f(File],)j(page)e(4\).)3350
-3506 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-3506 V 51 w(read)p 703 3506 V 49 w(init)p 925 3506 V
-49 w(\014le)45 b Fe(\()p Fs(const)29 b(char)g(*filename)p
-Fe(\))390 3615 y Ft(Read)j(k)m(eybindings)f(and)g(v)-5
-b(ariable)32 b(assignmen)m(ts)g(from)f Fi(\014lename)37
-b Ft(\(see)32 b(Section)g(1.3)h([Readline)390 3725 y(Init)d(File],)i
-(page)f(4\).)150 3952 y Fh(2.4.4)63 b(Asso)s(ciating)41
-b(F)-10 b(unction)42 b(Names)f(and)g(Bindings)275 4198
-y Ft(These)21 b(functions)f(allo)m(w)j(y)m(ou)f(to)g(\014nd)d(out)j
-(what)f(k)m(eys)h(in)m(v)m(ok)m(e)h(named)e(functions)f(and)h(the)g
-(functions)150 4308 y(in)m(v)m(ok)m(ed)29 b(b)m(y)e(a)h(particular)g(k)
-m(ey)g(sequence.)40 b(Y)-8 b(ou)28 b(ma)m(y)g(also)h(asso)s(ciate)g(a)f
-(new)f(function)g(name)h(with)f(an)150 4417 y(arbitrary)j(function.)
-3350 4605 y([F)-8 b(unction])-3599 b Fg(rl_command_func_t)43
-b(*)c Ff(rl)p 1255 4605 V 50 w(named)p 1637 4605 V 50
-w(function)44 b Fe(\()p Fs(const)29 b(char)g(*name)p
-Fe(\))390 4714 y Ft(Return)h(the)g(function)g(with)g(name)h
-Fi(name)p Ft(.)3350 4902 y([F)-8 b(unction])-3599 b Fg
-(rl_command_func_t)43 b(*)c Ff(rl)p 1255 4902 V 50 w(function)p
-1717 4902 V 49 w(of)p 1858 4902 V 51 w(k)m(eyseq)46 b
-Fe(\()p Fs(const)29 b(char)g(*keyseq,)565 5011 y(Keymap)g(map,)g(int)g
-(*type)p Fe(\))390 5121 y Ft(Return)j(the)g(function)h(in)m(v)m(ok)m
-(ed)h(b)m(y)e Fi(k)m(eyseq)k Ft(in)c(k)m(eymap)h Fi(map)p
-Ft(.)47 b(If)32 b Fi(map)j Ft(is)d Fs(NULL)p Ft(,)g(the)h(curren)m(t)
-390 5230 y(k)m(eymap)k(is)g(used.)60 b(If)37 b Fi(t)m(yp)s(e)42
-b Ft(is)37 b(not)g Fs(NULL)p Ft(,)h(the)f(t)m(yp)s(e)g(of)g(the)g(ob)5
-b(ject)38 b(is)f(returned)f(in)h(the)g Fs(int)390 5340
-y Ft(v)-5 b(ariable)31 b(it)g(p)s(oin)m(ts)f(to)h(\(one)g(of)g
-Fs(ISFUNC)p Ft(,)e Fs(ISKMAP)p Ft(,)g(or)h Fs(ISMACR)p
-Ft(\).)p eop end
+3594 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_read_init_file)e
+Ff(\()p Fi(const)31 b(c)m(har)g(*\014lename)p Ff(\))390
+3704 y Fs(Read)h(k)m(eybindings)f(and)g(v)-5 b(ariable)32
+b(assignmen)m(ts)g(from)f Fi(\014lename)37 b Fs(\(see)32
+b(Section)g(1.3)h([Readline)390 3813 y(Init)d(File],)i(page)f(4\).)150
+4022 y Fh(2.4.4)63 b(Asso)s(ciating)41 b(F)-10 b(unction)42
+b(Names)f(and)g(Bindings)150 4168 y Fs(These)30 b(functions)g(allo)m(w)
+h(y)m(ou)g(to)f(\014nd)f(out)h(what)g(k)m(eys)h(in)m(v)m(ok)m(e)h
+(named)e(functions)g(and)f(the)h(functions)150 4278 y(in)m(v)m(ok)m(ed)
+f(b)m(y)e(a)h(particular)g(k)m(ey)g(sequence.)40 b(Y)-8
+b(ou)28 b(ma)m(y)g(also)h(asso)s(ciate)g(a)f(new)f(function)g(name)h
+(with)f(an)150 4388 y(arbitrary)j(function.)3350 4590
+y([F)-8 b(unction])-3599 b Fg(rl_command_func_t)57 b(*)c
+(rl_named_function)e Ff(\()p Fi(const)31 b(c)m(har)g(*name)p
+Ff(\))390 4699 y Fs(Return)f(the)g(function)g(with)g(name)h
+Fi(name)5 b Fs(.)3350 4902 y([F)-8 b(unction])-3599 b
+Fg(rl_command_func_t)57 b(*)c(rl_function_of_keyseq)f
+Ff(\()p Fi(const)31 b(c)m(har)g(*k)m(eyseq,)565 5011
+y(Keymap)f(map,)g(in)m(t)h(*t)m(yp)s(e)p Ff(\))390 5121
+y Fs(Return)h(the)g(function)g(in)m(v)m(ok)m(ed)i(b)m(y)e
+Fi(k)m(eyseq)k Fs(in)c(k)m(eymap)h Fi(map)s Fs(.)46 b(If)32
+b Fi(map)i Fs(is)f Fr(NULL)p Fs(,)f(the)g(curren)m(t)390
+5230 y(k)m(eymap)37 b(is)g(used.)60 b(If)37 b Fi(t)m(yp)s(e)42
+b Fs(is)37 b(not)g Fr(NULL)p Fs(,)h(the)f(t)m(yp)s(e)g(of)g(the)g(ob)5
+b(ject)38 b(is)f(returned)f(in)h(the)g Fr(int)390 5340
+y Fs(v)-5 b(ariable)31 b(it)g(p)s(oin)m(ts)f(to)h(\(one)g(of)g
+Fr(ISFUNC)p Fs(,)e Fr(ISKMAP)p Fs(,)g(or)h Fr(ISMACR)p
+Fs(\).)p eop end
%%Page: 31 35
-TeXDict begin 31 34 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 31 34 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(31)3350
-299 y([F)-8 b(unction])-3599 b Fg(char)39 b(**)g Ff(rl)p
-627 299 35 5 v 51 w(in)m(v)m(oking)p 1098 299 V 50 w(k)m(eyseqs)46
-b Fe(\()p Fs(rl_command_func_t)26 b(*function)p Fe(\))390
-408 y Ft(Return)k(an)i(arra)m(y)f(of)h(strings)f(represen)m(ting)g(the)
+299 y([F)-8 b(unction])-3599 b Fg(char)54 b(**)e(rl_invoking_keyseqs)g
+Ff(\()p Fi(rl)p 1710 299 28 4 v 40 w(command)p 2134 299
+V 40 w(func)p 2344 299 V 39 w(t)31 b(*function)p Ff(\))390
+408 y Fs(Return)f(an)i(arra)m(y)f(of)h(strings)f(represen)m(ting)g(the)
g(k)m(ey)h(sequences)g(used)e(to)i(in)m(v)m(ok)m(e)h
-Fi(function)e Ft(in)390 518 y(the)g(curren)m(t)f(k)m(eymap.)3350
-721 y([F)-8 b(unction])-3599 b Fg(char)39 b(**)g Ff(rl)p
-627 721 V 51 w(in)m(v)m(oking)p 1098 721 V 50 w(k)m(eyseqs)p
-1521 721 V 51 w(in)p 1668 721 V 50 w(map)45 b Fe(\()p
-Fs(rl_command_func_t)565 831 y(*function,)28 b(Keymap)g(map)p
-Fe(\))390 940 y Ft(Return)i(an)i(arra)m(y)f(of)h(strings)f(represen)m
-(ting)g(the)g(k)m(ey)h(sequences)g(used)e(to)i(in)m(v)m(ok)m(e)h
-Fi(function)e Ft(in)390 1050 y(the)g(k)m(eymap)f Fi(map)p
-Ft(.)3350 1253 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 1253 V 51 w(function)p 947 1253 V 49 w(dump)s(er)45
-b Fe(\()p Fs(int)29 b(readable)p Fe(\))390 1362 y Ft(Prin)m(t)g(the)h
-(readline)f(function)g(names)g(and)g(the)g(k)m(ey)h(sequences)g(curren)
-m(tly)f(b)s(ound)e(to)j(them)f(to)390 1472 y Fs(rl_outstream)p
-Ft(.)36 b(If)27 b Fi(readable)33 b Ft(is)28 b(non-zero,)h(the)e(list)i
-(is)e(formatted)h(in)f(suc)m(h)g(a)h(w)m(a)m(y)h(that)f(it)g(can)390
-1582 y(b)s(e)i(made)g(part)g(of)h(an)f Fs(inputrc)f Ft(\014le)h(and)g
-(re-read.)3350 1785 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 1785 V 51 w(list)p 689 1785 V 50 w(funmap)p
-1117 1785 V 49 w(names)45 b Fe(\()p Fs(void)p Fe(\))390
-1894 y Ft(Prin)m(t)30 b(the)h(names)f(of)h(all)g(bindable)f(Readline)h
-(functions)f(to)h Fs(rl_outstream)p Ft(.)3350 2097 y([F)-8
-b(unction])-3599 b Fg(const)40 b(char)f(**)g Ff(rl)p
-927 2097 V 50 w(funmap)p 1355 2097 V 50 w(names)45 b
-Fe(\()p Fs(void)p Fe(\))390 2207 y Ft(Return)25 b(a)i(NULL)f
-(terminated)g(arra)m(y)h(of)f(kno)m(wn)f(function)h(names.)39
-b(The)26 b(arra)m(y)g(is)g(sorted.)39 b(The)390 2316
-y(arra)m(y)28 b(itself)h(is)f(allo)s(cated,)j(but)c(not)h(the)h
-(strings)e(inside.)40 b(Y)-8 b(ou)29 b(should)e(free)h(the)g(arra)m(y)
--8 b(,)29 b(but)f(not)390 2426 y(the)j(p)s(oin)m(ters,)f(using)g
-Fs(free)f Ft(or)i Fs(rl_free)d Ft(when)h(y)m(ou)i(are)g(done.)3350
-2629 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-2629 V 51 w(add)p 667 2629 V 49 w(funmap)p 1094 2629
-V 49 w(en)m(try)45 b Fe(\()p Fs(const)29 b(char)h(*name,)e
-(rl_command_func_t)565 2738 y(*function)p Fe(\))390 2848
-y Ft(Add)k Fi(name)38 b Ft(to)33 b(the)g(list)h(of)f(bindable)f
-(Readline)h(command)g(names,)g(and)f(mak)m(e)i Fi(function)f
-Ft(the)390 2958 y(function)d(to)h(b)s(e)f(called)h(when)f
-Fi(name)35 b Ft(is)c(in)m(v)m(ok)m(ed.)150 3200 y Fh(2.4.5)63
-b(Allo)m(wing)41 b(Undoing)275 3454 y Ft(Supp)s(orting)24
-b(the)i(undo)f(command)h(is)h(a)f(painless)h(thing,)g(and)e(mak)m(es)j
-(y)m(our)e(functions)f(m)m(uc)m(h)i(more)150 3564 y(useful.)40
-b(It)30 b(is)h(certainly)g(easy)g(to)g(try)g(something)g(if)f(y)m(ou)h
-(kno)m(w)f(y)m(ou)h(can)f(undo)g(it.)275 3707 y(If)40
-b(y)m(our)h(function)f(simply)g(inserts)h(text)h(once,)i(or)d(deletes)h
-(text)g(once,)i(and)c(uses)h Fs(rl_insert_)150 3817 y(text\(\))26
-b Ft(or)i Fs(rl_delete_text\(\))23 b Ft(to)29 b(do)f(it,)h(then)f
-(undoing)f(is)g(already)i(done)f(for)f(y)m(ou)h(automatically)-8
-b(.)275 3961 y(If)20 b(y)m(ou)g(do)h(m)m(ultiple)g(insertions)f(or)h(m)
-m(ultiple)g(deletions,)j(or)c(an)m(y)h(com)m(bination)h(of)e(these)h
-(op)s(erations,)150 4070 y(y)m(ou)38 b(should)f(group)h(them)g
-(together)h(in)m(to)g(one)f(op)s(eration.)64 b(This)37
-b(is)h(done)g(with)g Fs(rl_begin_undo_)150 4180 y(group\(\))28
-b Ft(and)i Fs(rl_end_undo_group\(\))p Ft(.)275 4324 y(The)f(t)m(yp)s
-(es)i(of)f(ev)m(en)m(ts)i(that)f(can)g(b)s(e)e(undone)h(are:)390
-4445 y Fd(enum)40 b(undo_code)h({)f(UNDO_DELETE,)i(UNDO_INSERT,)g
-(UNDO_BEGIN,)g(UNDO_END)f(};)275 4589 y Ft(Notice)32
-b(that)f Fs(UNDO_DELETE)c Ft(means)j(to)h(insert)f(some)h(text,)h(and)d
-Fs(UNDO_INSERT)e Ft(means)k(to)g(delete)150 4699 y(some)d(text.)41
-b(That)27 b(is,)i(the)e(undo)g(co)s(de)h(tells)g(what)g(to)g(undo,)f
-(not)h(ho)m(w)g(to)g(undo)e(it.)41 b Fs(UNDO_BEGIN)25
-b Ft(and)150 4808 y Fs(UNDO_END)j Ft(are)j(tags)g(added)f(b)m(y)g
-Fs(rl_begin_undo_group\(\))25 b Ft(and)30 b Fs(rl_end_undo_group\(\))p
-Ft(.)3350 5011 y([F)-8 b(unction])-3599 b Fg(int)39 b
-Ff(rl)p 432 5011 V 51 w(b)s(egin)p 756 5011 V 49 w(undo)p
-1054 5011 V 50 w(group)45 b Fe(\()p Fs(void)p Fe(\))390
-5121 y Ft(Begins)32 b(sa)m(ving)g(undo)d(information)j(in)e(a)i(group)e
-(construct.)43 b(The)30 b(undo)g(information)h(usually)390
-5230 y(comes)42 b(from)f(calls)i(to)f Fs(rl_insert_text\(\))37
-b Ft(and)k Fs(rl_delete_text\(\))p Ft(,)f(but)h(could)h(b)s(e)f(the)390
-5340 y(result)30 b(of)h(calls)g(to)g Fs(rl_add_undo\(\))p
-Ft(.)p eop end
+Fi(function)e Fs(in)390 518 y(the)g(curren)m(t)f(k)m(eymap.)3350
+692 y([F)-8 b(unction])-3599 b Fg(char)54 b(**)e(rl_invoking_keyseqs_i)
+q(n_m)q(ap)g Ff(\()p Fi(rl)p 2076 692 V 40 w(command)p
+2500 692 V 40 w(func)p 2710 692 V 39 w(t)565 802 y(*function,)31
+b(Keymap)f(map)p Ff(\))390 911 y Fs(Return)g(an)i(arra)m(y)f(of)h
+(strings)f(represen)m(ting)g(the)g(k)m(ey)h(sequences)g(used)e(to)i(in)
+m(v)m(ok)m(e)h Fi(function)e Fs(in)390 1021 y(the)g(k)m(eymap)f
+Fi(map)s Fs(.)3350 1195 y([F)-8 b(unction])-3599 b Fg(void)54
+b(rl_function_dumper)c Ff(\()p Fi(in)m(t)32 b(readable)p
+Ff(\))390 1305 y Fs(Prin)m(t)d(the)h(readline)f(function)g(names)g(and)
+g(the)g(k)m(ey)h(sequences)g(curren)m(tly)f(b)s(ound)e(to)j(them)f(to)
+390 1414 y Fr(rl_outstream)p Fs(.)36 b(If)27 b Fi(readable)33
+b Fs(is)28 b(non-zero,)h(the)e(list)i(is)e(formatted)h(in)f(suc)m(h)g
+(a)h(w)m(a)m(y)h(that)f(it)g(can)390 1524 y(b)s(e)i(made)g(part)g(of)h
+(an)f Fr(inputrc)f Fs(\014le)h(and)g(re-read.)3350 1698
+y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_list_funmap_names)d
+Ff(\()p Fi(v)m(oid)p Ff(\))390 1808 y Fs(Prin)m(t)30
+b(the)h(names)f(of)h(all)g(bindable)f(Readline)h(functions)f(to)h
+Fr(rl_outstream)p Fs(.)3350 1982 y([F)-8 b(unction])-3599
+b Fg(const)54 b(char)f(**)g(rl_funmap_names)d Ff(\()p
+Fi(v)m(oid)p Ff(\))390 2091 y Fs(Return)25 b(a)i(NULL)f(terminated)g
+(arra)m(y)h(of)f(kno)m(wn)f(function)h(names.)39 b(The)26
+b(arra)m(y)g(is)g(sorted.)39 b(The)390 2201 y(arra)m(y)28
+b(itself)h(is)f(allo)s(cated,)j(but)c(not)h(the)h(strings)e(inside.)40
+b(Y)-8 b(ou)29 b(should)e(free)h(the)g(arra)m(y)-8 b(,)29
+b(but)f(not)390 2311 y(the)j(p)s(oin)m(ters,)f(using)g
+Fr(free)f Fs(or)i Fr(rl_free)d Fs(when)h(y)m(ou)i(are)g(done.)3350
+2485 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_add_funmap_entry)e
+Ff(\()p Fi(const)32 b(c)m(har)e(*name,)i(rl)p 2252 2485
+V 39 w(command)p 2675 2485 V 40 w(func)p 2885 2485 V
+39 w(t)565 2594 y(*function)p Ff(\))390 2704 y Fs(Add)g
+Fi(name)38 b Fs(to)33 b(the)g(list)h(of)f(bindable)f(Readline)h
+(command)g(names,)g(and)f(mak)m(e)i Fi(function)f Fs(the)390
+2814 y(function)d(to)h(b)s(e)f(called)h(when)f Fi(name)35
+b Fs(is)c(in)m(v)m(ok)m(ed.)150 3006 y Fh(2.4.5)63 b(Allo)m(wing)41
+b(Undoing)150 3153 y Fs(Supp)s(orting)34 b(the)i(undo)e(command)i(is)g
+(a)g(painless)g(thing,)h(and)e(mak)m(es)i(y)m(our)f(functions)f(m)m(uc)
+m(h)h(more)150 3263 y(useful.)k(It)30 b(is)h(certainly)g(easy)g(to)g
+(try)g(something)g(if)f(y)m(ou)h(kno)m(w)f(y)m(ou)h(can)f(undo)g(it.)
+275 3394 y(If)40 b(y)m(our)h(function)f(simply)g(inserts)h(text)h
+(once,)i(or)d(deletes)h(text)g(once,)i(and)c(uses)h Fr(rl_insert_)150
+3503 y(text\(\))26 b Fs(or)i Fr(rl_delete_text\(\))23
+b Fs(to)29 b(do)f(it,)h(then)f(undoing)f(is)g(already)i(done)f(for)f(y)
+m(ou)h(automatically)-8 b(.)275 3634 y(If)20 b(y)m(ou)g(do)h(m)m
+(ultiple)g(insertions)f(or)h(m)m(ultiple)g(deletions,)j(or)c(an)m(y)h
+(com)m(bination)h(of)e(these)h(op)s(erations,)150 3744
+y(y)m(ou)38 b(should)f(group)h(them)g(together)h(in)m(to)g(one)f(op)s
+(eration.)64 b(This)37 b(is)h(done)g(with)g Fr(rl_begin_undo_)150
+3854 y(group\(\))28 b Fs(and)i Fr(rl_end_undo_group\(\))p
+Fs(.)275 3985 y(The)f(t)m(yp)s(es)i(of)f(ev)m(en)m(ts)i(that)f(can)g(b)
+s(e)e(undone)h(are:)390 4093 y Fe(enum)40 b(undo_code)h({)f
+(UNDO_DELETE,)i(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)f(};)275
+4225 y Fs(Notice)32 b(that)f Fr(UNDO_DELETE)c Fs(means)j(to)h(insert)f
+(some)h(text,)h(and)d Fr(UNDO_INSERT)e Fs(means)k(to)g(delete)150
+4334 y(some)d(text.)41 b(That)27 b(is,)i(the)e(undo)g(co)s(de)h(tells)g
+(what)g(to)g(undo,)f(not)h(ho)m(w)g(to)g(undo)e(it.)41
+b Fr(UNDO_BEGIN)25 b Fs(and)150 4444 y Fr(UNDO_END)j
+Fs(are)j(tags)g(added)f(b)m(y)g Fr(rl_begin_undo_group\(\))25
+b Fs(and)30 b Fr(rl_end_undo_group\(\))p Fs(.)3350 4618
+y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_begin_undo_group)e
+Ff(\()p Fi(v)m(oid)p Ff(\))390 4727 y Fs(Begins)32 b(sa)m(ving)g(undo)d
+(information)j(in)e(a)i(group)e(construct.)43 b(The)30
+b(undo)g(information)h(usually)390 4837 y(comes)42 b(from)f(calls)i(to)
+f Fr(rl_insert_text\(\))37 b Fs(and)k Fr(rl_delete_text\(\))p
+Fs(,)f(but)h(could)h(b)s(e)f(the)390 4947 y(result)30
+b(of)h(calls)g(to)g Fr(rl_add_undo\(\))p Fs(.)3350 5121
+y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_end_undo_group)e
+Ff(\()p Fi(v)m(oid)p Ff(\))390 5230 y Fs(Closes)29 b(the)h(curren)m(t)e
+(undo)g(group)h(started)g(with)g Fr(rl_begin_undo_group)c(\(\))p
+Fs(.)39 b(There)29 b(should)390 5340 y(b)s(e)h(one)g(call)i(to)f
+Fr(rl_end_undo_group\(\))25 b Fs(for)30 b(eac)m(h)i(call)g(to)f
+Fr(rl_begin_undo_group\(\))p Fs(.)p eop end
%%Page: 32 36
-TeXDict begin 32 35 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 32 35 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(32)3350
-299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(end)p 664 299 V 49 w(undo)p 962 299 V
-49 w(group)46 b Fe(\()p Fs(void)p Fe(\))390 408 y Ft(Closes)29
-b(the)h(curren)m(t)e(undo)g(group)h(started)g(with)g
-Fs(rl_begin_undo_group)c(\(\))p Ft(.)39 b(There)29 b(should)390
-518 y(b)s(e)h(one)g(call)i(to)f Fs(rl_end_undo_group\(\))25
-b Ft(for)30 b(eac)m(h)i(call)g(to)f Fs(rl_begin_undo_group\(\))p
-Ft(.)3350 701 y([F)-8 b(unction])-3599 b Fg(void)39 b
-Ff(rl)p 484 701 V 51 w(add)p 719 701 V 49 w(undo)45 b
-Fe(\()p Fs(enum)29 b(undo_code)f(what,)h(int)h(start,)e(int)i(end,)f
-(char)565 811 y(*text)p Fe(\))390 921 y Ft(Remem)m(b)s(er)34
-b(ho)m(w)g(to)h(undo)d(an)i(ev)m(en)m(t)i(\(according)f(to)g
-Fi(what)r Ft(\).)52 b(The)33 b(a\013ected)j(text)f(runs)d(from)390
-1030 y Fi(start)h Ft(to)e Fi(end)p Ft(,)f(and)g(encompasses)h
-Fi(text)p Ft(.)3350 1214 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 1214 V 51 w(free)p 723 1214 V 49 w(undo)p
-1021 1214 V 50 w(list)45 b Fe(\()p Fs(void)p Fe(\))390
-1323 y Ft(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350
-1507 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-1507 V 51 w(do)p 604 1507 V 50 w(undo)45 b Fe(\()p Fs(void)p
-Fe(\))390 1616 y Ft(Undo)22 b(the)h(\014rst)g(thing)f(on)h(the)g(undo)f
-(list.)39 b(Returns)22 b Fs(0)g Ft(if)h(there)g(w)m(as)g(nothing)g(to)h
-(undo,)f(non-zero)390 1726 y(if)30 b(something)h(w)m(as)g(undone.)275
-1909 y(Finally)-8 b(,)32 b(if)f(y)m(ou)h(neither)f(insert)g(nor)f
-(delete)j(text,)f(but)f(directly)g(mo)s(dify)g(the)g(existing)h(text)g
-(\(e.g.,)150 2019 y(c)m(hange)40 b(its)f(case\),)j(call)e
-Fs(rl_modifying\(\))35 b Ft(once,)42 b(just)c(b)s(efore)g(y)m(ou)h(mo)s
-(dify)f(the)h(text.)67 b(Y)-8 b(ou)39 b(m)m(ust)150 2128
-y(supply)29 b(the)h(indices)h(of)f(the)h(text)g(range)g(that)g(y)m(ou)g
-(are)g(going)g(to)g(mo)s(dify)-8 b(.)3350 2312 y([F)g(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 2312 V 51 w(mo)s(difying)46
-b Fe(\()p Fs(int)29 b(start,)g(int)h(end)p Fe(\))390
-2422 y Ft(T)-8 b(ell)41 b(Readline)g(to)g(sa)m(v)m(e)g(the)g(text)g(b)s
-(et)m(w)m(een)g Fi(start)i Ft(and)c Fi(end)k Ft(as)e(a)f(single)h(undo)
-e(unit.)70 b(It)40 b(is)390 2531 y(assumed)30 b(that)h(y)m(ou)f(will)h
-(subsequen)m(tly)f(mo)s(dify)f(that)i(text.)150 2754
-y Fh(2.4.6)63 b(Redispla)m(y)3350 2998 y Ft([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(rl)p 484 2998 V 51 w(redispla)m(y)44
-b Fe(\()p Fs(void)p Fe(\))390 3108 y Ft(Change)38 b(what's)f(displa)m
-(y)m(ed)i(on)e(the)h(screen)g(to)h(re\015ect)f(the)g(curren)m(t)g(con)m
-(ten)m(ts)h(of)f Fs(rl_line_)390 3217 y(buffer)p Ft(.)3350
-3401 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-3401 V 51 w(forced)p 790 3401 V 49 w(up)s(date)p 1188
-3401 V 49 w(displa)m(y)44 b Fe(\()p Fs(void)p Fe(\))390
-3510 y Ft(F)-8 b(orce)41 b(the)f(line)g(to)h(b)s(e)e(up)s(dated)f(and)h
-(redispla)m(y)m(ed,)k(whether)c(or)g(not)h(Readline)h(thinks)e(the)390
-3620 y(screen)30 b(displa)m(y)h(is)f(correct.)3350 3803
-y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 3803
-V 51 w(on)p 604 3803 V 50 w(new)p 854 3803 V 49 w(line)44
-b Fe(\()p Fs(void)p Fe(\))390 3913 y Ft(T)-8 b(ell)31
-b(the)f(up)s(date)f(functions)g(that)i(w)m(e)f(ha)m(v)m(e)h(mo)m(v)m
-(ed)g(on)m(to)g(a)f(new)f(\(empt)m(y\))i(line,)g(usually)e(after)390
-4023 y(ouputting)h(a)h(newline.)3350 4206 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 4206 V 51 w(on)p 604 4206 V
-50 w(new)p 854 4206 V 49 w(line)p 1084 4206 V 49 w(with)p
-1357 4206 V 50 w(prompt)45 b Fe(\()p Fs(void)p Fe(\))390
-4316 y Ft(T)-8 b(ell)25 b(the)f(up)s(date)f(functions)h(that)h(w)m(e)f
-(ha)m(v)m(e)h(mo)m(v)m(ed)g(on)m(to)h(a)e(new)g(line,)i(with)d
-Fi(rl)p 3106 4316 28 4 v 40 w(prompt)i Ft(already)390
-4425 y(displa)m(y)m(ed.)41 b(This)28 b(could)g(b)s(e)g(used)g(b)m(y)g
-(applications)i(that)f(w)m(an)m(t)h(to)f(output)f(the)h(prompt)f
-(string)390 4535 y(themselv)m(es,)h(but)e(still)h(need)g(Readline)g(to)
-g(kno)m(w)f(the)h(prompt)e(string)h(length)h(for)f(redispla)m(y)-8
-b(.)41 b(It)390 4644 y(should)29 b(b)s(e)h(used)g(after)h(setting)g
-Fi(rl)p 1590 4644 V 40 w(already)p 1920 4644 V 41 w(prompted)p
-Ft(.)3350 4828 y([F)-8 b(unction])-3599 b Fg(int)39 b
-Ff(rl)p 432 4828 35 5 v 51 w(reset)p 726 4828 V 49 w(line)p
-956 4828 V 49 w(state)44 b Fe(\()p Fs(void)p Fe(\))390
-4937 y Ft(Reset)36 b(the)e(displa)m(y)h(state)h(to)g(a)f(clean)g(state)
-h(and)e(redispla)m(y)h(the)g(curren)m(t)g(line)g(starting)g(on)g(a)390
-5047 y(new)30 b(line.)3350 5230 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 5230 V 51 w(crlf)45 b Fe(\()p
-Fs(void)p Fe(\))390 5340 y Ft(Mo)m(v)m(e)32 b(the)f(cursor)f(to)h(the)f
-(start)h(of)g(the)f(next)h(screen)f(line.)p eop end
+299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_add_undo)48
+b Ff(\()p Fi(en)m(um)31 b(undo)p 1517 299 28 4 v 39 w(co)s(de)f(what,)h
+(in)m(t)g(start,)g(in)m(t)g(end,)f(c)m(har)g(*text)p
+Ff(\))390 408 y Fs(Remem)m(b)s(er)k(ho)m(w)g(to)h(undo)d(an)i(ev)m(en)m
+(t)i(\(according)f(to)g Fi(what)r Fs(\).)52 b(The)33
+b(a\013ected)j(text)f(runs)d(from)390 518 y Fi(start)h
+Fs(to)e Fi(end)t Fs(,)f(and)f(encompasses)i Fi(text)r
+Fs(.)3350 708 y([F)-8 b(unction])-3599 b Fg(void)54 b
+(rl_free_undo_list)c Ff(\()p Fi(v)m(oid)p Ff(\))390 818
+y Fs(F)-8 b(ree)31 b(the)g(existing)g(undo)f(list.)3350
+1008 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_do_undo)c
+Ff(\()p Fi(v)m(oid)p Ff(\))390 1117 y Fs(Undo)22 b(the)h(\014rst)g
+(thing)f(on)h(the)g(undo)f(list.)39 b(Returns)22 b Fr(0)g
+Fs(if)h(there)g(w)m(as)g(nothing)g(to)h(undo,)f(non-zero)390
+1227 y(if)30 b(something)h(w)m(as)g(undone.)275 1417
+y(Finally)-8 b(,)32 b(if)f(y)m(ou)h(neither)f(insert)g(nor)f(delete)j
+(text,)f(but)f(directly)g(mo)s(dify)g(the)g(existing)h(text)g(\(e.g.,)
+150 1526 y(c)m(hange)40 b(its)f(case\),)j(call)e Fr(rl_modifying\(\))35
+b Fs(once,)42 b(just)c(b)s(efore)g(y)m(ou)h(mo)s(dify)f(the)h(text.)67
+b(Y)-8 b(ou)39 b(m)m(ust)150 1636 y(supply)29 b(the)h(indices)h(of)f
+(the)h(text)g(range)g(that)g(y)m(ou)g(are)g(going)g(to)g(mo)s(dify)-8
+b(.)3350 1826 y([F)g(unction])-3599 b Fg(int)53 b(rl_modifying)c
+Ff(\()p Fi(in)m(t)32 b(start,)f(in)m(t)g(end)p Ff(\))390
+1935 y Fs(T)-8 b(ell)41 b(Readline)g(to)g(sa)m(v)m(e)g(the)g(text)g(b)s
+(et)m(w)m(een)g Fi(start)i Fs(and)c Fi(end)k Fs(as)e(a)f(single)h(undo)
+e(unit.)70 b(It)40 b(is)390 2045 y(assumed)30 b(that)h(y)m(ou)f(will)h
+(subsequen)m(tly)f(mo)s(dify)f(that)i(text.)150 2247
+y Fh(2.4.6)63 b(Redispla)m(y)3350 2447 y Fs([F)-8 b(unction])-3599
+b Fg(void)54 b(rl_redisplay)49 b Ff(\()p Fi(v)m(oid)p
+Ff(\))390 2556 y Fs(Change)38 b(what's)f(displa)m(y)m(ed)i(on)e(the)h
+(screen)g(to)h(re\015ect)f(the)g(curren)m(t)g(con)m(ten)m(ts)h(of)f
+Fr(rl_line_)390 2666 y(buffer)p Fs(.)3350 2856 y([F)-8
+b(unction])-3599 b Fg(int)53 b(rl_forced_update_disp)q(lay)f
+Ff(\()p Fi(v)m(oid)p Ff(\))390 2965 y Fs(F)-8 b(orce)41
+b(the)f(line)g(to)h(b)s(e)e(up)s(dated)f(and)h(redispla)m(y)m(ed,)k
+(whether)c(or)g(not)h(Readline)h(thinks)e(the)390 3075
+y(screen)30 b(displa)m(y)h(is)f(correct.)3350 3265 y([F)-8
+b(unction])-3599 b Fg(int)53 b(rl_on_new_line)d Ff(\()p
+Fi(v)m(oid)p Ff(\))390 3375 y Fs(T)-8 b(ell)31 b(the)f(up)s(date)f
+(functions)g(that)i(w)m(e)f(ha)m(v)m(e)h(mo)m(v)m(ed)g(on)m(to)g(a)f
+(new)f(\(empt)m(y\))i(line,)g(usually)e(after)390 3484
+y(ouputting)h(a)h(newline.)3350 3674 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_on_new_line_with_p)q(romp)q(t)f Ff(\()p
+Fi(v)m(oid)p Ff(\))390 3784 y Fs(T)-8 b(ell)25 b(the)f(up)s(date)f
+(functions)h(that)h(w)m(e)f(ha)m(v)m(e)h(mo)m(v)m(ed)g(on)m(to)h(a)e
+(new)g(line,)i(with)d Fi(rl)p 3106 3784 V 40 w(prompt)i
+Fs(already)390 3893 y(displa)m(y)m(ed.)41 b(This)28 b(could)g(b)s(e)g
+(used)g(b)m(y)g(applications)i(that)f(w)m(an)m(t)h(to)f(output)f(the)h
+(prompt)f(string)390 4003 y(themselv)m(es,)h(but)e(still)h(need)g
+(Readline)g(to)g(kno)m(w)f(the)h(prompt)e(string)h(length)h(for)f
+(redispla)m(y)-8 b(.)41 b(It)390 4113 y(should)29 b(b)s(e)h(used)g
+(after)h(setting)g Fi(rl)p 1590 4113 V 40 w(already)p
+1920 4113 V 41 w(prompted)t Fs(.)3350 4303 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_reset_line_state)e Ff(\()p Fi(v)m(oid)p
+Ff(\))390 4412 y Fs(Reset)36 b(the)e(displa)m(y)h(state)h(to)g(a)f
+(clean)g(state)h(and)e(redispla)m(y)h(the)g(curren)m(t)g(line)g
+(starting)g(on)g(a)390 4522 y(new)30 b(line.)3350 4712
+y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_crlf)48 b Ff(\()p
+Fi(v)m(oid)p Ff(\))390 4821 y Fs(Mo)m(v)m(e)32 b(the)f(cursor)f(to)h
+(the)f(start)h(of)g(the)f(next)h(screen)f(line.)3350
+5011 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_show_char)c
+Ff(\()p Fi(in)m(t)32 b(c)p Ff(\))390 5121 y Fs(Displa)m(y)i(c)m
+(haracter)g Fi(c)k Fs(on)32 b Fr(rl_outstream)p Fs(.)44
+b(If)32 b(Readline)h(has)g(not)f(b)s(een)g(set)h(to)g(displa)m(y)g
+(meta)390 5230 y(c)m(haracters)27 b(directly)-8 b(,)29
+b(this)c(will)i(con)m(v)m(ert)g(meta)g(c)m(haracters)h(to)e(a)h
+(meta-pre\014xed)f(k)m(ey)g(sequence.)390 5340 y(This)k(is)g(in)m
+(tended)g(for)g(use)g(b)m(y)h(applications)g(whic)m(h)f(wish)g(to)h(do)
+f(their)h(o)m(wn)f(redispla)m(y)-8 b(.)p eop end
%%Page: 33 37
-TeXDict begin 33 36 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 33 36 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(33)3350
-299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(sho)m(w)p 729 299 V 50 w(c)m(har)44 b
-Fe(\()p Fs(int)30 b(c)p Fe(\))390 408 y Ft(Displa)m(y)k(c)m(haracter)g
-Fi(c)k Ft(on)32 b Fs(rl_outstream)p Ft(.)44 b(If)32 b(Readline)h(has)g
-(not)f(b)s(een)g(set)h(to)g(displa)m(y)g(meta)390 518
-y(c)m(haracters)27 b(directly)-8 b(,)29 b(this)c(will)i(con)m(v)m(ert)g
-(meta)g(c)m(haracters)h(to)e(a)h(meta-pre\014xed)f(k)m(ey)g(sequence.)
-390 628 y(This)k(is)g(in)m(tended)g(for)g(use)g(b)m(y)h(applications)g
-(whic)m(h)f(wish)g(to)h(do)f(their)h(o)m(wn)f(redispla)m(y)-8
-b(.)3350 821 y([F)g(unction])-3599 b Fg(int)39 b Ff(rl)p
-432 821 V 51 w(message)45 b Fe(\()p Fs(const)29 b(char)g(*,)h(...)o
-Fe(\))390 931 y Ft(The)20 b(argumen)m(ts)h(are)g(a)g(format)g(string)g
-(as)f(w)m(ould)h(b)s(e)f(supplied)f(to)j Fs(printf)p
-Ft(,)f(p)s(ossibly)e(con)m(taining)390 1040 y(con)m(v)m(ersion)45
-b(sp)s(eci\014cations)g(suc)m(h)f(as)g(`)p Fs(\045d)p
-Ft(',)k(and)c(an)m(y)g(additional)h(argumen)m(ts)g(necessary)f(to)390
-1150 y(satisfy)e(the)f(con)m(v)m(ersion)i(sp)s(eci\014cations.)74
+299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_message)c
+Ff(\()p Fi(const)31 b(c)m(har)g(*,)36 b(.)22 b(.)h(.)11
+b Ff(\))390 408 y Fs(The)20 b(argumen)m(ts)h(are)g(a)g(format)g(string)
+g(as)f(w)m(ould)h(b)s(e)f(supplied)f(to)j Fr(printf)p
+Fs(,)f(p)s(ossibly)e(con)m(taining)390 518 y(con)m(v)m(ersion)45
+b(sp)s(eci\014cations)g(suc)m(h)f(as)g(`)p Fr(\045d)p
+Fs(',)k(and)c(an)m(y)g(additional)h(argumen)m(ts)g(necessary)f(to)390
+628 y(satisfy)e(the)f(con)m(v)m(ersion)i(sp)s(eci\014cations.)74
b(The)41 b(resulting)h(string)f(is)g(displa)m(y)m(ed)h(in)f(the)h
-Fi(ec)m(ho)390 1260 y(area)p Ft(.)63 b(The)37 b(ec)m(ho)i(area)f(is)g
+Fi(ec)m(ho)390 737 y(area)p Fs(.)63 b(The)37 b(ec)m(ho)i(area)f(is)g
(also)g(used)f(to)h(displa)m(y)g(n)m(umeric)f(argumen)m(ts)h(and)f
-(searc)m(h)h(strings.)390 1369 y(Y)-8 b(ou)34 b(should)e(call)j
-Fs(rl_save_prompt)29 b Ft(to)34 b(sa)m(v)m(e)h(the)f(prompt)e
-(information)i(b)s(efore)f(calling)i(this)390 1479 y(function.)3350
-1672 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-1672 V 51 w(clear)p 722 1672 V 49 w(message)45 b Fe(\()p
-Fs(void)p Fe(\))390 1782 y Ft(Clear)29 b(the)g(message)h(in)f(the)g(ec)
-m(ho)h(area.)41 b(If)29 b(the)g(prompt)f(w)m(as)h(sa)m(v)m(ed)h(with)f
-(a)g(call)i(to)e Fs(rl_save_)390 1892 y(prompt)38 b Ft(b)s(efore)h(the)
-g(last)h(call)h(to)f Fs(rl_message)p Ft(,)f(call)i Fs
-(rl_restore_prompt)34 b Ft(b)s(efore)39 b(calling)390
-2001 y(this)30 b(function.)3350 2195 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(rl)p 484 2195 V 51 w(sa)m(v)m(e)p 743
-2195 V 50 w(prompt)45 b Fe(\()p Fs(void)p Fe(\))390 2304
-y Ft(Sa)m(v)m(e)f(the)f(lo)s(cal)i(Readline)e(prompt)f(displa)m(y)i
-(state)g(in)f(preparation)g(for)g(displa)m(ying)g(a)g(new)390
-2414 y(message)31 b(in)g(the)f(message)i(area)f(with)f
-Fs(rl_message\(\))p Ft(.)3350 2608 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(rl)p 484 2608 V 51 w(restore)p 882
-2608 V 50 w(prompt)45 b Fe(\()p Fs(void)p Fe(\))390 2717
-y Ft(Restore)f(the)e(lo)s(cal)i(Readline)g(prompt)d(displa)m(y)i(state)
-h(sa)m(v)m(ed)g(b)m(y)f(the)f(most)h(recen)m(t)h(call)g(to)390
-2827 y Fs(rl_save_prompt)p Ft(.)69 b(if)41 b Fs(rl_save_prompt)d
-Ft(w)m(as)j(called)i(to)f(sa)m(v)m(e)h(the)e(prompt)f(b)s(efore)h(a)h
-(call)390 2936 y(to)37 b Fs(rl_message)p Ft(,)f(this)h(function)f
-(should)g(b)s(e)g(called)i(b)s(efore)f(the)g(corresp)s(onding)e(call)j
-(to)g Fs(rl_)390 3046 y(clear_message)p Ft(.)3350 3240
-y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 3240
-V 51 w(expand)p 844 3240 V 49 w(prompt)45 b Fe(\()p Fs(char)29
-b(*prompt)p Fe(\))390 3349 y Ft(Expand)41 b(an)m(y)j(sp)s(ecial)f(c)m
-(haracter)h(sequences)f(in)g Fi(prompt)g Ft(and)f(set)i(up)d(the)i(lo)s
-(cal)h(Readline)390 3459 y(prompt)35 b(redispla)m(y)h(v)-5
+(searc)m(h)h(strings.)390 847 y(Y)-8 b(ou)34 b(should)e(call)j
+Fr(rl_save_prompt)29 b Fs(to)34 b(sa)m(v)m(e)h(the)f(prompt)e
+(information)i(b)s(efore)f(calling)i(this)390 956 y(function.)3350
+1136 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_clear_message)e
+Ff(\()p Fi(v)m(oid)p Ff(\))390 1245 y Fs(Clear)29 b(the)g(message)h(in)
+f(the)g(ec)m(ho)h(area.)41 b(If)29 b(the)g(prompt)f(w)m(as)h(sa)m(v)m
+(ed)h(with)f(a)g(call)i(to)e Fr(rl_save_)390 1355 y(prompt)38
+b Fs(b)s(efore)h(the)g(last)h(call)h(to)f Fr(rl_message)p
+Fs(,)f(call)i Fr(rl_restore_prompt)34 b Fs(b)s(efore)39
+b(calling)390 1464 y(this)30 b(function.)3350 1644 y([F)-8
+b(unction])-3599 b Fg(void)54 b(rl_save_prompt)49 b Ff(\()p
+Fi(v)m(oid)p Ff(\))390 1753 y Fs(Sa)m(v)m(e)44 b(the)f(lo)s(cal)i
+(Readline)e(prompt)f(displa)m(y)i(state)g(in)f(preparation)g(for)g
+(displa)m(ying)g(a)g(new)390 1863 y(message)31 b(in)g(the)f(message)i
+(area)f(with)f Fr(rl_message\(\))p Fs(.)3350 2042 y([F)-8
+b(unction])-3599 b Fg(void)54 b(rl_restore_prompt)c Ff(\()p
+Fi(v)m(oid)p Ff(\))390 2152 y Fs(Restore)44 b(the)e(lo)s(cal)i
+(Readline)g(prompt)d(displa)m(y)i(state)h(sa)m(v)m(ed)g(b)m(y)f(the)f
+(most)h(recen)m(t)h(call)g(to)390 2261 y Fr(rl_save_prompt)p
+Fs(.)69 b(if)41 b Fr(rl_save_prompt)d Fs(w)m(as)j(called)i(to)f(sa)m(v)
+m(e)h(the)e(prompt)f(b)s(efore)h(a)h(call)390 2371 y(to)37
+b Fr(rl_message)p Fs(,)f(this)h(function)f(should)g(b)s(e)g(called)i(b)
+s(efore)f(the)g(corresp)s(onding)e(call)j(to)g Fr(rl_)390
+2480 y(clear_message)p Fs(.)3350 2660 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_expand_prompt)e Ff(\()p Fi(c)m(har)31
+b(*prompt)p Ff(\))390 2769 y Fs(Expand)41 b(an)m(y)j(sp)s(ecial)f(c)m
+(haracter)h(sequences)f(in)g Fi(prompt)g Fs(and)f(set)i(up)d(the)i(lo)s
+(cal)h(Readline)390 2879 y(prompt)35 b(redispla)m(y)h(v)-5
b(ariables.)57 b(This)35 b(function)h(is)g(called)h(b)m(y)e
-Fs(readline\(\))p Ft(.)55 b(It)35 b(ma)m(y)i(also)g(b)s(e)390
-3568 y(called)22 b(to)g(expand)f(the)g(primary)f(prompt)g(if)i(the)f
-Fs(rl_on_new_line_with_prom)o(pt\()o(\))15 b Ft(function)390
-3678 y(or)25 b Fs(rl_already_prompted)c Ft(v)-5 b(ariable)26
+Fr(readline\(\))p Fs(.)55 b(It)35 b(ma)m(y)i(also)g(b)s(e)390
+2988 y(called)22 b(to)g(expand)f(the)g(primary)f(prompt)g(if)i(the)f
+Fr(rl_on_new_line_with_prom)o(pt\()o(\))15 b Fs(function)390
+3098 y(or)25 b Fr(rl_already_prompted)c Fs(v)-5 b(ariable)26
b(is)f(used.)39 b(It)25 b(returns)f(the)i(n)m(um)m(b)s(er)e(of)i
-(visible)f(c)m(haracters)390 3787 y(on)34 b(the)g(last)g(line)g(of)g
+(visible)f(c)m(haracters)390 3208 y(on)34 b(the)g(last)g(line)g(of)g
(the)g(\(p)s(ossibly)f(m)m(ulti-line\))j(prompt.)50 b(Applications)34
-b(ma)m(y)h(indicate)f(that)390 3897 y(the)28 b(prompt)f(con)m(tains)i
+b(ma)m(y)h(indicate)f(that)390 3317 y(the)28 b(prompt)f(con)m(tains)i
(c)m(haracters)g(that)g(tak)m(e)g(up)e(no)h(ph)m(ysical)g(screen)g
-(space)g(when)f(displa)m(y)m(ed)390 4007 y(b)m(y)41 b(brac)m(k)m(eting)
+(space)g(when)f(displa)m(y)m(ed)390 3427 y(b)m(y)41 b(brac)m(k)m(eting)
i(a)e(sequence)g(of)g(suc)m(h)g(c)m(haracters)h(with)f(the)g(sp)s
-(ecial)h(mark)m(ers)f Fs(RL_PROMPT_)390 4116 y(START_IGNORE)27
-b Ft(and)k Fs(RL_PROMPT_END_IGNORE)25 b Ft(\(declared)31
-b(in)g(`)p Fs(readline.h)p Ft('.)39 b(This)30 b(ma)m(y)i(b)s(e)390
-4226 y(used)e(to)h(em)m(b)s(ed)f(terminal-sp)s(eci\014c)h(escap)s(e)f
-(sequences)h(in)f(prompts.)3350 4419 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 4419 V 51 w(set)p 626 4419
-V 49 w(prompt)45 b Fe(\()p Fs(const)30 b(char)f(*prompt)p
-Fe(\))390 4529 y Ft(Mak)m(e)f(Readline)g(use)f Fi(prompt)h
-Ft(for)e(subsequen)m(t)h(redispla)m(y)-8 b(.)40 b(This)26
-b(calls)i Fs(rl_expand_prompt\(\))390 4639 y Ft(to)j(expand)f(the)g
-(prompt)g(and)g(sets)g Fs(rl_prompt)e Ft(to)j(the)g(result.)150
-4872 y Fh(2.4.7)63 b(Mo)s(difying)43 b(T)-10 b(ext)3350
-5121 y Ft([F)i(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-5121 V 51 w(insert)p 769 5121 V 49 w(text)44 b Fe(\()p
-Fs(const)30 b(char)f(*text)p Fe(\))390 5230 y Ft(Insert)i
-Fi(text)k Ft(in)m(to)d(the)g(line)g(at)g(the)g(curren)m(t)f(cursor)g(p)
-s(osition.)45 b(Returns)30 b(the)i(n)m(um)m(b)s(er)f(of)g(c)m(har-)390
-5340 y(acters)g(inserted.)p eop end
+(ecial)h(mark)m(ers)f Fr(RL_PROMPT_)390 3536 y(START_IGNORE)27
+b Fs(and)k Fr(RL_PROMPT_END_IGNORE)25 b Fs(\(declared)31
+b(in)g(`)p Fr(readline.h)p Fs('.)39 b(This)30 b(ma)m(y)i(b)s(e)390
+3646 y(used)e(to)h(em)m(b)s(ed)f(terminal-sp)s(eci\014c)h(escap)s(e)f
+(sequences)h(in)f(prompts.)3350 3825 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_set_prompt)d Ff(\()p Fi(const)31 b(c)m(har)g(*prompt)p
+Ff(\))390 3935 y Fs(Mak)m(e)d(Readline)g(use)f Fi(prompt)h
+Fs(for)e(subsequen)m(t)h(redispla)m(y)-8 b(.)40 b(This)26
+b(calls)i Fr(rl_expand_prompt\(\))390 4044 y Fs(to)j(expand)f(the)g
+(prompt)g(and)g(sets)g Fr(rl_prompt)e Fs(to)j(the)g(result.)150
+4240 y Fh(2.4.7)63 b(Mo)s(difying)43 b(T)-10 b(ext)3350
+4434 y Fs([F)i(unction])-3599 b Fg(int)53 b(rl_insert_text)d
+Ff(\()p Fi(const)31 b(c)m(har)g(*text)p Ff(\))390 4543
+y Fs(Insert)g Fi(text)k Fs(in)m(to)d(the)g(line)g(at)g(the)g(curren)m
+(t)f(cursor)g(p)s(osition.)45 b(Returns)30 b(the)i(n)m(um)m(b)s(er)f
+(of)g(c)m(har-)390 4653 y(acters)g(inserted.)3350 4832
+y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_delete_text)d
+Ff(\()p Fi(in)m(t)31 b(start,)g(in)m(t)g(end)p Ff(\))390
+4942 y Fs(Delete)40 b(the)e(text)h(b)s(et)m(w)m(een)f
+Fi(start)i Fs(and)d Fi(end)k Fs(in)c(the)h(curren)m(t)g(line.)63
+b(Returns)36 b(the)i(n)m(um)m(b)s(er)f(of)390 5051 y(c)m(haracters)32
+b(deleted.)3350 5230 y([F)-8 b(unction])-3599 b Fg(char)54
+b(*)e(rl_copy_text)d Ff(\()p Fi(in)m(t)31 b(start,)h(in)m(t)f(end)p
+Ff(\))390 5340 y Fs(Return)f(a)g(cop)m(y)h(of)g(the)g(text)g(b)s(et)m
+(w)m(een)g Fi(start)i Fs(and)d Fi(end)j Fs(in)d(the)h(curren)m(t)f
+(line.)p eop end
%%Page: 34 38
-TeXDict begin 34 37 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 34 37 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(34)3350
-299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(delete)p 783 299 V 47 w(text)45 b Fe(\()p
-Fs(int)30 b(start,)f(int)g(end)p Fe(\))390 408 y Ft(Delete)40
-b(the)e(text)h(b)s(et)m(w)m(een)f Fi(start)i Ft(and)d
-Fi(end)k Ft(in)c(the)h(curren)m(t)g(line.)63 b(Returns)36
-b(the)i(n)m(um)m(b)s(er)f(of)390 518 y(c)m(haracters)32
-b(deleted.)3350 704 y([F)-8 b(unction])-3599 b Fg(char)39
-b(*)g Ff(rl)p 575 704 V 50 w(cop)m(y)p 854 704 V 51 w(text)44
-b Fe(\()p Fs(int)30 b(start,)f(int)g(end)p Fe(\))390
-813 y Ft(Return)h(a)g(cop)m(y)h(of)g(the)g(text)g(b)s(et)m(w)m(een)g
-Fi(start)i Ft(and)d Fi(end)j Ft(in)d(the)h(curren)m(t)f(line.)3350
-999 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-999 V 51 w(kill)p 639 999 V 50 w(text)44 b Fe(\()p Fs(int)30
-b(start,)f(int)g(end)p Fe(\))390 1108 y Ft(Cop)m(y)34
-b(the)g(text)i(b)s(et)m(w)m(een)e Fi(start)j Ft(and)d
-Fi(end)j Ft(in)d(the)g(curren)m(t)g(line)g(to)h(the)f(kill)h(ring,)g
-(app)s(ending)390 1218 y(or)f(prep)s(ending)e(to)j(the)f(last)h(kill)f
-(if)g(the)g(last)h(command)f(w)m(as)g(a)h(kill)f(command.)51
-b(The)34 b(text)h(is)390 1328 y(deleted.)51 b(If)33 b
-Fi(start)j Ft(is)e(less)g(than)f Fi(end)p Ft(,)h(the)g(text)g(is)g(app)
-s(ended,)f(otherwise)h(prep)s(ended.)48 b(If)33 b(the)390
-1437 y(last)e(command)f(w)m(as)h(not)g(a)f(kill,)i(a)f(new)e(kill)i
-(ring)g(slot)g(is)f(used.)3350 1623 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 1623 V 51 w(push)p 720 1623
-V 49 w(macro)p 1075 1623 V 51 w(input)44 b Fe(\()p Fs(char)29
-b(*macro)p Fe(\))390 1732 y Ft(Cause)f Fi(macro)33 b
-Ft(to)c(b)s(e)f(inserted)g(in)m(to)h(the)g(line,)g(as)f(if)h(it)f(had)g
+299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_kill_text)c
+Ff(\()p Fi(in)m(t)32 b(start,)f(in)m(t)g(end)p Ff(\))390
+408 y Fs(Cop)m(y)j(the)g(text)i(b)s(et)m(w)m(een)e Fi(start)j
+Fs(and)d Fi(end)j Fs(in)d(the)g(curren)m(t)g(line)g(to)h(the)f(kill)h
+(ring,)g(app)s(ending)390 518 y(or)f(prep)s(ending)e(to)j(the)f(last)h
+(kill)f(if)g(the)g(last)h(command)f(w)m(as)g(a)h(kill)f(command.)51
+b(The)34 b(text)h(is)390 628 y(deleted.)50 b(If)33 b
+Fi(start)j Fs(is)e(less)f(than)g Fi(end)t Fs(,)h(the)f(text)i(is)e(app)
+s(ended,)g(otherwise)g(prep)s(ended.)48 b(If)33 b(the)390
+737 y(last)e(command)f(w)m(as)h(not)g(a)f(kill,)i(a)f(new)e(kill)i
+(ring)g(slot)g(is)f(used.)3350 931 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_push_macro_input)e Ff(\()p Fi(c)m(har)32
+b(*macro)p Ff(\))390 1040 y Fs(Cause)c Fi(macro)33 b
+Fs(to)c(b)s(e)f(inserted)g(in)m(to)h(the)g(line,)g(as)f(if)h(it)f(had)g
(b)s(een)g(in)m(v)m(ok)m(ed)h(b)m(y)f(a)h(k)m(ey)g(b)s(ound)d(to)390
-1842 y(a)31 b(macro.)41 b(Not)31 b(esp)s(ecially)h(useful;)e(use)g
-Fs(rl_insert_text\(\))c Ft(instead.)150 2067 y Fh(2.4.8)63
-b(Character)39 b(Input)3350 2312 y Ft([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 2312 V 51 w(read)p 703 2312
-V 49 w(k)m(ey)46 b Fe(\()p Fs(void)p Fe(\))390 2422 y
-Ft(Return)29 b(the)g(next)h(c)m(haracter)h(a)m(v)-5 b(ailable)32
-b(from)d(Readline's)h(curren)m(t)f(input)g(stream.)41
-b(This)28 b(han-)390 2531 y(dles)e(input)g(inserted)g(in)m(to)i(the)e
-(input)g(stream)h(via)g Fi(rl)p 2226 2531 28 4 v 40 w(p)s(ending)p
-2583 2531 V 38 w(input)h Ft(\(see)f(Section)h(2.3)f([Read-)390
-2641 y(line)40 b(V)-8 b(ariables],)43 b(page)d(23\))g(and)f
-Fs(rl_stuff_char\(\))p Ft(,)f(macros,)k(and)d(c)m(haracters)h(read)f
-(from)390 2750 y(the)34 b(k)m(eyb)s(oard.)52 b(While)35
+1150 y(a)31 b(macro.)41 b(Not)31 b(esp)s(ecially)h(useful;)e(use)g
+Fr(rl_insert_text\(\))c Fs(instead.)150 1354 y Fh(2.4.8)63
+b(Character)39 b(Input)3350 1555 y Fs([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_read_key)c Ff(\()p Fi(v)m(oid)p Ff(\))390
+1665 y Fs(Return)29 b(the)g(next)h(c)m(haracter)h(a)m(v)-5
+b(ailable)32 b(from)d(Readline's)h(curren)m(t)f(input)g(stream.)41
+b(This)28 b(han-)390 1775 y(dles)e(input)g(inserted)g(in)m(to)i(the)e
+(input)g(stream)h(via)g Fi(rl)p 2226 1775 28 4 v 40 w(p)s(ending)p
+2583 1775 V 38 w(input)h Fs(\(see)f(Section)h(2.3)f([Read-)390
+1884 y(line)40 b(V)-8 b(ariables],)43 b(page)d(23\))g(and)f
+Fr(rl_stuff_char\(\))p Fs(,)f(macros,)k(and)d(c)m(haracters)h(read)f
+(from)390 1994 y(the)34 b(k)m(eyb)s(oard.)52 b(While)35
b(w)m(aiting)g(for)f(input,)g(this)g(function)g(will)g(call)i(an)m(y)e
-(function)g(assigned)390 2860 y(to)d(the)g Fs(rl_event_hook)26
-b Ft(v)-5 b(ariable.)3350 3046 y([F)d(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 3046 35 5 v 51 w(getc)44 b
-Fe(\()p Fs(FILE)30 b(*stream)p Fe(\))390 3155 y Ft(Return)20
-b(the)i(next)f(c)m(haracter)i(a)m(v)-5 b(ailable)24 b(from)c
-Fi(stream)p Ft(,)k(whic)m(h)d(is)g(assumed)g(to)h(b)s(e)e(the)i(k)m
-(eyb)s(oard.)3350 3341 y([F)-8 b(unction])-3599 b Fg(int)39
-b Ff(rl)p 432 3341 V 51 w(stu\013)p 704 3341 V 49 w(c)m(har)45
-b Fe(\()p Fs(int)30 b(c)p Fe(\))390 3450 y Ft(Insert)i
-Fi(c)39 b Ft(in)m(to)34 b(the)f(Readline)g(input)f(stream.)49
-b(It)33 b(will)g(b)s(e)f Fs(")p Ft(read)p Fs(")g Ft(b)s(efore)h
-(Readline)g(attempts)390 3560 y(to)27 b(read)g(c)m(haracters)h(from)f
-(the)g(terminal)g(with)f Fs(rl_read_key\(\))p Ft(.)36
-b(Up)27 b(to)g(512)h(c)m(haracters)g(ma)m(y)390 3670
-y(b)s(e)i(pushed)f(bac)m(k.)42 b Fs(rl_stuff_char)27
-b Ft(returns)i(1)i(if)f(the)h(c)m(haracter)h(w)m(as)f(successfully)g
-(inserted;)390 3779 y(0)g(otherwise.)3350 3965 y([F)-8
-b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 3965 V 51
-w(execute)p 862 3965 V 48 w(next)45 b Fe(\()p Fs(int)30
-b(c)p Fe(\))390 4074 y Ft(Mak)m(e)37 b Fi(c)42 b Ft(b)s(e)35
-b(the)h(next)f(command)h(to)g(b)s(e)f(executed)i(when)d
-Fs(rl_read_key\(\))e Ft(is)k(called.)58 b(This)390 4184
-y(sets)31 b Fi(rl)p 635 4184 28 4 v 40 w(p)s(ending)p
-992 4184 V 38 w(input)p Ft(.)3350 4370 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 4370 35 5 v 51 w(clear)p 722
-4370 V 49 w(p)s(ending)p 1172 4370 V 49 w(input)44 b
-Fe(\()p Fs(void)p Fe(\))390 4479 y Ft(Unset)e Fi(rl)p
-729 4479 28 4 v 40 w(p)s(ending)p 1086 4479 V 38 w(input)p
-Ft(,)i(e\013ectiv)m(ely)h(negating)e(the)f(e\013ect)h(of)f(an)m(y)g
-(previous)f(call)i(to)g Fs(rl_)390 4589 y(execute_next\(\))p
-Ft(.)59 b(This)36 b(w)m(orks)i(only)g(if)f(the)h(p)s(ending)e(input)h
-(has)g(not)h(already)g(b)s(een)f(read)390 4698 y(with)30
-b Fs(rl_read_key\(\))p Ft(.)3350 4884 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 4884 35 5 v 51 w(set)p 626
-4884 V 49 w(k)m(eyb)s(oard)p 1136 4884 V 51 w(input)p
-1456 4884 V 48 w(timeout)45 b Fe(\()p Fs(int)29 b(u)p
-Fe(\))390 4994 y Ft(While)41 b(w)m(aiting)g(for)f(k)m(eyb)s(oard)g
-(input)f(in)h Fs(rl_read_key\(\))p Ft(,)f(Readline)i(will)f(w)m(ait)h
-(for)f Fi(u)g Ft(mi-)390 5103 y(croseconds)31 b(for)g(input)f(b)s
+(function)g(assigned)390 2103 y(to)d(the)g Fr(rl_event_hook)26
+b Fs(v)-5 b(ariable.)3350 2297 y([F)d(unction])-3599
+b Fg(int)53 b(rl_getc)48 b Ff(\()p Fi(FILE)30 b(*stream)p
+Ff(\))390 2407 y Fs(Return)20 b(the)i(next)f(c)m(haracter)i(a)m(v)-5
+b(ailable)24 b(from)c Fi(stream)p Fs(,)k(whic)m(h)d(is)g(assumed)g(to)h
+(b)s(e)e(the)i(k)m(eyb)s(oard.)3350 2600 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_stuff_char)d Ff(\()p Fi(in)m(t)31 b(c)p
+Ff(\))390 2710 y Fs(Insert)h Fi(c)39 b Fs(in)m(to)34
+b(the)f(Readline)g(input)f(stream.)49 b(It)33 b(will)g(b)s(e)f
+Fr(")p Fs(read)p Fr(")g Fs(b)s(efore)h(Readline)g(attempts)390
+2819 y(to)27 b(read)g(c)m(haracters)h(from)f(the)g(terminal)g(with)f
+Fr(rl_read_key\(\))p Fs(.)36 b(Up)27 b(to)g(512)h(c)m(haracters)g(ma)m
+(y)390 2929 y(b)s(e)i(pushed)f(bac)m(k.)42 b Fr(rl_stuff_char)27
+b Fs(returns)i(1)i(if)f(the)h(c)m(haracter)h(w)m(as)f(successfully)g
+(inserted;)390 3039 y(0)g(otherwise.)3350 3232 y([F)-8
+b(unction])-3599 b Fg(int)53 b(rl_execute_next)d Ff(\()p
+Fi(in)m(t)31 b(c)p Ff(\))390 3342 y Fs(Mak)m(e)37 b Fi(c)42
+b Fs(b)s(e)35 b(the)h(next)f(command)h(to)g(b)s(e)f(executed)i(when)d
+Fr(rl_read_key\(\))e Fs(is)k(called.)58 b(This)390 3451
+y(sets)31 b Fi(rl)p 635 3451 V 40 w(p)s(ending)p 992
+3451 V 38 w(input)r Fs(.)3350 3645 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_clear_pending_inpu)q(t)e Ff(\()p Fi(v)m(oid)p
+Ff(\))390 3755 y Fs(Unset)42 b Fi(rl)p 729 3755 V 40
+w(p)s(ending)p 1086 3755 V 38 w(input)r Fs(,)i(e\013ectiv)m(ely)g
+(negating)f(the)f(e\013ect)h(of)f(an)m(y)g(previous)f(call)i(to)f
+Fr(rl_)390 3864 y(execute_next\(\))p Fs(.)59 b(This)36
+b(w)m(orks)i(only)g(if)f(the)h(p)s(ending)e(input)h(has)g(not)h
+(already)g(b)s(een)f(read)390 3974 y(with)30 b Fr(rl_read_key\(\))p
+Fs(.)3350 4167 y([F)-8 b(unction])-3599 b Fg(int)53 b
+(rl_set_keyboard_input)q(_tim)q(eou)q(t)e Ff(\()p Fi(in)m(t)32
+b(u)p Ff(\))390 4277 y Fs(While)41 b(w)m(aiting)g(for)f(k)m(eyb)s(oard)
+g(input)f(in)h Fr(rl_read_key\(\))p Fs(,)f(Readline)i(will)f(w)m(ait)h
+(for)f Fi(u)g Fs(mi-)390 4387 y(croseconds)31 b(for)g(input)f(b)s
(efore)g(calling)j(an)m(y)e(function)f(assigned)i(to)f
-Fs(rl_event_hook)p Ft(.)39 b Fi(u)30 b Ft(m)m(ust)390
-5213 y(b)s(e)h(greater)i(than)f(or)g(equal)g(to)h(zero)f(\(a)h
+Fr(rl_event_hook)p Fs(.)39 b Fi(u)30 b Fs(m)m(ust)390
+4496 y(b)s(e)h(greater)i(than)f(or)g(equal)g(to)h(zero)f(\(a)h
(zero-length)g(timeout)g(is)f(equiv)-5 b(alen)m(t)33
-b(to)g(a)f(p)s(oll\).)45 b(The)390 5322 y(default)31
+b(to)g(a)f(p)s(oll\).)45 b(The)390 4606 y(default)31
b(w)m(aiting)g(p)s(erio)s(d)e(is)i(one-ten)m(th)g(of)g(a)g(second.)40
-b(Returns)30 b(the)g(old)h(timeout)g(v)-5 b(alue.)p eop
-end
+b(Returns)30 b(the)g(old)h(timeout)g(v)-5 b(alue.)150
+4810 y Fh(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350
+5011 y Fs([F)-8 b(unction])-3599 b Fg(void)54 b(rl_prep_terminal)c
+Ff(\()p Fi(in)m(t)31 b(meta)p 1670 5011 V 41 w(\015ag)p
+Ff(\))390 5121 y Fs(Mo)s(dify)42 b(the)h(terminal)g(settings)g(for)f
+(Readline's)i(use,)h(so)e Fr(readline\(\))c Fs(can)k(read)f(a)h(single)
+390 5230 y(c)m(haracter)32 b(at)g(a)f(time)h(from)e(the)h(k)m(eyb)s
+(oard.)43 b(The)30 b Fi(meta)p 2376 5230 V 41 w(\015ag)39
+b Fs(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 5340
+y(if)g(Readline)h(should)f(read)g(eigh)m(t-bit)i(input.)p
+eop end
%%Page: 35 39
-TeXDict begin 35 38 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(35)150
-299 y Fh(2.4.9)63 b(T)-10 b(erminal)41 b(Managemen)m(t)3350
-549 y Ft([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
-484 549 35 5 v 51 w(prep)p 763 549 V 49 w(terminal)44
-b Fe(\()p Fs(int)30 b(meta_flag)p Fe(\))390 658 y Ft(Mo)s(dify)42
-b(the)h(terminal)g(settings)g(for)f(Readline's)i(use,)h(so)e
-Fs(readline\(\))c Ft(can)k(read)f(a)h(single)390 768
-y(c)m(haracter)32 b(at)g(a)f(time)h(from)e(the)h(k)m(eyb)s(oard.)43
-b(The)30 b Fi(meta)p 2376 768 28 4 v 41 w(\015ag)39 b
-Ft(argumen)m(t)31 b(should)f(b)s(e)g(non-zero)390 877
-y(if)g(Readline)h(should)f(read)g(eigh)m(t-bit)i(input.)3350
-1073 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
-484 1073 35 5 v 51 w(deprep)p 880 1073 V 48 w(terminal)45
-b Fe(\()p Fs(void)p Fe(\))390 1183 y Ft(Undo)31 b(the)h(e\013ects)h(of)
-f Fs(rl_prep_terminal\(\))p Ft(,)27 b(lea)m(ving)33 b(the)f(terminal)g
-(in)f(the)h(state)h(in)e(whic)m(h)390 1292 y(it)g(w)m(as)g(b)s(efore)f
-(the)g(most)h(recen)m(t)g(call)h(to)f Fs(rl_prep_terminal\(\))p
-Ft(.)3350 1488 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 1488 V 51 w(tt)m(y)p 682 1488 V 50 w(set)p
-875 1488 V 49 w(default)p 1273 1488 V 49 w(bindings)44
-b Fe(\()p Fs(Keymap)29 b(kmap)p Fe(\))390 1598 y Ft(Read)37
-b(the)g(op)s(erating)h(system's)f(terminal)g(editing)h(c)m(haracters)g
-(\(as)g(w)m(ould)e(b)s(e)h(displa)m(y)m(ed)g(b)m(y)390
-1707 y Fs(stty)p Ft(\))30 b(to)h(their)f(Readline)h(equiv)-5
-b(alen)m(ts.)42 b(The)30 b(bindings)f(are)i(p)s(erformed)e(in)h
-Fi(kmap)p Ft(.)3350 1903 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 1903 V 51 w(tt)m(y)p 682 1903 V 50 w(unset)p
-1003 1903 V 49 w(default)p 1401 1903 V 48 w(bindings)44
-b Fe(\()p Fs(Keymap)29 b(kmap)p Fe(\))390 2013 y Ft(Reset)k(the)f
-(bindings)e(manipulated)i(b)m(y)g Fs(rl_tty_set_default_bind)o(ing)o(s)
-26 b Ft(so)32 b(that)g(the)g(ter-)390 2122 y(minal)40
-b(editing)g(c)m(haracters)h(are)f(b)s(ound)e(to)i Fs(rl_insert)p
-Ft(.)66 b(The)39 b(bindings)f(are)i(p)s(erformed)e(in)390
-2232 y Fi(kmap)p Ft(.)3350 2428 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 2428 V 51 w(reset)p 726 2428
-V 49 w(terminal)44 b Fe(\()p Fs(const)29 b(char)h(*terminal_name)p
-Fe(\))390 2537 y Ft(Reinitialize)c(Readline's)f(idea)f(of)g(the)g
-(terminal)h(settings)f(using)g Fi(terminal)p 2977 2537
-28 4 v 40 w(name)29 b Ft(as)24 b(the)g(termi-)390 2647
-y(nal)32 b(t)m(yp)s(e)g(\(e.g.,)i Fs(vt100)p Ft(\).)44
-b(If)31 b Fi(terminal)p 1753 2647 V 41 w(name)37 b Ft(is)31
-b Fs(NULL)p Ft(,)h(the)g(v)-5 b(alue)32 b(of)g(the)g
-Fs(TERM)e Ft(en)m(vironmen)m(t)390 2756 y(v)-5 b(ariable)31
-b(is)g(used.)150 2992 y Fh(2.4.10)63 b(Utilit)m(y)40
-b(F)-10 b(unctions)3350 3242 y Ft([F)i(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 3242 35 5 v 51 w(sa)m(v)m(e)p
-691 3242 V 49 w(state)44 b Fe(\()p Fs(struct)29 b(readline_state)e(*sp)
-p Fe(\))390 3351 y Ft(Sa)m(v)m(e)j(a)f(snapshot)g(of)g(Readline's)g(in)
-m(ternal)h(state)g(to)g Fi(sp)p Ft(.)39 b(The)29 b(con)m(ten)m(ts)h(of)
-f(the)g Fi(readline)p 3523 3351 28 4 v 41 w(state)390
-3461 y Ft(structure)38 b(are)g(do)s(cumen)m(ted)g(in)g(`)p
-Fs(readline.h)p Ft('.)62 b(The)38 b(caller)h(is)f(resp)s(onsible)g(for)
-g(allo)s(cating)390 3571 y(the)31 b(structure.)3350 3766
-y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432 3766
-35 5 v 51 w(restore)p 830 3766 V 49 w(state)44 b Fe(\()p
-Fs(struct)29 b(readline_state)e(*sp)p Fe(\))390 3876
-y Ft(Restore)c(Readline's)g(in)m(ternal)g(state)g(to)g(that)g(stored)f
-(in)g Fi(sp)p Ft(,)i(whic)m(h)d(m)m(ust)h(ha)m(v)m(e)i(b)s(een)d(sa)m
-(v)m(ed)i(b)m(y)g(a)390 3986 y(call)30 b(to)g Fs(rl_save_state)p
-Ft(.)37 b(The)28 b(con)m(ten)m(ts)j(of)e(the)g Fi(readline)p
-2470 3986 28 4 v 41 w(state)35 b Ft(structure)29 b(are)g(do)s(cumen)m
-(ted)390 4095 y(in)h(`)p Fs(readline.h)p Ft('.)38 b(The)30
-b(caller)i(is)e(resp)s(onsible)g(for)g(freeing)h(the)f(structure.)3350
-4291 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
-484 4291 35 5 v 51 w(free)44 b Fe(\()p Fs(void)30 b(*mem)p
-Fe(\))390 4400 y Ft(Deallo)s(cate)25 b(the)c(memory)g(p)s(oin)m(ted)g
-(to)h(b)m(y)f Fi(mem)p Ft(.)38 b Fi(mem)21 b Ft(m)m(ust)g(ha)m(v)m(e)i
-(b)s(een)d(allo)s(cated)j(b)m(y)e Fs(malloc)p Ft(.)3350
-4596 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
-484 4596 V 51 w(replace)p 891 4596 V 49 w(line)44 b Fe(\()p
-Fs(const)29 b(char)g(*text,)g(int)g(clear_undo)p Fe(\))390
-4706 y Ft(Replace)41 b(the)e(con)m(ten)m(ts)i(of)f Fs(rl_line_buffer)35
-b Ft(with)k Fi(text)p Ft(.)69 b(The)39 b(p)s(oin)m(t)h(and)e(mark)h
-(are)h(pre-)390 4815 y(serv)m(ed,)27 b(if)e(p)s(ossible.)39
-b(If)25 b Fi(clear)p 1422 4815 28 4 v 41 w(undo)k Ft(is)d(non-zero,)h
-(the)f(undo)e(list)i(asso)s(ciated)h(with)e(the)h(curren)m(t)390
-4925 y(line)31 b(is)f(cleared.)3350 5121 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(rl)p 484 5121 35 5 v 51 w(extend)p
-874 5121 V 49 w(line)p 1104 5121 V 49 w(bu\013er)44 b
-Fe(\()p Fs(int)30 b(len)p Fe(\))390 5230 y Ft(Ensure)f(that)h
-Fs(rl_line_buffer)d Ft(has)j(enough)f(space)i(to)g(hold)f
-Fi(len)g Ft(c)m(haracters,)i(p)s(ossibly)d(real-)390
-5340 y(lo)s(cating)j(it)f(if)f(necessary)-8 b(.)p eop
-end
+TeXDict begin 35 38 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(35)3350
+299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_deprep_terminal)c
+Ff(\()p Fi(v)m(oid)p Ff(\))390 408 y Fs(Undo)31 b(the)h(e\013ects)h(of)
+f Fr(rl_prep_terminal\(\))p Fs(,)27 b(lea)m(ving)33 b(the)f(terminal)g
+(in)f(the)h(state)h(in)e(whic)m(h)390 518 y(it)g(w)m(as)g(b)s(efore)f
+(the)g(most)h(recen)m(t)g(call)h(to)f Fr(rl_prep_terminal\(\))p
+Fs(.)3350 698 y([F)-8 b(unction])-3599 b Fg(void)54 b
+(rl_tty_set_default_bindi)q(ngs)e Ff(\()p Fi(Keymap)31
+b(kmap)p Ff(\))390 808 y Fs(Read)37 b(the)g(op)s(erating)h(system's)f
+(terminal)g(editing)h(c)m(haracters)g(\(as)g(w)m(ould)e(b)s(e)h(displa)
+m(y)m(ed)g(b)m(y)390 917 y Fr(stty)p Fs(\))30 b(to)h(their)f(Readline)h
+(equiv)-5 b(alen)m(ts.)42 b(The)30 b(bindings)f(are)i(p)s(erformed)e
+(in)h Fi(kmap)s Fs(.)3350 1098 y([F)-8 b(unction])-3599
+b Fg(void)54 b(rl_tty_unset_default_bin)q(din)q(gs)e
+Ff(\()p Fi(Keymap)30 b(kmap)p Ff(\))390 1207 y Fs(Reset)j(the)f
+(bindings)e(manipulated)i(b)m(y)g Fr(rl_tty_set_default_bind)o(ing)o(s)
+26 b Fs(so)32 b(that)g(the)g(ter-)390 1317 y(minal)40
+b(editing)g(c)m(haracters)h(are)f(b)s(ound)e(to)i Fr(rl_insert)p
+Fs(.)66 b(The)39 b(bindings)f(are)i(p)s(erformed)e(in)390
+1426 y Fi(kmap)s Fs(.)3350 1606 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_reset_terminal)e Ff(\()p Fi(const)31
+b(c)m(har)g(*terminal)p 2151 1606 28 4 v 41 w(name)p
+Ff(\))390 1716 y Fs(Reinitialize)26 b(Readline's)f(idea)f(of)g(the)g
+(terminal)h(settings)f(using)g Fi(terminal)p 2977 1716
+V 40 w(name)29 b Fs(as)24 b(the)g(termi-)390 1826 y(nal)32
+b(t)m(yp)s(e)g(\(e.g.,)i Fr(vt100)p Fs(\).)44 b(If)31
+b Fi(terminal)p 1753 1826 V 41 w(name)37 b Fs(is)31 b
+Fr(NULL)p Fs(,)h(the)g(v)-5 b(alue)32 b(of)g(the)g Fr(TERM)e
+Fs(en)m(vironmen)m(t)390 1935 y(v)-5 b(ariable)31 b(is)g(used.)150
+2132 y Fh(2.4.10)63 b(Utilit)m(y)40 b(F)-10 b(unctions)3350
+2326 y Fs([F)i(unction])-3599 b Fg(int)53 b(rl_save_state)d
+Ff(\()p Fi(struct)30 b(readline)p 1702 2326 V 41 w(state)h(*sp)p
+Ff(\))390 2435 y Fs(Sa)m(v)m(e)f(a)f(snapshot)f(of)h(Readline's)g(in)m
+(ternal)g(state)h(to)g Fi(sp)s Fs(.)39 b(The)28 b(con)m(ten)m(ts)j(of)d
+(the)h Fi(readline)p 3523 2435 V 41 w(state)390 2545
+y Fs(structure)38 b(are)g(do)s(cumen)m(ted)g(in)g(`)p
+Fr(readline.h)p Fs('.)62 b(The)38 b(caller)h(is)f(resp)s(onsible)g(for)
+g(allo)s(cating)390 2654 y(the)31 b(structure.)3350 2835
+y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_restore_state)e
+Ff(\()p Fi(struct)30 b(readline)p 1859 2835 V 41 w(state)h(*sp)p
+Ff(\))390 2944 y Fs(Restore)23 b(Readline's)g(in)m(ternal)f(state)i(to)
+e(that)h(stored)f(in)g Fi(sp)s Fs(,)h(whic)m(h)e(m)m(ust)h(ha)m(v)m(e)h
+(b)s(een)f(sa)m(v)m(ed)h(b)m(y)f(a)390 3054 y(call)30
+b(to)g Fr(rl_save_state)p Fs(.)37 b(The)28 b(con)m(ten)m(ts)j(of)e(the)
+g Fi(readline)p 2470 3054 V 41 w(state)35 b Fs(structure)29
+b(are)g(do)s(cumen)m(ted)390 3163 y(in)h(`)p Fr(readline.h)p
+Fs('.)38 b(The)30 b(caller)i(is)e(resp)s(onsible)g(for)g(freeing)h(the)
+f(structure.)3350 3343 y([F)-8 b(unction])-3599 b Fg(void)54
+b(rl_free)47 b Ff(\()p Fi(v)m(oid)31 b(*mem)p Ff(\))390
+3453 y Fs(Deallo)s(cate)25 b(the)c(memory)g(p)s(oin)m(ted)g(to)h(b)m(y)
+f Fi(mem)p Fs(.)38 b Fi(mem)21 b Fs(m)m(ust)g(ha)m(v)m(e)i(b)s(een)d
+(allo)s(cated)j(b)m(y)e Fr(malloc)p Fs(.)3350 3633 y([F)-8
+b(unction])-3599 b Fg(void)54 b(rl_replace_line)c Ff(\()p
+Fi(const)31 b(c)m(har)g(*text,)h(in)m(t)e(clear)p 2305
+3633 V 42 w(undo)p Ff(\))390 3743 y Fs(Replace)41 b(the)e(con)m(ten)m
+(ts)i(of)e Fr(rl_line_buffer)d Fs(with)j Fi(text)r Fs(.)68
+b(The)39 b(p)s(oin)m(t)g(and)g(mark)g(are)g(pre-)390
+3852 y(serv)m(ed,)27 b(if)e(p)s(ossible.)39 b(If)25 b
+Fi(clear)p 1422 3852 V 41 w(undo)k Fs(is)d(non-zero,)h(the)f(undo)e
+(list)i(asso)s(ciated)h(with)e(the)h(curren)m(t)390 3962
+y(line)31 b(is)f(cleared.)3350 4142 y([F)-8 b(unction])-3599
+b Fg(void)54 b(rl_extend_line_buffer)d Ff(\()p Fi(in)m(t)32
+b(len)p Ff(\))390 4252 y Fs(Ensure)d(that)h Fr(rl_line_buffer)d
+Fs(has)j(enough)f(space)i(to)g(hold)f Fi(len)g Fs(c)m(haracters,)i(p)s
+(ossibly)d(real-)390 4361 y(lo)s(cating)j(it)f(if)f(necessary)-8
+b(.)3350 4541 y([F)g(unction])-3599 b Fg(int)53 b(rl_initialize)d
+Ff(\()p Fi(v)m(oid)p Ff(\))390 4651 y Fs(Initialize)39
+b(or)e(re-initialize)i(Readline's)f(in)m(ternal)f(state.)62
+b(It's)37 b(not)g(strictly)h(necessary)f(to)h(call)390
+4761 y(this;)31 b Fr(readline\(\))c Fs(calls)32 b(it)f(b)s(efore)f
+(reading)g(an)m(y)h(input.)3350 4941 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_ding)48 b Ff(\()p Fi(v)m(oid)p Ff(\))390
+5050 y Fs(Ring)30 b(the)h(terminal)g(b)s(ell,)f(ob)s(eying)h(the)f
+(setting)i(of)e Fr(bell-style)p Fs(.)3350 5230 y([F)-8
+b(unction])-3599 b Fg(int)53 b(rl_alphabetic)d Ff(\()p
+Fi(in)m(t)31 b(c)p Ff(\))390 5340 y Fs(Return)f(1)g(if)h
+Fi(c)36 b Fs(is)30 b(an)h(alphab)s(etic)g(c)m(haracter.)p
+eop end
%%Page: 36 40
-TeXDict begin 36 39 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 36 39 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(36)3350
-299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(initialize)j Fe(\()p Fs(void)p Fe(\))390
-408 y Ft(Initialize)d(or)e(re-initialize)i(Readline's)f(in)m(ternal)f
-(state.)62 b(It's)37 b(not)g(strictly)h(necessary)f(to)h(call)390
-518 y(this;)31 b Fs(readline\(\))c Ft(calls)32 b(it)f(b)s(efore)f
-(reading)g(an)m(y)h(input.)3350 687 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 687 V 51 w(ding)44 b Fe(\()p
-Fs(void)p Fe(\))390 796 y Ft(Ring)30 b(the)h(terminal)g(b)s(ell,)f(ob)s
-(eying)h(the)f(setting)i(of)e Fs(bell-style)p Ft(.)3350
-965 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-965 V 51 w(alphab)s(etic)j Fe(\()p Fs(int)30 b(c)p Fe(\))390
-1074 y Ft(Return)g(1)g(if)h Fi(c)36 b Ft(is)30 b(an)h(alphab)s(etic)g
-(c)m(haracter.)3350 1243 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 1243 V 51 w(displa)m(y)p 885 1243 V 49
-w(matc)m(h)p 1242 1243 V 50 w(list)45 b Fe(\()p Fs(char)29
-b(**matches,)f(int)h(len,)h(int)f(max)p Fe(\))390 1352
-y Ft(A)35 b(con)m(v)m(enience)h(function)e(for)g(displa)m(ying)h(a)g
-(list)g(of)g(strings)f(in)g(columnar)g(format)h(on)f(Read-)390
-1462 y(line's)g(output)f(stream.)51 b Fs(matches)31 b
-Ft(is)j(the)f(list)i(of)e(strings,)i(in)e(argv)h(format,)h(suc)m(h)e
-(as)h(a)g(list)g(of)390 1572 y(completion)26 b(matc)m(hes.)39
-b Fs(len)24 b Ft(is)g(the)g(n)m(um)m(b)s(er)f(of)i(strings)f(in)g
-Fs(matches)p Ft(,)f(and)h Fs(max)f Ft(is)i(the)f(length)h(of)390
-1681 y(the)h(longest)i(string)e(in)g Fs(matches)p Ft(.)37
-b(This)25 b(function)h(uses)g(the)g(setting)i(of)e Fs
-(print-completions-)390 1791 y(horizontally)33 b Ft(to)k(select)h(ho)m
+299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_display_match_list)d
+Ff(\()p Fi(c)m(har)31 b(**matc)m(hes,)i(in)m(t)e(len,)g(in)m(t)g(max)p
+Ff(\))390 408 y Fs(A)k(con)m(v)m(enience)h(function)e(for)g(displa)m
+(ying)h(a)g(list)g(of)g(strings)f(in)g(columnar)g(format)h(on)f(Read-)
+390 518 y(line's)g(output)f(stream.)51 b Fr(matches)31
+b Fs(is)j(the)f(list)i(of)e(strings,)i(in)e(argv)h(format,)h(suc)m(h)e
+(as)h(a)g(list)g(of)390 628 y(completion)26 b(matc)m(hes.)39
+b Fr(len)24 b Fs(is)g(the)g(n)m(um)m(b)s(er)f(of)i(strings)f(in)g
+Fr(matches)p Fs(,)f(and)h Fr(max)f Fs(is)i(the)f(length)h(of)390
+737 y(the)h(longest)i(string)e(in)g Fr(matches)p Fs(.)37
+b(This)25 b(function)h(uses)g(the)g(setting)i(of)e Fr
+(print-completions-)390 847 y(horizontally)33 b Fs(to)k(select)h(ho)m
(w)e(the)g(matc)m(hes)i(are)e(displa)m(y)m(ed)h(\(see)g(Section)g
-(1.3.1)h([Readline)390 1900 y(Init)30 b(File)i(Syn)m(tax],)f(page)g
-(4\).)275 2069 y(The)g(follo)m(wing)j(are)e(implemen)m(ted)h(as)f
-(macros,)h(de\014ned)e(in)h Fs(chardefs.h)p Ft(.)43 b(Applications)33
-b(should)150 2179 y(refrain)d(from)g(using)g(them.)3350
-2347 y([F)-8 b(unction])-3599 b Fg(int)p 353 2347 V 90
-w Ff(rl)p 483 2347 V 50 w(upp)s(ercase)p 1033 2347 V
-48 w(p)46 b Fe(\()p Fs(int)29 b(c)p Fe(\))390 2457 y
-Ft(Return)h(1)g(if)h Fi(c)36 b Ft(is)30 b(an)h(upp)s(ercase)e(alphab)s
-(etic)i(c)m(haracter.)3350 2625 y([F)-8 b(unction])-3599
-b Fg(int)p 353 2625 V 90 w Ff(rl)p 483 2625 V 50 w(lo)m(w)m(ercase)p
-1004 2625 V 49 w(p)45 b Fe(\()p Fs(int)30 b(c)p Fe(\))390
-2735 y Ft(Return)g(1)g(if)h Fi(c)36 b Ft(is)30 b(a)h(lo)m(w)m(ercase)i
-(alphab)s(etic)e(c)m(haracter.)3350 2903 y([F)-8 b(unction])-3599
-b Fg(int)p 353 2903 V 90 w Ff(rl)p 483 2903 V 50 w(digit)p
-763 2903 V 49 w(p)46 b Fe(\()p Fs(int)29 b(c)p Fe(\))390
-3013 y Ft(Return)h(1)g(if)h Fi(c)36 b Ft(is)30 b(a)h(n)m(umeric)f(c)m
-(haracter.)3350 3182 y([F)-8 b(unction])-3599 b Fg(int)p
-353 3182 V 90 w Ff(rl)p 483 3182 V 50 w(to)p 635 3182
-V 50 w(upp)s(er)44 b Fe(\()p Fs(int)30 b(c)p Fe(\))390
-3291 y Ft(If)23 b Fi(c)30 b Ft(is)24 b(a)g(lo)m(w)m(ercase)i(alphab)s
+(1.3.1)h([Readline)390 956 y(Init)30 b(File)i(Syn)m(tax],)f(page)g
+(4\).)275 1137 y(The)g(follo)m(wing)j(are)e(implemen)m(ted)h(as)f
+(macros,)h(de\014ned)e(in)h Fr(chardefs.h)p Fs(.)43 b(Applications)33
+b(should)150 1246 y(refrain)d(from)g(using)g(them.)3350
+1426 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_uppercase_p)d
+Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390 1536 y Fs(Return)f(1)g(if)h
+Fi(c)36 b Fs(is)30 b(an)h(upp)s(ercase)e(alphab)s(etic)i(c)m(haracter.)
+3350 1716 y([F)-8 b(unction])-3599 b Fg(int)53 b(_rl_lowercase_p)d
+Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390 1826 y Fs(Return)f(1)g(if)h
+Fi(c)36 b Fs(is)30 b(a)h(lo)m(w)m(ercase)i(alphab)s(etic)e(c)m
+(haracter.)3350 2006 y([F)-8 b(unction])-3599 b Fg(int)53
+b(_rl_digit_p)c Ff(\()p Fi(in)m(t)31 b(c)p Ff(\))390
+2115 y Fs(Return)f(1)g(if)h Fi(c)36 b Fs(is)30 b(a)h(n)m(umeric)f(c)m
+(haracter.)3350 2295 y([F)-8 b(unction])-3599 b Fg(int)53
+b(_rl_to_upper)c Ff(\()p Fi(in)m(t)32 b(c)p Ff(\))390
+2405 y Fs(If)23 b Fi(c)30 b Fs(is)24 b(a)g(lo)m(w)m(ercase)i(alphab)s
(etic)e(c)m(haracter,)j(return)c(the)h(corresp)s(onding)e(upp)s(ercase)
-h(c)m(haracter.)3350 3460 y([F)-8 b(unction])-3599 b
-Fg(int)p 353 3460 V 90 w Ff(rl)p 483 3460 V 50 w(to)p
-635 3460 V 50 w(lo)m(w)m(er)45 b Fe(\()p Fs(int)30 b(c)p
-Fe(\))390 3569 y Ft(If)e Fi(c)35 b Ft(is)29 b(an)g(upp)s(ercase)f
+h(c)m(haracter.)3350 2585 y([F)-8 b(unction])-3599 b
+Fg(int)53 b(_rl_to_lower)c Ff(\()p Fi(in)m(t)32 b(c)p
+Ff(\))390 2695 y Fs(If)c Fi(c)35 b Fs(is)29 b(an)g(upp)s(ercase)f
(alphab)s(etic)h(c)m(haracter,)i(return)d(the)h(corresp)s(onding)f(lo)m
-(w)m(ercase)j(c)m(harac-)390 3679 y(ter.)3350 3847 y([F)-8
-b(unction])-3599 b Fg(int)p 353 3847 V 90 w Ff(rl)p 483
-3847 V 50 w(digit)p 763 3847 V 49 w(v)-6 b(alue)45 b
-Fe(\()p Fs(int)30 b(c)p Fe(\))390 3957 y Ft(If)g Fi(c)36
-b Ft(is)31 b(a)f(n)m(um)m(b)s(er,)g(return)f(the)h(v)-5
-b(alue)31 b(it)g(represen)m(ts.)150 4165 y Fh(2.4.11)63
-b(Miscellaneous)42 b(F)-10 b(unctions)3350 4404 y Ft([F)i(unction])
--3599 b Fg(int)39 b Ff(rl)p 432 4404 V 51 w(macro)p 789
-4404 V 50 w(bind)45 b Fe(\()p Fs(const)29 b(char)g(*keyseq,)f(const)h
-(char)g(*macro,)g(Keymap)565 4514 y(map)p Fe(\))390 4623
-y Ft(Bind)23 b(the)g(k)m(ey)h(sequence)g Fi(k)m(eyseq)i
-Ft(to)e(in)m(v)m(ok)m(e)h(the)f(macro)f Fi(macro)p Ft(.)39
-b(The)23 b(binding)f(is)i(p)s(erformed)d(in)390 4733
-y Fi(map)p Ft(.)39 b(When)28 b Fi(k)m(eyseq)i Ft(is)e(in)m(v)m(ok)m
-(ed,)i(the)d Fi(macro)33 b Ft(will)28 b(b)s(e)f(inserted)g(in)m(to)i
-(the)e(line.)41 b(This)26 b(function)390 4843 y(is)k(deprecated;)i(use)
-e Fs(rl_generic_bind\(\))25 b Ft(instead.)3350 5011 y([F)-8
-b(unction])-3599 b Fg(void)39 b Ff(rl)p 484 5011 V 51
-w(macro)p 841 5011 V 51 w(dump)s(er)45 b Fe(\()p Fs(int)29
-b(readable)p Fe(\))390 5121 y Ft(Prin)m(t)e(the)g(k)m(ey)h(sequences)g
-(b)s(ound)d(to)j(macros)f(and)g(their)g(v)-5 b(alues,)28
-b(using)f(the)g(curren)m(t)g(k)m(eymap,)390 5230 y(to)32
-b Fs(rl_outstream)p Ft(.)40 b(If)31 b Fi(readable)36
-b Ft(is)c(non-zero,)g(the)f(list)h(is)f(formatted)h(in)f(suc)m(h)g(a)g
-(w)m(a)m(y)i(that)e(it)390 5340 y(can)g(b)s(e)e(made)i(part)f(of)h(an)f
-Fs(inputrc)e Ft(\014le)j(and)e(re-read.)p eop end
+(w)m(ercase)j(c)m(harac-)390 2804 y(ter.)3350 2984 y([F)-8
+b(unction])-3599 b Fg(int)53 b(_rl_digit_value)d Ff(\()p
+Fi(in)m(t)31 b(c)p Ff(\))390 3094 y Fs(If)f Fi(c)36 b
+Fs(is)31 b(a)f(n)m(um)m(b)s(er,)g(return)f(the)h(v)-5
+b(alue)31 b(it)g(represen)m(ts.)150 3291 y Fh(2.4.11)63
+b(Miscellaneous)42 b(F)-10 b(unctions)3350 3485 y Fs([F)i(unction])
+-3599 b Fg(int)53 b(rl_macro_bind)d Ff(\()p Fi(const)31
+b(c)m(har)g(*k)m(eyseq,)h(const)f(c)m(har)f(*macro,)i(Keymap)565
+3594 y(map)p Ff(\))390 3704 y Fs(Bind)22 b(the)i(k)m(ey)f(sequence)g
+Fi(k)m(eyseq)j Fs(to)e(in)m(v)m(ok)m(e)h(the)e(macro)g
+Fi(macro)5 b Fs(.)39 b(The)22 b(binding)g(is)h(p)s(erformed)e(in)390
+3813 y Fi(map)s Fs(.)39 b(When)27 b Fi(k)m(eyseq)k Fs(is)c(in)m(v)m(ok)
+m(ed,)j(the)d Fi(macro)33 b Fs(will)27 b(b)s(e)g(inserted)g(in)m(to)h
+(the)g(line.)40 b(This)26 b(function)390 3923 y(is)k(deprecated;)i(use)
+e Fr(rl_generic_bind\(\))25 b Fs(instead.)3350 4103 y([F)-8
+b(unction])-3599 b Fg(void)54 b(rl_macro_dumper)c Ff(\()p
+Fi(in)m(t)31 b(readable)p Ff(\))390 4213 y Fs(Prin)m(t)c(the)g(k)m(ey)h
+(sequences)g(b)s(ound)d(to)j(macros)f(and)g(their)g(v)-5
+b(alues,)28 b(using)f(the)g(curren)m(t)g(k)m(eymap,)390
+4322 y(to)32 b Fr(rl_outstream)p Fs(.)40 b(If)31 b Fi(readable)36
+b Fs(is)c(non-zero,)g(the)f(list)h(is)f(formatted)h(in)f(suc)m(h)g(a)g
+(w)m(a)m(y)i(that)e(it)390 4432 y(can)g(b)s(e)e(made)i(part)f(of)h(an)f
+Fr(inputrc)e Fs(\014le)j(and)e(re-read.)3350 4612 y([F)-8
+b(unction])-3599 b Fg(int)53 b(rl_variable_bind)e Ff(\()p
+Fi(const)31 b(c)m(har)g(*v)-5 b(ariable,)31 b(const)g(c)m(har)g(*v)-5
+b(alue)p Ff(\))390 4721 y Fs(Mak)m(e)30 b(the)f(Readline)g(v)-5
+b(ariable)29 b Fi(v)-5 b(ariable)35 b Fs(ha)m(v)m(e)30
+b Fi(v)-5 b(alue)5 b Fs(.)40 b(This)28 b(b)s(eha)m(v)m(es)h(as)g(if)f
+(the)h(readline)g(com-)390 4831 y(mand)f(`)p Fr(set)i
+Fk(variable)38 b(value)11 b Fs(')28 b(had)g(b)s(een)g(executed)i(in)e
+(an)h Fr(inputrc)e Fs(\014le)i(\(see)g(Section)h(1.3.1)390
+4941 y([Readline)h(Init)f(File)i(Syn)m(tax],)f(page)g(4\).)3350
+5121 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_variable_value)f
+Ff(\()p Fi(const)31 b(c)m(har)g(*v)-5 b(ariable)p Ff(\))390
+5230 y Fs(Return)28 b(a)h(string)g(represen)m(ting)g(the)g(v)-5
+b(alue)29 b(of)g(the)g(Readline)h(v)-5 b(ariable)29 b
+Fi(v)-5 b(ariable)5 b Fs(.)41 b(F)-8 b(or)30 b(b)s(o)s(olean)390
+5340 y(v)-5 b(ariables,)31 b(this)g(string)f(is)g(either)h(`)p
+Fr(on)p Fs(')f(or)h(`)p Fr(off)p Fs('.)p eop end
%%Page: 37 41
-TeXDict begin 37 40 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 37 40 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(37)3350
-299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(v)-6 b(ariable)p 877 299 V 48 w(bind)45
-b Fe(\()p Fs(const)29 b(char)g(*variable,)f(const)h(char)g(*value)p
-Fe(\))390 408 y Ft(Mak)m(e)i(the)e(Readline)g(v)-5 b(ariable)30
-b Fi(v)-5 b(ariable)35 b Ft(ha)m(v)m(e)30 b Fi(v)-5 b(alue)p
-Ft(.)41 b(This)28 b(b)s(eha)m(v)m(es)h(as)h(if)f(the)g(readline)g(com-)
-390 518 y(mand)f(`)p Fs(set)i Fl(variable)38 b(value)11
-b Ft(')28 b(had)g(b)s(een)g(executed)i(in)e(an)h Fs(inputrc)e
-Ft(\014le)i(\(see)g(Section)h(1.3.1)390 628 y([Readline)h(Init)f(File)i
-(Syn)m(tax],)f(page)g(4\).)3350 821 y([F)-8 b(unction])-3599
-b Fg(char)39 b(*)g Ff(rl)p 575 821 V 50 w(v)-6 b(ariable)p
-1019 821 V 49 w(v)g(alue)44 b Fe(\()p Fs(const)30 b(char)f(*variable)p
-Fe(\))390 931 y Ft(Return)f(a)i(string)f(represen)m(ting)h(the)f(v)-5
-b(alue)30 b(of)f(the)h(Readline)g(v)-5 b(ariable)30 b
-Fi(v)-5 b(ariable)p Ft(.)41 b(F)-8 b(or)30 b(b)s(o)s(olean)390
-1040 y(v)-5 b(ariables,)31 b(this)g(string)f(is)g(either)h(`)p
-Fs(on)p Ft(')f(or)h(`)p Fs(off)p Ft('.)3350 1234 y([F)-8
-b(unction])-3599 b Fg(void)39 b Ff(rl)p 484 1234 V 51
-w(v)-6 b(ariable)p 929 1234 V 49 w(dump)s(er)44 b Fe(\()p
-Fs(int)30 b(readable)p Fe(\))390 1344 y Ft(Prin)m(t)f(the)f(readline)h
-(v)-5 b(ariable)30 b(names)e(and)g(their)h(curren)m(t)f(v)-5
-b(alues)29 b(to)h Fs(rl_outstream)p Ft(.)37 b(If)28 b
-Fi(read-)390 1453 y(able)40 b Ft(is)34 b(non-zero,)i(the)e(list)g(is)g
+299 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_variable_dumper)c
+Ff(\()p Fi(in)m(t)32 b(readable)p Ff(\))390 408 y Fs(Prin)m(t)d(the)f
+(readline)h(v)-5 b(ariable)30 b(names)e(and)g(their)h(curren)m(t)f(v)-5
+b(alues)29 b(to)h Fr(rl_outstream)p Fs(.)37 b(If)28 b
+Fi(read-)390 518 y(able)40 b Fs(is)34 b(non-zero,)i(the)e(list)g(is)g
(formatted)h(in)f(suc)m(h)g(a)g(w)m(a)m(y)h(that)g(it)f(can)g(b)s(e)g
-(made)g(part)g(of)g(an)390 1563 y Fs(inputrc)28 b Ft(\014le)j(and)f
-(re-read.)3350 1756 y([F)-8 b(unction])-3599 b Fg(int)39
-b Ff(rl)p 432 1756 V 51 w(set)p 626 1756 V 49 w(paren)p
-959 1756 V 49 w(blink)p 1260 1756 V 50 w(timeout)44 b
-Fe(\()p Fs(int)30 b(u)p Fe(\))390 1866 y Ft(Set)25 b(the)h(time)f(in)m
-(terv)-5 b(al)27 b(\(in)e(microseconds\))h(that)g(Readline)f(w)m(aits)h
-(when)e(sho)m(wing)i(a)f(balancing)390 1976 y(c)m(haracter)32
-b(when)d Fs(blink-matching-paren)c Ft(has)30 b(b)s(een)g(enabled.)3350
-2169 y([F)-8 b(unction])-3599 b Fg(char)39 b(*)g Ff(rl)p
-575 2169 V 50 w(get)p 780 2169 V 50 w(termcap)45 b Fe(\()p
-Fs(const)29 b(char)g(*cap)p Fe(\))390 2279 y Ft(Retriev)m(e)g(the)e
-(string)g(v)-5 b(alue)27 b(of)g(the)h(termcap)f(capabilit)m(y)i
-Fi(cap)p Ft(.)40 b(Readline)27 b(fetc)m(hes)h(the)g(termcap)390
-2388 y(en)m(try)34 b(for)f(the)h(curren)m(t)f(terminal)h(name)g(and)f
-(uses)g(those)h(capabilities)h(to)f(mo)m(v)m(e)h(around)e(the)390
-2498 y(screen)21 b(line)h(and)e(p)s(erform)g(other)h(terminal-sp)s
-(eci\014c)h(op)s(erations,)h(lik)m(e)f(erasing)g(a)f(line.)38
-b(Readline)390 2608 y(do)s(es)d(not)g(use)g(all)g(of)h(a)f(terminal's)g
-(capabilities,)k(and)34 b(this)h(function)g(will)g(return)f(v)-5
-b(alues)35 b(for)390 2717 y(only)30 b(those)h(capabilities)i(Readline)e
-(uses.)150 2951 y Fh(2.4.12)63 b(Alternate)40 b(In)m(terface)275
-3199 y Ft(An)k(alternate)i(in)m(terface)g(is)f(a)m(v)-5
-b(ailable)47 b(to)f(plain)e Fs(readline\(\))p Ft(.)81
-b(Some)45 b(applications)h(need)e(to)150 3309 y(in)m(terlea)m(v)m(e)32
-b(k)m(eyb)s(oard)d(I/O)g(with)f(\014le,)i(device,)h(or)e(windo)m(w)f
-(system)h(I/O,)g(t)m(ypically)i(b)m(y)e(using)g(a)g(main)150
-3419 y(lo)s(op)f(to)g Fs(select\(\))e Ft(on)h(v)-5 b(arious)28
-b(\014le)g(descriptors.)39 b(T)-8 b(o)28 b(accomo)s(date)i(this)e
-(need,)g(readline)g(can)g(also)h(b)s(e)150 3528 y(in)m(v)m(ok)m(ed)k
-(as)e(a)h(`callbac)m(k')h(function)e(from)g(an)g(ev)m(en)m(t)h(lo)s
-(op.)44 b(There)30 b(are)i(functions)f(a)m(v)-5 b(ailable)33
-b(to)f(mak)m(e)150 3638 y(this)e(easy)-8 b(.)3350 3831
-y([F)g(unction])-3599 b Fg(void)39 b Ff(rl)p 484 3831
-V 51 w(callbac)m(k)p 934 3831 V 49 w(handler)p 1363 3831
-V 49 w(install)44 b Fe(\()p Fs(const)29 b(char)g(*prompt,)565
-3941 y(rl_vcpfunc_t)e(*lhandler)p Fe(\))390 4050 y Ft(Set)e(up)f(the)h
-(terminal)g(for)f(readline)i(I/O)e(and)g(displa)m(y)h(the)g(initial)h
-(expanded)e(v)-5 b(alue)26 b(of)f Fi(prompt)p Ft(.)390
-4160 y(Sa)m(v)m(e)33 b(the)f(v)-5 b(alue)32 b(of)g Fi(lhandler)37
-b Ft(to)c(use)e(as)h(a)g(function)f(to)h(call)h(when)e(a)h(complete)h
-(line)f(of)g(input)390 4270 y(has)e(b)s(een)g(en)m(tered.)41
-b(The)30 b(function)g(tak)m(es)i(the)e(text)i(of)e(the)h(line)g(as)f
-(an)g(argumen)m(t.)3350 4463 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(rl)p 484 4463 V 51 w(callbac)m(k)p
-934 4463 V 49 w(read)p 1203 4463 V 50 w(c)m(har)44 b
-Fe(\()p Fs(void)p Fe(\))390 4573 y Ft(Whenev)m(er)34
+(made)g(part)g(of)g(an)390 628 y Fr(inputrc)28 b Fs(\014le)j(and)f
+(re-read.)3350 817 y([F)-8 b(unction])-3599 b Fg(int)53
+b(rl_set_paren_blink_ti)q(meou)q(t)f Ff(\()p Fi(in)m(t)31
+b(u)p Ff(\))390 927 y Fs(Set)25 b(the)h(time)f(in)m(terv)-5
+b(al)27 b(\(in)e(microseconds\))h(that)g(Readline)f(w)m(aits)h(when)e
+(sho)m(wing)i(a)f(balancing)390 1036 y(c)m(haracter)32
+b(when)d Fr(blink-matching-paren)c Fs(has)30 b(b)s(een)g(enabled.)3350
+1225 y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_get_termcap)e
+Ff(\()p Fi(const)31 b(c)m(har)g(*cap)p Ff(\))390 1335
+y Fs(Retriev)m(e)d(the)f(string)g(v)-5 b(alue)27 b(of)g(the)g(termcap)g
+(capabilit)m(y)i Fi(cap)s Fs(.)39 b(Readline)28 b(fetc)m(hes)g(the)f
+(termcap)390 1445 y(en)m(try)34 b(for)f(the)h(curren)m(t)f(terminal)h
+(name)g(and)f(uses)g(those)h(capabilities)h(to)f(mo)m(v)m(e)h(around)e
+(the)390 1554 y(screen)21 b(line)h(and)e(p)s(erform)g(other)h
+(terminal-sp)s(eci\014c)h(op)s(erations,)h(lik)m(e)f(erasing)g(a)f
+(line.)38 b(Readline)390 1664 y(do)s(es)d(not)g(use)g(all)g(of)h(a)f
+(terminal's)g(capabilities,)k(and)34 b(this)h(function)g(will)g(return)
+f(v)-5 b(alues)35 b(for)390 1773 y(only)30 b(those)h(capabilities)i
+(Readline)e(uses.)150 1975 y Fh(2.4.12)63 b(Alternate)40
+b(In)m(terface)150 2122 y Fs(An)21 b(alternate)j(in)m(terface)f(is)f(a)
+m(v)-5 b(ailable)24 b(to)e(plain)g Fr(readline\(\))p
+Fs(.)35 b(Some)21 b(applications)i(need)f(to)g(in)m(terlea)m(v)m(e)150
+2232 y(k)m(eyb)s(oard)35 b(I/O)h(with)f(\014le,)i(device,)h(or)e(windo)
+m(w)f(system)g(I/O,)h(t)m(ypically)i(b)m(y)d(using)g(a)h(main)g(lo)s
+(op)f(to)150 2341 y Fr(select\(\))24 b Fs(on)h(v)-5 b(arious)26
+b(\014le)g(descriptors.)39 b(T)-8 b(o)26 b(accomo)s(date)i(this)e
+(need,)g(readline)h(can)f(also)g(b)s(e)f(in)m(v)m(ok)m(ed)150
+2451 y(as)i(a)g(`callbac)m(k')j(function)c(from)g(an)h(ev)m(en)m(t)h
+(lo)s(op.)40 b(There)26 b(are)h(functions)g(a)m(v)-5
+b(ailable)29 b(to)e(mak)m(e)h(this)f(easy)-8 b(.)3350
+2640 y([F)g(unction])-3599 b Fg(void)54 b(rl_callback_handler_inst)q
+(all)e Ff(\()p Fi(const)31 b(c)m(har)g(*prompt,)565 2750
+y(rl)p 632 2750 28 4 v 40 w(v)m(cpfunc)p 978 2750 V 40
+w(t)f(*lhandler)p Ff(\))390 2859 y Fs(Set)25 b(up)e(the)i(terminal)g
+(for)g(readline)g(I/O)f(and)g(displa)m(y)h(the)g(initial)h(expanded)e
+(v)-5 b(alue)25 b(of)g Fi(prompt)r Fs(.)390 2969 y(Sa)m(v)m(e)33
+b(the)f(v)-5 b(alue)32 b(of)g Fi(lhandler)37 b Fs(to)c(use)e(as)h(a)g
+(function)f(to)h(call)h(when)e(a)h(complete)h(line)f(of)g(input)390
+3078 y(has)e(b)s(een)g(en)m(tered.)41 b(The)30 b(function)g(tak)m(es)i
+(the)e(text)i(of)e(the)h(line)g(as)f(an)g(argumen)m(t.)3350
+3268 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_callback_read_char)d
+Ff(\()p Fi(v)m(oid)p Ff(\))390 3377 y Fs(Whenev)m(er)34
b(an)g(application)h(determines)e(that)i(k)m(eyb)s(oard)e(input)g(is)h
-(a)m(v)-5 b(ailable,)37 b(it)d(should)f(call)390 4682
-y Fs(rl_callback_read_char\(\))p Ft(,)17 b(whic)m(h)22
+(a)m(v)-5 b(ailable,)37 b(it)d(should)f(call)390 3487
+y Fr(rl_callback_read_char\(\))p Fs(,)17 b(whic)m(h)22
b(will)g(read)f(the)h(next)g(c)m(haracter)h(from)f(the)f(curren)m(t)h
-(input)390 4792 y(source.)77 b(If)41 b(that)i(c)m(haracter)h(completes)
-g(the)e(line,)k Fs(rl_callback_read_char)36 b Ft(will)43
-b(in)m(v)m(ok)m(e)390 4902 y(the)36 b Fi(lhandler)41
-b Ft(function)35 b(sa)m(v)m(ed)h(b)m(y)g Fs(rl_callback_handler_ins)o
-(tall)29 b Ft(to)36 b(pro)s(cess)f(the)g(line.)390 5011
-y(Before)28 b(calling)g(the)f Fi(lhandler)32 b Ft(function,)c(the)e
+(input)390 3597 y(source.)77 b(If)41 b(that)i(c)m(haracter)h(completes)
+g(the)e(line,)k Fr(rl_callback_read_char)36 b Fs(will)43
+b(in)m(v)m(ok)m(e)390 3706 y(the)36 b Fi(lhandler)41
+b Fs(function)35 b(sa)m(v)m(ed)h(b)m(y)g Fr(rl_callback_handler_ins)o
+(tall)29 b Fs(to)36 b(pro)s(cess)f(the)g(line.)390 3816
+y(Before)28 b(calling)g(the)f Fi(lhandler)32 b Fs(function,)c(the)e
(terminal)i(settings)f(are)g(reset)h(to)f(the)g(v)-5
-b(alues)27 b(they)390 5121 y(had)i(b)s(efore)g(calling)j
-Fs(rl_callback_handler_ins)o(tall)o Ft(.)j(If)29 b(the)h
-Fi(lhandler)36 b Ft(function)29 b(returns,)390 5230 y(the)c(terminal)g
+b(alues)27 b(they)390 3925 y(had)i(b)s(efore)g(calling)j
+Fr(rl_callback_handler_ins)o(tall)o Fs(.)j(If)29 b(the)h
+Fi(lhandler)36 b Fs(function)29 b(returns,)390 4035 y(the)c(terminal)g
(settings)h(are)f(mo)s(di\014ed)e(for)i(Readline's)g(use)f(again.)40
-b Fs(EOF)24 b Ft(is)h(indicated)g(b)m(y)f(calling)390
-5340 y Fi(lhandler)36 b Ft(with)30 b(a)h Fs(NULL)e Ft(line.)p
-eop end
+b Fr(EOF)24 b Fs(is)h(indicated)g(b)m(y)f(calling)390
+4144 y Fi(lhandler)36 b Fs(with)30 b(a)h Fr(NULL)e Fs(line.)3350
+4334 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_callback_handler_remo)q
+(ve)e Ff(\()p Fi(v)m(oid)p Ff(\))390 4443 y Fs(Restore)38
+b(the)f(terminal)h(to)g(its)f(initial)i(state)f(and)f(remo)m(v)m(e)h
+(the)g(line)f(handler.)60 b(This)37 b(ma)m(y)h(b)s(e)390
+4553 y(called)f(from)f(within)g(a)h(callbac)m(k)h(as)f(w)m(ell)g(as)f
+(indep)s(enden)m(tly)-8 b(.)58 b(If)36 b(the)h Fi(lhandler)42
+b Fs(installed)37 b(b)m(y)390 4663 y Fr(rl_callback_handler_inst)o(all)
+32 b Fs(do)s(es)39 b(not)g(exit)g(the)g(program,)i(either)e(this)g
+(function)f(or)390 4772 y(the)32 b(function)f(referred)f(to)i(b)m(y)g
+(the)f(v)-5 b(alue)32 b(of)g Fr(rl_deprep_term_function)25
+b Fs(should)30 b(b)s(e)h(called)390 4882 y(b)s(efore)f(the)h(program)f
+(exits)h(to)g(reset)g(the)f(terminal)h(settings.)150
+5083 y Fh(2.4.13)63 b(A)41 b(Readline)f(Example)150 5230
+y Fs(Here)34 b(is)g(a)g(function)g(whic)m(h)g(c)m(hanges)g(lo)m(w)m
+(ercase)j(c)m(haracters)e(to)f(their)g(upp)s(ercase)f(equiv)-5
+b(alen)m(ts,)37 b(and)150 5340 y(upp)s(ercase)d(c)m(haracters)j(to)f
+(lo)m(w)m(ercase.)58 b(If)35 b(this)g(function)g(w)m(as)h(b)s(ound)d
+(to)j(`)p Fr(M-c)p Fs(',)h(then)e(t)m(yping)g(`)p Fr(M-c)p
+Fs(')p eop end
%%Page: 38 42
-TeXDict begin 38 41 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(38)3350
-299 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p 484
-299 35 5 v 51 w(callbac)m(k)p 934 299 V 49 w(handler)p
-1363 299 V 49 w(remo)m(v)m(e)45 b Fe(\()p Fs(void)p Fe(\))390
-408 y Ft(Restore)38 b(the)f(terminal)h(to)g(its)f(initial)i(state)f
-(and)f(remo)m(v)m(e)h(the)g(line)f(handler.)60 b(This)37
-b(ma)m(y)h(b)s(e)390 518 y(called)f(from)f(within)g(a)h(callbac)m(k)h
-(as)f(w)m(ell)g(as)f(indep)s(enden)m(tly)-8 b(.)58 b(If)36
-b(the)h Fi(lhandler)42 b Ft(installed)37 b(b)m(y)390
-628 y Fs(rl_callback_handler_inst)o(all)32 b Ft(do)s(es)39
-b(not)g(exit)g(the)g(program,)i(either)e(this)g(function)f(or)390
-737 y(the)32 b(function)f(referred)f(to)i(b)m(y)g(the)f(v)-5
-b(alue)32 b(of)g Fs(rl_deprep_term_function)25 b Ft(should)30
-b(b)s(e)h(called)390 847 y(b)s(efore)f(the)h(program)f(exits)h(to)g
-(reset)g(the)f(terminal)h(settings.)150 1098 y Fh(2.4.13)63
-b(A)41 b(Readline)f(Example)275 1356 y Ft(Here)f(is)g(a)g(function)g
-(whic)m(h)g(c)m(hanges)h(lo)m(w)m(ercase)h(c)m(haracters)g(to)e(their)g
-(upp)s(ercase)f(equiv)-5 b(alen)m(ts,)150 1466 y(and)38
-b(upp)s(ercase)f(c)m(haracters)j(to)f(lo)m(w)m(ercase.)68
-b(If)37 b(this)i(function)f(w)m(as)h(b)s(ound)d(to)j(`)p
-Fs(M-c)p Ft(',)h(then)e(t)m(yping)150 1575 y(`)p Fs(M-c)p
-Ft(')26 b(w)m(ould)g(c)m(hange)h(the)g(case)g(of)g(the)f(c)m(haracter)i
-(under)d(p)s(oin)m(t.)39 b(T)m(yping)26 b(`)p Fs(M-1)k(0)g(M-c)p
-Ft(')c(w)m(ould)g(c)m(hange)150 1685 y(the)31 b(case)g(of)g(the)f
-(follo)m(wing)i(10)f(c)m(haracters,)h(lea)m(ving)g(the)f(cursor)f(on)g
-(the)g(last)i(c)m(haracter)g(c)m(hanged.)390 1833 y Fs(/*)47
+TeXDict begin 38 41 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(38)150
+299 y(w)m(ould)31 b(c)m(hange)i(the)f(case)g(of)g(the)g(c)m(haracter)h
+(under)d(p)s(oin)m(t.)44 b(T)m(yping)31 b(`)p Fr(M-1)f(0)g(M-c)p
+Fs(')h(w)m(ould)g(c)m(hange)i(the)150 408 y(case)e(of)g(the)g(follo)m
+(wing)g(10)h(c)m(haracters,)g(lea)m(ving)g(the)e(cursor)g(on)g(the)h
+(last)g(c)m(haracter)h(c)m(hanged.)390 628 y Fr(/*)47
b(Invert)f(the)h(case)g(of)g(the)g(COUNT)f(following)g(characters.)e
-(*/)390 1943 y(int)390 2052 y(invert_case_line)f(\(count,)j(key\))629
-2162 y(int)h(count,)f(key;)390 2271 y({)485 2381 y(register)g(int)h
-(start,)f(end,)h(i;)485 2600 y(start)g(=)g(rl_point;)485
-2819 y(if)h(\(rl_point)d(>=)i(rl_end\))581 2929 y(return)f(\(0\);)485
-3148 y(if)i(\(count)e(<)h(0\))581 3258 y({)676 3367 y(direction)f(=)h
-(-1;)676 3477 y(count)g(=)g(-count;)581 3587 y(})485
-3696 y(else)581 3806 y(direction)e(=)j(1;)485 4025 y(/*)g(Find)e(the)h
-(end)g(of)g(the)g(range)g(to)g(modify.)f(*/)485 4134
+(*/)390 737 y(int)390 847 y(invert_case_line)f(\(count,)j(key\))629
+956 y(int)h(count,)f(key;)390 1066 y({)485 1176 y(register)g(int)h
+(start,)f(end,)h(i;)485 1395 y(start)g(=)g(rl_point;)485
+1614 y(if)h(\(rl_point)d(>=)i(rl_end\))581 1724 y(return)f(\(0\);)485
+1943 y(if)i(\(count)e(<)h(0\))581 2052 y({)676 2162 y(direction)f(=)h
+(-1;)676 2271 y(count)g(=)g(-count;)581 2381 y(})485
+2491 y(else)581 2600 y(direction)e(=)j(1;)485 2819 y(/*)g(Find)e(the)h
+(end)g(of)g(the)g(range)g(to)g(modify.)f(*/)485 2929
y(end)h(=)h(start)e(+)i(\(count)e(*)h(direction\);)485
-4354 y(/*)h(Force)e(it)h(to)g(be)h(within)e(range.)g(*/)485
-4463 y(if)i(\(end)e(>)i(rl_end\))581 4573 y(end)f(=)g(rl_end;)485
-4682 y(else)g(if)g(\(end)g(<)g(0\))581 4792 y(end)g(=)g(0;)485
-5011 y(if)h(\(start)e(==)h(end\))581 5121 y(return)f(\(0\);)485
-5340 y(if)i(\(start)e(>)h(end\))p eop end
+3148 y(/*)h(Force)e(it)h(to)g(be)h(within)e(range.)g(*/)485
+3258 y(if)i(\(end)e(>)i(rl_end\))581 3367 y(end)f(=)g(rl_end;)485
+3477 y(else)g(if)g(\(end)g(<)g(0\))581 3587 y(end)g(=)g(0;)485
+3806 y(if)h(\(start)e(==)h(end\))581 3915 y(return)f(\(0\);)485
+4134 y(if)i(\(start)e(>)h(end\))581 4244 y({)676 4354
+y(int)g(temp)g(=)g(start;)676 4463 y(start)g(=)g(end;)676
+4573 y(end)g(=)h(temp;)581 4682 y(})485 4902 y(/*)g(Tell)e(readline)g
+(that)g(we)i(are)f(modifying)e(the)i(line,)629 5011 y(so)g(it)g(will)g
+(save)f(the)h(undo)g(information.)d(*/)485 5121 y(rl_modifying)h
+(\(start,)h(end\);)485 5340 y(for)h(\(i)h(=)f(start;)f(i)i(!=)f(end;)f
+(i++\))p eop end
%%Page: 39 43
-TeXDict begin 39 42 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 39 42 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(39)581
-299 y Fs({)676 408 y(int)47 b(temp)g(=)g(start;)676 518
-y(start)g(=)g(end;)676 628 y(end)g(=)h(temp;)581 737
-y(})485 956 y(/*)g(Tell)e(readline)g(that)g(we)i(are)f(modifying)e(the)
-i(line,)629 1066 y(so)g(it)g(will)g(save)f(the)h(undo)g(information.)d
-(*/)485 1176 y(rl_modifying)h(\(start,)h(end\);)485 1395
-y(for)h(\(i)h(=)f(start;)f(i)i(!=)f(end;)f(i++\))581
-1504 y({)676 1614 y(if)i(\(_rl_uppercase_p)43 b
-(\(rl_line_buffer[i]\)\))772 1724 y(rl_line_buffer[i])g(=)k
-(_rl_to_lower)e(\(rl_line_buffer[i]\);)676 1833 y(else)i(if)g
-(\(_rl_lowercase_p)d(\(rl_line_buffer[i]\)\))772 1943
+299 y Fr({)676 408 y(if)48 b(\(_rl_uppercase_p)43 b
+(\(rl_line_buffer[i]\)\))772 518 y(rl_line_buffer[i])g(=)k
+(_rl_to_lower)e(\(rl_line_buffer[i]\);)676 628 y(else)i(if)g
+(\(_rl_lowercase_p)d(\(rl_line_buffer[i]\)\))772 737
y(rl_line_buffer[i])f(=)k(_rl_to_upper)e(\(rl_line_buffer[i]\);)581
-2052 y(})485 2162 y(/*)j(Move)e(point)h(to)g(on)g(top)g(of)g(the)g
-(last)g(character)e(changed.)g(*/)485 2271 y(rl_point)h(=)h
-(\(direction)e(==)j(1\))f(?)g(end)g(-)h(1)f(:)h(start;)485
-2381 y(return)f(\(0\);)390 2491 y(})150 2746 y Fr(2.5)68
-b(Readline)47 b(Signal)e(Handling)275 2990 y Ft(Signals)c(are)h(async)m
-(hronous)g(ev)m(en)m(ts)h(sen)m(t)f(to)g(a)g(pro)s(cess)f(b)m(y)h(the)g
-(Unix)f(k)m(ernel,)k(sometimes)e(on)150 3099 y(b)s(ehalf)c(of)h
-(another)g(pro)s(cess.)68 b(They)39 b(are)h(in)m(tended)g(to)g
-(indicate)h(exceptional)h(ev)m(en)m(ts,)i(lik)m(e)d(a)f(user)150
-3209 y(pressing)29 b(the)i(in)m(terrupt)e(k)m(ey)i(on)f(his)f
-(terminal,)i(or)f(a)g(net)m(w)m(ork)h(connection)g(b)s(eing)f(brok)m
-(en.)40 b(There)30 b(is)150 3319 y(a)d(class)g(of)f(signals)h(that)g
-(can)g(b)s(e)f(sen)m(t)h(to)g(the)f(pro)s(cess)g(curren)m(tly)h
-(reading)f(input)f(from)h(the)h(k)m(eyb)s(oard.)150 3428
-y(Since)g(Readline)g(c)m(hanges)h(the)e(terminal)i(attributes)f(when)f
-(it)h(is)f(called,)j(it)e(needs)g(to)g(p)s(erform)e(sp)s(ecial)150
-3538 y(pro)s(cessing)i(when)g(suc)m(h)g(a)h(signal)g(is)g(receiv)m(ed)h
-(in)e(order)g(to)h(restore)h(the)e(terminal)h(to)h(a)f(sane)f(state,)j
-(or)150 3647 y(pro)m(vide)g(application)i(writers)e(with)g(functions)g
-(to)h(do)g(so)f(man)m(ually)-8 b(.)275 3781 y(Readline)40
-b(con)m(tains)i(an)e(in)m(ternal)h(signal)g(handler)f(that)h(is)f
-(installed)h(for)f(a)h(n)m(um)m(b)s(er)e(of)h(signals)150
-3891 y(\()p Fs(SIGINT)p Ft(,)k Fs(SIGQUIT)p Ft(,)f Fs(SIGTERM)p
-Ft(,)g Fs(SIGALRM)p Ft(,)h Fs(SIGTSTP)p Ft(,)f Fs(SIGTTIN)p
-Ft(,)g(and)e Fs(SIGTTOU)p Ft(\).)75 b(When)41 b(one)i(of)150
-4001 y(these)32 b(signals)g(is)g(receiv)m(ed,)i(the)e(signal)g(handler)
+847 y(})485 956 y(/*)j(Move)e(point)h(to)g(on)g(top)g(of)g(the)g(last)g
+(character)e(changed.)g(*/)485 1066 y(rl_point)h(=)h(\(direction)e(==)j
+(1\))f(?)g(end)g(-)h(1)f(:)h(start;)485 1176 y(return)f(\(0\);)390
+1285 y(})150 1536 y Fq(2.5)68 b(Readline)47 b(Signal)e(Handling)150
+1695 y Fs(Signals)31 b(are)f(async)m(hronous)g(ev)m(en)m(ts)i(sen)m(t)f
+(to)g(a)g(pro)s(cess)f(b)m(y)h(the)f(Unix)g(k)m(ernel,)i(sometimes)f
+(on)g(b)s(ehalf)150 1805 y(of)k(another)g(pro)s(cess.)53
+b(They)34 b(are)h(in)m(tended)g(to)g(indicate)h(exceptional)g(ev)m(en)m
+(ts,)i(lik)m(e)e(a)f(user)f(pressing)150 1914 y(the)g(in)m(terrupt)f(k)
+m(ey)h(on)g(his)f(terminal,)i(or)f(a)g(net)m(w)m(ork)g(connection)h(b)s
+(eing)e(brok)m(en.)50 b(There)34 b(is)f(a)h(class)150
+2024 y(of)29 b(signals)g(that)h(can)f(b)s(e)f(sen)m(t)h(to)h(the)f(pro)
+s(cess)f(curren)m(tly)h(reading)g(input)f(from)g(the)h(k)m(eyb)s(oard.)
+40 b(Since)150 2134 y(Readline)45 b(c)m(hanges)g(the)g(terminal)g
+(attributes)g(when)e(it)i(is)g(called,)k(it)c(needs)f(to)h(p)s(erform)e
+(sp)s(ecial)150 2243 y(pro)s(cessing)27 b(when)g(suc)m(h)g(a)h(signal)g
+(is)g(receiv)m(ed)h(in)e(order)g(to)h(restore)h(the)e(terminal)h(to)h
+(a)f(sane)f(state,)j(or)150 2353 y(pro)m(vide)g(application)i(writers)e
+(with)g(functions)g(to)h(do)g(so)f(man)m(ually)-8 b(.)275
+2500 y(Readline)40 b(con)m(tains)i(an)e(in)m(ternal)h(signal)g(handler)
+f(that)h(is)f(installed)h(for)f(a)h(n)m(um)m(b)s(er)e(of)h(signals)150
+2609 y(\()p Fr(SIGINT)p Fs(,)k Fr(SIGQUIT)p Fs(,)f Fr(SIGTERM)p
+Fs(,)g Fr(SIGALRM)p Fs(,)h Fr(SIGTSTP)p Fs(,)f Fr(SIGTTIN)p
+Fs(,)g(and)e Fr(SIGTTOU)p Fs(\).)75 b(When)41 b(one)i(of)150
+2719 y(these)32 b(signals)g(is)g(receiv)m(ed,)i(the)e(signal)g(handler)
f(will)h(reset)g(the)g(terminal)g(attributes)h(to)f(those)g(that)150
-4110 y(w)m(ere)c(in)f(e\013ect)h(b)s(efore)f Fs(readline\(\))d
-Ft(w)m(as)k(called,)h(reset)f(the)g(signal)f(handling)g(to)h(what)f(it)
-h(w)m(as)f(b)s(efore)150 4220 y Fs(readline\(\))42 b
-Ft(w)m(as)k(called,)k(and)44 b(resend)h(the)g(signal)h(to)g(the)f
-(calling)i(application.)86 b(If)44 b(and)h(when)150 4329
+2828 y(w)m(ere)c(in)f(e\013ect)h(b)s(efore)f Fr(readline\(\))d
+Fs(w)m(as)k(called,)h(reset)f(the)g(signal)f(handling)g(to)h(what)f(it)
+h(w)m(as)f(b)s(efore)150 2938 y Fr(readline\(\))42 b
+Fs(w)m(as)k(called,)k(and)44 b(resend)h(the)g(signal)h(to)g(the)f
+(calling)i(application.)86 b(If)44 b(and)h(when)150 3047
y(the)34 b(calling)i(application's)f(signal)g(handler)e(returns,)h
(Readline)g(will)h(reinitialize)h(the)e(terminal)h(and)150
-4439 y(con)m(tin)m(ue)29 b(to)g(accept)h(input.)39 b(When)28
-b(a)h Fs(SIGINT)d Ft(is)j(receiv)m(ed,)h(the)e(Readline)h(signal)g
-(handler)f(p)s(erforms)150 4548 y(some)39 b(additional)h(w)m(ork,)h
+3157 y(con)m(tin)m(ue)29 b(to)g(accept)h(input.)39 b(When)28
+b(a)h Fr(SIGINT)d Fs(is)j(receiv)m(ed,)h(the)e(Readline)h(signal)g
+(handler)f(p)s(erforms)150 3267 y(some)39 b(additional)h(w)m(ork,)h
(whic)m(h)d(will)h(cause)g(an)m(y)h(partially-en)m(tered)g(line)f(to)h
-(b)s(e)e(ab)s(orted)g(\(see)i(the)150 4658 y(description)30
-b(of)h Fs(rl_free_line_state\(\))25 b Ft(b)s(elo)m(w\).)275
-4792 y(There)e(is)i(an)f(additional)h(Readline)g(signal)g(handler,)g
-(for)f Fs(SIGWINCH)p Ft(,)g(whic)m(h)g(the)g(k)m(ernel)h(sends)e(to)j
-(a)150 4902 y(pro)s(cess)i(whenev)m(er)h(the)g(terminal's)g(size)h(c)m
+(b)s(e)e(ab)s(orted)g(\(see)i(the)150 3376 y(description)30
+b(of)h Fr(rl_free_line_state\(\))25 b Fs(b)s(elo)m(w\).)275
+3523 y(There)e(is)i(an)f(additional)h(Readline)g(signal)g(handler,)g
+(for)f Fr(SIGWINCH)p Fs(,)g(whic)m(h)g(the)g(k)m(ernel)h(sends)e(to)j
+(a)150 3632 y(pro)s(cess)i(whenev)m(er)h(the)g(terminal's)g(size)h(c)m
(hanges)g(\(for)f(example,)h(if)f(a)g(user)f(resizes)i(an)e
-Fs(xterm)p Ft(\).)39 b(The)150 5011 y(Readline)d Fs(SIGWINCH)e
-Ft(handler)g(up)s(dates)h(Readline's)h(in)m(ternal)h(screen)e(size)i
-(information,)g(and)e(then)150 5121 y(calls)g(an)m(y)f
-Fs(SIGWINCH)e Ft(signal)i(handler)f(the)h(calling)h(application)g(has)f
-(installed.)51 b(Readline)35 b(calls)g(the)150 5230 y(application's)i
-Fs(SIGWINCH)c Ft(signal)i(handler)g(without)g(resetting)h(the)g
-(terminal)f(to)h(its)g(original)g(state.)150 5340 y(If)31
+Fr(xterm)p Fs(\).)39 b(The)150 3742 y(Readline)d Fr(SIGWINCH)e
+Fs(handler)g(up)s(dates)h(Readline's)h(in)m(ternal)h(screen)e(size)i
+(information,)g(and)e(then)150 3852 y(calls)g(an)m(y)f
+Fr(SIGWINCH)e Fs(signal)i(handler)f(the)h(calling)h(application)g(has)f
+(installed.)51 b(Readline)35 b(calls)g(the)150 3961 y(application's)i
+Fr(SIGWINCH)c Fs(signal)i(handler)g(without)g(resetting)h(the)g
+(terminal)f(to)h(its)g(original)g(state.)150 4071 y(If)31
b(the)i(application's)g(signal)g(handler)e(do)s(es)g(more)h(than)g(up)s
-(date)f(its)i(idea)f(of)g(the)g(terminal)h(size)g(and)p
-eop end
-%%Page: 40 44
-TeXDict begin 40 43 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(40)150
-299 y(return)28 b(\(for)i(example,)h(a)f Fs(longjmp)d
-Ft(bac)m(k)k(to)f(a)g(main)g(pro)s(cessing)f(lo)s(op\),)h(it)g
-Fn(must)39 b Ft(call)31 b Fs(rl_cleanup_)150 408 y(after_signal\(\))26
-b Ft(\(describ)s(ed)k(b)s(elo)m(w\),)h(to)g(restore)g(the)g(terminal)g
-(state.)275 554 y(Readline)e(pro)m(vides)f(t)m(w)m(o)i(v)-5
+(date)f(its)i(idea)f(of)g(the)g(terminal)h(size)g(and)150
+4180 y(return)28 b(\(for)i(example,)h(a)f Fr(longjmp)d
+Fs(bac)m(k)k(to)f(a)g(main)g(pro)s(cessing)f(lo)s(op\),)h(it)g
+Fj(must)39 b Fs(call)31 b Fr(rl_cleanup_)150 4290 y(after_signal\(\))26
+b Fs(\(describ)s(ed)k(b)s(elo)m(w\),)h(to)g(restore)g(the)g(terminal)g
+(state.)275 4437 y(Readline)e(pro)m(vides)f(t)m(w)m(o)i(v)-5
b(ariables)29 b(that)h(allo)m(w)g(application)g(writers)e(to)h(con)m
-(trol)h(whether)e(or)h(not)150 664 y(it)34 b(will)f(catc)m(h)i(certain)
-f(signals)f(and)g(act)h(on)f(them)g(when)f(they)i(are)f(receiv)m(ed.)51
-b(It)33 b(is)g(imp)s(ortan)m(t)g(that)150 774 y(applications)38
-b(c)m(hange)g(the)e(v)-5 b(alues)37 b(of)g(these)g(v)-5
-b(ariables)37 b(only)g(when)f(calling)i Fs(readline\(\))p
-Ft(,)d(not)i(in)g(a)150 883 y(signal)31 b(handler,)f(so)g(Readline's)i
-(in)m(ternal)f(signal)g(state)h(is)e(not)h(corrupted.)3371
-1090 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-1090 35 5 v 51 w(catc)m(h)p 747 1090 V 48 w(signals)390
-1200 y Ft(If)28 b(this)h(v)-5 b(ariable)30 b(is)f(non-zero,)h(Readline)
-f(will)g(install)h(signal)f(handlers)f(for)h Fs(SIGINT)p
-Ft(,)f Fs(SIGQUIT)p Ft(,)390 1309 y Fs(SIGTERM)p Ft(,)h
-Fs(SIGALRM)p Ft(,)f Fs(SIGTSTP)p Ft(,)h Fs(SIGTTIN)p
-Ft(,)g(and)g Fs(SIGTTOU)p Ft(.)390 1455 y(The)h(default)g(v)-5
-b(alue)31 b(of)g Fs(rl_catch_signals)26 b Ft(is)k(1.)3371
-1662 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-1662 V 51 w(catc)m(h)p 747 1662 V 48 w(sigwinc)m(h)390
-1772 y Ft(If)30 b(this)g(v)-5 b(ariable)31 b(is)g(non-zero,)g(Readline)
-g(will)g(install)g(a)g(signal)g(handler)e(for)h Fs(SIGWINCH)p
-Ft(.)390 1918 y(The)g(default)g(v)-5 b(alue)31 b(of)g
-Fs(rl_catch_sigwinch)25 b Ft(is)31 b(1.)275 2125 y(If)f(an)h
+(trol)h(whether)e(or)h(not)150 4546 y(it)34 b(will)f(catc)m(h)i
+(certain)f(signals)f(and)g(act)h(on)f(them)g(when)f(they)i(are)f
+(receiv)m(ed.)51 b(It)33 b(is)g(imp)s(ortan)m(t)g(that)150
+4656 y(applications)38 b(c)m(hange)g(the)e(v)-5 b(alues)37
+b(of)g(these)g(v)-5 b(ariables)37 b(only)g(when)f(calling)i
+Fr(readline\(\))p Fs(,)d(not)i(in)g(a)150 4765 y(signal)31
+b(handler,)f(so)g(Readline's)i(in)m(ternal)f(signal)g(state)h(is)e(not)
+h(corrupted.)3371 4974 y([V)-8 b(ariable])-3598 b Fg(int)53
+b(rl_catch_signals)390 5084 y Fs(If)28 b(this)h(v)-5
+b(ariable)30 b(is)f(non-zero,)h(Readline)f(will)g(install)h(signal)f
+(handlers)f(for)h Fr(SIGINT)p Fs(,)f Fr(SIGQUIT)p Fs(,)390
+5193 y Fr(SIGTERM)p Fs(,)h Fr(SIGALRM)p Fs(,)f Fr(SIGTSTP)p
+Fs(,)h Fr(SIGTTIN)p Fs(,)g(and)g Fr(SIGTTOU)p Fs(.)390
+5340 y(The)h(default)g(v)-5 b(alue)31 b(of)g Fr(rl_catch_signals)26
+b Fs(is)k(1.)p eop end
+%%Page: 40 44
+TeXDict begin 40 43 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(40)3371
+299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_catch_sigwinch)390
+408 y Fs(If)30 b(this)g(v)-5 b(ariable)31 b(is)g(non-zero,)g(Readline)g
+(will)g(install)g(a)g(signal)g(handler)e(for)h Fr(SIGWINCH)p
+Fs(.)390 544 y(The)g(default)g(v)-5 b(alue)31 b(of)g
+Fr(rl_catch_sigwinch)25 b Fs(is)31 b(1.)275 731 y(If)f(an)h
(application)h(do)s(es)f(not)g(wish)f(to)i(ha)m(v)m(e)g(Readline)g
(catc)m(h)g(an)m(y)f(signals,)h(or)f(to)h(handle)e(signals)150
-2234 y(other)39 b(than)f(those)h(Readline)h(catc)m(hes)g(\()p
-Fs(SIGHUP)p Ft(,)g(for)e(example\),)k(Readline)d(pro)m(vides)g(con)m(v)
-m(enience)150 2344 y(functions)30 b(to)h(do)f(the)h(necessary)g
+841 y(other)39 b(than)f(those)h(Readline)h(catc)m(hes)g(\()p
+Fr(SIGHUP)p Fs(,)g(for)e(example\),)k(Readline)d(pro)m(vides)g(con)m(v)
+m(enience)150 950 y(functions)30 b(to)h(do)f(the)h(necessary)g
(terminal)g(and)e(in)m(ternal)i(state)h(clean)m(up)f(up)s(on)e(receipt)
-i(of)g(a)f(signal.)3350 2551 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(rl)p 484 2551 V 51 w(clean)m(up)p 916
-2551 V 48 w(after)p 1200 2551 V 49 w(signal)45 b Fe(\()p
-Fs(void)p Fe(\))390 2661 y Ft(This)33 b(function)h(will)g(reset)g(the)g
-(state)i(of)e(the)g(terminal)g(to)h(what)f(it)g(w)m(as)g(b)s(efore)g
-Fs(readline\(\))390 2770 y Ft(w)m(as)c(called,)h(and)d(remo)m(v)m(e)j
+i(of)g(a)f(signal.)3350 1137 y([F)-8 b(unction])-3599
+b Fg(void)54 b(rl_cleanup_after_signal)e Ff(\()p Fi(v)m(oid)p
+Ff(\))390 1247 y Fs(This)33 b(function)h(will)g(reset)g(the)g(state)i
+(of)e(the)g(terminal)g(to)h(what)f(it)g(w)m(as)g(b)s(efore)g
+Fr(readline\(\))390 1356 y Fs(w)m(as)c(called,)h(and)d(remo)m(v)m(e)j
(the)f(Readline)g(signal)g(handlers)e(for)h(all)h(signals,)h(dep)s
-(ending)d(on)h(the)390 2880 y(v)-5 b(alues)31 b(of)f
-Fs(rl_catch_signals)c Ft(and)k Fs(rl_catch_sigwinch)p
-Ft(.)3350 3087 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 3087 V 51 w(free)p 723 3087 V 49 w(line)p
-953 3087 V 50 w(state)44 b Fe(\()p Fs(void)p Fe(\))390
-3197 y Ft(This)38 b(will)i(free)f(an)m(y)h(partial)g(state)g(asso)s
+(ending)d(on)h(the)390 1466 y(v)-5 b(alues)31 b(of)f
+Fr(rl_catch_signals)c Fs(and)k Fr(rl_catch_sigwinch)p
+Fs(.)3350 1653 y([F)-8 b(unction])-3599 b Fg(void)54
+b(rl_free_line_state)c Ff(\()p Fi(v)m(oid)p Ff(\))390
+1763 y Fs(This)38 b(will)i(free)f(an)m(y)h(partial)g(state)g(asso)s
(ciated)h(with)e(the)g(curren)m(t)g(input)f(line)i(\(undo)e(infor-)390
-3306 y(mation,)46 b(an)m(y)d(partial)h(history)e(en)m(try)-8
+1872 y(mation,)46 b(an)m(y)d(partial)h(history)e(en)m(try)-8
b(,)47 b(an)m(y)42 b(partially-en)m(tered)j(k)m(eyb)s(oard)d(macro,)47
-b(and)42 b(an)m(y)390 3416 y(partially-en)m(tered)50
+b(and)42 b(an)m(y)390 1982 y(partially-en)m(tered)50
b(n)m(umeric)d(argumen)m(t\).)94 b(This)47 b(should)g(b)s(e)g(called)i
-(b)s(efore)e Fs(rl_cleanup_)390 3525 y(after_signal\(\))p
-Ft(.)74 b(The)42 b(Readline)h(signal)g(handler)f(for)h
-Fs(SIGINT)e Ft(calls)i(this)g(to)g(ab)s(ort)g(the)390
-3635 y(curren)m(t)30 b(input)g(line.)3350 3842 y([F)-8
-b(unction])-3599 b Fg(void)39 b Ff(rl)p 484 3842 V 51
-w(reset)p 778 3842 V 49 w(after)p 1063 3842 V 50 w(signal)44
-b Fe(\()p Fs(void)p Fe(\))390 3952 y Ft(This)28 b(will)g(reinitialize)j
-(the)e(terminal)g(and)f(reinstall)h(an)m(y)g(Readline)g(signal)g
-(handlers,)f(dep)s(end-)390 4061 y(ing)j(on)f(the)g(v)-5
-b(alues)31 b(of)g Fs(rl_catch_signals)26 b Ft(and)j Fs
-(rl_catch_sigwinch)p Ft(.)275 4268 y(If)38 b(an)i(application)g(do)s
-(es)f(not)h(wish)f(Readline)h(to)g(catc)m(h)h Fs(SIGWINCH)p
-Ft(,)e(it)h(ma)m(y)g(call)h Fs(rl_resize_)150 4378 y(terminal\(\))24
-b Ft(or)j Fs(rl_set_screen_size\(\))22 b Ft(to)28 b(force)g(Readline)f
+(b)s(efore)e Fr(rl_cleanup_)390 2091 y(after_signal\(\))p
+Fs(.)74 b(The)42 b(Readline)h(signal)g(handler)f(for)h
+Fr(SIGINT)e Fs(calls)i(this)g(to)g(ab)s(ort)g(the)390
+2201 y(curren)m(t)30 b(input)g(line.)3350 2388 y([F)-8
+b(unction])-3599 b Fg(void)54 b(rl_reset_after_signal)d
+Ff(\()p Fi(v)m(oid)p Ff(\))390 2497 y Fs(This)28 b(will)g(reinitialize)
+j(the)e(terminal)g(and)f(reinstall)h(an)m(y)g(Readline)g(signal)g
+(handlers,)f(dep)s(end-)390 2607 y(ing)j(on)f(the)g(v)-5
+b(alues)31 b(of)g Fr(rl_catch_signals)26 b Fs(and)j Fr
+(rl_catch_sigwinch)p Fs(.)275 2794 y(If)38 b(an)i(application)g(do)s
+(es)f(not)h(wish)f(Readline)h(to)g(catc)m(h)h Fr(SIGWINCH)p
+Fs(,)e(it)h(ma)m(y)g(call)h Fr(rl_resize_)150 2903 y(terminal\(\))24
+b Fs(or)j Fr(rl_set_screen_size\(\))22 b Fs(to)28 b(force)g(Readline)f
(to)h(up)s(date)f(its)g(idea)h(of)f(the)g(terminal)150
-4487 y(size)k(when)f(a)g Fs(SIGWINCH)e Ft(is)j(receiv)m(ed.)3350
-4695 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p
-484 4695 V 51 w(ec)m(ho)p 757 4695 V 49 w(signal)p 1092
-4695 V 50 w(c)m(har)45 b Fe(\()p Fs(int)30 b(sig)p Fe(\))390
-4804 y Ft(If)43 b(an)g(application)i(wishes)e(to)i(install)f(its)g(o)m
-(wn)f(signal)i(handlers,)h(but)c(still)j(ha)m(v)m(e)g(readline)390
-4914 y(displa)m(y)31 b(c)m(haracters)h(that)f(generate)h(signals,)f
-(calling)h(this)e(function)g(with)g Fi(sig)39 b Ft(set)31
-b(to)g Fs(SIGINT)p Ft(,)390 5023 y Fs(SIGQUIT)p Ft(,)e(or)h
-Fs(SIGTSTP)e Ft(will)j(displa)m(y)g(the)f(c)m(haracter)i(generating)g
-(that)f(signal.)3350 5230 y([F)-8 b(unction])-3599 b
-Fg(void)39 b Ff(rl)p 484 5230 V 51 w(resize)p 816 5230
-V 49 w(terminal)45 b Fe(\()p Fs(void)p Fe(\))390 5340
-y Ft(Up)s(date)30 b(Readline's)h(in)m(ternal)g(screen)g(size)g(b)m(y)f
-(reading)h(v)-5 b(alues)31 b(from)f(the)g(k)m(ernel.)p
-eop end
+3013 y(size)k(when)f(a)g Fr(SIGWINCH)e Fs(is)j(receiv)m(ed.)3350
+3200 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_echo_signal_char)d
+Ff(\()p Fi(in)m(t)31 b(sig)p Ff(\))390 3310 y Fs(If)43
+b(an)g(application)i(wishes)e(to)i(install)f(its)g(o)m(wn)f(signal)i
+(handlers,)h(but)c(still)j(ha)m(v)m(e)g(readline)390
+3419 y(displa)m(y)31 b(c)m(haracters)h(that)f(generate)h(signals,)f
+(calling)h(this)e(function)g(with)g Fi(sig)39 b Fs(set)31
+b(to)g Fr(SIGINT)p Fs(,)390 3529 y Fr(SIGQUIT)p Fs(,)e(or)h
+Fr(SIGTSTP)e Fs(will)j(displa)m(y)g(the)f(c)m(haracter)i(generating)g
+(that)f(signal.)3350 3716 y([F)-8 b(unction])-3599 b
+Fg(void)54 b(rl_resize_terminal)c Ff(\()p Fi(v)m(oid)p
+Ff(\))390 3825 y Fs(Up)s(date)30 b(Readline's)h(in)m(ternal)g(screen)g
+(size)g(b)m(y)f(reading)h(v)-5 b(alues)31 b(from)f(the)g(k)m(ernel.)
+3350 4012 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_set_screen_size)c
+Ff(\()p Fi(in)m(t)32 b(ro)m(ws,)e(in)m(t)h(cols)p Ff(\))390
+4122 y Fs(Set)d(Readline's)h(idea)g(of)f(the)g(terminal)h(size)g(to)g
+Fi(ro)m(ws)j Fs(ro)m(ws)c(and)f Fi(cols)33 b Fs(columns.)40
+b(If)27 b(either)i Fi(ro)m(ws)390 4231 y Fs(or)35 b Fi(columns)k
+Fs(is)c(less)g(than)g(or)g(equal)h(to)g(0,)h(Readline's)f(idea)g(of)f
+(that)h(terminal)f(dimension)g(is)390 4341 y(unc)m(hanged.)275
+4528 y(If)d(an)i(application)g(do)s(es)f(not)h(w)m(an)m(t)g(to)g
+(install)g(a)g Fr(SIGWINCH)d Fs(handler,)j(but)e(is)i(still)g(in)m
+(terested)g(in)150 4637 y(the)d(screen)f(dimensions,)g(Readline's)h
+(idea)g(of)g(the)f(screen)h(size)g(ma)m(y)g(b)s(e)f(queried.)3350
+4824 y([F)-8 b(unction])-3599 b Fg(void)54 b(rl_get_screen_size)c
+Ff(\()p Fi(in)m(t)32 b(*ro)m(ws,)f(in)m(t)g(*cols)p Ff(\))390
+4934 y Fs(Return)e(Readline's)i(idea)g(of)f(the)g(terminal's)h(size)g
+(in)f(the)g(v)-5 b(ariables)31 b(p)s(oin)m(ted)f(to)g(b)m(y)g(the)h
+(argu-)390 5043 y(men)m(ts.)3350 5230 y([F)-8 b(unction])-3599
+b Fg(void)54 b(rl_reset_screen_size)d Ff(\()p Fi(v)m(oid)p
+Ff(\))390 5340 y Fs(Cause)30 b(Readline)h(to)g(reobtain)g(the)g(screen)
+f(size)h(and)f(recalculate)j(its)e(dimensions.)p eop
+end
%%Page: 41 45
-TeXDict begin 41 44 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(41)3350
-299 y([F)-8 b(unction])-3599 b Fg(void)39 b Ff(rl)p 484
-299 35 5 v 51 w(set)p 678 299 V 49 w(screen)p 1040 299
-V 50 w(size)45 b Fe(\()p Fs(int)30 b(rows,)f(int)g(cols)p
-Fe(\))390 408 y Ft(Set)f(Readline's)h(idea)g(of)f(the)g(terminal)h
-(size)g(to)g Fi(ro)m(ws)j Ft(ro)m(ws)c(and)f Fi(cols)33
-b Ft(columns.)40 b(If)27 b(either)i Fi(ro)m(ws)390 518
-y Ft(or)35 b Fi(columns)k Ft(is)c(less)g(than)g(or)g(equal)h(to)g(0,)h
-(Readline's)f(idea)g(of)f(that)h(terminal)f(dimension)g(is)390
-628 y(unc)m(hanged.)275 818 y(If)d(an)i(application)g(do)s(es)f(not)h
-(w)m(an)m(t)g(to)g(install)g(a)g Fs(SIGWINCH)d Ft(handler,)j(but)e(is)i
-(still)g(in)m(terested)g(in)150 928 y(the)d(screen)f(dimensions,)g
-(Readline's)h(idea)g(of)g(the)f(screen)h(size)g(ma)m(y)g(b)s(e)f
-(queried.)3350 1119 y([F)-8 b(unction])-3599 b Fg(void)39
-b Ff(rl)p 484 1119 V 51 w(get)p 690 1119 V 50 w(screen)p
-1053 1119 V 49 w(size)45 b Fe(\()p Fs(int)30 b(*rows,)e(int)i(*cols)p
-Fe(\))390 1228 y Ft(Return)f(Readline's)i(idea)g(of)f(the)g(terminal's)
-h(size)g(in)f(the)g(v)-5 b(ariables)31 b(p)s(oin)m(ted)f(to)g(b)m(y)g
-(the)h(argu-)390 1338 y(men)m(ts.)3350 1529 y([F)-8 b(unction])-3599
-b Fg(void)39 b Ff(rl)p 484 1529 V 51 w(reset)p 778 1529
-V 49 w(screen)p 1140 1529 V 50 w(size)44 b Fe(\()p Fs(void)p
-Fe(\))390 1638 y Ft(Cause)30 b(Readline)h(to)g(reobtain)g(the)g(screen)
-f(size)h(and)f(recalculate)j(its)e(dimensions.)275 1829
-y(The)e(follo)m(wing)j(functions)e(install)h(and)f(remo)m(v)m(e)i
-(Readline's)f(signal)g(handlers.)3350 2020 y([F)-8 b(unction])-3599
-b Fg(int)39 b Ff(rl)p 432 2020 V 51 w(set)p 626 2020
-V 49 w(signals)45 b Fe(\()p Fs(void)p Fe(\))390 2130
-y Ft(Install)36 b(Readline's)f(signal)h(handler)e(for)h
-Fs(SIGINT)p Ft(,)g Fs(SIGQUIT)p Ft(,)g Fs(SIGTERM)p Ft(,)f
-Fs(SIGALRM)p Ft(,)h Fs(SIGTSTP)p Ft(,)390 2239 y Fs(SIGTTIN)p
-Ft(,)23 b Fs(SIGTTOU)p Ft(,)g(and)f Fs(SIGWINCH)p Ft(,)h(dep)s(ending)f
-(on)h(the)g(v)-5 b(alues)23 b(of)h Fs(rl_catch_signals)19
-b Ft(and)390 2349 y Fs(rl_catch_sigwinch)p Ft(.)3350
-2540 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-2540 V 51 w(clear)p 722 2540 V 49 w(signals)45 b Fe(\()p
-Fs(void)p Fe(\))390 2649 y Ft(Remo)m(v)m(e)32 b(all)f(of)g(the)g
-(Readline)g(signal)g(handlers)e(installed)i(b)m(y)f Fs
-(rl_set_signals\(\))p Ft(.)150 2915 y Fr(2.6)68 b(Custom)45
-b(Completers)275 3162 y Ft(T)m(ypically)-8 b(,)35 b(a)f(program)f(that)
-h(reads)f(commands)f(from)h(the)g(user)g(has)g(a)g(w)m(a)m(y)i(of)e
-(disam)m(biguating)150 3271 y(commands)i(and)g(data.)56
+TeXDict begin 41 44 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(41)275
+299 y(The)29 b(follo)m(wing)j(functions)e(install)h(and)f(remo)m(v)m(e)
+i(Readline's)f(signal)g(handlers.)3350 502 y([F)-8 b(unction])-3599
+b Fg(int)53 b(rl_set_signals)d Ff(\()p Fi(v)m(oid)p Ff(\))390
+612 y Fs(Install)36 b(Readline's)f(signal)h(handler)e(for)h
+Fr(SIGINT)p Fs(,)g Fr(SIGQUIT)p Fs(,)g Fr(SIGTERM)p Fs(,)f
+Fr(SIGALRM)p Fs(,)h Fr(SIGTSTP)p Fs(,)390 722 y Fr(SIGTTIN)p
+Fs(,)23 b Fr(SIGTTOU)p Fs(,)g(and)f Fr(SIGWINCH)p Fs(,)h(dep)s(ending)f
+(on)h(the)g(v)-5 b(alues)23 b(of)h Fr(rl_catch_signals)19
+b Fs(and)390 831 y Fr(rl_catch_sigwinch)p Fs(.)3350 1035
+y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_clear_signals)e
+Ff(\()p Fi(v)m(oid)p Ff(\))390 1144 y Fs(Remo)m(v)m(e)32
+b(all)f(of)g(the)g(Readline)g(signal)g(handlers)e(installed)i(b)m(y)f
+Fr(rl_set_signals\(\))p Fs(.)150 1391 y Fq(2.6)68 b(Custom)45
+b(Completers)150 1550 y Fs(T)m(ypically)-8 b(,)47 b(a)c(program)g(that)
+g(reads)f(commands)h(from)f(the)g(user)g(has)h(a)g(w)m(a)m(y)g(of)g
+(disam)m(biguating)150 1660 y(commands)35 b(and)g(data.)56
b(If)35 b(y)m(our)h(program)f(is)g(one)h(of)g(these,)h(then)e(it)h(can)
-g(pro)m(vide)f(completion)i(for)150 3381 y(commands,)29
+g(pro)m(vide)f(completion)i(for)150 1770 y(commands,)29
b(data,)i(or)e(b)s(oth.)39 b(The)29 b(follo)m(wing)i(sections)f
(describ)s(e)e(ho)m(w)i(y)m(our)f(program)g(and)f(Readline)150
-3491 y(co)s(op)s(erate)j(to)h(pro)m(vide)e(this)g(service.)150
-3721 y Fh(2.6.1)63 b(Ho)m(w)40 b(Completing)i(W)-10 b(orks)275
-3969 y Ft(In)33 b(order)h(to)h(complete)h(some)e(text,)j(the)d(full)g
-(list)h(of)f(p)s(ossible)g(completions)i(m)m(ust)e(b)s(e)f(a)m(v)-5
-b(ailable.)150 4078 y(That)34 b(is,)h(it)g(is)f(not)g(p)s(ossible)g(to)
-g(accurately)i(expand)d(a)i(partial)g(w)m(ord)e(without)h(kno)m(wing)h
-(all)g(of)f(the)150 4188 y(p)s(ossible)g(w)m(ords)h(whic)m(h)g(mak)m(e)
-h(sense)e(in)h(that)h(con)m(text.)56 b(The)34 b(Readline)i(library)f
-(pro)m(vides)f(the)i(user)150 4297 y(in)m(terface)f(to)f(completion,)h
-(and)e(t)m(w)m(o)i(of)e(the)g(most)h(common)g(completion)g(functions:)
-46 b(\014lename)34 b(and)150 4407 y(username.)j(F)-8
-b(or)23 b(completing)g(other)e(t)m(yp)s(es)h(of)g(text,)j(y)m(ou)d(m)m
-(ust)f(write)h(y)m(our)f(o)m(wn)h(completion)h(function.)150
-4517 y(This)30 b(section)h(describ)s(es)f(exactly)i(what)e(suc)m(h)g
-(functions)g(m)m(ust)g(do,)h(and)f(pro)m(vides)g(an)g(example.)275
-4654 y(There)f(are)i(three)g(ma)5 b(jor)30 b(functions)g(used)g(to)h(p)
-s(erform)e(completion:)199 4792 y(1.)61 b(The)43 b(user-in)m(terface)h
-(function)f Fs(rl_complete\(\))p Ft(.)76 b(This)43 b(function)g(is)g
-(called)i(with)e(the)h(same)330 4902 y(argumen)m(ts)36
-b(as)g(other)g(bindable)f(Readline)h(functions:)51 b
-Fi(coun)m(t)38 b Ft(and)d Fi(in)m(v)m(oking)p 3107 4902
-28 4 v 41 w(k)m(ey)p Ft(.)57 b(It)36 b(isolates)330 5011
-y(the)i(w)m(ord)f(to)h(b)s(e)f(completed)i(and)d(calls)j
-Fs(rl_completion_matches\(\))31 b Ft(to)39 b(generate)g(a)f(list)g(of)
-330 5121 y(p)s(ossible)31 b(completions.)44 b(It)31 b(then)g(either)g
-(lists)h(the)f(p)s(ossible)g(completions,)h(inserts)f(the)g(p)s
-(ossible)330 5230 y(completions,)50 b(or)45 b(actually)i(p)s(erforms)d
-(the)h(completion,)50 b(dep)s(ending)44 b(on)h(whic)m(h)g(b)s(eha)m
-(vior)g(is)330 5340 y(desired.)p eop end
+1879 y(co)s(op)s(erate)j(to)h(pro)m(vide)e(this)g(service.)150
+2088 y Fh(2.6.1)63 b(Ho)m(w)40 b(Completing)i(W)-10 b(orks)150
+2235 y Fs(In)26 b(order)f(to)i(complete)h(some)f(text,)h(the)f(full)f
+(list)h(of)f(p)s(ossible)g(completions)h(m)m(ust)g(b)s(e)e(a)m(v)-5
+b(ailable.)42 b(That)150 2345 y(is,)28 b(it)f(is)g(not)g(p)s(ossible)g
+(to)g(accurately)i(expand)d(a)h(partial)h(w)m(ord)f(without)f(kno)m
+(wing)i(all)f(of)g(the)g(p)s(ossible)150 2454 y(w)m(ords)33
+b(whic)m(h)g(mak)m(e)h(sense)f(in)g(that)g(con)m(text.)51
+b(The)33 b(Readline)h(library)e(pro)m(vides)i(the)f(user)f(in)m
+(terface)150 2564 y(to)d(completion,)h(and)e(t)m(w)m(o)i(of)e(the)h
+(most)f(common)h(completion)h(functions:)39 b(\014lename)29
+b(and)e(username.)150 2673 y(F)-8 b(or)39 b(completing)g(other)f(t)m
+(yp)s(es)g(of)h(text,)i(y)m(ou)d(m)m(ust)g(write)g(y)m(our)g(o)m(wn)g
+(completion)h(function.)64 b(This)150 2783 y(section)32
+b(describ)s(es)d(exactly)j(what)f(suc)m(h)f(functions)g(m)m(ust)g(do,)g
+(and)g(pro)m(vides)g(an)h(example.)275 2927 y(There)e(are)i(three)g(ma)
+5 b(jor)30 b(functions)g(used)g(to)h(p)s(erform)e(completion:)199
+3071 y(1.)61 b(The)43 b(user-in)m(terface)h(function)f
+Fr(rl_complete\(\))p Fs(.)76 b(This)43 b(function)g(is)g(called)i(with)
+e(the)h(same)330 3181 y(argumen)m(ts)35 b(as)h(other)f(bindable)f
+(Readline)i(functions:)49 b Fi(coun)m(t)38 b Fs(and)c
+Fi(in)m(v)m(oking)p 3101 3181 28 4 v 42 w(k)m(ey)8 b
+Fs(.)55 b(It)35 b(isolates)330 3290 y(the)j(w)m(ord)f(to)h(b)s(e)f
+(completed)i(and)d(calls)j Fr(rl_completion_matches\(\))31
+b Fs(to)39 b(generate)g(a)f(list)g(of)330 3400 y(p)s(ossible)31
+b(completions.)44 b(It)31 b(then)g(either)g(lists)h(the)f(p)s(ossible)g
+(completions,)h(inserts)f(the)g(p)s(ossible)330 3509
+y(completions,)50 b(or)45 b(actually)i(p)s(erforms)d(the)h(completion,)
+50 b(dep)s(ending)44 b(on)h(whic)m(h)g(b)s(eha)m(vior)g(is)330
+3619 y(desired.)199 3758 y(2.)61 b(The)33 b(in)m(ternal)h(function)g
+Fr(rl_completion_matches\(\))27 b Fs(uses)33 b(an)g
+(application-supplied)h Fi(gener-)330 3868 y(ator)44
+b Fs(function)37 b(to)h(generate)g(the)f(list)h(of)f(p)s(ossible)f
+(matc)m(hes,)k(and)d(then)f(returns)g(the)h(arra)m(y)h(of)330
+3978 y(these)h(matc)m(hes.)68 b(The)39 b(caller)h(should)e(place)i(the)
+f(address)f(of)h(its)g(generator)i(function)d(in)h Fr(rl_)330
+4087 y(completion_entry_functio)o(n)p Fs(.)199 4226 y(3.)61
+b(The)22 b(generator)i(function)f(is)g(called)h(rep)s(eatedly)f(from)g
+Fr(rl_completion_matches\(\))o Fs(,)c(returning)330 4336
+y(a)33 b(string)f(eac)m(h)i(time.)48 b(The)32 b(argumen)m(ts)h(to)g
+(the)g(generator)h(function)e(are)h Fi(text)i Fs(and)d
+Fi(state)5 b Fs(.)49 b Fi(text)330 4446 y Fs(is)32 b(the)g(partial)h(w)
+m(ord)f(to)h(b)s(e)e(completed.)47 b Fi(state)38 b Fs(is)32
+b(zero)h(the)f(\014rst)g(time)g(the)h(function)e(is)h(called,)330
+4555 y(allo)m(wing)46 b(the)e(generator)h(to)f(p)s(erform)f(an)m(y)h
+(necessary)g(initialization,)51 b(and)43 b(a)h(p)s(ositiv)m(e)h(non-)
+330 4665 y(zero)30 b(in)m(teger)h(for)d(eac)m(h)j(subsequen)m(t)d
+(call.)42 b(The)29 b(generator)h(function)f(returns)f
+Fr(\(char)h(*\)NULL)e Fs(to)330 4774 y(inform)37 b Fr
+(rl_completion_matches\(\))32 b Fs(that)39 b(there)f(are)g(no)g(more)g
+(p)s(ossibilities)h(left.)65 b(Usually)330 4884 y(the)39
+b(generator)h(function)e(computes)h(the)g(list)g(of)g(p)s(ossible)f
+(completions)i(when)e Fi(state)45 b Fs(is)39 b(zero,)330
+4994 y(and)25 b(returns)f(them)i(one)f(at)i(a)f(time)g(on)f(subsequen)m
+(t)g(calls.)40 b(Eac)m(h)26 b(string)g(the)g(generator)g(function)330
+5103 y(returns)31 b(as)h(a)g(matc)m(h)h(m)m(ust)f(b)s(e)f(allo)s(cated)
+j(with)d Fr(malloc\(\))p Fs(;)g(Readline)h(frees)g(the)g(strings)g
+(when)330 5213 y(it)i(has)g(\014nished)e(with)i(them.)51
+b(Suc)m(h)33 b(a)h(generator)h(function)f(is)g(referred)f(to)h(as)h(an)
+e Fi(application-)330 5322 y(sp)s(eci\014c)d(completion)i(function)p
+Fs(.)p eop end
%%Page: 42 46
-TeXDict begin 42 45 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(42)199
-299 y(2.)61 b(The)33 b(in)m(ternal)h(function)g Fs
-(rl_completion_matches\(\))27 b Ft(uses)33 b(an)g(application-supplied)
-h Fi(gener-)330 408 y(ator)44 b Ft(function)37 b(to)h(generate)g(the)f
-(list)h(of)f(p)s(ossible)f(matc)m(hes,)k(and)d(then)f(returns)g(the)h
-(arra)m(y)h(of)330 518 y(these)h(matc)m(hes.)68 b(The)39
-b(caller)h(should)e(place)i(the)f(address)f(of)h(its)g(generator)i
-(function)d(in)h Fs(rl_)330 628 y(completion_entry_functio)o(n)p
-Ft(.)199 757 y(3.)61 b(The)22 b(generator)i(function)f(is)g(called)h
-(rep)s(eatedly)f(from)g Fs(rl_completion_matches\(\))o
-Ft(,)c(returning)330 867 y(a)33 b(string)g(eac)m(h)h(time.)49
-b(The)32 b(argumen)m(ts)h(to)h(the)f(generator)h(function)e(are)h
-Fi(text)j Ft(and)c Fi(state)p Ft(.)50 b Fi(text)330 976
-y Ft(is)32 b(the)g(partial)h(w)m(ord)f(to)h(b)s(e)e(completed.)47
-b Fi(state)38 b Ft(is)32 b(zero)h(the)f(\014rst)g(time)g(the)h
-(function)e(is)h(called,)330 1086 y(allo)m(wing)46 b(the)e(generator)h
-(to)f(p)s(erform)f(an)m(y)h(necessary)g(initialization,)51
-b(and)43 b(a)h(p)s(ositiv)m(e)h(non-)330 1196 y(zero)30
-b(in)m(teger)h(for)d(eac)m(h)j(subsequen)m(t)d(call.)42
-b(The)29 b(generator)h(function)f(returns)f Fs(\(char)h(*\)NULL)e
-Ft(to)330 1305 y(inform)37 b Fs(rl_completion_matches\(\))32
-b Ft(that)39 b(there)f(are)g(no)g(more)g(p)s(ossibilities)h(left.)65
-b(Usually)330 1415 y(the)39 b(generator)h(function)e(computes)h(the)g
-(list)g(of)g(p)s(ossible)f(completions)i(when)e Fi(state)45
-b Ft(is)39 b(zero,)330 1524 y(and)25 b(returns)f(them)i(one)f(at)i(a)f
-(time)g(on)f(subsequen)m(t)g(calls.)40 b(Eac)m(h)26 b(string)g(the)g
-(generator)g(function)330 1634 y(returns)31 b(as)h(a)g(matc)m(h)h(m)m
-(ust)f(b)s(e)f(allo)s(cated)j(with)d Fs(malloc\(\))p
-Ft(;)g(Readline)h(frees)g(the)g(strings)g(when)330 1743
-y(it)i(has)g(\014nished)e(with)i(them.)51 b(Suc)m(h)33
-b(a)h(generator)h(function)f(is)g(referred)f(to)h(as)h(an)e
-Fi(application-)330 1853 y(sp)s(eci\014c)d(completion)i(function)p
-Ft(.)3350 2022 y([F)-8 b(unction])-3599 b Fg(int)39 b
-Ff(rl)p 432 2022 35 5 v 51 w(complete)44 b Fe(\()p Fs(int)30
-b(ignore,)e(int)h(invoking_key)p Fe(\))390 2132 y Ft(Complete)i(the)g
-(w)m(ord)g(at)g(or)g(b)s(efore)f(p)s(oin)m(t.)41 b(Y)-8
-b(ou)32 b(ha)m(v)m(e)g(supplied)d(the)i(function)f(that)h(do)s(es)g
-(the)390 2242 y(initial)42 b(simple)f(matc)m(hing)i(selection)f
-(algorithm)h(\(see)f Fs(rl_completion_matches\(\))o Ft(\).)67
-b(The)390 2351 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)
-3371 2521 y([V)-8 b(ariable])-3598 b Fg(rl_compentry_func_t)44
-b(*)38 b Ff(rl)p 1359 2521 V 51 w(completion)p 1960 2521
-V 49 w(en)m(try)p 2275 2521 V 50 w(function)390 2630
-y Ft(This)h(is)h(a)g(p)s(oin)m(ter)g(to)h(the)f(generator)h(function)f
-(for)f Fs(rl_completion_matches\(\))p Ft(.)63 b(If)40
-b(the)390 2740 y(v)-5 b(alue)24 b(of)g Fs(rl_completion_entry_funct)o
-(ion)17 b Ft(is)24 b Fs(NULL)f Ft(then)g(the)h(default)g(\014lename)g
-(generator)390 2849 y(function,)49 b Fs(rl_filename_completion_)o(fun)o
-(ctio)o(n\(\))p Ft(,)42 b(is)j(used.)84 b(An)44 b Fi(application-sp)s
-(eci\014c)390 2959 y(completion)22 b(function)f Ft(is)g(a)h(function)e
-(whose)h(address)f(is)h(assigned)h(to)f Fs(rl_completion_entry_)390
-3068 y(function)28 b Ft(and)i(whose)g(return)f(v)-5 b(alues)31
+TeXDict begin 42 45 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(42)3350
+299 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_complete)c
+Ff(\()p Fi(in)m(t)31 b(ignore,)g(in)m(t)g(in)m(v)m(oking)p
+1929 299 28 4 v 42 w(k)m(ey)p Ff(\))390 408 y Fs(Complete)g(the)g(w)m
+(ord)g(at)g(or)g(b)s(efore)f(p)s(oin)m(t.)41 b(Y)-8 b(ou)32
+b(ha)m(v)m(e)g(supplied)d(the)i(function)f(that)h(do)s(es)g(the)390
+518 y(initial)42 b(simple)f(matc)m(hing)i(selection)f(algorithm)h
+(\(see)f Fr(rl_completion_matches\(\))o Fs(\).)67 b(The)390
+628 y(default)31 b(is)f(to)h(do)f(\014lename)h(completion.)3371
+828 y([V)-8 b(ariable])-3598 b Fg(rl_compentry_func_t)58
+b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 937 y
+Fs(This)39 b(is)h(a)g(p)s(oin)m(ter)g(to)h(the)f(generator)h(function)f
+(for)f Fr(rl_completion_matches\(\))p Fs(.)63 b(If)40
+b(the)390 1047 y(v)-5 b(alue)24 b(of)g Fr(rl_completion_entry_funct)o
+(ion)17 b Fs(is)24 b Fr(NULL)f Fs(then)g(the)h(default)g(\014lename)g
+(generator)390 1156 y(function,)49 b Fr(rl_filename_completion_)o(fun)o
+(ctio)o(n\(\))p Fs(,)42 b(is)j(used.)84 b(An)44 b Fi(application-sp)s
+(eci\014c)390 1266 y(completion)22 b(function)f Fs(is)g(a)h(function)e
+(whose)h(address)f(is)h(assigned)h(to)f Fr(rl_completion_entry_)390
+1376 y(function)28 b Fs(and)i(whose)g(return)f(v)-5 b(alues)31
b(are)g(used)e(to)j(generate)f(p)s(ossible)f(completions.)150
-3278 y Fh(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)275
-3517 y Ft(Here)30 b(is)h(the)f(complete)i(list)f(of)g(callable)h
-(completion)g(functions)e(presen)m(t)g(in)g(Readline.)3350
-3686 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-3686 V 51 w(complete)p 933 3686 V 49 w(in)m(ternal)k
-Fe(\()p Fs(int)30 b(what_to_do)p Fe(\))390 3796 y Ft(Complete)37
-b(the)g(w)m(ord)f(at)i(or)e(b)s(efore)g(p)s(oin)m(t.)60
-b Fi(what)p 2208 3796 28 4 v 40 w(to)p 2328 3796 V 41
-w(do)41 b Ft(sa)m(ys)c(what)f(to)i(do)e(with)g(the)h(com-)390
-3905 y(pletion.)44 b(A)31 b(v)-5 b(alue)32 b(of)f(`)p
-Fs(?)p Ft(')g(means)h(list)f(the)h(p)s(ossible)e(completions.)45
-b(`)p Fs(TAB)p Ft(')31 b(means)g(do)g(standard)390 4015
-y(completion.)44 b(`)p Fs(*)p Ft(')32 b(means)f(insert)g(all)h(of)f
-(the)g(p)s(ossible)g(completions.)44 b(`)p Fs(!)p Ft(')32
-b(means)f(to)h(displa)m(y)f(all)390 4125 y(of)k(the)f(p)s(ossible)g
+1583 y Fh(2.6.2)63 b(Completion)41 b(F)-10 b(unctions)150
+1730 y Fs(Here)31 b(is)f(the)h(complete)h(list)f(of)f(callable)j
+(completion)e(functions)f(presen)m(t)h(in)f(Readline.)3350
+1929 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_complete_internal)f
+Ff(\()p Fi(in)m(t)31 b(what)p 1828 1929 V 40 w(to)p 1948
+1929 V 41 w(do)p Ff(\))390 2039 y Fs(Complete)37 b(the)g(w)m(ord)f(at)i
+(or)e(b)s(efore)g(p)s(oin)m(t.)60 b Fi(what)p 2208 2039
+V 40 w(to)p 2328 2039 V 41 w(do)41 b Fs(sa)m(ys)c(what)f(to)i(do)e
+(with)g(the)h(com-)390 2149 y(pletion.)44 b(A)31 b(v)-5
+b(alue)32 b(of)f(`)p Fr(?)p Fs(')g(means)h(list)f(the)h(p)s(ossible)e
+(completions.)45 b(`)p Fr(TAB)p Fs(')31 b(means)g(do)g(standard)390
+2258 y(completion.)44 b(`)p Fr(*)p Fs(')32 b(means)f(insert)g(all)h(of)
+f(the)g(p)s(ossible)g(completions.)44 b(`)p Fr(!)p Fs(')32
+b(means)f(to)h(displa)m(y)f(all)390 2368 y(of)k(the)f(p)s(ossible)g
(completions,)j(if)d(there)h(is)f(more)g(than)h(one,)g(as)g(w)m(ell)g
-(as)g(p)s(erforming)e(partial)390 4234 y(completion.)41
-b(`)p Fs(@)p Ft(')27 b(is)h(similar)f(to)h(`)p Fs(!)p
-Ft(',)h(but)d(p)s(ossible)h(completions)i(are)e(not)h(listed)g(if)f
-(the)g(p)s(ossible)390 4344 y(completions)32 b(share)e(a)g(common)h
-(pre\014x.)3350 4513 y([F)-8 b(unction])-3599 b Fg(int)39
-b Ff(rl)p 432 4513 35 5 v 51 w(complete)44 b Fe(\()p
-Fs(int)30 b(ignore,)e(int)h(invoking_key)p Fe(\))390
-4623 y Ft(Complete)42 b(the)f(w)m(ord)g(at)h(or)f(b)s(efore)g(p)s(oin)m
-(t.)73 b(Y)-8 b(ou)41 b(ha)m(v)m(e)i(supplied)c(the)j(function)f(that)g
-(do)s(es)390 4732 y(the)33 b(initial)h(simple)f(matc)m(hing)h
-(selection)h(algorithm)f(\(see)g Fs(rl_completion_matches\(\))27
-b Ft(and)390 4842 y Fs(rl_completion_entry_func)o(tion)o
-Ft(\).)52 b(The)35 b(default)h(is)g(to)h(do)e(\014lename)h(completion.)
-59 b(This)390 4951 y(calls)32 b Fs(rl_complete_internal\(\))24
-b Ft(with)30 b(an)g(argumen)m(t)h(dep)s(ending)e(on)h
-Fi(in)m(v)m(oking)p 3314 4951 28 4 v 41 w(k)m(ey)p Ft(.)3350
-5121 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-5121 35 5 v 51 w(p)s(ossible)p 878 5121 V 49 w(completions)45
-b Fe(\()p Fs(int)30 b(count,)e(int)i(invoking_key)p Fe(\))390
-5230 y Ft(List)41 b(the)f(p)s(ossible)g(completions.)73
-b(See)40 b(description)h(of)g Fs(rl_complete)27 b(\(\))p
-Ft(.)70 b(This)40 b(calls)i Fs(rl_)390 5340 y(complete_internal\(\))25
-b Ft(with)30 b(an)g(argumen)m(t)h(of)g(`)p Fs(?)p Ft('.)p
-eop end
-%%Page: 43 47
-TeXDict begin 43 46 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(43)3350
-299 y([F)-8 b(unction])-3599 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(insert)p 769 299 V 49 w(completions)44
-b Fe(\()p Fs(int)30 b(count,)f(int)g(invoking_key)p Fe(\))390
-408 y Ft(Insert)k(the)h(list)g(of)g(p)s(ossible)f(completions)i(in)m
-(to)f(the)g(line,)h(deleting)g(the)f(partially-completed)390
-518 y(w)m(ord.)44 b(See)32 b(description)g(of)g Fs(rl_complete\(\))p
-Ft(.)41 b(This)31 b(calls)i Fs(rl_complete_internal\(\))25
-b Ft(with)390 628 y(an)30 b(argumen)m(t)h(of)g(`)p Fs(*)p
-Ft('.)3350 797 y([F)-8 b(unction])-3599 b Fg(int)39 b
-Ff(rl)p 432 797 V 51 w(completion)p 1033 797 V 49 w(mo)s(de)45
-b Fe(\()p Fs(rl_command_func_t)26 b(*cfunc)p Fe(\))390
-907 y Ft(Returns)50 b(the)g(apppriate)h(v)-5 b(alue)50
-b(to)i(pass)e(to)h Fs(rl_complete_internal\(\))44 b Ft(dep)s(ending)49
-b(on)390 1016 y(whether)40 b Fi(cfunc)46 b Ft(w)m(as)41
+(as)g(p)s(erforming)e(partial)390 2477 y(completion.)41
+b(`)p Fr(@)p Fs(')27 b(is)h(similar)f(to)h(`)p Fr(!)p
+Fs(',)h(but)d(p)s(ossible)h(completions)i(are)e(not)h(listed)g(if)f
+(the)g(p)s(ossible)390 2587 y(completions)32 b(share)e(a)g(common)h
+(pre\014x.)3350 2787 y([F)-8 b(unction])-3599 b Fg(int)53
+b(rl_complete)c Ff(\()p Fi(in)m(t)31 b(ignore,)g(in)m(t)g(in)m(v)m
+(oking)p 1929 2787 V 42 w(k)m(ey)p Ff(\))390 2896 y Fs(Complete)42
+b(the)f(w)m(ord)g(at)h(or)f(b)s(efore)g(p)s(oin)m(t.)73
+b(Y)-8 b(ou)41 b(ha)m(v)m(e)i(supplied)c(the)j(function)f(that)g(do)s
+(es)390 3006 y(the)33 b(initial)h(simple)f(matc)m(hing)h(selection)h
+(algorithm)f(\(see)g Fr(rl_completion_matches\(\))27
+b Fs(and)390 3116 y Fr(rl_completion_entry_func)o(tion)o
+Fs(\).)52 b(The)35 b(default)h(is)g(to)h(do)e(\014lename)h(completion.)
+59 b(This)390 3225 y(calls)32 b Fr(rl_complete_internal\(\))24
+b Fs(with)30 b(an)g(argumen)m(t)h(dep)s(ending)e(on)h
+Fi(in)m(v)m(oking)p 3314 3225 V 41 w(k)m(ey)8 b Fs(.)3350
+3425 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_possible_completio)q(ns)
+f Ff(\()p Fi(in)m(t)31 b(coun)m(t,)g(in)m(t)g(in)m(v)m(oking)p
+2534 3425 V 41 w(k)m(ey)p Ff(\))390 3535 y Fs(List)41
+b(the)f(p)s(ossible)g(completions.)73 b(See)40 b(description)h(of)g
+Fr(rl_complete)27 b(\(\))p Fs(.)70 b(This)40 b(calls)i
+Fr(rl_)390 3644 y(complete_internal\(\))25 b Fs(with)30
+b(an)g(argumen)m(t)h(of)g(`)p Fr(?)p Fs('.)3350 3844
+y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_insert_completions)f
+Ff(\()p Fi(in)m(t)31 b(coun)m(t,)h(in)m(t)e(in)m(v)m(oking)p
+2429 3844 V 42 w(k)m(ey)p Ff(\))390 3954 y Fs(Insert)j(the)h(list)g(of)
+g(p)s(ossible)f(completions)i(in)m(to)f(the)g(line,)h(deleting)g(the)f
+(partially-completed)390 4063 y(w)m(ord.)44 b(See)32
+b(description)g(of)g Fr(rl_complete\(\))p Fs(.)41 b(This)31
+b(calls)i Fr(rl_complete_internal\(\))25 b Fs(with)390
+4173 y(an)30 b(argumen)m(t)h(of)g(`)p Fr(*)p Fs('.)3350
+4373 y([F)-8 b(unction])-3599 b Fg(int)53 b(rl_completion_mode)e
+Ff(\()p Fi(rl)p 1448 4373 V 40 w(command)p 1872 4373
+V 40 w(func)p 2082 4373 V 39 w(t)31 b(*cfunc)p Ff(\))390
+4483 y Fs(Returns)50 b(the)g(apppriate)h(v)-5 b(alue)50
+b(to)i(pass)e(to)h Fr(rl_complete_internal\(\))44 b Fs(dep)s(ending)49
+b(on)390 4592 y(whether)40 b Fi(cfunc)46 b Fs(w)m(as)41
b(called)h(t)m(wice)g(in)f(succession)g(and)f(the)h(v)-5
-b(alues)41 b(of)g(the)g Fs(show-all-if-)390 1126 y(ambiguous)25
-b Ft(and)i Fs(show-all-if-unmodified)21 b Ft(v)-5 b(ariables.)41
-b(Application-sp)s(eci\014c)29 b(completion)390 1235
+b(alues)41 b(of)g(the)g Fr(show-all-if-)390 4702 y(ambiguous)25
+b Fs(and)i Fr(show-all-if-unmodified)21 b Fs(v)-5 b(ariables.)41
+b(Application-sp)s(eci\014c)29 b(completion)390 4811
y(functions)h(ma)m(y)h(use)f(this)g(function)g(to)h(presen)m(t)g(the)f
-(same)h(in)m(terface)h(as)f Fs(rl_complete\(\))p Ft(.)3350
-1405 y([F)-8 b(unction])-3599 b Fg(char)39 b(**)g Ff(rl)p
-627 1405 V 51 w(completion)p 1228 1405 V 49 w(matc)m(hes)44
-b Fe(\()p Fs(const)30 b(char)f(*text,)565 1514 y(rl_compentry_func_t)c
-(*entry_func)p Fe(\))390 1624 y Ft(Returns)37 b(an)h(arra)m(y)g(of)g
-(strings)g(whic)m(h)f(is)h(a)g(list)h(of)f(completions)h(for)e
-Fi(text)p Ft(.)64 b(If)38 b(there)g(are)g(no)390 1733
-y(completions,)f(returns)c Fs(NULL)p Ft(.)52 b(The)34
+(same)h(in)m(terface)h(as)f Fr(rl_complete\(\))p Fs(.)3350
+5011 y([F)-8 b(unction])-3599 b Fg(char)54 b(**)e
+(rl_completion_matches)g Ff(\()p Fi(const)31 b(c)m(har)g(*text,)565
+5121 y(rl)p 632 5121 V 40 w(comp)s(en)m(try)p 1094 5121
+V 40 w(func)p 1304 5121 V 39 w(t)g(*en)m(try)p 1661 5121
+V 41 w(func)p Ff(\))390 5230 y Fs(Returns)37 b(an)g(arra)m(y)i(of)f
+(strings)f(whic)m(h)h(is)f(a)h(list)h(of)f(completions)g(for)g
+Fi(text)r Fs(.)64 b(If)37 b(there)h(are)g(no)390 5340
+y(completions,)f(returns)c Fr(NULL)p Fs(.)52 b(The)34
b(\014rst)f(en)m(try)i(in)f(the)h(returned)e(arra)m(y)i(is)g(the)f
-(substitution)390 1843 y(for)26 b Fi(text)p Ft(.)40 b(The)26
-b(remaining)h(en)m(tries)g(are)g(the)f(p)s(ossible)g(completions.)40
-b(The)26 b(arra)m(y)h(is)f(terminated)390 1953 y(with)k(a)h
-Fs(NULL)e Ft(p)s(oin)m(ter.)390 2082 y Fi(en)m(try)p
-603 2082 28 4 v 40 w(func)44 b Ft(is)c(a)g(function)f(of)h(t)m(w)m(o)g
-(args,)j(and)38 b(returns)h(a)g Fs(char)30 b(*)p Ft(.)67
-b(The)39 b(\014rst)g(argumen)m(t)h(is)390 2192 y Fi(text)p
-Ft(.)66 b(The)39 b(second)f(is)h(a)g(state)h(argumen)m(t;)j(it)c(is)g
-(zero)g(on)g(the)g(\014rst)f(call,)k(and)c(non-zero)h(on)390
-2301 y(subsequen)m(t)33 b(calls.)52 b Fi(en)m(try)p 1320
-2301 V 41 w(func)38 b Ft(returns)33 b(a)h Fs(NULL)f Ft(p)s(oin)m(ter)g
-(to)i(the)f(caller)h(when)e(there)h(are)g(no)390 2411
-y(more)d(matc)m(hes.)3350 2580 y([F)-8 b(unction])-3599
-b Fg(char)39 b(*)g Ff(rl)p 575 2580 35 5 v 50 w(\014lename)p
-1042 2580 V 49 w(completion)p 1641 2580 V 49 w(function)44
-b Fe(\()p Fs(const)30 b(char)f(*text,)g(int)565 2690
-y(state)p Fe(\))390 2800 y Ft(A)d(generator)h(function)e(for)g
+(substitution)p eop end
+%%Page: 43 47
+TeXDict begin 43 46 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(43)390
+299 y(for)26 b Fi(text)r Fs(.)40 b(The)26 b(remaining)g(en)m(tries)h
+(are)g(the)f(p)s(ossible)g(completions.)40 b(The)26 b(arra)m(y)g(is)g
+(terminated)390 408 y(with)k(a)h Fr(NULL)e Fs(p)s(oin)m(ter.)390
+542 y Fi(en)m(try)p 603 542 28 4 v 40 w(func)44 b Fs(is)c(a)g(function)
+f(of)h(t)m(w)m(o)g(args,)j(and)38 b(returns)h(a)g Fr(char)30
+b(*)p Fs(.)67 b(The)39 b(\014rst)g(argumen)m(t)h(is)390
+651 y Fi(text)r Fs(.)66 b(The)38 b(second)h(is)f(a)h(state)h(argumen)m
+(t;)j(it)c(is)g(zero)g(on)g(the)f(\014rst)g(call,)k(and)c(non-zero)h
+(on)390 761 y(subsequen)m(t)33 b(calls.)52 b Fi(en)m(try)p
+1320 761 V 41 w(func)38 b Fs(returns)33 b(a)h Fr(NULL)f
+Fs(p)s(oin)m(ter)g(to)i(the)f(caller)h(when)e(there)h(are)g(no)390
+870 y(more)d(matc)m(hes.)3350 1051 y([F)-8 b(unction])-3599
+b Fg(char)54 b(*)e(rl_filename_completion)q(_fu)q(nct)q(ion)g
+Ff(\()p Fi(const)31 b(c)m(har)g(*text,)h(in)m(t)565 1160
+y(state)p Ff(\))390 1270 y Fs(A)26 b(generator)h(function)e(for)g
(\014lename)h(completion)h(in)e(the)h(general)h(case.)40
-b Fi(text)28 b Ft(is)e(a)g(partial)h(\014le-)390 2909
+b Fi(text)28 b Fs(is)e(a)g(partial)h(\014le-)390 1379
y(name.)38 b(The)21 b(Bash)g(source)h(is)g(a)f(useful)g(reference)h
(for)f(writing)h(application-sp)s(eci\014c)h(completion)390
-3019 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i
-(this)e(and)g(other)g(Readline)h(functions\).)3350 3188
-y([F)-8 b(unction])-3599 b Fg(char)39 b(*)g Ff(rl)p 575
-3188 V 50 w(username)p 1102 3188 V 50 w(completion)p
-1702 3188 V 49 w(function)44 b Fe(\()p Fs(const)29 b(char)g(*text,)g
-(int)565 3298 y(state)p Fe(\))390 3407 y Ft(A)g(completion)g(generator)
-h(for)e(usernames.)40 b Fi(text)31 b Ft(con)m(tains)f(a)f(partial)g
-(username)f(preceded)g(b)m(y)390 3517 y(a)j(random)f(c)m(haracter)i
-(\(usually)e(`)p Fs(~)p Ft('\).)42 b(As)31 b(with)f(all)h(completion)h
-(generators,)g Fi(state)37 b Ft(is)31 b(zero)g(on)390
-3626 y(the)g(\014rst)e(call)j(and)e(non-zero)h(for)f(subsequen)m(t)f
-(calls.)150 3836 y Fh(2.6.3)63 b(Completion)41 b(V)-10
-b(ariables)3371 4075 y Ft([V)i(ariable])-3598 b Fg(rl_compentry_func_t)
-44 b(*)38 b Ff(rl)p 1359 4075 V 51 w(completion)p 1960
-4075 V 49 w(en)m(try)p 2275 4075 V 50 w(function)390
-4184 y Ft(A)c(p)s(oin)m(ter)f(to)h(the)g(generator)h(function)e(for)g
-Fs(rl_completion_matches\(\))p Ft(.)44 b Fs(NULL)32 b
-Ft(means)h(to)390 4294 y(use)d Fs(rl_filename_completion_fu)o(nct)o
-(ion\()o(\))p Ft(,)25 b(the)30 b(default)h(\014lename)f(completer.)3371
-4463 y([V)-8 b(ariable])-3598 b Fg(rl_completion_func_t)44
-b(*)39 b Ff(rl)p 1412 4463 V 50 w(attempted)p 1982 4463
-V 48 w(completion)p 2580 4463 V 49 w(function)390 4573
-y Ft(A)c(p)s(oin)m(ter)g(to)g(an)g(alternativ)m(e)i(function)d(to)i
-(create)g(matc)m(hes.)55 b(The)34 b(function)h(is)f(called)i(with)390
-4682 y Fi(text)p Ft(,)26 b Fi(start)p Ft(,)f(and)d Fi(end)p
-Ft(.)38 b Fi(start)25 b Ft(and)e Fi(end)j Ft(are)d(indices)g(in)g
-Fs(rl_line_buffer)c Ft(de\014ning)j(the)h(b)s(ound-)390
-4792 y(aries)j(of)h Fi(text)p Ft(,)h(whic)m(h)d(is)h(a)h(c)m(haracter)g
-(string.)39 b(If)26 b(this)g(function)f(exists)i(and)e(returns)g
-Fs(NULL)p Ft(,)h(or)g(if)390 4902 y(this)c(v)-5 b(ariable)22
-b(is)g(set)h(to)f Fs(NULL)p Ft(,)h(then)f Fs(rl_complete\(\))c
-Ft(will)k(call)h(the)f(v)-5 b(alue)23 b(of)f Fs(rl_completion_)390
-5011 y(entry_function)i Ft(to)30 b(generate)f(matc)m(hes,)i(otherwise)d
-(the)h(arra)m(y)g(of)f(strings)h(returned)e(will)i(b)s(e)390
-5121 y(used.)37 b(If)22 b(this)g(function)g(sets)h(the)g
-Fs(rl_attempted_completion)o(_ove)o(r)16 b Ft(v)-5 b(ariable)24
-b(to)f(a)f(non-zero)390 5230 y(v)-5 b(alue,)35 b(Readline)g(will)f(not)
-g(p)s(erform)f(its)h(default)g(completion)h(ev)m(en)g(if)f(this)g
-(function)f(returns)390 5340 y(no)d(matc)m(hes.)p eop
-end
-%%Page: 44 48
-TeXDict begin 44 47 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(44)3371
-299 y([V)-8 b(ariable])-3598 b Fg(rl_quote_func_t)43
-b(*)38 b Ff(rl)p 1150 299 35 5 v 51 w(\014lename)p 1618
-299 V 48 w(quoting)p 2045 299 V 51 w(function)390 408
-y Ft(A)33 b(p)s(oin)m(ter)f(to)h(a)g(function)g(that)g(will)g(quote)g
+1489 y(functions)30 b(\(the)h(Bash)f(completion)i(functions)e(call)i
+(this)e(and)g(other)g(Readline)h(functions\).)3350 1669
+y([F)-8 b(unction])-3599 b Fg(char)54 b(*)e(rl_username_completion)q
+(_fu)q(nct)q(ion)g Ff(\()p Fi(const)31 b(c)m(har)g(*text,)h(in)m(t)565
+1779 y(state)p Ff(\))390 1888 y Fs(A)d(completion)g(generator)h(for)e
+(usernames.)40 b Fi(text)31 b Fs(con)m(tains)f(a)f(partial)g(username)f
+(preceded)g(b)m(y)390 1998 y(a)j(random)f(c)m(haracter)i(\(usually)e(`)
+p Fr(~)p Fs('\).)42 b(As)31 b(with)f(all)h(completion)h(generators,)g
+Fi(state)37 b Fs(is)31 b(zero)g(on)390 2107 y(the)g(\014rst)e(call)j
+(and)e(non-zero)h(for)f(subsequen)m(t)f(calls.)150 2304
+y Fh(2.6.3)63 b(Completion)41 b(V)-10 b(ariables)3371
+2498 y Fs([V)i(ariable])-3598 b Fg(rl_compentry_func_t)58
+b(*)53 b(rl_completion_entry_fun)q(cti)q(on)390 2608
+y Fs(A)34 b(p)s(oin)m(ter)f(to)h(the)g(generator)h(function)e(for)g
+Fr(rl_completion_matches\(\))p Fs(.)44 b Fr(NULL)32 b
+Fs(means)h(to)390 2717 y(use)d Fr(rl_filename_completion_fu)o(nct)o
+(ion\()o(\))p Fs(,)25 b(the)30 b(default)h(\014lename)f(completer.)3371
+2897 y([V)-8 b(ariable])-3598 b Fg(rl_completion_func_t)58
+b(*)53 b(rl_attempted_completio)q(n_f)q(unct)q(ion)390
+3007 y Fs(A)35 b(p)s(oin)m(ter)g(to)g(an)g(alternativ)m(e)i(function)d
+(to)i(create)g(matc)m(hes.)55 b(The)34 b(function)h(is)f(called)i(with)
+390 3117 y Fi(text)r Fs(,)50 b Fi(start)r Fs(,)g(and)44
+b Fi(end)t Fs(.)84 b Fi(start)48 b Fs(and)d Fi(end)j
+Fs(are)d(indices)g(in)g Fr(rl_line_buffer)d Fs(de\014ning)i(the)390
+3226 y(b)s(oundaries)37 b(of)i Fi(text)r Fs(,)i(whic)m(h)d(is)h(a)g(c)m
+(haracter)h(string.)65 b(If)38 b(this)g(function)g(exists)h(and)f
+(returns)390 3336 y Fr(NULL)p Fs(,)j(or)f(if)g(this)g(v)-5
+b(ariable)41 b(is)f(set)g(to)h Fr(NULL)p Fs(,)h(then)d
+Fr(rl_complete\(\))e Fs(will)j(call)h(the)f(v)-5 b(alue)41
+b(of)390 3445 y Fr(rl_completion_entry_func)o(tion)20
+b Fs(to)28 b(generate)h(matc)m(hes,)g(otherwise)f(the)f(arra)m(y)h(of)f
+(strings)390 3555 y(returned)44 b(will)h(b)s(e)f(used.)82
+b(If)45 b(this)f(function)h(sets)g(the)g Fr(rl_attempted_completion)o
+(_ove)o(r)390 3665 y Fs(v)-5 b(ariable)31 b(to)f(a)h(non-zero)f(v)-5
+b(alue,)31 b(Readline)f(will)g(not)g(p)s(erform)f(its)h(default)g
+(completion)h(ev)m(en)g(if)390 3774 y(this)f(function)g(returns)f(no)i
+(matc)m(hes.)3371 3954 y([V)-8 b(ariable])-3598 b Fg(rl_quote_func_t)57
+b(*)52 b(rl_filename_quoting_)q(func)q(tio)q(n)390 4064
+y Fs(A)33 b(p)s(oin)m(ter)f(to)h(a)g(function)g(that)g(will)g(quote)g
(a)g(\014lename)f(in)h(an)f(application-sp)s(eci\014c)i(fashion.)390
-518 y(This)k(is)i(called)g(if)f(\014lename)h(completion)g(is)f(b)s
+4173 y(This)k(is)i(called)g(if)f(\014lename)h(completion)g(is)f(b)s
(eing)g(attempted)i(and)d(one)i(of)f(the)g(c)m(haracters)390
-628 y(in)33 b Fs(rl_filename_quote_charac)o(ter)o(s)27
-b Ft(app)s(ears)33 b(in)g(a)g(completed)h(\014lename.)50
-b(The)32 b(function)390 737 y(is)37 b(called)h(with)e
-Fi(text)p Ft(,)k Fi(matc)m(h)p 1438 737 28 4 v 41 w(t)m(yp)s(e)p
-Ft(,)f(and)d Fi(quote)p 2119 737 V 41 w(p)s(oin)m(ter)p
-Ft(.)60 b(The)36 b Fi(text)k Ft(is)d(the)g(\014lename)g(to)h(b)s(e)390
-847 y(quoted.)76 b(The)42 b Fi(matc)m(h)p 1210 847 V
-41 w(t)m(yp)s(e)48 b Ft(is)42 b(either)h Fs(SINGLE_MATCH)p
-Ft(,)f(if)g(there)g(is)h(only)f(one)h(completion)390
-956 y(matc)m(h,)33 b(or)e Fs(MULT_MATCH)p Ft(.)41 b(Some)31
+4283 y(in)33 b Fr(rl_filename_quote_charac)o(ter)o(s)27
+b Fs(app)s(ears)33 b(in)g(a)g(completed)h(\014lename.)50
+b(The)32 b(function)390 4393 y(is)k(called)h(with)f Fi(text)r
+Fs(,)i Fi(matc)m(h)p 1436 4393 V 41 w(t)m(yp)s(e)5 b
+Fs(,)38 b(and)e Fi(quote)p 2121 4393 V 40 w(p)s(oin)m(ter)7
+b Fs(.)57 b(The)36 b Fi(text)j Fs(is)d(the)g(\014lename)g(to)h(b)s(e)
+390 4502 y(quoted.)76 b(The)42 b Fi(matc)m(h)p 1210 4502
+V 41 w(t)m(yp)s(e)48 b Fs(is)42 b(either)h Fr(SINGLE_MATCH)p
+Fs(,)f(if)g(there)g(is)h(only)f(one)h(completion)390
+4612 y(matc)m(h,)33 b(or)e Fr(MULT_MATCH)p Fs(.)41 b(Some)31
b(functions)g(use)g(this)h(to)g(decide)f(whether)g(or)h(not)f(to)h
-(insert)g(a)390 1066 y(closing)22 b(quote)f(c)m(haracter.)40
-b(The)20 b Fi(quote)p 1751 1066 V 41 w(p)s(oin)m(ter)27
-b Ft(is)21 b(a)g(p)s(oin)m(ter)g(to)g(an)m(y)h(op)s(ening)e(quote)h(c)m
-(haracter)390 1176 y(the)31 b(user)e(t)m(yp)s(ed.)41
+(insert)g(a)390 4721 y(closing)22 b(quote)f(c)m(haracter.)40
+b(The)20 b Fi(quote)p 1751 4721 V 41 w(p)s(oin)m(ter)27
+b Fs(is)21 b(a)g(p)s(oin)m(ter)g(to)g(an)m(y)h(op)s(ening)e(quote)h(c)m
+(haracter)390 4831 y(the)31 b(user)e(t)m(yp)s(ed.)41
b(Some)30 b(functions)g(c)m(ho)s(ose)h(to)g(reset)g(this)g(c)m
-(haracter.)3371 1351 y([V)-8 b(ariable])-3598 b Fg(rl_dequote_func_t)43
-b(*)c Ff(rl)p 1255 1351 35 5 v 50 w(\014lename)p 1722
-1351 V 49 w(dequoting)p 2267 1351 V 49 w(function)390
-1461 y Ft(A)30 b(p)s(oin)m(ter)f(to)i(a)f(function)f(that)h(will)g
-(remo)m(v)m(e)h(application-sp)s(eci\014c)g(quoting)f(c)m(haracters)h
-(from)390 1570 y(a)i(\014lename)g(b)s(efore)f(completion)h(is)g
-(attempted,)h(so)f(those)g(c)m(haracters)h(do)e(not)h(in)m(terfere)g
-(with)390 1680 y(matc)m(hing)39 b(the)f(text)i(against)f(names)f(in)g
-(the)g(\014lesystem.)64 b(It)38 b(is)g(called)i(with)d
-Fi(text)p Ft(,)42 b(the)c(text)390 1789 y(of)k(the)h(w)m(ord)f(to)g(b)s
-(e)g(dequoted,)j(and)d Fi(quote)p 2014 1789 28 4 v 41
-w(c)m(har)p Ft(,)j(whic)m(h)d(is)h(the)f(quoting)h(c)m(haracter)g(that)
-390 1899 y(delimits)33 b(the)f(\014lename)g(\(usually)h(`)p
-Fs(')p Ft(')f(or)g(`)p Fs(")p Ft('\).)46 b(If)32 b Fi(quote)p
-2368 1899 V 41 w(c)m(har)39 b Ft(is)32 b(zero,)i(the)e(\014lename)g(w)m
-(as)h(not)390 2008 y(in)d(an)g(em)m(b)s(edded)g(string.)3371
-2184 y([V)-8 b(ariable])-3598 b Fg(rl_linebuf_func_t)43
-b(*)c Ff(rl)p 1255 2184 35 5 v 50 w(c)m(har)p 1520 2184
-V 50 w(is)p 1647 2184 V 50 w(quoted)p 2040 2184 V 50
-w(p)390 2293 y Ft(A)e(p)s(oin)m(ter)g(to)g(a)g(function)g(to)g(call)h
+(haracter.)3371 5011 y([V)-8 b(ariable])-3598 b Fg(rl_dequote_func_t)57
+b(*)c(rl_filename_dequoting_)q(fun)q(cti)q(on)390 5121
+y Fs(A)30 b(p)s(oin)m(ter)f(to)i(a)f(function)f(that)h(will)g(remo)m(v)
+m(e)h(application-sp)s(eci\014c)g(quoting)f(c)m(haracters)h(from)390
+5230 y(a)i(\014lename)g(b)s(efore)f(completion)h(is)g(attempted,)h(so)f
+(those)g(c)m(haracters)h(do)e(not)h(in)m(terfere)g(with)390
+5340 y(matc)m(hing)39 b(the)f(text)h(against)g(names)f(in)g(the)g
+(\014lesystem.)64 b(It)38 b(is)g(called)h(with)f Fi(text)r
+Fs(,)j(the)d(text)p eop end
+%%Page: 44 48
+TeXDict begin 44 47 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(44)390
+299 y(of)42 b(the)g(w)m(ord)f(to)i(b)s(e)e(dequoted,)j(and)d
+Fi(quote)p 2010 299 28 4 v 41 w(c)m(har)7 b Fs(,)45 b(whic)m(h)c(is)h
+(the)g(quoting)g(c)m(haracter)h(that)390 408 y(delimits)33
+b(the)f(\014lename)g(\(usually)h(`)p Fr(')p Fs(')f(or)g(`)p
+Fr(")p Fs('\).)46 b(If)32 b Fi(quote)p 2368 408 V 41
+w(c)m(har)39 b Fs(is)32 b(zero,)i(the)e(\014lename)g(w)m(as)h(not)390
+518 y(in)d(an)g(em)m(b)s(edded)g(string.)3371 693 y([V)-8
+b(ariable])-3598 b Fg(rl_linebuf_func_t)57 b(*)c(rl_char_is_quoted_p)
+390 803 y Fs(A)37 b(p)s(oin)m(ter)g(to)g(a)g(function)g(to)g(call)h
(that)g(determines)f(whether)f(or)h(not)g(a)g(sp)s(eci\014c)f(c)m
-(haracter)390 2403 y(in)e(the)h(line)f(bu\013er)g(is)g(quoted,)i
+(haracter)390 913 y(in)e(the)h(line)f(bu\013er)g(is)g(quoted,)i
(according)g(to)f(whatev)m(er)g(quoting)g(mec)m(hanism)g(the)f(program)
-390 2513 y(calling)26 b(Readline)g(uses.)38 b(The)24
-b(function)h(is)g(called)h(with)e(t)m(w)m(o)i(argumen)m(ts:)39
-b Fi(text)p Ft(,)27 b(the)e(text)h(of)f(the)390 2622
-y(line,)31 b(and)g Fi(index)p Ft(,)f(the)h(index)f(of)h(the)g(c)m
-(haracter)i(in)d(the)h(line.)42 b(It)31 b(is)g(used)f(to)h(decide)g
-(whether)g(a)390 2732 y(c)m(haracter)h(found)d(in)g Fs
-(rl_completer_word_break_ch)o(ara)o(cter)o(s)24 b Ft(should)29
-b(b)s(e)h(used)f(to)i(break)390 2841 y(w)m(ords)f(for)g(the)h
-(completer.)3371 3017 y([V)-8 b(ariable])-3598 b Fg
-(rl_compignore_func_t)44 b(*)39 b Ff(rl)p 1412 3017 V
-50 w(ignore)p 1772 3017 V 50 w(some)p 2072 3017 V 51
-w(completions)p 2718 3017 V 50 w(function)390 3126 y
-Ft(This)e(function,)i(if)f(de\014ned,)g(is)g(called)h(b)m(y)e(the)h
-(completer)h(when)e(real)h(\014lename)g(completion)390
-3236 y(is)c(done,)h(after)f(all)h(the)g(matc)m(hing)g(names)e(ha)m(v)m
-(e)j(b)s(een)d(generated.)53 b(It)34 b(is)g(passed)f(a)i
-Fs(NULL)d Ft(ter-)390 3345 y(minated)f(arra)m(y)g(of)g(matc)m(hes.)43
-b(The)31 b(\014rst)f(elemen)m(t)i(\()p Fs(matches[0])p
-Ft(\))d(is)h(the)h(maximal)h(substring)390 3455 y(common)d(to)g(all)h
-(matc)m(hes.)41 b(This)28 b(function)h(can)g(re-arrange)g(the)g(list)h
-(of)f(matc)m(hes)g(as)g(required,)390 3565 y(but)h(eac)m(h)h(elemen)m
-(t)h(deleted)f(from)f(the)h(arra)m(y)g(m)m(ust)f(b)s(e)g(freed.)3371
-3740 y([V)-8 b(ariable])-3598 b Fg(rl_icppfunc_t)42 b(*)d
-Ff(rl)p 1046 3740 V 50 w(directory)p 1552 3740 V 50 w(completion)p
-2152 3740 V 49 w(ho)s(ok)390 3850 y Ft(This)44 b(function,)49
-b(if)d(de\014ned,)i(is)d(allo)m(w)m(ed)i(to)f(mo)s(dify)e(the)i
-(directory)g(p)s(ortion)e(of)i(\014lenames)390 3959 y(Readline)37
-b(completes.)61 b(It)36 b(is)h(called)g(with)g(the)f(address)g(of)h(a)g
-(string)f(\(the)h(curren)m(t)f(directory)390 4069 y(name\))i(as)f(an)g
-(argumen)m(t,)i(and)e(ma)m(y)h(mo)s(dify)e(that)i(string.)60
-b(If)37 b(the)g(string)h(is)f(replaced)g(with)390 4178
-y(a)j(new)g(string,)i(the)e(old)g(v)-5 b(alue)41 b(should)e(b)s(e)g
-(freed.)69 b(An)m(y)40 b(mo)s(di\014ed)f(directory)h(name)g(should)390
-4288 y(ha)m(v)m(e)30 b(a)g(trailing)g(slash.)40 b(The)29
-b(mo)s(di\014ed)f(v)-5 b(alue)30 b(will)f(b)s(e)g(displa)m(y)m(ed)g(as)
-h(part)f(of)g(the)g(completion,)390 4398 y(replacing)g(the)f(directory)
-h(p)s(ortion)f(of)g(the)h(pathname)f(the)g(user)g(t)m(yp)s(ed.)39
-b(It)28 b(returns)f(an)i(in)m(teger)390 4507 y(that)34
-b(should)e(b)s(e)g(non-zero)i(if)e(the)i(function)e(mo)s(di\014es)h
-(its)g(directory)g(argumen)m(t.)49 b(It)34 b(could)f(b)s(e)390
-4617 y(used)g(to)h(expand)f(sym)m(b)s(olic)h(links)f(or)g(shell)h(v)-5
-b(ariables)34 b(in)f(pathnames.)50 b(A)m(t)34 b(the)g(least,)i(ev)m(en)
-e(if)390 4726 y(no)i(other)h(expansion)f(is)g(p)s(erformed,)g(this)g
-(function)g(should)f(remo)m(v)m(e)j(an)m(y)f(quote)f(c)m(haracters)390
-4836 y(from)30 b(the)g(directory)h(name,)g(b)s(ecause)f(its)h(result)f
-(will)h(b)s(e)f(passed)g(directly)h(to)g Fs(opendir\(\))p
-Ft(.)3371 5011 y([V)-8 b(ariable])-3598 b Fg(rl_compdisp_func_t)44
-b(*)38 b Ff(rl)p 1307 5011 V 51 w(completion)p 1908 5011
-V 49 w(displa)m(y)p 2307 5011 V 49 w(matc)m(hes)p 2762
-5011 V 50 w(ho)s(ok)390 5121 y Ft(If)22 b(non-zero,)i(then)e(this)g(is)
-g(the)g(address)f(of)h(a)g(function)g(to)h(call)g(when)e(completing)i
-(a)g(w)m(ord)e(w)m(ould)390 5230 y(normally)h(displa)m(y)h(the)f(list)h
-(of)f(p)s(ossible)g(matc)m(hes.)39 b(This)21 b(function)h(is)g(called)i
-(in)e(lieu)g(of)g(Readline)390 5340 y(displa)m(ying)37
-b(the)h(list.)61 b(It)37 b(tak)m(es)i(three)e(argumen)m(ts:)54
-b(\()p Fs(char)30 b(**)p Fi(matc)m(hes)p Ft(,)39 b Fs(int)d
-Fi(n)m(um)p 3370 5340 28 4 v 40 w(matc)m(hes)p Ft(,)p
+390 1022 y(calling)26 b(Readline)f(uses.)39 b(The)24
+b(function)g(is)h(called)h(with)e(t)m(w)m(o)i(argumen)m(ts:)38
+b Fi(text)r Fs(,)27 b(the)e(text)h(of)f(the)390 1132
+y(line,)31 b(and)f Fi(index)6 b Fs(,)30 b(the)h(index)f(of)h(the)f(c)m
+(haracter)i(in)e(the)h(line.)41 b(It)31 b(is)f(used)g(to)h(decide)g
+(whether)f(a)390 1241 y(c)m(haracter)i(found)d(in)g Fr
+(rl_completer_word_break_ch)o(ara)o(cter)o(s)24 b Fs(should)29
+b(b)s(e)h(used)f(to)i(break)390 1351 y(w)m(ords)f(for)g(the)h
+(completer.)3371 1526 y([V)-8 b(ariable])-3598 b Fg
+(rl_compignore_func_t)58 b(*)53 b(rl_ignore_some_complet)q(ion)q(s_fu)q
+(nct)q(ion)390 1636 y Fs(This)37 b(function,)i(if)f(de\014ned,)g(is)g
+(called)h(b)m(y)e(the)h(completer)h(when)e(real)h(\014lename)g
+(completion)390 1745 y(is)c(done,)h(after)f(all)h(the)g(matc)m(hing)g
+(names)e(ha)m(v)m(e)j(b)s(een)d(generated.)53 b(It)34
+b(is)g(passed)f(a)i Fr(NULL)d Fs(ter-)390 1855 y(minated)f(arra)m(y)g
+(of)g(matc)m(hes.)43 b(The)31 b(\014rst)f(elemen)m(t)i(\()p
+Fr(matches[0])p Fs(\))d(is)h(the)h(maximal)h(substring)390
+1965 y(common)d(to)g(all)h(matc)m(hes.)41 b(This)28 b(function)h(can)g
+(re-arrange)g(the)g(list)h(of)f(matc)m(hes)g(as)g(required,)390
+2074 y(but)h(eac)m(h)h(elemen)m(t)h(deleted)f(from)f(the)h(arra)m(y)g
+(m)m(ust)f(b)s(e)g(freed.)3371 2250 y([V)-8 b(ariable])-3598
+b Fg(rl_icppfunc_t)56 b(*)d(rl_directory_completio)q(n_ho)q(ok)390
+2359 y Fs(This)44 b(function,)49 b(if)d(de\014ned,)i(is)d(allo)m(w)m
+(ed)i(to)f(mo)s(dify)e(the)i(directory)g(p)s(ortion)e(of)i(\014lenames)
+390 2469 y(Readline)37 b(completes.)61 b(It)36 b(is)h(called)g(with)g
+(the)f(address)g(of)h(a)g(string)f(\(the)h(curren)m(t)f(directory)390
+2578 y(name\))i(as)f(an)g(argumen)m(t,)i(and)e(ma)m(y)h(mo)s(dify)e
+(that)i(string.)60 b(If)37 b(the)g(string)h(is)f(replaced)g(with)390
+2688 y(a)j(new)g(string,)i(the)e(old)g(v)-5 b(alue)41
+b(should)e(b)s(e)g(freed.)69 b(An)m(y)40 b(mo)s(di\014ed)f(directory)h
+(name)g(should)390 2798 y(ha)m(v)m(e)30 b(a)g(trailing)g(slash.)40
+b(The)29 b(mo)s(di\014ed)f(v)-5 b(alue)30 b(will)f(b)s(e)g(displa)m(y)m
+(ed)g(as)h(part)f(of)g(the)g(completion,)390 2907 y(replacing)g(the)f
+(directory)h(p)s(ortion)f(of)g(the)h(pathname)f(the)g(user)g(t)m(yp)s
+(ed.)39 b(It)28 b(returns)f(an)i(in)m(teger)390 3017
+y(that)34 b(should)e(b)s(e)g(non-zero)i(if)e(the)i(function)e(mo)s
+(di\014es)h(its)g(directory)g(argumen)m(t.)49 b(It)34
+b(could)f(b)s(e)390 3126 y(used)g(to)h(expand)f(sym)m(b)s(olic)h(links)
+f(or)g(shell)h(v)-5 b(ariables)34 b(in)f(pathnames.)50
+b(A)m(t)34 b(the)g(least,)i(ev)m(en)e(if)390 3236 y(no)i(other)h
+(expansion)f(is)g(p)s(erformed,)g(this)g(function)g(should)f(remo)m(v)m
+(e)j(an)m(y)f(quote)f(c)m(haracters)390 3345 y(from)30
+b(the)g(directory)h(name,)g(b)s(ecause)f(its)h(result)f(will)h(b)s(e)f
+(passed)g(directly)h(to)g Fr(opendir\(\))p Fs(.)3371
+3521 y([V)-8 b(ariable])-3598 b Fg(rl_dequote_func_t)57
+b(*)c(rl_filename_rewrite_ho)q(ok)390 3630 y Fs(If)23
+b(non-zero,)j(this)e(is)g(the)g(address)e(of)i(a)h(function)e(called)i
+(when)e(reading)h(directory)g(en)m(tries)g(from)390 3740
+y(the)d(\014lesystem)g(for)g(completion)i(and)d(comparing)h(them)g(to)h
+(the)f(partial)h(w)m(ord)f(to)g(b)s(e)g(completed.)390
+3850 y(The)g(function)g(should)f(p)s(erform)g(an)m(y)h(necesary)h
+(application)h(or)e(system-sp)s(eci\014c)g(con)m(v)m(ersion)i(on)390
+3959 y(the)f(\014lename,)j(suc)m(h)d(as)g(con)m(v)m(erting)i(b)s(et)m
+(w)m(een)f(c)m(haracter)h(sets)e(or)g(con)m(v)m(erting)i(from)e(a)h
+(\014lesystem)390 4069 y(format)34 b(to)h(a)f(c)m(haracter)i(input)d
+(format.)52 b(The)33 b(function)h(tak)m(es)h(t)m(w)m(o)h(argumen)m(ts:)
+48 b Fi(fname)5 b Fs(,)35 b(the)390 4178 y(\014lename)29
+b(to)g(b)s(e)f(con)m(v)m(erted,)j(and)d Fi(fnlen)p Fs(,)g(its)h(length)
+g(in)f(b)m(ytes.)41 b(It)29 b(m)m(ust)f(either)h(return)f(its)h
+(\014rst)390 4288 y(argumen)m(t)i(\(if)g(no)g(con)m(v)m(ersion)h(tak)m
+(es)g(place\))g(or)f(the)g(con)m(v)m(erted)h(\014lename)f(in)g
+(newly-allo)s(cated)390 4398 y(memory)-8 b(.)48 b(The)32
+b(con)m(v)m(erted)i(form)e(is)h(used)f(to)h(compare)g(against)h(the)f
+(w)m(ord)f(to)i(b)s(e)e(completed,)390 4507 y(and,)37
+b(if)g(it)g(matc)m(hes,)i(is)d(added)g(to)h(the)f(list)h(of)g(matc)m
+(hes.)59 b(Readline)37 b(will)g(free)f(the)h(allo)s(cated)390
+4617 y(string.)3371 4792 y([V)-8 b(ariable])-3598 b Fg
+(rl_compdisp_func_t)58 b(*)52 b(rl_completion_display)q(_ma)q(tch)q
+(es_h)q(ook)390 4902 y Fs(If)22 b(non-zero,)i(then)e(this)g(is)g(the)g
+(address)f(of)h(a)g(function)g(to)h(call)g(when)e(completing)i(a)g(w)m
+(ord)e(w)m(ould)390 5011 y(normally)h(displa)m(y)h(the)f(list)h(of)f(p)
+s(ossible)g(matc)m(hes.)39 b(This)21 b(function)h(is)g(called)i(in)e
+(lieu)g(of)g(Readline)390 5121 y(displa)m(ying)37 b(the)f(list.)60
+b(It)36 b(tak)m(es)i(three)f(argumen)m(ts:)53 b(\()p
+Fr(char)30 b(**)p Fi(matc)m(hes)t Fs(,)38 b Fr(int)e
+Fi(n)m(um)p 3367 5121 V 39 w(matc)m(hes)t Fs(,)390 5230
+y Fr(int)26 b Fi(max)p 735 5230 V 40 w(length)p Fs(\))h(where)f
+Fi(matc)m(hes)31 b Fs(is)c(the)f(arra)m(y)h(of)g(matc)m(hing)g
+(strings,)h Fi(n)m(um)p 3152 5230 V 39 w(matc)m(hes)j
+Fs(is)c(the)390 5340 y(n)m(um)m(b)s(er)h(of)h(strings)g(in)g(that)g
+(arra)m(y)-8 b(,)31 b(and)d Fi(max)p 2020 5340 V 40 w(length)i
+Fs(is)f(the)g(length)h(of)f(the)g(longest)h(string)f(in)p
eop end
%%Page: 45 49
-TeXDict begin 45 48 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 45 48 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(45)390
-299 y Fs(int)26 b Fi(max)p 735 299 28 4 v 40 w(length)p
-Ft(\))h(where)f Fi(matc)m(hes)31 b Ft(is)c(the)f(arra)m(y)h(of)g(matc)m
-(hing)g(strings,)h Fi(n)m(um)p 3152 299 V 39 w(matc)m(hes)j
-Ft(is)c(the)390 408 y(n)m(um)m(b)s(er)h(of)h(strings)g(in)g(that)g
-(arra)m(y)-8 b(,)31 b(and)d Fi(max)p 2020 408 V 40 w(length)i
-Ft(is)f(the)g(length)h(of)f(the)g(longest)h(string)f(in)390
-518 y(that)g(arra)m(y)-8 b(.)41 b(Readline)28 b(pro)m(vides)g(a)h(con)m
-(v)m(enience)h(function,)e Fs(rl_display_match_list)p
-Ft(,)23 b(that)390 628 y(tak)m(es)36 b(care)g(of)f(doing)g(the)g
+299 y(that)29 b(arra)m(y)-8 b(.)41 b(Readline)28 b(pro)m(vides)g(a)h
+(con)m(v)m(enience)h(function,)e Fr(rl_display_match_list)p
+Fs(,)23 b(that)390 408 y(tak)m(es)36 b(care)g(of)f(doing)g(the)g
(displa)m(y)f(to)i(Readline's)f(output)g(stream.)54 b(That)35
-b(function)f(ma)m(y)i(b)s(e)390 737 y(called)c(from)d(this)i(ho)s(ok.)
-3371 920 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
-Ff(rl)p 875 920 35 5 v 50 w(basic)p 1173 920 V 50 w(w)m(ord)p
-1471 920 V 50 w(break)p 1801 920 V 50 w(c)m(haracters)390
-1029 y Ft(The)44 b(basic)g(list)h(of)f(c)m(haracters)i(that)f(signal)g
-(a)f(break)g(b)s(et)m(w)m(een)h(w)m(ords)f(for)g(the)g(completer)390
-1139 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37
+b(function)f(ma)m(y)i(b)s(e)390 518 y(called)c(from)d(this)i(ho)s(ok.)
+3371 689 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g
+(rl_basic_word_break_ch)q(ara)q(cter)q(s)390 798 y Fs(The)44
+b(basic)g(list)h(of)f(c)m(haracters)i(that)f(signal)g(a)f(break)g(b)s
+(et)m(w)m(een)h(w)m(ords)f(for)g(the)g(completer)390
+908 y(routine.)61 b(The)37 b(default)g(v)-5 b(alue)37
b(of)h(this)f(v)-5 b(ariable)38 b(is)f(the)g(c)m(haracters)i(whic)m(h)e
-(break)g(w)m(ords)f(for)390 1249 y(completion)c(in)e(Bash:)41
-b Fs(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Ft(.)3371 1431
-y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g Ff(rl)p
-875 1431 V 50 w(basic)p 1173 1431 V 50 w(quote)p 1502
-1431 V 50 w(c)m(haracters)390 1541 y Ft(A)30 b(list)i(of)e(quote)h(c)m
-(haracters)h(whic)m(h)e(can)h(cause)g(a)f(w)m(ord)g(break.)3371
-1724 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
-Ff(rl)p 875 1724 V 50 w(completer)p 1422 1724 V 49 w(w)m(ord)p
-1719 1724 V 50 w(break)p 2049 1724 V 50 w(c)m(haracters)390
-1833 y Ft(The)64 b(list)i(of)f(c)m(haracters)h(that)g(signal)g(a)f
-(break)g(b)s(et)m(w)m(een)g(w)m(ords)g(for)f Fs(rl_complete_)390
-1943 y(internal\(\))p Ft(.)38 b(The)30 b(default)g(list)h(is)g(the)f(v)
--5 b(alue)31 b(of)g Fs(rl_basic_word_break_cha)o(ract)o(ers)p
-Ft(.)3371 2125 y([V)-8 b(ariable])-3598 b Fg(rl_cpvfunc_t)42
-b(*)c Ff(rl)p 993 2125 V 51 w(completion)p 1594 2125
-V 49 w(w)m(ord)p 1891 2125 V 50 w(break)p 2221 2125 V
-50 w(ho)s(ok)390 2235 y Ft(If)31 b(non-zero,)i(this)e(is)h(the)f
-(address)g(of)g(a)h(function)g(to)g(call)h(when)d(Readline)i(is)g
-(deciding)f(where)390 2345 y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g
-(completion.)54 b(It)34 b(should)f(return)g(a)i(c)m(haracter)h(string)e
-(lik)m(e)i Fs(rl_)390 2454 y(completer_word_break_cha)o(ract)o(ers)26
-b Ft(to)34 b(b)s(e)e(used)g(to)i(p)s(erform)e(the)h(curren)m(t)f
-(completion.)390 2564 y(The)24 b(function)h(ma)m(y)g(c)m(ho)s(ose)h(to)
-f(set)g Fs(rl_completer_word_break_ch)o(arac)o(ter)o(s)19
-b Ft(itself.)39 b(If)25 b(the)390 2673 y(function)30
-b(returns)f Fs(NULL)p Ft(,)h Fs(rl_completer_word_break)o(_cha)o(rac)o
-(ters)24 b Ft(is)30 b(used.)3371 2856 y([V)-8 b(ariable])-3598
-b Fg(const)40 b(char)f(*)g Ff(rl)p 875 2856 V 50 w(completer)p
-1422 2856 V 49 w(quote)p 1750 2856 V 50 w(c)m(haracters)390
-2966 y Ft(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g
+(break)g(w)m(ords)f(for)390 1017 y(completion)c(in)e(Bash:)41
+b Fr(")30 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Fs(.)3371 1188
+y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g
+(rl_basic_quote_charact)q(ers)390 1297 y Fs(A)30 b(list)i(of)e(quote)h
+(c)m(haracters)h(whic)m(h)e(can)h(cause)g(a)f(w)m(ord)g(break.)3371
+1468 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g
+(rl_completer_word_brea)q(k_c)q(hara)q(cte)q(rs)390 1577
+y Fs(The)64 b(list)i(of)f(c)m(haracters)h(that)g(signal)g(a)f(break)g
+(b)s(et)m(w)m(een)g(w)m(ords)g(for)f Fr(rl_complete_)390
+1687 y(internal\(\))p Fs(.)38 b(The)30 b(default)g(list)h(is)g(the)f(v)
+-5 b(alue)31 b(of)g Fr(rl_basic_word_break_cha)o(ract)o(ers)p
+Fs(.)3371 1857 y([V)-8 b(ariable])-3598 b Fg(rl_cpvfunc_t)56
+b(*)d(rl_completion_word_brea)q(k_ho)q(ok)390 1967 y
+Fs(If)31 b(non-zero,)i(this)e(is)h(the)f(address)g(of)g(a)h(function)g
+(to)g(call)h(when)d(Readline)i(is)g(deciding)f(where)390
+2077 y(to)k(separate)g(w)m(ords)f(for)g(w)m(ord)g(completion.)54
+b(It)34 b(should)f(return)g(a)i(c)m(haracter)h(string)e(lik)m(e)i
+Fr(rl_)390 2186 y(completer_word_break_cha)o(ract)o(ers)26
+b Fs(to)34 b(b)s(e)e(used)g(to)i(p)s(erform)e(the)h(curren)m(t)f
+(completion.)390 2296 y(The)24 b(function)h(ma)m(y)g(c)m(ho)s(ose)h(to)
+f(set)g Fr(rl_completer_word_break_ch)o(arac)o(ter)o(s)19
+b Fs(itself.)39 b(If)25 b(the)390 2405 y(function)30
+b(returns)f Fr(NULL)p Fs(,)h Fr(rl_completer_word_break)o(_cha)o(rac)o
+(ters)24 b Fs(is)30 b(used.)3371 2576 y([V)-8 b(ariable])-3598
+b Fg(const)54 b(char)f(*)g(rl_completer_quote_cha)q(rac)q(ters)390
+2685 y Fs(A)34 b(list)g(of)g(c)m(haracters)h(whic)m(h)e(can)h(b)s(e)g
(used)e(to)j(quote)f(a)g(substring)f(of)h(the)f(line.)51
-b(Completion)390 3075 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i
-(substring,)e(and)f(within)h(the)g(substring)g Fs
-(rl_completer_word_break)o(_)390 3185 y(characters)32
-b Ft(are)k(treated)g(as)f(an)m(y)h(other)f(c)m(haracter,)j(unless)d
-(they)g(also)h(app)s(ear)e(within)h(this)390 3294 y(list.)3371
-3477 y([V)-8 b(ariable])-3598 b Fg(const)40 b(char)f(*)g
-Ff(rl)p 875 3477 V 50 w(\014lename)p 1342 3477 V 49 w(quote)p
-1670 3477 V 50 w(c)m(haracters)390 3587 y Ft(A)34 b(list)g(of)g(c)m
-(haracters)h(that)f(cause)h(a)f(\014lename)g(to)g(b)s(e)f(quoted)h(b)m
-(y)f(the)h(completer)h(when)e(they)390 3696 y(app)s(ear)d(in)g(a)h
-(completed)g(\014lename.)41 b(The)30 b(default)g(is)h(the)f(n)m(ull)h
-(string.)3371 3879 y([V)-8 b(ariable])-3598 b Fg(const)40
-b(char)f(*)g Ff(rl)p 875 3879 V 50 w(sp)s(ecial)p 1261
-3879 V 49 w(pre\014xes)390 3988 y Ft(The)27 b(list)i(of)e(c)m
-(haracters)j(that)e(are)g(w)m(ord)f(break)h(c)m(haracters,)i(but)d
-(should)f(b)s(e)h(left)i(in)e Fi(text)k Ft(when)390 4098
-y(it)25 b(is)g(passed)f(to)h(the)g(completion)h(function.)38
-b(Programs)25 b(can)g(use)f(this)h(to)g(help)f(determine)h(what)390
-4208 y(kind)j(of)i(completing)g(to)g(do.)41 b(F)-8 b(or)30
-b(instance,)g(Bash)g(sets)f(this)g(v)-5 b(ariable)31
-b(to)f Fs(")p Ft($)p Fs(@")e Ft(so)i(that)g(it)g(can)390
-4317 y(complete)i(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371
-4500 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-4500 V 51 w(completion)p 1033 4500 V 49 w(query)p 1366
-4500 V 51 w(items)390 4609 y Ft(Up)d(to)h(this)f(man)m(y)g(items)h
-(will)f(b)s(e)g(displa)m(y)m(ed)h(in)e(resp)s(onse)h(to)h(a)f(p)s
-(ossible-completions)h(call.)390 4719 y(After)28 b(that,)h(readline)f
+b(Completion)390 2795 y(o)s(ccurs)26 b(on)g(the)g(en)m(tire)i
+(substring,)e(and)f(within)h(the)g(substring)g Fr
+(rl_completer_word_break)o(_)390 2905 y(characters)32
+b Fs(are)k(treated)g(as)f(an)m(y)h(other)f(c)m(haracter,)j(unless)d
+(they)g(also)h(app)s(ear)e(within)h(this)390 3014 y(list.)3371
+3185 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g
+(rl_filename_quote_char)q(act)q(ers)390 3294 y Fs(A)34
+b(list)g(of)g(c)m(haracters)h(that)f(cause)h(a)f(\014lename)g(to)g(b)s
+(e)f(quoted)h(b)m(y)f(the)h(completer)h(when)e(they)390
+3404 y(app)s(ear)d(in)g(a)h(completed)g(\014lename.)41
+b(The)30 b(default)g(is)h(the)f(n)m(ull)h(string.)3371
+3574 y([V)-8 b(ariable])-3598 b Fg(const)54 b(char)f(*)g
+(rl_special_prefixes)390 3684 y Fs(The)27 b(list)i(of)e(c)m(haracters)j
+(that)e(are)g(w)m(ord)f(break)h(c)m(haracters,)i(but)d(should)f(b)s(e)h
+(left)i(in)e Fi(text)k Fs(when)390 3794 y(it)25 b(is)g(passed)f(to)h
+(the)g(completion)h(function.)38 b(Programs)25 b(can)g(use)f(this)h(to)
+g(help)f(determine)h(what)390 3903 y(kind)j(of)i(completing)g(to)g(do.)
+41 b(F)-8 b(or)30 b(instance,)g(Bash)g(sets)f(this)g(v)-5
+b(ariable)31 b(to)f Fr(")p Fs($)p Fr(@")e Fs(so)i(that)g(it)g(can)390
+4013 y(complete)i(shell)e(v)-5 b(ariables)31 b(and)f(hostnames.)3371
+4183 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_query_i)q
+(tems)390 4293 y Fs(Up)36 b(to)h(this)f(man)m(y)g(items)h(will)f(b)s(e)
+g(displa)m(y)m(ed)h(in)e(resp)s(onse)h(to)h(a)f(p)s
+(ossible-completions)h(call.)390 4402 y(After)28 b(that,)h(readline)f
(asks)g(the)g(user)f(if)h(she)f(is)h(sure)f(she)h(w)m(an)m(ts)g(to)h
-(see)f(them)g(all.)40 b(The)28 b(default)390 4829 y(v)-5
+(see)f(them)g(all.)40 b(The)28 b(default)390 4512 y(v)-5
b(alue)31 b(is)f(100.)42 b(A)31 b(negativ)m(e)h(v)-5
b(alue)31 b(indicates)g(that)g(Readline)g(should)f(nev)m(er)h(ask)f
-(the)h(user.)3371 5011 y([V)-8 b(ariable])-3598 b Fg(int)39
-b Ff(rl)p 432 5011 V 51 w(completion)p 1033 5011 V 49
-w(app)s(end)p 1450 5011 V 48 w(c)m(haracter)390 5121
-y Ft(When)33 b(a)h(single)f(completion)i(alternativ)m(e)h(matc)m(hes)e
+(the)h(user.)3371 4682 y([V)-8 b(ariable])-3598 b Fg(int)53
+b(rl_completion_append_)q(char)q(act)q(er)390 4792 y
+Fs(When)33 b(a)h(single)f(completion)i(alternativ)m(e)h(matc)m(hes)e
(at)g(the)f(end)g(of)g(the)h(command)f(line,)h(this)390
-5230 y(c)m(haracter)23 b(is)e(app)s(ended)f(to)i(the)g(inserted)f
+4902 y(c)m(haracter)23 b(is)e(app)s(ended)f(to)i(the)g(inserted)f
(completion)i(text.)39 b(The)20 b(default)i(is)g(a)f(space)h(c)m
-(haracter)390 5340 y(\(`)31 b('\).)86 b(Setting)46 b(this)f(to)h(the)g
-(n)m(ull)f(c)m(haracter)i(\(`)p Fs(\\0)p Ft('\))f(prev)m(en)m(ts)g(an)m
-(ything)g(b)s(eing)f(app)s(ended)p eop end
+(haracter)390 5011 y(\(`)31 b('\).)86 b(Setting)46 b(this)f(to)h(the)g
+(n)m(ull)f(c)m(haracter)i(\(`)p Fr(\\0)p Fs('\))f(prev)m(en)m(ts)g(an)m
+(ything)g(b)s(eing)f(app)s(ended)390 5121 y(automatically)-8
+b(.)66 b(This)37 b(can)h(b)s(e)f(c)m(hanged)h(in)g(application-sp)s
+(eci\014c)h(completion)g(functions)e(to)390 5230 y(pro)m(vide)j(the)g
+(\\most)g(sensible)g(w)m(ord)f(separator)i(c)m(haracter")h(according)e
+(to)h(an)e(application-)390 5340 y(sp)s(eci\014c)30 b(command)g(line)h
+(syn)m(tax)g(sp)s(eci\014cation.)p eop end
%%Page: 46 50
-TeXDict begin 46 49 bop 150 -116 a Ft(Chapter)30 b(2:)41
-b(Programming)30 b(with)g(GNU)h(Readline)1683 b(46)390
-299 y(automatically)-8 b(.)66 b(This)37 b(can)h(b)s(e)f(c)m(hanged)h
-(in)g(application-sp)s(eci\014c)h(completion)g(functions)e(to)390
-408 y(pro)m(vide)j(the)g(\\most)g(sensible)g(w)m(ord)f(separator)i(c)m
-(haracter")h(according)e(to)h(an)e(application-)390 518
-y(sp)s(eci\014c)30 b(command)g(line)h(syn)m(tax)g(sp)s(eci\014cation.)
-3371 682 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p
-432 682 35 5 v 51 w(completion)p 1033 682 V 49 w(suppress)p
-1509 682 V 50 w(app)s(end)390 792 y Ft(If)33 b(non-zero,)i
-Fi(rl)p 949 792 28 4 v 39 w(completion)p 1421 792 V 42
-w(app)s(end)p 1755 792 V 38 w(c)m(haracter)42 b Ft(is)33
-b(not)g(app)s(ended)f(to)i(matc)m(hes)g(at)g(the)g(end)390
-902 y(of)28 b(the)f(command)h(line,)h(as)e(describ)s(ed)g(ab)s(o)m(v)m
-(e.)41 b(It)27 b(is)h(set)g(to)g(0)g(b)s(efore)g(an)m(y)f
-(application-sp)s(eci\014c)390 1011 y(completion)32 b(function)e(is)g
-(called,)i(and)e(ma)m(y)h(only)f(b)s(e)g(c)m(hanged)h(within)f(suc)m(h)
-g(a)h(function.)3371 1176 y([V)-8 b(ariable])-3598 b
-Fg(int)39 b Ff(rl)p 432 1176 35 5 v 51 w(completion)p
-1033 1176 V 49 w(quote)p 1361 1176 V 50 w(c)m(haracter)390
-1285 y Ft(When)d(Readline)h(is)f(completing)h(quoted)g(text,)h(as)f
-(delimited)g(b)m(y)f(one)g(of)g(the)h(c)m(haracters)g(in)390
-1395 y Fi(rl)p 457 1395 28 4 v 40 w(completer)p 885 1395
-V 41 w(quote)p 1145 1395 V 41 w(c)m(haracters)p Ft(,)43
-b(it)c(sets)g(this)g(v)-5 b(ariable)40 b(to)g(the)f(quoting)g(c)m
-(haracter)i(found.)390 1504 y(This)30 b(is)g(set)h(b)s(efore)f(an)m(y)h
-(application-sp)s(eci\014c)g(completion)h(function)e(is)h(called.)3371
-1669 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-1669 35 5 v 51 w(completion)p 1033 1669 V 49 w(suppress)p
-1509 1669 V 50 w(quote)390 1778 y Ft(If)32 b(non-zero,)h(Readline)g(do)
-s(es)f(not)h(app)s(end)d(a)j(matc)m(hing)g(quote)g(c)m(haracter)h(when)
-d(p)s(erforming)390 1888 y(completion)25 b(on)e(a)h(quoted)g(string.)38
+TeXDict begin 46 49 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Programming)30 b(with)g(GNU)h(Readline)1683 b(46)3371
+299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_suppres)q
+(s_ap)q(pen)q(d)390 408 y Fs(If)33 b(non-zero,)i Fi(rl)p
+949 408 28 4 v 39 w(completion)p 1421 408 V 42 w(app)s(end)p
+1755 408 V 38 w(c)m(haracter)42 b Fs(is)33 b(not)g(app)s(ended)f(to)i
+(matc)m(hes)g(at)g(the)g(end)390 518 y(of)28 b(the)f(command)h(line,)h
+(as)e(describ)s(ed)g(ab)s(o)m(v)m(e.)41 b(It)27 b(is)h(set)g(to)g(0)g
+(b)s(efore)g(an)m(y)f(application-sp)s(eci\014c)390 628
+y(completion)32 b(function)e(is)g(called,)i(and)e(ma)m(y)h(only)f(b)s
+(e)g(c)m(hanged)h(within)f(suc)m(h)g(a)h(function.)3371
+847 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_quote_c)q
+(hara)q(cte)q(r)390 956 y Fs(When)36 b(Readline)h(is)f(completing)h
+(quoted)g(text,)h(as)f(delimited)g(b)m(y)f(one)g(of)g(the)h(c)m
+(haracters)g(in)390 1066 y Fi(rl)p 457 1066 V 40 w(completer)p
+885 1066 V 41 w(quote)p 1145 1066 V 41 w(c)m(haracters)t
+Fs(,)42 b(it)d(sets)g(this)f(v)-5 b(ariable)40 b(to)f(the)g(quoting)g
+(c)m(haracter)h(found.)390 1176 y(This)30 b(is)g(set)h(b)s(efore)f(an)m
+(y)h(application-sp)s(eci\014c)g(completion)h(function)e(is)h(called.)
+3371 1395 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_suppres)
+q(s_qu)q(ote)390 1504 y Fs(If)32 b(non-zero,)h(Readline)g(do)s(es)f
+(not)h(app)s(end)d(a)j(matc)m(hing)g(quote)g(c)m(haracter)h(when)d(p)s
+(erforming)390 1614 y(completion)25 b(on)e(a)h(quoted)g(string.)38
b(It)24 b(is)f(set)h(to)h(0)f(b)s(efore)f(an)m(y)h(application-sp)s
-(eci\014c)h(completion)390 1998 y(function)30 b(is)g(called,)i(and)e
+(eci\014c)h(completion)390 1724 y(function)30 b(is)g(called,)i(and)e
(ma)m(y)h(only)g(b)s(e)e(c)m(hanged)i(within)f(suc)m(h)g(a)h(function.)
-3371 2162 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p
-432 2162 V 51 w(completion)p 1033 2162 V 49 w(found)p
-1366 2162 V 50 w(quote)390 2271 y Ft(When)31 b(Readline)i(is)e
-(completing)i(quoted)f(text,)h(it)f(sets)g(this)g(v)-5
-b(ariable)32 b(to)h(a)f(non-zero)g(v)-5 b(alue)32 b(if)390
-2381 y(the)21 b(w)m(ord)g(b)s(eing)g(completed)h(con)m(tains)g(or)f(is)
-g(delimited)h(b)m(y)f(an)m(y)g(quoting)h(c)m(haracters,)i(including)390
-2491 y(bac)m(kslashes.)42 b(This)29 b(is)i(set)g(b)s(efore)f(an)m(y)g
-(application-sp)s(eci\014c)i(completion)g(function)e(is)g(called.)3371
-2655 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-2655 V 51 w(completion)p 1033 2655 V 49 w(mark)p 1340
-2655 V 51 w(symlink)p 1779 2655 V 51 w(dirs)390 2765
-y Ft(If)31 b(non-zero,)i(a)f(slash)g(will)g(b)s(e)f(app)s(ended)f(to)j
-(completed)g(\014lenames)e(that)i(are)f(sym)m(b)s(olic)g(links)390
-2874 y(to)25 b(directory)g(names,)g(sub)5 b(ject)24 b(to)h(the)f(v)-5
-b(alue)25 b(of)f(the)h(user-settable)g Fi(mark-directories)k
-Ft(v)-5 b(ariable.)390 2984 y(This)27 b(v)-5 b(ariable)28
-b(exists)g(so)f(that)h(application-sp)s(eci\014c)h(completion)g
-(functions)e(can)g(o)m(v)m(erride)i(the)390 3093 y(user's)42
-b(global)h(preference)g(\(set)g(via)g(the)f Fi(mark-symlink)m
-(ed-directories)48 b Ft(Readline)43 b(v)-5 b(ariable\))390
-3203 y(if)38 b(appropriate.)62 b(This)37 b(v)-5 b(ariable)38
-b(is)g(set)g(to)g(the)g(user's)f(preference)g(b)s(efore)g(an)m(y)h
-(application-)390 3313 y(sp)s(eci\014c)31 b(completion)i(function)f(is)
-f(called,)j(so)e(unless)f(that)h(function)f(mo)s(di\014es)g(the)h(v)-5
-b(alue,)33 b(the)390 3422 y(user's)d(preferences)g(are)h(honored.)3371
-3587 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-3587 V 51 w(ignore)p 793 3587 V 50 w(completion)p 1393
-3587 V 49 w(duplicates)390 3696 y Ft(If)30 b(non-zero,)h(then)f
-(duplicates)h(in)f(the)h(matc)m(hes)g(are)g(remo)m(v)m(ed.)42
-b(The)29 b(default)i(is)f(1.)3371 3861 y([V)-8 b(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 3861 V 51 w(\014lename)p 900
-3861 V 48 w(completion)p 1498 3861 V 50 w(desired)390
-3970 y Ft(Non-zero)33 b(means)f(that)g(the)g(results)f(of)h(the)g(matc)
+3371 1943 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_found_q)
+q(uote)390 2052 y Fs(When)31 b(Readline)i(is)e(completing)i(quoted)f
+(text,)h(it)f(sets)g(this)g(v)-5 b(ariable)32 b(to)h(a)f(non-zero)g(v)
+-5 b(alue)32 b(if)390 2162 y(the)21 b(w)m(ord)g(b)s(eing)g(completed)h
+(con)m(tains)g(or)f(is)g(delimited)h(b)m(y)f(an)m(y)g(quoting)h(c)m
+(haracters,)i(including)390 2271 y(bac)m(kslashes.)42
+b(This)29 b(is)i(set)g(b)s(efore)f(an)m(y)g(application-sp)s(eci\014c)i
+(completion)g(function)e(is)g(called.)3371 2491 y([V)-8
+b(ariable])-3598 b Fg(int)53 b(rl_completion_mark_sy)q(mlin)q(k_d)q
+(irs)390 2600 y Fs(If)31 b(non-zero,)i(a)f(slash)g(will)g(b)s(e)f(app)s
+(ended)f(to)j(completed)g(\014lenames)e(that)i(are)f(sym)m(b)s(olic)g
+(links)390 2710 y(to)25 b(directory)g(names,)g(sub)5
+b(ject)24 b(to)h(the)f(v)-5 b(alue)25 b(of)f(the)h(user-settable)g
+Fi(mark-directories)k Fs(v)-5 b(ariable.)390 2819 y(This)27
+b(v)-5 b(ariable)28 b(exists)g(so)f(that)h(application-sp)s(eci\014c)h
+(completion)g(functions)e(can)g(o)m(v)m(erride)i(the)390
+2929 y(user's)42 b(global)h(preference)g(\(set)g(via)g(the)f
+Fi(mark-symlink)m(ed-directories)48 b Fs(Readline)43
+b(v)-5 b(ariable\))390 3039 y(if)38 b(appropriate.)62
+b(This)37 b(v)-5 b(ariable)38 b(is)g(set)g(to)g(the)g(user's)f
+(preference)g(b)s(efore)g(an)m(y)h(application-)390 3148
+y(sp)s(eci\014c)31 b(completion)i(function)f(is)f(called,)j(so)e
+(unless)f(that)h(function)f(mo)s(di\014es)g(the)h(v)-5
+b(alue,)33 b(the)390 3258 y(user's)d(preferences)g(are)h(honored.)3371
+3477 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_ignore_completion_)q
+(dupl)q(ica)q(tes)390 3587 y Fs(If)30 b(non-zero,)h(then)f(duplicates)h
+(in)f(the)h(matc)m(hes)g(are)g(remo)m(v)m(ed.)42 b(The)29
+b(default)i(is)f(1.)3371 3806 y([V)-8 b(ariable])-3598
+b Fg(int)53 b(rl_filename_completio)q(n_de)q(sir)q(ed)390
+3915 y Fs(Non-zero)33 b(means)f(that)g(the)g(results)f(of)h(the)g(matc)
m(hes)h(are)f(to)h(b)s(e)e(treated)i(as)f(\014lenames.)45
-b(This)390 4080 y(is)40 b Fn(always)49 b Ft(zero)41 b(when)e
+b(This)390 4025 y(is)40 b Fj(always)49 b Fs(zero)41 b(when)e
(completion)i(is)f(attempted,)j(and)d(can)g(only)g(b)s(e)f(c)m(hanged)i
-(within)e(an)390 4189 y(application-sp)s(eci\014c)i(completion)g
+(within)e(an)390 4134 y(application-sp)s(eci\014c)i(completion)g
(function.)67 b(If)39 b(it)h(is)f(set)h(to)h(a)e(non-zero)h(v)-5
-b(alue)40 b(b)m(y)f(suc)m(h)h(a)390 4299 y(function,)24
+b(alue)40 b(b)m(y)f(suc)m(h)h(a)390 4244 y(function,)24
b(directory)f(names)f(ha)m(v)m(e)h(a)g(slash)f(app)s(ended)e(and)i
-(Readline)h(attempts)g(to)g(quote)g(com-)390 4408 y(pleted)35
+(Readline)h(attempts)g(to)g(quote)g(com-)390 4354 y(pleted)35
b(\014lenames)g(if)g(they)h(con)m(tain)g(an)m(y)f(c)m(haracters)i(in)e
-Fs(rl_filename_quote_chara)o(cter)o(s)390 4518 y Ft(and)30
-b Fs(rl_filename_quoting_des)o(ired)24 b Ft(is)30 b(set)h(to)g(a)g
+Fr(rl_filename_quote_chara)o(cter)o(s)390 4463 y Fs(and)30
+b Fr(rl_filename_quoting_des)o(ired)24 b Fs(is)30 b(set)h(to)g(a)g
(non-zero)g(v)-5 b(alue.)3371 4682 y([V)d(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 4682 V 51 w(\014lename)p 900
-4682 V 48 w(quoting)p 1327 4682 V 50 w(desired)390 4792
-y Ft(Non-zero)29 b(means)f(that)h(the)f(results)g(of)g(the)g(matc)m
+b Fg(int)53 b(rl_filename_quoting_d)q(esir)q(ed)390 4792
+y Fs(Non-zero)29 b(means)f(that)h(the)f(results)g(of)g(the)g(matc)m
(hes)i(are)e(to)h(b)s(e)e(quoted)h(using)g(double)f(quotes)390
4902 y(\(or)43 b(an)f(application-sp)s(eci\014c)i(quoting)f(mec)m
(hanism\))g(if)f(the)h(completed)g(\014lename)g(con)m(tains)390
-5011 y(an)m(y)28 b(c)m(haracters)h(in)e Fs(rl_filename_quote_chars)p
-Ft(.)34 b(This)27 b(is)g Fn(always)37 b Ft(non-zero)28
+5011 y(an)m(y)28 b(c)m(haracters)h(in)e Fr(rl_filename_quote_chars)p
+Fs(.)34 b(This)27 b(is)g Fj(always)37 b Fs(non-zero)28
b(when)f(comple-)390 5121 y(tion)h(is)g(attempted,)h(and)e(can)h(only)g
(b)s(e)f(c)m(hanged)h(within)f(an)h(application-sp)s(eci\014c)h
(completion)390 5230 y(function.)37 b(The)21 b(quoting)g(is)g
(e\013ected)i(via)e(a)h(call)g(to)g(the)f(function)g(p)s(oin)m(ted)g
-(to)g(b)m(y)g Fs(rl_filename_)390 5340 y(quoting_function)p
-Ft(.)p eop end
+(to)g(b)m(y)g Fr(rl_filename_)390 5340 y(quoting_function)p
+Fs(.)p eop end
%%Page: 47 51
-TeXDict begin 47 50 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 47 50 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(47)3371
-299 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-299 35 5 v 51 w(attempted)p 1003 299 V 47 w(completion)p
-1600 299 V 49 w(o)m(v)m(er)390 408 y Ft(If)93 b(an)h(application-sp)s
-(eci\014c)i(completion)f(function)f(assigned)g(to)h Fs(rl_attempted_)
-390 518 y(completion_function)48 b Ft(sets)53 b(this)g(v)-5
+299 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_attempted_completi)q
+(on_o)q(ver)390 408 y Fs(If)93 b(an)h(application-sp)s(eci\014c)i
+(completion)f(function)f(assigned)g(to)h Fr(rl_attempted_)390
+518 y(completion_function)48 b Fs(sets)53 b(this)g(v)-5
b(ariable)54 b(to)g(a)f(non-zero)h(v)-5 b(alue,)60 b(Readline)53
b(will)h(not)390 628 y(p)s(erform)28 b(its)i(default)g(\014lename)g
(completion)h(ev)m(en)f(if)g(the)f(application's)i(completion)g
(function)390 737 y(returns)e(no)h(matc)m(hes.)42 b(It)31
b(should)e(b)s(e)h(set)h(only)f(b)m(y)h(an)f(application's)i
(completion)f(function.)3371 922 y([V)-8 b(ariable])-3598
-b Fg(int)39 b Ff(rl)p 432 922 V 51 w(sort)p 677 922 V
-50 w(completion)p 1277 922 V 50 w(matc)m(hes)390 1031
-y Ft(If)29 b(an)h(application)h(sets)f(this)g(v)-5 b(ariable)31
+b Fg(int)53 b(rl_sort_completion_ma)q(tche)q(s)390 1031
+y Fs(If)29 b(an)h(application)h(sets)f(this)g(v)-5 b(ariable)31
b(to)f(0,)h(Readline)f(will)g(not)g(sort)g(the)g(list)h(of)f
(completions)390 1141 y(\(whic)m(h)25 b(implies)f(that)i(it)f(cannot)g
(remo)m(v)m(e)h(an)m(y)f(duplicate)g(completions\).)40
b(The)24 b(default)h(v)-5 b(alue)25 b(is)390 1250 y(1,)32
b(whic)m(h)f(means)g(that)h(Readline)g(will)f(sort)h(the)f(completions)
h(and,)f(dep)s(ending)f(on)h(the)g(v)-5 b(alue)390 1360
-y(of)31 b Fs(rl_ignore_completion_du)o(pli)o(cate)o(s)p
-Ft(,)25 b(will)30 b(attempt)i(to)f(remo)m(v)m(e)h(duplicate)f(matc)m
-(hes.)3371 1544 y([V)-8 b(ariable])-3598 b Fg(int)39
-b Ff(rl)p 432 1544 V 51 w(completion)p 1033 1544 V 49
-w(t)m(yp)s(e)390 1654 y Ft(Set)c(to)h(a)f(c)m(haracter)i(describing)e
-(the)g(t)m(yp)s(e)g(of)g(completion)i(Readline)e(is)g(curren)m(tly)h
-(attempt-)390 1763 y(ing;)f(see)f(the)g(description)f(of)g
-Fs(rl_complete_internal\(\))28 b Ft(\(see)34 b(Section)g(2.6.2)h
+y(of)31 b Fr(rl_ignore_completion_du)o(pli)o(cate)o(s)p
+Fs(,)25 b(will)30 b(attempt)i(to)f(remo)m(v)m(e)h(duplicate)f(matc)m
+(hes.)3371 1544 y([V)-8 b(ariable])-3598 b Fg(int)53
+b(rl_completion_type)390 1654 y Fs(Set)35 b(to)h(a)f(c)m(haracter)i
+(describing)e(the)g(t)m(yp)s(e)g(of)g(completion)i(Readline)e(is)g
+(curren)m(tly)h(attempt-)390 1763 y(ing;)f(see)f(the)g(description)f
+(of)g Fr(rl_complete_internal\(\))28 b Fs(\(see)34 b(Section)g(2.6.2)h
([Completion)390 1873 y(F)-8 b(unctions],)39 b(page)f(42\))f(for)g(the)
g(list)g(of)g(c)m(haracters.)61 b(This)36 b(is)g(set)i(to)f(the)g
(appropriate)f(v)-5 b(alue)390 1983 y(b)s(efore)31 b(an)m(y)h
(application-sp)s(eci\014c)h(completion)g(function)f(is)f(called,)j
(allo)m(wing)f(suc)m(h)e(functions)390 2092 y(to)g(presen)m(t)g(the)f
-(same)h(in)m(terface)h(as)e Fs(rl_complete\(\))p Ft(.)3371
-2276 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-2276 V 51 w(completion)p 1033 2276 V 49 w(in)m(v)m(oking)p
-1502 2276 V 50 w(k)m(ey)390 2386 y Ft(Set)i(to)g(the)g(\014nal)g(c)m
-(haracter)h(in)e(the)h(k)m(ey)g(sequence)h(that)f(in)m(v)m(ok)m(ed)h
-(one)f(of)g(the)g(completion)390 2496 y(functions)c(that)h(call)h
-Fs(rl_complete_internal\(\))p Ft(.)56 b(This)37 b(is)g(set)h(to)g(the)g
+(same)h(in)m(terface)h(as)e Fr(rl_complete\(\))p Fs(.)3371
+2276 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_completion_invokin)q
+(g_ke)q(y)390 2386 y Fs(Set)41 b(to)g(the)g(\014nal)g(c)m(haracter)h
+(in)e(the)h(k)m(ey)g(sequence)h(that)f(in)m(v)m(ok)m(ed)h(one)f(of)g
+(the)g(completion)390 2496 y(functions)c(that)h(call)h
+Fr(rl_complete_internal\(\))p Fs(.)56 b(This)37 b(is)g(set)h(to)g(the)g
(appropriate)f(v)-5 b(alue)390 2605 y(b)s(efore)30 b(an)m(y)h
(application-sp)s(eci\014c)h(completion)f(function)f(is)h(called.)3371
-2790 y([V)-8 b(ariable])-3598 b Fg(int)39 b Ff(rl)p 432
-2790 V 51 w(inhibit)p 816 2790 V 48 w(completion)390
-2899 y Ft(If)28 b(this)g(v)-5 b(ariable)29 b(is)f(non-zero,)i
+2790 y([V)-8 b(ariable])-3598 b Fg(int)53 b(rl_inhibit_completion)390
+2899 y Fs(If)28 b(this)g(v)-5 b(ariable)29 b(is)f(non-zero,)i
(completion)f(is)f(inhibited.)40 b(The)28 b(completion)h(c)m(haracter)h
(will)f(b)s(e)390 3009 y(inserted)h(as)h(an)m(y)g(other)f(b)s(ound)e
-(to)k Fs(self-insert)p Ft(.)150 3233 y Fh(2.6.4)63 b(A)40
-b(Short)i(Completion)g(Example)275 3477 y Ft(Here)20
-b(is)h(a)g(small)f(application)i(demonstrating)f(the)f(use)g(of)h(the)g
-(GNU)f(Readline)h(library)-8 b(.)38 b(It)20 b(is)h(called)150
-3587 y Fs(fileman)p Ft(,)35 b(and)g(the)h(source)f(co)s(de)h(resides)f
-(in)h(`)p Fs(examples/fileman.c)p Ft('.)51 b(This)35
-b(sample)h(application)150 3696 y(pro)m(vides)26 b(completion)i(of)e
+(to)k Fr(self-insert)p Fs(.)150 3208 y Fh(2.6.4)63 b(A)40
+b(Short)i(Completion)g(Example)150 3355 y Fs(Here)30
+b(is)f(a)g(small)h(application)g(demonstrating)f(the)h(use)e(of)i(the)f
+(GNU)h(Readline)f(library)-8 b(.)40 b(It)30 b(is)f(called)150
+3465 y Fr(fileman)p Fs(,)35 b(and)g(the)h(source)f(co)s(de)h(resides)f
+(in)h(`)p Fr(examples/fileman.c)p Fs('.)51 b(This)35
+b(sample)h(application)150 3574 y(pro)m(vides)26 b(completion)i(of)e
(command)g(names,)h(line)f(editing)h(features,)h(and)d(access)j(to)f
(the)f(history)g(list.)p eop end
%%Page: 48 52
-TeXDict begin 48 51 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 48 51 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(48)390
-299 y Fd(/*)40 b(fileman.c)h(--)f(A)f(tiny)h(application)i(which)e
+299 y Fe(/*)40 b(fileman.c)h(--)f(A)f(tiny)h(application)i(which)e
(demonstrates)i(how)e(to)g(use)g(the)508 386 y(GNU)g(Readline)h
(library.)80 b(This)40 b(application)i(interactively)g(allows)f(users)
508 473 y(to)e(manipulate)j(files)e(and)g(their)h(modes.)f(*/)390
@@ -8069,9 +7448,9 @@ y(int)e(com_cd)g(PARAMS\(\(char)i(*\)\);)390 4483 y(int)e(com_quit)h
(Documentation)i(for)e(this)g(function.)80 b(*/)390 5268
y(})39 b(COMMAND;)p eop end
%%Page: 49 53
-TeXDict begin 49 52 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 49 52 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(49)390
-386 y Fd(COMMAND)41 b(commands[])g(=)f({)468 473 y({)g("cd",)g(com_cd,)
+386 y Fe(COMMAND)41 b(commands[])g(=)f({)468 473 y({)g("cd",)g(com_cd,)
h("Change)g(to)f(directory)h(DIR")f(},)468 560 y({)g("delete",)h
(com_delete,)h("Delete)f(FILE")f(},)468 648 y({)g("help",)h(com_help,)g
("Display)g(this)f(text")h(},)468 735 y({)f("?",)g(com_help,)h
@@ -8107,9 +7486,9 @@ y(break;)625 5093 y(/*)g(Remove)h(leading)f(and)g(trailing)h
(anything)h(left,)g(add)e(it)h(to)g(the)g(history)h(list)743
5268 y(and)f(execute)h(it.)f(*/)p eop end
%%Page: 50 54
-TeXDict begin 50 53 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 50 53 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(50)625
-299 y Fd(s)40 b(=)f(stripwhite)j(\(line\);)625 473 y(if)e(\(*s\))704
+299 y Fe(s)40 b(=)f(stripwhite)j(\(line\);)625 473 y(if)e(\(*s\))704
560 y({)782 648 y(add_history)i(\(s\);)782 735 y(execute_line)g(\(s\);)
704 822 y(})625 996 y(free)e(\(line\);)547 1083 y(})468
1171 y(exit)h(\(0\);)390 1258 y(})390 1432 y(/*)f(Execute)g(a)g
@@ -8136,9 +7515,9 @@ b(Return)41 b(a)e(NULL)h(pointer)h(if)f(NAME)g(isn't)g(a)g(command)g
(name.)h(*/)390 5006 y(COMMAND)g(*)390 5093 y(find_command)h(\(name\))
586 5181 y(char)e(*name;)390 5268 y({)p eop end
%%Page: 51 55
-TeXDict begin 51 54 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 51 54 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(51)468
-299 y Fd(register)41 b(int)f(i;)468 473 y(for)g(\(i)g(=)f(0;)h
+299 y Fe(register)41 b(int)f(i;)468 473 y(for)g(\(i)g(=)f(0;)h
(commands[i].name;)j(i++\))547 560 y(if)d(\(strcmp)g(\(name,)h
(commands[i].name\))i(==)d(0\))625 648 y(return)h(\(&commands[i]\);)468
822 y(return)g(\(\(COMMAND)g(*\)NULL\);)390 909 y(})390
@@ -8179,9 +7558,9 @@ b(Return)40 b(the)g(array)h(of)e(matches,)508 5181 y(or)g(NULL)h(if)g
(there)h(aren't)f(any.)g(*/)390 5268 y(char)g(**)p eop
end
%%Page: 52 56
-TeXDict begin 52 55 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 52 55 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(52)390
-299 y Fd(fileman_completion)43 b(\(text,)e(start,)g(end\))586
+299 y Fe(fileman_completion)43 b(\(text,)e(start,)g(end\))586
386 y(const)f(char)h(*text;)586 473 y(int)f(start,)h(end;)390
560 y({)468 648 y(char)g(**matches;)468 822 y(matches)g(=)f(\(char)g
(**\)NULL;)468 996 y(/*)g(If)g(this)g(word)g(is)g(at)f(the)h(start)h
@@ -8220,9 +7599,9 @@ b(*/)390 5181 y(/*)40 b(String)g(to)g(pass)g(to)g(system)g(\(\).)80
b(This)40 b(is)f(for)h(the)g(LIST,)h(VIEW)f(and)g(RENAME)508
5268 y(commands.)h(*/)p eop end
%%Page: 53 57
-TeXDict begin 53 56 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 53 56 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(53)390
-299 y Fd(static)41 b(char)f(syscom[1024];)390 473 y(/*)g(List)g(the)g
+299 y Fe(static)41 b(char)f(syscom[1024];)390 473 y(/*)g(List)g(the)g
(file\(s\))h(named)f(in)g(arg.)g(*/)390 560 y(com_list)h(\(arg\))586
648 y(char)f(*arg;)390 735 y({)468 822 y(if)g(\(!arg\))547
909 y(arg)g(=)f("";)468 1083 y(sprintf)i(\(syscom,)g("ls)f(-FClg)h
@@ -8250,9 +7629,9 @@ j(==)d(1\))f(?)h("")f(:)h("s",)782 5093 y(finfo.st_size,)782
5268 y(printf)h(\("Inode)g(Last)f(Change)h(at:)f(\045s",)g(ctime)g
(\(&finfo.st_ctime\)\);)p eop end
%%Page: 54 58
-TeXDict begin 54 57 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 54 57 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(54)468
-299 y Fd(printf)41 b(\(")236 b(Last)40 b(access)h(at:)f(\045s",)g
+299 y Fe(printf)41 b(\(")236 b(Last)40 b(access)h(at:)f(\045s",)g
(ctime)g(\(&finfo.st_atime\)\);)468 386 y(printf)h(\(")157
b(Last)41 b(modified)g(at:)f(\045s",)g(ctime)g(\(&finfo.st_mtime\)\);)
468 473 y(return)h(\(0\);)390 560 y(})390 735 y(com_delete)g(\(arg\))
@@ -8281,9 +7660,9 @@ b(Possibilties)42 b(are:\\n",)f(arg\);)625 3176 y(for)f(\(i)g(=)f(0;)h
y({)468 5181 y(if)g(\(chdir)h(\(arg\))f(==)g(-1\))547
5268 y({)p eop end
%%Page: 55 59
-TeXDict begin 55 58 bop 150 -116 a Ft(Chapter)30 b(2:)41
+TeXDict begin 55 58 bop 150 -116 a Fs(Chapter)30 b(2:)41
b(Programming)30 b(with)g(GNU)h(Readline)1683 b(55)625
-299 y Fd(perror)41 b(\(arg\);)625 386 y(return)g(1;)547
+299 y Fe(perror)41 b(\(arg\);)625 386 y(return)g(1;)547
473 y(})468 648 y(com_pwd)g(\(""\);)468 735 y(return)g(\(0\);)390
822 y(})390 996 y(/*)f(Print)g(out)g(the)g(current)h(working)g
(directory.)g(*/)390 1083 y(com_pwd)g(\(ignore\))586
@@ -8312,22 +7691,21 @@ y({)625 4658 y(fprintf)h(\(stderr,)g("\045s:)f(Argument)h
4832 y(})468 5006 y(return)g(\(1\);)390 5093 y(})p eop
end
%%Page: 56 60
-TeXDict begin 56 59 bop 150 -116 a Ft(App)s(endix)29
+TeXDict begin 56 59 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(56)150 299 y Fp(App)t(endix)52 b(A)40 b(GNU)54 b(F)-13
-b(ree)53 b(Do)t(cumen)l(tation)e(License)1396 502 y Ft(V)-8
-b(ersion)31 b(1.2,)h(No)m(v)m(em)m(b)s(er)g(2002)390
-635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fq(\015)e
-Ft(2000,2001,2002)36 b(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
-b(oundation,)32 b(Inc.)390 745 y(51)f(F)-8 b(ranklin)31
-b(St,)f(Fifth)h(Flo)s(or,)g(Boston,)h(MA)61 b(02110-1301,)35
-b(USA)390 964 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h(cop)m(y)g
-(and)f(distribute)g(v)m(erbatim)h(copies)390 1074 y(of)g(this)f
-(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f(is)f(not)h(allo)m
-(w)m(ed.)199 1207 y(0.)61 b(PREAMBLE)330 1340 y(The)37
-b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g(a)g(man)m
-(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
-1450 y(useful)29 b(do)s(cumen)m(t)h Fi(free)36 b Ft(in)29
+b(56)150 299 y Fo(App)t(endix)52 b(A)81 b(GNU)54 b(F)-13
+b(ree)53 b(Do)t(cumen)l(tation)e(License)1359 502 y Fs(V)-8
+b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
+635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fp(\015)e
+Fs(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 745
+y Fr(http://fsf.org/)390 964 y Fs(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
+(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
+1074 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
+(is)f(not)h(allo)m(w)m(ed.)199 1207 y(0.)61 b(PREAMBLE)330
+1340 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
+(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
+1450 y(useful)29 b(do)s(cumen)m(t)h Fi(free)36 b Fs(in)29
b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
(the)e(e\013ectiv)m(e)j(freedom)330 1559 y(to)f(cop)m(y)g(and)f
(redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i
@@ -8397,7 +7775,7 @@ b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
(cumen)m(t)g(is)g(released)p eop end
%%Page: 57 61
-TeXDict begin 57 60 bop 150 -116 a Ft(App)s(endix)29
+TeXDict begin 57 60 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
b(57)330 299 y(under)26 b(this)i(License.)40 b(If)27
b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
@@ -8407,1204 +7785,1302 @@ b(arian)m(t.)46 b(The)31 b(Do)s(cumen)m(t)i(ma)m(y)f(con)m(tain)i(zero)
e(In)m(v)-5 b(arian)m(t)330 518 y(Sections.)39 b(If)25
b(the)f(Do)s(cumen)m(t)i(do)s(es)e(not)h(iden)m(tify)g(an)m(y)g(In)m(v)
-5 b(arian)m(t)25 b(Sections)h(then)e(there)h(are)g(none.)330
-655 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
+669 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
g(passages)g(of)g(text)g(that)h(are)f(listed,)i(as)d(F)-8
-b(ron)m(t-Co)m(v)m(er)330 765 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
+b(ron)m(t-Co)m(v)m(er)330 778 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g(the)f
-(Do)s(cumen)m(t)h(is)f(released)g(under)330 874 y(this)h(License.)40
+(Do)s(cumen)m(t)h(is)f(released)g(under)330 888 y(this)h(License.)40
b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29 b(T)-8 b(ext)26
b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a)g(Bac)m(k-Co)m
-(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 984 y(b)s(e)k(at)h(most)g(25)g(w)m
-(ords.)330 1121 y(A)36 b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g
+(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 998 y(b)s(e)k(at)h(most)g(25)g(w)m
+(ords.)330 1148 y(A)36 b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g
(the)f(Do)s(cumen)m(t)h(means)g(a)g(mac)m(hine-readable)h(cop)m(y)-8
-b(,)38 b(represen)m(ted)330 1230 y(in)d(a)h(format)g(whose)g(sp)s
+b(,)38 b(represen)m(ted)330 1258 y(in)d(a)h(format)g(whose)g(sp)s
(eci\014cation)g(is)g(a)m(v)-5 b(ailable)38 b(to)f(the)f(general)g
-(public,)h(that)f(is)g(suitable)g(for)330 1340 y(revising)c(the)g(do)s
+(public,)h(that)f(is)g(suitable)g(for)330 1367 y(revising)c(the)g(do)s
(cumen)m(t)f(straigh)m(tforw)m(ardly)i(with)e(generic)i(text)g(editors)
-f(or)f(\(for)h(images)h(com-)330 1450 y(p)s(osed)23 b(of)h(pixels\))g
+f(or)f(\(for)h(images)h(com-)330 1477 y(p)s(osed)23 b(of)h(pixels\))g
(generic)h(pain)m(t)f(programs)g(or)f(\(for)h(dra)m(wings\))g(some)g
-(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1559
+(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1587
y(editor,)k(and)f(that)g(is)g(suitable)h(for)f(input)f(to)i(text)g
(formatters)f(or)g(for)g(automatic)i(translation)f(to)330
-1669 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input)
+1696 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input)
g(to)i(text)g(formatters.)40 b(A)27 b(cop)m(y)g(made)g(in)g(an)g
-(otherwise)330 1778 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g
+(otherwise)330 1806 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g
(whose)f(markup,)i(or)e(absence)h(of)g(markup,)g(has)g(b)s(een)f
-(arranged)g(to)330 1888 y(th)m(w)m(art)27 b(or)g(discourage)g
+(arranged)g(to)330 1915 y(th)m(w)m(art)27 b(or)g(discourage)g
(subsequen)m(t)f(mo)s(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8
-b(ransparen)m(t.)39 b(An)27 b(image)330 1998 y(format)35
+b(ransparen)m(t.)39 b(An)27 b(image)330 2025 y(format)35
b(is)f(not)h(T)-8 b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g
(substan)m(tial)h(amoun)m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g
-(is)330 2107 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i
-(\\Opaque".)330 2244 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)
--8 b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fm(asci)r(i)g
-Ft(without)330 2354 y(markup,)41 b(T)-8 b(exinfo)40 b(input)f(format,)j
-(LaT)1775 2373 y(E)1826 2354 y(X)d(input)g(format,)k
-Fm(sgml)c Ft(or)g Fm(xml)g Ft(using)g(a)h(publicly)330
-2463 y(a)m(v)-5 b(ailable)34 b Fm(dtd)p Ft(,)d(and)g
-(standard-conforming)g(simple)h Fm(html)p Ft(,)f(P)m(ostScript)h(or)f
-Fm(pdf)g Ft(designed)g(for)330 2573 y(h)m(uman)37 b(mo)s(di\014cation.)
-65 b(Examples)38 b(of)g(transparen)m(t)g(image)i(formats)e(include)g
-Fm(png)p Ft(,)i Fm(x)n(cf)e Ft(and)330 2682 y Fm(jpg)p
-Ft(.)63 b(Opaque)38 b(formats)g(include)g(proprietary)g(formats)g(that)
-h(can)f(b)s(e)g(read)g(and)f(edited)i(only)330 2792 y(b)m(y)g
-(proprietary)g(w)m(ord)g(pro)s(cessors,)j Fm(sgml)c Ft(or)i
-Fm(xml)e Ft(for)i(whic)m(h)f(the)g Fm(dtd)g Ft(and/or)g(pro)s(cessing)
-330 2902 y(to)s(ols)32 b(are)f(not)g(generally)h(a)m(v)-5
-b(ailable,)34 b(and)c(the)h(mac)m(hine-generated)i Fm(html)p
-Ft(,)d(P)m(ostScript)i(or)f Fm(pdf)330 3011 y Ft(pro)s(duced)e(b)m(y)h
-(some)h(w)m(ord)f(pro)s(cessors)g(for)g(output)g(purp)s(oses)e(only)-8
-b(.)330 3148 y(The)34 b(\\Title)h(P)m(age")i(means,)e(for)f(a)h(prin)m
-(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f(itself,)h(plus)e(suc)m(h)f
-(follo)m(wing)330 3258 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g
-(legibly)-8 b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h
-(app)s(ear)f(in)h(the)330 3367 y(title)g(page.)40 b(F)-8
-b(or)28 b(w)m(orks)e(in)g(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h
-(an)m(y)e(title)j(page)e(as)g(suc)m(h,)g(\\Title)h(P)m(age")330
-3477 y(means)j(the)f(text)i(near)e(the)h(most)g(prominen)m(t)g(app)s
-(earance)f(of)h(the)g(w)m(ork's)g(title,)h(preceding)f(the)330
-3587 y(b)s(eginning)f(of)g(the)h(b)s(o)s(dy)e(of)h(the)h(text.)330
-3724 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g
+(is)330 2134 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i
+(\\Opaque".)330 2285 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)
+-8 b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fl(asci)r(i)g
+Fs(without)330 2395 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j
+(LaT)1759 2414 y(E)1810 2395 y(X)e(input)f(format,)j
+Fd(SGML)f Fs(or)f Fd(XML)g Fs(using)g(a)g(publicly)330
+2504 y(a)m(v)-5 b(ailable)42 b Fd(DTD)p Fs(,)g(and)d
+(standard-conforming)h(simple)g Fd(HTML)p Fs(,)g(P)m(ostScript)h(or)f
+Fd(PDF)g Fs(designed)330 2614 y(for)e(h)m(uman)g(mo)s(di\014cation.)65
+b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g
+Fd(PNG)p Fs(,)h Fd(X)n(CF)330 2724 y Fs(and)h Fd(JPG)p
+Fs(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can)
+f(b)s(e)f(read)g(and)h(edited)330 2833 y(only)54 b(b)m(y)f(proprietary)
+h(w)m(ord)f(pro)s(cessors,)59 b Fd(SGML)54 b Fs(or)f
+Fd(XML)h Fs(for)g(whic)m(h)f(the)h Fd(DTD)g Fs(and/or)330
+2943 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5
+b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j
+Fd(HTML)p Fs(,)330 3052 y(P)m(ostScript)31 b(or)f Fd(PDF)h
+Fs(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output)
+g(purp)s(oses)f(only)-8 b(.)330 3203 y(The)34 b(\\Title)h(P)m(age")i
+(means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f
+(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3313 y(pages)28
+b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30
+b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f(in)h
+(the)330 3422 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g
+(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e
+(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3532 y(means)j(the)f(text)i
+(near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m
+(ork's)g(title,)h(preceding)f(the)330 3641 y(b)s(eginning)f(of)g(the)h
+(b)s(o)s(dy)e(of)h(the)h(text.)330 3792 y(The)j(\\publisher")g(means)h
+(an)m(y)f(p)s(erson)g(or)h(en)m(tit)m(y)h(that)f(distributes)f(copies)i
+(of)e(the)h(Do)s(cumen)m(t)330 3902 y(to)c(the)g(public.)330
+4052 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g
(subunit)e(of)h(the)h(Do)s(cumen)m(t)h(whose)e(title)i(either)330
-3833 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m
+4162 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m
(theses)i(follo)m(wing)g(text)g(that)f(translates)h(XYZ)e(in)330
-3943 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g
+4271 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g
(sp)s(eci\014c)g(section)h(name)f(men)m(tioned)h(b)s(elo)m(w,)g(suc)m
-(h)330 4052 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e
+(h)330 4381 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e
(\\Endorsemen)m(ts",)e(or)f(\\History".\))42 b(T)-8 b(o)29
-b(\\Preserv)m(e)330 4162 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g
+b(\\Preserv)m(e)330 4491 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g
(section)g(when)f(y)m(ou)h(mo)s(dify)e(the)i(Do)s(cumen)m(t)h(means)e
-(that)h(it)g(remains)g(a)330 4271 y(section)e(\\En)m(titled)f(XYZ")g
-(according)g(to)g(this)g(de\014nition.)330 4408 y(The)c(Do)s(cumen)m(t)
+(that)h(it)g(remains)g(a)330 4600 y(section)e(\\En)m(titled)f(XYZ")g
+(according)g(to)g(this)g(de\014nition.)330 4751 y(The)c(Do)s(cumen)m(t)
i(ma)m(y)f(include)f(W)-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)
-g(the)g(notice)h(whic)m(h)e(states)i(that)330 4518 y(this)34
+g(the)g(notice)h(whic)m(h)e(states)i(that)330 4861 y(this)34
b(License)g(applies)g(to)h(the)f(Do)s(cumen)m(t.)52 b(These)33
b(W)-8 b(arran)m(t)m(y)36 b(Disclaimers)f(are)g(considered)e(to)330
-4628 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j
+4970 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j
(but)d(only)h(as)g(regards)f(disclaiming)i(w)m(arran)m(ties:)330
-4737 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8
+5080 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8
b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g
-(and)f(has)h(no)330 4847 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
-(this)f(License.)199 4984 y(2.)61 b(VERBA)-8 b(TIM)31
-b(COPYING)330 5121 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e
-(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g
-(commercially)h(or)330 5230 y(noncommercially)-8 b(,)48
-b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42
-b(cop)m(yrigh)m(t)i(notices,)j(and)42 b(the)h(license)330
-5340 y(notice)37 b(sa)m(ying)g(this)e(License)i(applies)e(to)i(the)f
-(Do)s(cumen)m(t)g(are)g(repro)s(duced)e(in)i(all)g(copies,)j(and)p
-eop end
+(and)f(has)h(no)330 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
+(this)f(License.)199 5340 y(2.)61 b(VERBA)-8 b(TIM)31
+b(COPYING)p eop end
%%Page: 58 62
-TeXDict begin 58 61 bop 150 -116 a Ft(App)s(endix)29
+TeXDict begin 58 61 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(58)330 299 y(that)27 b(y)m(ou)g(add)f(no)h(other)f(conditions)h
-(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f(License.)40
-b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330 408 y(tec)m(hnical)35
-b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h(the)f(reading)g(or)g
-(further)e(cop)m(ying)j(of)f(the)g(copies)330 518 y(y)m(ou)25
-b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28
+b(58)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
+(or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
+b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
+(and)42 b(the)h(license)330 518 y(notice)37 b(sa)m(ying)g(this)e
+(License)i(applies)e(to)i(the)f(Do)s(cumen)m(t)g(are)g(repro)s(duced)e
+(in)i(all)g(copies,)j(and)330 628 y(that)27 b(y)m(ou)g(add)f(no)h
+(other)f(conditions)h(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f
+(License.)40 b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330
+737 y(tec)m(hnical)35 b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h
+(the)f(reading)g(or)g(further)e(cop)m(ying)j(of)f(the)g(copies)330
+847 y(y)m(ou)25 b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28
b(y)m(ou)d(ma)m(y)g(accept)h(comp)s(ensation)f(in)f(exc)m(hange)j(for)d
-(copies.)330 628 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f
+(copies.)330 956 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f
(n)m(um)m(b)s(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g
-(the)f(conditions)330 737 y(in)e(section)i(3.)330 883
+(the)f(conditions)330 1066 y(in)e(section)i(3.)330 1200
y(Y)-8 b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g
(conditions)g(stated)h(ab)s(o)m(v)m(e,)i(and)c(y)m(ou)h(ma)m(y)g
-(publicly)330 993 y(displa)m(y)31 b(copies.)199 1139
-y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1285 y(If)25
+(publicly)330 1310 y(displa)m(y)31 b(copies.)199 1443
+y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1577 y(If)25
b(y)m(ou)g(publish)f(prin)m(ted)g(copies)i(\(or)g(copies)g(in)f(media)g
(that)h(commonly)g(ha)m(v)m(e)g(prin)m(ted)f(co)m(v)m(ers\))i(of)330
-1395 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
+1687 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
(100,)j(and)d(the)h(Do)s(cumen)m(t's)h(license)f(notice)h(requires)330
-1504 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
+1797 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
(the)e(copies)h(in)f(co)m(v)m(ers)i(that)f(carry)-8 b(,)36
-b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1614 y(these)j(Co)m(v)m
+b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1906 y(these)j(Co)m(v)m
(er)g(T)-8 b(exts:)59 b(F)-8 b(ron)m(t-Co)m(v)m(er)41
b(T)-8 b(exts)40 b(on)f(the)g(fron)m(t)g(co)m(v)m(er,)44
b(and)38 b(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts)40 b(on)330
-1724 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
+2016 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
m(ust)e(also)h(clearly)g(and)f(legibly)h(iden)m(tify)f(y)m(ou)h(as)f
-(the)h(publisher)330 1833 y(of)k(these)h(copies.)53 b(The)34
+(the)h(publisher)330 2125 y(of)k(these)h(copies.)53 b(The)34
b(fron)m(t)h(co)m(v)m(er)h(m)m(ust)e(presen)m(t)g(the)h(full)f(title)i
-(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 1943 y(equally)e
+(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2235 y(equally)e
(prominen)m(t)e(and)g(visible.)43 b(Y)-8 b(ou)31 b(ma)m(y)g(add)g
(other)g(material)h(on)f(the)g(co)m(v)m(ers)h(in)e(addition.)330
-2052 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
+2345 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
m(ers,)i(as)d(long)h(as)g(they)f(preserv)m(e)g(the)h(title)g(of)g(the)
-330 2162 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
+330 2454 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
(b)s(e)g(treated)h(as)f(v)m(erbatim)h(cop)m(ying)g(in)f(other)330
-2271 y(resp)s(ects.)330 2418 y(If)32 b(the)h(required)f(texts)i(for)e
+2564 y(resp)s(ects.)330 2698 y(If)32 b(the)h(required)f(texts)i(for)e
(either)h(co)m(v)m(er)i(are)e(to)s(o)g(v)m(oluminous)g(to)g(\014t)g
-(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2527 y(the)h(\014rst)f
+(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2807 y(the)h(\014rst)f
(ones)h(listed)g(\(as)h(man)m(y)f(as)g(\014t)g(reasonably\))g(on)g(the)
g(actual)h(co)m(v)m(er,)h(and)e(con)m(tin)m(ue)h(the)330
-2637 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 2783
+2917 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3051
y(If)27 b(y)m(ou)g(publish)e(or)i(distribute)g(Opaque)f(copies)i(of)f
(the)h(Do)s(cumen)m(t)f(n)m(um)m(b)s(ering)f(more)i(than)e(100,)330
-2892 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
+3160 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
(T)-8 b(ransparen)m(t)28 b(cop)m(y)h(along)g(with)e(eac)m(h)i(Opaque)
-330 3002 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
+330 3270 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
(Opaque)e(cop)m(y)i(a)g(computer-net)m(w)m(ork)g(lo)s(cation)h(from)d
-(whic)m(h)330 3112 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
+(whic)m(h)330 3380 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
(has)h(access)i(to)f(do)m(wnload)f(using)g(public-standard)f(net)m(w)m
-(ork)330 3221 y(proto)s(cols)40 b(a)f(complete)h(T)-8
+(ork)330 3489 y(proto)s(cols)40 b(a)f(complete)h(T)-8
b(ransparen)m(t)39 b(cop)m(y)g(of)g(the)h(Do)s(cumen)m(t,)i(free)d(of)g
-(added)f(material.)67 b(If)330 3331 y(y)m(ou)39 b(use)g(the)g(latter)h
+(added)f(material.)67 b(If)330 3599 y(y)m(ou)39 b(use)g(the)g(latter)h
(option,)h(y)m(ou)f(m)m(ust)e(tak)m(e)j(reasonably)e(pruden)m(t)e
-(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3440 y(distribution)f(of)g
+(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3708 y(distribution)f(of)g
(Opaque)g(copies)h(in)e(quan)m(tit)m(y)-8 b(,)43 b(to)38
b(ensure)g(that)h(this)f(T)-8 b(ransparen)m(t)38 b(cop)m(y)h(will)330
-3550 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
+3818 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
(cation)h(un)m(til)e(at)h(least)h(one)e(y)m(ear)h(after)g(the)f(last)h
-(time)330 3660 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
+(time)330 3927 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
(\(directly)g(or)e(through)g(y)m(our)h(agen)m(ts)h(or)f(retailers\))h
-(of)f(that)330 3769 y(edition)31 b(to)g(the)g(public.)330
-3915 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
+(of)f(that)330 4037 y(edition)31 b(to)g(the)g(public.)330
+4171 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
(con)m(tact)h(the)f(authors)f(of)h(the)g(Do)s(cumen)m(t)g(w)m(ell)330
-4025 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
+4281 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
(er)d(of)i(copies,)h(to)f(giv)m(e)h(them)f(a)g(c)m(hance)h(to)f(pro)m
-(vide)g(y)m(ou)330 4134 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
-(the)f(Do)s(cumen)m(t.)199 4281 y(4.)61 b(MODIFICA)-8
-b(TIONS)330 4427 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
+(vide)g(y)m(ou)330 4390 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
+(the)f(Do)s(cumen)m(t.)199 4524 y(4.)61 b(MODIFICA)-8
+b(TIONS)330 4658 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
h(Mo)s(di\014ed)f(V)-8 b(ersion)26 b(of)g(the)g(Do)s(cumen)m(t)g(under)
-e(the)h(conditions)330 4536 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
+e(the)h(conditions)330 4768 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
m(e,)k(pro)m(vided)20 b(that)i(y)m(ou)f(release)i(the)e(Mo)s(di\014ed)f
-(V)-8 b(ersion)22 b(under)d(precisely)330 4646 y(this)29
+(V)-8 b(ersion)22 b(under)d(precisely)330 4877 y(this)29
b(License,)h(with)f(the)g(Mo)s(di\014ed)f(V)-8 b(ersion)30
b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
-(licensing)330 4755 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
+(licensing)330 4987 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
(the)f(Mo)s(di\014ed)f(V)-8 b(ersion)35 b(to)g(who)s(ev)m(er)f(p)s
-(ossesses)f(a)i(cop)m(y)g(of)330 4865 y(it.)41 b(In)30
+(ossesses)f(a)i(cop)m(y)g(of)330 5096 y(it.)41 b(In)30
b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
-(di\014ed)e(V)-8 b(ersion:)357 5011 y(A.)60 b(Use)33
+(di\014ed)e(V)-8 b(ersion:)357 5230 y(A.)60 b(Use)33
b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e
(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)510
-5121 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
+5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
-b(,)510 5230 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
-(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
-h(title)h(as)510 5340 y(a)e(previous)f(v)m(ersion)g(if)h(the)f
-(original)i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s
-(ermission.)p eop end
+b(,)p eop end
%%Page: 59 63
-TeXDict begin 59 62 bop 150 -116 a Ft(App)s(endix)29
+TeXDict begin 59 62 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(59)360 299 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d
-(authors,)h(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s
-(onsible)c(for)510 408 y(authorship)c(of)h(the)h(mo)s(di\014cations)f
-(in)g(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i
-(least)h(\014v)m(e)510 518 y(of)c(the)g(principal)g(authors)f(of)i(the)
-f(Do)s(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g
-(has)g(few)m(er)510 628 y(than)30 b(\014v)m(e\),)h(unless)f(they)h
-(release)g(y)m(ou)g(from)f(this)g(requiremen)m(t.)359
-766 y(C.)60 b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g
-(the)g(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
-b(as)f(the)510 876 y(publisher.)355 1015 y(D.)61 b(Preserv)m(e)31
+b(59)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
+h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
+i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
+545 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h
+(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c
+(for)510 655 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g
+(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h
+(\014v)m(e)510 765 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s
+(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g
+(few)m(er)510 874 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g
+(y)m(ou)g(from)f(this)g(requiremen)m(t.)359 1011 y(C.)60
+b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g(the)g
+(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
+b(as)f(the)510 1121 y(publisher.)355 1258 y(D.)61 b(Preserv)m(e)31
b(all)g(the)g(cop)m(yrigh)m(t)h(notices)f(of)g(the)f(Do)s(cumen)m(t.)
-363 1154 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
+363 1395 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
(notice)f(for)g(y)m(our)f(mo)s(di\014cations)g(adjacen)m(t)i(to)f(the)g
-(other)510 1263 y(cop)m(yrigh)m(t)g(notices.)365 1402
+(other)510 1504 y(cop)m(yrigh)m(t)g(notices.)365 1641
y(F.)61 b(Include,)28 b(immediately)h(after)f(the)h(cop)m(yrigh)m(t)g
(notices,)h(a)e(license)h(notice)g(giving)g(the)f(public)510
-1512 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
+1751 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
b(ersion)25 b(under)e(the)i(terms)f(of)h(this)f(License,)j(in)d(the)g
-(form)510 1621 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
-1760 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
+(form)510 1861 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
+1998 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
(full)g(lists)g(of)g(In)m(v)-5 b(arian)m(t)23 b(Sections)h(and)e
-(required)g(Co)m(v)m(er)510 1870 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
-(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2008
+(required)g(Co)m(v)m(er)510 2107 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
+(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2244
y(H.)60 b(Include)30 b(an)g(unaltered)g(cop)m(y)h(of)g(this)f(License.)
-392 2147 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
+392 2381 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
(\\History",)h(Preserv)m(e)f(its)f(Title,)i(and)d(add)h(to)h(it)f(an)g
-(item)510 2257 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
+(item)510 2491 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
(authors,)i(and)e(publisher)f(of)j(the)f(Mo)s(di\014ed)f(V)-8
-b(ersion)510 2366 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
+b(ersion)510 2600 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
b(If)31 b(there)h(is)f(no)g(section)i(En)m(titled)f(\\History")h(in)e
-(the)g(Do)s(cu-)510 2476 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
+(the)g(Do)s(cu-)510 2710 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
(title,)i(y)m(ear,)g(authors,)f(and)e(publisher)f(of)i(the)g(Do)s
-(cumen)m(t)510 2586 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
+(cumen)m(t)510 2819 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
(then)d(add)g(an)g(item)g(describing)g(the)g(Mo)s(di\014ed)g(V)-8
-b(ersion)37 b(as)510 2695 y(stated)31 b(in)f(the)h(previous)f(sen)m
-(tence.)378 2834 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
+b(ersion)37 b(as)510 2929 y(stated)31 b(in)f(the)h(previous)f(sen)m
+(tence.)378 3066 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
(cation,)i(if)d(an)m(y)-8 b(,)34 b(giv)m(en)f(in)g(the)f(Do)s(cumen)m
-(t)h(for)g(public)e(access)j(to)510 2944 y(a)e(T)-8 b(ransparen)m(t)30
+(t)h(for)g(public)e(access)j(to)510 3176 y(a)e(T)-8 b(ransparen)m(t)30
b(cop)m(y)i(of)g(the)f(Do)s(cumen)m(t,)h(and)f(lik)m(ewise)h(the)g(net)
-m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3053 y(the)g(Do)s(cumen)m
+m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3285 y(the)g(Do)s(cumen)m
(t)g(for)g(previous)f(v)m(ersions)h(it)g(w)m(as)g(based)f(on.)45
-b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3163
+b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3395
y(\\History")27 b(section.)40 b(Y)-8 b(ou)25 b(ma)m(y)h(omit)g(a)f(net)
m(w)m(ork)h(lo)s(cation)g(for)f(a)h(w)m(ork)f(that)g(w)m(as)h
-(published)510 3272 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
+(published)510 3504 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
(the)h(Do)s(cumen)m(t)h(itself,)h(or)d(if)h(the)g(original)h(publisher)
-d(of)i(the)510 3382 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
-(ermission.)354 3521 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
+d(of)i(the)510 3614 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
+(ermission.)354 3751 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
(titled)h(\\Ac)m(kno)m(wledgemen)m(ts")i(or)d(\\Dedications",)k
-(Preserv)m(e)c(the)g(Title)510 3630 y(of)j(the)f(section,)j(and)d
+(Preserv)m(e)c(the)g(Title)510 3861 y(of)j(the)f(section,)j(and)d
(preserv)m(e)h(in)f(the)h(section)g(all)h(the)e(substance)h(and)f(tone)
-h(of)f(eac)m(h)i(of)f(the)510 3740 y(con)m(tributor)k(ac)m(kno)m
+h(of)f(eac)m(h)i(of)f(the)510 3970 y(con)m(tributor)k(ac)m(kno)m
(wledgemen)m(ts)i(and/or)d(dedications)h(giv)m(en)h(therein.)368
-3879 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
+4107 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
b(arian)m(t)36 b(Sections)g(of)f(the)h(Do)s(cumen)m(t,)h(unaltered)f
-(in)f(their)g(text)i(and)510 3988 y(in)f(their)g(titles.)58
+(in)f(their)g(text)i(and)510 4217 y(in)f(their)g(titles.)58
b(Section)37 b(n)m(um)m(b)s(ers)d(or)i(the)g(equiv)-5
b(alen)m(t)38 b(are)e(not)g(considered)g(part)g(of)g(the)510
-4098 y(section)c(titles.)341 4237 y(M.)61 b(Delete)33
+4326 y(section)c(titles.)341 4463 y(M.)61 b(Delete)33
b(an)m(y)e(section)h(En)m(titled)f(\\Endorsemen)m(ts".)42
b(Suc)m(h)30 b(a)i(section)f(ma)m(y)h(not)f(b)s(e)f(included)510
-4346 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
-4485 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
+4573 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
+4710 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
(to)g(b)s(e)f(En)m(titled)h(\\Endorsemen)m(ts")g(or)f(to)h(con\015ict)g
-(in)510 4595 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
-b(Section.)354 4734 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 4902 y(If)h(the)g(Mo)s(di\014ed)g
+(in)510 4819 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
+b(Section.)354 4956 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
+b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g
(V)-8 b(ersion)34 b(includes)f(new)g(fron)m(t-matter)i(sections)f(or)f
-(app)s(endices)g(that)h(qualify)330 5011 y(as)28 b(Secondary)g
+(app)s(endices)g(that)h(qualify)330 5230 y(as)28 b(Secondary)g
(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
-(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5121 y(y)m(our)k(option)h
+(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5340 y(y)m(our)k(option)h
(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
-b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330
-5230 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36
-b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36
-b(license)g(notice.)57 b(These)330 5340 y(titles)32 b(m)m(ust)e(b)s(e)g
-(distinct)h(from)e(an)m(y)i(other)g(section)g(titles.)p
+b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
eop end
%%Page: 60 64
-TeXDict begin 60 63 bop 150 -116 a Ft(App)s(endix)29
+TeXDict begin 60 63 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(60)330 299 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)i(En)m(titled)
-f(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g(nothing)g(but)
-330 408 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s(di\014ed)g(V)-8
-b(ersion)31 b(b)m(y)e(v)-5 b(arious)30 b(parties|for)g(example,)g
-(statemen)m(ts)i(of)330 518 y(p)s(eer)27 b(review)g(or)g(that)h(the)f
-(text)i(has)d(b)s(een)h(appro)m(v)m(ed)g(b)m(y)g(an)h(organization)h
-(as)e(the)h(authoritativ)m(e)330 628 y(de\014nition)i(of)h(a)f
-(standard.)330 757 y(Y)-8 b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g
-(up)e(to)i(\014v)m(e)g(w)m(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)
-30 b(T)-8 b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330
-867 y(to)g(25)g(w)m(ords)e(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8
-b(ext,)29 b(to)f(the)f(end)f(of)i(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8
-b(exts)27 b(in)g(the)h(Mo)s(di\014ed)330 976 y(V)-8 b(ersion.)58
-b(Only)35 b(one)h(passage)h(of)f(F)-8 b(ron)m(t-Co)m(v)m(er)38
-b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m(k-Co)m(v)m(er)j(T)-8
-b(ext)36 b(ma)m(y)h(b)s(e)330 1086 y(added)27 b(b)m(y)g(\(or)h(through)
-f(arrangemen)m(ts)h(made)g(b)m(y\))g(an)m(y)g(one)f(en)m(tit)m(y)-8
-b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)g(already)330 1196
-y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g(same)h(co)m(v)m
-(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m(y)g(arrangemen)m
-(t)330 1305 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m(y)i(y)m(ou)f(are)f
-(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g(not)f(add)g
-(another;)j(but)330 1415 y(y)m(ou)c(ma)m(y)h(replace)g(the)f(old)g
-(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
-(publisher)f(that)330 1524 y(added)e(the)g(old)h(one.)330
-1654 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
+b(60)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
+b(ersion's)36 b(license)g(notice.)57 b(These)330 408
+y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
+(section)g(titles.)330 551 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)
+i(En)m(titled)f(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g
+(nothing)g(but)330 661 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s
+(di\014ed)g(V)-8 b(ersion)31 b(b)m(y)e(v)-5 b(arious)30
+b(parties|for)g(example,)g(statemen)m(ts)i(of)330 770
+y(p)s(eer)27 b(review)g(or)g(that)h(the)f(text)i(has)d(b)s(een)h(appro)
+m(v)m(ed)g(b)m(y)g(an)h(organization)h(as)e(the)h(authoritativ)m(e)330
+880 y(de\014nition)i(of)h(a)f(standard.)330 1022 y(Y)-8
+b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g(up)e(to)i(\014v)m(e)g(w)m
+(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)30 b(T)-8
+b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330 1132 y(to)g(25)g(w)m(ords)e
+(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext,)29 b(to)f(the)f(end)f(of)i
+(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8 b(exts)27 b(in)g(the)h(Mo)s
+(di\014ed)330 1241 y(V)-8 b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f
+(F)-8 b(ron)m(t-Co)m(v)m(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m
+(k-Co)m(v)m(er)j(T)-8 b(ext)36 b(ma)m(y)h(b)s(e)330 1351
+y(added)27 b(b)m(y)g(\(or)h(through)f(arrangemen)m(ts)h(made)g(b)m(y\))
+g(an)m(y)g(one)f(en)m(tit)m(y)-8 b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)
+g(already)330 1461 y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g
+(same)h(co)m(v)m(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m
+(y)g(arrangemen)m(t)330 1570 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m
+(y)i(y)m(ou)f(are)f(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g
+(not)f(add)g(another;)j(but)330 1680 y(y)m(ou)c(ma)m(y)h(replace)g(the)
+f(old)g(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
+(publisher)f(that)330 1789 y(added)e(the)g(old)h(one.)330
+1932 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
(cumen)m(t)h(do)g(not)f(b)m(y)h(this)f(License)h(giv)m(e)h(p)s
-(ermission)330 1763 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
+(ermission)330 2041 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
(for)h(or)f(to)h(assert)g(or)f(imply)g(endorsemen)m(t)g(of)h(an)m(y)g
-(Mo)s(di\014ed)330 1873 y(V)-8 b(ersion.)199 2002 y(5.)61
-b(COMBINING)31 b(DOCUMENTS)330 2132 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
+(Mo)s(di\014ed)330 2151 y(V)-8 b(ersion.)199 2293 y(5.)61
+b(COMBINING)31 b(DOCUMENTS)330 2436 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
(bine)h(the)f(Do)s(cumen)m(t)g(with)g(other)f(do)s(cumen)m(ts)h
-(released)g(under)f(this)g(License,)330 2242 y(under)f(the)h(terms)g
+(released)g(under)f(this)g(License,)330 2545 y(under)f(the)h(terms)g
(de\014ned)f(in)h(section)h(4)g(ab)s(o)m(v)m(e)g(for)f(mo)s(di\014ed)f
-(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2351
+(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2655
y(include)25 b(in)g(the)g(com)m(bination)i(all)f(of)g(the)f(In)m(v)-5
b(arian)m(t)26 b(Sections)g(of)g(all)g(of)f(the)h(original)g(do)s
-(cumen)m(ts,)330 2461 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
+(cumen)m(ts,)330 2765 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
(as)g(In)m(v)-5 b(arian)m(t)28 b(Sections)f(of)g(y)m(our)g(com)m(bined)
-g(w)m(ork)f(in)h(its)g(license)330 2570 y(notice,)32
+g(w)m(ork)f(in)h(its)g(license)330 2874 y(notice,)32
b(and)e(that)h(y)m(ou)f(preserv)m(e)h(all)g(their)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 2700 y(The)e(com)m(bined)g(w)m
+b(arran)m(t)m(y)32 b(Disclaimers.)330 3017 y(The)e(com)m(bined)g(w)m
(ork)h(need)e(only)i(con)m(tain)g(one)g(cop)m(y)g(of)f(this)g(License,)
-i(and)d(m)m(ultiple)i(iden)m(tical)330 2809 y(In)m(v)-5
+i(and)d(m)m(ultiple)i(iden)m(tical)330 3126 y(In)m(v)-5
b(arian)m(t)33 b(Sections)g(ma)m(y)g(b)s(e)f(replaced)h(with)f(a)h
(single)g(cop)m(y)-8 b(.)48 b(If)32 b(there)h(are)g(m)m(ultiple)g(In)m
-(v)-5 b(arian)m(t)330 2919 y(Sections)27 b(with)g(the)g(same)g(name)g
+(v)-5 b(arian)m(t)330 3236 y(Sections)27 b(with)g(the)g(same)g(name)g
(but)f(di\013eren)m(t)h(con)m(ten)m(ts,)i(mak)m(e)f(the)f(title)h(of)f
-(eac)m(h)h(suc)m(h)f(section)330 3029 y(unique)33 b(b)m(y)h(adding)f
+(eac)m(h)h(suc)m(h)f(section)330 3345 y(unique)33 b(b)m(y)h(adding)f
(at)i(the)f(end)g(of)g(it,)h(in)f(paren)m(theses,)i(the)e(name)g(of)g
-(the)g(original)h(author)f(or)330 3138 y(publisher)23
+(the)g(original)h(author)f(or)330 3455 y(publisher)23
b(of)i(that)h(section)g(if)f(kno)m(wn,)h(or)f(else)h(a)f(unique)f(n)m
(um)m(b)s(er.)38 b(Mak)m(e)26 b(the)g(same)f(adjustmen)m(t)330
-3248 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
+3565 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
b(arian)m(t)26 b(Sections)f(in)f(the)g(license)i(notice)g(of)e(the)h
-(com)m(bined)330 3357 y(w)m(ork.)330 3487 y(In)41 b(the)g(com)m
+(com)m(bined)330 3674 y(w)m(ork.)330 3817 y(In)41 b(the)g(com)m
(bination,)46 b(y)m(ou)41 b(m)m(ust)g(com)m(bine)h(an)m(y)g(sections)g
(En)m(titled)g(\\History")h(in)e(the)g(v)-5 b(ari-)330
-3597 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
+3926 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
(En)m(titled)g(\\History";)i(lik)m(ewise)f(com)m(bine)f(an)m(y)330
-3706 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
+4036 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
b(an)m(y)h(sections)h(En)m(titled)g(\\Dedications".)47
-b(Y)-8 b(ou)330 3816 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
-(titled)f(\\Endorsemen)m(ts.")199 3945 y(6.)61 b(COLLECTIONS)28
-b(OF)i(DOCUMENTS)330 4075 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
+b(Y)-8 b(ou)330 4145 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
+(titled)f(\\Endorsemen)m(ts.")199 4288 y(6.)61 b(COLLECTIONS)28
+b(OF)i(DOCUMENTS)330 4430 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
(collection)i(consisting)f(of)f(the)g(Do)s(cumen)m(t)g(and)g(other)g
-(do)s(cumen)m(ts)f(released)330 4184 y(under)41 b(this)h(License,)k
+(do)s(cumen)m(ts)f(released)330 4540 y(under)41 b(this)h(License,)k
(and)c(replace)h(the)g(individual)f(copies)h(of)f(this)g(License)h(in)f
-(the)h(v)-5 b(arious)330 4294 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
+(the)h(v)-5 b(arious)330 4650 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
g(cop)m(y)h(that)f(is)f(included)g(in)g(the)h(collection,)48
-b(pro)m(vided)42 b(that)i(y)m(ou)330 4403 y(follo)m(w)38
+b(pro)m(vided)42 b(that)i(y)m(ou)330 4759 y(follo)m(w)38
b(the)g(rules)e(of)h(this)g(License)h(for)f(v)m(erbatim)h(cop)m(ying)g
(of)f(eac)m(h)h(of)f(the)h(do)s(cumen)m(ts)e(in)h(all)330
-4513 y(other)31 b(resp)s(ects.)330 4643 y(Y)-8 b(ou)32
+4869 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32
b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
(collection,)i(and)d(distribute)g(it)h(individu-)330
-4752 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
+5121 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
(a)g(cop)m(y)h(of)f(this)g(License)g(in)m(to)h(the)g(extracted)330
-4862 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
+5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
-4971 y(that)d(do)s(cumen)m(t.)199 5101 y(7.)61 b(A)m(GGREGA)-8
-b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330 5230 y(A)d(compilation)i
-(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5 b(ativ)m(es)30
-b(with)d(other)i(separate)g(and)e(indep)s(enden)m(t)330
-5340 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h(on)f(a)g(v)m
-(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g(is)h(called)p
-eop end
+5340 y(that)d(do)s(cumen)m(t.)p eop end
%%Page: 61 65
-TeXDict begin 61 64 bop 150 -116 a Ft(App)s(endix)29
+TeXDict begin 61 64 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(61)330 299 y(an)30 b(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i
+b(61)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+(W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
+(its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
+s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
+(on)f(a)g(v)m(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g
+(is)h(called)330 661 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i
(resulting)e(from)f(the)i(compilation)g(is)f(not)h(used)e(to)i(limit)g
-(the)330 408 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e
+(the)330 770 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e
(b)s(ey)m(ond)g(what)g(the)h(individual)f(w)m(orks)g(p)s(ermit.)39
-b(When)330 518 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
+b(When)330 880 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
(aggregate,)44 b(this)38 b(License)h(do)s(es)f(not)h(apply)f(to)h(the)g
-(other)330 628 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
+(other)330 989 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
(not)g(themselv)m(es)g(deriv)-5 b(ativ)m(e)32 b(w)m(orks)f(of)f(the)h
-(Do)s(cumen)m(t.)330 762 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
+(Do)s(cumen)m(t.)330 1132 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
b(ext)23 b(requiremen)m(t)g(of)g(section)h(3)f(is)g(applicable)h(to)f
-(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 872
+(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1241
y(then)f(if)g(the)h(Do)s(cumen)m(t)g(is)g(less)f(than)g(one)h(half)f
(of)h(the)g(en)m(tire)g(aggregate,)k(the)c(Do)s(cumen)m(t's)g(Co)m(v)m
-(er)330 981 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
+(er)330 1351 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
(ers)h(that)f(brac)m(k)m(et)h(the)f(Do)s(cumen)m(t)g(within)f(the)h
-(aggregate,)j(or)d(the)330 1091 y(electronic)37 b(equiv)-5
+(aggregate,)j(or)d(the)330 1461 y(electronic)37 b(equiv)-5
b(alen)m(t)36 b(of)g(co)m(v)m(ers)g(if)f(the)g(Do)s(cumen)m(t)h(is)f
(in)g(electronic)i(form.)54 b(Otherwise)35 b(they)330
-1200 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
-(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1335 y(8.)61
-b(TRANSLA)-8 b(TION)330 1469 y(T)g(ranslation)41 b(is)f(considered)f(a)
+1570 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
+(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1713 y(8.)61
+b(TRANSLA)-8 b(TION)330 1855 y(T)g(ranslation)41 b(is)f(considered)f(a)
i(kind)e(of)h(mo)s(di\014cation,)j(so)d(y)m(ou)g(ma)m(y)h(distribute)e
-(translations)330 1579 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
+(translations)330 1965 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
(terms)h(of)f(section)i(4.)83 b(Replacing)45 b(In)m(v)-5
-b(arian)m(t)45 b(Sections)g(with)330 1689 y(translations)h(requires)f
+b(arian)m(t)45 b(Sections)g(with)330 2074 y(translations)h(requires)f
(sp)s(ecial)h(p)s(ermission)f(from)g(their)g(cop)m(yrigh)m(t)i
-(holders,)i(but)c(y)m(ou)g(ma)m(y)330 1798 y(include)24
+(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2184 y(include)24
b(translations)i(of)e(some)h(or)g(all)g(In)m(v)-5 b(arian)m(t)25
b(Sections)g(in)f(addition)h(to)g(the)g(original)h(v)m(ersions)330
-1908 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
+2293 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
b(Y)-8 b(ou)32 b(ma)m(y)g(include)f(a)h(translation)g(of)g(this)f
-(License,)i(and)d(all)j(the)330 2017 y(license)42 b(notices)g(in)f(the)
+(License,)i(and)d(all)j(the)330 2403 y(license)42 b(notices)g(in)f(the)
h(Do)s(cumen)m(t,)j(and)40 b(an)m(y)i(W)-8 b(arran)m(t)m(y)42
-b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2127
+b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2513
y(also)f(include)f(the)g(original)h(English)f(v)m(ersion)g(of)g(this)g
(License)h(and)e(the)h(original)h(v)m(ersions)g(of)330
-2237 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
+2622 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
b(case)i(of)g(a)f(disagreemen)m(t)h(b)s(et)m(w)m(een)g(the)f
-(translation)i(and)330 2346 y(the)f(original)i(v)m(ersion)e(of)h(this)f
+(translation)i(and)330 2732 y(the)f(original)i(v)m(ersion)e(of)h(this)f
(License)h(or)f(a)g(notice)i(or)e(disclaimer,)i(the)f(original)g(v)m
-(ersion)g(will)330 2456 y(prev)-5 b(ail.)330 2590 y(If)28
+(ersion)g(will)330 2841 y(prev)-5 b(ail.)330 2984 y(If)28
b(a)h(section)h(in)e(the)h(Do)s(cumen)m(t)h(is)e(En)m(titled)i(\\Ac)m
(kno)m(wledgemen)m(ts",)i(\\Dedications",)g(or)d(\\His-)330
-2700 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
+3093 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
(e)g(its)f(Title)i(\(section)f(1\))g(will)g(t)m(ypically)h(require)330
-2809 y(c)m(hanging)j(the)g(actual)h(title.)199 2944 y(9.)61
-b(TERMINA)-8 b(TION)330 3078 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
+3203 y(c)m(hanging)j(the)g(actual)h(title.)199 3345 y(9.)61
+b(TERMINA)-8 b(TION)330 3488 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
b(,)31 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)f(the)h
-(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3188 y(pro)m(vided)41
-b(for)h(under)e(this)i(License.)75 b(An)m(y)42 b(other)g(attempt)h(to)g
-(cop)m(y)-8 b(,)46 b(mo)s(dify)-8 b(,)44 b(sublicense)e(or)330
-3298 y(distribute)36 b(the)h(Do)s(cumen)m(t)g(is)g(v)m(oid,)i(and)d
-(will)h(automatically)i(terminate)f(y)m(our)e(righ)m(ts)h(under)330
-3407 y(this)28 b(License.)40 b(Ho)m(w)m(ev)m(er,)31 b(parties)d(who)f
-(ha)m(v)m(e)i(receiv)m(ed)g(copies,)h(or)d(righ)m(ts,)i(from)f(y)m(ou)g
-(under)e(this)330 3517 y(License)37 b(will)g(not)g(ha)m(v)m(e)h(their)f
-(licenses)g(terminated)h(so)f(long)g(as)g(suc)m(h)f(parties)h(remain)g
-(in)f(full)330 3626 y(compliance.)154 3761 y(10.)61 b(FUTURE)30
-b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 3895 y(The)41 b(F)-8
-b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 b(ma)m(y)f(publish)e
-(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)-8
-b(ree)330 4005 y(Do)s(cumen)m(tation)34 b(License)e(from)g(time)h(to)g
-(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
-(in)g(spirit)330 4115 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)
-m(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
-(concerns.)330 4224 y(See)c Fs(http://www.gnu.org/copy)o(left)o(/)p
-Ft(.)330 4359 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
-(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
-b(If)29 b(the)g(Do)s(cumen)m(t)330 4468 y(sp)s(eci\014es)45
-b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
-(License)h(\\or)g(an)m(y)g(later)g(v)m(ersion")330 4578
-y(applies)33 b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f
-(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
-4687 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
+(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3598 y(pro)m(vided)38
+b(under)f(this)i(License.)65 b(An)m(y)39 b(attempt)h(otherwise)f(to)g
+(cop)m(y)-8 b(,)42 b(mo)s(dify)-8 b(,)40 b(sublicense,)h(or)330
+3707 y(distribute)30 b(it)h(is)f(v)m(oid,)h(and)f(will)h(automatically)
+i(terminate)f(y)m(our)e(righ)m(ts)h(under)e(this)h(License.)330
+3850 y(Ho)m(w)m(ev)m(er,)35 b(if)e(y)m(ou)f(cease)i(all)f(violation)i
+(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f(a)h
+(particular)330 3959 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h
+(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g
+(cop)m(yrigh)m(t)h(holder)330 4069 y(explicitly)42 b(and)e(\014nally)h
+(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8
+b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 4178 y(holder)34
+b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h
+(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 4288
+y(after)31 b(the)f(cessation.)330 4430 y(Moreo)m(v)m(er,)k(y)m(our)d
+(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h
+(reinstated)g(p)s(ermanen)m(tly)f(if)330 4540 y(the)d(cop)m(yrigh)m(t)h
+(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g
+(reasonable)h(means,)f(this)g(is)g(the)330 4650 y(\014rst)f(time)i(y)m
+(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f
+(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330
+4759 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g
+(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h
+(of)f(the)330 4869 y(notice.)330 5011 y(T)-8 b(ermination)28
+b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h
+(terminate)h(the)e(licenses)i(of)f(parties)330 5121 y(who)38
+b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
+(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e)
+330 5230 y(b)s(een)25 b(terminated)i(and)e(not)h(p)s(ermanen)m(tly)g
+(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
+(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
+(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
+%%Page: 62 66
+TeXDict begin 62 65 bop 150 -116 a Fs(App)s(endix)29
+b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
+b(62)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
+b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
+(the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
+b(License)e(from)g(time)h(to)g(time.)46 b(Suc)m(h)31
+b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h(in)g(spirit)330
+653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m(y)h(di\013er)f
+(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i(concerns.)330
+762 y(See)c Fr(http://www.gnu.org/copy)o(left)o(/)p Fs(.)330
+897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m(en)g(a)g
+(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39 b(If)29
+b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45 b(that)h(a)g
+(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g(License)h
+(\\or)g(an)m(y)g(later)g(v)m(ersion")330 1116 y(applies)33
+b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f(follo)m(wing)i
+(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
+1225 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
(ersion)f(that)g(has)g(b)s(een)f(published)f(\(not)j(as)f(a)g(draft\))g
-(b)m(y)330 4797 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
+(b)m(y)330 1335 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
b(oundation.)49 b(If)32 b(the)h(Do)s(cumen)m(t)g(do)s(es)g(not)g(sp)s
-(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 4907
+(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 1445
y(this)i(License,)j(y)m(ou)d(ma)m(y)i(c)m(ho)s(ose)f(an)m(y)g(v)m
(ersion)g(ev)m(er)g(published)e(\(not)i(as)g(a)f(draft\))h(b)m(y)f(the)
-h(F)-8 b(ree)330 5016 y(Soft)m(w)m(are)31 b(F)-8 b(oundation.)p
-eop end
-%%Page: 62 66
-TeXDict begin 62 65 bop 150 -116 a Ft(App)s(endix)29
+h(F)-8 b(ree)330 1554 y(Soft)m(w)m(are)33 b(F)-8 b(oundation.)46
+b(If)32 b(the)g(Do)s(cumen)m(t)g(sp)s(eci\014es)g(that)g(a)h(pro)m(xy)f
+(can)g(decide)g(whic)m(h)g(future)330 1664 y(v)m(ersions)h(of)g(this)f
+(License)h(can)g(b)s(e)f(used,)g(that)i(pro)m(xy's)e(public)g(statemen)
+m(t)i(of)f(acceptance)i(of)e(a)330 1773 y(v)m(ersion)e(p)s(ermanen)m
+(tly)f(authorizes)h(y)m(ou)g(to)g(c)m(ho)s(ose)g(that)g(v)m(ersion)g
+(for)f(the)h(Do)s(cumen)m(t.)154 1908 y(11.)61 b(RELICENSING)330
+2042 y(\\Massiv)m(e)39 b(Multiauthor)f(Collab)s(oration)g(Site")h(\(or)
+e(\\MMC)h(Site"\))h(means)e(an)m(y)h(W)-8 b(orld)37 b(Wide)330
+2152 y(W)-8 b(eb)36 b(serv)m(er)g(that)h(publishes)d(cop)m(yrigh)m
+(table)k(w)m(orks)e(and)f(also)i(pro)m(vides)e(prominen)m(t)h
+(facilities)330 2262 y(for)27 b(an)m(yb)s(o)s(dy)g(to)h(edit)g(those)g
+(w)m(orks.)39 b(A)28 b(public)f(wiki)h(that)g(an)m(yb)s(o)s(dy)e(can)i
+(edit)g(is)f(an)h(example)g(of)330 2371 y(suc)m(h)33
+b(a)h(serv)m(er.)51 b(A)34 b(\\Massiv)m(e)i(Multiauthor)e(Collab)s
+(oration")h(\(or)f(\\MMC"\))h(con)m(tained)g(in)f(the)330
+2481 y(site)d(means)f(an)m(y)h(set)g(of)g(cop)m(yrigh)m(table)h(w)m
+(orks)e(th)m(us)g(published)f(on)h(the)h(MMC)f(site.)330
+2615 y(\\CC-BY-SA")36 b(means)f(the)g(Creativ)m(e)i(Commons)e(A)m
+(ttribution-Share)g(Alik)m(e)i(3.0)f(license)g(pub-)330
+2725 y(lished)27 b(b)m(y)f(Creativ)m(e)j(Commons)d(Corp)s(oration,)h(a)
+g(not-for-pro\014t)g(corp)s(oration)h(with)e(a)h(principal)330
+2834 y(place)g(of)f(business)e(in)i(San)f(F)-8 b(rancisco,)29
+b(California,)f(as)e(w)m(ell)h(as)f(future)f(cop)m(yleft)i(v)m(ersions)
+f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
+(organization.)330 3078 y(\\Incorp)s(orate")h(means)e(to)h(publish)e
+(or)i(republish)e(a)i(Do)s(cumen)m(t,)g(in)g(whole)g(or)f(in)g(part,)h
+(as)g(part)330 3188 y(of)g(another)f(Do)s(cumen)m(t.)330
+3323 y(An)c(MMC)g(is)h(\\eligible)h(for)e(relicensing")h(if)g(it)f(is)h
+(licensed)f(under)f(this)h(License,)i(and)e(if)g(all)h(w)m(orks)330
+3432 y(that)43 b(w)m(ere)f(\014rst)f(published)f(under)h(this)h
+(License)g(somewhere)g(other)g(than)g(this)g(MMC,)h(and)330
+3542 y(subsequen)m(tly)34 b(incorp)s(orated)h(in)f(whole)h(or)g(in)f
+(part)h(in)m(to)h(the)f(MMC,)g(\(1\))h(had)e(no)h(co)m(v)m(er)h(texts)
+330 3651 y(or)30 b(in)m(v)-5 b(arian)m(t)32 b(sections,)g(and)d(\(2\))j
+(w)m(ere)f(th)m(us)f(incorp)s(orated)g(prior)g(to)h(No)m(v)m(em)m(b)s
+(er)g(1,)g(2008.)330 3786 y(The)40 b(op)s(erator)h(of)g(an)f(MMC)h
+(Site)g(ma)m(y)g(republish)e(an)h(MMC)h(con)m(tained)h(in)e(the)h(site)
+g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
+(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
+330 4005 y(eligible)h(for)e(relicensing.)p eop end
+%%Page: 63 67
+TeXDict begin 63 66 bop 150 -116 a Fs(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(62)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
-(for)g(y)l(our)g(do)t(cumen)l(ts)275 543 y Ft(T)-8 b(o)27
-b(use)g(this)g(License)h(in)f(a)h(do)s(cumen)m(t)f(y)m(ou)h(ha)m(v)m(e)
-g(written,)g(include)f(a)h(cop)m(y)g(of)f(the)h(License)g(in)f(the)150
-653 y(do)s(cumen)m(t)j(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)m
-(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468
-765 y Fd(Copyright)42 b(\(C\))79 b Fc(year)88 b(your)40
-b(name)p Fd(.)468 852 y(Permission)i(is)e(granted)g(to)g(copy,)h
-(distribute)g(and/or)g(modify)f(this)g(document)468 939
+b(63)150 299 y Fq(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+(for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fs(T)-8 b(o)35
+b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
+i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
+568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)
+m(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468
+680 y Fe(Copyright)42 b(\(C\))79 b Fc(year)88 b(your)40
+b(name)9 b Fe(.)468 767 y(Permission)42 b(is)e(granted)g(to)g(copy,)h
+(distribute)g(and/or)g(modify)f(this)g(document)468 854
y(under)h(the)f(terms)g(of)g(the)g(GNU)g(Free)g(Documentation)i
-(License,)f(Version)g(1.2)468 1026 y(or)f(any)g(later)g(version)h
+(License,)f(Version)g(1.3)468 941 y(or)f(any)g(later)g(version)h
(published)h(by)d(the)h(Free)g(Software)h(Foundation;)468
-1113 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g
-(and)f(no)f(Back-Cover)468 1200 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f
+1029 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g
+(and)f(no)f(Back-Cover)468 1116 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f
(license)i(is)f(included)h(in)f(the)g(section)g(entitled)h(``GNU)468
-1288 y(Free)g(Documentation)h(License''.)275 1410 y Ft(If)d(y)m(ou)h
+1203 y(Free)g(Documentation)h(License''.)275 1337 y Fs(If)d(y)m(ou)h
(ha)m(v)m(e)h(In)m(v)-5 b(arian)m(t)41 b(Sections,)i(F)-8
b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k
-(T)-8 b(exts,)43 b(replace)e(the)150 1520 y(\\with)6
+(T)-8 b(exts,)43 b(replace)e(the)150 1447 y(\\with)6
b(.)22 b(.)g(.)12 b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547
-1632 y Fd(with)40 b(the)g(Invariant)h(Sections)g(being)g
-Fc(list)f(their)g(titles)p Fd(,)h(with)547 1719 y(the)f(Front-Cover)i
-(Texts)e(being)g Fc(list)p Fd(,)h(and)f(with)g(the)g(Back-Cover)h
-(Texts)547 1806 y(being)f Fc(list)p Fd(.)275 1929 y Ft(If)34
-b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f
-(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g
-(of)g(the)150 2038 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g
-(alternativ)m(es)i(to)e(suit)f(the)h(situation.)275 2173
-y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
-(examples)g(of)f(program)f(co)s(de,)j(w)m(e)e(recommend)g(releasing)150
-2283 y(these)44 b(examples)f(in)g(parallel)h(under)e(y)m(our)h(c)m
-(hoice)i(of)e(free)g(soft)m(w)m(are)h(license,)k(suc)m(h)43
-b(as)g(the)g(GNU)150 2392 y(General)31 b(Public)f(License,)i(to)f(p)s
-(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
-eop end
-%%Page: 63 67
-TeXDict begin 63 66 bop 150 -116 a Ft(Concept)31 b(Index)2927
-b(63)150 299 y Fp(Concept)52 b(Index)150 638 y Fr(A)150
-758 y Fb(application-sp)r(eci\014c)27 b(completion)f(functions)9
-b Fa(.)14 b(.)e(.)g(.)h(.)f(.)g(.)35 b Fb(41)150 1017
-y Fr(C)150 1137 y Fb(command)26 b(editing)20 b Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)46 b Fb(1)150
-1396 y Fr(E)150 1516 y Fb(editing)26 b(command)g(lines)e
-Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(1)150 1775 y Fr(I)150
-1894 y Fb(initialization)28 b(\014le,)e(readline)8 b
-Fa(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(4)150 1983 y(in)n(teraction,)27
-b(readline)10 b Fa(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36
-b Fb(1)150 2243 y Fr(K)2025 638 y Fb(kill)26 b(ring)15
-b Fa(.)e(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
-(.)h(.)f(.)g(.)42 b Fb(3)2025 727 y(killing)26 b(text)18
-b Fa(.)12 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)44 b Fb(2)2025 986 y Fr(N)2025 1106 y Fb(notation,)26
-b(readline)13 b Fa(.)h(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
-b Fb(1)2025 1365 y Fr(R)2025 1485 y Fb(readline,)26 b(function)15
-b Fa(.)e(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)41 b Fb(20)2025
-1744 y Fr(V)2025 1864 y Fb(v)l(ariables,)27 b(readline)8
-b Fa(.)k(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)34 b
-Fb(5)2025 2123 y Fr(Y)2025 2243 y Fb(y)n(anking)25 b(text)8
-b Fa(.)j(.)i(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34
-b Fb(2)p eop end
+1559 y Fe(with)40 b(the)g(Invariant)h(Sections)g(being)g
+Fc(list)f(their)g(titles)9 b Fe(,)41 b(with)547 1646
+y(the)f(Front-Cover)i(Texts)e(being)g Fc(list)9 b Fe(,)40
+b(and)g(with)g(the)g(Back-Cover)i(Texts)547 1733 y(being)e
+Fc(list)9 b Fe(.)275 1868 y Fs(If)34 b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5
+b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8
+b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
+1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e
+(suit)f(the)h(situation.)275 2112 y(If)23 b(y)m(our)h(do)s(cumen)m(t)f
+(con)m(tains)i(non)m(trivial)g(examples)g(of)f(program)f(co)s(de,)j(w)m
+(e)e(recommend)g(releasing)150 2222 y(these)44 b(examples)f(in)g
+(parallel)h(under)e(y)m(our)h(c)m(hoice)i(of)e(free)g(soft)m(w)m(are)h
+(license,)k(suc)m(h)43 b(as)g(the)g(GNU)150 2331 y(General)31
+b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m
+(w)m(are.)p eop end
%%Page: 64 68
-TeXDict begin 64 67 bop 150 -116 a Ft(F)-8 b(unction)31
-b(and)f(V)-8 b(ariable)32 b(Index)2370 b(64)150 299 y
-Fp(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)p
-159 610 41 6 v 150 726 a Fd(_rl_digit_p)23 b Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
-b Fb(36)150 814 y Fd(_rl_digit_value)15 b Fa(.)g(.)e(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)40 b Fb(36)150 901 y Fd(_rl_lowercase_p)15
-b Fa(.)g(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)40 b Fb(36)150
-988 y Fd(_rl_to_lower)22 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
-(.)h(.)f(.)g(.)45 b Fb(36)150 1076 y Fd(_rl_to_upper)22
-b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)45
-b Fb(36)150 1163 y Fd(_rl_uppercase_p)15 b Fa(.)g(.)e(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)g(.)h(.)40 b Fb(36)150 1415 y Fr(A)150 1531 y
-Fd(abort)27 b(\(C-g\))9 b Fa(.)k(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)35 b Fb(18)150 1618 y Fd(accept-line)28
-b(\(Newline)g(or)e(Return\))12 b Fa(.)h(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)37 b Fb(13)150 1871 y Fr(B)150 1987 y Fd(backward-char)29
-b(\(C-b\))16 b Fa(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)41 b Fb(13)150
-2074 y Fd(backward-delete-char)30 b(\(Rubout\))21 b Fa(.)13
-b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b
-Fb(15)150 2161 y Fd(backward-kill-line)30 b(\(C-x)c(Rubout\))f
-Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49 b
-Fb(16)150 2249 y Fd(backward-kill-word)30 b(\(M-)999
-2246 y Fk(h)p 1024 2193 146 4 v 1024 2249 a Fj(DEL)p
-1024 2264 V 1165 2246 a Fk(i)1195 2249 y Fd(\))21 b Fa(.)13
-b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)46
-b Fb(16)150 2336 y Fd(backward-word)29 b(\(M-b\))16 b
-Fa(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)41 b Fb(13)150 2423 y Fd
-(beginning-of-history)30 b(\(M-<\))25 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)49 b Fb(14)150
-2511 y Fd(beginning-of-line)29 b(\(C-a\))10 b Fa(.)k(.)e(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35
-b Fb(13)150 2598 y(b)r(ell-st)n(yle)14 b Fa(.)f(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)40 b
-Fb(5)150 2685 y(bind-tt)n(y-sp)r(ecial-c)n(hars)21 b
-Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(5)150 2935
-y Fr(C)150 3051 y Fd(call-last-kbd-macro)30 b(\(C-x)c(e\))11
-b Fa(.)i(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36
-b Fb(18)150 3139 y Fd(capitalize-word)29 b(\(M-c\))13
-b Fa(.)g(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)38 b Fb(15)150 3226 y Fd(character-search)29
-b(\(C-]\))11 b Fa(.)j(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(18)150 3313 y
-Fd(character-search-backward)31 b(\(M-C-]\))14 b Fa(.)g(.)e(.)g(.)h(.)f
-(.)g(.)h(.)f(.)39 b Fb(19)150 3401 y Fd(clear-screen)28
-b(\(C-l\))17 b Fa(.)d(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)43 b Fb(13)150
-3488 y(commen)n(t-b)r(egin)18 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)44 b Fb(5)150 3575 y Fd(complete)27
-b(\()528 3572 y Fk(h)p 553 3519 148 4 v 553 3575 a Fj(T)-6
-b(AB)p 553 3590 V 697 3572 a Fk(i)726 3575 y Fd(\))20
-b Fa(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fb(17)150
-3662 y(completion-pre\014x-displa)n(y-length)7 b Fa(.)k(.)i(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fb(5)150
-3750 y(completion-query-items)8 b Fa(.)k(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)34
-b Fb(5)150 3837 y(con)n(v)n(ert-meta)18 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fb(5)150 3924
-y Fd(copy-backward-word)30 b(\(\))13 b Fa(.)f(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38
-b Fb(16)150 4012 y Fd(copy-forward-word)29 b(\(\))14
-b Fa(.)f(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(16)150 4099 y Fd(copy-region-as-kill)30
-b(\(\))11 b Fa(.)i(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(16)150 4351 y Fr(D)150
-4467 y Fd(delete-char)28 b(\(C-d\))20 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)44 b Fb(15)150 4554 y Fd(delete-char-or-list)30
-b(\(\))11 b Fa(.)i(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(17)150 4642 y Fd
-(delete-horizontal-space)31 b(\(\))24 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)49 b Fb(16)150
-4729 y Fd(digit-argument)29 b(\()p Fc(M-0)p Fd(,)e Fc(M-1)p
-Fd(,)f(...)g Fc(M--)p Fd(\))14 b Fa(.)g(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)
-40 b Fb(17)150 4816 y(disable-completion)16 b Fa(.)e(.)e(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)42 b Fb(6)150 4904 y Fd(do-uppercase-version)30
-b(\(M-a,)d(M-b,)f(M-)p Fc(x)p Fd(,)h(...)q(\))318 4991
-y Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(18)150 5078 y Fd(downcase-word)29
-b(\(M-l\))16 b Fa(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)41 b Fb(15)150
-5165 y Fd(dump-functions)29 b(\(\))19 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)44 b Fb(19)150 5253 y Fd(dump-macros)28 b(\(\))c
-Fa(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48
-b Fb(19)150 5340 y Fd(dump-variables)29 b(\(\))19 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)44 b Fb(19)2025 610 y
-Fr(E)2025 747 y Fb(editing-mo)r(de)19 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)45 b Fb(6)2025 845
-y Fd(emacs-editing-mode)29 b(\(C-e\))8 b Fa(.)14 b(.)f(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)34
-b Fb(19)2025 942 y(enable-k)n(eypad)18 b Fa(.)10 b(.)j(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)44 b Fb(6)2025 1040 y
-Fd(end-kbd-macro)28 b(\(C-x)f(\)\))20 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)45
-b Fb(18)2025 1137 y Fd(end-of-history)29 b(\(M->\))14
-b Fa(.)f(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)40 b Fb(14)2025 1235 y Fd(end-of-line)28
-b(\(C-e\))20 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44
-b Fb(13)2025 1333 y Fd(exchange-point-and-mark)31 b(\(C-x)26
-b(C-x\))21 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
-b Fb(18)2025 1430 y(expand-tilde)11 b Fa(.)g(.)i(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(6)2025 1734
-y Fr(F)2025 1871 y Fd(forward-backward-delete-char)32
-b(\(\))16 b Fa(.)d(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)42
-b Fb(15)2025 1968 y Fd(forward-char)28 b(\(C-f\))17 b
-Fa(.)d(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)43 b Fb(13)2025 2066 y
-Fd(forward-search-history)30 b(\(C-s\))22 b Fa(.)13 b(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)47 b Fb(14)2025 2163
-y Fd(forward-word)28 b(\(M-f\))17 b Fa(.)d(.)e(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)43
-b Fb(13)2025 2459 y Fr(H)2025 2596 y Fb(history-preserv)n(e-p)r(oin)n
-(t)16 b Fa(.)11 b(.)i(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(6)2025
-2694 y Fd(history-search-backward)31 b(\(\))24 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)49
-b Fb(14)2025 2791 y Fd(history-search-forward)30 b(\(\))7
-b Fa(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)33 b Fb(14)2025 2889 y(history-size)12 b Fa(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)38 b
-Fb(6)2025 2986 y(horizon)n(tal-scroll-mo)r(de)11 b Fa(.)j(.)f(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)37 b Fb(6)2025 3273 y Fr(I)2025 3410 y Fb(input-meta)15
-b Fa(.)d(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)42 b Fb(6)2025 3508 y Fd(insert-comment)29 b(\(M-#\))14
-b Fa(.)f(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)40 b Fb(19)2025 3605 y Fd(insert-completions)29
-b(\(M-*\))8 b Fa(.)14 b(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)34 b Fb(17)2025 3703 y(isearc)n(h-terminators)6
-b Fa(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)33 b Fb(6)2025
-3990 y Fr(K)2025 4127 y Fb(k)n(eymap)17 b Fa(.)12 b(.)g(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)44
-b Fb(6)2025 4225 y Fd(kill-line)27 b(\(C-k\))c Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)47 b Fb(16)2025
-4322 y Fd(kill-region)28 b(\(\))23 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)49 b Fb(16)2025 4420 y Fd(kill-whole-line)29
-b(\(\))17 b Fa(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)43 b Fb(16)2025
-4517 y Fd(kill-word)27 b(\(M-d\))c Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
-(.)g(.)h(.)47 b Fb(16)2025 4813 y Fr(M)2025 4950 y Fb(mark-mo)r
-(di\014ed-lines)15 b Fa(.)d(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42
-b Fb(7)2025 5047 y(mark-symlink)n(ed-directories)20 b
-Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)47 b Fb(7)2025 5145 y(matc)n(h-hidden-\014les)20
-b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)48 b Fb(7)2025
-5242 y Fd(menu-complete)28 b(\(\))21 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)46 b Fb(17)2025 5340 y(meta-\015ag)9 b Fa(.)j(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)35
-b Fb(6)p eop end
+TeXDict begin 64 67 bop 150 -116 a Fs(Concept)31 b(Index)2927
+b(64)150 299 y Fo(Concept)52 b(Index)150 638 y Fq(A)150
+754 y Fb(application-sp)r(eci\014c)27 b(completion)f(functions)17
+b Fa(:)d(:)f(:)g(:)g(:)h(:)f(:)43 b Fb(41)150 1005 y
+Fq(C)150 1121 y Fb(command)26 b(editing)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 b Fb(1)150 1372 y Fq(E)150
+1488 y Fb(editing)26 b(command)g(lines)15 b Fa(:)f(:)f(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)42 b Fb(1)150 1738 y Fq(I)150 1855 y Fb(initialization)28
+b(\014le,)e(readline)15 b Fa(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b
+Fb(4)150 1942 y(in)n(teraction,)27 b(readline)c Fa(:)13
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fb(1)150
+2193 y Fq(K)150 2309 y Fb(kill)26 b(ring)d Fa(:)13 b(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50
+b Fb(2)2025 638 y(killing)26 b(text)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
+b Fb(2)2025 925 y Fq(N)2025 1056 y Fb(notation,)26 b(readline)11
+b Fa(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38
+b Fb(1)2025 1343 y Fq(R)2025 1474 y Fb(readline,)26 b(function)12
+b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
+b Fb(20)2025 1761 y Fq(V)2025 1891 y Fb(v)l(ariables,)27
+b(readline)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50
+b Fb(4)2025 2178 y Fq(Y)2025 2309 y Fb(y)n(anking)25
+b(text)11 b Fa(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)38 b Fb(2)p eop end
%%Page: 65 69
-TeXDict begin 65 68 bop 150 -116 a Ft(F)-8 b(unction)31
+TeXDict begin 65 68 bop 150 -116 a Fs(F)-8 b(unction)31
b(and)f(V)-8 b(ariable)32 b(Index)2370 b(65)150 299 y
-Fr(N)150 417 y Fd(next-history)28 b(\(C-n\))17 b Fa(.)d(.)e(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)43 b Fb(14)150 506 y Fd(non-incremental-forward-searc)q(h-hi)q
-(story)32 b(\(M-n\))318 593 y Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
-b Fb(14)150 681 y Fd(non-incremental-reverse-searc)q(h-hi)q(story)32
-b(\(M-p\))318 769 y Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(14)150
-1008 y Fr(O)150 1126 y Fb(output-meta)10 b Fa(.)i(.)g(.)g(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(7)150
-1215 y Fd(overwrite-mode)29 b(\(\))19 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)44 b Fb(15)150 1462 y Fr(P)150 1581 y Fb(page-completions)23
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48
-b Fb(7)150 1669 y Fd(possible-completions)30 b(\(M-?\))25
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-49 b Fb(17)150 1758 y Fd(prefix-meta)28 b(\()646 1755
-y Fk(h)p 671 1702 139 4 v 671 1758 a Fj(ESC)p 671 1773
-V 804 1755 a Fk(i)834 1758 y Fd(\))20 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-45 b Fb(18)150 1846 y Fd(previous-history)29 b(\(C-p\))11
-b Fa(.)j(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)37 b Fb(14)150 2104 y Fr(Q)150 2223 y
-Fd(quoted-insert)29 b(\(C-q)d(or)g(C-v\))20 b Fa(.)13
-b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
-b Fb(15)150 2481 y Fr(R)150 2599 y Fd(re-read-init-file)29
-b(\(C-x)e(C-r\))11 b Fa(.)i(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)36 b Fb(18)150 2687 y Fd(readline)7 b
-Fa(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)32 b Fb(20)150 2776 y Fd(redraw-current-line)e(\(\))11
-b Fa(.)i(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)37 b Fb(13)150 2864 y Fd(reverse-search-history)31
-b(\(C-r\))22 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)46 b Fb(14)150 2953 y(rev)n(ert-all-at-newline)9
-b Fa(.)k(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(7)150
-3041 y Fd(revert-line)28 b(\(M-r\))20 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)44 b Fb(18)150 3130 y Fd(rl_add_defun)22 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)45
-b Fb(28)150 3218 y Fd(rl_add_funmap_entry)9 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(31)150 3306 y Fd(rl_add_undo)23
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
-b Fb(32)150 3395 y Fd(rl_alphabetic)18 b Fa(.)d(.)d(.)h(.)f(.)g(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)43 b Fb(36)150 3483 y Fd(rl_already_prompted)9
-b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(24)150 3572
-y Fd(rl_attempted_completion_funct)q(ion)9 b Fa(.)18
-b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)34 b Fb(43)150
-3660 y Fd(rl_attempted_completion_over)15 b Fa(.)j(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)39 b
-Fb(47)150 3748 y Fd(rl_basic_quote_characters)18 b Fa(.)g(.)13
-b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)44
-b Fb(45)150 3837 y Fd(rl_basic_word_break_character)q(s)11
-b Fa(.)18 b(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)37
-b Fb(45)150 3925 y Fd(rl_begin_undo_group)9 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(31)150 4014 y Fd(rl_bind_key)23
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
-b Fb(29)150 4102 y Fd(rl_bind_key_if_unbound)28 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)48 b Fb(29)150 4191 y Fd(rl_bind_key_if_unbound_in_map)14
-b Fa(.)j(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)38
-b Fb(29)150 4279 y Fd(rl_bind_key_in_map)10 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)36 b Fb(29)150 4367 y Fd(rl_bind_keyseq)16
-b Fa(.)g(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42 b
-Fb(29)150 4456 y Fd(rl_bind_keyseq_if_unbound)18 b Fa(.)g(.)13
-b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)44
-b Fb(30)150 4544 y Fd(rl_bind_keyseq_if_unbound_in_)q(map)9
-b Fa(.)18 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)34 b
-Fb(30)150 4633 y Fd(rl_bind_keyseq_in_map)29 b Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)50 b Fb(30)150 4721 y Fd(rl_binding_keymap)12
-b Fa(.)k(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(25)150 4809
-y Fd(rl_callback_handler_install)16 b Fa(.)i(.)12 b(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)41 b Fb(37)150 4898 y
-Fd(rl_callback_handler_remove)17 b Fa(.)h(.)12 b(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42 b Fb(38)150 4986 y
-Fd(rl_callback_read_char)29 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)50 b Fb(37)150
-5075 y Fd(rl_catch_signals)13 b Fa(.)j(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-39 b Fb(40)150 5163 y Fd(rl_catch_sigwinch)12 b Fa(.)k(.)c(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)37 b Fb(40)150 5252 y Fd(rl_char_is_quoted_p)9
-b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(44)150 5340
-y Fd(rl_cleanup_after_signal)26 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)47 b Fb(40)2025
-299 y Fd(rl_clear_message)13 b Fa(.)j(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-39 b Fb(33)2025 387 y Fd(rl_clear_pending_input)27 b
-Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)48 b Fb(34)2025 476 y Fd(rl_clear_signals)13
-b Fa(.)j(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fb(41)2025
-564 y Fd(rl_complete)23 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)46 b Fb(42)2025 653 y Fd(rl_complete_internal)7
-b Fa(.)17 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fb(42)2025 741 y
-Fd(rl_completer_quote_characters)13 b Fa(.)18 b(.)13
-b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38 b Fb(45)2025
-830 y Fd(rl_completer_word_break_charac)q(ters)30 b Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(45)2025 918 y Fd
-(rl_completion_append_character)12 b Fa(.)18 b(.)12 b(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)37 b Fb(45)2025 1006 y Fd
-(rl_completion_display_matches_)q(hook)30 b Fa(.)12 b(.)h(.)f(.)g(.)h
-(.)f(.)49 b Fb(44)2025 1095 y Fd(rl_completion_entry_function)7
-b Fa(.)18 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32
-b Fb(42,)27 b(43)2025 1183 y Fd(rl_completion_found_quote)18
-b Fa(.)g(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)44 b Fb(46)2025 1272 y Fd(rl_completion_invoking_key)17
-b Fa(.)h(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-43 b Fb(47)2025 1360 y Fd(rl_completion_mark_symlink_dir)q(s)10
-b Fa(.)18 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35
-b Fb(46)2025 1449 y Fd(rl_completion_matches)29 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
-(.)h(.)f(.)50 b Fb(43)2025 1537 y Fd(rl_completion_mode)10
-b Fa(.)17 b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(43)2025
-1625 y Fd(rl_completion_query_items)18 b Fa(.)g(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)44
-b Fb(45)2025 1714 y Fd(rl_completion_quote_character)13
-b Fa(.)18 b(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38
-b Fb(46)2025 1802 y Fd(rl_completion_suppress_append)13
-b Fa(.)18 b(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38
-b Fb(46)2025 1891 y Fd(rl_completion_suppress_quote)15
-b Fa(.)i(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
-b Fb(46)2025 1979 y Fd(rl_completion_type)10 b Fa(.)17
-b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(47)2025 2068 y Fd
-(rl_completion_word_break_hook)13 b Fa(.)18 b(.)13 b(.)f(.)g(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)38 b Fb(45)2025 2156 y Fd(rl_copy_keymap)16
-b Fa(.)f(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)42 b
-Fb(28)2025 2245 y Fd(rl_copy_text)22 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fb(34)2025 2333 y Fd(rl_crlf)8
-b Fa(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)f(.)34 b Fb(32)2025 2421 y Fd(rl_delete_text)16
-b Fa(.)f(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)42 b
-Fb(34)2025 2510 y Fd(rl_deprep_term_function)26 b Fa(.)13
-b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)47 b Fb(25)2025 2598 y Fd(rl_deprep_terminal)10 b
-Fa(.)17 b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(35)2025 2687
-y Fd(rl_ding)8 b Fa(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)g(.)h(.)f(.)34 b Fb(36)2025 2775 y Fd
-(rl_directory_completion_hook)15 b Fa(.)i(.)c(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)40 b Fb(44)2025 2864 y Fd(rl_discard_keymap)12
-b Fa(.)k(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)38 b Fb(28)2025 2952
-y Fd(rl_dispatching)16 b Fa(.)f(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
-42 b Fb(23)2025 3041 y Fd(rl_display_match_list)29 b
-Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)50 b Fb(36)2025 3129 y Fd(rl_display_prompt)12
-b Fa(.)k(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)38 b Fb(24)2025 3217
-y Fd(rl_do_undo)24 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)48 b Fb(32)2025 3306 y Fd(rl_done)8 b
-Fa(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)f(.)34 b Fb(23)2025 3394 y Fd(rl_echo_signal_char)9
-b Fa(.)16 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(40)2025 3483 y
-Fd(rl_editing_mode)15 b Fa(.)g(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)40
-b Fb(27)2025 3571 y Fd(rl_end)10 b Fa(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b
-Fb(23)2025 3660 y Fd(rl_end_undo_group)12 b Fa(.)k(.)c(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)g(.)38 b Fb(32)2025 3748 y Fd(rl_erase_empty_line)9
-b Fa(.)16 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(23)2025 3836 y
-Fd(rl_event_hook)18 b Fa(.)d(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)43 b Fb(25)2025 3925 y Fd(rl_execute_next)15 b Fa(.)g(.)e(.)f(.)g(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)40 b Fb(34)2025 4013 y Fd(rl_executing_keymap)9
-b Fa(.)16 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(25)2025 4102 y
-Fd(rl_executing_macro)10 b Fa(.)17 b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36
-b Fb(25)2025 4190 y Fd(rl_expand_prompt)13 b Fa(.)j(.)c(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)39 b Fb(33)2025 4279 y Fd(rl_explicit_arg)15
-b Fa(.)g(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)40 b Fb(27)2025
-4367 y Fd(rl_extend_line_buffer)29 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)50
-b Fb(35)2025 4456 y Fd(rl_filename_completion_desired)12
-b Fa(.)18 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37
-b Fb(46)2025 4544 y Fd(rl_filename_completion_functio)q(n)10
-b Fa(.)18 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35
-b Fb(43)2025 4632 y Fd(rl_filename_dequoting_function)12
-b Fa(.)18 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37
-b Fb(44)2025 4721 y Fd(rl_filename_quote_characters)15
-b Fa(.)i(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
-b Fb(45)2025 4809 y Fd(rl_filename_quoting_desired)16
-b Fa(.)i(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)41
-b Fb(46)2025 4898 y Fd(rl_filename_quoting_function)15
-b Fa(.)i(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
-b Fb(44)2025 4986 y Fd(rl_forced_update_display)25 b
-Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)g(.)46 b Fb(32)2025 5075 y Fd(rl_free)8 b Fa(.)14
-b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-f(.)34 b Fb(35)2025 5163 y Fd(rl_free_line_state)10 b
-Fa(.)17 b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(40)2025 5252
-y Fd(rl_free_undo_list)12 b Fa(.)k(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)38
-b Fb(32)2025 5340 y Fd(rl_function_dumper)10 b Fa(.)17
-b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(31)p eop end
+Fo(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)p
+159 610 41 6 v 150 729 a Fe(_rl_digit_p)24 b Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
+b Fb(36)150 818 y Fe(_rl_digit_value)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(36)150 906 y Fe(_rl_lowercase_p)11
+b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
+b Fb(36)150 995 y Fe(_rl_to_lower)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(36)150 1084
+y Fe(_rl_to_upper)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)45 b Fb(36)150 1172 y Fe(_rl_uppercase_p)11
+b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
+b Fb(36)150 1431 y Fq(A)150 1550 y Fe(abort)27 b(\(C-g\))11
+b Fa(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)37 b Fb(18)150 1639 y Fe(accept-line)28 b(\(Newline)g(or)e(Return\))
+8 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34
+b Fb(13)150 1898 y Fq(B)150 2017 y Fe(backward-char)29
+b(\(C-b\))8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
+b Fb(13)150 2106 y Fe(backward-delete-char)c(\(Rubout\))17
+b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43
+b Fb(15)150 2194 y Fe(backward-kill-line)30 b(\(C-x)c(Rubout\))18
+b Fa(:)d(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)45
+b Fb(16)150 2283 y Fe(backward-kill-word)30 b(\(M-DEL\))7
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)33 b Fb(16)150 2372 y Fe(backward-word)c(\(M-b\))8
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(13)150
+2460 y Fe(beginning-of-history)c(\(M-<\))7 b Fa(:)15
+b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33
+b Fb(14)150 2549 y Fe(beginning-of-line)c(\(C-a\))15
+b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)41 b Fb(13)150 2637 y(b)r(ell-st)n(yle)21
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)47 b Fb(4)150 2726 y(bind-tt)n(y-sp)r(ecial-c)n
+(hars)15 b Fa(:)d(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
+b Fb(5)150 2983 y Fq(C)150 3102 y Fe(call-last-kbd-macro)30
+b(\(C-x)c(e\))11 b Fa(:)j(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)38 b Fb(18)150 3191 y Fe(capitalize-word)29
+b(\(M-c\))21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(15)150
+3279 y Fe(character-search)29 b(\(C-]\))17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(18)150 3368 y Fe(character-search-backward)31 b(\(M-C-]\))6
+b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(18)150
+3457 y Fe(clear-screen)28 b(\(C-l\))10 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)37 b Fb(13)150 3545 y(commen)n(t-b)r(egin)17
+b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44
+b Fb(5)150 3634 y Fe(complete)27 b(\(TAB\))22 b Fa(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
+b Fb(17)150 3723 y(completion-pre\014x-displa)n(y-length)8
+b Fa(:)k(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+34 b Fb(5)150 3811 y(completion-query-items)17 b Fa(:)c(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)44 b Fb(5)150 3900 y(con)n(v)n(ert-meta)20 b
+Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)47 b Fb(5)150 3988 y Fe(copy-backward-word)30 b(\(\))20
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(16)150 4077 y Fe(copy-forward-word)
+29 b(\(\))23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(16)150
+4166 y Fe(copy-region-as-kill)30 b(\(\))17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(16)150 4425 y Fq(D)150 4544 y Fe(delete-char)28
+b(\(C-d\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fb(15)150 4632 y Fe(delete-char-or-list)30 b(\(\))17
+b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)44 b Fb(17)150 4721 y Fe(delete-horizontal-space)31
+b(\(\))7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)33 b Fb(16)150 4810 y Fe(digit-argument)c(\()p
+Fc(M-0)p Fe(,)e Fc(M-1)p Fe(,)f(...)g Fc(M--)p Fe(\))7
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(17)150
+4898 y(disable-completion)13 b Fa(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)40 b Fb(5)150 4987 y Fe(do-uppercase-version)30
+b(\(M-a,)d(M-b,)f(M-)p Fc(x)9 b Fe(,)27 b(...\))310 5074
+y Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(18)150 5163
+y Fe(downcase-word)c(\(M-l\))8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+34 b Fb(15)150 5251 y Fe(dump-functions)29 b(\(\))13
+b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(19)150
+5340 y Fe(dump-macros)28 b(\(\))21 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(19)2025 610 y Fe(dump-variables)29
+b(\(\))13 b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39
+b Fb(19)2025 877 y Fq(E)2025 1000 y Fb(editing-mo)r(de)21
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)48 b Fb(5)2025 1090 y Fe(emacs-editing-mode)29 b(\(C-e\))12
+b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)39 b Fb(19)2025 1180 y(enable-k)n(eypad)17
+b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
+b Fb(6)2025 1270 y Fe(end-kbd-macro)28 b(\(C-x)f(\)\))10
+b Fa(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(18)2025 1360 y Fe(end-of-history)29
+b(\(M->\))23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(14)2025
+1450 y Fe(end-of-line)28 b(\(C-e\))13 b Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)39 b Fb(13)2025 1541 y Fe(exchange-point-and-mark)31
+b(\(C-x)26 b(C-x\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40
+b Fb(18)2025 1631 y(expand-tilde)14 b Fa(:)e(:)h(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)41 b Fb(6)2025
+1896 y Fq(F)2025 2018 y Fe(forward-backward-delete-char)32
+b(\(\))11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38
+b Fb(15)2025 2108 y Fe(forward-char)28 b(\(C-f\))10 b
+Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(13)2025
+2198 y Fe(forward-search-history)30 b(\(C-s\))21 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
+b Fb(14)2025 2289 y Fe(forward-word)28 b(\(M-f\))10 b
+Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(13)2025
+2546 y Fq(H)2025 2668 y Fb(history-preserv)n(e-p)r(oin)n(t)9
+b Fa(:)j(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(6)2025
+2758 y Fe(history-search-backward)31 b(\(\))7 b Fa(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
+b Fb(14)2025 2848 y Fe(history-search-forward)c(\(\))10
+b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)36 b Fb(14)2025 2938 y(history-size)16 b Fa(:)d(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43
+b Fb(6)2025 3028 y(horizon)n(tal-scroll-mo)r(de)23 b
+Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(6)2025
+3277 y Fq(I)2025 3399 y Fb(input-meta)19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
+b Fb(6)2025 3489 y Fe(insert-comment)29 b(\(M-#\))23
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(19)2025 3579 y
+Fe(insert-completions)29 b(\(M-*\))12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
+b Fb(17)2025 3670 y(isearc)n(h-terminators)21 b Fa(:)13
+b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(6)2025
+3918 y Fq(K)2025 4040 y Fb(k)n(eymap)8 b Fa(:)k(:)h(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
+b Fb(6)2025 4130 y Fe(kill-line)27 b(\(C-k\))18 b Fa(:)d(:)e(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(16)2025 4221 y
+Fe(kill-region)28 b(\(\))21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)47 b Fb(16)2025 4311 y Fe(kill-whole-line)29
+b(\(\))10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fb(16)2025 4401 y Fe(kill-word)27 b(\(M-d\))18 b Fa(:)d(:)e(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(16)2025 4658
+y Fq(M)2025 4780 y Fb(mark-mo)r(di\014ed-lines)11 b Fa(:)i(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fb(7)2025 4870 y(mark-symlink)n
+(ed-directories)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(7)2025
+4960 y(matc)n(h-hidden-\014les)18 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)45 b Fb(7)2025 5050 y Fe(menu-complete)28
+b(\(\))16 b Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
+b Fb(17)2025 5141 y Fe(menu-complete-backward)30 b(\(\))10
+b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)36 b Fb(17)2025 5231 y(meta-\015ag)15 b Fa(:)f(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42
+b Fb(6)p eop end
%%Page: 66 70
-TeXDict begin 66 69 bop 150 -116 a Ft(F)-8 b(unction)31
+TeXDict begin 66 69 bop 150 -116 a Fs(F)-8 b(unction)31
b(and)f(V)-8 b(ariable)32 b(Index)2370 b(66)150 299 y
-Fd(rl_function_of_keyseq)29 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)50 b Fb(30)150
-387 y Fd(rl_funmap_names)15 b Fa(.)g(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)40 b Fb(31)150 476 y Fd(rl_generic_bind)15 b Fa(.)g(.)e(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)g(.)h(.)40 b Fb(30)150 564 y Fd(rl_get_keymap)18
-b Fa(.)d(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43
-b Fb(28)150 653 y Fd(rl_get_keymap_by_name)29 b Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)50 b Fb(28)150 741 y Fd(rl_get_keymap_name)10
-b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)36 b Fb(28)150
-830 y Fd(rl_get_screen_size)10 b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-36 b Fb(41)150 918 y Fd(rl_get_termcap)16 b Fa(.)g(.)c(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)42 b Fb(37)150 1006 y Fd(rl_getc)8
-b Fa(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)34 b Fb(34)150 1095 y Fd(rl_getc_function)13
-b Fa(.)j(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)39 b Fb(25)150
-1183 y Fd(rl_gnu_readline_p)12 b Fa(.)k(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37
-b Fb(24)150 1272 y Fd(rl_ignore_completion_duplicat)q(es)10
-b Fa(.)18 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35
-b Fb(46)150 1360 y Fd(rl_ignore_some_completions_fu)q(ncti)q(on)28
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)47 b Fb(44)150 1449 y Fd
-(rl_inhibit_completion)29 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)50 b Fb(47)150
-1537 y Fd(rl_initialize)18 b Fa(.)d(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)43 b Fb(36)150 1625 y Fd(rl_insert_completions)29
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)50 b Fb(43)150 1714 y Fd(rl_insert_text)16
-b Fa(.)g(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42 b
-Fb(33)150 1802 y Fd(rl_instream)23 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)46 b Fb(24)150 1891 y Fd
-(rl_invoking_keyseqs)9 b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34
-b Fb(31)150 1979 y Fd(rl_invoking_keyseqs_in_map)17 b
-Fa(.)h(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42
-b Fb(31)150 2068 y Fd(rl_kill_text)22 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)g(.)h(.)f(.)g(.)45 b Fb(34)150 2156 y Fd(rl_last_func)22
-b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)45
-b Fb(25)150 2245 y Fd(rl_library_version)10 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)36 b Fb(24)150 2333 y Fd(rl_line_buffer)16
-b Fa(.)g(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42 b
-Fb(23)150 2421 y Fd(rl_list_funmap_names)7 b Fa(.)17
-b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)f(.)g(.)h(.)f(.)33 b Fb(31)150 2510 y Fd(rl_macro_bind)18
-b Fa(.)d(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43
-b Fb(36)150 2598 y Fd(rl_macro_dumper)15 b Fa(.)g(.)e(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)g(.)h(.)40 b Fb(36)150 2687 y Fd(rl_make_bare_keymap)9
-b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(28)150 2775
-y Fd(rl_make_keymap)16 b Fa(.)g(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-42 b Fb(28)150 2864 y Fd(rl_mark)8 b Fa(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)34 b
-Fb(23)150 2952 y Fd(rl_message)24 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fb(33)150 3041 y
-Fd(rl_modifying)22 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-f(.)g(.)45 b Fb(32)150 3129 y Fd(rl_named_function)12
-b Fa(.)k(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(30)150 3217
-y Fd(rl_num_chars_to_read)7 b Fa(.)17 b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)33
-b Fb(23)150 3306 y Fd(rl_numeric_arg)16 b Fa(.)g(.)c(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)42 b Fb(27)150 3394 y Fd(rl_on_new_line)16
-b Fa(.)g(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42 b
-Fb(32)150 3483 y Fd(rl_on_new_line_with_prompt)17 b Fa(.)h(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)42
-b Fb(32)150 3571 y Fd(rl_outstream)22 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)g(.)h(.)f(.)g(.)45 b Fb(24)150 3660 y Fd(rl_parse_and_bind)
-12 b Fa(.)k(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(30)150
-3748 y Fd(rl_pending_input)13 b Fa(.)j(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-39 b Fb(23)150 3836 y Fd(rl_point)7 b Fa(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)32 b Fb(23)150
-3925 y Fd(rl_possible_completions)26 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)47 b
-Fb(42)150 4013 y Fd(rl_pre_input_hook)12 b Fa(.)k(.)c(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)37 b Fb(25)150 4102 y Fd(rl_prefer_env_winsize)29
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)50 b Fb(24)150 4190 y Fd(rl_prep_term_function)29
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)50 b Fb(25)150 4279 y Fd(rl_prep_terminal)13
-b Fa(.)j(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)39 b Fb(35)150
-4367 y Fd(rl_prompt)25 b Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(24)150 4456 y Fd(rl_push_macro_input)9
-b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(34)150 4544
-y Fd(rl_read_init_file)12 b Fa(.)k(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37
-b Fb(30)150 4632 y Fd(rl_read_key)23 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46 b Fb(34)150 4721 y
-Fd(rl_readline_name)13 b Fa(.)j(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)39
-b Fb(24)150 4809 y Fd(rl_readline_state)12 b Fa(.)k(.)c(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)37 b Fb(26)150 4898 y Fd(rl_readline_version)9
-b Fa(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(24)150 4986
-y Fd(rl_redisplay)22 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)f(.)g(.)45 b Fb(32)150 5075 y Fd(rl_redisplay_function)29
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)50 b Fb(25)150 5163 y Fd(rl_replace_line)15
-b Fa(.)g(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)40 b Fb(35)150
-5252 y Fd(rl_reset_after_signal)29 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)50
-b Fb(40)150 5340 y Fd(rl_reset_line_state)9 b Fa(.)17
-b(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(32)2025 299 y Fd(rl_reset_screen_size)7
-b Fa(.)17 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fb(41)2025 392 y
-Fd(rl_reset_terminal)12 b Fa(.)k(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)38
-b Fb(35)2025 485 y Fd(rl_resize_terminal)10 b Fa(.)17
-b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(40)2025 579 y Fd(rl_restore_prompt)
-12 b Fa(.)k(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)38 b Fb(33)2025
-672 y Fd(rl_restore_state)13 b Fa(.)j(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-39 b Fb(35)2025 765 y Fd(rl_save_prompt)16 b Fa(.)f(.)e(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)g(.)h(.)f(.)42 b Fb(33)2025 859 y Fd(rl_save_state)18
-b Fa(.)d(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
-b Fb(35)2025 952 y Fd(rl_set_key)24 b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(30)2025 1045
-y Fd(rl_set_keyboard_input_timeout)13 b Fa(.)18 b(.)13
-b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38 b Fb(34)2025
-1138 y Fd(rl_set_keymap)18 b Fa(.)d(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)43 b Fb(28)2025 1232 y Fd(rl_set_paren_blink_timeout)17
-b Fa(.)h(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-43 b Fb(37)2025 1325 y Fd(rl_set_prompt)18 b Fa(.)d(.)d(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)43 b Fb(33)2025 1418 y Fd(rl_set_screen_size)10
-b Fa(.)17 b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(41)2025
-1512 y Fd(rl_set_signals)16 b Fa(.)f(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
-(.)f(.)42 b Fb(41)2025 1605 y Fd(rl_show_char)22 b Fa(.)12
-b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
-b Fb(33)2025 1698 y Fd(rl_sort_completion_matches)17
-b Fa(.)h(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-43 b Fb(47)2025 1791 y Fd(rl_special_prefixes)9 b Fa(.)16
-b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(45)2025 1885 y Fd(rl_startup_hook)15
-b Fa(.)g(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)40 b Fb(25)2025
-1978 y Fd(rl_stuff_char)18 b Fa(.)d(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)43 b Fb(34)2025 2071 y Fd(rl_terminal_name)13
-b Fa(.)j(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fb(24)2025
-2165 y Fd(rl_tty_set_default_bindings)16 b Fa(.)i(.)12
-b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)41
-b Fb(35)2025 2258 y Fd(rl_tty_unset_default_bindings)13
-b Fa(.)18 b(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38
-b Fb(35)2025 2351 y Fd(rl_unbind_command_in_map)25 b
-Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)g(.)46 b Fb(29)2025 2444 y Fd(rl_unbind_function_in_map)18
-b Fa(.)g(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)44 b Fb(29)2025 2538 y Fd(rl_unbind_key)18 b Fa(.)d(.)d(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)h(.)43 b Fb(29)2025 2631 y Fd
-(rl_unbind_key_in_map)7 b Fa(.)17 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33
-b Fb(29)2025 2724 y Fd(rl_username_completion_functio)q(n)10
-b Fa(.)18 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35
-b Fb(43)2025 2818 y Fd(rl_variable_bind)13 b Fa(.)j(.)c(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)39 b Fb(37)2025 2911 y Fd(rl_variable_dumper)10
-b Fa(.)17 b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(37)2025
-3004 y Fd(rl_variable_value)12 b Fa(.)k(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)38
-b Fb(37)2025 3278 y Fr(S)2025 3407 y Fd(self-insert)28
-b(\(a,)e(b,)g(A,)g(1,)g(!,)g(...)q(\))13 b Fa(.)f(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)38 b Fb(15)2025 3500 y Fd(set-mark)27
-b(\(C-@\))d Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49
-b Fb(18)2025 3593 y(sho)n(w-all-if-am)n(biguous)22 b
-Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)47 b Fb(7)2025 3687
-y(sho)n(w-all-if-unmo)r(di\014ed)12 b Fa(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)39
-b Fb(8)2025 3780 y Fd(start-kbd-macro)29 b(\(C-x)d(\(\))17
-b Fa(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)42 b Fb(18)2025 4053 y Fr(T)2025 4182 y Fd(tab-insert)28
-b(\(M-)2560 4179 y Fk(h)p 2585 4126 148 4 v 2585 4182
-a Fj(T)-6 b(AB)p 2585 4197 V 2728 4179 a Fk(i)2758 4182
-y Fd(\))13 b Fa(.)g(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fb(15)2025 4275
-y Fd(tilde-expand)28 b(\(M-~\))17 b Fa(.)d(.)e(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)43
-b Fb(18)2025 4368 y Fd(transpose-chars)29 b(\(C-t\))13
-b Fa(.)g(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)g(.)39 b Fb(15)2025 4462 y Fd(transpose-words)29
-b(\(M-t\))13 b Fa(.)g(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)39 b Fb(15)2025 4745
-y Fr(U)2025 4874 y Fd(undo)26 b(\(C-_)h(or)f(C-x)g(C-u\))15
-b Fa(.)e(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)h(.)f(.)g(.)41 b Fb(18)2025 4967 y Fd(universal-argument)29
-b(\(\))13 b Fa(.)g(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)39 b Fb(17)2025 5060 y
-Fd(unix-filename-rubout)30 b(\(\))10 b Fa(.)j(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)36
-b Fb(16)2025 5153 y Fd(unix-line-discard)29 b(\(C-u\))10
-b Fa(.)k(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)36 b Fb(16)2025 5247 y Fd(unix-word-rubout)29
-b(\(C-w\))11 b Fa(.)j(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)37 b Fb(16)2025 5340 y
-Fd(upcase-word)28 b(\(M-u\))20 b Fa(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-44 b Fb(15)p eop end
+Fq(N)150 417 y Fe(next-history)28 b(\(C-n\))10 b Fa(:)15
+b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(14)150 506
+y Fe(non-incremental-forward-searc)q(h-hi)q(story)32
+b(\(M-n\))310 593 y Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33
+b Fb(14)150 681 y Fe(non-incremental-reverse-searc)q(h-hi)q(story)f
+(\(M-p\))310 769 y Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33
+b Fb(14)150 1008 y Fq(O)150 1126 y Fb(output-meta)13
+b Fa(:)f(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)40 b Fb(7)150 1215 y Fe(overwrite-mode)29 b(\(\))13
+b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(15)150
+1462 y Fq(P)150 1581 y Fb(page-completions)21 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46
+b Fb(7)150 1669 y Fe(possible-completions)30 b(\(M-?\))7
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)33 b Fb(17)150 1758 y Fe(prefix-meta)28 b(\(ESC\))13
+b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(18)150
+1846 y Fe(previous-history)29 b(\(C-p\))17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(13)150 2104 y Fq(Q)150 2223 y Fe(quoted-insert)29
+b(\(C-q)d(or)g(C-v\))c Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(15)150 2481 y Fq(R)150
+2599 y Fe(re-read-init-file)29 b(\(C-x)e(C-r\))11 b Fa(:)j(:)g(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38
+b Fb(18)150 2687 y Fe(readline)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b
+Fb(20)150 2776 y Fe(redraw-current-line)30 b(\(\))17
+b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)44 b Fb(13)150 2864 y Fe(reverse-search-history)31
+b(\(C-r\))20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)45 b Fb(14)150 2953 y(rev)n(ert-all-at-newline)22
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(7)150
+3041 y Fe(revert-line)28 b(\(M-r\))13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)39 b Fb(18)150 3130 y Fe(rl_add_defun)22
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fb(28)150 3218 y Fe(rl_add_funmap_entry)18 b Fa(:)g(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(31)150 3306 y Fe(rl_add_undo)24
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+48 b Fb(32)150 3395 y Fe(rl_alphabetic)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(35)150 3483 y
+Fe(rl_already_prompted)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fb(24)150 3572 y Fe(rl_attempted_completion_funct)q(ion)25
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(43)150
+3660 y Fe(rl_attempted_completion_over)13 b Fa(:)19 b(:)13
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
+b Fb(47)150 3748 y Fe(rl_basic_quote_characters)26 b
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)46 b Fb(45)150 3837 y Fe(rl_basic_word_break_character)q(s)7
+b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33
+b Fb(45)150 3925 y Fe(rl_begin_undo_group)18 b Fa(:)g(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(31)150 4014 y Fe(rl_bind_key)24
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+48 b Fb(29)150 4102 y Fe(rl_bind_key_if_unbound)10 b
+Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(29)150 4191 y Fe
+(rl_bind_key_if_unbound_in_map)11 b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(29)150 4279 y Fe(rl_bind_key_in_map)
+25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(29)150
+4367 y Fe(rl_bind_keyseq)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)40 b Fb(29)150 4456 y Fe(rl_bind_keyseq_if_unbound)26
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)46 b Fb(30)150 4544 y Fe(rl_bind_keyseq_if_unbound_in_)q(map)25
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(30)150
+4633 y Fe(rl_bind_keyseq_in_map)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fb(30)150 4721 y Fe(rl_binding_keymap)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)32 b Fb(25)150 4809 y Fe
+(rl_callback_handler_install)15 b Fa(:)k(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(37)150 4898 y
+Fe(rl_callback_handler_remove)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(37)150 4986
+y Fe(rl_callback_read_char)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fb(37)150 5075 y Fe(rl_catch_signals)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)35 b Fb(39)150 5163 y Fe(rl_catch_sigwinch)6
+b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(40)150
+5252 y Fe(rl_char_is_quoted_p)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fb(44)150 5340 y Fe(rl_cleanup_after_signal)8 b Fa(:)18
+b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)34 b Fb(40)2025 299 y Fe(rl_clear_message)9
+b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
+b Fb(33)2025 387 y Fe(rl_clear_pending_input)10 b Fa(:)18
+b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)37 b Fb(34)2025 476 y Fe(rl_clear_signals)9
+b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
+b Fb(41)2025 564 y Fe(rl_complete)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(42)2025
+653 y Fe(rl_complete_internal)16 b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
+b Fb(42)2025 741 y Fe(rl_completer_quote_characters)10
+b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
+b Fb(45)2025 830 y Fe(rl_completer_word_break_charac)q(ters)15
+b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(45)2025
+918 y Fe(rl_completion_append_character)8 b Fa(:)19 b(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(45)2025
+1006 y Fe(rl_completion_display_matches_)q(hook)15 b
+Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(44)2025 1095
+y Fe(rl_completion_entry_function)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)45 b Fb(42,)27 b(43)2025 1183 y Fe
+(rl_completion_found_quote)e Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fb(46)2025 1272
+y Fe(rl_completion_invoking_key)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(47)2025
+1360 y Fe(rl_completion_mark_symlink_dir)q(s)27 b Fa(:)14
+b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 b Fb(46)2025
+1449 y Fe(rl_completion_matches)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
+b Fb(42)2025 1537 y Fe(rl_completion_mode)25 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(42)2025 1625 y
+Fe(rl_completion_query_items)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fb(45)2025
+1714 y Fe(rl_completion_quote_character)10 b Fa(:)19
+b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
+b Fb(46)2025 1802 y Fe(rl_completion_suppress_append)10
+b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
+b Fb(46)2025 1891 y Fe(rl_completion_suppress_quote)13
+b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
+b Fb(46)2025 1979 y Fe(rl_completion_type)25 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(47)2025 2068 y
+Fe(rl_completion_word_break_hook)10 b Fa(:)19 b(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b
+Fb(45)2025 2156 y Fe(rl_copy_keymap)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(28)2025 2245 y Fe(rl_copy_text)21
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
+b Fb(33)2025 2333 y Fe(rl_crlf)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
+b Fb(32)2025 2421 y Fe(rl_delete_text)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(33)2025 2510 y Fe
+(rl_deprep_term_function)8 b Fa(:)18 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34
+b Fb(25)2025 2598 y Fe(rl_deprep_terminal)25 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(35)2025 2687 y
+Fe(rl_ding)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(35)2025 2775
+y Fe(rl_directory_completion_hook)13 b Fa(:)19 b(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
+b Fb(44)2025 2864 y Fe(rl_discard_keymap)6 b Fa(:)17
+b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(28)2025
+2952 y Fe(rl_dispatching)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)40 b Fb(23)2025 3041 y Fe(rl_display_match_list)13
+b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(36)2025 3129 y
+Fe(rl_display_prompt)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+33 b Fb(24)2025 3217 y Fe(rl_do_undo)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b
+Fb(32)2025 3306 y Fe(rl_done)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
+b Fb(23)2025 3394 y Fe(rl_echo_signal_char)18 b Fa(:)f(:)c(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)45 b Fb(40)2025 3483 y Fe(rl_editing_mode)11
+b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
+b Fb(27)2025 3571 y Fe(rl_end)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(23)2025 3660 y Fe(rl_end_undo_group)6 b Fa(:)17
+b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(31)2025
+3748 y Fe(rl_erase_empty_line)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
+b Fb(23)2025 3836 y Fe(rl_event_hook)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(25)2025 3925 y
+Fe(rl_execute_next)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)38 b Fb(34)2025 4013 y Fe(rl_executing_keymap)18
+b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(25)2025 4102
+y Fe(rl_executing_macro)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47
+b Fb(25)2025 4190 y Fe(rl_expand_prompt)9 b Fa(:)16 b(:)d(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(33)2025 4279 y Fe(rl_explicit_arg)11
+b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
+b Fb(27)2025 4367 y Fe(rl_extend_line_buffer)13 b Fa(:)18
+b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)40 b Fb(35)2025 4456 y Fe
+(rl_filename_completion_desired)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(46)2025 4544 y Fe
+(rl_filename_completion_functio)q(n)27 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)48 b Fb(43)2025 4632 y Fe
+(rl_filename_dequoting_function)8 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(43)2025 4721 y Fe
+(rl_filename_quote_characters)13 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fb(45)2025 4809 y
+Fe(rl_filename_quoting_desired)15 b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fb(46)2025 4898
+y Fe(rl_filename_quoting_function)13 b Fa(:)19 b(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
+b Fb(43)2025 4986 y Fe(rl_filename_rewrite_hook)28 b
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)49 b Fb(44)2025 5075 y Fe(rl_forced_update_display)28
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)49 b Fb(32)2025 5163 y Fe(rl_free)15 b Fa(:)f(:)f(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
+b Fb(35)2025 5252 y Fe(rl_free_keymap)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(28)2025 5340 y Fe
+(rl_free_line_state)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47
+b Fb(40)p eop end
%%Page: 67 71
-TeXDict begin 67 70 bop 150 -116 a Ft(F)-8 b(unction)31
+TeXDict begin 67 70 bop 150 -116 a Fs(F)-8 b(unction)31
b(and)f(V)-8 b(ariable)32 b(Index)2370 b(67)150 299 y
-Fr(V)150 533 y Fd(vi-editing-mode)29 b(\(M-C-j\))10 b
-Fa(.)k(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)35 b Fb(19)150 679 y(visible-stats)22 b Fa(.)12
-b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47
-b Fb(8)2025 299 y Fr(Y)2025 416 y Fd(yank)26 b(\(C-y\))11
-b Fa(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
-h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36
-b Fb(17)2025 503 y Fd(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))20
-b Fa(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
-(.)45 b Fb(14)2025 591 y Fd(yank-nth-arg)28 b(\(M-C-y\))14
-b Fa(.)g(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)f(.)g(.)h(.)f(.)40 b Fb(14)2025 679 y Fd(yank-pop)27
-b(\(M-y\))d Fa(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49
-b Fb(17)p eop end
+Fe(rl_free_undo_list)6 b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+32 b Fb(32)150 387 y Fe(rl_function_dumper)25 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(31)150 476 y Fe
+(rl_function_of_keyseq)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fb(30)150 564 y Fe(rl_funmap_names)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(31)150 653 y Fe(rl_generic_bind)11
+b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
+b Fb(30)150 741 y Fe(rl_get_keymap)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(28)150 830 y Fe
+(rl_get_keymap_by_name)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fb(28)150 918 y Fe(rl_get_keymap_name)25 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(28)150 1006 y
+Fe(rl_get_screen_size)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
+b Fb(40)150 1095 y Fe(rl_get_termcap)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(37)150 1183 y Fe(rl_getc)15
+b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)41 b Fb(34)150 1272 y Fe(rl_getc_function)9
+b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
+b Fb(25)150 1360 y Fe(rl_gnu_readline_p)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)32 b Fb(24)150 1449 y Fe
+(rl_ignore_completion_duplicat)q(es)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)48 b Fb(46)150 1537 y Fe(rl_ignore_some_completions_fu)q
+(ncti)q(on)12 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)38
+b Fb(44)150 1625 y Fe(rl_inhibit_completion)13 b Fa(:)18
+b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)39 b Fb(47)150 1714 y Fe(rl_initialize)16
+b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
+b Fb(35)150 1802 y Fe(rl_insert_completions)13 b Fa(:)18
+b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)39 b Fb(42)150 1891 y Fe(rl_insert_text)14
+b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
+b Fb(33)150 1979 y Fe(rl_instream)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(24)150
+2068 y Fe(rl_invoking_keyseqs)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fb(31)150 2156 y Fe(rl_invoking_keyseqs_in_map)18 b
+Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(31)150 2245 y Fe(rl_kill_text)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(34)150 2333
+y Fe(rl_last_func)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)45 b Fb(25)150 2421 y Fe(rl_library_version)25
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(24)150
+2510 y Fe(rl_line_buffer)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)40 b Fb(23)150 2598 y Fe(rl_list_funmap_names)16
+b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fb(31)150 2687 y Fe(rl_macro_bind)16
+b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
+b Fb(36)150 2775 y Fe(rl_macro_dumper)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(36)150 2864 y Fe
+(rl_make_bare_keymap)18 b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fb(28)150 2952 y Fe(rl_make_keymap)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(28)150 3041 y Fe(rl_mark)15
+b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)41 b Fb(23)150 3129 y Fe(rl_message)7
+b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)33 b Fb(33)150 3217 y Fe(rl_modifying)22 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fb(32)150 3306 y Fe(rl_named_function)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)32 b Fb(30)150 3394 y Fe(rl_num_chars_to_read)16
+b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fb(23)150 3483 y Fe(rl_numeric_arg)14
+b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
+b Fb(27)150 3571 y Fe(rl_on_new_line)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(32)150 3660 y Fe
+(rl_on_new_line_with_prompt)18 b Fa(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(32)150 3748 y
+Fe(rl_outstream)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)45 b Fb(24)150 3836 y Fe(rl_parse_and_bind)6
+b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(30)150
+3925 y Fe(rl_pending_input)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)35 b Fb(23)150 4013 y Fe(rl_point)12 b Fa(:)j(:)e(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
+b Fb(23)150 4102 y Fe(rl_possible_completions)8 b Fa(:)18
+b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)34 b Fb(42)150 4190 y Fe(rl_pre_input_hook)6
+b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(25)150
+4279 y Fe(rl_prefer_env_winsize)13 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fb(24)150 4367 y Fe(rl_prep_term_function)13 b Fa(:)18
+b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)39 b Fb(25)150 4456 y Fe(rl_prep_terminal)9
+b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
+b Fb(34)150 4544 y Fe(rl_prompt)9 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b
+Fb(24)150 4632 y Fe(rl_push_macro_input)18 b Fa(:)g(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(34)150 4721 y Fe(rl_read_init_file)6
+b Fa(:)17 b(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fb(30)150
+4809 y Fe(rl_read_key)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(34)150 4898 y Fe(rl_readline_name)9
+b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
+b Fb(24)150 4986 y Fe(rl_readline_state)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)32 b Fb(26)150 5075 y Fe(rl_readline_version)18
+b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(24)150 5163
+y Fe(rl_redisplay)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)45 b Fb(32)150 5252 y Fe(rl_redisplay_function)13
+b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(25)150 5340 y
+Fe(rl_replace_line)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)38 b Fb(35)2025 299 y Fe(rl_reset_after_signal)13
+b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(40)2025 386 y
+Fe(rl_reset_line_state)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
+b Fb(32)2025 474 y Fe(rl_reset_screen_size)16 b Fa(:)h(:)c(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)42 b Fb(40)2025 561 y Fe(rl_reset_terminal)6 b Fa(:)17
+b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(35)2025
+648 y Fe(rl_resize_terminal)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+47 b Fb(40)2025 736 y Fe(rl_restore_prompt)6 b Fa(:)17
+b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(33)2025
+823 y Fe(rl_restore_state)9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)35 b Fb(35)2025 910 y Fe(rl_save_prompt)14 b
+Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
+b Fb(33)2025 998 y Fe(rl_save_state)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(35)2025 1085 y Fe(rl_set_key)7
+b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)33 b Fb(30)2025 1173 y Fe(rl_set_keyboard_input_timeout)10
+b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
+b Fb(34)2025 1260 y Fe(rl_set_keymap)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(28)2025 1347 y
+Fe(rl_set_paren_blink_timeout)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(37)2025 1435
+y Fe(rl_set_prompt)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)43 b Fb(33)2025 1522 y Fe(rl_set_screen_size)25
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(40)2025
+1609 y Fe(rl_set_signals)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)40 b Fb(41)2025 1697 y Fe(rl_show_char)21
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
+b Fb(32)2025 1784 y Fe(rl_sort_completion_matches)17
+b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)44 b Fb(47)2025 1872 y Fe(rl_special_prefixes)18 b
+Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(45)2025 1959 y
+Fe(rl_startup_hook)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)38 b Fb(25)2025 2046 y Fe(rl_stuff_char)16 b
+Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
+b Fb(34)2025 2134 y Fe(rl_terminal_name)9 b Fa(:)16 b(:)d(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(24)2025 2221 y Fe
+(rl_tty_set_default_bindings)15 b Fa(:)k(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fb(35)2025 2308 y
+Fe(rl_tty_unset_default_bindings)10 b Fa(:)19 b(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b
+Fb(35)2025 2396 y Fe(rl_unbind_command_in_map)28 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)49 b Fb(29)2025 2483 y Fe(rl_unbind_function_in_map)25
+b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)46 b Fb(29)2025 2570 y Fe(rl_unbind_key)16 b Fa(:)g(:)d(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(29)2025
+2658 y Fe(rl_unbind_key_in_map)16 b Fa(:)h(:)c(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
+b Fb(29)2025 2745 y Fe(rl_username_completion_functio)q(n)27
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
+b Fb(43)2025 2833 y Fe(rl_variable_bind)9 b Fa(:)16 b(:)d(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(36)2025 2920 y Fe(rl_variable_dumper)25
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(37)2025
+3007 y Fe(rl_variable_value)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)33 b Fb(36)2025 3250 y Fq(S)2025 3367 y Fe(self-insert)28
+b(\(a,)e(b,)g(A,)g(1,)g(!,)g(...)q(\))9 b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(15)2025 3454 y Fe(set-mark)27
+b(\(C-@\))22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)47 b Fb(18)2025 3542 y(sho)n(w-all-if-am)n(biguous)14
+b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(7)2025
+3629 y(sho)n(w-all-if-unmo)r(di\014ed)23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)50 b Fb(7)2025 3716 y(skip-completed-text)11
+b Fa(:)h(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b
+Fb(8)2025 3804 y Fe(skip-csi-sequence)29 b(\(\))23 b
+Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(19)2025 3891 y
+Fe(start-kbd-macro)29 b(\(C-x)d(\(\))c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48
+b Fb(18)2025 4133 y Fq(T)2025 4249 y Fe(tab-insert)28
+b(\(M-TAB\))10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fb(15)2025 4337 y Fe(tilde-expand)28 b(\(M-~\))10 b
+Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(18)2025
+4424 y Fe(transpose-chars)29 b(\(C-t\))21 b Fa(:)13 b(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+46 b Fb(15)2025 4512 y Fe(transpose-words)29 b(\(M-t\))21
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)46 b Fb(15)2025 4764 y Fq(U)2025
+4880 y Fe(undo)26 b(\(C-_)h(or)f(C-x)g(C-u\))6 b Fa(:)14
+b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(18)2025 4968 y Fe
+(universal-argument)c(\(\))21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46
+b Fb(17)2025 5055 y Fe(unix-filename-rubout)30 b(\(\))15
+b Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)41 b Fb(16)2025 5143 y Fe(unix-line-discard)29
+b(\(C-u\))15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fb(16)2025 5230 y
+Fe(unix-word-rubout)29 b(\(C-w\))17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44
+b Fb(16)2025 5317 y Fe(upcase-word)28 b(\(M-u\))13 b
+Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(15)p
+eop end
+%%Page: 68 72
+TeXDict begin 68 71 bop 150 -116 a Fs(F)-8 b(unction)31
+b(and)f(V)-8 b(ariable)32 b(Index)2370 b(68)150 299 y
+Fq(V)150 425 y Fe(vi-editing-mode)29 b(\(M-C-j\))15 b
+Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)41 b Fb(19)150 518 y(visible-stats)7 b
+Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)34 b Fb(8)2025 299 y Fq(Y)2025 416 y Fe(yank)26
+b(\(C-y\))14 b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)40 b Fb(16)2025 503 y Fe(yank-last-arg)28
+b(\(M-.)f(or)f(M-_\))c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fb(14)2025 591 y Fe(yank-nth-arg)28
+b(\(M-C-y\))c Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(14)2025
+679 y Fe(yank-pop)27 b(\(M-y\))22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(17)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
diff --git a/doc/readline_3.ps b/doc/readline_3.ps
index b642327..a11d0f0 100644
--- a/doc/readline_3.ps
+++ b/doc/readline_3.ps
@@ -1,12 +1,12 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
-%%CreationDate: Tue Jan 6 11:58:34 2009
+%%CreationDate: Mon Oct 12 10:34:21 2009
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Courier
%%DocumentSuppliedResources: procset grops 1.19 2
-%%Pages: 14
+%%Pages: 15
%%PageOrder: Ascend
%%DocumentMedia: Default 595 842 0 () ()
%%Orientation: Portrait
@@ -336,8 +336,8 @@ le is read, and the k)108 616.8 R 1.459 -.15(ey b)-.1 H 1.159
(re).15 G(xample, placing)-2.65 E(M\255Control\255u: uni)144 698.4 Q
-.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(or)108 710.4 Q
(C\255Meta\255u: uni)144 722.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)
--.18 E(GNU Readline 6.0)72 768 Q(2008 May 8)135.125 E(1)204.835 E 0 Cg
-EP
+-.18 E(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E(1)197.895 E 0
+Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
@@ -430,8 +430,8 @@ Q F0(horizontal tab)29.89 E F2(\\v)144 672 Q F0 -.15(ve)28.22 G
o indicate a macro de\214nition.)-.15 F .089(Unquoted te)108 724.8 R
.089(xt is assumed to be a function name.)-.15 F .09(In the macro body)
5.089 F 2.59(,t)-.65 G .09(he backslash escapes described abo)-2.59 F
--.15(ve)-.15 G(GNU Readline 6.0)72 768 Q(2008 May 8)135.125 E(2)204.835
-E 0 Cg EP
+-.15(ve)-.15 G(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E(2)
+197.895 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
@@ -525,848 +525,900 @@ F .038(ord completion.)-.1 F .038
(Controls whether readline be)144 624 R .215(gins with a set of k)-.15 F
.515 -.15(ey b)-.1 H .215(indings similar to emacs or vi.).15 F F1
(editing\255mode)5.215 E F0(can be set to either)144 636 Q F1(emacs)2.5
-E F0(or)2.5 E F1(vi)2.5 E F0(.)A F1(enable\255k)108 648 Q(eypad \(Off\))
--.1 E F0 .892(When set to)144 660 R F1(On)3.393 E F0 3.393(,r)C .893
+E F0(or)2.5 E F1(vi)2.5 E F0(.)A F1(echo\255contr)108 648 Q
+(ol\255characters \(On\))-.18 E F0 1.21(When set to)144 660 R F1(On)3.71
+E F0 3.71(,o)C 3.71(no)-3.71 G 1.211(perating systems that indicate the)
+-3.71 F 3.711(ys)-.15 G 1.211(upport it, readline echoes a character)
+-3.711 F(corresponding to a signal generated from the k)144 672 Q -.15
+(ey)-.1 G(board.).15 E F1(enable\255k)108 684 Q(eypad \(Off\))-.1 E F0
+.893(When set to)144 696 R F1(On)3.393 E F0 3.393(,r)C .893
(eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G
-.893(pad when it is called.).15 F .893(Some sys-)5.893 F
-(tems need this to enable the arro)144 672 Q 2.5(wk)-.25 G -.15(ey)-2.6
-G(s.).15 E F1(expand\255tilde \(Off\))108 684 Q F0(If set to)144 696 Q
-F1(on)2.5 E F0 2.5(,t)C(ilde e)-2.5 E
-(xpansion is performed when readline attempts w)-.15 E(ord completion.)
--.1 E(GNU Readline 6.0)72 768 Q(2008 May 8)135.125 E(3)204.835 E 0 Cg EP
+.893(pad when it is called.).15 F .892(Some sys-)5.893 F
+(tems need this to enable the arro)144 708 Q 2.5(wk)-.25 G -.15(ey)-2.6
+G(s.).15 E(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E(3)197.895
+E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
-/Times-Bold@0 SF(history\255pr)108 84 Q(eser)-.18 E -.1(ve)-.1 G
-(\255point \(Off\)).1 E F0 1.493(If set to)144 96 R F1(on)3.993 E F0
-3.993(,t)C 1.493(he history code attempts to place point at the same lo\
-cation on each history line)-3.993 F(retrie)144 108 Q -.15(ve)-.25 G 2.5
-(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E F0
-(or)2.5 E F1(next-history)2.5 E F0(.)A F1(history\255size \(0\))108 120
-Q F0 .462(Set the maximum number of history entries sa)144 132 R -.15
-(ve)-.2 G 2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963
-F .463(If set to zero, the number of)5.463 F
-(entries in the history list is not limited.)144 144 Q F1
-(horizontal\255scr)108 156 Q(oll\255mode \(Off\))-.18 E F0 .449
-(When set to)144 168 R F1(On)2.949 E F0 2.949(,m)C(ak)-2.949 E .448
+/Times-Bold@0 SF(enable\255meta\255k)108 84 Q(ey \(On\))-.1 E F0 .64
+(When set to)144 96 R F1(On)3.14 E F0 3.14(,r)C .64
+(eadline will try to enable an)-3.14 F 3.14(ym)-.15 G .64
+(eta modi\214er k)-3.14 F .94 -.15(ey t)-.1 H .64
+(he terminal claims to support).15 F(when it is called.)144 108 Q
+(On man)5 E 2.5(yt)-.15 G(erminals, the meta k)-2.5 E .3 -.15(ey i)-.1 H
+2.5(su).15 G(sed to send eight-bit characters.)-2.5 E F1
+(expand\255tilde \(Off\))108 120 Q F0(If set to)144 132 Q F1(on)2.5 E F0
+2.5(,t)C(ilde e)-2.5 E(xpansion is performed when readline attempts w)
+-.15 E(ord completion.)-.1 E F1(history\255pr)108 144 Q(eser)-.18 E -.1
+(ve)-.1 G(\255point \(Off\)).1 E F0 1.493(If set to)144 156 R F1(on)
+3.993 E F0 3.993(,t)C 1.493(he history code attempts to place point at \
+the same location on each history line)-3.993 F(retrie)144 168 Q -.15
+(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G
+(ious-history).15 E F0(or)2.5 E F1(next-history)2.5 E F0(.)A F1
+(history\255size \(0\))108 180 Q F0 .462
+(Set the maximum number of history entries sa)144 192 R -.15(ve)-.2 G
+2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963 F .463
+(If set to zero, the number of)5.463 F
+(entries in the history list is not limited.)144 204 Q F1
+(horizontal\255scr)108 216 Q(oll\255mode \(Off\))-.18 E F0 .449
+(When set to)144 228 R F1(On)2.949 E F0 2.949(,m)C(ak)-2.949 E .448
(es readline use a single line for display)-.1 F 2.948(,s)-.65 G .448
(crolling the input horizontally on a)-2.948 F 1.194(single screen line\
when it becomes longer than the screen width rather than wrapping to a\
- ne)144 180 R(w)-.25 E(line.)144 192 Q F1(input\255meta \(Off\))108 204
-Q F0 .367(If set to)144 216 R F1(On)2.867 E F0 2.867(,r)C .367(eadline \
+ ne)144 240 R(w)-.25 E(line.)144 252 Q F1(input\255meta \(Off\))108 264
+Q F0 .367(If set to)144 276 R F1(On)2.867 E F0 2.867(,r)C .367(eadline \
will enable eight-bit input \(that is, it will not clear the eighth bit\
- in the char)-2.867 F(-)-.2 E .956(acters it reads\), re)144 228 R -.05
+ in the char)-2.867 F(-)-.2 E .956(acters it reads\), re)144 288 R -.05
(ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F
.957(The name)5.956 F F1(meta\255\215ag)3.457 E F0 .957(is a)3.457 F
-(synon)144 240 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 252 Q
+(synon)144 300 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 312 Q
(ch\255terminators \(`)-.18 E(`C\255[ C\255J')-.63 E('\))-.63 E F0 .439
(The string of characters that should terminate an incremental search w\
-ithout subsequently e)144 264 R -.15(xe)-.15 G(cut-).15 E .934
-(ing the character as a command.)144 276 R .935(If this v)5.935 F .935
+ithout subsequently e)144 324 R -.15(xe)-.15 G(cut-).15 E .934
+(ing the character as a command.)144 336 R .935(If this v)5.935 F .935
(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.435(nav).15 G .935
(alue, the characters)-3.685 F/F2 10/Times-Italic@0 SF(ESC)3.435 E F0
-(and)144 288 Q F2(C\255J)2.5 E F0(will terminate an incremental search.)
-2.5 E F1 -.1(ke)108 300 S(ymap \(emacs\)).1 E F0 2.323
-(Set the current readline k)144 312 R -.15(ey)-.1 G 4.823(map. The).15 F
+(and)144 348 Q F2(C\255J)2.5 E F0(will terminate an incremental search.)
+2.5 E F1 -.1(ke)108 360 S(ymap \(emacs\)).1 E F0 2.323
+(Set the current readline k)144 372 R -.15(ey)-.1 G 4.823(map. The).15 F
2.323(set of le)4.823 F -.05(ga)-.15 G 4.823(lk).05 G -.15(ey)-4.923 G
2.323(map names is).15 F F2 2.323(emacs, emacs-standar)4.823 F(d,)-.37 E
-.808(emacs-meta, emacs-ctlx, vi, vi-mo)144 324 R(ve)-.1 E 3.308(,v)-.1 G
+.808(emacs-meta, emacs-ctlx, vi, vi-mo)144 384 R(ve)-.1 E 3.308(,v)-.1 G
(i-command)-3.308 E F0 3.308(,a)C(nd)-3.308 E F2(vi-insert)3.308 E F0(.)
.68 E F2(vi)5.808 E F0 .808(is equi)3.308 F -.25(va)-.25 G .809(lent to)
-.25 F F2(vi-command)3.309 E F0(;)A F2(emacs)144 336 Q F0 .697(is equi)
+.25 F F2(vi-command)3.309 E F0(;)A F2(emacs)144 396 Q F0 .697(is equi)
3.197 F -.25(va)-.25 G .697(lent to).25 F F2(emacs-standar)3.197 E(d)
-.37 E F0 5.697(.T)C .697(he def)-5.697 F .697(ault v)-.1 F .697
(alue is)-.25 F F2(emacs)3.197 E F0 5.697(.T).27 G .697(he v)-5.697 F
-.697(alue of)-.25 F F1(editing\255mode)3.196 E F0(also af)144 348 Q
+.697(alue of)-.25 F F1(editing\255mode)3.196 E F0(also af)144 408 Q
(fects the def)-.25 E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1
-(mark\255dir)108 360 Q(ectories \(On\))-.18 E F0(If set to)144 372 Q F1
+(mark\255dir)108 420 Q(ectories \(On\))-.18 E F0(If set to)144 432 Q F1
(On)2.5 E F0 2.5(,c)C(ompleted directory names ha)-2.5 E .3 -.15(ve a s)
-.2 H(lash appended.).15 E F1(mark\255modi\214ed\255lines \(Off\))108
-384 Q F0(If set to)144 396 Q F1(On)2.5 E F0 2.5(,h)C
+444 Q F0(If set to)144 456 Q F1(On)2.5 E F0 2.5(,h)C
(istory lines that ha)-2.5 E .3 -.15(ve b)-.2 H
(een modi\214ed are displayed with a preceding asterisk \().15 E F1(*)A
-F0(\).)A F1(mark\255symlink)108 408 Q(ed\255dir)-.1 E(ectories \(Off\))
--.18 E F0 .175(If set to)144 420 R F1(On)2.675 E F0 2.675(,c)C .175
+F0(\).)A F1(mark\255symlink)108 468 Q(ed\255dir)-.1 E(ectories \(Off\))
+-.18 E F0 .175(If set to)144 480 R F1(On)2.675 E F0 2.675(,c)C .175
(ompleted names which are symbolic links to directories ha)-2.675 F .475
--.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 432
+-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 492
Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1
-(match\255hidden\255\214les \(On\))108 444 Q F0 .193(This v)144 456 R
+(match\255hidden\255\214les \(On\))108 504 Q F0 .193(This v)144 516 R
.193(ariable, when set to)-.25 F F1(On)2.693 E F0 2.693(,c)C .192
(auses readline to match \214les whose names be)-2.693 F .192
(gin with a `.)-.15 F 2.692('\()-.7 G(hidden)-2.692 E 1.023
(\214les\) when performing \214lename completion, unless the leading `.)
-144 468 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.024
-(upplied by the user in the)-3.523 F(\214lename to be completed.)144 480
-Q F1(output\255meta \(Off\))108 492 Q F0 .507(If set to)144 504 R F1(On)
+144 528 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.024
+(upplied by the user in the)-3.523 F(\214lename to be completed.)144 540
+Q F1(output\255meta \(Off\))108 552 Q F0 .507(If set to)144 564 R F1(On)
3.007 E F0 3.007(,r)C .507(eadline will display characters with the eig\
-hth bit set directly rather than as a meta-)-3.007 F(pre\214x)144 516 Q
-(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 528 Q F0
-.808(If set to)144 540 R F1(On)3.308 E F0 3.308(,r)C .808
+hth bit set directly rather than as a meta-)-3.007 F(pre\214x)144 576 Q
+(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 588 Q F0
+.808(If set to)144 600 R F1(On)3.308 E F0 3.308(,r)C .808
(eadline uses an internal)-3.308 F F2(mor)3.308 E(e)-.37 E F0(-lik)A
3.308(ep)-.1 G .808(ager to display a screenful of possible comple-)
--3.308 F(tions at a time.)144 552 Q F1
-(print\255completions\255horizontally \(Off\))108 564 Q F0 1.319
-(If set to)144 576 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\
+-3.308 F(tions at a time.)144 612 Q F1
+(print\255completions\255horizontally \(Off\))108 624 Q F0 1.319
+(If set to)144 636 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\
play completions with matches sorted horizontally in alphabetical)-3.819
-F(order)144 588 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
-E F1 -2.29 -.18(re v)108 600 T(ert\255all\255at\255newline \(Off\)).08 E
-F0 .872(If set to)144 612 R F1(on)3.372 E F0 3.372(,r)C .873
+F(order)144 648 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
+E F1 -2.29 -.18(re v)108 660 T(ert\255all\255at\255newline \(Off\)).08 E
+F0 .872(If set to)144 672 R F1(on)3.372 E F0 3.372(,r)C .873
(eadline will undo all changes to history lines before returning when)
--3.372 F F1(accept\255line)3.373 E F0(is)3.373 E -.15(exe)144 624 S
+-3.372 F F1(accept\255line)3.373 E F0(is)3.373 E -.15(exe)144 684 S
2.686(cuted. By).15 F(def)2.686 E .186
(ault, history lines may be modi\214ed and retain indi)-.1 F .186
-(vidual undo lists across calls to)-.25 F F1 -.18(re)144 636 S(adline)
-.18 E F0(.)A F1(sho)108 648 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
-F0 .477(This alters the def)144 660 R .477(ault beha)-.1 F .477
+(vidual undo lists across calls to)-.25 F F1 -.18(re)144 696 S(adline)
+.18 E F0(.)A(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E(4)
+197.895 E 0 Cg EP
+%%Page: 5 5
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
+/Times-Bold@0 SF(sho)108 84 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
+F0 .477(This alters the def)144 96 R .477(ault beha)-.1 F .477
(vior of the completion functions.)-.2 F .478(If set to)5.478 F F1(on)
2.978 E F0 2.978(,w)C .478(ords which ha)-3.078 F .778 -.15(ve m)-.2 H
(ore).15 E 1.264(than one possible completion cause the matches to be l\
-isted immediately instead of ringing the)144 672 R(bell.)144 684 Q F1
-(sho)108 696 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
-(This alters the def)144 708 R 5.345(ault beha)-.1 F 5.345
+isted immediately instead of ringing the)144 108 R(bell.)144 120 Q F1
+(sho)108 132 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
+(This alters the def)144 144 R 5.345(ault beha)-.1 F 5.345
(vior of the completion functions in a f)-.2 F 5.346(ashion similar to)
--.1 F F1(sho)144 720 Q(w\255all\255if\255ambiguous)-.1 E F0 6.923(.I)C
+-.1 F F1(sho)144 156 Q(w\255all\255if\255ambiguous)-.1 E F0 6.923(.I)C
4.423(fs)-6.923 G 1.923(et to)-4.423 F F1(on)4.423 E F0 4.423(,w)C 1.923
(ords which ha)-4.523 F 2.222 -.15(ve m)-.2 H 1.922
-(ore than one possible completion).15 F(GNU Readline 6.0)72 768 Q
-(2008 May 8)135.125 E(4)204.835 E 0 Cg EP
-%%Page: 5 5
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 1.039
-(without an)144 84 R 3.539(yp)-.15 G 1.039
+(ore than one possible completion).15 F 1.039(without an)144 168 R 3.539
+(yp)-.15 G 1.039
(ossible partial completion \(the possible completions don')-3.539 F
3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\
-s to be listed immediately instead of ringing the bell.)144 96 Q/F1 10
-/Times-Bold@0 SF(visible\255stats \(Off\))108 108 Q F0 .847(If set to)
-144 120 R F1(On)3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')
--3.346 F 3.346(st)-.55 G .846(ype as reported by)-3.346 F/F2 10
-/Times-Italic@0 SF(stat)3.346 E F0 .846
-(\(2\) is appended to the \214lename)B
-(when listing possible completions.)144 132 Q F1(Conditional Constructs)
-87 148.8 Q F0 .05(Readline implements a f)108 160.8 R .05(acility simil\
+s to be listed immediately instead of ringing the bell.)144 180 Q F1
+(skip\255completed\255text \(Off\))108 192 Q F0 .095(If set to)144 204 R
+F1(On)2.595 E F0 2.595(,t)C .095(his alters the def)-2.595 F .095
+(ault completion beha)-.1 F .094
+(vior when inserting a single match into the line.)-.2 F(It')144 216 Q
+2.545(so)-.55 G .045(nly acti)-2.545 F .345 -.15(ve w)-.25 H .046
+(hen performing completion in the middle of a w).15 F 2.546(ord. If)-.1
+F .046(enabled, readline does not)2.546 F 1.394(insert characters from \
+the completion that match characters after point in the w)144 228 R
+1.394(ord being com-)-.1 F(pleted, so portions of the w)144 240 Q
+(ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F1
+(visible\255stats \(Off\))108 252 Q F0 .846(If set to)144 264 R F1(On)
+3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346
+(st)-.55 G .846(ype as reported by)-3.346 F/F2 10/Times-Italic@0 SF
+(stat)3.346 E F0 .846(\(2\) is appended to the \214lename)B
+(when listing possible completions.)144 276 Q F1(Conditional Constructs)
+87 292.8 Q F0 .05(Readline implements a f)108 304.8 R .05(acility simil\
ar in spirit to the conditional compilation features of the C preproces\
-sor)-.1 F .097(which allo)108 172.8 R .097(ws k)-.25 F .396 -.15(ey b)
+sor)-.1 F .096(which allo)108 316.8 R .096(ws k)-.25 F .396 -.15(ey b)
-.1 H .096(indings and v).15 F .096
-(ariable settings to be performed as the result of tests.)-.25 F .096
-(There are four parser)5.096 F(directi)108 184.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F1($if)108 201.6 Q F0(The)24.89 E F1($if)2.962 E
-F0 .462(construct allo)2.962 F .463(ws bindings to be made based on the\
- editing mode, the terminal being used,)-.25 F .478
-(or the application using readline.)144 213.6 R .477(The te)5.477 F .477
+(ariable settings to be performed as the result of tests.)-.25 F .097
+(There are four parser)5.096 F(directi)108 328.8 Q -.15(ve)-.25 G 2.5
+(su).15 G(sed.)-2.5 E F1($if)108 345.6 Q F0(The)24.89 E F1($if)2.963 E
+F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\
+ editing mode, the terminal being used,)-.25 F .477
+(or the application using readline.)144 357.6 R .477(The te)5.477 F .477
(xt of the test e)-.15 F .477
(xtends to the end of the line; no characters)-.15 F
-(are required to isolate it.)144 225.6 Q F1(mode)144 242.4 Q F0(The)
-12.67 E F1(mode=)3.711 E F0 1.211(form of the)3.711 F F1($if)3.711 E F0
+(are required to isolate it.)144 369.6 Q F1(mode)144 386.4 Q F0(The)
+12.67 E F1(mode=)3.712 E F0 1.212(form of the)3.712 F F1($if)3.711 E F0
(directi)3.711 E 1.511 -.15(ve i)-.25 H 3.711(su).15 G 1.211
(sed to test whether readline is in emacs or vi)-3.711 F 3.065
-(mode. This)180 254.4 R .565(may be used in conjunction with the)3.065 F
+(mode. This)180 398.4 R .565(may be used in conjunction with the)3.065 F
F1 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to)
-3.065 F .029(set bindings in the)180 266.4 R F2(emacs-standar)2.529 E(d)
+3.065 F .03(set bindings in the)180 410.4 R F2(emacs-standar)2.529 E(d)
-.37 E F0(and)2.529 E F2(emacs-ctlx)2.529 E F0 -.1(ke)2.529 G .029
-(ymaps only if readline is starting out)-.05 F(in emacs mode.)180 278.4
-Q F1(term)144 295.2 Q F0(The)15.46 E F1(term=)3.197 E F0 .696
-(form may be used to include terminal-speci\214c k)3.197 F .996 -.15
-(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 307.2 R
+(ymaps only if readline is starting out)-.05 F(in emacs mode.)180 422.4
+Q F1(term)144 439.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696
+(form may be used to include terminal-speci\214c k)3.196 F .996 -.15
+(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 451.2 R
.954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154
(sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1
-(wo)3.154 G .654(rd on the right side of).1 F(the)180 319.2 Q F1(=)3.004
-E F0 .504(is tested ag)3.004 F .503(ainst the full name of the terminal\
+(wo)3.154 G .654(rd on the right side of).1 F(the)180 463.2 Q F1(=)3.003
+E F0 .503(is tested ag)3.003 F .504(ainst the full name of the terminal\
and the portion of the terminal name)-.05 F(before the \214rst)180
-331.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
+475.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
(to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0
-2.5(,f).77 G(or instance.)-2.5 E F1(application)144 348 Q F0(The)180 360
+2.5(,f).77 G(or instance.)-2.5 E F1(application)144 492 Q F0(The)180 504
Q F1(application)3.003 E F0 .503
(construct is used to include application-speci\214c settings.)3.003 F
.503(Each program)5.503 F .114(using the readline library sets the)180
-372 R F2 .114(application name)2.614 F F0 2.614(,a)C .114
-(nd an initialization \214le can test for a)-2.614 F .5(particular v)180
-384 R 3(alue. This)-.25 F .501(could be used to bind k)3 F .801 -.15
-(ey s)-.1 H .501(equences to functions useful for a spe-).15 F .397
-(ci\214c program.)180 396 R -.15(Fo)5.397 G 2.896(ri).15 G .396
+516 R F2 .114(application name)2.614 F F0 2.614(,a)C .114
+(nd an initialization \214le can test for a)-2.614 F .501(particular v)
+180 528 R 3.001(alue. This)-.25 F .501(could be used to bind k)3.001 F
+.801 -.15(ey s)-.1 H .5(equences to functions useful for a spe-).15 F
+.396(ci\214c program.)180 540 R -.15(Fo)5.396 G 2.896(ri).15 G .396
(nstance, the follo)-2.896 F .396(wing command adds a k)-.25 F .696 -.15
-(ey s)-.1 H .396(equence that quotes the).15 F(current or pre)180 408 Q
-(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 432 Q F0(Bash)2.5 E 2.5
-(#Q)180 444 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
-("\\C-xq": "\\eb\\"\\ef\\"")180 456 Q F1($endif)180 468 Q($endif)108
-484.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
+(ey s)-.1 H .397(equence that quotes the).15 F(current or pre)180 552 Q
+(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 576 Q F0(Bash)2.5 E 2.5
+(#Q)180 588 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
+("\\C-xq": "\\eb\\"\\ef\\"")180 600 Q F1($endif)180 612 Q($endif)108
+628.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
(xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E F1($else)
-108 501.6 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0
+108 645.6 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0
(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe)-.15 G
-(cuted if the test f).15 E(ails.)-.1 E F1($include)108 518.4 Q F0 .356
-(This directi)144 530.4 R .656 -.15(ve t)-.25 H(ak).15 E .356
-(es a single \214lename as an ar)-.1 F .357
+(cuted if the test f).15 E(ails.)-.1 E F1($include)108 662.4 Q F0 .357
+(This directi)144 674.4 R .657 -.15(ve t)-.25 H(ak).15 E .357
+(es a single \214lename as an ar)-.1 F .356
(gument and reads commands and bindings from that)-.18 F 2.5(\214le. F)
-144 542.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
+144 686.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
-.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1
-($include)144 566.4 Q F2(/etc/inputr)5.833 E(c)-.37 E/F3 10.95
-/Times-Bold@0 SF(SEARCHING)72 583.2 Q F0 1.004(Readline pro)108 595.2 R
-1.003(vides commands for searching through the command history for line\
-s containing a speci\214ed)-.15 F 2.5(string. There)108 607.2 R(are tw)
-2.5 E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E(emental)-.37 E F0
-(and)3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51 E .697
-(Incremental searches be)108 624 R .697
-(gin before the user has \214nished typing the search string.)-.15 F
-.698(As each character of the)5.698 F .113
-(search string is typed, readline displays the ne)108 636 R .112
-(xt entry from the history matching the string typed so f)-.15 F(ar)-.1
-E 5.112(.A)-.55 G(n)-5.112 E .544
-(incremental search requires only as man)108 648 R 3.044(yc)-.15 G .544
-(haracters as needed to \214nd the desired history entry)-3.044 F 5.545
-(.T)-.65 G 3.045(os)-6.345 G(earch)-3.045 E(backw)108 660 Q .181
-(ard in the history for a particular string, type)-.1 F F1(C\255r)2.681
-E F0 5.181(.T)C(yping)-5.981 E F1(C\255s)2.68 E F0 .18(searches forw)
-2.68 F .18(ard through the history)-.1 F(.)-.65 E .354
-(The characters present in the v)108 672 R .354(alue of the)-.25 F F1
-(isear)2.854 E(ch-terminators)-.18 E F0 -.25(va)2.854 G .354
-(riable are used to terminate an incremen-).25 F .6(tal search.)108 684
-R .6(If that v)5.6 F .6(ariable has not been assigned a v)-.25 F .6
-(alue the)-.25 F F2(Escape)3.1 E F0(and)3.1 E F1(C\255J)3.1 E F0 .6
-(characters will terminate an)3.1 F .122(incremental search.)108 696 R
-F1(C\255G)5.122 E F0 .122
-(will abort an incremental search and restore the original line.)2.622 F
-.123(When the search is)5.123 F(terminated, the history entry containin\
-g the search string becomes the current line.)108 708 Q 3.908 -.8
-(To \214)108 724.8 T 2.307
-(nd other matching entries in the history list, type).8 F F1(C\255s)
-4.807 E F0(or)4.807 E F1(C\255r)4.807 E F0 2.307(as appropriate.)4.807 F
-2.307(This will search)7.307 F(GNU Readline 6.0)72 768 Q(2008 May 8)
-135.125 E(5)204.835 E 0 Cg EP
+($include)144 710.4 Q F2(/etc/inputr)5.833 E(c)-.37 E F0
+(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E(5)197.895 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
%%EndPageSetup
-/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R(backw)
-108 84 Q .315(ard or forw)-.1 F .315(ard in the history for the ne)-.1 F
-.315(xt line matching the search string typed so f)-.15 F(ar)-.1 E 5.316
-(.A)-.55 G .616 -.15(ny o)-5.316 H .316(ther k).15 F -.15(ey)-.1 G .317
+/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1
+10.95/Times-Bold@0 SF(SEARCHING)72 84 Q F0 1.003(Readline pro)108 96 R
+1.003(vides commands for searching through the command history for line\
+s containing a speci\214ed)-.15 F 2.5(string. There)108 108 R(are tw)2.5
+E 2.5(os)-.1 G(earch modes:)-2.5 E/F2 10/Times-Italic@0 SF(incr)2.51 E
+(emental)-.37 E F0(and)3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51
+E .698(Incremental searches be)108 124.8 R .698
+(gin before the user has \214nished typing the search string.)-.15 F
+.697(As each character of the)5.697 F .112
+(search string is typed, readline displays the ne)108 136.8 R .112
+(xt entry from the history matching the string typed so f)-.15 F(ar)-.1
+E 5.113(.A)-.55 G(n)-5.113 E .545
+(incremental search requires only as man)108 148.8 R 3.045(yc)-.15 G
+.544(haracters as needed to \214nd the desired history entry)-3.045 F
+5.544(.T)-.65 G 3.044(os)-6.344 G(earch)-3.044 E(backw)108 160.8 Q .18
+(ard in the history for a particular string, type)-.1 F/F3 10
+/Times-Bold@0 SF(C\255r)2.681 E F0 5.181(.T)C(yping)-5.981 E F3(C\255s)
+2.681 E F0 .181(searches forw)2.681 F .181(ard through the history)-.1 F
+(.)-.65 E .354(The characters present in the v)108 172.8 R .354
+(alue of the)-.25 F F3(isear)2.854 E(ch-terminators)-.18 E F0 -.25(va)
+2.854 G .354(riable are used to terminate an incremen-).25 F .6
+(tal search.)108 184.8 R .6(If that v)5.6 F .6
+(ariable has not been assigned a v)-.25 F .6(alue the)-.25 F F2(Escape)
+3.1 E F0(and)3.1 E F3(C\255J)3.1 E F0 .6(characters will terminate an)
+3.1 F .123(incremental search.)108 196.8 R F3(C\255G)5.123 E F0 .123
+(will abort an incremental search and restore the original line.)2.623 F
+.122(When the search is)5.122 F(terminated, the history entry containin\
+g the search string becomes the current line.)108 208.8 Q 2.406 -.8
+(To \214)108 225.6 T .806
+(nd other matching entries in the history list, type).8 F F3(C\255s)
+3.306 E F0(or)3.306 E F3(C\255r)3.306 E F0 .806(as appropriate.)3.306 F
+.807(This will search back-)5.806 F -.1(wa)108 237.6 S 1.309(rd or forw)
+.1 F 1.309(ard in the history for the ne)-.1 F 1.309
+(xt line matching the search string typed so f)-.15 F(ar)-.1 E 6.309(.A)
+-.55 G 1.609 -.15(ny o)-6.309 H 1.308(ther k).15 F -.15(ey)-.1 G .317
(sequence bound to a readline command will terminate the search and e)
-108 96 R -.15(xe)-.15 G .317(cute that command.).15 F -.15(Fo)5.317 G
-2.817(ri).15 G(nstance,)-2.817 E 3.48(an)108 108 S -.25(ew)-3.48 G .98
-(line will terminate the search and accept the line, thereby e).25 F
--.15(xe)-.15 G .981(cuting the command from the history).15 F 3.062
-(list. A)108 120 R(mo)3.062 E -.15(ve)-.15 G .562
+108 249.6 R -.15(xe)-.15 G .318(cute that command.).15 F -.15(Fo)5.318 G
+2.818(ri).15 G(nstance,)-2.818 E 3.481(an)108 261.6 S -.25(ew)-3.481 G
+.981(line will terminate the search and accept the line, thereby e).25 F
+-.15(xe)-.15 G .98(cuting the command from the history).15 F 3.061
+(list. A)108 273.6 R(mo)3.061 E -.15(ve)-.15 G .562
(ment command will terminate the search, mak).15 F 3.062(et)-.1 G .562
(he last line found the current line, and be)-3.062 F(gin)-.15 E
-(editing.)108 132 Q .567(Non-incremental searches read the entire searc\
-h string before starting to search for matching history lines.)108 148.8
-R(The search string may be typed by the user or be part of the contents\
- of the current line.)108 160.8 Q/F1 10.95/Times-Bold@0 SF
-(EDITING COMMANDS)72 177.6 Q F0 1.392(The follo)108 189.6 R 1.391
+(editing.)108 285.6 Q .567(Non-incremental searches read the entire sea\
+rch string before starting to search for matching history lines.)108
+302.4 R(The search string may be typed by the user or be part of the co\
+ntents of the current line.)108 314.4 Q F1(EDITING COMMANDS)72 331.2 Q
+F0 1.391(The follo)108 343.2 R 1.391
(wing is a list of the names of the commands and the def)-.25 F 1.391
(ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F
-3.891(ya)-.15 G(re)-3.891 E 2.5(bound. Command)108 201.6 R
+3.892(ya)-.15 G(re)-3.892 E 2.5(bound. Command)108 355.2 R
(names without an accompan)2.5 E(ying k)-.15 E .3 -.15(ey s)-.1 H
-(equence are unbound by def).15 E(ault.)-.1 E .054(In the follo)108
-218.4 R .054(wing descriptions,)-.25 F/F2 10/Times-Italic@0 SF(point)
-2.554 E F0 .055(refers to the current cursor position, and)2.554 F F2
-(mark)2.555 E F0 .055(refers to a cursor position)2.555 F(sa)108 230.4 Q
--.15(ve)-.2 G 2.5(db).15 G 2.5(yt)-2.5 G(he)-2.5 E/F3 10/Times-Bold@0 SF
-(set\255mark)2.5 E F0 2.5(command. The)2.5 F(te)2.5 E
+(equence are unbound by def).15 E(ault.)-.1 E .055(In the follo)108 372
+R .055(wing descriptions,)-.25 F F2(point)2.555 E F0 .055
+(refers to the current cursor position, and)2.555 F F2(mark)2.555 E F0
+.054(refers to a cursor position)2.554 F(sa)108 384 Q -.15(ve)-.2 G 2.5
+(db).15 G 2.5(yt)-2.5 G(he)-2.5 E F3(set\255mark)2.5 E F0 2.5
+(command. The)2.5 F(te)2.5 E
(xt between the point and mark is referred to as the)-.15 E F2 -.37(re)
-2.5 G(gion)-.03 E F0(.)A F3(Commands f)87 247.2 Q(or Mo)-.25 E(ving)-.1
-E(beginning\255of\255line \(C\255a\))108 259.2 Q F0(Mo)144 271.2 Q .3
+2.5 G(gion)-.03 E F0(.)A F3(Commands f)87 400.8 Q(or Mo)-.25 E(ving)-.1
+E(beginning\255of\255line \(C\255a\))108 412.8 Q F0(Mo)144 424.8 Q .3
-.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F3
-(end\255of\255line \(C\255e\))108 283.2 Q F0(Mo)144 295.2 Q .3 -.15
+(end\255of\255line \(C\255e\))108 436.8 Q F0(Mo)144 448.8 Q .3 -.15
(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F3 -.25(fo)108
-307.2 S(rward\255char \(C\255f\)).25 E F0(Mo)144 319.2 Q .3 -.15(ve f)
+460.8 S(rward\255char \(C\255f\)).25 E F0(Mo)144 472.8 Q .3 -.15(ve f)
-.15 H(orw).15 E(ard a character)-.1 E(.)-.55 E F3
-(backward\255char \(C\255b\))108 331.2 Q F0(Mo)144 343.2 Q .3 -.15(ve b)
--.15 H(ack a character).15 E(.)-.55 E F3 -.25(fo)108 355.2 S(rward\255w)
-.25 E(ord \(M\255f\))-.1 E F0(Mo)144 367.2 Q .823 -.15(ve f)-.15 H(orw)
-.15 E .523(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W)
--.1 F .522(ords are composed of alphanumeric characters \(let-)-.8 F
-(ters and digits\).)144 379.2 Q F3(backward\255w)108 391.2 Q
-(ord \(M\255b\))-.1 E F0(Mo)144 403.2 Q 1.71 -.15(ve b)-.15 H 1.41
+(backward\255char \(C\255b\))108 484.8 Q F0(Mo)144 496.8 Q .3 -.15(ve b)
+-.15 H(ack a character).15 E(.)-.55 E F3 -.25(fo)108 508.8 S(rward\255w)
+.25 E(ord \(M\255f\))-.1 E F0(Mo)144 520.8 Q .822 -.15(ve f)-.15 H(orw)
+.15 E .522(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W)
+-.1 F .523(ords are composed of alphanumeric characters \(let-)-.8 F
+(ters and digits\).)144 532.8 Q F3(backward\255w)108 544.8 Q
+(ord \(M\255b\))-.1 E F0(Mo)144 556.8 Q 1.71 -.15(ve b)-.15 H 1.41
(ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
(ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
-(characters \(letters and digits\).)144 415.2 Q F3(clear\255scr)108
-427.2 Q(een \(C\255l\))-.18 E F0 .993(Clear the screen lea)144 439.2 R
+(characters \(letters and digits\).)144 568.8 Q F3(clear\255scr)108
+580.8 Q(een \(C\255l\))-.18 E F0 .993(Clear the screen lea)144 592.8 R
.993(ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993
G .993(th an ar).4 F .993(gument, refresh the)-.18 F
-(current line without clearing the screen.)144 451.2 Q F3 -.18(re)108
-463.2 S(draw\255curr).18 E(ent\255line)-.18 E F0
-(Refresh the current line.)144 475.2 Q F3(Commands f)87 492 Q
+(current line without clearing the screen.)144 604.8 Q F3 -.18(re)108
+616.8 S(draw\255curr).18 E(ent\255line)-.18 E F0
+(Refresh the current line.)144 628.8 Q F3(Commands f)87 645.6 Q
(or Manipulating the History)-.25 E(accept\255line \(Newline, Retur)108
-504 Q(n\))-.15 E F0 .364(Accept the line re)144 516 R -.05(ga)-.15 G
+657.6 Q(n\))-.15 E F0 .365(Accept the line re)144 669.6 R -.05(ga)-.15 G
.364(rdless of where the cursor is.).05 F .364
(If this line is non-empty)5.364 F 2.864(,i)-.65 G 2.864(tm)-2.864 G
-.365(ay be added to the)-2.864 F .741
-(history list for future recall with)144 528 R F3(add_history\(\))3.241
-E F0 5.741(.I)C 3.241(ft)-5.741 G .74
+.364(ay be added to the)-2.864 F .74
+(history list for future recall with)144 681.6 R F3(add_history\(\))3.24
+E F0 5.741(.I)C 3.241(ft)-5.741 G .741
(he line is a modi\214ed history line, the history)-3.241 F
-(line is restored to its original state.)144 540 Q F3(pr)108 552 Q -.15
-(ev)-.18 G(ious\255history \(C\255p\)).15 E F0(Fetch the pre)144 564 Q
-(vious command from the history list, mo)-.25 E(ving back in the list.)
--.15 E F3(next\255history \(C\255n\))108 576 Q F0(Fetch the ne)144 588 Q
-(xt command from the history list, mo)-.15 E(ving forw)-.15 E
-(ard in the list.)-.1 E F3(beginning\255of\255history \(M\255<\))108 600
-Q F0(Mo)144 612 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G
-(he \214rst line in the history)-2.5 E(.)-.65 E F3
-(end\255of\255history \(M\255>\))108 624 Q F0(Mo)144 636 Q .3 -.15(ve t)
--.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5(,i)-.65 G
-(.e., the line currently being entered.)-2.5 E F3 -2.29 -.18(re v)108
-648 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 1.47
-(Search backw)144 660 R 1.471(ard starting at the current line and mo)
--.1 F 1.471(ving `up' through the history as necessary)-.15 F(.)-.65 E
-(This is an incremental search.)144 672 Q F3 -.25(fo)108 684 S
-(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132
-(Search forw)144 696 R 1.132(ard starting at the current line and mo)-.1
-F 1.131(ving `do)-.15 F 1.131(wn' through the history as necessary)-.25
-F(.)-.65 E(This is an incremental search.)144 708 Q(GNU Readline 6.0)72
-768 Q(2008 May 8)135.125 E(6)204.835 E 0 Cg EP
+(line is restored to its original state.)144 693.6 Q F3(pr)108 705.6 Q
+-.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0(Fetch the pre)144
+717.6 Q(vious command from the history list, mo)-.25 E
+(ving back in the list.)-.15 E(GNU Readline 6.1)72 768 Q(2009 October 9)
+128.185 E(6)197.895 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
-/Times-Bold@0 SF(non\255incr)108 84 Q(emental\255r)-.18 E -2.3 -.15
-(ev e)-.18 H(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .164
-(Search backw)144 96 R .164(ard through the history starting at the cur\
-rent line using a non-incremental search for)-.1 F 2.5(as)144 108 S
-(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 120 Q
-(emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18
-E F0 1.354(Search forw)144 132 R 1.354(ard through the history using a \
-non-incremental search for a string supplied by the)-.1 F(user)144 144 Q
-(.)-.55 E F1(history\255sear)108 156 Q(ch\255f)-.18 E(orward)-.25 E F0
-.248(Search forw)144 168 R .249(ard through the history for the string \
-of characters between the start of the current line)-.1 F
-(and the current cursor position \(the)144 180 Q/F2 10/Times-Italic@0 SF
-(point)2.5 E F0 2.5(\). This)B(is a non-incremental search.)2.5 E F1
-(history\255sear)108 192 Q(ch\255backward)-.18 E F0 .951(Search backw)
-144 204 R .951(ard through the history for the string of characters bet\
-ween the start of the current)-.1 F(line and the point.)144 216 Q
-(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 228 Q
-2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144 240
-R .622(gument to the pre)-.18 F .622
+/Times-Bold@0 SF(next\255history \(C\255n\))108 84 Q F0(Fetch the ne)144
+96 Q(xt command from the history list, mo)-.15 E(ving forw)-.15 E
+(ard in the list.)-.1 E F1(beginning\255of\255history \(M\255<\))108 108
+Q F0(Mo)144 120 Q .3 -.15(ve t)-.15 H 2.5(ot).15 G
+(he \214rst line in the history)-2.5 E(.)-.65 E F1
+(end\255of\255history \(M\255>\))108 132 Q F0(Mo)144 144 Q .3 -.15(ve t)
+-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5(,i)-.65 G
+(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18(re v)108
+156 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 1.471
+(Search backw)144 168 R 1.471(ard starting at the current line and mo)
+-.1 F 1.47(ving `up' through the history as necessary)-.15 F(.)-.65 E
+(This is an incremental search.)144 180 Q F1 -.25(fo)108 192 S
+(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131
+(Search forw)144 204 R 1.131(ard starting at the current line and mo)-.1
+F 1.132(ving `do)-.15 F 1.132(wn' through the history as necessary)-.25
+F(.)-.65 E(This is an incremental search.)144 216 Q F1(non\255incr)108
+228 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H(rse\255sear).15 E
+(ch\255history \(M\255p\))-.18 E F0 .165(Search backw)144 240 R .164(ar\
+d through the history starting at the current line using a non-incremen\
+tal search for)-.1 F 2.5(as)144 252 S(tring supplied by the user)-2.5 E
+(.)-.55 E F1(non\255incr)108 264 Q(emental\255f)-.18 E(orward\255sear)
+-.25 E(ch\255history \(M\255n\))-.18 E F0 1.353(Search forw)144 276 R
+1.354(ard through the history using a non-incremental search for a stri\
+ng supplied by the)-.1 F(user)144 288 Q(.)-.55 E F1(history\255sear)108
+300 Q(ch\255f)-.18 E(orward)-.25 E F0 .249(Search forw)144 312 R .249(a\
+rd through the history for the string of characters between the start o\
+f the current line)-.1 F(and the current cursor position \(the)144 324 Q
+/F2 10/Times-Italic@0 SF(point)2.5 E F0 2.5(\). This)B
+(is a non-incremental search.)2.5 E F1(history\255sear)108 336 Q
+(ch\255backward)-.18 E F0 .95(Search backw)144 348 R .951(ard through t\
+he history for the string of characters between the start of the curren\
+t)-.1 F(line and the point.)144 360 Q(This is a non-incremental search.)
+5 E F1(yank\255nth\255ar)108 372 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0
+.622(Insert the \214rst ar)144 384 R .622(gument to the pre)-.18 F .622
(vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F
-.622(vious line\))-.25 F .795(at point.)144 252 R -.4(Wi)5.795 G .794
+.622(vious line\))-.25 F .794(at point.)144 396 R -.4(Wi)5.794 G .794
(th an ar).4 F(gument)-.18 E F2(n)3.294 E F0 3.294(,i).24 G .794
(nsert the)-3.294 F F2(n)3.294 E F0 .794(th w)B .794(ord from the pre)
--.1 F .794(vious command \(the w)-.25 F .794(ords in the)-.1 F(pre)144
-264 Q .291(vious command be)-.25 F .291(gin with w)-.15 F .291(ord 0\).)
+-.1 F .794(vious command \(the w)-.25 F .795(ords in the)-.1 F(pre)144
+408 Q .292(vious command be)-.25 F .292(gin with w)-.15 F .291(ord 0\).)
-.1 F 2.791(An)5.291 G -2.25 -.15(eg a)-2.791 H(ti).15 E .591 -.15(ve a)
-.25 H -.18(rg).15 G .291(ument inserts the).18 F F2(n)2.791 E F0 .291
-(th w)B .292(ord from the end of)-.1 F .282(the pre)144 276 R .282
-(vious command.)-.25 F .282(Once the ar)5.282 F(gument)-.18 E F2(n)2.781
-E F0 .281(is computed, the ar)2.781 F .281(gument is e)-.18 F .281
-(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 288 Q
-(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 300 Q
-2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.307
-(Insert the last ar)144 312 R 1.307(gument to the pre)-.18 F 1.307
-(vious command \(the last w)-.25 F 1.308(ord of the pre)-.1 F 1.308
-(vious history entry\).)-.25 F -.4(Wi)144 324 S .736(th an ar).4 F .736
-(gument, beha)-.18 F 1.036 -.15(ve ex)-.2 H .736(actly lik).15 F(e)-.1 E
-F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.735(.S)C(uccessi)-5.735 E
-1.035 -.15(ve c)-.25 H .735(alls to).15 F F1(yank\255last\255ar)3.235 E
-(g)-.1 E F0(mo)3.235 E -.15(ve)-.15 G .728
-(back through the history list, inserting the last ar)144 336 R .728
-(gument of each line in turn.)-.18 F .729(The history e)5.728 F(xpan-)
--.15 E .14(sion f)144 348 R .14(acilities are used to e)-.1 F .14
+(th w)B .291(ord from the end of)-.1 F .281(the pre)144 420 R .281
+(vious command.)-.25 F .281(Once the ar)5.281 F(gument)-.18 E F2(n)2.781
+E F0 .281(is computed, the ar)2.781 F .281(gument is e)-.18 F .282
+(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 432 Q
+(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 444 Q
+2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.308
+(Insert the last ar)144 456 R 1.308(gument to the pre)-.18 F 1.307
+(vious command \(the last w)-.25 F 1.307(ord of the pre)-.1 F 1.307
+(vious history entry\).)-.25 F -.4(Wi)144 468 S .735(th an ar).4 F .735
+(gument, beha)-.18 F 1.035 -.15(ve ex)-.2 H .735(actly lik).15 F(e)-.1 E
+F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.736(.S)C(uccessi)-5.736 E
+1.036 -.15(ve c)-.25 H .736(alls to).15 F F1(yank\255last\255ar)3.236 E
+(g)-.1 E F0(mo)3.236 E -.15(ve)-.15 G .728
+(back through the history list, inserting the last ar)144 480 R .728
+(gument of each line in turn.)-.18 F .728(The history e)5.728 F(xpan-)
+-.15 E .14(sion f)144 492 R .14(acilities are used to e)-.1 F .14
(xtract the last ar)-.15 F .14(gument, as if the "!$" history e)-.18 F
-.14(xpansion had been speci-)-.15 F(\214ed.)144 360 Q F1(Commands f)87
-376.8 Q(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108
-388.8 Q F0 .357(Delete the character at point.)144 400.8 R .358
+.14(xpansion had been speci-)-.15 F(\214ed.)144 504 Q F1(Commands f)87
+520.8 Q(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108
+532.8 Q F0 .358(Delete the character at point.)144 544.8 R .358
(If point is at the be)5.358 F .358
(ginning of the line, there are no characters in the)-.15 F
-(line, and the last character typed w)144 412.8 Q(as not bound to)-.1 E
+(line, and the last character typed w)144 556.8 Q(as not bound to)-.1 E
F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E/F3 9/Times-Bold@0
SF(EOF)2.5 E/F4 9/Times-Roman@0 SF(.)A F1
-(backward\255delete\255char \(Rubout\))108 424.8 Q F0 .553
-(Delete the character behind the cursor)144 436.8 R 5.553(.W)-.55 G .553
+(backward\255delete\255char \(Rubout\))108 568.8 Q F0 .552
+(Delete the character behind the cursor)144 580.8 R 5.553(.W)-.55 G .553
(hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F
-.552(gument, sa)-.18 F .852 -.15(ve t)-.2 H .552(he deleted te).15 F
-.552(xt on)-.15 F(the kill ring.)144 448.8 Q F1 -.25(fo)108 460.8 S
-(rward\255backward\255delete\255char).25 E F0 .473
-(Delete the character under the cursor)144 472.8 R 2.973(,u)-.4 G .474
-(nless the cursor is at the end of the line, in which case the)-2.973 F
-(character behind the cursor is deleted.)144 484.8 Q F1
-(quoted\255insert \(C\255q, C\255v\))108 496.8 Q F0 1.229(Add the ne)144
-508.8 R 1.228(xt character that you type to the line v)-.15 F 3.728
-(erbatim. This)-.15 F 1.228(is ho)3.728 F 3.728(wt)-.25 G 3.728(oi)
--3.728 G 1.228(nsert characters lik)-3.728 F(e)-.1 E F1(C\255q)144 520.8
+.553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553(he deleted te).15 F
+.553(xt on)-.15 F(the kill ring.)144 592.8 Q F1 -.25(fo)108 604.8 S
+(rward\255backward\255delete\255char).25 E F0 .474
+(Delete the character under the cursor)144 616.8 R 2.974(,u)-.4 G .474
+(nless the cursor is at the end of the line, in which case the)-2.974 F
+(character behind the cursor is deleted.)144 628.8 Q F1
+(quoted\255insert \(C\255q, C\255v\))108 640.8 Q F0 1.228(Add the ne)144
+652.8 R 1.228(xt character that you type to the line v)-.15 F 3.728
+(erbatim. This)-.15 F 1.228(is ho)3.728 F 3.729(wt)-.25 G 3.729(oi)
+-3.729 G 1.229(nsert characters lik)-3.729 F(e)-.1 E F1(C\255q)144 664.8
Q F0 2.5(,f)C(or e)-2.5 E(xample.)-.15 E F1(tab\255insert \(M-T)108
-532.8 Q(AB\))-.9 E F0(Insert a tab character)144 544.8 Q(.)-.55 E F1
-(self\255insert \(a, b, A, 1, !, ...\))108 556.8 Q F0
-(Insert the character typed.)144 568.8 Q F1
-(transpose\255chars \(C\255t\))108 580.8 Q F0 .321
-(Drag the character before point forw)144 592.8 R .321(ard o)-.1 F -.15
-(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .322
-(ving point forw)-.15 F .322(ard as well.)-.1 F 1.182
-(If point is at the end of the line, then this transposes the tw)144
-604.8 R 3.682(oc)-.1 G 1.182(haracters before point.)-3.682 F(Ne)6.182 E
--.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 616.8 Q(guments ha)-.18 E
-.3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1
-(transpose\255w)108 628.8 Q(ords \(M\255t\))-.1 E F0 .023(Drag the w)144
-640.8 R .023(ord before point past the w)-.1 F .023(ord after point, mo)
--.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.524(rt).15 G .024(hat w)
--2.524 F .024(ord as well.)-.1 F .024(If point)5.024 F
-(is at the end of the line, this transposes the last tw)144 652.8 Q 2.5
-(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 664.8 Q
-(ord \(M\255u\))-.1 E F0 1.699(Uppercase the current \(or follo)144
-676.8 R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F
--.05(ga)-.15 G(ti).05 E 1.998 -.15(ve a)-.25 H -.18(rg).15 G 1.698
-(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 688.8 S(rd, b).1
-E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 700.8 Q
-(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 712.8 Q 1.647
-(wercase the current \(or follo)-.25 F 1.647(wing\) w)-.25 F 4.147
-(ord. W)-.1 F 1.648(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.948 -.15
-(ve a)-.25 H -.18(rg).15 G 1.648(ument, lo).18 F 1.648(wercase the pre)
--.25 F(vious)-.25 E -.1(wo)144 724.8 S(rd, b).1 E(ut do not mo)-.2 E .3
--.15(ve p)-.15 H(oint.).15 E(GNU Readline 6.0)72 768 Q(2008 May 8)
-135.125 E(7)204.835 E 0 Cg EP
+676.8 Q(AB\))-.9 E F0(Insert a tab character)144 688.8 Q(.)-.55 E F1
+(self\255insert \(a, b, A, 1, !, ...\))108 700.8 Q F0
+(Insert the character typed.)144 712.8 Q(GNU Readline 6.1)72 768 Q
+(2009 October 9)128.185 E(7)197.895 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
-/Times-Bold@0 SF(capitalize\255w)108 84 Q(ord \(M\255c\))-.1 E F0 1.975
-(Capitalize the current \(or follo)144 96 R 1.974(wing\) w)-.25 F 4.474
-(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 2.274 -.15
-(ve a)-.25 H -.18(rg).15 G 1.974(ument, capitalize the pre).18 F(vious)
--.25 E -.1(wo)144 108 S(rd, b).1 E(ut do not mo)-.2 E .3 -.15(ve p)-.15
-H(oint.).15 E F1 -.1(ove)108 120 S(rwrite\255mode).1 E F0 -.8(To)144 132
-S .437(ggle o).8 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4(Wi)5.437 G
-.437(th an e).4 F .437(xplicit positi)-.15 F .738 -.15(ve n)-.25 H .438
-(umeric ar).15 F .438(gument, switches to o)-.18 F -.15(ve)-.15 G .438
-(rwrite mode.).15 F -.4(Wi)144 144 S .781(th an e).4 F .781
-(xplicit non-positi)-.15 F 1.081 -.15(ve n)-.25 H .781(umeric ar).15 F
-.781(gument, switches to insert mode.)-.18 F .78(This command af)5.781 F
-(fects)-.25 E(only)144 156 Q F1(emacs)4.394 E F0(mode;)4.394 E F1(vi)
-4.394 E F0 1.894(mode does o)4.394 F -.15(ve)-.15 G 1.894(rwrite dif).15
-F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F/F2 10
-/Times-Italic@0 SF -.37(re)4.395 G(adline\(\)).37 E F0 1.895
-(starts in insert)4.395 F 3.969(mode. In)144 168 R -.15(ove)3.969 G
-1.469(rwrite mode, characters bound to).15 F F1(self\255insert)3.969 E
-F0 1.468(replace the te)3.969 F 1.468(xt at point rather than)-.15 F
-.957(pushing the te)144 180 R .957(xt to the right.)-.15 F .958
-(Characters bound to)5.957 F F1(backward\255delete\255char)3.458 E F0
-.958(replace the character)3.458 F(before point with a space.)144 192 Q
-(By def)5 E(ault, this command is unbound.)-.1 E F1(Killing and Y)87
-208.8 Q(anking)-.85 E(kill\255line \(C\255k\))108 220.8 Q F0
-(Kill the te)144 232.8 Q(xt from point to the end of the line.)-.15 E F1
-(backward\255kill\255line \(C\255x Rubout\))108 244.8 Q F0(Kill backw)
-144 256.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
-(unix\255line\255discard \(C\255u\))108 268.8 Q F0(Kill backw)144 280.8
+/Times-Bold@0 SF(transpose\255chars \(C\255t\))108 84 Q F0 .322
+(Drag the character before point forw)144 96 R .321(ard o)-.1 F -.15(ve)
+-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .321
+(ving point forw)-.15 F .321(ard as well.)-.1 F 1.182
+(If point is at the end of the line, then this transposes the tw)144 108
+R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E -.05
+(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 120 Q(guments ha)-.18 E .3
+-.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1
+(transpose\255w)108 132 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144
+144 R .024(ord before point past the w)-.1 F .023(ord after point, mo)
+-.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w)
+-2.523 F .023(ord as well.)-.1 F .023(If point)5.023 F
+(is at the end of the line, this transposes the last tw)144 156 Q 2.5
+(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 168 Q
+(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144 180
+R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga)
+-.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699
+(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 192 S(rd, b).1 E
+(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 204 Q
+(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 216 Q 1.648
+(wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148
+(ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15
+(ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre)
+-.25 F(vious)-.25 E -.1(wo)144 228 S(rd, b).1 E(ut do not mo)-.2 E .3
+-.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 240 Q
+(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 252
+R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga)
+-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975
+(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 264 S(rd, b).1
+E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 276
+S(rwrite\255mode).1 E F0 -.8(To)144 288 S .438(ggle o).8 F -.15(ve)-.15
+G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438
+(xplicit positi)-.15 F .737 -.15(ve n)-.25 H .437(umeric ar).15 F .437
+(gument, switches to o)-.18 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4
+(Wi)144 300 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15
+(ve n)-.25 H .781(umeric ar).15 F .781(gument, switches to insert mode.)
+-.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 312 Q F1
+(emacs)4.395 E F0(mode;)4.395 E F1(vi)4.395 E F0 1.894(mode does o)4.395
+F -.15(ve)-.15 G 1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G
+1.894(ach call to)-6.894 F/F2 10/Times-Italic@0 SF -.37(re)4.394 G
+(adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968(mode. In)144
+324 R -.15(ove)3.968 G 1.468(rwrite mode, characters bound to).15 F F1
+(self\255insert)3.969 E F0 1.469(replace the te)3.969 F 1.469
+(xt at point rather than)-.15 F .958(pushing the te)144 336 R .958
+(xt to the right.)-.15 F .957(Characters bound to)5.958 F F1
+(backward\255delete\255char)3.457 E F0 .957(replace the character)3.457
+F(before point with a space.)144 348 Q(By def)5 E
+(ault, this command is unbound.)-.1 E F1(Killing and Y)87 364.8 Q
+(anking)-.85 E(kill\255line \(C\255k\))108 376.8 Q F0(Kill the te)144
+388.8 Q(xt from point to the end of the line.)-.15 E F1
+(backward\255kill\255line \(C\255x Rubout\))108 400.8 Q F0(Kill backw)
+144 412.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
+(unix\255line\255discard \(C\255u\))108 424.8 Q F0(Kill backw)144 436.8
Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E
(The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)
--2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 292.8 Q F0
+-2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 448.8 Q F0
(Kill all characters on the current line, no matter where point is.)144
-304.8 Q F1(kill\255w)108 316.8 Q(ord \(M\255d\))-.1 E F0 1.308
-(Kill from point the end of the current w)144 328.8 R 1.308
-(ord, or if between w)-.1 F 1.308(ords, to the end of the ne)-.1 F 1.307
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 340.8 S
+460.8 Q F1(kill\255w)108 472.8 Q(ord \(M\255d\))-.1 E F0 1.308
+(Kill from point the end of the current w)144 484.8 R 1.308
+(ord, or if between w)-.1 F 1.308(ords, to the end of the ne)-.1 F 1.308
+(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 496.8 S
(rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G
-(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 352.8 Q
-(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 364.8 Q(ord behind point.)
+(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 508.8 Q
+(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 520.8 Q(ord behind point.)
-.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1
-(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(unix\255w)108 376.8 Q
-(ord\255rubout \(C\255w\))-.1 E F0 .364(Kill the w)144 388.8 R .364
-(ord behind point, using white space as a w)-.1 F .365(ord boundary)-.1
-F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
-(ve)-.2 G 2.865(do).15 G 2.865(nt)-2.865 G(he)-2.865 E(kill-ring.)144
-400.8 Q F1(unix\255\214lename\255rubout)108 412.8 Q F0 .167(Kill the w)
-144 424.8 R .166
+(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(unix\255w)108 532.8 Q
+(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 544.8 R .365
+(ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1
+F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15
+(ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144
+556.8 Q F1(unix\255\214lename\255rubout)108 568.8 Q F0 .166(Kill the w)
+144 580.8 R .166
(ord behind point, using white space and the slash character as the w)
--.1 F .166(ord boundaries.)-.1 F(The)5.166 E(killed te)144 436.8 Q
+-.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 592.8 Q
(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.)
--2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 448.8 Q F0
-(Delete all spaces and tabs around point.)144 460.8 Q F1(kill\255r)108
-472.8 Q(egion)-.18 E F0 1.13(Kill the te)144 484.8 R 1.13
+-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 604.8 Q F0
+(Delete all spaces and tabs around point.)144 616.8 Q F1(kill\255r)108
+628.8 Q(egion)-.18 E F0 1.13(Kill the te)144 640.8 R 1.13
(xt between the point and)-.15 F F2(mark)3.63 E F0(\(sa)3.63 E -.15(ve)
-.2 G 3.63(dc).15 G 1.13(ursor position\).)-3.63 F 1.13(This te)6.13 F
-1.13(xt is referred to as the)-.15 F F2 -.37(re)144 496.8 S(gion)-.03 E
-F0(.)A F1(copy\255r)108 508.8 Q(egion\255as\255kill)-.18 E F0(Cop)144
-520.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
+1.13(xt is referred to as the)-.15 F F2 -.37(re)144 652.8 S(gion)-.03 E
+F0(.)A F1(copy\255r)108 664.8 Q(egion\255as\255kill)-.18 E F0(Cop)144
+676.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
(gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F1
-(copy\255backward\255w)108 532.8 Q(ord)-.1 E F0(Cop)144 544.8 Q 4.801
-(yt)-.1 G 2.301(he w)-4.801 F 2.301(ord before point to the kill b)-.1 F
-(uf)-.2 E(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.3
-(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 556.8
-Q(ord)-.1 E F0(.)A F1(copy\255f)108 568.8 Q(orward\255w)-.25 E(ord)-.1 E
-F0(Cop)144 580.8 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo)
--.1 F 2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.008
-(.T)-.55 G 2.008(he w)-7.008 F 2.008(ord boundaries are the same as)-.1
-F F1 -.25(fo)4.508 G -.37(r-).25 G(ward\255w)144 592.8 Q(ord)-.1 E F0(.)
-A F1(yank \(C\255y\))108 604.8 Q F0 -1(Ya)144 616.8 S
-(nk the top of the kill ring into the b)1 E(uf)-.2 E(fer at point.)-.25
-E F1(yank\255pop \(M\255y\))108 628.8 Q F0
-(Rotate the kill ring, and yank the ne)144 640.8 Q 2.5(wt)-.25 G 2.5
-(op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E
-F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 657.6 Q
-(guments)-.1 E(digit\255ar)108 669.6 Q
-(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642
-(Add this digit to the ar)144 681.6 R .641
-(gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18
-(rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-)
--.15 E(ati)144 693.6 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
-(uni)108 705.6 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778
-(This is another w)144 717.6 R .779(ay to specify an ar)-.1 F 3.279
-(gument. If)-.18 F .779(this command is follo)3.279 F .779
-(wed by one or more digits,)-.25 F 2.684
-(optionally with a leading minus sign, those digits de\214ne the ar)144
-729.6 R 5.184(gument. If)-.18 F 2.684(the command is)5.184 F
-(GNU Readline 6.0)72 768 Q(2008 May 8)135.125 E(8)204.835 E 0 Cg EP
+(copy\255backward\255w)108 688.8 Q(ord)-.1 E F0(Cop)144 700.8 Q 4.8(yt)
+-.1 G 2.3(he w)-4.8 F 2.3(ord before point to the kill b)-.1 F(uf)-.2 E
+(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.301
+(ord boundaries are the same as)-.1 F F1(back-)4.801 E(ward\255w)144
+712.8 Q(ord)-.1 E F0(.)A(GNU Readline 6.1)72 768 Q(2009 October 9)
+128.185 E(8)197.895 E 0 Cg EP
%%Page: 9 9
%%BeginPageSetup
BP
%%EndPageSetup
-/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R(follo)
-144 84 Q .244(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E/F1 10
-/Times-Bold@0 SF(uni)2.744 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E
-F0(ag)2.744 E .244(ain ends the numeric ar)-.05 F .244(gument, b)-.18 F
-.245(ut is other)-.2 F(-)-.2 E .899(wise ignored.)144 96 R .898
-(As a special case, if this command is immediately follo)5.899 F .898
+/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
+/Times-Bold@0 SF(copy\255f)108 84 Q(orward\255w)-.25 E(ord)-.1 E F0(Cop)
+144 96 Q 4.508(yt)-.1 G 2.008(he w)-4.508 F 2.008(ord follo)-.1 F 2.008
+(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.007(.T)-.55 G
+2.007(he w)-7.007 F 2.007(ord boundaries are the same as)-.1 F F1 -.25
+(fo)4.507 G -.37(r-).25 G(ward\255w)144 108 Q(ord)-.1 E F0(.)A F1
+(yank \(C\255y\))108 120 Q F0 -1(Ya)144 132 S
+(nk the top of the kill ring into the b)1 E(uf)-.2 E(fer at point.)-.25
+E F1(yank\255pop \(M\255y\))108 144 Q F0
+(Rotate the kill ring, and yank the ne)144 156 Q 2.5(wt)-.25 G 2.5
+(op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E
+F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 172.8 Q
+(guments)-.1 E(digit\255ar)108 184.8 Q
+(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .641
+(Add this digit to the ar)144 196.8 R .641
+(gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18
+(rg)-3.141 G 3.142(ument. M\255\255).18 F .642(starts a ne)3.142 F(g-)
+-.15 E(ati)144 208.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
+(uni)108 220.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .779
+(This is another w)144 232.8 R .779(ay to specify an ar)-.1 F 3.279
+(gument. If)-.18 F .779(this command is follo)3.279 F .778
+(wed by one or more digits,)-.25 F 1.376
+(optionally with a leading minus sign, those digits de\214ne the ar)144
+244.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
+256.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni)
+3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(ag)3.67 E 1.17
+(ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other)
+-.2 F(-)-.2 E .898(wise ignored.)144 268.8 R .898
+(As a special case, if this command is immediately follo)5.898 F .898
(wed by a character that is)-.25 F .243
-(neither a digit or minus sign, the ar)144 108 R .243
+(neither a digit or minus sign, the ar)144 280.8 R .243
(gument count for the ne)-.18 F .243(xt command is multiplied by four)
--.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 120 Q .378
+-.15 F 5.242(.T)-.55 G(he)-5.242 E(ar)144 292.8 Q .378
(gument count is initially one, so e)-.18 F -.15(xe)-.15 G .378
(cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F
-.378(gument count)-.18 F(four)144 132 Q 2.5(,as)-.4 G(econd time mak)
+.378(gument count)-.18 F(four)144 304.8 Q 2.5(,as)-.4 G(econd time mak)
-2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F1
-(Completing)87 148.8 Q(complete \(T)108 160.8 Q(AB\))-.9 E F0 1.908
-(Attempt to perform completion on the te)144 172.8 R 1.908
-(xt before point.)-.15 F 1.909(The actual completion performed is)6.909
-F(application-speci\214c.)144 184.8 Q F1(Bash)5.518 E F0 3.018(,f)C .518
-(or instance, attempts completion treating the te)-3.018 F .517
-(xt as a v)-.15 F .517(ariable \(if the)-.25 F(te)144 196.8 Q .656
-(xt be)-.15 F .656(gins with)-.15 F F1($)3.156 E F0 .656
+(Completing)87 321.6 Q(complete \(T)108 333.6 Q(AB\))-.9 E F0 1.909
+(Attempt to perform completion on the te)144 345.6 R 1.908
+(xt before point.)-.15 F 1.908(The actual completion performed is)6.908
+F(application-speci\214c.)144 357.6 Q F1(Bash)5.517 E F0 3.017(,f)C .518
+(or instance, attempts completion treating the te)-3.017 F .518
+(xt as a v)-.15 F .518(ariable \(if the)-.25 F(te)144 369.6 Q .657
+(xt be)-.15 F .657(gins with)-.15 F F1($)3.156 E F0 .656
(\), username \(if the te)B .656(xt be)-.15 F .656(gins with)-.15 F F1
(~)3.156 E F0 .656(\), hostname \(if the te)B .656(xt be)-.15 F .656
-(gins with)-.15 F F1(@)3.157 E F0 .657(\), or)B .93
-(command \(including aliases and functions\) in turn.)144 208.8 R .929
-(If none of these produces a match, \214lename)5.929 F 1.273
-(completion is attempted.)144 220.8 R F1(Gdb)6.273 E F0 3.773(,o)C 3.773
+(gins with)-.15 F F1(@)3.156 E F0 .656(\), or)B .929
+(command \(including aliases and functions\) in turn.)144 381.6 R .93
+(If none of these produces a match, \214lename)5.929 F 1.274
+(completion is attempted.)144 393.6 R F1(Gdb)6.273 E F0 3.773(,o)C 3.773
(nt)-3.773 G 1.273(he other hand, allo)-3.773 F 1.273
-(ws completion of program functions and)-.25 F -.25(va)144 232.8 S(riab\
+(ws completion of program functions and)-.25 F -.25(va)144 405.6 S(riab\
les, and only attempts \214lename completion under certain circumstance\
-s.).25 E F1(possible\255completions \(M\255?\))108 244.8 Q F0
-(List the possible completions of the te)144 256.8 Q(xt before point.)
--.15 E F1(insert\255completions \(M\255*\))108 268.8 Q F0 .783
-(Insert all completions of the te)144 280.8 R .783
+s.).25 E F1(possible\255completions \(M\255?\))108 417.6 Q F0
+(List the possible completions of the te)144 429.6 Q(xt before point.)
+-.15 E F1(insert\255completions \(M\255*\))108 441.6 Q F0 .783
+(Insert all completions of the te)144 453.6 R .783
(xt before point that w)-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H
-.783(een generated by).15 F F1(possible\255com-)3.282 E(pletions)144
-292.8 Q F0(.)A F1(menu\255complete)108 304.8 Q F0 .928(Similar to)144
-316.8 R F1(complete)3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628
+.783(een generated by).15 F F1(possible\255com-)3.283 E(pletions)144
+465.6 Q F0(.)A F1(menu\255complete)108 477.6 Q F0 .929(Similar to)144
+489.6 R F1(complete)3.429 E F0 3.429(,b)C .929(ut replaces the w)-3.629
F .929(ord to be completed with a single match from the list of)-.1 F
-1.194(possible completions.)144 328.8 R 1.194(Repeated e)6.194 F -.15
-(xe)-.15 G 1.194(cution of).15 F F1(menu\255complete)3.694 E F0 1.193
-(steps through the list of possible)3.694 F .828
-(completions, inserting each match in turn.)144 340.8 R .828
+1.193(possible completions.)144 501.6 R 1.193(Repeated e)6.193 F -.15
+(xe)-.15 G 1.193(cution of).15 F F1(menu\255complete)3.694 E F0 1.194
+(steps through the list of possible)3.694 F .829
+(completions, inserting each match in turn.)144 513.6 R .828
(At the end of the list of completions, the bell is rung)5.828 F .727
-(\(subject to the setting of)144 352.8 R F1(bell\255style)3.227 E F0
+(\(subject to the setting of)144 525.6 R F1(bell\255style)3.227 E F0
3.227(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F
.727(An ar)5.727 F .727(gument of)-.18 F/F2 10/Times-Italic@0 SF(n)3.227
-E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.227 E F0 1.73
-(positions forw)144 364.8 R 1.73(ard in the list of matches; a ne)-.1 F
+E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.228 E F0 1.73
+(positions forw)144 537.6 R 1.73(ard in the list of matches; a ne)-.1 F
-.05(ga)-.15 G(ti).05 E 2.03 -.15(ve a)-.25 H -.18(rg).15 G 1.73
(ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1
-E(through the list.)144 376.8 Q(This command is intended to be bound to)
+E(through the list.)144 549.6 Q(This command is intended to be bound to)
5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E
-(ault.)-.1 E F1(delete\255char\255or\255list)108 388.8 Q F0 .374
-(Deletes the character under the cursor if not at the be)144 400.8 R
+(ault.)-.1 E F1(menu\255complete-)108 561.6 Q(w)10 I(k)-7.22 -10 M(c)
+-5.56 -10 M(rd)2.78 10 M F0 .82(Identical to)144 573.6 R F1
+(menu\255complete)3.32 E F0 3.32(,b)C .82(ut mo)-3.52 F -.15(ve)-.15 G
+3.32(sb).15 G(ackw)-3.32 E .82
+(ard through the list of possible completions, as if)-.1 F F1
+(menu\255complete)144 585.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5
+(nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg)
+.15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E
+F1(delete\255char\255or\255list)108 597.6 Q F0 .374
+(Deletes the character under the cursor if not at the be)144 609.6 R
.373(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete-char)
-2.873 E F0(\).)A(If at the end of the line, beha)144 412.8 Q -.15(ve)-.2
+2.873 E F0(\).)A(If at the end of the line, beha)144 621.6 Q -.15(ve)-.2
G 2.5(si).15 G(dentically to)-2.5 E F1(possible-completions)2.5 E F0(.)A
-F1 -.25(Ke)87 429.6 S(yboard Macr).25 E(os)-.18 E(start\255kbd\255macr)
-108 441.6 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)).833 E F0(Be)144 453.6 Q
+F1 -.25(Ke)87 638.4 S(yboard Macr).25 E(os)-.18 E(start\255kbd\255macr)
+108 650.4 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)).833 E F0(Be)144 662.4 Q
(gin sa)-.15 E(ving the characters typed into the current k)-.2 E -.15
-(ey)-.1 G(board macro.).15 E F1(end\255kbd\255macr)108 465.6 Q 2.5(o\()
--.18 G(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 477.6 Q
+(ey)-.1 G(board macro.).15 E F1(end\255kbd\255macr)108 674.4 Q 2.5(o\()
+-.18 G(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 686.4 Q
(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
(board macro and store the de\214nition.).15 E F1
-(call\255last\255kbd\255macr)108 489.6 Q 2.5(o\()-.18 G(C\255x e\))-2.5
-E F0(Re-e)144 501.6 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey)
+(call\255last\255kbd\255macr)108 698.4 Q 2.5(o\()-.18 G(C\255x e\))-2.5
+E F0(Re-e)144 710.4 Q -.15(xe)-.15 G .999(cute the last k).15 F -.15(ey)
-.1 G .999(board macro de\214ned, by making the characters in the macro\
- appear as if).15 F(typed at the k)144 513.6 Q -.15(ey)-.1 G(board.).15
-E F1(Miscellaneous)87 530.4 Q -.18(re)108 542.4 S<ad72>.18 E
+ appear as if).15 F(typed at the k)144 722.4 Q -.15(ey)-.1 G(board.).15
+E(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E(9)197.895 E 0 Cg EP
+%%Page: 10 10
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
+/Times-Bold@0 SF(Miscellaneous)87 84 Q -.18(re)108 96 S<ad72>.18 E
(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.777
-(Read in the contents of the)144 554.4 R F2(inputr)4.277 E(c)-.37 E F0
-1.776(\214le, and incorporate an)4.276 F 4.276(yb)-.15 G 1.776
-(indings or v)-4.276 F 1.776(ariable assignments)-.25 F(found there.)144
-566.4 Q F1(abort \(C\255g\))108 578.4 Q F0 3.248
-(Abort the current editing command and ring the terminal')144 590.4 R
+(Read in the contents of the)144 108 R/F2 10/Times-Italic@0 SF(inputr)
+4.277 E(c)-.37 E F0 1.776(\214le, and incorporate an)4.276 F 4.276(yb)
+-.15 G 1.776(indings or v)-4.276 F 1.776(ariable assignments)-.25 F
+(found there.)144 120 Q F1(abort \(C\255g\))108 132 Q F0 3.248
+(Abort the current editing command and ring the terminal')144 144 R
5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1
-(bell\255style)144 602.4 Q F0(\).)A F1(do\255upper)108 614.4 Q
-(case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.)
-C(..\))-2.5 E F0 1.756(If the meta\214ed character)144 626.4 R F2(x)
-4.256 E F0 1.755(is lo)4.256 F 1.755
+(bell\255style)144 156 Q F0(\).)A F1(do\255upper)108 168 Q(case\255v)
+-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.)C(..\))-2.5
+E F0 1.756(If the meta\214ed character)144 180 R F2(x)4.256 E F0 1.755
+(is lo)4.256 F 1.755
(wercase, run the command that is bound to the corresponding)-.25 F
-(uppercase character)144 638.4 Q(.)-.55 E F1(pr)108 650.4 Q
-(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 662.4 Q
+(uppercase character)144 192 Q(.)-.55 E F1(pr)108 204 Q
+(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 216 Q
(xt character typed.)-.15 E/F3 9/Times-Bold@0 SF(ESC)5 E F1(f)2.25 E F0
(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1(Meta\255f)2.5 E F0(.)A F1
-(undo \(C\255_, C\255x C\255u\))108 674.4 Q F0
-(Incremental undo, separately remembered for each line.)144 686.4 Q F1
--2.29 -.18(re v)108 698.4 T(ert\255line \(M\255r\)).08 E F0 1.095
-(Undo all changes made to this line.)144 710.4 R 1.095(This is lik)6.095
-F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E
+(undo \(C\255_, C\255x C\255u\))108 228 Q F0
+(Incremental undo, separately remembered for each line.)144 240 Q F1
+-2.29 -.18(re v)108 252 T(ert\255line \(M\255r\)).08 E F0 1.095
+(Undo all changes made to this line.)144 264 R 1.095(This is lik)6.095 F
+3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E
F0 1.095(command enough times to)3.595 F
-(return the line to its initial state.)144 722.4 Q(GNU Readline 6.0)72
-768 Q(2008 May 8)135.125 E(9)204.835 E 0 Cg EP
-%%Page: 10 10
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
-/Times-Bold@0 SF(tilde\255expand \(M\255&\))108 84 Q F0(Perform tilde e)
-144 96 Q(xpansion on the current w)-.15 E(ord.)-.1 E F1
-(set\255mark \(C\255@, M\255<space>\))108 108 Q F0
-(Set the mark to the point.)144 120 Q(If a numeric ar)5 E
+(return the line to its initial state.)144 276 Q F1
+(tilde\255expand \(M\255&\))108 288 Q F0(Perform tilde e)144 300 Q
+(xpansion on the current w)-.15 E(ord.)-.1 E F1
+(set\255mark \(C\255@, M\255<space>\))108 312 Q F0
+(Set the mark to the point.)144 324 Q(If a numeric ar)5 E
(gument is supplied, the mark is set to that position.)-.18 E F1
-(exchange\255point\255and\255mark \(C\255x C\255x\))108 132 Q F0(Sw)144
-144 Q .283(ap the point with the mark.)-.1 F .283
+(exchange\255point\255and\255mark \(C\255x C\255x\))108 336 Q F0(Sw)144
+348 Q .283(ap the point with the mark.)-.1 F .283
(The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G
2.782(dp).15 G .282(osition, and the old)-2.782 F(cursor position is sa)
-144 156 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1
-(character\255sear)108 168 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144 180 S
+144 360 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1
+(character\255sear)108 372 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144 384 S
.535(haracter is read and point is mo)-3.035 F -.15(ve)-.15 G 3.035(dt)
.15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535
(xt occurrence of that character)-.15 F 5.536(.A)-.55 G(ne)-2.5 E -.05
(ga)-.15 G(ti).05 E .836 -.15(ve c)-.25 H(ount).15 E(searches for pre)
-144 192 Q(vious occurrences.)-.25 E F1(character\255sear)108 204 Q
-(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 216 S 1.044
+144 396 Q(vious occurrences.)-.25 E F1(character\255sear)108 408 Q
+(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 420 S 1.044
(haracter is read and point is mo)-3.544 F -.15(ve)-.15 G 3.544(dt).15 G
3.544(ot)-3.544 G 1.044(he pre)-3.544 F 1.044
(vious occurrence of that character)-.25 F 6.043(.A)-.55 G(ne)-2.5 E
-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G
-(count searches for subsequent occurrences.)144 228 Q F1
-(insert\255comment \(M\255#\))108 240 Q F0 -.4(Wi)144 252 S .48
-(thout a numeric ar).4 F .48(gument, the v)-.18 F .481
-(alue of the readline)-.25 F F1(comment\255begin)2.981 E F0 -.25(va)
-2.981 G .481(riable is inserted at the).25 F(be)144 264 Q .098
+(count searches for subsequent occurrences.)144 432 Q F1
+(skip\255csi\255sequence \(\))108 444 Q F0 1.826
+(Read enough characters to consume a multi-k)144 456 R 2.126 -.15(ey s)
+-.1 H 1.827(equence such as those de\214ned for k).15 F -.15(ey)-.1 G
+4.327(sl).15 G(ik)-4.327 E(e)-.1 E .791(Home and End.)144 468 R .791
+(Such sequences be)5.791 F .791
+(gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F
+.331(If this sequence is bound to "\\[", k)144 480 R -.15(ey)-.1 G 2.831
+(sp).15 G .331(roducing such sequences will ha)-2.831 F .632 -.15(ve n)
+-.2 H 2.832(oe).15 G -.25(ff)-2.832 G .332(ect unless e).25 F(xplic-)
+-.15 E .026(itly bound to a readline command, instead of inserting stra\
+y characters into the editing b)144 492 R(uf)-.2 E(fer)-.25 E 5.026(.T)
+-.55 G(his)-5.026 E(is unbound by def)144 504 Q(ault, b)-.1 E
+(ut usually bound to ESC\255[.)-.2 E F1(insert\255comment \(M\255#\))108
+516 Q F0 -.4(Wi)144 528 S .48(thout a numeric ar).4 F .48(gument, the v)
+-.18 F .481(alue of the readline)-.25 F F1(comment\255begin)2.981 E F0
+-.25(va)2.981 G .481(riable is inserted at the).25 F(be)144 540 Q .098
(ginning of the current line.)-.15 F .098(If a numeric ar)5.098 F .097
(gument is supplied, this command acts as a toggle:)-.18 F(if)5.097 E
-.321(the characters at the be)144 276 R .321
+.321(the characters at the be)144 552 R .321
(ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F1
(comment\255begin)2.821 E F0 2.822(,t)C .322(he v)-2.822 F .322(alue is)
--.25 F 1.014(inserted, otherwise the characters in)144 288 R F1
+-.25 F 1.014(inserted, otherwise the characters in)144 564 R F1
(comment-begin)3.514 E F0 1.014(are deleted from the be)3.514 F 1.013
(ginning of the line.)-.15 F 1.468
-(In either case, the line is accepted as if a ne)144 300 R 1.468
+(In either case, the line is accepted as if a ne)144 576 R 1.468
(wline had been typed.)-.25 F 1.469(The def)6.469 F 1.469(ault v)-.1 F
-1.469(alue of)-.25 F F1(com-)3.969 E(ment\255begin)144 312 Q F0(mak)
+1.469(alue of)-.25 F F1(com-)3.969 E(ment\255begin)144 588 Q F0(mak)
2.983 E .483(es the current line a shell comment.)-.1 F .483
(If a numeric ar)5.483 F .482(gument causes the comment)-.18 F
-(character to be remo)144 324 Q -.15(ve)-.15 G(d, the line will be e).15
-E -.15(xe)-.15 G(cuted by the shell.).15 E F1(dump\255functions)108 336
-Q F0 .626(Print all of the functions and their k)144 348 R .926 -.15
+(character to be remo)144 600 Q -.15(ve)-.15 G(d, the line will be e).15
+E -.15(xe)-.15 G(cuted by the shell.).15 E F1(dump\255functions)108 612
+Q F0 .626(Print all of the functions and their k)144 624 R .926 -.15
(ey b)-.1 H .627(indings to the readline output stream.).15 F .627
(If a numeric ar)5.627 F(gu-)-.18 E
-(ment is supplied, the output is formatted in such a w)144 360 Q
-(ay that it can be made part of an)-.1 E/F2 10/Times-Italic@0 SF(inputr)
-2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 372 Q(ariables)-.1 E F0
-.283(Print all of the settable v)144 384 R .283(ariables and their v)
--.25 F .283(alues to the readline output stream.)-.25 F .283
-(If a numeric ar)5.283 F(gu-)-.18 E
-(ment is supplied, the output is formatted in such a w)144 396 Q
+(ment is supplied, the output is formatted in such a w)144 636 Q
(ay that it can be made part of an)-.1 E F2(inputr)2.5 E(c)-.37 E F0
-(\214le.)2.5 E F1(dump\255macr)108 408 Q(os)-.18 E F0 .592
-(Print all of the readline k)144 420 R .892 -.15(ey s)-.1 H .592
+(\214le.)2.5 E F1(dump\255v)108 648 Q(ariables)-.1 E F0 .283
+(Print all of the settable v)144 660 R .283(ariables and their v)-.25 F
+.283(alues to the readline output stream.)-.25 F .283(If a numeric ar)
+5.283 F(gu-)-.18 E
+(ment is supplied, the output is formatted in such a w)144 672 Q
+(ay that it can be made part of an)-.1 E F2(inputr)2.5 E(c)-.37 E F0
+(\214le.)2.5 E F1(dump\255macr)108 684 Q(os)-.18 E F0 .592
+(Print all of the readline k)144 696 R .892 -.15(ey s)-.1 H .592
(equences bound to macros and the strings the).15 F 3.093(yo)-.15 G
-3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 432 Q
+3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 708 Q
.528(gument is supplied, the output is formatted in such a w)-.18 F .528
(ay that it can be made part of an)-.1 F F2(inputr)3.027 E(c)-.37 E F0
-(\214le.)144 444 Q F1(emacs\255editing\255mode \(C\255e\))108 456 Q F0
-(When in)144 468 Q F1(vi)2.5 E F0(command mode, this causes a switch to)
+(\214le.)144 720 Q(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E
+(10)192.895 E 0 Cg EP
+%%Page: 11 11
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1 10
+/Times-Bold@0 SF(emacs\255editing\255mode \(C\255e\))108 84 Q F0
+(When in)144 96 Q F1(vi)2.5 E F0(command mode, this causes a switch to)
2.5 E F1(emacs)2.5 E F0(editing mode.)2.5 E F1
-(vi\255editing\255mode \(M\255C\255j\))108 480 Q F0(When in)144 492 Q F1
+(vi\255editing\255mode \(M\255C\255j\))108 108 Q F0(When in)144 120 Q F1
(emacs)2.5 E F0(editing mode, this causes a switch to)2.5 E F1(vi)2.5 E
-F0(editing mode.)2.5 E/F3 10.95/Times-Bold@0 SF(DEF)72 508.8 Q -.548(AU)
+F0(editing mode.)2.5 E/F2 10.95/Times-Bold@0 SF(DEF)72 136.8 Q -.548(AU)
-.986 G 2.014 -1.007(LT K).548 H(EY BINDINGS)1.007 E F0 .064(The follo)
-108 520.8 R .064(wing is a list of the def)-.25 F .064
+108 148.8 R .064(wing is a list of the def)-.25 F .064
(ault emacs and vi bindings.)-.1 F .065
(Characters with the eighth bit set are written as)5.065 F .527
-(M\255<character>, and are referred to as)108 532.8 R F2(meta\214ed)
-3.407 E F0 3.027(characters. The)3.797 F .527
-(printable ASCII characters not mentioned)3.027 F 1.115
-(in the list of emacs standard bindings are bound to the)108 544.8 R F1
+(M\255<character>, and are referred to as)108 160.8 R/F3 10
+/Times-Italic@0 SF(meta\214ed)3.407 E F0 3.027(characters. The)3.797 F
+.527(printable ASCII characters not mentioned)3.027 F 1.115
+(in the list of emacs standard bindings are bound to the)108 172.8 R F1
(self\255insert)3.615 E F0 1.116(function, which just inserts the gi)
3.615 F -.15(ve)-.25 G(n).15 E .945(character into the input line.)108
-556.8 R .945(In vi insertion mode, all characters not speci\214cally me\
-ntioned are bound to)5.945 F F1(self\255insert)108 568.8 Q F0 5.358(.C)C
-.358(haracters assigned to signal generation by)-5.358 F F2(stty)2.859 E
+184.8 R .945(In vi insertion mode, all characters not speci\214cally me\
+ntioned are bound to)5.945 F F1(self\255insert)108 196.8 Q F0 5.358(.C)C
+.358(haracters assigned to signal generation by)-5.358 F F3(stty)2.859 E
F0 .359(\(1\) or the terminal dri).32 F -.15(ve)-.25 G 1.159 -.4(r, s)
-.15 H .359(uch as C-Z or C-C,).4 F .188(retain that function.)108 580.8
+.15 H .359(uch as C-Z or C-C,).4 F .188(retain that function.)108 208.8
R .188(Upper and lo)5.188 F .188(wer case meta\214ed characters are bou\
-nd to the same function in the emacs)-.25 F .304(mode meta k)108 592.8 R
+nd to the same function in the emacs)-.25 F .304(mode meta k)108 220.8 R
-.15(ey)-.1 G 2.804(map. The).15 F .305(remaining characters are unboun\
d, which causes readline to ring the bell \(subject)2.804 F
-(to the setting of the)108 604.8 Q F1(bell\255style)2.5 E F0 -.25(va)2.5
-G(riable\).).25 E F1(Emacs Mode)87 621.6 Q F0(Emacs Standard bindings)
-151.2 633.6 Q 2.5("C-@" set-mark)151.2 657.6 R 2.5("C-A" be)151.2 669.6
-R(ginning-of-line)-.15 E 2.5("C-B" backw)151.2 681.6 R(ard-char)-.1 E
-2.5("C-D" delete-char)151.2 693.6 R 2.5("C-E" end-of-line)151.2 705.6 R
-2.5("C-F" forw)151.2 717.6 R(ard-char)-.1 E 2.5("C-G" abort)151.2 729.6
-R(GNU Readline 6.0)72 768 Q(2008 May 8)135.125 E(10)199.835 E 0 Cg EP
-%%Page: 11 11
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 2.5
-("C-H" backw)151.2 84 R(ard-delete-char)-.1 E 2.5("C-I" complete)151.2
-96 R 2.5("C-J" accept-line)151.2 108 R 2.5("C-K" kill-line)151.2 120 R
-2.5("C-L" clear)151.2 132 R(-screen)-.2 E 2.5("C-M" accept-line)151.2
-144 R 2.5("C-N" ne)151.2 156 R(xt-history)-.15 E 2.5("C-P" pre)151.2 168
-R(vious-history)-.25 E 2.5("C-Q" quoted-insert)151.2 180 R 2.5("C-R" re)
-151.2 192 R -.15(ve)-.25 G(rse-search-history).15 E 2.5("C-S" forw)151.2
-204 R(ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 216 R 2.5
-("C-U" unix-line-discard)151.2 228 R 2.5("C-V" quoted-insert)151.2 240 R
-2.5("C-W" unix-w)151.2 252 R(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 264 R
-2.5("C-]" character)151.2 276 R(-search)-.2 E 2.5("C-_" undo)151.2 288 R
-3.333("")151.2 300 S(to "/")-.833 E(self-insert)5 E 2.5("0" to)151.2 312
-R 2.5("9" self-insert)2.5 F 2.5(":" to)151.2 324 R 2.5("~" self-insert)
-2.5 F 2.5("C-?" backw)151.2 336 R(ard-delete-char)-.1 E
-(Emacs Meta bindings)151.2 352.8 Q 2.5("M-C-G" abort)151.2 376.8 R 2.5
-("M-C-H" backw)151.2 388.8 R(ard-kill-w)-.1 E(ord)-.1 E 2.5
-("M-C-I" tab-insert)151.2 400.8 R 2.5("M-C-J" vi-editing-mode)151.2
-412.8 R 2.5("M-C-M" vi-editing-mode)151.2 424.8 R 2.5("M-C-R" re)151.2
-436.8 R -.15(ve)-.25 G(rt-line).15 E 2.5("M-C-Y" yank-nth-ar)151.2 448.8
-R(g)-.18 E 2.5("M-C-[" complete)151.2 460.8 R 2.5("M-C-]" character)
-151.2 472.8 R(-search-backw)-.2 E(ard)-.1 E 2.5("M-space" set-mark)151.2
-484.8 R 2.5("M-#" insert-comment)151.2 496.8 R 2.5("M-&" tilde-e)151.2
-508.8 R(xpand)-.15 E 2.5("M-*" insert-completions)151.2 520.8 R 2.5
-("M--" digit-ar)151.2 532.8 R(gument)-.18 E 2.5("M-." yank-last-ar)151.2
-544.8 R(g)-.18 E 2.5("M-0" digit-ar)151.2 556.8 R(gument)-.18 E 2.5
-("M-1" digit-ar)151.2 568.8 R(gument)-.18 E 2.5("M-2" digit-ar)151.2
-580.8 R(gument)-.18 E 2.5("M-3" digit-ar)151.2 592.8 R(gument)-.18 E 2.5
-("M-4" digit-ar)151.2 604.8 R(gument)-.18 E 2.5("M-5" digit-ar)151.2
-616.8 R(gument)-.18 E 2.5("M-6" digit-ar)151.2 628.8 R(gument)-.18 E 2.5
-("M-7" digit-ar)151.2 640.8 R(gument)-.18 E 2.5("M-8" digit-ar)151.2
-652.8 R(gument)-.18 E 2.5("M-9" digit-ar)151.2 664.8 R(gument)-.18 E 2.5
-("M-<" be)151.2 676.8 R(ginning-of-history)-.15 E 2.5
-("M-=" possible-completions)151.2 688.8 R 2.5("M->" end-of-history)151.2
-700.8 R 2.5("M-?" possible-completions)151.2 712.8 R 2.5("M-B" backw)
-151.2 724.8 R(ard-w)-.1 E(ord)-.1 E(GNU Readline 6.0)72 768 Q
-(2008 May 8)135.125 E(11)199.835 E 0 Cg EP
+(to the setting of the)108 232.8 Q F1(bell\255style)2.5 E F0 -.25(va)2.5
+G(riable\).).25 E F1(Emacs Mode)87 249.6 Q F0(Emacs Standard bindings)
+151.2 261.6 Q 2.5("C-@" set-mark)151.2 285.6 R 2.5("C-A" be)151.2 297.6
+R(ginning-of-line)-.15 E 2.5("C-B" backw)151.2 309.6 R(ard-char)-.1 E
+2.5("C-D" delete-char)151.2 321.6 R 2.5("C-E" end-of-line)151.2 333.6 R
+2.5("C-F" forw)151.2 345.6 R(ard-char)-.1 E 2.5("C-G" abort)151.2 357.6
+R 2.5("C-H" backw)151.2 369.6 R(ard-delete-char)-.1 E 2.5
+("C-I" complete)151.2 381.6 R 2.5("C-J" accept-line)151.2 393.6 R 2.5
+("C-K" kill-line)151.2 405.6 R 2.5("C-L" clear)151.2 417.6 R(-screen)-.2
+E 2.5("C-M" accept-line)151.2 429.6 R 2.5("C-N" ne)151.2 441.6 R
+(xt-history)-.15 E 2.5("C-P" pre)151.2 453.6 R(vious-history)-.25 E 2.5
+("C-Q" quoted-insert)151.2 465.6 R 2.5("C-R" re)151.2 477.6 R -.15(ve)
+-.25 G(rse-search-history).15 E 2.5("C-S" forw)151.2 489.6 R
+(ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 501.6 R 2.5
+("C-U" unix-line-discard)151.2 513.6 R 2.5("C-V" quoted-insert)151.2
+525.6 R 2.5("C-W" unix-w)151.2 537.6 R(ord-rubout)-.1 E 2.5("C-Y" yank)
+151.2 549.6 R 2.5("C-]" character)151.2 561.6 R(-search)-.2 E 2.5
+("C-_" undo)151.2 573.6 R 3.333("")151.2 585.6 S(to "/")-.833 E
+(self-insert)5 E 2.5("0" to)151.2 597.6 R 2.5("9" self-insert)2.5 F 2.5
+(":" to)151.2 609.6 R 2.5("~" self-insert)2.5 F 2.5("C-?" backw)151.2
+621.6 R(ard-delete-char)-.1 E(Emacs Meta bindings)151.2 638.4 Q 2.5
+("M-C-G" abort)151.2 662.4 R 2.5("M-C-H" backw)151.2 674.4 R(ard-kill-w)
+-.1 E(ord)-.1 E 2.5("M-C-I" tab-insert)151.2 686.4 R 2.5
+("M-C-J" vi-editing-mode)151.2 698.4 R 2.5("M-C-M" vi-editing-mode)151.2
+710.4 R 2.5("M-C-R" re)151.2 722.4 R -.15(ve)-.25 G(rt-line).15 E
+(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E(11)192.895 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 2.5
-("M-C" capitalize-w)151.2 84 R(ord)-.1 E 2.5("M-D" kill-w)151.2 96 R
-(ord)-.1 E 2.5("M-F" forw)151.2 108 R(ard-w)-.1 E(ord)-.1 E 2.5
-("M-L" do)151.2 120 R(wncase-w)-.25 E(ord)-.1 E 2.5
-("M-N" non-incremental-forw)151.2 132 R(ard-search-history)-.1 E 2.5
-("M-P" non-incremental-re)151.2 144 R -.15(ve)-.25 G(rse-search-history)
-.15 E 2.5("M-R" re)151.2 156 R -.15(ve)-.25 G(rt-line).15 E 2.5
-("M-T" transpose-w)151.2 168 R(ords)-.1 E 2.5("M-U" upcase-w)151.2 180 R
-(ord)-.1 E 2.5("M-Y" yank-pop)151.2 192 R 2.5
-("M-\\" delete-horizontal-space)151.2 204 R 2.5("M-~" tilde-e)151.2 216
-R(xpand)-.15 E 2.5("M-C-?" backw)151.2 228 R(ard-kill-w)-.1 E(ord)-.1 E
-2.5("M-_" yank-last-ar)151.2 240 R(g)-.18 E(Emacs Control-X bindings)
-151.2 256.8 Q 2.5("C-XC-G" abort)151.2 280.8 R 2.5
-("C-XC-R" re-read-init-\214le)151.2 292.8 R 2.5("C-XC-U" undo)151.2
-304.8 R 2.5("C-XC-X" e)151.2 316.8 R(xchange-point-and-mark)-.15 E 2.5
-("C-X\(" start-kbd-macro)151.2 328.8 R 2.5("C-X\)" end-kbd-macro)151.2
-340.8 R 2.5("C-XE" call-last-kbd-macro)151.2 352.8 R 2.5("C-XC-?" backw)
-151.2 364.8 R(ard-kill-line)-.1 E/F1 10/Times-Bold@0 SF
-(VI Mode bindings)87 393.6 Q F0(VI Insert Mode functions)151.2 405.6 Q
-2.5("C-D" vi-eof-maybe)151.2 429.6 R 2.5("C-H" backw)151.2 441.6 R
-(ard-delete-char)-.1 E 2.5("C-I" complete)151.2 453.6 R 2.5
-("C-J" accept-line)151.2 465.6 R 2.5("C-M" accept-line)151.2 477.6 R 2.5
-("C-R" re)151.2 489.6 R -.15(ve)-.25 G(rse-search-history).15 E 2.5
-("C-S" forw)151.2 501.6 R(ard-search-history)-.1 E 2.5
-("C-T" transpose-chars)151.2 513.6 R 2.5("C-U" unix-line-discard)151.2
-525.6 R 2.5("C-V" quoted-insert)151.2 537.6 R 2.5("C-W" unix-w)151.2
-549.6 R(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 561.6 R 2.5("C-[" vi-mo)
-151.2 573.6 R -.15(ve)-.15 G(ment-mode).15 E 2.5("C-_" undo)151.2 585.6
-R 3.333("")151.2 597.6 S(to "~")-.833 E(self-insert)5 E 2.5("C-?" backw)
-151.2 609.6 R(ard-delete-char)-.1 E(VI Command Mode functions)151.2
-626.4 Q 2.5("C-D" vi-eof-maybe)151.2 650.4 R 2.5
-("C-E" emacs-editing-mode)151.2 662.4 R 2.5("C-G" abort)151.2 674.4 R
-2.5("C-H" backw)151.2 686.4 R(ard-char)-.1 E 2.5("C-J" accept-line)151.2
-698.4 R 2.5("C-K" kill-line)151.2 710.4 R 2.5("C-L" clear)151.2 722.4 R
-(-screen)-.2 E(GNU Readline 6.0)72 768 Q(2008 May 8)135.125 E(12)199.835
-E 0 Cg EP
+("M-C-Y" yank-nth-ar)151.2 84 R(g)-.18 E 2.5("M-C-[" complete)151.2 96 R
+2.5("M-C-]" character)151.2 108 R(-search-backw)-.2 E(ard)-.1 E 2.5
+("M-space" set-mark)151.2 120 R 2.5("M-#" insert-comment)151.2 132 R 2.5
+("M-&" tilde-e)151.2 144 R(xpand)-.15 E 2.5("M-*" insert-completions)
+151.2 156 R 2.5("M--" digit-ar)151.2 168 R(gument)-.18 E 2.5
+("M-." yank-last-ar)151.2 180 R(g)-.18 E 2.5("M-0" digit-ar)151.2 192 R
+(gument)-.18 E 2.5("M-1" digit-ar)151.2 204 R(gument)-.18 E 2.5
+("M-2" digit-ar)151.2 216 R(gument)-.18 E 2.5("M-3" digit-ar)151.2 228 R
+(gument)-.18 E 2.5("M-4" digit-ar)151.2 240 R(gument)-.18 E 2.5
+("M-5" digit-ar)151.2 252 R(gument)-.18 E 2.5("M-6" digit-ar)151.2 264 R
+(gument)-.18 E 2.5("M-7" digit-ar)151.2 276 R(gument)-.18 E 2.5
+("M-8" digit-ar)151.2 288 R(gument)-.18 E 2.5("M-9" digit-ar)151.2 300 R
+(gument)-.18 E 2.5("M-<" be)151.2 312 R(ginning-of-history)-.15 E 2.5
+("M-=" possible-completions)151.2 324 R 2.5("M->" end-of-history)151.2
+336 R 2.5("M-?" possible-completions)151.2 348 R 2.5("M-B" backw)151.2
+360 R(ard-w)-.1 E(ord)-.1 E 2.5("M-C" capitalize-w)151.2 372 R(ord)-.1 E
+2.5("M-D" kill-w)151.2 384 R(ord)-.1 E 2.5("M-F" forw)151.2 396 R(ard-w)
+-.1 E(ord)-.1 E 2.5("M-L" do)151.2 408 R(wncase-w)-.25 E(ord)-.1 E 2.5
+("M-N" non-incremental-forw)151.2 420 R(ard-search-history)-.1 E 2.5
+("M-P" non-incremental-re)151.2 432 R -.15(ve)-.25 G(rse-search-history)
+.15 E 2.5("M-R" re)151.2 444 R -.15(ve)-.25 G(rt-line).15 E 2.5
+("M-T" transpose-w)151.2 456 R(ords)-.1 E 2.5("M-U" upcase-w)151.2 468 R
+(ord)-.1 E 2.5("M-Y" yank-pop)151.2 480 R 2.5
+("M-\\" delete-horizontal-space)151.2 492 R 2.5("M-~" tilde-e)151.2 504
+R(xpand)-.15 E 2.5("M-C-?" backw)151.2 516 R(ard-kill-w)-.1 E(ord)-.1 E
+2.5("M-_" yank-last-ar)151.2 528 R(g)-.18 E(Emacs Control-X bindings)
+151.2 544.8 Q 2.5("C-XC-G" abort)151.2 568.8 R 2.5
+("C-XC-R" re-read-init-\214le)151.2 580.8 R 2.5("C-XC-U" undo)151.2
+592.8 R 2.5("C-XC-X" e)151.2 604.8 R(xchange-point-and-mark)-.15 E 2.5
+("C-X\(" start-kbd-macro)151.2 616.8 R 2.5("C-X\)" end-kbd-macro)151.2
+628.8 R 2.5("C-XE" call-last-kbd-macro)151.2 640.8 R 2.5("C-XC-?" backw)
+151.2 652.8 R(ard-kill-line)-.1 E/F1 10/Times-Bold@0 SF
+(VI Mode bindings)87 681.6 Q F0(VI Insert Mode functions)151.2 693.6 Q
+2.5("C-D" vi-eof-maybe)151.2 717.6 R 2.5("C-H" backw)151.2 729.6 R
+(ard-delete-char)-.1 E(GNU Readline 6.1)72 768 Q(2009 October 9)128.185
+E(12)192.895 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 2.5
-("C-M" accept-line)151.2 84 R 2.5("C-N" ne)151.2 96 R(xt-history)-.15 E
-2.5("C-P" pre)151.2 108 R(vious-history)-.25 E 2.5("C-Q" quoted-insert)
-151.2 120 R 2.5("C-R" re)151.2 132 R -.15(ve)-.25 G(rse-search-history)
-.15 E 2.5("C-S" forw)151.2 144 R(ard-search-history)-.1 E 2.5
-("C-T" transpose-chars)151.2 156 R 2.5("C-U" unix-line-discard)151.2 168
-R 2.5("C-V" quoted-insert)151.2 180 R 2.5("C-W" unix-w)151.2 192 R
-(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 204 R 2.5("C-_" vi-undo)151.2 216
-R -4.166 3.333("" f)151.2 228 T(orw)-3.333 E(ard-char)-.1 E 2.5
-("#" insert-comment)151.2 240 R 2.5("$" end-of-line)151.2 252 R 2.5
-("%" vi-match)151.2 264 R 2.5("&" vi-tilde-e)151.2 276 R(xpand)-.15 E
-2.5("*" vi-complete)151.2 288 R 2.5("+" ne)151.2 300 R(xt-history)-.15 E
-2.5("," vi-char)151.2 312 R(-search)-.2 E 2.5("-" pre)151.2 324 R
-(vious-history)-.25 E 2.5("." vi-redo)151.2 336 R 2.5("/" vi-search)
-151.2 348 R 2.5("0" be)151.2 360 R(ginning-of-line)-.15 E("1" to "9")
-151.2 372 Q(vi-ar)5 E(g-digit)-.18 E 2.5(";" vi-char)151.2 384 R
-(-search)-.2 E 2.5("=" vi-complete)151.2 396 R 2.5("?" vi-search)151.2
-408 R 2.5("A" vi-append-eol)151.2 420 R 2.5("B" vi-pre)151.2 432 R(v-w)
--.25 E(ord)-.1 E 2.5("C" vi-change-to)151.2 444 R 2.5("D" vi-delete-to)
-151.2 456 R 2.5("E" vi-end-w)151.2 468 R(ord)-.1 E 2.5("F" vi-char)151.2
-480 R(-search)-.2 E 2.5("G" vi-fetch-history)151.2 492 R 2.5
-("I" vi-insert-be)151.2 504 R(g)-.15 E 2.5("N" vi-search-ag)151.2 516 R
-(ain)-.05 E 2.5("P" vi-put)151.2 528 R 2.5("R" vi-replace)151.2 540 R
-2.5("S" vi-subst)151.2 552 R 2.5("T" vi-char)151.2 564 R(-search)-.2 E
-2.5("U" re)151.2 576 R -.15(ve)-.25 G(rt-line).15 E 2.5("W" vi-ne)151.2
-588 R(xt-w)-.15 E(ord)-.1 E 2.5("X" backw)151.2 600 R(ard-delete-char)
--.1 E 2.5("Y" vi-yank-to)151.2 612 R 2.5("\\" vi-complete)151.2 624 R
-2.5("^" vi-\214rst-print)151.2 636 R 2.5("_" vi-yank-ar)151.2 648 R(g)
--.18 E 2.5("`" vi-goto-mark)151.2 660 R 2.5("a" vi-append-mode)151.2 672
-R 2.5("b" vi-pre)151.2 684 R(v-w)-.25 E(ord)-.1 E 2.5("c" vi-change-to)
-151.2 696 R 2.5("d" vi-delete-to)151.2 708 R 2.5("e" vi-end-w)151.2 720
-R(ord)-.1 E(GNU Readline 6.0)72 768 Q(2008 May 8)135.125 E(13)199.835 E
-0 Cg EP
+("C-I" complete)151.2 84 R 2.5("C-J" accept-line)151.2 96 R 2.5
+("C-M" accept-line)151.2 108 R 2.5("C-R" re)151.2 120 R -.15(ve)-.25 G
+(rse-search-history).15 E 2.5("C-S" forw)151.2 132 R(ard-search-history)
+-.1 E 2.5("C-T" transpose-chars)151.2 144 R 2.5("C-U" unix-line-discard)
+151.2 156 R 2.5("C-V" quoted-insert)151.2 168 R 2.5("C-W" unix-w)151.2
+180 R(ord-rubout)-.1 E 2.5("C-Y" yank)151.2 192 R 2.5("C-[" vi-mo)151.2
+204 R -.15(ve)-.15 G(ment-mode).15 E 2.5("C-_" undo)151.2 216 R 3.333
+("")151.2 228 S(to "~")-.833 E(self-insert)5 E 2.5("C-?" backw)151.2 240
+R(ard-delete-char)-.1 E(VI Command Mode functions)151.2 256.8 Q 2.5
+("C-D" vi-eof-maybe)151.2 280.8 R 2.5("C-E" emacs-editing-mode)151.2
+292.8 R 2.5("C-G" abort)151.2 304.8 R 2.5("C-H" backw)151.2 316.8 R
+(ard-char)-.1 E 2.5("C-J" accept-line)151.2 328.8 R 2.5("C-K" kill-line)
+151.2 340.8 R 2.5("C-L" clear)151.2 352.8 R(-screen)-.2 E 2.5
+("C-M" accept-line)151.2 364.8 R 2.5("C-N" ne)151.2 376.8 R(xt-history)
+-.15 E 2.5("C-P" pre)151.2 388.8 R(vious-history)-.25 E 2.5
+("C-Q" quoted-insert)151.2 400.8 R 2.5("C-R" re)151.2 412.8 R -.15(ve)
+-.25 G(rse-search-history).15 E 2.5("C-S" forw)151.2 424.8 R
+(ard-search-history)-.1 E 2.5("C-T" transpose-chars)151.2 436.8 R 2.5
+("C-U" unix-line-discard)151.2 448.8 R 2.5("C-V" quoted-insert)151.2
+460.8 R 2.5("C-W" unix-w)151.2 472.8 R(ord-rubout)-.1 E 2.5("C-Y" yank)
+151.2 484.8 R 2.5("C-_" vi-undo)151.2 496.8 R -4.166 3.333("" f)151.2
+508.8 T(orw)-3.333 E(ard-char)-.1 E 2.5("#" insert-comment)151.2 520.8 R
+2.5("$" end-of-line)151.2 532.8 R 2.5("%" vi-match)151.2 544.8 R 2.5
+("&" vi-tilde-e)151.2 556.8 R(xpand)-.15 E 2.5("*" vi-complete)151.2
+568.8 R 2.5("+" ne)151.2 580.8 R(xt-history)-.15 E 2.5("," vi-char)151.2
+592.8 R(-search)-.2 E 2.5("-" pre)151.2 604.8 R(vious-history)-.25 E 2.5
+("." vi-redo)151.2 616.8 R 2.5("/" vi-search)151.2 628.8 R 2.5("0" be)
+151.2 640.8 R(ginning-of-line)-.15 E("1" to "9")151.2 652.8 Q(vi-ar)5 E
+(g-digit)-.18 E 2.5(";" vi-char)151.2 664.8 R(-search)-.2 E 2.5
+("=" vi-complete)151.2 676.8 R 2.5("?" vi-search)151.2 688.8 R 2.5
+("A" vi-append-eol)151.2 700.8 R 2.5("B" vi-pre)151.2 712.8 R(v-w)-.25 E
+(ord)-.1 E 2.5("C" vi-change-to)151.2 724.8 R(GNU Readline 6.1)72 768 Q
+(2009 October 9)128.185 E(13)192.895 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R 2.5
-("f" vi-char)151.2 84 R(-search)-.2 E 2.5("h" backw)151.2 96 R(ard-char)
--.1 E 2.5("i" vi-insertion-mode)151.2 108 R 2.5("j" ne)151.2 120 R
-(xt-history)-.15 E 2.5("k" pre)151.2 132 R(v-history)-.25 E 2.5
-("l" forw)151.2 144 R(ard-char)-.1 E 2.5("m" vi-set-mark)151.2 156 R 2.5
-("n" vi-search-ag)151.2 168 R(ain)-.05 E 2.5("p" vi-put)151.2 180 R 2.5
-("r" vi-change-char)151.2 192 R 2.5("s" vi-subst)151.2 204 R 2.5
-("t" vi-char)151.2 216 R(-search)-.2 E 2.5("u" vi-undo)151.2 228 R 2.5
-("w" vi-ne)151.2 240 R(xt-w)-.15 E(ord)-.1 E 2.5("x" vi-delete)151.2 252
-R 2.5("y" vi-yank-to)151.2 264 R 2.5("|" vi-column)151.2 276 R 2.5
-("~" vi-change-case)151.2 288 R/F1 10.95/Times-Bold@0 SF(SEE ALSO)72
-304.8 Q/F2 10/Times-Italic@0 SF(The Gnu Readline Libr)108 316.8 Q(ary)
+("D" vi-delete-to)151.2 84 R 2.5("E" vi-end-w)151.2 96 R(ord)-.1 E 2.5
+("F" vi-char)151.2 108 R(-search)-.2 E 2.5("G" vi-fetch-history)151.2
+120 R 2.5("I" vi-insert-be)151.2 132 R(g)-.15 E 2.5("N" vi-search-ag)
+151.2 144 R(ain)-.05 E 2.5("P" vi-put)151.2 156 R 2.5("R" vi-replace)
+151.2 168 R 2.5("S" vi-subst)151.2 180 R 2.5("T" vi-char)151.2 192 R
+(-search)-.2 E 2.5("U" re)151.2 204 R -.15(ve)-.25 G(rt-line).15 E 2.5
+("W" vi-ne)151.2 216 R(xt-w)-.15 E(ord)-.1 E 2.5("X" backw)151.2 228 R
+(ard-delete-char)-.1 E 2.5("Y" vi-yank-to)151.2 240 R 2.5
+("\\" vi-complete)151.2 252 R 2.5("^" vi-\214rst-print)151.2 264 R 2.5
+("_" vi-yank-ar)151.2 276 R(g)-.18 E 2.5("`" vi-goto-mark)151.2 288 R
+2.5("a" vi-append-mode)151.2 300 R 2.5("b" vi-pre)151.2 312 R(v-w)-.25 E
+(ord)-.1 E 2.5("c" vi-change-to)151.2 324 R 2.5("d" vi-delete-to)151.2
+336 R 2.5("e" vi-end-w)151.2 348 R(ord)-.1 E 2.5("f" vi-char)151.2 360 R
+(-search)-.2 E 2.5("h" backw)151.2 372 R(ard-char)-.1 E 2.5
+("i" vi-insertion-mode)151.2 384 R 2.5("j" ne)151.2 396 R(xt-history)
+-.15 E 2.5("k" pre)151.2 408 R(v-history)-.25 E 2.5("l" forw)151.2 420 R
+(ard-char)-.1 E 2.5("m" vi-set-mark)151.2 432 R 2.5("n" vi-search-ag)
+151.2 444 R(ain)-.05 E 2.5("p" vi-put)151.2 456 R 2.5
+("r" vi-change-char)151.2 468 R 2.5("s" vi-subst)151.2 480 R 2.5
+("t" vi-char)151.2 492 R(-search)-.2 E 2.5("u" vi-undo)151.2 504 R 2.5
+("w" vi-ne)151.2 516 R(xt-w)-.15 E(ord)-.1 E 2.5("x" vi-delete)151.2 528
+R 2.5("y" vi-yank-to)151.2 540 R 2.5("|" vi-column)151.2 552 R 2.5
+("~" vi-change-case)151.2 564 R/F1 10.95/Times-Bold@0 SF(SEE ALSO)72
+580.8 Q/F2 10/Times-Italic@0 SF(The Gnu Readline Libr)108 592.8 Q(ary)
-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F2
-(The Gnu History Libr)108 328.8 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E F2(bash)108 340.8 Q F0(\(1\))A F1
-(FILES)72 357.6 Q F2(~/.inputr)109.666 369.6 Q(c)-.37 E F0(Indi)144
-381.6 Q(vidual)-.25 E/F3 10/Times-Bold@0 SF -.18(re)2.5 G(adline).18 E
-F0(initialization \214le)2.5 E F1 -.548(AU)72 398.4 S(THORS).548 E F0
-(Brian F)108 410.4 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
-(bfox@gnu.or)108 422.4 Q(g)-.18 E(Chet Rame)108 439.2 Q 1.3 -.65(y, C)
+(The Gnu History Libr)108 604.8 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
+(ox and Chet Rame)-.15 E(y)-.15 E F2(bash)108 616.8 Q F0(\(1\))A F1
+(FILES)72 633.6 Q F2(~/.inputr)109.666 645.6 Q(c)-.37 E F0(Indi)144
+657.6 Q(vidual)-.25 E/F3 10/Times-Bold@0 SF -.18(re)2.5 G(adline).18 E
+F0(initialization \214le)2.5 E F1 -.548(AU)72 674.4 S(THORS).548 E F0
+(Brian F)108 686.4 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
+(bfox@gnu.or)108 698.4 Q(g)-.18 E(Chet Rame)108 715.2 Q 1.3 -.65(y, C)
-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)
--.25 G(rsity).15 E(chet@ins.CWR)108 451.2 Q(U.Edu)-.4 E F1 -.11(BU)72
-468 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .691(If you \214nd a b)
-108 480 R .691(ug in)-.2 F F3 -.18(re)3.191 G(adline,).18 E F0 .691
+-.25 G(rsity).15 E(chet@ins.CWR)108 727.2 Q(U.Edu)-.4 E
+(GNU Readline 6.1)72 768 Q(2009 October 9)128.185 E(14)192.895 E 0 Cg EP
+%%Page: 15 15
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF 342.2(READLINE\(3\) READLINE\(3\))72 48 R/F1
+10.95/Times-Bold@0 SF -.11(BU)72 84 S 2.738(GR).11 G(EPOR)-2.738 E(TS)
+-.438 E F0 .691(If you \214nd a b)108 96 R .691(ug in)-.2 F/F2 10
+/Times-Bold@0 SF -.18(re)3.191 G(adline,).18 E F0 .691
(you should report it.)3.191 F .69(But \214rst, you should mak)5.69 F
3.19(es)-.1 G .69(ure that it really is a b)-3.19 F(ug,)-.2 E
-(and that it appears in the latest v)108 492 Q(ersion of the)-.15 E F3
+(and that it appears in the latest v)108 108 Q(ersion of the)-.15 E F2
-.18(re)2.5 G(adline).18 E F0(library that you ha)2.5 E -.15(ve)-.2 G(.)
-.15 E .704(Once you ha)108 508.8 R 1.004 -.15(ve d)-.2 H .704
+.15 E .704(Once you ha)108 124.8 R 1.004 -.15(ve d)-.2 H .704
(etermined that a b).15 F .704(ug actually e)-.2 F .704(xists, mail a b)
--.15 F .705(ug report to)-.2 F F2 -.2(bu)3.205 G(g\255r).2 E(eadline)
--.37 E F0(@)A F2(gnu.or)A(g)-.37 E F0 5.705(.I)C 3.205(fy)-5.705 G(ou)
--3.205 E(ha)108 520.8 Q 1.81 -.15(ve a \214)-.2 H 1.51
-(x, you are welcome to mail that as well!).15 F 1.509
+-.15 F .705(ug report to)-.2 F/F3 10/Times-Italic@0 SF -.2(bu)3.205 G
+(g\255r).2 E(eadline)-.37 E F0(@)A F3(gnu.or)A(g)-.37 E F0 5.705(.I)C
+3.205(fy)-5.705 G(ou)-3.205 E(ha)108 136.8 Q 1.81 -.15(ve a \214)-.2 H
+1.51(x, you are welcome to mail that as well!).15 F 1.509
(Suggestions and `philosophical' b)6.509 F 1.509(ug reports may be)-.2 F
-(mailed to)108 532.8 Q F2 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F0(@)A F2
-(gnu.or)A(g)-.37 E F0(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F3
-(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(Comments and b)108 549.6 Q
-(ug reports concerning this manual page should be directed to)-.2 E F2
+(mailed to)108 148.8 Q F3 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F0(@)A F3
+(gnu.or)A(g)-.37 E F0(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F2
+(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(Comments and b)108 165.6 Q
+(ug reports concerning this manual page should be directed to)-.2 E F3
-.15(ch)2.5 G(et@ins.CWR).15 E -.25(U.)-.4 G(Edu).25 E F0(.).25 E F1
--.11(BU)72 566.4 S(GS).11 E F0(It')108 578.4 Q 2.5(st)-.55 G
-(oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 6.0)72 768 Q
-(2008 May 8)135.125 E(14)199.835 E 0 Cg EP
+-.11(BU)72 182.4 S(GS).11 E F0(It')108 194.4 Q 2.5(st)-.55 G
+(oo big and too slo)-2.5 E -.65(w.)-.25 G(GNU Readline 6.1)72 768 Q
+(2009 October 9)128.185 E(15)192.895 E 0 Cg EP
%%Trailer
end
%%EOF
diff --git a/doc/rlman.texi b/doc/rlman.texi
index fa3dd77..be24709 100644
--- a/doc/rlman.texi
+++ b/doc/rlman.texi
@@ -21,7 +21,7 @@ are preserved on all copies.
@quotation
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
and with the Back-Cover Texts as in (a) below. A copy of the license is
diff --git a/doc/rltech.texi b/doc/rltech.texi
index c98d3b9..04c8489 100644
--- a/doc/rltech.texi
+++ b/doc/rltech.texi
@@ -622,7 +622,7 @@ Readline which keymap to use.
@deftypefun Keymap rl_make_bare_keymap (void)
Returns a new, empty keymap. The space for the keymap is allocated with
@code{malloc()}; the caller should free it by calling
-@code{rl_discard_keymap()} when done.
+@code{rl_free_keymap()} when done.
@end deftypefun
@deftypefun Keymap rl_copy_keymap (Keymap map)
@@ -636,7 +636,13 @@ the Meta digits bound to produce numeric arguments.
@end deftypefun
@deftypefun void rl_discard_keymap (Keymap keymap)
-Free the storage associated with @var{keymap}.
+Free the storage associated with the data in @var{keymap}.
+The caller should free @var{keymap}.
+@end deftypefun
+
+@deftypefun void rl_free_keymap (Keymap keymap)
+Free all storage associated with @var{keymap}. This calls
+@code{rl_discard_keymap} to free subordindate keymaps and macros.
@end deftypefun
Readline has several internal keymaps. These functions allow you to
@@ -1722,6 +1728,35 @@ remove any quote characters from the directory name, because its result will
be passed directly to @code{opendir()}.
@end deftypevar
+@ignore
+@deftypevar extern rl_icppfunc_t *rl_directory_rewrite_hook;
+If non-zero, this is the address of a function to call when completing
+a directory name. This function takes the address of the directory name
+to be modified as an argument. Unlike @code{rl_directory_completion_hook},
+it only modifies the directory name used in @code{opendir}, not what is
+displayed when the possible completions are printed or inserted. It is
+called before rl_directory_completion_hook.
+
+I'm not happy with how this worksyet, so it's undocumented.
+@end deftypevar
+@end ignore
+
+@deftypevar {rl_dequote_func_t *} rl_filename_rewrite_hook
+If non-zero, this is the address of a function called when reading
+directory entries from the filesystem for completion and comparing
+them to the partial word to be completed. The function should
+perform any necesary application or system-specific conversion on
+the filename, such as converting between character sets or converting
+from a filesystem format to a character input format.
+The function takes two arguments: @var{fname}, the filename to be converted,
+and @var{fnlen}, its length in bytes.
+It must either return its first argument (if no conversion takes place)
+or the converted filename in newly-allocated memory. The converted
+form is used to compare against the word to be completed, and, if it
+matches, is added to the list of matches. Readline will free the
+allocated string.
+@end deftypevar
+
@deftypevar {rl_compdisp_func_t *} rl_completion_display_matches_hook
If non-zero, then this is the address of a function to call when
completing a word would normally display the list of possible matches.
diff --git a/doc/rluser.texi b/doc/rluser.texi
index 4a367ed..519c0de 100644
--- a/doc/rluser.texi
+++ b/doc/rluser.texi
@@ -474,12 +474,23 @@ key bindings is used. By default, Readline starts up in Emacs editing
mode, where the keystrokes are most similar to Emacs. This variable can be
set to either @samp{emacs} or @samp{vi}.
+@item echo-control-characters
+When set to @samp{on}, on operating systems that indicate they support it,
+readline echoes a character corresponding to a signal generated from the
+keyboard. The default is @samp{on}.
+
@item enable-keypad
@vindex enable-keypad
When set to @samp{on}, Readline will try to enable the application
keypad when it is called. Some systems need this to enable the
arrow keys. The default is @samp{off}.
+@item enable-meta-key
+When set to @samp{on}, Readline will try to enable any meta modifier
+key the terminal claims to support when it is called. On many terminals,
+the meta key is used to send eight-bit characters.
+The default is @samp{on}.
+
@item expand-tilde
@vindex expand-tilde
If set to @samp{on}, tilde expansion is performed when Readline
@@ -606,6 +617,20 @@ a common prefix) cause the matches to be listed immediately instead
of ringing the bell.
The default value is @samp{off}.
+@item skip-completed-text
+@vindex skip-completed-text
+If set to @samp{on}, this alters the default completion behavior when
+inserting a single match into the line. It's only active when
+performing completion in the middle of a word. If enabled, readline
+does not insert characters from the completion that match characters
+after point in the word being completed, so portions of the word
+following the cursor are not duplicated.
+For instance, if this is enabled, attempting completion when the cursor
+is after the @samp{e} in @samp{Makefile} will result in @samp{Makefile}
+rather than @samp{Makefilefile}, assuming there is a single possible
+completion.
+The default value is @samp{off}.
+
@item visible-stats
@vindex visible-stats
If set to @samp{on}, a character denoting a file's type
@@ -1292,6 +1317,11 @@ through the list.
This command is intended to be bound to @key{TAB}, but is unbound
by default.
+@item menu-complete-backward ()
+Identical to @code{menu-complete}, but moves backward through the list
+of possible completions, as if @code{menu-complete} had been given a
+negative argument.
+
@item delete-char-or-list ()
Deletes the character under the cursor if not at the beginning or
end of the line (like @code{delete-char}).
@@ -1431,6 +1461,15 @@ A character is read and point is moved to the previous occurrence
of that character. A negative count searches for subsequent
occurrences.
+@item skip-csi-sequence ()
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End. Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC-[. If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer. This is unbound by default,
+but usually bound to ESC-[.
+
@item insert-comment (M-#)
Without a numeric argument, the value of the @code{comment-begin}
variable is inserted at the beginning of the current line.
@@ -1574,10 +1613,15 @@ the programmable completion facilities are invoked.
First, the command name is identified.
If a compspec has been defined for that command, the
compspec is used to generate the list of possible completions for the word.
+If the command word is the empty string (completion attempted at the
+beginning of an empty line), any compspec defined with
+the @option{-E} option to @code{complete} is used.
If the command word is a full pathname, a compspec for the full
pathname is searched for first.
If no compspec is found for the full pathname, an attempt is made to
find a compspec for the portion following the final slash.
+If those searches do not result in a compspec, any compspec defined with
+the @option{-D} option to @code{complete} is used as the default.
Once a compspec has been found, it is used to generate the list of
matching words.
@@ -1681,6 +1725,30 @@ to completed names which are symbolic links to directories, subject to
the value of the @var{mark-directories} Readline variable, regardless
of the setting of the @var{mark-symlinked-directories} Readline variable.
+There is some support for dynamically modifying completions. This is
+most useful when used in combination with a default completion specified
+with @option{-D}. It's possible for shell functions executed as completion
+handlers to indicate that completion should be retried by returning an
+exit status of 124. If a shell function returns 124, and changes
+the compspec associated with the command on which completion is being
+attempted (supplied as the first argument when the function is executed),
+programmable completion restarts from the beginning, with an
+attempt to find a compspec for that command. This allows a set of
+completions to be built dynamically as completion is attempted, rather than
+being loaded all at once.
+
+For instance, assuming that there is a library of compspecs, each kept in a
+file corresponding to the name of the command, the following default
+completion function would load completions dynamically:
+
+@example
+_completion_loader()
+@{
+ . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
+@}
+complete -D -F _completion_loader
+@end example
+
@node Programmable Completion Builtins
@section Programmable Completion Builtins
@cindex completion builtins
@@ -1716,10 +1784,10 @@ matches were generated.
@item complete
@btindex complete
@example
-@code{complete [-abcdefgjksuv] [-o @var{comp-option}] [-E] [-A @var{action}] [-G @var{globpat}] [-W @var{wordlist}]
+@code{complete [-abcdefgjksuv] [-o @var{comp-option}] [-DE] [-A @var{action}] [-G @var{globpat}] [-W @var{wordlist}]
[-F @var{function}] [-C @var{command}] [-X @var{filterpat}]
[-P @var{prefix}] [-S @var{suffix}] @var{name} [@var{name} @dots{}]}
-@code{complete -pr [-E] [@var{name} @dots{}]}
+@code{complete -pr [-DE] [@var{name} @dots{}]}
@end example
Specify how arguments to each @var{name} should be completed.
@@ -1729,12 +1797,16 @@ reused as input.
The @option{-r} option removes a completion specification for
each @var{name}, or, if no @var{name}s are supplied, all
completion specifications.
+The @option{-D} option indicates that the remaining options and actions should
+apply to the ``default'' command completion; that is, completion attempted
+on a command for which no completion has previously been defined.
The @option{-E} option indicates that the remaining options and actions should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
The process of applying these completion specifications when word completion
-is attempted is described above (@pxref{Programmable Completion}).
+is attempted is described above (@pxref{Programmable Completion}). The
+@option{-D} option takes precedence over @option{-E}.
Other options, if specified, have the following meanings.
The arguments to the @option{-G}, @option{-W}, and @option{-X} options
@@ -1908,7 +1980,7 @@ an error occurs adding a completion specification.
@item compopt
@btindex compopt
@example
-@code{compopt} [-o @var{option}] [+o @var{option}] [@var{name}]
+@code{compopt} [-o @var{option}] [-DE] [+o @var{option}] [@var{name}]
@end example
Modify completion options for each @var{name} according to the
@var{option}s, or for the currently-execution completion if no @var{name}s
@@ -1917,6 +1989,14 @@ If no @var{option}s are given, display the completion options for each
@var{name} or the current completion.
The possible values of @var{option} are those valid for the @code{complete}
builtin described above.
+The @option{-D} option indicates that the remaining options should
+apply to the ``default'' command completion; that is, completion attempted
+on a command for which no completion has previously been defined.
+The @option{-E} option indicates that the remaining options should
+apply to ``empty'' command completion; that is, completion attempted on a
+blank line.
+
+The @option{-D} option takes precedence over @option{-E}.
The return value is true unless an invalid option is supplied, an attempt
is made to modify the options for a @var{name} for which no completion
diff --git a/doc/rluserman.dvi b/doc/rluserman.dvi
index a82527e..9dc3ca6 100644
--- a/doc/rluserman.dvi
+++ b/doc/rluserman.dvi
Binary files differ
diff --git a/doc/rluserman.html b/doc/rluserman.html
index 0a71a78..ea7c5d9 100644
--- a/doc/rluserman.html
+++ b/doc/rluserman.html
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on January, 6 2009 by texi2html 1.64 -->
+<!-- Created on October, 12 2009 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -648,6 +648,12 @@ mode, where the keystrokes are most similar to Emacs. This variable can be
set to either <SAMP>`emacs'</SAMP> or <SAMP>`vi'</SAMP>.
<P>
+<DT><CODE>echo-control-characters</CODE>
+<DD>When set to <SAMP>`on'</SAMP>, on operating systems that indicate they support it,
+readline echoes a character corresponding to a signal generated from the
+keyboard. The default is <SAMP>`on'</SAMP>.
+<P>
+
<DT><CODE>enable-keypad</CODE>
<DD><A NAME="IDX13"></A>
When set to <SAMP>`on'</SAMP>, Readline will try to enable the application
@@ -655,6 +661,13 @@ keypad when it is called. Some systems need this to enable the
arrow keys. The default is <SAMP>`off'</SAMP>.
<P>
+<DT><CODE>enable-meta-key</CODE>
+<DD>When set to <SAMP>`on'</SAMP>, Readline will try to enable any meta modifier
+key the terminal claims to support when it is called. On many terminals,
+the meta key is used to send eight-bit characters.
+The default is <SAMP>`on'</SAMP>.
+<P>
+
<DT><CODE>expand-tilde</CODE>
<DD><A NAME="IDX14"></A>
If set to <SAMP>`on'</SAMP>, tilde expansion is performed when Readline
@@ -798,8 +811,23 @@ of ringing the bell.
The default value is <SAMP>`off'</SAMP>.
<P>
-<DT><CODE>visible-stats</CODE>
+<DT><CODE>skip-completed-text</CODE>
<DD><A NAME="IDX30"></A>
+If set to <SAMP>`on'</SAMP>, this alters the default completion behavior when
+inserting a single match into the line. It's only active when
+performing completion in the middle of a word. If enabled, readline
+does not insert characters from the completion that match characters
+after point in the word being completed, so portions of the word
+following the cursor are not duplicated.
+For instance, if this is enabled, attempting completion when the cursor
+is after the <SAMP>`e'</SAMP> in <SAMP>`Makefile'</SAMP> will result in <SAMP>`Makefile'</SAMP>
+rather than <SAMP>`Makefilefile'</SAMP>, assuming there is a single possible
+completion.
+The default value is <SAMP>`off'</SAMP>.
+<P>
+
+<DT><CODE>visible-stats</CODE>
+<DD><A NAME="IDX31"></A>
If set to <SAMP>`on'</SAMP>, a character denoting a file's type
is appended to the filename when listing possible
completions. The default is <SAMP>`off'</SAMP>.
@@ -1215,54 +1243,54 @@ The text between the point and mark is referred to as the <EM>region</EM>.
<H3> 1.4.1 Commands For Moving </H3>
<!--docid::SEC14::-->
<DL COMPACT>
-<A NAME="IDX31"></A>
+<A NAME="IDX32"></A>
<DT><CODE>beginning-of-line (C-a)</CODE>
-<DD><A NAME="IDX32"></A>
+<DD><A NAME="IDX33"></A>
Move to the start of the current line.
<P>
-<A NAME="IDX33"></A>
+<A NAME="IDX34"></A>
<DT><CODE>end-of-line (C-e)</CODE>
-<DD><A NAME="IDX34"></A>
+<DD><A NAME="IDX35"></A>
Move to the end of the line.
<P>
-<A NAME="IDX35"></A>
+<A NAME="IDX36"></A>
<DT><CODE>forward-char (C-f)</CODE>
-<DD><A NAME="IDX36"></A>
+<DD><A NAME="IDX37"></A>
Move forward a character.
<P>
-<A NAME="IDX37"></A>
+<A NAME="IDX38"></A>
<DT><CODE>backward-char (C-b)</CODE>
-<DD><A NAME="IDX38"></A>
+<DD><A NAME="IDX39"></A>
Move back a character.
<P>
-<A NAME="IDX39"></A>
+<A NAME="IDX40"></A>
<DT><CODE>forward-word (M-f)</CODE>
-<DD><A NAME="IDX40"></A>
+<DD><A NAME="IDX41"></A>
Move forward to the end of the next word.
Words are composed of letters and digits.
<P>
-<A NAME="IDX41"></A>
+<A NAME="IDX42"></A>
<DT><CODE>backward-word (M-b)</CODE>
-<DD><A NAME="IDX42"></A>
+<DD><A NAME="IDX43"></A>
Move back to the start of the current or previous word.
Words are composed of letters and digits.
<P>
-<A NAME="IDX43"></A>
+<A NAME="IDX44"></A>
<DT><CODE>clear-screen (C-l)</CODE>
-<DD><A NAME="IDX44"></A>
+<DD><A NAME="IDX45"></A>
Clear the screen and redraw the current line,
leaving the current line at the top of the screen.
<P>
-<A NAME="IDX45"></A>
+<A NAME="IDX46"></A>
<DT><CODE>redraw-current-line ()</CODE>
-<DD><A NAME="IDX46"></A>
+<DD><A NAME="IDX47"></A>
Refresh the current line. By default, this is unbound.
<P>
@@ -1288,9 +1316,9 @@ Refresh the current line. By default, this is unbound.
<P>
<DL COMPACT>
-<A NAME="IDX47"></A>
+<A NAME="IDX48"></A>
<DT><CODE>accept-line (Newline or Return)</CODE>
-<DD><A NAME="IDX48"></A>
+<DD><A NAME="IDX49"></A>
Accept the line regardless of where the cursor is.
If this line is
non-empty, it may be added to the history list for future recall with
@@ -1299,81 +1327,81 @@ If this line is a modified history line, the history line is restored
to its original state.
<P>
-<A NAME="IDX49"></A>
+<A NAME="IDX50"></A>
<DT><CODE>previous-history (C-p)</CODE>
-<DD><A NAME="IDX50"></A>
+<DD><A NAME="IDX51"></A>
Move `back' through the history list, fetching the previous command.
<P>
-<A NAME="IDX51"></A>
+<A NAME="IDX52"></A>
<DT><CODE>next-history (C-n)</CODE>
-<DD><A NAME="IDX52"></A>
+<DD><A NAME="IDX53"></A>
Move `forward' through the history list, fetching the next command.
<P>
-<A NAME="IDX53"></A>
+<A NAME="IDX54"></A>
<DT><CODE>beginning-of-history (M-&#60;)</CODE>
-<DD><A NAME="IDX54"></A>
+<DD><A NAME="IDX55"></A>
Move to the first line in the history.
<P>
-<A NAME="IDX55"></A>
+<A NAME="IDX56"></A>
<DT><CODE>end-of-history (M-&#62;)</CODE>
-<DD><A NAME="IDX56"></A>
+<DD><A NAME="IDX57"></A>
Move to the end of the input history, i.e., the line currently
being entered.
<P>
-<A NAME="IDX57"></A>
+<A NAME="IDX58"></A>
<DT><CODE>reverse-search-history (C-r)</CODE>
-<DD><A NAME="IDX58"></A>
+<DD><A NAME="IDX59"></A>
Search backward starting at the current line and moving `up' through
the history as necessary. This is an incremental search.
<P>
-<A NAME="IDX59"></A>
+<A NAME="IDX60"></A>
<DT><CODE>forward-search-history (C-s)</CODE>
-<DD><A NAME="IDX60"></A>
+<DD><A NAME="IDX61"></A>
Search forward starting at the current line and moving `down' through
the the history as necessary. This is an incremental search.
<P>
-<A NAME="IDX61"></A>
+<A NAME="IDX62"></A>
<DT><CODE>non-incremental-reverse-search-history (M-p)</CODE>
-<DD><A NAME="IDX62"></A>
+<DD><A NAME="IDX63"></A>
Search backward starting at the current line and moving `up'
through the history as necessary using a non-incremental search
for a string supplied by the user.
<P>
-<A NAME="IDX63"></A>
+<A NAME="IDX64"></A>
<DT><CODE>non-incremental-forward-search-history (M-n)</CODE>
-<DD><A NAME="IDX64"></A>
+<DD><A NAME="IDX65"></A>
Search forward starting at the current line and moving `down'
through the the history as necessary using a non-incremental search
for a string supplied by the user.
<P>
-<A NAME="IDX65"></A>
+<A NAME="IDX66"></A>
<DT><CODE>history-search-forward ()</CODE>
-<DD><A NAME="IDX66"></A>
+<DD><A NAME="IDX67"></A>
Search forward through the history for the string of characters
between the start of the current line and the point.
This is a non-incremental search.
By default, this command is unbound.
<P>
-<A NAME="IDX67"></A>
+<A NAME="IDX68"></A>
<DT><CODE>history-search-backward ()</CODE>
-<DD><A NAME="IDX68"></A>
+<DD><A NAME="IDX69"></A>
Search backward through the history for the string of characters
between the start of the current line and the point. This
is a non-incremental search. By default, this command is unbound.
<P>
-<A NAME="IDX69"></A>
+<A NAME="IDX70"></A>
<DT><CODE>yank-nth-arg (M-C-y)</CODE>
-<DD><A NAME="IDX70"></A>
+<DD><A NAME="IDX71"></A>
Insert the first argument to the previous command (usually
the second word on the previous line) at point.
With an argument <VAR>n</VAR>,
@@ -1384,9 +1412,9 @@ Once the argument <VAR>n</VAR> is computed, the argument is extracted
as if the <SAMP>`!<VAR>n</VAR>'</SAMP> history expansion had been specified.
<P>
-<A NAME="IDX71"></A>
+<A NAME="IDX72"></A>
<DT><CODE>yank-last-arg (M-. or M-_)</CODE>
-<DD><A NAME="IDX72"></A>
+<DD><A NAME="IDX73"></A>
Insert last argument to the previous command (the last word of the
previous history entry). With an
argument, behave exactly like <CODE>yank-nth-arg</CODE>.
@@ -1418,52 +1446,52 @@ as if the <SAMP>`!$'</SAMP> history expansion had been specified.
<P>
<DL COMPACT>
-<A NAME="IDX73"></A>
+<A NAME="IDX74"></A>
<DT><CODE>delete-char (C-d)</CODE>
-<DD><A NAME="IDX74"></A>
+<DD><A NAME="IDX75"></A>
Delete the character at point. If point is at the
beginning of the line, there are no characters in the line, and
the last character typed was not bound to <CODE>delete-char</CODE>, then
return EOF.
<P>
-<A NAME="IDX75"></A>
+<A NAME="IDX76"></A>
<DT><CODE>backward-delete-char (Rubout)</CODE>
-<DD><A NAME="IDX76"></A>
+<DD><A NAME="IDX77"></A>
Delete the character behind the cursor. A numeric argument means
to kill the characters instead of deleting them.
<P>
-<A NAME="IDX77"></A>
+<A NAME="IDX78"></A>
<DT><CODE>forward-backward-delete-char ()</CODE>
-<DD><A NAME="IDX78"></A>
+<DD><A NAME="IDX79"></A>
Delete the character under the cursor, unless the cursor is at the
end of the line, in which case the character behind the cursor is
deleted. By default, this is not bound to a key.
<P>
-<A NAME="IDX79"></A>
+<A NAME="IDX80"></A>
<DT><CODE>quoted-insert (C-q or C-v)</CODE>
-<DD><A NAME="IDX80"></A>
+<DD><A NAME="IDX81"></A>
Add the next character typed to the line verbatim. This is
how to insert key sequences like <KBD>C-q</KBD>, for example.
<P>
-<A NAME="IDX81"></A>
+<A NAME="IDX82"></A>
<DT><CODE>tab-insert (M-<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX82"></A>
+<DD><A NAME="IDX83"></A>
Insert a tab character.
<P>
-<A NAME="IDX83"></A>
+<A NAME="IDX84"></A>
<DT><CODE>self-insert (a, b, A, 1, !, <small>...</small>)</CODE>
-<DD><A NAME="IDX84"></A>
+<DD><A NAME="IDX85"></A>
Insert yourself.
<P>
-<A NAME="IDX85"></A>
+<A NAME="IDX86"></A>
<DT><CODE>transpose-chars (C-t)</CODE>
-<DD><A NAME="IDX86"></A>
+<DD><A NAME="IDX87"></A>
Drag the character before the cursor forward over
the character at the cursor, moving the
cursor forward as well. If the insertion point
@@ -1472,39 +1500,39 @@ transposes the last two characters of the line.
Negative arguments have no effect.
<P>
-<A NAME="IDX87"></A>
+<A NAME="IDX88"></A>
<DT><CODE>transpose-words (M-t)</CODE>
-<DD><A NAME="IDX88"></A>
+<DD><A NAME="IDX89"></A>
Drag the word before point past the word after point,
moving point past that word as well.
If the insertion point is at the end of the line, this transposes
the last two words on the line.
<P>
-<A NAME="IDX89"></A>
+<A NAME="IDX90"></A>
<DT><CODE>upcase-word (M-u)</CODE>
-<DD><A NAME="IDX90"></A>
+<DD><A NAME="IDX91"></A>
Uppercase the current (or following) word. With a negative argument,
uppercase the previous word, but do not move the cursor.
<P>
-<A NAME="IDX91"></A>
+<A NAME="IDX92"></A>
<DT><CODE>downcase-word (M-l)</CODE>
-<DD><A NAME="IDX92"></A>
+<DD><A NAME="IDX93"></A>
Lowercase the current (or following) word. With a negative argument,
lowercase the previous word, but do not move the cursor.
<P>
-<A NAME="IDX93"></A>
+<A NAME="IDX94"></A>
<DT><CODE>capitalize-word (M-c)</CODE>
-<DD><A NAME="IDX94"></A>
+<DD><A NAME="IDX95"></A>
Capitalize the current (or following) word. With a negative argument,
capitalize the previous word, but do not move the cursor.
<P>
-<A NAME="IDX95"></A>
+<A NAME="IDX96"></A>
<DT><CODE>overwrite-mode ()</CODE>
-<DD><A NAME="IDX96"></A>
+<DD><A NAME="IDX97"></A>
Toggle overwrite mode. With an explicit positive numeric argument,
switches to overwrite mode. With an explicit non-positive numeric
argument, switches to insert mode. This command affects only
@@ -1544,106 +1572,106 @@ By default, this command is unbound.
<DL COMPACT>
-<A NAME="IDX97"></A>
+<A NAME="IDX98"></A>
<DT><CODE>kill-line (C-k)</CODE>
-<DD><A NAME="IDX98"></A>
+<DD><A NAME="IDX99"></A>
Kill the text from point to the end of the line.
<P>
-<A NAME="IDX99"></A>
+<A NAME="IDX100"></A>
<DT><CODE>backward-kill-line (C-x Rubout)</CODE>
-<DD><A NAME="IDX100"></A>
+<DD><A NAME="IDX101"></A>
Kill backward to the beginning of the line.
<P>
-<A NAME="IDX101"></A>
+<A NAME="IDX102"></A>
<DT><CODE>unix-line-discard (C-u)</CODE>
-<DD><A NAME="IDX102"></A>
+<DD><A NAME="IDX103"></A>
Kill backward from the cursor to the beginning of the current line.
<P>
-<A NAME="IDX103"></A>
+<A NAME="IDX104"></A>
<DT><CODE>kill-whole-line ()</CODE>
-<DD><A NAME="IDX104"></A>
+<DD><A NAME="IDX105"></A>
Kill all characters on the current line, no matter where point is.
By default, this is unbound.
<P>
-<A NAME="IDX105"></A>
+<A NAME="IDX106"></A>
<DT><CODE>kill-word (M-d)</CODE>
-<DD><A NAME="IDX106"></A>
+<DD><A NAME="IDX107"></A>
Kill from point to the end of the current word, or if between
words, to the end of the next word.
Word boundaries are the same as <CODE>forward-word</CODE>.
<P>
-<A NAME="IDX107"></A>
+<A NAME="IDX108"></A>
<DT><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE>
-<DD><A NAME="IDX108"></A>
+<DD><A NAME="IDX109"></A>
Kill the word behind point.
Word boundaries are the same as <CODE>backward-word</CODE>.
<P>
-<A NAME="IDX109"></A>
+<A NAME="IDX110"></A>
<DT><CODE>unix-word-rubout (C-w)</CODE>
-<DD><A NAME="IDX110"></A>
+<DD><A NAME="IDX111"></A>
Kill the word behind point, using white space as a word boundary.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX111"></A>
+<A NAME="IDX112"></A>
<DT><CODE>unix-filename-rubout ()</CODE>
-<DD><A NAME="IDX112"></A>
+<DD><A NAME="IDX113"></A>
Kill the word behind point, using white space and the slash character
as the word boundaries.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX113"></A>
+<A NAME="IDX114"></A>
<DT><CODE>delete-horizontal-space ()</CODE>
-<DD><A NAME="IDX114"></A>
+<DD><A NAME="IDX115"></A>
Delete all spaces and tabs around point. By default, this is unbound.
<P>
-<A NAME="IDX115"></A>
+<A NAME="IDX116"></A>
<DT><CODE>kill-region ()</CODE>
-<DD><A NAME="IDX116"></A>
+<DD><A NAME="IDX117"></A>
Kill the text in the current region.
By default, this command is unbound.
<P>
-<A NAME="IDX117"></A>
+<A NAME="IDX118"></A>
<DT><CODE>copy-region-as-kill ()</CODE>
-<DD><A NAME="IDX118"></A>
+<DD><A NAME="IDX119"></A>
Copy the text in the region to the kill buffer, so it can be yanked
right away. By default, this command is unbound.
<P>
-<A NAME="IDX119"></A>
+<A NAME="IDX120"></A>
<DT><CODE>copy-backward-word ()</CODE>
-<DD><A NAME="IDX120"></A>
+<DD><A NAME="IDX121"></A>
Copy the word before point to the kill buffer.
The word boundaries are the same as <CODE>backward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX121"></A>
+<A NAME="IDX122"></A>
<DT><CODE>copy-forward-word ()</CODE>
-<DD><A NAME="IDX122"></A>
+<DD><A NAME="IDX123"></A>
Copy the word following point to the kill buffer.
The word boundaries are the same as <CODE>forward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX123"></A>
+<A NAME="IDX124"></A>
<DT><CODE>yank (C-y)</CODE>
-<DD><A NAME="IDX124"></A>
+<DD><A NAME="IDX125"></A>
Yank the top of the kill ring into the buffer at point.
<P>
-<A NAME="IDX125"></A>
+<A NAME="IDX126"></A>
<DT><CODE>yank-pop (M-y)</CODE>
-<DD><A NAME="IDX126"></A>
+<DD><A NAME="IDX127"></A>
Rotate the kill-ring, and yank the new top. You can only do this if
the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
</DL>
@@ -1667,16 +1695,16 @@ the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
<!--docid::SEC18::-->
<DL COMPACT>
-<A NAME="IDX127"></A>
+<A NAME="IDX128"></A>
<DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
-<DD><A NAME="IDX128"></A>
+<DD><A NAME="IDX129"></A>
Add this digit to the argument already accumulating, or start a new
argument. <KBD>M--</KBD> starts a negative argument.
<P>
-<A NAME="IDX129"></A>
+<A NAME="IDX130"></A>
<DT><CODE>universal-argument ()</CODE>
-<DD><A NAME="IDX130"></A>
+<DD><A NAME="IDX131"></A>
This is another way to specify an argument.
If this command is followed by one or more digits, optionally with a
leading minus sign, those digits define the argument.
@@ -1711,30 +1739,30 @@ By default, this is not bound to a key.
<P>
<DL COMPACT>
-<A NAME="IDX131"></A>
+<A NAME="IDX132"></A>
<DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX132"></A>
+<DD><A NAME="IDX133"></A>
Attempt to perform completion on the text before point.
The actual completion performed is application-specific.
The default is filename completion.
<P>
-<A NAME="IDX133"></A>
+<A NAME="IDX134"></A>
<DT><CODE>possible-completions (M-?)</CODE>
-<DD><A NAME="IDX134"></A>
+<DD><A NAME="IDX135"></A>
List the possible completions of the text before point.
<P>
-<A NAME="IDX135"></A>
+<A NAME="IDX136"></A>
<DT><CODE>insert-completions (M-*)</CODE>
-<DD><A NAME="IDX136"></A>
+<DD><A NAME="IDX137"></A>
Insert all completions of the text before point that would have
been generated by <CODE>possible-completions</CODE>.
<P>
-<A NAME="IDX137"></A>
+<A NAME="IDX138"></A>
<DT><CODE>menu-complete ()</CODE>
-<DD><A NAME="IDX138"></A>
+<DD><A NAME="IDX139"></A>
Similar to <CODE>complete</CODE>, but replaces the word to be completed
with a single match from the list of possible completions.
Repeated execution of <CODE>menu-complete</CODE> steps through the list
@@ -1749,9 +1777,17 @@ This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
by default.
<P>
-<A NAME="IDX139"></A>
+<A NAME="IDX140"></A>
+<DT><CODE>menu-complete-backward ()</CODE>
+<DD><A NAME="IDX141"></A>
+Identical to <CODE>menu-complete</CODE>, but moves backward through the list
+of possible completions, as if <CODE>menu-complete</CODE> had been given a
+negative argument.
+<P>
+
+<A NAME="IDX142"></A>
<DT><CODE>delete-char-or-list ()</CODE>
-<DD><A NAME="IDX140"></A>
+<DD><A NAME="IDX143"></A>
Deletes the character under the cursor if not at the beginning or
end of the line (like <CODE>delete-char</CODE>).
If at the end of the line, behaves identically to
@@ -1780,22 +1816,22 @@ This command is unbound by default.
<!--docid::SEC20::-->
<DL COMPACT>
-<A NAME="IDX141"></A>
+<A NAME="IDX144"></A>
<DT><CODE>start-kbd-macro (C-x ()</CODE>
-<DD><A NAME="IDX142"></A>
+<DD><A NAME="IDX145"></A>
Begin saving the characters typed into the current keyboard macro.
<P>
-<A NAME="IDX143"></A>
+<A NAME="IDX146"></A>
<DT><CODE>end-kbd-macro (C-x ))</CODE>
-<DD><A NAME="IDX144"></A>
+<DD><A NAME="IDX147"></A>
Stop saving the characters typed into the current keyboard macro
and save the definition.
<P>
-<A NAME="IDX145"></A>
+<A NAME="IDX148"></A>
<DT><CODE>call-last-kbd-macro (C-x e)</CODE>
-<DD><A NAME="IDX146"></A>
+<DD><A NAME="IDX149"></A>
Re-execute the last keyboard macro defined, by making the characters
in the macro appear as if typed at the keyboard.
<P>
@@ -1821,87 +1857,99 @@ in the macro appear as if typed at the keyboard.
<!--docid::SEC21::-->
<DL COMPACT>
-<A NAME="IDX147"></A>
+<A NAME="IDX150"></A>
<DT><CODE>re-read-init-file (C-x C-r)</CODE>
-<DD><A NAME="IDX148"></A>
+<DD><A NAME="IDX151"></A>
Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
any bindings or variable assignments found there.
<P>
-<A NAME="IDX149"></A>
+<A NAME="IDX152"></A>
<DT><CODE>abort (C-g)</CODE>
-<DD><A NAME="IDX150"></A>
+<DD><A NAME="IDX153"></A>
Abort the current editing command and
ring the terminal's bell (subject to the setting of
<CODE>bell-style</CODE>).
<P>
-<A NAME="IDX151"></A>
+<A NAME="IDX154"></A>
<DT><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, <small>...</small>)</CODE>
-<DD><A NAME="IDX152"></A>
+<DD><A NAME="IDX155"></A>
If the metafied character <VAR>x</VAR> is lowercase, run the command
that is bound to the corresponding uppercase character.
<P>
-<A NAME="IDX153"></A>
+<A NAME="IDX156"></A>
<DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
-<DD><A NAME="IDX154"></A>
+<DD><A NAME="IDX157"></A>
Metafy the next character typed. This is for keyboards
without a meta key. Typing <SAMP>`<KBD>ESC</KBD> f'</SAMP> is equivalent to typing
<KBD>M-f</KBD>.
<P>
-<A NAME="IDX155"></A>
+<A NAME="IDX158"></A>
<DT><CODE>undo (C-_ or C-x C-u)</CODE>
-<DD><A NAME="IDX156"></A>
+<DD><A NAME="IDX159"></A>
Incremental undo, separately remembered for each line.
<P>
-<A NAME="IDX157"></A>
+<A NAME="IDX160"></A>
<DT><CODE>revert-line (M-r)</CODE>
-<DD><A NAME="IDX158"></A>
+<DD><A NAME="IDX161"></A>
Undo all changes made to this line. This is like executing the <CODE>undo</CODE>
command enough times to get back to the beginning.
<P>
-<A NAME="IDX159"></A>
+<A NAME="IDX162"></A>
<DT><CODE>tilde-expand (M-~)</CODE>
-<DD><A NAME="IDX160"></A>
+<DD><A NAME="IDX163"></A>
Perform tilde expansion on the current word.
<P>
-<A NAME="IDX161"></A>
+<A NAME="IDX164"></A>
<DT><CODE>set-mark (C-@)</CODE>
-<DD><A NAME="IDX162"></A>
+<DD><A NAME="IDX165"></A>
Set the mark to the point. If a
numeric argument is supplied, the mark is set to that position.
<P>
-<A NAME="IDX163"></A>
+<A NAME="IDX166"></A>
<DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
-<DD><A NAME="IDX164"></A>
+<DD><A NAME="IDX167"></A>
Swap the point with the mark. The current cursor position is set to
the saved position, and the old cursor position is saved as the mark.
<P>
-<A NAME="IDX165"></A>
+<A NAME="IDX168"></A>
<DT><CODE>character-search (C-])</CODE>
-<DD><A NAME="IDX166"></A>
+<DD><A NAME="IDX169"></A>
A character is read and point is moved to the next occurrence of that
character. A negative count searches for previous occurrences.
<P>
-<A NAME="IDX167"></A>
+<A NAME="IDX170"></A>
<DT><CODE>character-search-backward (M-C-])</CODE>
-<DD><A NAME="IDX168"></A>
+<DD><A NAME="IDX171"></A>
A character is read and point is moved to the previous occurrence
of that character. A negative count searches for subsequent
occurrences.
<P>
-<A NAME="IDX169"></A>
+<A NAME="IDX172"></A>
+<DT><CODE>skip-csi-sequence ()</CODE>
+<DD><A NAME="IDX173"></A>
+Read enough characters to consume a multi-key sequence such as those
+defined for keys like Home and End. Such sequences begin with a
+Control Sequence Indicator (CSI), usually ESC-[. If this sequence is
+bound to "\e[", keys producing such sequences will have no effect
+unless explicitly bound to a readline command, instead of inserting
+stray characters into the editing buffer. This is unbound by default,
+but usually bound to ESC-[.
+<P>
+
+<A NAME="IDX174"></A>
<DT><CODE>insert-comment (M-#)</CODE>
-<DD><A NAME="IDX170"></A>
+<DD><A NAME="IDX175"></A>
Without a numeric argument, the value of the <CODE>comment-begin</CODE>
variable is inserted at the beginning of the current line.
If a numeric argument is supplied, this command acts as a toggle: if
@@ -1912,43 +1960,43 @@ the line.
In either case, the line is accepted as if a newline had been typed.
<P>
-<A NAME="IDX171"></A>
+<A NAME="IDX176"></A>
<DT><CODE>dump-functions ()</CODE>
-<DD><A NAME="IDX172"></A>
+<DD><A NAME="IDX177"></A>
Print all of the functions and their key bindings to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX173"></A>
+<A NAME="IDX178"></A>
<DT><CODE>dump-variables ()</CODE>
-<DD><A NAME="IDX174"></A>
+<DD><A NAME="IDX179"></A>
Print all of the settable variables and their values to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX175"></A>
+<A NAME="IDX180"></A>
<DT><CODE>dump-macros ()</CODE>
-<DD><A NAME="IDX176"></A>
+<DD><A NAME="IDX181"></A>
Print all of the Readline key sequences bound to macros and the
strings they output. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX177"></A>
+<A NAME="IDX182"></A>
<DT><CODE>emacs-editing-mode (C-e)</CODE>
-<DD><A NAME="IDX178"></A>
+<DD><A NAME="IDX183"></A>
When in <CODE>vi</CODE> command mode, this causes a switch to <CODE>emacs</CODE>
editing mode.
<P>
-<A NAME="IDX179"></A>
+<A NAME="IDX184"></A>
<DT><CODE>vi-editing-mode (M-C-j)</CODE>
-<DD><A NAME="IDX180"></A>
+<DD><A NAME="IDX185"></A>
When in <CODE>emacs</CODE> editing mode, this causes a switch to <CODE>vi</CODE>
editing mode.
<P>
@@ -2013,12 +2061,12 @@ so forth.
<P>
<center>
- Version 1.2, November 2002
+ Version 1.3, 3 November 2008
</center>
</P><P>
-<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+<TABLE><tr><td>&nbsp;</td><td class=display><pre style="font-family: serif">Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+<A HREF="http://fsf.org/">http://fsf.org/</A>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -2136,6 +2184,10 @@ the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
</P><P>
+The "publisher" means any person or entity that distributes copies
+of the Document to the public.
+</P><P>
+
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
@@ -2449,13 +2501,33 @@ title.
TERMINATION
<P>
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+</P><P>
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+</P><P>
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+</P><P>
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
</P><P>
<LI>
@@ -2476,7 +2548,49 @@ following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+</P><P>
+
+<LI>
+RELICENSING
+<P>
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+</P><P>
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+</P><P>
+
+"Incorporate" means to publish or republish a Document, in whole or
+in part, as part of another Document.
+</P><P>
+
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+</P><P>
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+</P><P>
+
</OL>
<P>
@@ -2492,7 +2606,7 @@ license notices just after the title page:
<TABLE><tr><td>&nbsp;</td><td class=smallexample><FONT SIZE=-1><pre> Copyright (C) <VAR>year</VAR> <VAR>your name</VAR>.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
@@ -2609,7 +2723,7 @@ to permit their use in free software.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="rluserman.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>January, 6 2009</I>
+This document was generated by <I>Chet Ramey</I> on <I>October, 12 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -2771,7 +2885,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>Chet Ramey</I> on <I>January, 6 2009</I>
+by <I>Chet Ramey</I> on <I>October, 12 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
diff --git a/doc/rluserman.info b/doc/rluserman.info
index 3e5a3ba..49f2a1e 100644
--- a/doc/rluserman.info
+++ b/doc/rluserman.info
@@ -1,8 +1,8 @@
This is rluserman.info, produced by makeinfo version 4.13 from
-/Users/chet/src/bash/readline-src/doc/rluserman.texi.
+/usr/src/local/chet/src/bash/readline-src/doc/rluserman.texi.
This manual describes the end user interface of the GNU Readline Library
-(version 6.0, 28 October 2008), a library which aids in the consistency
+(version 6.1, 9 October 2009), a library which aids in the consistency
of user interface across discrete programs which provide a command line
interface.
@@ -14,7 +14,7 @@ preserved on all copies.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover texts
being "A GNU Manual", and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
@@ -438,11 +438,22 @@ Variable Settings
editing mode, where the keystrokes are most similar to Emacs.
This variable can be set to either `emacs' or `vi'.
+ `echo-control-characters'
+ When set to `on', on operating systems that indicate they
+ support it, readline echoes a character corresponding to a
+ signal generated from the keyboard. The default is `on'.
+
`enable-keypad'
When set to `on', Readline will try to enable the application
keypad when it is called. Some systems need this to enable
the arrow keys. The default is `off'.
+ `enable-meta-key'
+ When set to `on', Readline will try to enable any meta
+ modifier key the terminal claims to support when it is
+ called. On many terminals, the meta key is used to send
+ eight-bit characters. The default is `on'.
+
`expand-tilde'
If set to `on', tilde expansion is performed when Readline
attempts word completion. The default is `off'.
@@ -545,6 +556,19 @@ Variable Settings
be listed immediately instead of ringing the bell. The
default value is `off'.
+ `skip-completed-text'
+ If set to `on', this alters the default completion behavior
+ when inserting a single match into the line. It's only
+ active when performing completion in the middle of a word.
+ If enabled, readline does not insert characters from the
+ completion that match characters after point in the word
+ being completed, so portions of the word following the cursor
+ are not duplicated. For instance, if this is enabled,
+ attempting completion when the cursor is after the `e' in
+ `Makefile' will result in `Makefile' rather than
+ `Makefilefile', assuming there is a single possible
+ completion. The default value is `off'.
+
`visible-stats'
If set to `on', a character denoting a file's type is
appended to the filename when listing possible completions.
@@ -1159,6 +1183,11 @@ File: rluserman.info, Node: Commands For Completion, Next: Keyboard Macros, P
command is intended to be bound to <TAB>, but is unbound by
default.
+`menu-complete-backward ()'
+ Identical to `menu-complete', but moves backward through the list
+ of possible completions, as if `menu-complete' had been given a
+ negative argument.
+
`delete-char-or-list ()'
Deletes the character under the cursor if not at the beginning or
end of the line (like `delete-char'). If at the end of the line,
@@ -1235,6 +1264,15 @@ File: rluserman.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up
of that character. A negative count searches for subsequent
occurrences.
+`skip-csi-sequence ()'
+ Read enough characters to consume a multi-key sequence such as
+ those defined for keys like Home and End. Such sequences begin
+ with a Control Sequence Indicator (CSI), usually ESC-[. If this
+ sequence is bound to "\e[", keys producing such sequences will
+ have no effect unless explicitly bound to a readline command,
+ instead of inserting stray characters into the editing buffer.
+ This is unbound by default, but usually bound to ESC-[.
+
`insert-comment (M-#)'
Without a numeric argument, the value of the `comment-begin'
variable is inserted at the beginning of the current line. If a
@@ -1300,10 +1338,10 @@ File: rluserman.info, Node: GNU Free Documentation License, Prev: Command Line
Appendix A GNU Free Documentation License
*****************************************
- Version 1.2, November 2002
+ Version 1.3, 3 November 2008
- Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ `http://fsf.org/'
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -1405,6 +1443,9 @@ Appendix A GNU Free Documentation License
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
+ The "publisher" means any person or entity that distributes copies
+ of the Document to the public.
+
A section "Entitled XYZ" means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
@@ -1670,12 +1711,29 @@ Appendix A GNU Free Documentation License
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
- except as expressly provided for under this License. Any other
- attempt to copy, modify, sublicense or distribute the Document is
- void, and will automatically terminate your rights under this
- License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense, or distribute it is void,
+ and will automatically terminate your rights under this License.
+
+ However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly
+ and finally terminates your license, and (b) permanently, if the
+ copyright holder fails to notify you of the violation by some
+ reasonable means prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from
+ that copyright holder, and you cure the violation prior to 30 days
+ after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate
+ the licenses of parties who have received copies or rights from
+ you under this License. If your rights have been terminated and
+ not permanently reinstated, receipt of a copy of some or all of
+ the same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
@@ -1693,7 +1751,41 @@ Appendix A GNU Free Documentation License
published (not as a draft) by the Free Software Foundation. If
the Document does not specify a version number of this License,
you may choose any version ever published (not as a draft) by the
- Free Software Foundation.
+ Free Software Foundation. If the Document specifies that a proxy
+ can decide which future versions of this License can be used, that
+ proxy's public statement of acceptance of a version permanently
+ authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ World Wide Web server that publishes copyrightable works and also
+ provides prominent facilities for anybody to edit those works. A
+ public wiki that anybody can edit is an example of such a server.
+ A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+ site means any set of copyrightable works thus published on the MMC
+ site.
+
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ license published by Creative Commons Corporation, a not-for-profit
+ corporation with a principal place of business in San Francisco,
+ California, as well as future copyleft versions of that license
+ published by that same organization.
+
+ "Incorporate" means to publish or republish a Document, in whole or
+ in part, as part of another Document.
+
+ An MMC is "eligible for relicensing" if it is licensed under this
+ License, and if all works that were first published under this
+ License somewhere other than this MMC, and subsequently
+ incorporated in whole or in part into the MMC, (1) had no cover
+ texts or invariant sections, and (2) were thus incorporated prior
+ to November 1, 2008.
+
+ The operator of an MMC Site may republish an MMC contained in the
+ site under CC-BY-SA on the same site at any time before August 1,
+ 2009, provided the MMC is eligible for relicensing.
+
ADDENDUM: How to use this License for your documents
====================================================
@@ -1704,7 +1796,7 @@ notices just after the title page:
Copyright (C) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
@@ -1729,29 +1821,29 @@ permit their use in free software.

Tag Table:
-Node: Top1364
-Node: Command Line Editing1818
-Node: Introduction and Notation2472
-Node: Readline Interaction4096
-Node: Readline Bare Essentials5289
-Node: Readline Movement Commands7080
-Node: Readline Killing Commands8047
-Node: Readline Arguments9969
-Node: Searching11015
-Node: Readline Init File13168
-Node: Readline Init File Syntax14323
-Node: Conditional Init Constructs27277
-Node: Sample Init File29812
-Node: Bindable Readline Commands32931
-Node: Commands For Moving33990
-Node: Commands For History34853
-Node: Commands For Text37979
-Node: Commands For Killing40707
-Node: Numeric Arguments42851
-Node: Commands For Completion43992
-Node: Keyboard Macros45538
-Node: Miscellaneous Commands46111
-Node: Readline vi Mode49474
-Node: GNU Free Documentation License50395
+Node: Top1371
+Node: Command Line Editing1825
+Node: Introduction and Notation2479
+Node: Readline Interaction4103
+Node: Readline Bare Essentials5296
+Node: Readline Movement Commands7087
+Node: Readline Killing Commands8054
+Node: Readline Arguments9976
+Node: Searching11022
+Node: Readline Init File13175
+Node: Readline Init File Syntax14330
+Node: Conditional Init Constructs28537
+Node: Sample Init File31072
+Node: Bindable Readline Commands34191
+Node: Commands For Moving35250
+Node: Commands For History36113
+Node: Commands For Text39239
+Node: Commands For Killing41967
+Node: Numeric Arguments44111
+Node: Commands For Completion45252
+Node: Keyboard Macros46991
+Node: Miscellaneous Commands47564
+Node: Readline vi Mode51422
+Node: GNU Free Documentation License52343

End Tag Table
diff --git a/doc/rluserman.pdf b/doc/rluserman.pdf
index d517781..024cb7b 100644
--- a/doc/rluserman.pdf
+++ b/doc/rluserman.pdf
Binary files differ
diff --git a/doc/rluserman.ps b/doc/rluserman.ps
index 3172ae1..ed697ec 100644
--- a/doc/rluserman.ps
+++ b/doc/rluserman.ps
@@ -1,17 +1,17 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
%%Title: rluserman.dvi
-%%Pages: 29
+%%Pages: 30
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
-%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMBXTI10 CMTI10 CMCSC10
-%%+ CMSLTT10 CMSY9 CMR8 CMSL10 CMTT9
+%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSY10 CMMI12 CMMI10 CMCSC10
+%%+ CMSLTT10 CMTI10 CMSL10 CMTT9
%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o rluserman.ps rluserman.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2009.01.06:1158
+%DVIPSSource: TeX output 2009.10.12:1034
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -367,7 +367,7 @@ dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 49 /one put
-dup 50 /two put
+dup 51 /three put
dup 59 /semicolon put
dup 65 /A put
dup 66 /B put
@@ -459,190 +459,768 @@ BA4DC18D4494D7E765A4CE24E17125FCBECA981F4C2CB4A360B6441A6DB73363
2EE643CB14B64AD6FC75125203E17826E81F352F5AAA616505D10F7F123EF3E3
8BC7C41FDE75F110629B87ECC42A3CF2A13308A737D994DBDF999E7496F9B78D
01BC7889B7BCC46A95887C4C5C34A2BF484068B2B5A40FB408FA8A2F6BE6C3E4
-672116535B37825FDDE04CB8B873D9C022955F4AD86D33E836264BD2B918E053
-077B62508B1E19989B0F34364074CA7185651F8B4A09EFB08E1EAE76D1A7704A
-CD2F19AF79339F10290C2CDD0D22E434D10B94911E89AE5A6D1EC446A6E10158
-B94ADF5D2256345D3E12FC412EB146A3FA8D1057C2FDF8936ACF6CAB616DBCD8
-7F68597110890808D8A7B8B0DB4EF58D94CE66621E6AE94F767FBB379A8C1FC7
-BB3F5CEDA10DA42A7426629946D82358B47E112F8DC90390C0022058250322FE
-01381959BCD7C9F82D72E117DD401194B71956E6FB62D6EF6A6E3E99734014E9
-718714505F1C323A5AEECC3D8A4BD0DC8087B05B2359359BDE1A404FB222BC2B
-7A2611E334F40434920D29EDE60A8CCB855B119095EE13D4F466AC051FC9AAFA
-0EEFB05894E81302698CB995B05DB1457FC4429C7B007F1F68C316F825BBEC7E
-D26D8F263145FF277F33B0F0A233E979DC55E3716EB74CE4A8AF17C95F898AD7
-FA00B3078DF01971B86BA81B12C34DB36DD717715636FBF4B0C3A98627637832
-F2656939434A36884CB5B87BF60BB1D33BBCFF921A453B951E554591968CF8B6
-7CF75C2074E99E3E74A617B349627F87149A39AEA2667C6BCA08FD8167FE20DC
-558D5421F0FF41DD537FDC57F927370DC9ACFE931F25C88194565242013F50A4
-936A04B07476B1C95641CDF0803AA856C03E75EF26AEAB5297DCE8E1F208FC5D
-B67F71B1385557B46E871E5B80C325F7B6C794469E8406BFDF7D062E8B997BC6
-B92CAD7DDD04237DFD5486E365DA9482291FBA96476C2788AD7F22C041E541D9
-970530FD20AA6DFDD5DE2906D086377099DBA4D248B16BB210F415B9BFC19573
-8B4C4F0595CD6FBC4E56A0048BCDC7E89EFEECB9336847FAB9CDBD4C63DFE80E
-4EFD0D137420220645580D04AC8B6AF55BE073E557BFD5539C727C5FFB608C24
-2FDBB2668141B864074B52A94ABCDFFA1BE05F0BA690BA42FD08302B2293D3B6
-4323B03DF9D140B5C81FC4330BD45738562BB2E1E0D5C9F2588EE6BD7EF1CBCB
-6E2847E0EFA21E81B2A25A683B0547DE37AA98BB7D77252496738BD7DF46C732
-805BD61643B31BCEB0338BAC90AC0E9F33EC31DD606BB6DDE8A0262E8BD9975C
-3F69DE26DD0180BDEB0AEFBD02A7065432B7EAA4B8F44570A42D47932F2E4E69
-47FFB773E8DB38845002A35243055A7ACDDD444950786B2F8D3D846B2F21E029
-88FECCF0D29C2343C8D2BBF09228144FE75885C45C1CC2DBC39C17690541F268
-749D0FD2CC5F6DBEF25F5C650DBDADB4D94FAA7F6DEDD4CCFC65FF115915C565
-8E2D6900F67A33E21AB6B1205355C17307033433B608B0C59B02A2D159D7D640
-E84FE1888929C108BF5A8EAF5B097E9B68A0D7249E6AF02E6EEE19504DBB8AA3
-DDAD7267F4C658875E484EA03E24A9E22AF8A202DF0A2B7F1DF90E3A4BB3E9CB
-D92F5B829FE88A8F1FA809A7BEA85D4915E0B148F0B7528EB103CF60C8D5BF53
-8166666637E869CC89C2263CC907DDFA754BBB0E88E85CFD5DC22C94AE4E07F1
-75FE51AAB02173C813149A6E3EC7A945D0EE44AD13500CC9E95F994EE84EA4C3
-66E32C90288C7FF17DB07A4390F62060539B4FAEC6FA2EB1EEF37CA3147C70E6
-23334C31F11621B2FCB989F49CA4EF99FB3BEE46269C4AC0B0DF38BF2BBE406C
-B8FB866A8EF77549D0AF03E506014F6C5638234110044A8CDD9AD95F32D4F188
-6CEB563B2579316097A2322CD5C1B53C9353A9883AB6B5605714BD32CFD06C58
-AF805671082037A0F1A9B60FAF8B019563ED7F4EEB43D4C9F0DD2F0579DAE7C7
-E0AEEA4A6E82F016D2760C8C52969333A0897457364815014A8DCC5130AE239D
-D222DBF08605B5FF6F3AA2E5ABAEE8D83C06F2F554ABA6CF1E8B1C32AB3BFA9D
-C4BA7E94DBB28D580E9AEB12A7C44B2D92677A857C726EE9A104BAEC8BF31CD1
-9E16E35284837AA729B3F33D2F2796C641C3EEA45B9A7B55907650F73C1B0569
-903596F1E38909D4693D73A51A7AF674FF7E054C4EC4B2FAE8714ACE3B1D45C5
-7F38CA444C753D8EEA1599125E36FEC9C98A1EF3C7F79FCC249228D176BB5A14
-169A79ED3CFE76B37C363736E085E963F7094E83B19C8D311E6CCE8B42854E13
-11171AADC38B1CEBD6F60CC24C14EDFAC5E85F923B6FE66EEBA89D328504F512
-DA21686DE738CD3BDABFDC749D6F1293382C559566B5F17883144D7792D9E537
-F223067E95862EF03FB9422C0EB90AD1A92FD7EB633B5BDB580CF6BEB9A8D08A
-1272160934EE2B9E51E9A1A6D4FD9AE946D21E9FE7991C966F91B74994A8746B
-AFE34642CCB1B32187B8BEAF6E3ACFE324A367E7D3DA9678FBB2F0D608B7D498
-32B003D4B64A544BD7E549804266ED89D31021A5636B7F479924446E5014C052
-DDC648CEC64CB0E35348A445CB6E0A6D28E58B93972B01F18D213B9B73ADEAF1
-18CD31B3E2467D4CA65DBDA1A3BA92A2089990DE5224E35464606FAAEDCAC303
-E7E5FCD78CA15E8B0EA13A445C24811A9FD37AA854B81E6A536A9F4FFAE0C1C6
-7F7123A6BA0AD4A6DB880EDBC0C0827433826FDD3DD6967F197484F605A97B5A
-AFD236CA0996020A580DE7DFB71A8B1A046BB9287E82FEED2B40A69F60BD7C01
-12ACC976ED18CC315B1ADE4271271C96679A18DE3244F8CEF43FD8D0BB06028E
-5F007FEC31F2188CB98E29D243FBB182C5DB35F7609762C74E8BB66B7CCFD846
-6636989D2DC29ADD6C559E54EE9B1F15B944070E5E6500CFA1D1C3AFDB329A0C
-C95F565C439B1BE06436B9105EDBBF82AFE991FD456288ACCA35CE1ED930F2F4
-26976A2B8EAC3BB69222D25D13A077F65A1406DE955A842C976826B29398E078
-A9A896DC9FD9A1FDDBDB51F5F00A77D01B827A9CD1CCB81D358218C8BBB14259
-CF7A2D1520342BA34CC967A7DA2AAC7C64D6944A2462981D12AA0C3E6F74CC62
-443C03B799735ED747088BD2E5E51D31A3691C709000B7C131546418C4159AB8
-BAB4C13B24391FE6A573EA07C344FE64E03D12D35F991309FB56DDC12B3405A1
-187A8729ED8E52D4DD7796C90F024A20722698B6C3BB05FAF2C9A3337F206E2B
-E4FFCA57B8CCA2CF867AE0F9DF70226CAAB27C984AE342FD66D644C0423F6446
-9DA63F726A0398B465468A24A25FF742604A6DA47FEC0C665B5C1B5DA830295A
-442CFC8AD5784CD77209272203C21A33BE0505E5C0A73109F44F4011458196FE
-645B5ECDEE8101ECD08413036AA4CCA495FDE60FF3ECFE458ACD0D2E676A9E14
-F1FE485370EABEEDB0E963874291064107E9356FF9ADE67D0EAE96890B9990E3
-ECD36CB7A002F4AE56C772421396E267A83847596105C7A44CFD63F685098A98
-EBB582D5A709FE04B00A7B391865F69143217C0BA450697CA2ACECB98D325F21
-C54BF4CE5C46A552BDC899ACAFD41393F4FF02B1FA52463566957EDD7087E7C3
-8A5F2634200B2787A20170F7CBC3D9DBA2CC7FB9DE07F5A185FAAF21C82E8286
-BF376D348DC0A23FF953690CA25795781817B3129CE3EC01E6696BC93EB37D38
-0CF92C9B1762F849EFE96578318F46C0AE96E9BB2EC9AEC24095A1FDF34ADF4B
-C04F13EED27A0AF8F4CAEA7CE61AF2FD165CAA2110015D4EA46CE4F2EA795C77
-BA7F3FE7B1CA253BEFEF75EC71E529D4B11967D2948D0AED058AB8E3A5C59BED
-627E102A8F4B59396833CA7B1CA154DD8EE4D657B561F668BE5783EEAD7C31AE
-73A42A84F483E5B999DE1B7A627C3FC57A48AB6A619BC1895EA91BC48F1A649E
-A01FA8E0A763181D05CF487EA044635F03DCBBF6ACBD17E5C836B276825E6AFE
-4F84FD8A37255BB4ED193662D900A06CD9B00834F251F38C5920A5286B08310F
-59F98D4E967760134DBA30663B661ECCD2CC94B73CEFAD0BFD88E270D0C00109
-AF4F73B0A629107BC951DB46695B32FD4F2A88657F024682E1B48933784A805B
-A1E2606DDB7C037CDE81C4E9CC78EC6174F94A8A709352A77245FFEF77D25127
-028ECCBEDAD43890BB93BC0E50A1974CF341A6C2B5B8DA3A2904DB66060265BD
-B76897F8074353B9B4FFAA62A063352B05C89948473B7937B009D38356F6CFFB
-2F248CD61E92C32912AD133033497C7B31B282939B84DC896546FB78A5B9E265
-127E0E558E0E9BAFE59DE05BFB7A8228F680443B4D6BB12183CE70FD61774D24
-C11D787FD82B0CBDBC152F1BC51096A0C039B9AFFAE1129C0FFF8FC6BCE2172E
-8F3BA32C1D1EEB1771824DC03242474CB5F1354CD2FF980C009BF41204CB5AD8
-F3C2D7A88E219CC92BAE8DD464A445C8A7EC22B309E36B14E55A487EF9A39C30
-543ED96C21E86B16A6B82B8E0D3A6C95A1E6DEA2B81E756311ED895DE5F66352
-F771E6B3DBFEAFEEB11CBFE70D6ABDBE7A3882ED3A3E4D71A96010EE4975CED1
-F5D59C749B71AD76F75B7D1C652B4EF2FE348FC0CB3012AC63FC0A9EFA6A4BB8
-354A6CDE0C3289F6AEAB6F704DB7DE9FA74C2C640AD4435E23F75C719D3901C5
-D882265847C6BDC085B96C9CE7115B601DE61926F2C57EAC3D66192214E85AB7
-5F582F475D40E1AEDE50080DF68A6C08F856DBA303FCDADFE2C1C1CE1FC47A6F
-602EB0CB950D92AB2507B9F1E0C34A88AC5444CF4D2A67ECCEA80D11D6FDF087
-B7EC6E38981AA47EFE6D4AEA5EE85F0972E1A73E33670075C391D0D53324C3AF
-9464D44A29379B2DF734527A0BAC7E9A99CDCDE1BF17008F550AA77C4C6E62C1
-D11B88AEBDB2515ACE094227103C12F96BAF7CFE24722FC9F31E22A856934A5D
-704C868CDB64192690549AEB22599034FED2AA24A5EFD211547C033F46DE72A4
-48FBF3FF10DDF6E7479492C6F2F6AE8BA099706255F9C8CAF643FAD38CA50B58
-E1939EBC0C5646F07EE886C5C944B455F68C2E180F1D710096F1DEE3F3744248
-9EDAE22B8CA17FDFB290E651A2701568E89B8CDB31EA8AABAEC0902C4CBE6495
-E08D9DF60B708B03A06D616CAF22D3D57447096614AA86B4C658ADE36298D882
-F049733E2FBC90D231D7577D26D7191ABD22E1638726182BD65A592C53C87966
-44BB12CCCE5C725142A79E5238D9C66BCB576C17F2455845B0707020B6F7605C
-BDEAC1065CDFEB4F38A3091BFFC7A9FFE8F045D7FA929EC4C50235B8C54DC2CE
-BCD3C02FAAB0590804FB27DB9EC1BDB36B650C73F47FC931391B9022EFAFFB0C
-24011BC101D4D1C24F65C93FBBBCC40EECFF18958917AD7D9206E9101EE5BC42
-57935BFADA884F7BD68356C640E08EC8D919B600EA8ADB39B52437F3432308DB
-3660076F7718520DC43E4F468D14FC80DE47604BBD60DBD2E61A08EF0BAA5D04
-DC3153AEE166AE8AD0CDBF07ADFA16CE542F014E72556928E0A0C54407F1F9F9
-903B0A4C9DF49CC2D3C0B63E067C208412AA95E91714A40AF7A164F15A61AFBD
-56D389A455B8FDCBB845C1D2256BF78B9A5EC6C72A86186166F2F11A1D60BEFF
-C3D62A39CF841E1C386FFD20B2A07B1C677FF21D757E6A84039FBA4D8AD1F403
-C5AAFEF35E73F22F886D6E6477D1DDB779BF4E1C9748E7EC54E933A38E973499
-48B01E95A95C47024F541BFE55C474F4928E7907B04C0F02937D7E43FF899673
-B6139A251BA976D8C3DDFCE8F765692AD10EA49F0B0ADF74D32289138BAA0AAD
-26CFF512EA9AA4FC5BF33A30B45C0AD2C965DE7B2EAA463BB6959D0BB22CC72C
-F9151C0347016164F7462C4AA8306DF6CFD595A8981B8A8F4FA7C7D47ABBA083
-CB6C9389BFCA410727C7E5AD03501D1EB4E597F1E7D322FD4409CFE1684A88F1
-DE9A665889D8FF7ACBE38DB9A0E50DDF0DA896B8AB4E0D6E9B34E27AFF82FF90
-959CF474A820F5AAC0A6FEBB8458A257D7FF5F681BEF169CD19BDC5784178A8A
-12584EFE77035842D21B3C2E8949C56A5C1A9819C686D55288CC204E8EFBD615
-324E2A11755B27BF32177AAA70F4D01AA251DF804E40C6E0B1E9ECE846D03B85
-04466365BA5296784601323E37BA936745E4124DC4EA11DE9BCC91770ABEE465
-74057B938AF2E274C95E89F02C05FC31B1E2E30A71FCD4F80C2A0C0A7E534DD8
-DA59C06E68B43A2ABAF24018FCB6C1B31F50D8E91F940B75723F4CFBB366AC50
-DCA82E5653ACC4E5A7EDD686F890918274A106F360EB87BCC27C2D835416E2B4
-CCE5E160F086EF17D94143024E11B909658DFD541DD5AB7D6564695DC73E612B
-81A673F3FEF09E230861D9D69A6F57F1608FF3018F36DA3550EB26D3C682F6D2
-A79DD5D61AE3CC93B444ECDAD5B7EA65123FA440F33B571ABE86FB1B7862A78C
-A4F2468D18EE362665B727070918802C8EA3768DCBE084ACEE8EC46C6219C600
-587B951E654593A02A55BE2BA54A74984B75570A816E3BE8AF9FBEA0636966FF
-21A43F97BD9D992E505EF289B36B0B735B99C9346BB2D9B0E0A8DB534232E909
-5ACFA7947CB51377ACADBE38FD67128BD05664F06A1D5E695C9A8D55E63F8655
-23FF5621368040388F47269519F98EA63F09766B356085747B30DBE70923983A
-87AE3E85BEC8E286352E33D2D0C628E42040E3873DE3ACDA3623E8E6022494BB
-746DCE68EAE2CA088DF76809E56AD22762D565D2E6D73E94210DD1A6B764314D
-EDF8316156746283C7C65A1F18ACC4ECDD3F8B288D4D668F103C81CAF8E5ACCC
-01AE44593582DC4FE623006D2D289CC2ACD59D794A8A4184C031D2CD79743B52
-D25082FC542BCAF7A14AFBE6F8B08171C074B06AF9CE9D854B300CBB44317B5B
-2F890D642E16ABE144EE8FC96A00579C3D205E3E67250D9D97E9284396443030
-CAF310778C67EFAEF3D47436E697865C18D6D1B0B5A0D0F46D6DBF676A7DF0E0
-C6FD35C376A855DF52B51E82021C681F47BDD6A34973D4BDDB718FC43F16E1EA
-0897B49D97B6F90075BF28EA0844A4E7FA10170CEBCCA20237DFBE1E071530BE
-F6FD83FF046C465575CB793CD5F632A2836E66799CFB786700D1260C65F7447F
-42B7CD141245B723970942C0FB3D9D351BC8E06438A0811140C6CC0A3F093FD0
-85819BD0C648D8EEB4D3AEF31936A85C7CC5C975D954C02A7703EFF0A3F63A0B
-118332CD91E706594A9A44E50504AEF5E71F7733728A3CFE399B0E3B14315330
-F929DC0B23CFFE39EC90E45D4F75A5ADC691814140AFF8CA420C5A5B6EF58E55
-322943C976319B16F835D8018B77324BCFC00F5317F14C3C695F4E653824306F
-CC159B9993BE887428ED0DB7F6471226293D13227538AAD9F761361CE9218A2E
-0961425B97CE18217C0DA298A96ADA6460DEC77961C853700C9FAB6A2932578F
-69234DC3930E401CB7CCC9AA0256835EC28856B92C728D0CD8FD8F357EB69FD2
-28CEF8415C7E33375C183B6233B363723F63000243EDDBEAFD00E64BBDBBE515
-422F368B229170DA37D60D3E3DC2AAF8790C922F95B6DD2704FDBC7781099ABC
-C46C590EA1D80F718C030A68F94B544916B3B41078077E5DDBDAB5D9ABAF1E8A
-602AE5ADECBAE6438B58DBEB3F1C7A5820F6162DB79E650BFF1AAA0BA5EDB8FD
-DD620A6B43FA34B23AA86ED30416D5AE8849EF2FD85D2FD65D40FA41B401A786
-09CE2907D1B4E6859E363BDA759A6614DE124BD0416A23F3939EB0958E7F96CC
-316AE79DF7BE418277815F39DDE41B62BDBD3BD411CADE04073354790A17DF44
-E83A9D8D25D6739E11481A89E0551C383DFE28AC7370B8382DCC0DCCC96B11A6
-A4B418CA0ED782C21E8A329C8C29BF746F259BD551B7C22236DA6FD78367B51D
-2E21471B89C57E910D2697AF88EEE54BC29132A9F3D6FBE34ABD72B65F8E452C
-AD3BDE991FB60607214EB8884E04AFEB781272BE8E8443106004F7FC46C45176
-86FC103F6C0F80DD7145F01F3CAF6E64AC12F089CAEA744E640CF8816614DDD5
-647D94B97C6996E3A0206FF03011769973A157CA10FA3231747F497D822B6295
-F5D76144AB7CFCA4E206D0C2FEE03BB8263C044886790AB91C57A386317DD25E
-7B992E1A4C56BB0BE1759C5261D91FDDE70EFD84CE3864988DB641F6359460EE
-E32175EAEB08B0EAE04E4547FB5097EB0ED36B938953BD5F5DB215F7539E800E
-25FA5B4DC4A8A618C4AA896ED46523F6D6876EBC783C9DC00A817BC857B762E4
-B5BDCA5764CA6DEA14E31C22269A3241E8033591AF7DC82BAC722B3580D4B6A6
-5250A7C5DFBB2D677A0C15278C93E480210504FD17FBC4A4F49243F7C94CDCBB
-DE8EEE03B699CDB33FB45938BFBC6FE6D04D8CAA88FDF0274AF9AE69DF4BDF5A
-5D458CA363E064D6ECBDC346CB9B22D88B85155FD636B43CB5844003DC168E7A
-AD1CF958D74C256091BB3492FD0563FA123BD9EA61E5483DEDA7AB76B0198027
-389D271264C57148F86D07B8284FE00CE9A61C7CAEA15B7255
+672116535B37825FDDE04CB8B873D9C022955F4AD86D33E836264BD2B907A86E
+48647DB50B10327E47259BF9262D2573BB34DC48A9D4731E58CB3617D02004ED
+5ACF344C15FF73AD804A871DAF364E51C8907FA058501B08FDD944077C49E44B
+8BAB387A220228E5239CAD4856FF52BB67F4FE3916890521F62C9A015162A0E6
+1D9333C4307B1AA0E049783917E2A8E59F47C80861EAC6C277835BDCE9A2AD9D
+8F3CA78D928D70843707E4CEA121E2AB97841F9184C7AB1D8D3EEC941FBF1213
+9A03AA68069161FFE31C367F80FE36625EC4524CAC0FDC8647558A1303DFCDE7
+B82D289ACEEDDA1227ADA57600B53C1B8C35D3F011B4B15680C2956E91E5604E
+FD866E976DC441EE935D223AE58A57E5AD0F563FCE23DB6D5E03CB0924AF8487
+7A78A88D97581E4F038690F8FE2095C2641CEDE7660EB009B7C2D1A21E425EF0
+CAA97367F222A0E230787CC239F0288E3CE2E97E88B316F57B0238C7E84A84DF
+A636A78892873B8FEB525049AEF96A04F90FDEA521DAA5315FE6090F40F34B7F
+EC8BAECC2790D7FC35EAA4034F4E95ACDA31608C24075C658750CFA390839E34
+1EA429EE352A5A77DC57AD3467E5704FA3568F1021FB4A0587B16284C3CA9918
+E342156D8675ABBC9A18865926748EE6ED03858C53F4CF5F1D08EE1C43E194CA
+4A0DFF7484F620EEAB133D8CEA80A1CEA837B7194FD9964E9C38FB3A4B41593B
+30D6B59B1A0CE6775E9A416D97987BEB3930C88E9AA25119BE8DA9F400A6C096
+ABFEF4732C562FB06C963154CE19580639CC09450196616EDB99B6B7ACA1200B
+5093FB118CD91AAC60410D522BF73D60BE20C8518A2D242576CDAC5B0FE3E337
+AFE60C493DF2DE758B10A4CA8128CB077C4E73329CC1F3BA0F2E2F2396C19384
+0C2B81621D4712A7BB68EC6163DDD4466BA03A7EC26E54881C05036CB957FD23
+57BF528E13370217A4889F3BADE81CC3658CB9EB356DE450887761DD7BB19C59
+31F8C46886EED761CC1E950086FE1A7BC469FF88780B218F2202A4F1FE006743
+4A5BCCA6D1EB301544E55172485105CF04E05E5A892D2EC0D26B4C1C65162ACD
+D0E1E922DE12FB4EE9A1C285F873E0210C756557568BA77FE33770B59197ADCE
+ADA771B078D746F5E2E096E3DA6E7FB9659819789AF94FA9A8133940EC2AAC28
+AE8DF11DEB67F5E28A8EDB6700E9D2E39F90C1975A2BD58B67BC3C64CC9CD71C
+A0CDAE7E535A207F87523C6B204BB480BC34E9E0CF52C79B6F5D0CAFBA30576A
+523D331EEABCBBFAD18B979696C7210BD5B4AE34BB106D7C9A2A84D95B22885D
+18542BFA65D9791DB2A84DFE88251BDB7C907C373B3C2E116ECB8EC2B7FDBB12
+4E40313348A394A58589C1E23C66A9024BF2057719A198D1F0FF01929FB15C46
+DDAF40B4DCF2F16BE69532711C49A0B670442C0FE53C404703610369C3E6B6C7
+22AEE42C0D314AAA1E0EA01594F9F8694C5A16F44476C42C6E07307BD9940490
+E89A6E30111B2BC725C51F5917885D5375F0A4B4F32720A6F364A6AE68B55B84
+35CA3F4215DB779C15EFD82D21129399F699F5815BA34A139A76F5EFA9774820
+51379E30298252B6CD7DFCB140E9AED951C6A527A3E59923F725A32AB2FADA37
+25AAE28C4F0FA92538D60ED5D26939090EF43A89A70104C5D6C7A26CB9E070D8
+C2F2C1BDD073814033B5325532DEEAA46FED75CE884080F4DBAD326DC98309CA
+81589FF76AC06C0FB447132349DB7886966F674B1DC3FAB46BC1BC8D4CC3D32E
+1D7A6F1EA0E77E65261552F0087FFF05A68049420D02A6C005FABCF9C975867E
+B8335E379DD474540EC81EFD7953A432E5932EC6EFEC3675CEE49848BE80618A
+A45477C9237F4F2DA7D37C6777EABBAF1B1C53DE47C4536D603E905E6C0A7E0E
+E30E854E2DA543976B97907DF179223D91D0E53094A9664C721E593958A3FDBB
+A91F79F4AACAE75408D31333293CFDE40332CBBEB470FA9CA803FDEF80D5FBE5
+8DF12584626DC7F4C1AC5B58BA2070CC29E7292324B111AA158EDC483FBD675F
+135A04191543C6CF33449EC04458A4A07B72FD2D3530B3DAD847B6F1627C2A69
+DC68BA7143D2A614574F17EC31D46326F85677F5DA9A6BEC19167EBB7FBFA0D0
+495669797774D6532FAAC83E1D587885F11F947689C745284DBB2AAA34E7E9E2
+2024A5C2BE3973DB40C1FA23352300ABDE8AC895555A432F3C068EB24D16797D
+CD48C62C308015C3BEDE20231C2DEEA689EBC3B82933FAD0E0F44BE307027B23
+4338B870F04CDDA8CE8770E02B71186B6AB50490C1811F3FA178663BDC8FBC18
+C8BA28F090A60F04FA34AA13BCB2158560B2506A2A458984E9DDD7756B84A527
+B52A76E24B0440B1DAB33DAE996020C737B01976BBF32E9FF3AE69EFFD597841
+60FE04A632FD3023EF6F66D94FCD983D2B418DC31BDCA7ED38D89BB61C598824
+9B028A89A1AF9B3D5DF82FE4AC81AF89D7B3944CAB85FF3432050917403DAC0C
+0E66EE586A3E4714CCF623C865D54FAE1F943B1C8BF2DD7396806C22F8E1F7C8
+0B644A2FE78D6FA1DBEE7B5EDC9643565D0B435BF6867843A0AA2C530ED06BAC
+91E3612069C9E45760DB8D862ACE47856D74610F3FEA376CF2C841B8A55DDB4C
+C6A00428119023F900F1E61CE840425A3BFB31DACFC751065F3E8F50602C8DAD
+2B1E213810BF12F28870C97A14574AC1D0EF2A2FF21EBA2C62D113BECD741475
+8E226A77C0E9B52AA70CC8606A72CE70063C2DEF10FE37EAC6B553076A6A77D8
+46563F37009714CDC333A46E2A4FF4E4663546CE102B1DA7F673F3766F86D82A
+2FDA1B71D681A105CB35F48DE3159D34D00EE2F26519E6FC322022D82AE2262C
+6292B221E1F3CF1712702D5C46E1C379AD2DE59E14B905C8D933CDB400376578
+A7C8134FD801216231CCB286678214E036802260DCB46EC504F055CC23779C56
+EF6674A78092CB4F700DADBC3DF9F43009A2770B9AB98F1D4E5B15CD7A1024AE
+8E612E7A5C3C964A8A21B9EED14C035E673D0FAFA8D11172C216EC721F5AA841
+69851049D93C04977246A2D21FFB7EB6ACE1DE6366D202D05046DE2CDB3E0ED4
+231828154A202C43E63BA97313AAB34B1FB9DC40E8588E2ACB81700A03CF6CA9
+178B673A2A5AA0A6A25096DA0444FFBDF89FE56EE129B725A1251936AE79A715
+4829296422CB1EFEDBCD5D1A67C38EA209B8C4C86E669B3D9303AFE9A73AB5B4
+751FCB6E2EBD6E94E7D6D94F61DA1DBEBE7DB352341400BE02367A01618DFB09
+4635C3BE9A4DAC48E689C6AE09DE15BE92B9D9A9219FB25CA900D7D3710BFF63
+1D5392049F8BA435D4DCD77DFC998A02207F0DBB34780CE632E2FC0283D4DC17
+2EF91FAC1C1027DB0CCED0389D9AB0A20E4D9BAFA70EA2512BF7BA5D0FEC73EE
+DFD4EFDD8507E71D8664527E4B0DAF2033ECE1A2326E21439199A9938D792905
+E5A9B0AD4F79290172D8B20F817247DE6A9F2FD95CB4A4312895634BE440A07A
+406D7715F6C1DA42D17577B3F290DFBBE4001EBB1CFECADD3BB4CC93A7B539BC
+9DCFD8C66C78B6C4CFB1E9F4F8E37E82878F92DE67864AE93354E78F56D54DAD
+6B9DC4CB315BDDF5D032AFC7629E10C084506F7C22CE7CBDC8648A042551DDC5
+A391F65ABB6A890920DF87C71883FA1BAB6317B325AD967EB864640AC8A3C2C8
+E41D68614E058D1CEB140588C8C5BEE436B112E7FB82FBCE2BFF44DFEEC1B587
+E36E96EBBA14930703C5A5EA3D45FF0277C39F5CDB9C4AC3655A161A838FB08F
+B0C1AA048E23276A9CB4E8BC114A0E024FAC0BCCFBCA8EFD8A48A2783D7EB4A7
+272737ED343978D2E966DA09A923C93CBB3C3E7F451390430880036479C353D4
+D687759BD75F80DF78349DC28AADEA6FCCA01039431F83E4E864AB54E899D30A
+25ADB18891C4D7A679558127B8AC5273FFF1F28BB7E682EECEB208F0C07CEB1F
+AED0DB62784BC08DCFF99656DAD754BB352C3994DC46CF27BBD463C6CE1753F7
+93774336051D9F67D95F5315AA6A543BFFC708A75700E0FB6523E576724D4F56
+813C825EAF293DC28C007E4C58353A1D5DB1047DC1B1F1F9558B114D582ECE43
+77A4260E2462BB4494A73FD20F73561123A0BAC258FBD8FEB1028039BAEBC4AC
+0E6FC625A4EF0E22AF5726BD88DF2A0AB230411EB5C54980F8B79E80041F944D
+190940C2CF0A24DFAB250EF983DC58BCFCFF40B0EAA9303A0BD0D059B6D6F835
+A1E3AD4E45EAFF511985CBED8E6A46657BCBF149089AC659043D5A09F9993ADE
+81E9C35A5C047816649E521BEA5EDB2BBC66C31901861182C5F660B80CCA72D5
+3B22D840F62B21ECCD91246233AE25FC860919493B625EC6FC6FADDA3DACC9B5
+A71C5B26E3B1ECD0AD570979BC5EA35A91AB34481CC304A7200C322B8A2AEA42
+C418E91C658D78055F2FAF4B3D68F58A284E571759CCC7F00BE3474132D4D2FE
+43DF39479E3A9C4E09AA4A338F26D5C939BD7E1CA50B86413B8E32CE63800EAD
+58C7A77A1CB9E135C7BCF1626FFF76734C321EEBEE3B059216CDE6A6912EFF6C
+BA03D1EA3EAC1F2AFA3709DC9BCC558224A20716AE930015915A254F1ADBEAC1
+941476889919D64CA0D0E9F43EF614F115A2A93273E4E77AAF46027F525A3E7A
+17E1384AB4D41D75E9C0F22C398C6A95B39D3678C55205B38E189382EA03DC4C
+21E4F1245053D5CCA7BF2A1F9AF88E0CD7AC63DDCBE447B963B6DFFEAB65EDE5
+5128F8B555D8795B16FBC856208DA44A7F0F043817B21928E257F7DEB8C930A3
+821E7A3643B5B80DA2DB936A927158F5E7BEA32AF2A1EE9F47D1EB8D420E9A9E
+C57452ACFEC2718BC31B4F7B061C932F768091271235EF6B2EB65C96E4D1ECC2
+C67C543B1A117C2E34CCE57520CE6A69EE6F89B1AE177E06B63193AD1376F86B
+A59B9A385E63EDBDB2005FD2BFB6204FFEC21823E1C5E59F363C760FD3A63F36
+118FCB0FBF612204CED17C7E6C1A30671C591A29BE9F3363DF99657C7D68AFF4
+E0C3F759A361E4D88005FBFD72C464E4F84A773A581BA27C42D9C6BC3DEA42B4
+2F185340BB74CCBB65609965C5636F1D402DFAC5EDFF4B2461FD564E11D7A789
+D391B54B30B129953A4B4F0B34771983D05B271C29855F2E1394CACDCC37DDD6
+47F5AC6123765607F1870F11CFEE08D71FB7458DCEB1AC2D772108FB49D8E71E
+9606E4B5F4F84A939EC5DEBB2F9483BD28A3412EAFB80A7351220EEA9D08B664
+4007DA4F70F4312E4F386D91A556EF9E7747454656DCF8AA85DCCCCCD04BE5DA
+DFF58B6D73B7A1EE282737061DF380CFB0DDF9A3F2F0938183ACA9F1EBD638CF
+C01E67957A3251F3B8663084CA8DF3F794BF4845B2F6D533BF19440CAABD0DEE
+C4D219CA5D9ECD045518FC25C2F12106C065AACADBF33A04E54C8268E21EC9A7
+33B0A06C01F2938818BBFD085CD071B7A11DAB70DFCB7B9F460AC2FE36174768
+083749AF773AB8A67F9B58686A1B330474C7E700C7D48A71BFFD540D268B0623
+931732B4A8BCD1C6F6FE8FD8B856214A86A5A5711AAFCFEB9E33EB5D13BAABEA
+31CF678C67D32EFAB36319F893CC85C883E22C6080FBB45A10D7DA77E1435546
+A07225F78393688C0BF9A78DD8D8CD3504C72245440144DE12012F75564FACB7
+37F39E330C8FFBDC0BC42D455955EC7F4C28EAE43AD2C57C44ABA40EF5AEFB02
+9D9DC202D3B412BA082C9452BEA8269CD3495BF7377F341AE0215CB7257DD323
+92384A3AE9766B79756AB3D6E586B1CB2A630B806B92A272B5F205683160F1F5
+CE1AAB86C03152782EC5A8C8D3B4E2B3E83ACB3F73E8672491F045116A6E8E3B
+33C7C16586D2AB91F7D052CCF0459FD1F597C9EC4095B5D931ACD616E2A9EFBE
+9E19458E5AC84F4F3D17E3234DC4229A9AF4FE10108176C9BE30074EDF251281
+8E5EE83A94446A3099836B4174FBD357A75A19AA4B4C77CD5E95B16C5395C043
+33920CEBF2339B436EE1BB5DB191C7336AF977F1385BE15D27BEABA9053DB219
+65B21B2372A7F7BE670FDA8FDA32017EBD664D03391B580C39793A73A35DC39B
+8775B92FF05C4F4F6E6AC2F1424F5D93A99214A695D1BCE41E7033AB21C5E228
+9AAA7E581CE9A5C3EB2C978345A424696C74A1BB45B6497F7E9F6D405BAEDBC8
+438CE0A26FEC8683E7E4287A3FCA76D0E5BF872E61F2E39E60D02A8ACF14BC03
+7D59924D482421891ECD4DC904CA3A2B0AA4FA574E7F4D8D090EB424258E122C
+EADF399AEDF8189C984282CA9C18D18D282F27670BF95679BAF1EBE92C781D9F
+5739F16679F6853BE2ECC51D78C2A568E5FE066AE0AA98A823E5640F420F23FC
+3CEA1216760242268B9B4673DB11BB7AC0EC9D567C3B543DFE10C062BBB64C6D
+31EA298A98755CCD95107D6B50D477889123E711EA7390C57B3AC5C363BA84A7
+C7C44F0163D7C83539EAFB8C832778C94C53CCFE8CBEDB42F90A0099FA80EB52
+89EA9F32B6CA516470AA826880402A73739CB0E60F2A4812F3B50C40D026F8B6
+F048A37875B3FB4B08C9678DD48FA7852233CD13EC6687AC34D3FFCA66583F52
+26783757F06153F0E385C54C6BF9FD4300CFC1DFC211BCC8132877B4EC99718D
+B3274971E26953478AB2AC50750ECF31C05DD41575020DF1AB0757E714D1542A
+7065D4F034000F77F9917D87665866D842CC989C6F6A7D953EFAF442A2B6E28A
+29BEDC8A940F05DAF7CE8847E136B6596DB70DCA3DB0BA45F74B1616CAC12EBD
+6D0100371E80CA9EC19241C31C0ED657F7B6B089B99E0E551FFFA0FD4885FF65
+FFE878EB3F6A77D27271824ABD182CEA177ACB0FE8363AAAF7C86E2517F31263
+0D6E3EA583CC81A62B92A4D2EDC9A8E3064C41687BD8177B56B66D0165021EC3
+AE70BB02C46F31A1DD4C39D49CE8A2592B7FECFE83D60A17C091E772DC12AE4D
+49AFB19F85486740A5DDC5CCA7209F8292974E09C2247681F7774EEC8E123DC5
+96F05CD7E98B1B5A98448B78ED6AAD144D24C1CB6F9DC811657A9BD25939B698
+7A90FC7AF543503E869FBBEB0F6FB3E5A2A9DB2841ED565F6DC88F66E5CEA418
+EFE0BA5784A3DA1A31B0F2DDCAFAF3CEEBA9A24670E196CB317D88463C885CB3
+BE980DAA9B8286F81CFCB44DC37A96E078F1C0A7BF5C17B7771A26CE394DACE2
+30586AFC49DD632E0DB344252FF8DBB01E6BD935C36A05FADCB78F11E6D37E99
+8CEC682319472DDB6563E0D91913656B26EF27295753F237B2470BB8DACA7BA5
+891EE3BC4295DB66D024E1D51AFA52C1A5855ABBEC35658CA7DEC65321BD357B
+6DEB27E7096A2BB13C1B0CC3EBD6805C154EB74D37B4C7198F13F64C5A743982
+BF5A4575753146173E76E849A2B920FB930537A4E9C9380F8434E0F6FE9488C5
+88E1F24AD6E21F815FC3204734A70AC9D29BC039AD7B6D5AC5F48CAE11DDF2D2
+B8790CA2554A3B7CA37E821F2ACFE8AD7705F1E8935CD63593F61C67C662E97C
+31A0A28A2E3E0DDA451C83F8A982C504BB3BD8F78F94FAFAAA2FCCDF11A52389
+E7AF12260C01AD272925D075F7427E5AB739CEF55134BB04369F1104EC776F52
+EA172B4151A580D871CE02295273AF53B02DB76C3339EBFEBC1975811B539A42
+0CDCB3A0637BB1B12CA0A2EA913E255E5860C600A97CFC33C809AFBCC4DE0F30
+23ACA73B56289D705655DF88E79EE020983451D4AE09E80B835508ED28129F43
+B55A7E0C17A5C5A1030C323F1BB349AD695F25F0358DD68ADD8F4F7998A4F3AA
+74FA7B7ACA2140A3B5014FF0582766905DAC463D6B8D760CF07620832059B898
+14F9413C58E808FB125DA8C4A9B1971F56643978E1663255F287A1129B291A7D
+5F8C7AF137232D3D6B7D4795FD8F5FE9EF9D6B37C0534F9E531D446C52377D04
+13CA29578ED9473A925F6F921F390FB8D126B0946D6F5EBA83725D82E615BC8E
+B5F7F865ACA5C0922CAB07F6EA948EF8DE18917126D3B62A7689F8DCF0965954
+CBE9849EDE0C1FC5BF449C9C609DAA0415B9734B4A7D98C0BA6D4EAD04C51AF5
+037FB78A165662CA89F9680622E2997827B409B408F39EBC019C77F45C424C80
+E31A50638E3D4D0273E02685D09CFDA92E07238683860585E6B44819CEB9AE7C
+967831543E0E2161A8D1DC312E99D16AE0C84B69880375DF7D0C114A96A576C6
+1BEC6918825EB9AD2B900DB1ED0244343A89C67B1548A85425AF9D08ACF0291B
+14C18FAEDCF3C80C124713BC475F3D8788AC04193820AE00F5FF6A118D41DFA6
+D4EF997C5D4D744A7898EA9387C3108EF6FD19628647F9CE7956D4641265BCA4
+770542413AE156AF4BE6DF3EA929843344F2E38951B9EE4D38D2E51A195842E6
+1436C77E7D953CAB3FB8144AFDC371B0DDE968AB88493C15585570F7DE881A17
+24C0CB6E8A3433E6E85320ADC362734A1C81C1EF9CEF1B863A803F96B5F1F61A
+05D61B9992E99BE5A52A58
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 34 /quotedblright put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 96 /quoteleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+dup 124 /emdash put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
+0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
+B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
+AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
+97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
+FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
+20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
+0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F90A32C4175B6BFB279
+024EAE1B04D721A6C54FD62484F8949B2CE9B87D9CEE04DFF82BF14931B3CA03
+AA5F701B6F80BBCDF2C427C40A51597F0B1BFA25EDD7CE0EAF2EC676BF0059B7
+15DD5462BA30DE78A08DD533DC0E8D85F9DAFC5FD842F417265427E0F1B71834
+D2BF6EFAC3CCC40D3EF3B2E2080F148441BA45E5D0C0F7D8416730AF4BE4FC93
+1E965594E0364F0D4F1EC48004CEBDDAFB1F0EE0A8222358EAC0F62E6BFA3C9F
+46875EB4C999219B91E6147A49A668505667030CDF3495682B79C0F614AAEE68
+D976EFCDCB04127C0D7325A2211E49CD316935A0B472D1F9FFC68F7FBEBC7582
+036CB393016193A9783DD08D647E89C5BA4EFC8701BCCB6A5C027C4FA8644C06
+251B9E33FFEBB1B84AC4D4B148205C8CA7AF5EF97F2788EFB0B71473AD0F5EB4
+FC43F46602C53E53F5A6D1E445439F65967C51EAB636178FA377DB2DDE5FEF41
+9E91F3BEBCFBD3B4EBB510A0DF7F4D19C6552BC98F10E25612B1396020D7836F
+A3D3C865661DB276E428F09F048A916B4F07D8FD01AC1942A3CA342B0E531BF2
+3E9A7AF265ACE1585E331A8F8B5AE06FF085C1F349215581FC7D68D16395D934
+79B3BD866A4BF33913DEB54B4D00ED5EFF3313FBD1C5E6AC430567872BD935F2
+AF1A3F892266CEAC15DEF43BCB83DB075A69EAD7D2EA53303F65E04C5673411D
+EDFB32156120099AC210E623BADDF2991F96813AFBC1126DF53A0A776AF7D61A
+6B42225A5AAC1B0AFDDB59C5922143A156EED76E3E1ED01ECC6ED9F61B5711DC
+C5709EF5A3CED45628AC1728DFE98F07389777E04A7E407E3B007017C96F6EE7
+D0FCC0426C4D734A0B108FD2BEB48FFB6D107C5AB8EBC3584F13A40E5508AD9D
+5A081286BFCE1D5DAF5F3D86515244B4D0D77AF9820A93B7C90420FF4B8D634C
+2C5697E3E04802E2CD7B9AB8368F1A9DC214CF893AFC7BA3A8DC24B0E549E106
+F04530708DD03367D8501655B1501645F17E547C1C948DEA7A4814F22E2A1D55
+5AF16C55D6BB4EE9929C9CEE82C4D6A16D70D17AFBBC6551BB2C9D8B69F5DAE2
+5DF6C2187ACEB119EE6087BAF5E79340D115C53E710CC7E4C771F43ADE91D2E1
+1AEF7BB2E6C9ABED010A835514EEB6C9A2C93396FA12E8CD0B2F9045587E51D2
+7E059224A889B3E7620E57AB6CACFD769898B3955661824DD4AFCB9A7B218DF9
+F84B369F52E246723C7D0B26C145DA0AF81C83DAA091143FBBBD2A414114E34C
+7C994D8401119D5A46856367EE3FBBBB32155A00E5314641288A6E1FCE47F385
+71C2F7A7602F777C11884DEFEFA560333458DD227E63F3FE68A762CAB0A7308A
+FC59C9B293233DFA257E5D10BD5F12B7652C45C4C50F14F17E59A758BD7355EE
+A89B1EC954B86642B87F814F936577429C467BC8E97A481ED15E2633AD73830B
+DDE3DE50E1EC439204C7FE350C69494823725920719D613907163AD63FE83C6D
+1CB6DA81A6C816C747542CA09493306B44A7DCE934B877DD356F38D07D3E0355
+CB149BE6ED646E84DB9DB61859F6FC45BCE13EE42458D1991AC34AAE6EA72320
+3EC6346C38CA87107618ED3C46C331623D8FAACC6CF9292B8F1B407806A0D480
+8F51A5BC97F6B15807F95CA9DC14C0F5FF3AF1881346AF82F65F0C9AC200DD03
+CD20E0C06E8AA4FA8B225DAA01BF6F07ED8B9C9577F5A565755A71A40D2A453B
+AEAAB4599F617CFEB0B809856CE021E25399D38570ACF8354798FDC2DA24F0A9
+3AE098F5EB8C400569A5D4178354CCE780B8CDCA570E6051F21ADDAFFE775A26
+F9222A6DEE1BB669795728FE4DC07114AB6A8067C56D909BAB80358F39B257C5
+779834A4261613C8F2EFD82F20C9AE15E072BD78D60D77EAB14430DC51BCAC86
+DD91D1654E340719EF37A8B7C6AC8471C16680FB0FB7ABCAA8555A292AEAD439
+4C6BA6BAFB0B19F9DE59745E45D0B67C1D4DE80CFEA538A2551037E0CE7E8D57
+C10AF598A2E9F8A5F67D793D2A228E7A1ACAFDC75420318FEA23286A45CE9C45
+EA34C3E15634BE1FAA50EABD04E94F6D47CA2B78F2B129C94579D24946A8BF07
+8E870456AD04FB3D0549B59D1CABEE60F9759BA2BC06E068D2DEDDEFD8B2788E
+92CBF4B44E04781BC17A58A0A3BA1CFC463145593170F06FB4DDB90460256DBE
+572A290F44973D09EABC8D7665E1D18E1B8F5EE44985B498B6E662B87DD610ED
+CBFDFFD33F0A0C95765E24A7D071269FF7FA2D47942FBAEAAE065B7DF4A9EAC1
+FD58D7C302F9D15A2ED0969168E2FC4A021C521FC7D9C53ED3DC1A0F9AC63862
+AB2396C14CF8552EB0A8C067AB163FE0DA20E3AE1C7881AD6DB0E1D615F7F2EC
+1184C69A430487B861F5CBC52F27C53E1588AAD6FD43CE2C0EA490B257C4A36E
+06E21AA6EAB94938E002FA80E1B1295C1322A207C5A87EC49669AA2FF054BB4B
+B64B622FEAEE05CC84835178C4DA9DAD113D5C6BA75830CFCAA2077A071069A5
+258AC7E801FEA6778FB7EA7507470AD0AB6BB49210858477F53A831F9CE5CEF8
+B519C07786D0551A22E3EEB5230098FB06B390FAB4C73F0D3D03EB4890C03329
+5A0B9C67F1E16B0E1A9D4389DE67F6A950F322ADA03433E71E1DD8D4E416D9E8
+CC55EFAAE6C94CCF24980BAE71CE23916DDB17DE1E412CA5CFED25AC13109246
+A26A8F568DDC73538ECDD2BB41B9B5B020F0F1D36C8F414C24566F8F9E1352F3
+38A5D47FF00D91F43069137BAA659301C2A1EBA1AC6623DA8773643A29E498E2
+33C33DA49C290B5719BAA7E9CD8D00C803624BE63EB0100D6D093E3A1A86D653
+A3CAE4459EC25EE9D59D4AFF27CD3FE4BE831C0C31EAF27F364247114E896CD1
+6395D9516ECF3DA7D9A6B4F36245021C9CD6C332182441B79365164B1E40C5DB
+9E4B5A69DB4AD7D79979E6013435C7D70BB7E910B75F28449CFAD0443645DF30
+5AE363FD581271F587E53FA6DB88B28FE6B80F8A5CD58BE57B6B386896BF7A4A
+D1A36057CB2CC346697B21A5CAAE37A68E62BA46568F0CEC8EABCA7D1A08E7FC
+72622305F10E7BECD696DB80A170CB09BC5E27BE68733943C72A163C88485457
+D47FEA6B5D20982E5713DB5C4E499DE5DE8C2090F3006242516349955D8D7857
+0DB51BFFF42BCB28DDBEA8C2AB5431DCD10DDF05F0B59D00F65BECAD61ACCE82
+1454C36AFF83685C530C8E3A5016665E2A50287558A44E43BE485C96E3DC24E1
+8B291399BD9C9D105377497D085FE5F9037B984104E915DB9E76DDA3BD5A83CC
+ECB3DB2A2E14B90760C207F2D53D9389EA03AC1F5A6AC61E1F538DAB42800822
+BBB425E322947A26F51B3E81D2B3D0CF214D2410BE2B0F12CD978C1943A025E9
+C9E5B403936A6B7928966EEE19504D9F7994861A4A73BB3A63719DE764BE9182
+494E70BFAAC3C26CF422727BA3A2660F1B2394CD361886FDB734AA49614F4C61
+565831EA21D56CCFF58F29F2EBDB513E9D3601F405B94FC7F5FCBA22CC3E47B6
+5F71C0768FA87DA0BA8F5390C0EBB0EF2242FC8FA3AC0C3108F6772237BFEFD8
+61F3DBAB78F70D8801A2F4C615D86D011537BCB2B5ADF4A13EDF0C8BFBBBCA0C
+2C0A139999ADE8FD695D2954C79A86D885E70CD72EAEF05430AEF1A15C9F1771
+F10BC3B8C9EF931147E5EDD3EB5C8F459077AA3407829FA8092F61A909A6B67F
+B6AFC3F35F065420DD6CE2E0FE0227B06A203F334EB8B7EE4C6F27C394B86EE5
+75D6200E98B1F37F1A977B8E92BDF6C4532879A6EC1D68BE998EF2B57C50F06E
+5F30DCFAB85B51ACD1B127161A73E0BD1DA354F3025B3F92C054031D03ACF16A
+158B45606BE9E306B633061654527B904E99D6D8FC61D7D1CC69D18D94D977D4
+402BAE1BC49DD45F8772709A4F148476F9302E38BBF6F6843FC56CDFCF7F74F9
+983100F8FF980CA805AC80511BDEDA1138F12733EF1FCB50D0F60EC06D6BE1B0
+9F908DDB1278340BC780A31752A809A0B6651C5B3E5E0F2017F092849B1162BF
+2188145EEDDCD96CDF5C00AC05385492038EB2F10358D853509706635412F19B
+DA6041053C8F41970BCEDF162C1347DEDE920819734B47FD99CD38E1BEF7A7E8
+8150B295BA78BB5EEB055571F49B848E5A85175DD39DDA6364B7BD0C9C3FC42D
+EFB45AC4E52351213740B3CE676A43DBFD4D04B1691D5EEAC147DA471A3D7A00
+93CC624819D3BE17DE9D8F07FAEE4F54EDCDEB4134D9F39C3BC33857BC8A08BD
+82E23B5564415A3410CDF25ED8C3D443A0F5A9CCE3D75C5AD55DD3DD28EEC633
+82882118F09251A0DCC8349AFCA61603ABC621894DA5C1BF308399A9CCB8283B
+6F54E096CE3F2D3C11373E5356570403B418B84B06FBEE27B63D8B678FA39186
+81605E6B09B02037FC124776DAD7AE3EDF993C064EAC0DD678E13D8D78F74DC5
+22BDD780DDE77AEF1C2E2CD2239EBA6A9E8E9AF9F4F4605ABDCF22902055AB90
+3C5CECEE9B92B52EDAD5D29C3FA6964A7A7A2EECD8F9EAE1CC81D9825E8411DF
+058A838F2C335860FB3B063C824FD45825ED5481B9320FF99B60F17ED8A1C1CB
+A7E12EEF35A40266C7DE2E1DEC31AADE7626C5FC57DF545933F602F283A27D9F
+0E2C77A1BD5394944566497E01CACAF62542EC93D16CD80D4647435B6C905A31
+B94C5CC9F43D6492BB70A5E8867C7B0F58D75240B496DEBFA6DB94D8CA775A7E
+53237BB081D1A189124E6880B6D964867804BA33E0BFA961A562836F7FA1E98F
+EE78ACCF16B330473D69D52D011AB174EB440746ABAC7DD7D9AABA70ED2891D2
+47E2AB24669280D11FD453BBE591642A3FCE09EBCAF62F8E27FF0782216E6E87
+AFC464F2316DDBFF0B6736D42577AD10754C6936B6EAFB18AB6AA3AFB316B179
+B19A0561A157E90035FD26B8FDC72C2892C94957D3257C38F8B1BF14CC7C6AEB
+6FA1C4AC6F22C627BDB1CE6AC63D656D5E7410F7E516813CA3BC9EF02EE8ED4F
+B02D57B303875A7F3E1B8176892C2149C39060E2AAB5C4DEEE429B7AE36CCF51
+997C547147B3CB8DAF1E8C8B160F00A869E5FE90F8302E081307F4C92EE0B374
+EFD848E3F943E04245B6393060B126C7E2A2728F9878D7CCE3DA74525AF11C66
+3BBA0749AEEFD5B190A4A0A729784D15665A8150FDE7A8EA5CC4CF0092B2AB09
+CF8659711E84D057DEFFF2696BBB20E16D9E4B1D4D4EAF69F3BF07644B90C94F
+D11E9CF3E66CD3368E808DF69DEB6C6A3233A88D558BE5037ED5B42EDA0070DA
+3D29F04CBFF58BE922CF4C8F9688A20EA7CB644B080D2C01A2715A69D3D8B7D9
+5C0914DD83C9490E465DF0EF013B6473BC28E937C6E13A2F08CCC8B6F35544F5
+9F79AA89481CD0AAD87C6CA2391BB69A39B090208EFE1A0FF5BEC74923193F6E
+B2AED1DCDF644351089CD7460AC4987789B2D92D851E3F58B41BFD281D717863
+5CEC8AEA5CB14F52F6EA6F5156F08A1CED2312CDBD2B18BF01FE503AB86DA440
+F892BAF54438A5FA847DC0FC7121F2EB829DD00D2DF2BE54EDCC42187840D8B4
+1CE8DF33B574EF36701E2873D5824C37C6BD7DA4AC7BE64D12A21FF2A23CB9B4
+1C6FFA7D8B927745000345B5AAC5825D89E617FFC97B6C7FDE0509DE3FC6F2E2
+1508278734B33F4550D4F565B0A23C2615B49BD17B6741E086DFD50E1E6CE979
+558741605E2A314C325BC4216C2F0F809F492B1898431AC7AB4579E76A3A0F63
+E8CADD4AED7CC6C56AA12867A43CB25187686ADBD4591DD35638F5C79C961085
+BBCF38D48E756C295A0FA4E59BC1CFAEE016686A8F91CC56E37E4A8312F39837
+09A926B3713EBCCD1D82DF9DFF36C0C024975F531B42E7F61D830E2FB51BAE2D
+9A05BE87E8F052E748F8B4201C8869A64BBBD42CA4974E230E59CE541EC0C743
+7292203798D2E11AEF67156FEA12C22964785FEB4CFF473A710A5D7F97A07A40
+D5E9A182D7A96A083823DBF8B1726E8B71F0D751D506DFBC20EDD53A0368D098
+59453D360568B76B5168254027AB71D2480C63D486E855050B1F480BEDE9B4E8
+3379C0B539E33AF2E286C2A02A5D73148114F88898D7C01F408844CA50574D1D
+2B513E63ED04011F179512384C647100C1870937BBA5F404E80B6C8BBA52F6FB
+DAD5343B530919E5AE54E0C859591769580B82911BDF290777B825E417D4EFB2
+FA60EED5786B27E3109CBCCE391B855ED46262FC16A663E63E9A19CAA6C6F58A
+72AECBF5234E25B5C49D143F1084F0B571BB424A1952AB4B26366ACF83A29BEF
+75D9307731FCD44EEF157A59117360402DC446F9B58388AD66AD88B8C82631FE
+31E99E3158C25D152EF626EE76B2AAFECA33CC0B9A571C7253D3AB32DCCC1A2C
+11DED910482250F8A84E0C55FB76264A1C4F434CDD85A347B1DF702C8347CF3C
+5461B2F76AE34887964985AEAC9B7ACF13700B60B7C1446ECA269B2E5146AA31
+0F0556C5435B68B92274A4E5B554B0B7A163E15F8D4A0391F1389C3D7BAC8EC7
+A1AEE0C8C79ECD8F6C2A6011BB0FB966134FD1F75C32F515F63F6A5C15323304
+EB0F0C267F5FA8FF55D2E4D64F5184320756B78F8C043B10D267A548EB1E0CD8
+04E106687542C3231D1E8C157A9BBBB053ACA2FC0DE6413D52360CFF6ADA686B
+F2676FCD629ADFFFFE6F818EF61E5E90B2A077790B2B06E0BC1E0B9163982691
+2EC03BC185E8114DBB76298230FE8B82BFB09FE562A0D96C696784D365CAECE3
+A89A1643257B0298449320C35F91980B364D7E589DD82D69C8379B33CEEF951E
+851250D66FFA0F664D6C2A8F61F2C97E925A46547FB698321FC84CD623CC7C94
+223D2B874D39A65264E9B45EE4646BB830F2F62F8B7F391BF70CC3A9C099B7C2
+559F46ADB70B967DBA1B74300C79738BCEE6FCB3C6D9BE839A22D8C7F4930376
+82D2CA6DA3AA63ADAE47FEF0F0812A6E8D6CE62C60181E71DDA511DF008C38B7
+6741FE1D1FDB1244D04809C4DAFACD75070C10CC0937B7FBA274F64252654907
+7BFCDCB0A8095D5BA8687C93BBD90B2AA3085C047DCB8A095640310E0ED49B31
+93DD65DB30F49E3CC07AF9FD1A6EFC7D5DEE306121CF7442C0ED5A1EB49DADBD
+5A0AE4F838C46C78DDE83BAD2AA31EE6E6DD7405970CF09FA9EB5DC00889EC81
+0E42612CD085D64C74C0784C04257F0E708DD74A8D8C06F8845C2B2966FA2358
+4D5DDD2157A00C184E11300D34097737B1CB714CC71070FB05F7385CCABFECDD
+A035DBF8F2FD9B67F7402BA8F589A5AD61A5476178B404188FB908D591E4948B
+FD39377D0AEF18B82D001514B03A123F7FDD63812FD45D62EC971E93EFE90BD3
+9496C49174F0EF0F513C2BA16F6A6507968C5199519BA9D713DEE4D0C2D427C4
+078F347B5120552E2556A42E0FC37BFC7FE8181F17A01B449CF71E093695BFA2
+D53857C0E3DB972244943B67A07D5AF4FE7F6E04C8033EBD20EB55C38AFF58B0
+D04FF4AC82937A650818A480F2A40ABC3F4A26B7F4C17CDF1A7B056EA67E0D29
+01BDBF1DE76DD59523DDFBF39774AD9E4A04CFF23CE673197C6A17015449D65C
+45C56079351A5A16ED030E96D24A755B2C14B6B925D8C30A16B77981B92D2171
+1E77C0C11DBF9ADEFFA03178411F841A109EC7DC45C4C8E133725B7ADF0DA136
+4A46840677A020BE6897A9FD9AB322F27AD0B55B5500D2B48B71D4AAEFB10774
+8553F99DFCB01FC07508200B9367E6C8145D7F1248335E90D32D9E528C4B955E
+B8DEA684A010BF454070B7DAA128C0BDF6AD29810C4CCE310A30080AD36E7799
+9FD52B074E044EE02FA248087EF3D690FD6DA1AB501CCA44D132049479919EC1
+9401487835D2CAF0A89FDFFF635EFA444E8098D4CE6E2C892482F45D002C28EA
+8879170E7A34FD6AEFF140B1EA77C009F30E60B2857609EF8345A0F20F8085AD
+5E78AF3F6EE20F363468B49FC735FF32AC6382F638006B83FC283AB7ECEB0DC7
+0B67505FD5F97105EA4BA11B18AECCA6E5D7EA36C538401F16832183A17BCAF6
+BFB047542E014E2941BE29F8747E6DD07AB13B374AFA63ECA73D4134FD950C03
+DA939E892C35543DB6AE960A18D57490686E0F758061AEE74D40BBEAC328A905
+7A29FEB1EB40ECF45593C6B2829445541DB58D0E8697CCA09C47D6C86B730015
+8E920228398E492FF70A3DB13248033A61DB5542B8327797951A89317C96E68A
+5EF8784D8848222DEF31FE30A9F9E4C12D42D0DE930898DC4446509988E39196
+792F97BFC9A60C717D78D8901C5190899165A1389835DE21EA49EE01B584787B
+8849FDF0146111811047FBC3ABFFE2307E16518093AADA08DF73FDE6227D2BE0
+5DF2071FAB4F7E825B563B3059F8615DA305F51AA2B9906F1516040BD883DEE3
+922D1D905EC34D3F0400CE2492E93BDFEDD8F3230838EB248C0CEFB5ECF929DF
+D707A953953722436BEA6F5DA51A56F7668CD083E9CD7FCC8B736EF8B08442C8
+AC1AFF6DA974FE5E50D1694B3D07B2E47C0238801E7528C04C967023698E5B1B
+23DB992777B22E7448697F2B78A20B98B78A79635104930A408C18C7E6B1577F
+425F2073EE5E17A8998A38DEA4BB12834B6E842835BC711BBBB04B371CC8E532
+2490A6431876346A3A263683C153D77A5BB9B32E3D91B952172DD05C38F72F3F
+A5140DF292545E31C25B27E2791205641375EC542589D61290504CD73B560B2B
+0C2A8AE31CAACCE8BAED61AC04652F2E0977BE269D860034C429B0164585B658
+29EB62078B9B802B4E214FBE0198A76F5C9CDF072D3C3675583E44130306B5D7
+7D2F147BA926C70749525B60374CF6763E273F30F2532469BF6A7A3965E26046
+EA9E93F7D393F8EC2C021987D33A9AB30930764D1534AF53E361EA65B2B64B9B
+4E93768EA25ABF534761CF567552B0B6D52C8C53BCF5E3414A0B653FF21C8F65
+2C6132916466A286C7E498A2897C237AD5568FEBA57B72C7A87A416035CC03BC
+D1EB9DACE25516AFB3A6B6CAE2C70665002FE2DF14C2850662E43C5F05252031
+BBD84960EE0A86C8410082F441B8B594E001133C4D9DFAD9B4F38BC878C29AEC
+5EDDAA290F7FD74C9228995E107A975C70A7A37EF8E01856E978F284F1BB1453
+A44320130DAF09D7064D9867D27A55E3425F5D25B99F553C9202EE42FE8D3AD2
+6C1D34416C520E0483CC2B87ED9D9F39E563A9A0DC421C04B3B9CA8582DADC5D
+323DBCAA108F28E8F11DDB3D0F0B10D4A62C93FF9E2CED79214641160DFE8447
+93ACC0D72E8D30DFA0E368DE8E56C566D7E15E559C409EA8D913BBB18E4BBA89
+3246FD9DAACAC4C5DA87EF5B9A91D10F10D7252F7531FCBC343ECD3D2B674982
+8F0BE87B3E1CA86112FF617A8E63BA92175913CC403038265C5E35621001B6AF
+EBA934372CB68E99920797A6B154557FAA7C3C696A15EC66348E209BDF87943C
+A9F4281847F5C3C8F340C80240F1A93916880670C350B3A9E651EBA7E62F5D50
+9BE78BCDE8E0599FCB7FD9874E87E957D1117CEEC67A63B8862278E015856F2C
+E31898E7FA1436AF76FF20AF5A7E5BBAB5C23E8C0E66C975A290AB6EECC07F04
+C8A37224EBA5D046C7746168EC081B93E0EED2DA80D9754050617DA4CBD3D5AB
+C9C57C0FA2767E7FD633288652C3C4A2C8095D9E8E2A18C887B4D765B2578215
+64EE4227B2A8B3990DE2E0A4361E0C05B145837D58C4BA15CBAB0E79221759F4
+F17BB5097988872A957479DE4734BE905DDE5B8DB9A31FB9C235114974520D2C
+CB6D6284C199A880217364EDEB160F5FB7FC762819E4509FD20E27A5F865EECD
+B893551A9ED16D5E809B49B9AC67763CB67F877EC21D8E2B8A0D06E9936E84B3
+A6181D5831D67A8F2A466A71F5A4DCEF0DD7387CD5B248F2D5981A9F63D8A260
+88B568E1773B13256E440FACF2DE1041CB99397F8B4CDC8CC87447FA6FA0D670
+5B99D0BC94ECB1AD7BAB0DCC66D278E256CC3689DD3B2F036A6A3DCC8FA77FCB
+0A88AB3A3D50C245AAE20ACCEE7ADCD9FC5C9FD53B405F0FAB220385F7D92011
+E527BC0789261AAE6197377DC5BBC9F5BAE3683700F85C63C0DC59B02BF8B65A
+800DE3BB27A3E75A87F6A550C787F67B1430369268BB61CF5FA66D8F5221543F
+2CEE65CAC0BC2996F73B71783E5BB43B030C90A5FB13CD66BC659A3AC2E897C4
+500CA657F16F70759F0DA8D712F4E94BAFD3DBA866DFA8D7310A44F240522200
+C8F14C7CBF9BBC33276B623C746F7D0A4D76AB13E39DA19E1308EED0A388A23F
+D9336D3532151A416C720052128793385DF6B68D3BDDAADF8F7FFB53260B81DB
+321B33EB566593E390158B80DC631545A66C3CC2BDDB61446A6298D884389303
+E2E55D64F430F35271060417EA4350B783041A7607D44DA3452D304797C03864
+DE4CA134F33471E959A74DE4A8403BD5A1A381BE22221ADF76F0B71F29C7DE1C
+9FD94E0F158182F6DE7689A96C555D2D9F1FF664111F56B147B650BCA6FA1FAD
+9ECA4488EA201C8BB72F63BDDFBE7239F13C46C492F320B4F06F34A668F657C5
+CDD4FC447C67E1BAC54C99666DAA9E96ABC836BDF0980239245D48227C14E811
+FEA8C345C2BEE84300C746016F98893E12D296C64C2119208E4C203A8EABDFB6
+699EC1F750DB57FCBC535E0929123F36A0113E6CDAC09149CE5865B9B1DAB041
+A74C6EB8EF0E8FDD6DED8C67B849324EAB11FA732BA2EF27E11190027F657912
+31A49FDF69D97032A07C66B79FE3F39594FD7DD3BB4570A90747E908D0121A05
+27D12831D23C466F31E31C5B3CC636880DEB158BB4A2AC34114299987E9F8F53
+B0A28EEFC3A259F49CBAD20BD7BB4ACB07726033CB8ADF88E7FE0A0DBFDB10B6
+21669AE4942A298072C72522D34E16987ABB7FF0236EF31B00EF6094024AED38
+CF83EA391CA265E5C6B8B63CE728CBF008756D4F1CF35E0E39B7B17A0608FC37
+78CB7864BA7EE90401AC2CDBFE9AAE8E3F726B41DA0BBFD7E503BC01ECDDE23D
+15A1954FCAE479BC85DF88D0044F2403A75F26276D16F8F125BBA3D166DAE700
+8F0C3A51CDB950B603FC44DCEE18028B36282DA5D7C4CC9C79EF2C879A86A1AF
+467CAA95AF247AC7EC18B7282E5A9863473871C679368C9438FE626962BA0D02
+AB329F7F03BA30FBC62A855DCEC3C4099A003F8D6F6FC94D5B7FF9DA05331BE9
+21B06F9CD00C1E2C5F694307ED8D81D474E70BDED837C8973AF6405115C85E57
+7D64640D85C0FA0FED12BDC55DCA2285DF9DA4F9E48361C00AF5F61C57E4E1C9
+60FC8DEA6C2EFF9654CD220D626CBE75E183368BB8B093FC64BF13B90F935756
+F87FC508F719472F96A7E9732C2B8100354A59C88BD82BD12E485EA7680EC9A7
+FFE0A6636C8D0A423D0432561649BA335E8BACBC5126BB4F796EFCE6DF8B00F7
+01DB1C7FB57D15AFC69470774A735CFD876711AE3AF1EF970A1FE154927A0A00
+A68D4CA6899CE12A1A26CF5393446B436F40D5A47238C053F3248C5929C2B5FA
+EA441400AD4B928537A636AB45FEE4F298DCEA28FD29641C41E51926C2FA4F12
+BB1187C4F050FCD171A9EF0954EEADFD2807956D09CD6EE2A4F4B88B54F3BF6E
+653A02FCC95A3BDCE0A0FD9F3F6E74222A52E2D424857E9A4973104842E1C308
+215467C9F5F9943126BA74589C900B74CD8FCBE53DD73FC9063A5B4BFB708DD5
+B8E30211679F57FBC99D651918A04071C6163EC8205AA0BF84BAF8CE8B05193E
+DC677B30A87722E97F961F3F7024FDD5E0A54A30855E8B7A27715DD055F396F4
+E3DA37B23D51C0430D159EAE4116ADEAE6CCC19669593DB3EAFA37E960D63B0D
+34E00C124CA2A621A4D13E2EECE188BD060714E0A5D38EDB57D0FE37E01A3166
+9DAE1B44103702832F003CDC90632C47720FB444223824A893172441238C11DA
+87D57D945EFE864C0FAF9DB4019041D5BCA4B7CABAEE9264F7D0664089252A10
+142B31D8ACEB1D9C8A46A1EAD878C189BC82179911717C4D6DE3A4DDDB117D94
+851A5F735F8F64F6343B92C0C697963DEDC4FECF1D6ABC5276D6156A40C4E53C
+93559EC3E3518A3CFAA0E4F1B296E9CDCCE30FF6D429A927F85980F3A424A719
+050EE1E6DDAA47E6705E996A65E1F805333B9728F4E9E7C8B3B3E29AA68D95C9
+124F5036334D202E1E4A520F47FAEA47FD2AA761E99029365E00447F13FAD190
+DEC04F8356327345FDEB37C79E467BFF87218A40217598D40965C5E06ED0F93D
+AA40CC9445A2649F9D6D8C90FAEA395733E71F8ADE555E2166892B3FCF84C749
+268430344C7E70ED90C9858A74428382BE6E04D39174C1A52FD6727CCEDF3FA4
+55083E08ACE62339128CB8687F00C8DEAD4B7C7F2176154C5A2D2A854B72E3FC
+9EA3320B701637A137EBC3C819CB06F372B543C0E929BFF3383DF0C4B093589A
+40417511C97C3CAB64C88C26743683534320F8CD312E9B48E5683E4E05FC1A22
+7CA3CF17F181D1B581FBAD827964CE1F911F6C48CD868A9F6F1250215C1BE545
+48F29F82CF164AC3376AC9CE8485D2DEE18D515F12726E501AB86E2A904AC445
+5B3859CE24028493A520F8118834427341C7167FDC4731449E9080400929C0E0
+97328ACBC1CAED6C5042AC37E84F5A122DBBF261049BE6D7AB0E688CFA9E457D
+DCB4004DE6E5EF19D57409062F918C6FB0F09B434F30C8E609A11071BCB2B5DA
+A22F9AEA81C48989A244E8BE97BA8CF9A09E9611D47A9F77948B3FF43CE6F378
+71BB181A69867B6E6E01725992C9DD2FA6EE02107375D0C5876FCE49A3E1F3B1
+6A15DFF1BF3DB92ED9162BD4A36AEB4F3FF40E7E71B2B81FC4E372C941243F90
+C959651A8F98C0441B854097EFA8D66FC76FFD29CE9E786AFA3AF08B5C83660D
+7FE132D95866BEEE0E475F04367343112880F80DF8532D14D8EE4991858B0CFC
+2974C53D70C60BA9C6707307699397C30EE5044208F391809C2B7884D74C77EE
+52A34E2D9EBED8C9AD77F8EAF56676AF405E9A162D5970AD68959AA0C01AFDB2
+AF2E7641A58B894E5EE279E723C7BEC3ABD82D5C1BA27F68394652E942E47061
+C2C8B460209A3D141F23E97AEB68872AA946B5D8C65FBB792A8F9A456B755A95
+18434B1A9CD425243A2056307B26386E64BDA30500018C74B38D9CC6BFC7D87E
+52BAEF36B97B8C41FA46F38B4D37813EE37584E5B36FE9DDBECC8C6BF6646194
+59BF4AB637100456713A84BD505FBE9833956C028AD7C521E8C5BDA9E7088760
+1DEB596FFB35100C01D7EB2660A048F2F6AF924CA0A7C1FEE2987A590D9D5C11
+B0F7B5DECD35F54B4CCFCC7BF8370B7A3184A91ED8B963CF9D180CBC7BD83339
+66866C3B335DFDAB771A7C476650F6AA7925E12B2223EA09E7D2BF80E584298E
+3B114466520D713D3D14D73CCE9BF05DB6870D48564C12CAED2A003BCD295E3B
+0872B5FF1896822188C70CD5D25A039C49D49453AD7D379EA749A3FD3B119D1C
+68E98559EEACF0E6BE1DA9D4BEA3A827BCD4BC75AE6013EF1402F744624FFC00
+C17DD16B4E1C44B8B0FA8791FBAA3C3B6E60561523BBF45357BE6A550302D720
+11DDC010C02178E35528C3D6A40078C6ED2E0AE8F1E9C14D9769C3BE991FBC2C
+3F615E83420B9CF206A6B3C9DC5415BDE571BC3B9444BFD5269092D0EC2791C1
+2FCFDE8CACBC5729582143F36DA9CE6D36C5C66854FCE9C29F3189AEB11694B8
+08873FE32E8292FD57B9CE6E4F6B1DC76FEA98EFEBFCED91001B7FC2A78211B1
+F30DD80DF6F6973211A5D76E000D4F73DD012C62E760732C8D2A94FE6404165A
+513EAAE7958D8E80D47F8E4CCAA1C8822944ED82CDDF945E3C990F075CD530D2
+45E0143743A9310C6E493C5E8D4C6D2672C1834AAF7D570C53347AAB358B217A
+65C336328D667D6CEA6BB97EE648EDD4AB856BF8736E036B559A2BB0D476CF60
+F559841C95C1D8DC962F85E63B2C19D55B106D93B896D87D10B1AA94E36433F7
+17EFB0655E5119BA27D08E75DB75DC2895E922EA7463EE9D5FD7E2DA9B0D10D1
+9F31FF30539C079965DA102B2B61E026BF4F425AF25203F62C6606C904C35A3A
+F766B098EED1991E893128512DF0F35E2C0C196601889B6380CAC542BDAFEC17
+11C265A9C773BD7AFF7483FFACDCEA528E66DEB207D5AD57DB3D2CB955A14B1C
+75190E70CE5B650B021757BC64C5D45FA12239041ED5374147540F7E1E06ACCA
+B06DE83B2FF3CAEA93CBC27D37AFDC748881BEDC30BE2118F542ABC14C6F58F0
+A9D6E9FE325657A14462B4D67BF2EB05E5458B120821A75EA86D102DDB92E9CC
+9DF84F5905A7A3A011C8A7A62F556BB2712AE28CE5AA49295717B08727FC6BA8
+E06C6ABAD51FA0AD08E1821C547C599B4134D6DA36E10A6679425C2E6C56BB5C
+CD56CF0CF5069400F9396411AE4F4BF55988646FDFF2290935252C290153044C
+E30C6FFE0A623A697A5EA25C34FBEE0A9D429B88D1512C21E55CFC5715F76027
+1F863D57EA37AD55F910E131A7A7F7C52F4CCAE4434F300461F77305EAEDE26E
+A782B9FE2D4DADF5044F4B912B09B0AF19EDD486C433D682914650AA408C965F
+2CE16EA10005C4F63E23C5E26939C04FBE91C6C021989AB11BC1E9BAEC5ED9A2
+43F8A29BEC53480EE5841392FC2A89CB596589BE8F2F63A56B17B053C2189EDB
+1372F17B54C2CED7D1701AB04395AF3B36DA19D6B2316ADC443E068CEF52477B
+369B931C69579CCF750BB165D6BEF4205CAA35014EA9A678E4891AC0B9B28110
+D9436F71FFD26EB44053A0DC8A846CC31F1B42096CFD3CD3EF42628517FCAFF7
+FC7B26526B9CADEB536A0B583988637177F5A38370643DC4902AD7C65389676B
+2AC2E025A6BDFE6728151DD4C639847C47F00281B382CFBB9FD0833315A7B381
+03327EE5C2E7B4E107EF3685481B63676B0081BE25A5366BD5BC5E06CAC15A60
+25A2EBBB8C9FF37B73E75253EE0CECDDB404779EA69D2332EBFEE235808DE06D
+66BFE466BC0306A120701FE469606DC96BBB1549AD053D06840D530DC1928FB0
+2D8AFA1129EB725B62982248437715E44ED3C0BE04951EC65ACF23F433AF7067
+60FF11CC949E4B5E1F5C8143B8DACEBB520A490AE110F2E0148D10F2B7B9D7D8
+9B445CDCE2A80240DD31A57FBCBB1C99652E4CEEEFC56ED9A4A02A87BAF808D2
+F2F3413A885F57548170B80E001BA0BDC645F3D55BF251EAEB93141359C10BBF
+69FA01583A539E5A76D55EF88B9249487EEED62396103F854F573F91C04FC363
+B3AF64C1244BB7563E4E4837AADFB652BF189D3AC0A8454FA57CE6FF252EAED5
+E3EE3714BB613DD8BDC6128C13A0E8E0CCF2AEEF10063E32FAB2E54918FBEF3E
+1986208B7986F4084768DE289A4AF319C863FD5CF564A72EB7F437DB8DA6DA80
+D33DA28F7987F9C86547904B0F49F351D18F705C4A178B468ED43E179C43C276
+26E5054AA42CC7B5B00FC14C61C25B11A9D5A5DB3B1806F60248CBAEC06C068C
+ECC0AA85F07856F5F73C0AD13308E6FF55C6C7649B96FD3E4B291B9188ABF764
+34610CE0A73EFC9E52357A2BECB4E6ABCC3C5EF8B1350CE3B1907A104690C865
+4D6FB2A1293B00533867EECBF8B1831B753DDE5C683153533A89FC6E3FC0700B
+61CB7C10C37800B8DF5A40732F17322F4464E7057166C966F1BFDA555129648F
+CFD85AD185410961C086CD5B6FA08619FC943100369C186BA5F3E5D2D4B00CF7
+CE3D23D6166F5F2AA31B0B4CFE98CF190841F69AEFF503E7E49838E4BEB81E0E
+9DC3104632B0FB4A6A04D87D02E9C15AA4F046D39B670F5E37827EF6DA926CA2
+3686FC4E27F14D5755B9312D947096C5EB2F1277DB6E843A168261C4E36F36ED
+98B4825791F6335BB8397DB9B5A3C0561621CA93B143AC978B6549AAC5AA047D
+63F39B84E353120DB184F52CAA1E2CCE76F15AFC6CB7F3C507B2944B354E182B
+225E43C25A92C6396C9CDBDDC93E8F5FA2ECB9B9399CA05CA7CCBEC2A9CE968A
+D089CD94001FBD5F8B1E4060B6B55A7DCCF5B1972E3B532C98C555B000CD28AD
+D93033AAA45346EAD38E49B3CD0F272B5CC2609A26677761131815F64753C5A9
+CC335864E866D94ACFB45EFB67692F31C126B256B4112ABCE4C6EC415AE492AF
+B68C14AF756ACA050F179E2DC1144A744C12121F92E3985962791540BD21B304
+864BEE24C5DF20BE89A70E0D4B797338364993D66A1FE2232ADB3D1374111A63
+DCA4B98912B7E3A6E35A457185418835A5B9675C53752B8D5F53E9C01E0F6E77
+51A6350D29C04E22BA5897CCCB579DD5F90FC8482307030DBB6E8561BADFD1F1
+5FC063DEFE5178BCC1A5F4DE534704AE0E43BD1535A12CCDB14AA1D0C74B641D
+658DAACF0059A434EE6282078C1E80F85A34C3228F5F7FF83F89603613B84478
+EE02C184414F84FE7970785ECC2EDDCAAD88FF94E70D3DA9D4747F95080A3C1A
+2EEDFAF5D4ADE27B99436F2E22E18EC8D061E3DD90EC70948BD50D1EE2C8C4E3
+A0D988D36146419C05EDBA0DA61FC95218CFEED1FCBCC91F419FAE7B43D4077B
+44C025532B9AEF5C2D00F08FD4B0CC118222EA16039E16B2B21674F66AB6CD6F
+6E1F1F54DACC75DD1734EF3318D1364F840E10B44842EA2D710D2A36F3528458
+2C68D67B737B90617D3598125CC89EEC39851131EDD077DDFA9CFCD9DD7FBBF9
+DB8470B9E0DCAB56428F1508E3BDE08CB9F91630BE44D6729AB44D3F9CC25BD0
+5358EA6386EF07D8FAA843A187A9FDE319AE69E85801E6901D6CA87D8CFB171B
+FB248FF2EEF1C6AC56D9A36D648348385ADB4B8A7D614794D8F422972A9D4C80
+3F8E33F1B2FC23C480B27E3388B19FE3544AC9461525199447BE809A04714F7C
+F3E80752A16AFEB451720ED3F5DBDAAB5E4B118ACCA148ACB99AE24DC09523E0
+BFA40A88965E69C047E7F00C8A01A0588EB3B47E99293C9284599DBDD099D52A
+A0C2033D88BAE5984261681C024174906F98B99466F38D0DC29337F69B14D3F3
+50843FCBEEFD2BDB556068FD7FC654F087886E1CB17FA2279C3986A3966611C7
+DE7EC1CB51937AF2501369166E96A4DD0B124BEC75588C348B22DADE47B6BAD7
+D1F7C5AC2122B02CFD2218D962C305B2953F7B6D36E4316450A8DCE29866EDB8
+5D3B93CF031A439C48BC55A217BD7A6617E09F5677DC5986AECE3EF80FD633BF
+56D49E21D1E672027461FAD4858BAEAF550D408E71FB357886DCA559931B5149
+8CFFA9C48713600FF392D880B1002C70EA2085E64E217453F873BCC05E5F7CEE
+E5DE1C0ACC95275D4DD32E55147E507150FB2607DDB5E6D3A54F89B3CFB40232
+0D6F40457D714A60AF7DE113F9A0A2DD661FB351B58DF3B626754DCF3D51701F
+BF8B731A4A8F3A143F6782C5F0ACEF6F0774A7C07BC4554C28F2F2D080EC9183
+CD210B3E29032E28F01FA1C16832671DD1699DF342EF00452C34B2779BEC9124
+3C64C978950398237F1AA8D66A3A39A0D7088B271C054A9143D65ACDC3E1F0C7
+7E9F868F07083F55A6386337793D9E8EF88E6CB1FE850F0116B2E1088E1DF2C7
+4AC396C84CF0F35E635140E7A6A19E5E39902A2B52499071247BC39266519B64
+52F027A9EF68DA6F805C47C5B6ECC0A9ED5DB79CB1901AF8CAD2F7B9CE609BD9
+3EC6057888FA4D0AAC5B0DEF146124789E8B6903BB4EF9C05A4EF964EDEB91C1
+4CC2614FCB772D3C72B6DC4D056F185FF3C9F7C96018FBFBD40A636C33810DB4
+47FC8CBDC9962A72404AF156B17D69CBAD1F07B4E75CF402F68097E7588D78BD
+3C9DD1122ED7916C4C56D908F84B2218450E35209DE1A30E71B416898AFB1F3F
+25242B70EE33FCDBD00C2A103A3590AE3B63C5900696365B0F018B80618D0F72
+EB994FD8DCFDDA7EA3CACCF393872EFF39BAEEC6BEDEA67D03AE98F2249E84F3
+6ED37EE5E993EB96F282D0270C794F2FE622434EE5C99C8677B572D1FCE4EC13
+A1B171193307A7C8A81DED947154D90E58E2BF5281C56892201F6C8D287DDCC0
+11AB85EC27554BE0040FD227E027F74847B16D6BA060F75208D12CCE7FA44044
+A08917508036BEAF1D9B9D940C1CDB2298793700F940333A98BCD90147DCF127
+C6B99F4BF49EE656CADA2F4C7EA905A755879E7F692F4F39ADF6EAB7AEABC171
+2A72D147F1CDC0C864B12EE0816399FA7D125CAF57AF89A440D25333D568845F
+B4D6B8EBC58A521073BFBB6D9F860980767343CADF8414D5EC167D9C7BC40B5C
+97FBDD69B3DAC25E87C4D167F376472AD826A4EA0511278C8D9DD9E47F687108
+7C53C4721AEA016627E47487C871A6A6B1FA52CA703169AD6C785415CF63E06F
+CCC95C2FC29097A3F114B5BFE53D0D0D15AAAE7A81211510A28B8DDD2E9D3F5F
+9585367A2FE0E43F1CAAC3BF4D89BF38CD362B57667F97E202289EE40ACD4E76
+247E1C2BB25F65F2BF20745FE3A19CD048228ACC97CB8F66EEDE564758535AF8
+3DECCA4F5251099F649C7F296C068A69EC6EC2ABB93876CF4DB6C9D1B924570A
+5124C65A88FEC62E1DAA87BF2F22F179033EFE247A114ED8753A12F642B32D96
+7EF019414141E494C1A98B7396EDF2427C235EBE37B47A8CB2D6A9F1947A52EB
+D437C9354185B43A4AC299C20AC267FA110508FA24DF66E2EF53A781B0000D06
+2B3589A4E8FC4277A956BC7EF8CAF57FE644C44198499F566DC3843EE31E17A1
+E63B14A615A3B89AD5F16B34EFE495493112F536ABA91750DDB8FD1F558BC74B
+199FF3A48D9BD0DE21B54E3387805AD1B9F105E511569AD44D1191207557AAE5
+CDD74D81C65FC06598248A72A91E9865E736FEB8526E1532620BFEFD7CDBA684
+70F0EAACDB044A1FC37BF155BC61500A207BA16200F7A7EF5C98F7C0BA0CE63D
+DAAF59F0FD04BE25E822AC796F52829BB0048393AADDD343D25734A256C6CA04
+F3F5F041264034247668EBF3C859103930B3B08C595BF890CA60C1E429233A39
+E996C06BE6EB32CD6A1560BB6378C435A1736AFDAE01C0A13F37B8E9C3334DC3
+C385AF8FE1AAE8ABB777EC8555DE3E74A433D47217F9D05CC291D9936CB04652
+9E3DC449849E4E8A012E8DF58F8DB4D3B042445DB2A5F3E98B2005746950F402
+A22085D5DDC5FEF15D8D38DDBC6E5F8261506E3C508EFF3B7C08C1EE8E4B1349
+A845343908E5B9F93CA25ECE6AF6F3AACF4BF3350C703C582842F59CEEE1025A
+406082C780B92205B359155B095CCE851DFE85D83D6842238E0E15DE2DA0BCC9
+F03921E124EE06E5A282DF6F82B2ADD92D0BA0ADB809BBEEAF5DDF399B26A608
+7E89D51E25EC5E70277FA6A96C4F786BA1BB8478A975989F4014887BC73F16E7
+335179472B4B623F160CE46ACFA8CC210652093E8361DE1735A2AD37D923A906
+838167A8060DC4B749F6B62381ADB5B8932502DC3FB47236FD7837172F22FFF1
+2C33897F244B9873F88A29F222299D7E08F79D07FEE3E4ED09F5F9DD29E9E7CE
+450FAC5DDFD241F896AF6680B45011D095CACD10C395966A9C6DA794EF0E81DE
+68298ED97FAFBE0ACE1430713BF604E55CBD770F5B120828AF486B25776581AF
+F6D733602666FEA868B6AE2818B77E7FD71F06A4EE3CB15D19DDF679DEAF17EF
+E0DF14CDDA21C09B4A6FB966CFF6F8B58C042A7F0BD75DBB6DB7EB81C1C134DE
+D84BCF8E507600DFA6D5AB32E9A27BF4DB8EDB419C4D94C6B934B1FD9462E7F9
+CFBAFEF8FCB7D86FFDED8A7470A0A4D8113FE70EA8DE74E19C5F5ADC4B01D4C1
+B27E1393D3449B1285D6F0F0A9041B936A41C3218941B33D3472F46DDA0DEC84
+A0339B5218CBE53DE3516774BA6DEA013C9FB3039BF4DA71BD5D6A5C5CA415C8
+
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1378,265 +1956,120 @@ F2767EEF4968983FB8DFD7F731D2065593488D21D2CE61DD0F106E0CA36C7616
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMR8
-%!PS-AdobeFont-1.1: CMR8 1.0
-%%CreationDate: 1991 Aug 20 16:39:40
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.1: CMTI10 1.00B
+%%CreationDate: 1992 Feb 19 19:56:16
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.0) readonly def
+/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR8) readonly def
+/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
-/ItalicAngle 0 def
+/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMR8 def
+/FontName /CMTI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 39 /quoteright put
-dup 45 /hyphen put
-dup 49 /one put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 76 /L put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 91 /bracketleft put
-dup 97 /a put
-dup 99 /c put
-dup 101 /e put
-dup 106 /j put
-dup 107 /k put
+dup 12 /fi put
+dup 103 /g put
+dup 105 /i put
dup 110 /n put
-dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
-dup 117 /u put
-readonly def
-/FontBBox{-36 -250 1070 750}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
-68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
-3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65
-48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3
-9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB
-0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB
-8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F
-EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466
-FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3
-9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62
-D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8
-9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5
-ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6
-10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582
-83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493
-2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA912A2BCC6CA6105B29
-044005DDBEAF88E0F05541BBD233977A447B469F013D8535A9D7023CC0FB7B49
-A95CD2B6F18935C37F49E9A73E97A8602C5C26EE13D7A04A188336FCAB4CDEE0
-23DE9D803FD6E8D846B3F729BD36137E834E016242CD2F7BF048959DD45AD413
-19B985D05E5D422F3D0968375EA6A90FBEBF8B42B15F15280469D69629C08A42
-1C298CC027CC288B9C984239ABB96B6A891C1360D08F9ECC22202861E4CE9B39
-8BF6B05F0B97F8FDED86BDA32D9EE6204BEE321529D58F28F7A9B3D04A4469E2
-775A8B43DF5350CA25E95F1794CEA94B99AA02F3498C608E6277595DFEC6CC7C
-965B69856CB2AFCAA52F66F5A019C999A1C79906EADED8AB0A185F84F5FC544F
-B289E583A8AB4726F9538F4DDEA903CC1E623DC5EC25CD02353A4C9A63CCB7B3
-483A481AD7220714EED8EA179FD74724C7D1F7032527E25A43FB59367B10F3F9
-4BC23E2AD9F5744EB954C8A0086C0ED51450A8EE7DCA2BC27081C4F49FEFCFC0
-DE75DFA3E620747E85ED0F66EC590FE6CE40D08497B52B89FDD0EF6B1D4C0A8E
-FB12E7A909CA56C9A44DAE837CFB4515412DA996C9E3A430D48B20671F04448C
-51A14CB5E9B2565D33A0C0992D9456F3272776BAB972E4AD37CD9538F78BE951
-9A5898C0E3F68EBE589967254EC4E10B6010E386ECF44C742D37C64502DCB250
-E9CCD2AF341A18836489360B950DAB980CB0621155E647B6DE953A6DB1AF51B1
-31375114FB8E6AC909DF17A7362DA2ADAB0DF9ABF040426957B6264BA0DF2B48
-1AEAD8B9068A3E5A4D85166392CD12ED01738931E5683E83EE999C08C54AD19D
-FAE794A00EDFFB4F430DFF757CC2163DE77D79C3F0ECDF5D42A1B079729E276B
-DC2691D6B29EB3C37824D4A5C7A452C10C98E38FBD2437BB29CB8964ECB475F1
-3DF9D1EC2F4723CFC914DF067470AB81C22F69FF0A615F693C0BF7084FF67DE4
-741E765B47E222EFEF6DDCBCC5BB5EA3FE507959AA9CA4FF0CEB615938095738
-AE8107FB11FD1C35A85721CAF2FF491E90F4F15B4A8F8CBD72EAC28909FBD231
-B0A45D94469D2C03CC351E5C4127CD2334F94A1EE91FAF19DFAD50D49DDCA165
-1CC936EAC431720FEEEC3184C1578EC4E9C6084EF6C6A30A327A455DE14E72F2
-0ADF4A1DC4232577BA25B75DAFA460FC1E018DF361AA3A8874EB6B445F973459
-83E3C1D441BCF8A100C22DD2B94DF2E3EB57C2C792A2C789137911DC67926D62
-2848C29EC41A771243F46D48FC17133E004F9DA9202364E74773A22999E03437
-1D34277B9724E78020DFE394298E990132C6647546B2F95CC2B336C40A335EAE
-85E5CE36670AA9E28C37E43AE4D5CDBE11352105A1A23B2B781A88EAE094B83F
-D9FA26C3F500B5BA7E08758777F11A110679044B09CE57B64D1EA9BD4BCB4E71
-E15E27D15A83FC12ACE44971B199C9ECF06F20DBF062B6654DC6E15DAAED262B
-D645A7B0B9F6A4159201A1650DDD4F74EC78F5EC876A1F58F351BD3AAD7C46B9
-076F73EC8972CE1DA144C78E629FA13B34AF57913B2101A4A236DDF2FCFF1834
-1C24D8360B9D8A24CE3AD889967CDE59D26511EE57B2C06F05AA04788E1231E2
-854E0A2EE1A5CC34B44547D9EBF87FBC6D1B9E0E5C0323D1BC82EE7358F247FF
-6EC3C4F7817F405F91B5AA3FAD663BA2F7E28FC7B50427449B942D0A3820D2C1
-A10EBEBAB909EC5072E37106156859B98B0EAFAEFB8E13A4EB6A1E004B525C69
-DDE72B04661C425A7E03FE440008695D45934CB6192B6A30A5CA8A3FC61D1EA1
-CC2E1F17EA42F6A562E063C2E66B90189D123E6570A485D5019BEABD9C39F639
-6601DA48143C88488B0484E823A382172B3133384336F5369928B5161B7AE927
-710CB575FD233FC0908DC203D3B9A8ADAA0F454054BD29B037F3FBE0AB0F5A50
-A3B80660E06E62CB7306FE8612909E8DF7A1CB7B39B77524CC7472B3964C7C21
-7F59E69BEB0EFB64AD1F79C38D246CB63F61BB31DAA2BCCEAFBC1F418F2B6DF0
-292B5F8A4763BD8BBAD841D0A08D3145064510D427C5978470067ED239D81F6B
-0A10477AC233C934CEA58FA051E7F1D915CCA135A0658BA7736574DEE0887216
-CA99343D134715DBD2A5C46B3BD995A4B106DFE5A24347DFE38A14CBBAE8DBF4
-F8B7F782BA8FC181C3F8FB1DEC2C706D7DCCCD97EE254FAE1A9FC6B2466C04AF
-626E2A59C8B4E96FFF0DDA9872209084296276E54C5E8BB93E043BD9C9A36AED
-2C3E82BCBECEEB0C2DE7356F71235D9CF94EFDD4098B0DA80ADEC47ADA99A946
-B79DCE7274C6DC92757550B7FBF608886D3196206A3ACAAC643395C000541E5D
-19C9EBC62BE7AF3F3F81BBCB0476BE81B2083E8802DF643E0E4A8C873D17BDA3
-76141A6F8C990869A3DCD7AB7F46C701DC92ABDF4AD9F38F01D2005415C1BADA
-9832C0888E5926C5344B85F4830C17FC928A585CC745DC25A7CEF3B4D41C6680
-219EAF65CADA5524F5FB1F09343CC28AED8FB7A164C25F9CC5E8FC6180D08D88
-509A93BF0AC28ABF2B9C27D5707C4F0188E843E3E8DC73A58D74B4D88525F699
-5B98C71A6982D6DBB65B105B2D6E65E8171D915D8A1BBD89BB160C96F478D61C
-EC0FBEEB9AF29705CCD13061097953825DA7354112DD72F1AAF30EBF508A5A02
-6C7680AC7583974BF6A82F4AB9F35260EACEC1C9036C12C88B28B3C2467E4FDD
-A22FF5FE59355DD4BFD849B5AC6C9F52DC51A3B8A4CD1AA7491E785B0DF81C1E
-33B610B2F1B3595C0D82B86789D548A92C20F5177B17C35A961F858D7DF0CE07
-CF9A957E2FE826F2C6ACE69A2082EEFD86D932C9C3574160AF7784CFA05C1EB1
-A881D7AFEB71668F1DEDA3F8055640E7CB2E7DD23139FDD37373FC6DFEA85C22
-B59330D72D6331B8A1D28A9B3D2172A177AE5CF0D22D28A1911F9F3FA700D355
-F84230610E2B79A735889C5CC591347AC17F9E65C03C0A1CDA2CEF75CF01D6C7
-C6D5F727258F499B09B0A042A97F7ACDDD7B188A5B917E3D7E7A411A0AC84F59
-B96A7DC581B81019168C31F7E5F6EB8211F1F44B785391D41E89565385D15D9F
-66FB6986A66B2460B4C8229E244A322ED81FEBCA8E2827E4A5E54236E33A788D
-0A06625F92AA6347A73A477A6A37292BDBF2DF42D5FDB1027DCBC8E481147AB3
-7779E5EF008A67808490E7904DFC740E38BC185CF0C8F0C9002606D31764AE5D
-FC5F6E9C330D43ECA95380B988084074E8C268FDFA357F7045B7603DFFC5B0BD
-01B257B0A754A14A565FA0D8C89CF7C4C9FB69445ACF7ABEDBEEC24C87E89889
-61DAF3144291D4A8E7ABB3CA95F9E89AE84649419A20ACFE872E8BF81C523626
-6CC14EDFE5565FA25E65290EC272E2DCE660A916D60C07C4C9CFBF539C7B5497
-C55F8FA22CC53374F6E07374A73B0F6F68FC0376703B6E73B319312448DD1CB1
-962E16A84A3873A322E7B3C737B42E18D53B02BE9EDB07D21663D0ED6443538A
-276EC167D6DE7B94625C6254FB5555DA81B5D6CC92191D15C002F813A73E19A4
-A7C63106EB5C5EA7BD9E1FF3D4C3BFB6265C48AB48CC4A3FBA55B0D2D8795D55
-484F3E387BB56602B8C2EC4D04A8E123AD02422D1FA04809A7F2884957E9DAD7
-EDE67F91D63FD0D73D89D9BB9126B5DF3C1C09CFC81A7C60CF6463ABA6197D2E
-CC1E8339E2F5A26569838E66E7024DE8BF50BFFA3F1E6A923D363DAFE4751B48
-D5ED2CD68C5C8F248CA0C0A9B9CE506BE17B4044FE73003395274498928E081C
-450385B2F2D9FBF91871109F137E52CCA8035C9B30D3419901F342AAB26F874E
-449F214DD406C210DCC35EA89E6A0397E5AB4725586EA12B8C10F41D292F9140
-115A57DFF19496AD04C0D9A640F7AA25E9E22A05B23C7A6FBCC115E3DAC7A34E
-BCE9EC19AE54BCA3A7FEA7AA0C23B24870FBCD9BB15AB17F7002CC33ECD6F0EC
-4D43607C98126E7FF7A59EA187F3DEF3B6B1A174926B2D0CED8159B3741C0F67
-A16AACD009847CAFAD44B338D2A4F3148D6CA437A8F7709AB4D29EFC4A37C256
-5A3A52282ED1B5114C14045D2A3806C8A7DB6854EF7E158DB4CD6C4F84A46047
-098F6158763C0049A17CFADB12AA198B74E7AB62805556BD9DB8424A1037136B
-5AE30853446E67EE01770DC8153A906FC71DE0D8C85B86DDD62E6951B77E1709
-900338A3CB40515E0636185392979B2BE52FEAC763930A99019C675FBFB94041
-DC09D119540CE689EF7C3ABA5D62573F6E4559B44F3F8AE1C3D04540525A10F6
-501588CF0897D767C84E00896EE7CEF9FE832E772AFEAC08B1700F8F54056E19
-F05D44DA94063E497FA35C720A6EEBB2156BC1D91E68101C366AA5BC68CDC2BF
-90CB15EB12AE0F234B370EFC0B4A23C4E503EAF5529A032838C87F51FA806214
-41BF8EDBF22C89F8905D4C8F7260B2269180C6E3127ED31ABD878D74EA7BDE87
-F597D440AE923A58AB02D27E349CA7CC043B946D89D81C8AE4264863989AB2AE
-5061880897F46E6CF9519548AC8A01431C746C482F4B4C6166788D372CE9C997
-E233DF9597857AF04E493EAFCE780FD229D04F4FA02CE51ACF4BD4CE1917F19D
-12C4B25B1A3575F0B41317EEA24DE1BEFDB1BC3AFD5F61E512238726E8E3A31A
-8B2F3BE79948C8B1B6CA815AEFE34B90DB93B7282C775D1FE88632A41B4FCBD2
-A05A9A04968293E79A8FE18892B806179790119BA3FE378B2AC882295A25C7FB
-59C0F458CB0FA4B103153A2AA534C24ED96976843EA8B30E30E6DB279426C24F
-DB7D8ADC3FAEDDE6F204824C5ED8A31E10FA0B8DAD46E1BDC4E80436148D1134
-09D08C56667DE58A1E78DA8103A4E9D6ED7DEACF7561BF0C85039468226296AC
-861156CB0F0FF2FEC76D2A32E7E49C48F06A95D61A2FE40F135634BCB99FE538
-1F8492A5CEAC9CD4AC76533C237259E077AF4F1F26B3D1B0EC473CD56D3BAA8B
-CDDAE26E7CEFBED818C1DD83AB0142EBB928E6FBC0697FD81B7A73B5CA05A16F
-11EC2428A8A77674D63707F0C91D78EC64F8D5F648199904AFCB27DFB49FC8B4
-CBFC4869BC0A2FCFC7AB259DDF59A941CF4A1D4AD4F451CD7FBDB168FF72038B
-F1578D89C8F938FF72D408753AD113114460BEB902B7A0EC4F37A6FE3117E4CB
-625A664D7FC480E986681C7E3055036ADB8546EAC44B5F12CB4001039A9DE56F
-A61D523DE1B0F83609E46E38CFE4146049420154A9C7C75622032404970B674D
-4F79BC99A5F3F720A45709338E8C6A529257281CC880C8C77CDD0F7E6B495D67
-AB139E3DA9CCC3C99306C3CE9B0E53D77B1A009A261B8A22B789BB67934EE7F3
-A1CA8C2170082F18903F335085FE5219EB3CD0ED4DC01C9A45426C26046219F5
-3CA60CADB58F6ADE1FEAB848184067C6ABFC365553E20960EDF70DC319FF9574
-654155F8AEFD9864A839EF5E0327291C8784AA2DADD37665FD8A2D70066411CA
-C88205E79FF0E2C2FEED0661FFD3736A81A26AEF35599A7463B9F036D6B22AF5
-A6B0C9254F72BECE010800BB32100A745954D96F9A273D5BAC6658B5433BAA80
-22B18397514F4C3DA8D0AFE9ECF437788CF11071BEDBFA9D5FCE42FB0896FFC9
-629971DF9C78E9C40B065C909971202797E90387D12835DF3D305370094E9B37
-4D294623FD09CFDEE5CA6F75827A69303D30026AB518BE812F021C7B25AAFE70
-6485201252BE6AD4F19F33A18844904890003E57A763FCA21B0744BDEE1473E0
-CDD16D4A0A20DDC9B9CCD3E7146C95696FBAD1D1426C6EFF8733219106B56B58
-42DFF423398F878930F85DA3245F6E248E98674144209F1DEFC9BB3D80F4425E
-F6CF06E89522871DAC2865
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMSY9
-%!PS-AdobeFont-1.1: CMSY9 1.0
-%%CreationDate: 1991 Aug 15 07:22:27
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMSY9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.035 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMSY9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 104 /angbracketleft put
-dup 105 /angbracketright put
readonly def
-/FontBBox{-30 -958 1146 777}readonly def
+/FontBBox{-163 -250 1146 969}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
-7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
-A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
-E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
-221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
-27D1663E0B62F461F6E40A5D6676D0037D33F24E2FAC2B0009AD3C8350CDF8CC
-65BCA87979C36D14CB552E9A985E48BE4E88ECA16DF418749AF04FDD2B0E1380
-D281BB2476BB45FF30946B247DFD7F57305FA87E50CA338121C71CDFDF927A9C
-77FF14CB4A1D6D80356FB1171ED38C37702350497B44E42CE31DB2F493807DAA
-15B887C671199A54C4C1294BC520F5538C15556BC43C9F62342B121C6DCD6C5F
-491DA47FF360201EE21C08A781ED0589A6DF91B99FE118B9B29E4F068672E52F
-1A06C514D91C4C937D4E642503392B1CD1BF5AF0BCA28EBD840AD76CC39AD7AA
-CF2C05711374F7849708E1106F88737C9AA60612D384CA8C173FF1031EBF6EA4
-176136DE1B9F29E40E82680A2CFFDC24DA05853307F1D1F6537D061EBCBCC5AE
-E6316380ECD8E63ACBEA9FD1FC28949366850AAABCBC9552CAB2CA3BB934C8A2
-14C9DFADE24D9214858B1D42B2171DB18A475AF78868C2549F19555AAB07F586
-58B28541C74E14F28B68DA42A9D46C031CBD74FC09BFEAA3AC1DDC68B7B71B81
-6003C9C6AC8EDDDC046D247A2B8AFA63A3B1BA1F12AE0B4DD07327F0138BF470
-4630E4B5DA55C194F454EE2E872E0ABE6B879DF2E87CF81F75D79F458F7D3F81
-FDB76C15EEC4125D18685E1D8591C54C0B0D069E2ED73434617B9D30E64457E6
-1542E4630E848948FF2747D5C31B9C314AE108931003DB9F76644DB43D245499
-2D28E8452E50B1945E13A5DE2A8B93523D3671D1C7ED07EAB6FFB559E5A1F828
-B22D2FAF349B40C3B31FE806595F67C5E75260514F456FA0013668D948619514
-0EFFC35C1AA131AF8578A254AE62CA75A6631489C78CCE633A3B302BFACB
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
+21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
+06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
+55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
+B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
+0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
+1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
+7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
+7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
+356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
+19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
+C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
+244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
+AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
+5C43C8942435D0AAA3D9055FF808F2C3C887A3C469BBD98F026D0A59E26BA9F9
+C2144CFE49A9AD892D4D31764F0AE3A10644AE3966B0A790684B14D11FA49785
+EC5565D2B2E584CBFD85125F3FAC133338DE35361943DCE9AF05FCF2840CE512
+998D42CBEC52B57B79DD63F00985881E8463396ADA47189A94DDF951A78866F0
+B8A3D9197E39335277EF2294308DA70065D910943A34F7D5F2090FB4AA42ED70
+CBA469A9F64B95A6FBA4BC89DBC93765E3AE4723162DF3F9D6BDE77DD5870ADE
+C8900D6346957B84C3CE88A8F9A12D46B8FCA50DF4433B0B8AED6A63B3DA102B
+6DF94E62408E24154BAAC66B2B249C695BC0FA37A28699D9C0F3EE94AA32E3C5
+8F8D7F803B5D25014D43A353D719B14B247A87898A960DF68C0C0BAF70C83917
+6E9F7B3ACC64DBAEF3FDCD3A80C0AB907EE342E543D607556CBE5A9089B86D1D
+E768F27D74A613F3ABF883222A8596B542EBF54E9DCE327B5682AEE5F6BCC38A
+2A052EC4018AE3189DC1963BA39ACDED8F0C60C83F8873FBBF0302010956C520
+A7F3F8ECD0F177EDF5F4D5522C5984A3678FF32EEEB570B69C142AB89467641F
+917155D646DAF3352E27BF2AA0746E062E48532256AF364EFC0F0AAE376F3017
+C712E89991FE883E0F1E1B613606E9AF74B88F5F6DA73D0D404213E34649F769
+0FD57EE53BA3AB1BE898A36A6C69C105794080673F792207DCCC4A2B4C286FA8
+0312B33A9868E0363A5F747EB5B1BD8C74C4F7409F719383A76416713D1C1CD5
+B6FEE2AC58A9F7C7BC2AB5BDFE432FFFD415BC5E2C87281D5AFB7F305BFB233F
+C94F2976074ADCA686329630F76FE55103638B3E6789D16715124F74E738F65F
+2C20A1BAA10DE8D7999BD71C25D9617996ABAC8D9D236DDFE3EC5BD58C0E23B5
+1718F4ED8FB93B5755B14432B34FBD200C85A27A8D57CA278EE5F2011424ADC2
+5EA98120F3BD3E9A5417343DE3CEAB46CD06753B4DC9748A63A1F81778E50ADD
+4D11D2674990DDBD0FA549B493D2B14A328ED349A294743BBDAA591900502401
+B2EBAB6D10E6DDC915875482CEF1C8D380396CB0C9BADAA9E16AE65B90E451E4
+31164B2EF7D6FE6B01D3F51FD511FF8B0B473A15D1FA6A3F93AAB6693F514FEC
+CD1DC7E680D2A4DC1F68FDC28DAF728260F61351AC7B0A94B0E41FBE9C0656A9
+74DFA32C245062C413EDB11F347A4FB0191947A7822960D1D433551BBD9B80B2
+4C455F4BD466FBEAA5172A9D6BE51BFDC5A00EB941A239DE2FA934B449F57F4D
+B5E8937C4F33FB22BF6D75E896E374F6777083AE87F0AD0B589BCB37B37C77B9
+DF15CB0E26A3A6A30B38B3542CFE21E1D03B98F68FB4991823714A78D1D6C723
+02BABF34BD67A073E70AFC66CC845FF87225510DCD5173F68808C3FF59FA8AE3
+B6379AB7338F1252EA8DECF059B5348BD217A31A5EB825A92DFBC3CBC7B6C092
+08821077F26B161219EC0A31B47079DC1C596A059645E62A8407D40088F7CABE
+A0E295F663A614767FAEB2DC4A54ED4DB9123B5A4038F958302D17CA2122273C
+6874C6B8A0680EB2143DAA63658748D8D6D18FEA07FD9E588DE6B14E329386C8
+A1E6E605044902C17AD8C88AA4B887489AA5817944AA6061CF7AD4177AB24BD8
+D093EE6E729CC62B89B0EBAF8EF9F1E2EA2605151E3F6FFBF26FFEEA24071ADF
+189E34D48D53FF6215F564954D7AECCA4BF90490DF52925650B794F41364DC35
+7E8FBC7318444A3BF37B5712AABF22D65B540EBB1D2558F1CFC742383D7A0235
+290164F4013B700C9BC36E79BFF016BD37CDC719172B808AB2E6635D6397433F
+96B5419A16849E79C090293F392F325F8621595D48A3945A6EB8822FDDB24300
+9C90929A3FEC02EF47788E17C790828418D8113197B771BA8DAA9AF0FBF2E181
+B45318FF2415743DEF5FA61ED8BC3187B1BE5EE1E3A3C57363BE4D70B2A4443C
+2551167A58FD9A6D4748145E7E2BAD9CB5B3862C922A2EFEDB9AFAFA7686C566
+76976BAD66FD5415E432C1E009EB49D7BF70588D598E37C6E35A47363821A9E8
+30CD209E39F5ACFA9B7F61213D7727799D110C0C007E43638DD294534D544B58
+CDDF225AFF4EDD16C38B00B4C7D42A726B855CE25217272EDF4AABC97E17BF2F
+2AD297530683FDCB7FD992200028CB6B8AC77BFDD48DE6F571716DC90CD26169
+F97FB7442E07E31B71F6A20FBC47797F656E598B7F9CB395CC8417A3928C78C8
+D07AB0CFB33225AD19D886B72C9241B46E3E2F7336B4E463EB616C7A37907A56
+6FAA23BB33A5A0CC604ECC307CA975E3EFEDAB1CFA5062D54602F283272DE03E
+6E9553F57CB7AA46306644B260B668BB80BCE0A4AEAD96E351A3588192579DF9
+EFE673F35B8B760FCE15FCA79A8DF1B0DDFE6F909A69B1F66517E5993D160D03
+38F36CDB4A671A4823A1BFD6F1691E09C97946A628144B376B7BC4DB13A214D5
+0C710605C5A51E2959A37E3B458BFCBD8586F9DF414E64EACE1FD2E47D5AB25F
+70927E04146395F6B4F5B68B6852B9D60C8962F9E0C5E4B6954AEA6970FEFC72
+7B4B324BF21A2CB2ABD997CC48B687E529F622AF45E72557157125FC4D1C58D8
+F2E84AB96B15CBC25FDFC63D30CA8679EB0821975FD333DDC43A7B80ED69ABDB
+CE8F667B2F234A12481CDDD18D6E5B468D5A5B87655D8AD2EDB8BCB88FA87E30
+A033421CB1AC2AA7C0FD0DEC85133E760A7178E7C8DC5FD394541B1796E6697B
+E9C692407D0098F2259FA18D136A3E5D4124EE15B2A396D0E24E1C3790FCA795
+FE794744F4349CDF895ACFFA5A4021D582006F2BD77FC69F81640507F7553CC5
+F5
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1669,20 +2102,14 @@ end readonly def
0 1 255 {1 index exch /.notdef put} for
dup 97 /a put
dup 99 /c put
-dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
-dup 104 /h put
dup 105 /i put
-dup 106 /j put
-dup 108 /l put
-dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 115 /s put
-dup 116 /t put
dup 117 /u put
dup 120 /x put
readonly def
@@ -1712,99 +2139,72 @@ CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2
24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD
9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3
933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307
-08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61FCD9
-3BA0C4AE0FF4F03CDB67A59BF0FA3EF565B71B6B46567F47386A37B73DC3EA3C
-83D600659CBE5CFDC9B84CE11D659D83352F5B6E9FF599E0E25244709CF94999
-F4490F79C766FA55136CD85D8BF793202FDD810A61844BCB7ADC5736C338B72E
-F6B6EACF402E22501162C7B985CABBE5CD653BD4BC882F3CDA306B8D82F8C256
-D66F86BB8D800556AD53683E35812ED61470F11E8444F0A97CA096FA37EE63A3
-BBABA37D240549D95D6FAA5EDE9867EE2CFED7EF929B833EADEFB9E4E9DB19D9
-2A013D3884F1A17AEB95D189CED0F4C80FFAE18F71733697202DDC4ACE91E6B4
-600332FB49F953444AA7005E65DA787EE3953EA2B0B928726553C7EC1309C5FD
-7B0B7AAC5BD4E2535866540043F5F6815D7171AC447EF63D8B79471B41F50C94
-7F405419204A80C33463AB00205F51545C7C6C723505DF68238D2591C25B7627
-7FC0F4A215B2F8F225A11763A97BC2AC25E060ACC4D3D6D3DE9065A8A2197F78
-EC0CDC9AB6036F8E6E83D0D099E78029C5A755C00A5F24B5F6EC435558707430
-C6C966526F7ABB1CD635BAF4BFD9904282239A224EDAD8330344A1796FB18580
-965F34F885F28CAFBD5519411FC833A319F8265B8E9A97AE064B1364B9A5A3A3
-C59E19620A53F82B108D9C48FD240A5252D2ACDBF4498973E31C9FF3AD4D943D
-01A6F9DEDC0060E9AA8EC38DFBEEB5A63DA4A6FC9981F3ED71818C4F3BBCDD6B
-4652824691C369D1052801AE761EC8CAB9EF46C6F820F88874B1ABB8FB907C14
-03C8990FD8106C3DC14882C3F651BB89B9E479B7ACBB958E39CE4279F8173F2C
-50369D3EC79B5679E8D3BC42B40C896B2A73180E94302FFE0AA5A6D6066CEC3C
-116115189CB0FE5B0700E898D624CC772E932B4ECEC87AB7DF9B71471ED7CBAC
-B8BA84825E9B2F69040D31CCDD677BEA51C6B718E2D1B86F718E3E4F05F1FA1B
-5B1426412EC3539F5499D3F31C78CA1F8C72F2E7674286A9F9B20871A0C76CE8
-E89CA4111EF6628FEA6FBE7D20853111EBC40167181B8B5D97391502C960AD15
-596D6B0D81F3B3E92A2386D378BC5B236BC35941963E587A08EC126F7EEEA860
-89CB644FAC8E77EACED049D7EE276760AAAD684E68D0126C7D22F180A132F942
-5F68A03E7EF07C70B50DC802FAA05BCF9E2EF3FF8B3D3F7C5963C4DFBEB9D11D
-899AB25979042DE940F02561249269A038B76EBC29ECCFA0D44C055319F4792C
-2B7B4CC47AEC4C83A349F0F3B281BF62B62DA0FB0D8F24A8CE1F73024815A802
-E08B9BFD14ABD611C7A9F764C5F91AAB5BAF2A2E46FC269495B2366129E3DB47
-D09E707549900C0D1578FE601E8EB803CA6BB80CC5A488F9B7F1D923DB5D06E3
-BF1E03DBADA701639A21B9CDB67BA8BF62D308DB4C460DAF18D4622AC03912B2
-4D904D416FB927600B42F271DE15F7286E52E53DAD4F2CEFC545845E1B7AFF3D
-8B25FDBB6E7215769E4225DD284F6D37C785FDB0C7DF182B54C443100EC58DFE
-18164FE653B9E5977148A6BF77BD089EEB8286024A719DB721F5D9EFC46E1DB5
-DDEA3CD883169686F0534B35EC91BB2BA6971F9FF44E8691A9D8C8E8C0262A6B
-F20B1497174C8A8FF6B3AF1323C59CBA4E3489BD8527FEA652B404AB552DBAAB
-F5FBC44D7BCDE495895A50516C6E9A10BB8691DBAB29506D703167134D567F83
-951418F611CE7323659EE60EACC8000F6BB0F7440C65BE980D82752CC3823169
-D2C934514CAB71FCD8C8FCE139BA03DB6BC7B9557E7B0BDC14681FF3370ED2EB
-A1B9C315C03528AA381ECD389EB53833074668FDA5DA2282E7E4433FF7B94457
-C3AA2874BFF73FB21A55441D3DD11489B5E0A4E8946D3F273EDF5A845587A422
-1915696A0D1B7C8CBCE3D3031A69DB3101AE7F547628BFF38D8E383DA16B52F0
-3D42676AB459769F2BD50C8F3CE7A6DC0430AC385636087783E98E6A4582291A
-F34E3F6120E5E2282C765E97F8A99EB922BE98FEFEB86587C63E9B10399F00AF
-CDABAFAD8A1EE367149C4618582BC85DE5D57FE6B7E8254E8B9ABFB9F4AB8635
-74A449F2AEC35A84ADF4ECA4940AA2AF136DA60EB8797EA726763974376893CE
-8F799E1F75FC012D4A41BD5A9A766CF23BE98CA3D31DDEC59F26E9E6531A3BD6
-3F4DEC954168D0CE948329C0DFC1F212F781C31F84484EBE4ABEA55923C9FBDE
-34BE6DC02B1A9E0EA6AC9F0D0710B0E88AB7E6D87534522D98EB39B41DF9D960
-CEA4A65D6311C0AAA6E189399222ED5B2F1728C7218E45E49923445FCD858633
-C8019929170C50BDF8411822AB2759A3CB38908E1CD5598DD89F68DF0B905204
-030F15C16AD938DB3389026234AF4B069B9EDED52215AA2B21AC72D505F1EB58
-88EA6D61E815EBD83D1BA7A6DED6F45A8F6AE0039AD41C88C4049299C1BEBDFB
-A464C2F55EC061926DB93DFCFE19A33F9EDA3971FF1681FC001AD37407FAACC4
-56CBA2C45031ABFB1E96E5AE1F7E4645FB6AD13702453FB79AAE8EF6B5D6CA9D
-1B3A37D4E80E9ACE57BF6249E3D1DF36945D9493FBF83AF7BB9F038AE96D364D
-73C2120587CC6AE260329F0786BEE3F282ACF41FD7DE5BF8E7DCFC3DB19E09B3
-85CDFFC5D9608B27F6ABAB2A0CD25FAE183D06E7E55C002B3A9200632DD9D964
-E8109EAC946C4C272006CDBD6CD8C2EDB0BCCEB7C5C25C9B6C7D881794533508
-2029A936DA935A17802F2EB438B5425CEFB51CEC94A7AB7A1558F0B132F57DB5
-ABE34B5ED234DB394D5764816730714AE3AFED28FF069789CD75B70CB7ED1C7B
-1D9F547BF6223C89F97C62D1DB03221A7984620DAF68EBEB934E2C1EF4E99038
-0BC9DBB60B893F8078480F5BAB81A981F849FBB8B6E9E64589D4BC777A493B08
-570577F541BCA84CB0AAFAD4DEFECE229C7E507EE332EF7C2335E6DC0EB71F79
-38EF17EDE68309834527EF9EF92C61922E5621184D850A97437332FB6CD40123
-C56153CAD67A63654221BDD5F3D04EB25D370A3CEF597D5EC664831DE2DF99F8
-CF42B7E665850C30610E9347AF7A8B2D2F6754E2C8807CA049253949E63C0C9C
-68FCE32046493B2E9E1622AC65F30AD17CBF3984F2DAE2B6D115D08A23B0B2E8
-C0568E23543E93C7480C9D73A7062B12F70F0A556FD197B92ACA0FD60D157236
-FAD51D36A8B8D1E81C768A88B2E9676E453F89231DE805877EF9A71B1AE80699
-1CD0C463EC1596B32B985DBFA9725AB31D23C40012B48BCA5D992961C1FED5EB
-BEFBCA7952AE46892A1DBB8C25DAD22CAE4159CC9B9CFD26BC91EA9E4A8E50B3
-6B04B3C75398E4B3038BA8DF88C51404E52EA5E9BD6E87F35F37296BFBE0BEE1
-07289BAC29B72510F6DE0219B636008F9D506249FED3D58B33CB47F9754089D8
-477B55E61B0FBFC7164B40B2FEA4E45F9966FD7BDD758B24BDE96D7E8FC5EED8
-9FB91D03A510EC8D2063C914E227497A4252C00554D745D35C7E2E59D4A03B9D
-66E72D62597C1FFB8F9A5889C1766E6701788E8383A0F9287CCD75E72EFF20BC
-702B606314BAF95676FB696302D25F1B1BF9417046A37D53858D2B8A5A3FFEE8
-FBC245D6F93DFA01460F98147E2D159D09C62E76B67E51383976C7CE861D4041
-075394791016B1EFB6429B4FB930792939820AC1C553F2B3E6691E09F0632689
-F59A1A8838AD3F8F758C0B79D5DE4BEE864633264BAF10EEE0E6D501A5EE9EEC
-3750CD6C91FB9F7E679A0B02885E8437764797BCC0613905B9CDEA87918D9E31
-EC63F4F1464DEDE470C527174B079979085BC03430CCAC7A92F7DF83DA2DECE2
-D770949B3F3FC1012C1EE7531E8637533507AFB20869F1323EB98406D8631E5D
-EDDDEF57DAE60EDB26BF66DAB185616D4245D0FA92A314F3995E8C7261443165
-A81E250357D84A0642395D09A017E324A381048D8A9AC7D42F7D1DC471252E26
-DCFC25EAABE8C12E59045C0BC2F790C8C71A7BB6C0FAF914940BB78310C38A52
-74A6A3D3B19382171B8E7AF8A9CAE10512E942D928A52F10D4134FB66C60A915
-FB663A6BE31AB27F6F7AF2F121FB6BF1AB79C76EEA3BBDCA392F4EE64DF93EC4
-AF5D2528E66ECA77E134EC3D4368E0AD8055D782D5BCE2E43F5830F34AD1D64B
-9797DF1416046326290DCEDF3EA07175381A8C1D268B5A6E7C7C864AF59EE9A7
-1E1042EE5F23D303DB1B0A940D7C40950B4F7C60A78AE637
+08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61FCD3
+64512116F2751A1B95D2439E266074DB3B9FC76ED319B2851588B1F38F46C8FE
+040793C860F05E26700B72A766D0BF3F6F2EDEE06A26866BF0207CEF2841BCD2
+84F5873A147D5BAD18FD74DF7B77B8CF1913AD882DC1F4A94020B2A8A73237BB
+222E6B78BD1C4C0975B9B6683B5DFBFA693970DD53FB5D5CA5805B7728C11D6F
+92E6293F82E628C9FDD901010DEC199055B6682D6B2A688E3EE8759F7E592F54
+43E63699F1D60CD915365B85B8713DC4EB3EC4D2860880035348966F004FBE18
+9299E1DD0D491A5D542D450C8945321BFB9E823E18D1F33178BECAADD34378BF
+6FDE26691802F24E43CFA4ED1FB81C824F808A049085FA95CA518D9F4EE91D78
+26A8B8B461486419D598E7E341E9D43CED2402BF225B2C75CEE127D8B8633FC3
+6F4F69DBAF7134D4F3D669B35822FA701A441E5FBA3DC1F02A00B25C583EDB52
+4D4D488C6A810128777654B956C3CCE8FFB0D1985AE2A2735BA415941D1CAD5D
+62D9DBBF01CC979B8E1509F5DDD3BA6E87B14879955F978209CB398825E40199
+2B1C7D2C55251F321BAC0764D40B80D7AE1B787E5690CB5907719044B2AC832C
+C002C181088BA15AEFDA44D2305E6327358D1DC1D9B93AB1802FE9F24CF49739
+9863288D0195F5610441122648F5E38208E1AE5F01D1966DE10B8AAC02EF9F2E
+27D2383BC6D5BF9DA8F9018BABA01B70755FCA281588B85BB705FB7016F6D7D6
+8607BD0739433B54DFB87614A76902A3C122F39A21E80CC1970C5A6932C6046A
+771484EA9BD04CF0963E1D372B456C50625807B3557384F5368C520E757716F0
+16EF17F3A58F2F7EA42C9BFE2A64AE786F49213CC47B496B8F127696EDD017A2
+A07FD72357F4D847CE1EC8103EECDE35AA194F9CE466E733F66515749B3C36DB
+6F7E83B31034687CE18CBD15342723FC21689731B45C72DA278994FF8C5824A0
+EFE9F8D734D75C3C263F9D4BEACDD86406567055B1A8A5EF73ACAB4A09255E39
+BE9AD89DBF4624E686541E2FF03742C99BE71E7CE3B4756A22CA4B0121E1FC6D
+D62BB37F46B6EDA0AC3669802D1DF75B0F9F61976B2FA2DFB5AE2274CF08A000
+AB716CF047D7770A76B6577C75D806D878BC185C4117FD7BBE29E767E028633D
+257C34395F8988DE13F0F9083823F028E05D16BAB6B3E9002F01AD5039CA62BD
+07AE9C5FA71D6F234899382F90EBCC371C5501FE01E38646BC3C734C7E2C1AA2
+11355703BE46724DD85F5DB4051F65E48A3E8DA4CF8845BB4B3F39C47000E871
+AD2FB60C3161437D8C76A10377B98456BC205F3676D02132B174AC046658D059
+5E506F3C4178C400AD4E721AD613199FD1395413EC7AE6960F96849D6A26F695
+B78395941D62A7F7B6E25CD6824E78804A8CFA780E9919BA860C2951EB88DB5B
+C2F9E9AF635BD2C95C7D6AD4BA85E4B85483EEA4EF1908E3D5451AF6EE9176C2
+BA3F1622024250AC2A1F8E66811EE9C1608FDE0E91287AFBEFB43800212C90C1
+6D2D8066C742EAC7D611CB9F0590AB2AA66C17340FC81E55C339FE83B68D060B
+33A10B037B3370E351168E98E9DC4E8AB2B909879566CC28DD053B6EEB04A3EE
+6016A02EBB0E8D0BDB7F0B1B3BEC8C559F48448AFBBFFF5E11051516E9CB5F45
+6F38CEADF429570FB2DEC6E13CFB2A59D5FFBF0A2396FE9F7B3A0836C76B06CF
+9B9D99035BFF40EA918DC4A8CBF4576809F49DF330A9F742AB2FB385C9382076
+6FA8BB32BA81FA3E57E91BB6757C6E98047E9537A0595EC0F2A9BB2D3E093294
+023360099DC1D4EBE77960AB4E26211D1A75ADE1C764E5C2E80EC234F678159E
+3E64331306FB3E2BE3AE0CFEED0FC3F583E875A98694742C3DEDC35CCD9D45B5
+D4200D69F93C5B730AF952EA0DCC88EE1F6D50B9477E249C6274EA0FD849B537
+BA497FBD6617943E7BE06CAF71A0F6B13CFFBB51AEF3E042F28BFCAD6CBA2DBA
+CECBDB7BB399AF5D80487592A820F82A7255B46A0D7C739CCF16B7F60B709651
+0B91A26FF4854483DEF0336B7633C1E053BA889F4306F7398D85C3EBE21A5A41
+B7DB32141ACA892DDD4C0FE0C95328A70F53DD95940017CFA865D15FB0BB281A
+13E2CF735AB238D278FE175EB8B72337218B5F66B62FFD912FCCD0E180AA69D4
+23701D46D44EC2E80D3C4275DC7B5848F50682394C4E67ED98A2E6B41C348263
+EABA9705AA74CD35EC6E1D9DD55634102C6633ED9117DD472DA7F41705DC5772
+72A3C2D8BF6B308567D07153BC750C8CE867E40355C3D50747B757E52F7575DF
+9B5B913AF7FC3FDBEB317DA46DB498C7C044F83E46BAA00321A84DAE2DF14604
+12031AF813C994414F098824C30FC07E9B5307EFD8D01B56481BBD2EF648A69E
+7507FED42C6605B09EA047F09DFA9BE15B59B93395DF192C0FB33F6F31F325E4
+DCC9A5DFAA157D1D5B4E5BF811F6F5B0FD1E69ED7EE1A6FBC2CE14D11D6FA699
+255370376844BFF3C2BE814A1FEDD0B0854647B9B193B4984394C8602820A17C
+62704CEEC824C3C745BC615C54EE5DF86EBD79E874CC3522F8B8954C8E4A6FB4
+F715EE641A3D52C06574E8D7DCFCE83F3F8809D08A3C9C70C962D33F5B3D6128
+16EF2DCD4D6DCF0DD055AEA2293E10C1B7C2399C0DE4928F0A47E0BA652943B1
+004568BBA7CE62F12C7B58966BBF7B0327481DCCFC56218E7C4B9F0761063BA3
+BEA01AD1BC99DB3C1FE550DED79B243A7A554F2B1752F18FEE94120B708FE4DB
+5948387091DF4198859CF49ECAC3AB49CE2E5F0451EA4EDF9BD49633C9826026
+BC9E7E1544A0318C545ED1C37C64176504D175B83CF974B4ACC39F5790E24B11
+85F01604144C0E694DB7206941933B60651A800DF182E19C3BF2862E72F25F2F
+2D9BD71056559C0FE547D0C752640DD4DC6110A849CF9557FCB0643A1EE77855
+512015F57A80140FC06B8CDEABC5580B89F9F30A489696AEF2
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1815,36 +2215,29 @@ AF5D2528E66ECA77E134EC3D4368E0AD8055D782D5BCE2E43F5830F34AD1D64B
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMTI10
-%!PS-AdobeFont-1.1: CMTI10 1.00B
-%%CreationDate: 1992 Feb 19 19:56:16
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
+/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTI10) readonly def
+/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMTI10 def
+/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 46 /period put
-dup 103 /g put
-dup 105 /i put
-dup 110 /n put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
+dup 58 /period put
readonly def
-/FontBBox{-163 -250 1146 969}readonly def
+/FontBBox{-32 -250 1048 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -1853,85 +2246,31 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
-21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
-06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
-55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
-B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
-0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
-1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
-7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
-7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
-356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
-19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
-C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
-244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
-AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
-5C43C8942435D0AAA3D9055FF808F2C3C887A3C469BBD98F026D0A59E26BA9F9
-C2144CFE49A9AD892D4D31764F0AE3A10644AE3966B0A790684B14D11FA49785
-EC5565D2B2E584CBFD85125F3FAC133338DE35361943DCE9AF05FCF2840CE512
-998D42CBEC52B57B79DD63F00985881E8463396ADA47189A94DDF951A78866F0
-B8A3D9197E39335277EF2294308DA70065D910943A34F7D5F2090FB4AA42ED70
-CBA469A9F64B95A6FBA4BC89DBC93765E3AE4723162DF3F9D6BDE77DD5870ADE
-C8900D6346957B84C3CE88A8F9A12D46B8FCA50DF4433B0B8AED6A63B3DA102B
-6DF94E62408E24154BAAC66B2B249C695BC0FA37A28699D9C0F3EE94AA32E3C5
-8F8D7F803B5D25014D43A353D719B14B247A87898A960DF68C0C0BAF70C83917
-6E9F7B3ACC64DBAEF3FDCD3A80C0AB907EE342E543D607556CBE5A9089B86D1D
-E768F27D74A613F3ABF883222A8596B542EBF54E9DCE327B5682AEE5F6BCC38A
-2A052EC4018AE3189DC1963BA39ACDED8F0C60C83F8873FBBF0302010956C520
-A7F3F8ECD0F177EDF5F4D5522C5984A3678FF32EEEB570B69C142AB89467641F
-917155D646DAF3352E27BF2AA0746E062E48532256AF364EFC0F0AAE376E624E
-9AD3584A518EC3FAF11CCE2A784CACFA20E5CC2C563F050108E5A31F24C3CAAD
-39530C986207419E06D062C04A796866A389937AE12ED688151DFAFF76CFD9AA
-3DADB718D5F830EA5375F84DF1B5E19FEA8EF52D1331E2BF8DD5BD46823BECC6
-EFD148B90FE1EA1C926BA53E29006669CD65F2B8FCF8777C8A08C4129AEF556F
-823B417C1EC60D4D21DDF63AF64FF17AE30B25E7056D40A9D0B4EC3CBEE5AA29
-9F5325AB65F2D0430631AEA89CFFB2226A629CCAF7531010DFA691A870B11EF9
-9C2A14F7B974FE6AEA62166984E6BC9BFEBE3043876197DB36A0681E77916977
-A02E621F35ED732834D4DF8CAFFB0A66CCD1A00F744C3D7942A56B2CEDDC4A39
-6C401F31825A8F6A6B701F8A936C6239A46F05EDDC26EF113D85A2735ABCC8CE
-3A610C9CAB64105D274753360D39279E773A5275721816E6E90029081F401732
-3E3454BAB1BDF5764E24775007201E9E1F1B4637ACDAE0C1CF1F9D4E9E138FEA
-3475AACFBD9577A7642DE946E674104CDA673214C5C471F0428A288C3EF70F77
-1588D718076816F0285AFF8B99B7E67C15F9A2D1713AAA308517A5BE32B913E5
-5B79654AFF3B1477BB62E0A2ABC19A8B8630F1DEE1CEFB1B0DFF8B7AB7A2F83B
-5034ABB0A2ADD6EE05A65A4AE3B10532294636722DA7050502ED45183CD9B6E8
-46962E396F3651909C0834A863A42CD67F8B2B728116C04215A66C8AA2E9B544
-CC29B88F87E3F0B1D90EB59B1D1DF8527639B04E26968CB432D00467BEBB6425
-BE3259999F836D20FC9A1AC63128F6FBF55DB8A5548EB9E005EA2704B3890DDA
-E1E13B526436C48CB86DDAAE2DAE2A44F6C4DA89423A78E2BE66B1DB4644F89D
-5595DB6DE697477049B8BB9B70ADD0A8B98EF241F29D13931D766FD7828477CC
-43552BA4730645EA9DF1C81454B8A249DE76A2E8149151E06A913A3CD6AD003D
-07596F163982A0B61332B160F6326B8B6AB35165911756703A7FA51DE3F501F5
-452A332D0BEA905E2CA286A8D89180EA19F7F9A3EFBB039E2F6B094E28B2F250
-29498F6247C39B03A584931B476385536EB5B6EC4AD830A03342B04903E507EE
-8E8FD5077875C4F796982EF26EACC99723DF26B5BB679A6E09C02A8EC4B19B40
-D8C2580B4498138FF17D83E27B09A7CD31444E0ACD690FD079DCA6B96D302AC2
-1BD12425B5C7B1E4F342D6B8BF9F8BCD7FD798D711A171E585F98362E3C1E099
-3BBA3D27AE611A8FDA9BAD5A3A5626B394676E6EE9BC512E49051A20C1C68366
-B68E65CA1CA19AA94B9255163C0239A1FDA8E13B6552967E6631447CD24FCA8B
-CD13CEA20CE893439B2DA75CA3F6F045C717F4E77ABF30EFDA7A6D5AAB19B574
-F4D9F6067A9DF203AD7F413BEE2D6A181C30072A0984D7403FDE31D2C67AEFE5
-70F4C9A72111808B5FBAF3FA5942DFB78A4873C7DC2F3124B1480D54830A87C3
-41B7E2C93075D463D4F5387355BCEF0FC770DF544B64D57A6462FA93B392F764
-684AF3002D6553E550BEE1D3D19FDF7E52FDD1C844F28E259B94A70333A6F691
-B3FAB06CBBFA69239700BFADF0DCA7B045EC531329B7F2428AE94C525FF6D2F0
-C31BD8BCB343E515E26E370BC857B6C1611B51884E468777D40C10631DACA065
-D35B0C058863E32E406F467029B99359116E1E27ED260DDFC920358BE0D55434
-890BF7EC1AF88BCCEE677B6A2E187E9D95F2ACCD8FE60ACDC09E3FD9A86171D2
-76B3A03012676CAE235860BF1BD6D036F8F12C13005F02B4386D345DC369A46D
-0237009413968E46C9C7316E3DEFB1DD5BD26D6F3BEA477C00D78BC2BAED119E
-372A67B5EAFCDD31DDC76E0925EB049432B306F0EB8350215B532360227170A0
-42C352ECA9023B67371472D74334F658C7B72F3DCDB7C2C7B4151634DF7B9ED8
-54E890487FCDA8D6205AA6778654F1FF87373C4DB6D56B51BF3B92A28C1968A1
-61C3266C66D5D2DFA341AEEBC12B1F5FDA92E58B721DE0714F53ECA05B15D7D2
-61C3EDBA7C1A2E0AAAD90035A5789B9B893BE52B734551707A92337FBDB8FBBB
-CB4D2CFC01E733C5ABB75632D92A204716BC1ACC31CA8F905597F35668AE6D5C
-54AB11DEC823F3F6B1F8FF744F454F2D5083157939A3FF1614D091862D6F9DC6
-38B007C3B968EBF674E224E1E20046E15AF1DAA96471A61114B9C5BB4E876808
-630B4F79AC2B85B1D0DF587DACBD9A55FCF2B05CF4769547E5B793BA86E7B150
-253D1547EBD10FD4529B6FE7ADE487B9736445B32BFE539BDFFADF3CDABBF446
-
+9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
+990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
+6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
+DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
+59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
+D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
+8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
+6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
+1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
+03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
+95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
+74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
+3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
+47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
+AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
+42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
+40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
+B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
+9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD
+0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE
+E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C
+7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37
+88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6
+DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1
+AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1942,29 +2281,29 @@ CB4D2CFC01E733C5ABB75632D92A204716BC1ACC31CA8F905597F35668AE6D5C
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMBXTI10
-%!PS-AdobeFont-1.1: CMBXTI10 1.0
-%%CreationDate: 1991 Aug 18 17:46:30
+%%BeginFont: CMMI12
+%!PS-AdobeFont-1.1: CMMI12 1.100
+%%CreationDate: 1996 Jul 27 08:57:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
-/version (1.0) readonly def
+/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBXTI10) readonly def
+/FullName (CMMI12) readonly def
/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
+/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
-/FontName /CMBXTI10 def
+/FontName /CMMI12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 46 /period put
+dup 58 /period put
readonly def
-/FontBBox{-29 -250 1274 754}readonly def
+/FontBBox{-30 -250 1026 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -1972,32 +2311,32 @@ D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
-E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
-BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
-3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
-F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
-C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
-BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
-2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
-879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
-141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
-63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
-4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
-FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
-395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
-82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
-763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
-165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
-57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
-E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
-178DAA7C97C35EAFA47778CE03E863303582D8A9900EF4F8DA879DED54BACD7A
-4A50C18AA2ED906FC4DC073B1E6CA1E3855AD5B7698EF4A96B77DBE19A12382A
-CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4
-890359E7E04690BFFA99FAB5CC9999F0873A9DBE49E33F79E483FAD72313DF9A
-7B7D926461988C23CCE9F71AB7BB63BDB2B10B3F78176380AFFC154825C9BDCE
-82303FBFC3B59E070438984C28D12E8655BBBF049125BF56DD2B0DE8C0450E55
-82832DA59EBEB001AAD86F2317460DD7ED264611B9043614221ECF
+D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
+5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
+4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
+3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
+EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
+4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
+2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
+323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
+2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
+D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
+5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
+0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
+A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
+2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
+00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
+CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
+99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
+C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
+5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
+55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49
+335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146
+BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888
+15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10
+0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8
+23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2
+378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -2572,626 +2911,48 @@ F852E26DF056F7B5E3A2A54DDAAF6351193DD4BA2923EF40D6388324AA7913A8
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.1: CMR10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:52
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 13 /fl put
-dup 34 /quotedblright put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 92 /quotedblleft put
-dup 93 /bracketright put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /endash put
-dup 124 /emdash put
-readonly def
-/FontBBox{-251 -250 1009 969}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
-87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
-D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
-92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
-295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
-409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
-4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
-2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
-0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
-B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
-24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
-43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
-D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
-5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
-96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
-7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
-0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
-B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
-AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
-97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
-FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
-20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
-0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F90A32C4175B6BFB279
-024EAE1B04D721A6C54FD62484F8949B2CE9B87D9CEE04DFF82BF14931B3CA03
-AA5F701B6F80BBCDF2C427C40A51597F0B1BFA25EDD7CE0EAF2EC676BF0059B7
-15DD5462BA30DE78A08DD533DC0E8D85F9DAFC5FD842F417265427E0F1B71834
-D2BF6EFAC3CCC40D3EF3B2E2080F148441BA45E5D0C0F7D8416730AF4BE4FC93
-1E965594E0364F0D4F1EC48004CEBDDAFB1F0EE0A8222358EAC0F62E6BFA3C9F
-46875EB4C999219B91E6147A49A668505667030CDF3495682B79C0F614AAEE68
-D976EFCDCB04127C0D7325A2211E49CD316935A0B472D1F9FFC68F7FBEBC7582
-036CB393016193A9783DD08D647E89C5BA4EFC8701BCCB6A5C027C4FA8644C06
-251B9E33FFEBB1B84AC4D4B148205C8CA7AF5EF97F2788EFB0B71473AD0F5EB4
-FC43F46602C53E53F5A6D1E445439F65967C51EAB636178FA377DB2DDE5FEF41
-9E91F3BEBCFBD3B4EBB510A0DF7F4D19C6552BC98F10E25612B1396020D7836F
-A3D3C865661DB276E428F09F048A916B4F07D8FD01AC1942A3CA342B0E531BF2
-3E9A7AF265ACE1585E331A8F8B5AE06FF085C1F349215581FC7D68D16395D934
-79B3BD866A4BF33913DEB54B4D00ED5EFF3313FBD1C5E6AC430567872BD935F2
-AF1A3F892266CEAC15DEF43BCB83DB075A69EAD7D2EA53303F65E04C5673411D
-EDFB32156120099AC210E623BADDF2991F96813AFBC1126DF53A0A776AF7D61A
-6B42225A5AAC1B0AFDDB59C5922143A156EED76E3E1ED01ECC6ED9F61B5711DC
-C5709EF5A3CED45628AC1728DFE98F07389777E04A7E407E3B007017C96F6EE7
-D0FCC0426C4D734A0B108FD2BEB48FFB6D107C5AB8EBC3584F13A40E5508AD9D
-5A081286BFCE1D5DAF5F3D86515244B4D0D77AF9820A93B7C90420FF4B8D634C
-2C5697E3E04802E2CD7B9AB8368F1A9DC214CF893AFC7BA3A8DC24B0E549E106
-F04530708DD03367D8501655B1501645F17E547C1C948DEA7A4814F22E2A1D55
-5AF16C55D6BB4EE9929C9CEE82C4D6A16D70D17AFBBC6551BB2C9D8B69F5DAE2
-5DF6C2187ACEB119EE6087BAF5E79340D115C53E710CC7E4C771F43ADE91D2E1
-1AEF7BB2E6C9ABED010A835514EEB6C9A2C93396FA12E8CD0B2F9045587E51D2
-7E059224A889B3E7620E57AB6CACFD769898B3955661824DD4AFCB9A7B218DF9
-F84B369F52E246723C7D0B26C145DA0AF81C83DAA091143FBBBD2A414114E34C
-7C994D8401119D5A46856367EE3FBBBB32155A00E5314641288A6E1FCE47F385
-71C2F7A7602F777C11884DEFEFA560333458DD227E63F3FE68A762CAB0A7308A
-FC59C9B293233DFA257E5D10BD5F12B7652C45C4C50F14F17E59A758BD7355EE
-A89B1EC954B86642B87F814F936577429C467BC8E97A481ED15E2633AD73830B
-DDE3DE50E1EC439204C7FE350C69494823725920719D613907163AD63FE83C6D
-1CB6DA81A6C816C747542CA09493306B44A7DCE934B877DD356F38D07D3E0355
-CB149BE6ED646E84DB9DB61859F6FC45BCE13EE42458D1991AC34AAE6EA72320
-3EC6346C38CA87107618ED3C46C331623D8FAACC6CF9292B8F1B407806A0D480
-8F51A5BC97F6B15807F95CA9DC14C0F5FF3AF1881346AF82F65F0C9AC200DD03
-CD20E0C06E8AA4FA8B225DAA01BF6F07ED8B9C9577F5A565755A71A40D2A453B
-AEAAB4599F617CFEB0B809856CE021E25399D38570ACF8354798FDC2DA24F0A9
-3AE098F5EB8C400569A5D4178354CCE780B8CDCA570E6051F21ADDAFFE775A26
-F9222A6DEE1BB669795728FE4DC07114AB6A8067C56D909BAB80358F39B257C5
-779834A4261613C8F2EFD82F20C9AE15E072BD78D60D77EAB14430DC51BCAC86
-DD91D1654E340719EF37A8B7C6AC8471C16680FB0FB7ABCAA8555A292AEAD439
-4C6BA6BAFB0B19F9DE59745E45D0B67C1D4DE80CFEA538A2551037E0CE7E8D57
-C10AF598A2E9F8A5F67D793D2A228E7A1ACAFDC75420318FEA23286A45CE9C45
-EA34C3E15634BE1FAA50EABD04E94F6D47CA2B78F2B129C94579D24946A8BF07
-8E870456AD04FB3D0549B59D1CABEE60F9759BA2BC06E068D2DEDDEFD8B2788E
-92CBF4B44E04781BC17A58A0A3BA1CFC463145593170F06FB4DDB90460256DBE
-572A290F44973D09EABC8D7665E1D18E1B8F5EE44985B498B6E662B87DD610ED
-CBFDFFD33F0A0C95765E24A7D071269FF7FA2D47942FBAEAAE065B7DF4A9EAC1
-FD58D7C302F9D15A2ED0969168E2FC4A021C521FC7D9C53ED3DC1A0F9AC63862
-AB2396C14CF8552EB0A8C067AB163FE0DA20E3AE1C7881AD6DB0E1D615F7F2EC
-1184C69A430487B861F5CBC52F27C53E1588AAD6FD43CE2C0EA490B257C4A36E
-06E21AA6EAB94938E002FA80E1B1295C1322A207C5A87EC49669AA2FF054BB4B
-B64B622FEAEE05CC84835178C4DA9DAD113D5C6BA75830CFCAA2077A071069A5
-258AC7E801FEA6778FB7EA7507470AD0AB6BB49210858477F53A831F9CE5CEF8
-B519C07786D0551A22E3EEB5230098FB06B390FAB4C73F0D3D03EB4890C03329
-5A0B9C67F1E16B0E1A9D4389DE67F6A950F322ADA03433E71E1DD8D4E416D9E8
-CC55EFAAE6C94CCF24980BAE71CE23916DDB17DE1E412CA5CFED25AC13109246
-A26A8F568DDC73538ECDD2BB41B9B5B020F0F1D36C8F414C24566F8F9E1352F3
-38A5D47FF00D91F43069137BAA659301C2A1EBA1AC6623DA8773643A29E498E2
-33C33DA49C290B5719BAA7E9CD8D00C803624BE63EB0100D6D093E3A1A86D653
-A3CAE4459EC25EE9D59D4AFF27CD3FE4BE831C0C31EAF27F364247114E896CD1
-6395D9516ECF3DA7D9A6B4F36245021C9CD6C332182441B79365164B1E40C5DB
-9E4B5A69DB4AD7D79979E6013435C7D70BB7E910B75F28449CFAD0443645DF30
-5AE363FD581271F587E53FA6DB88B28FE6B80F8A5CD58BE57B6B386896BF7A4A
-D1A36057CB2CC346697B21A5CAAE37A68E62BA46568F0CEC8EABCA7D1A08E7FC
-72622305F10E7BECD696DB80A170CB09BC5E27BE68733943C72A163C88485457
-D47FEA6B5D20982E5713DB5C4E499DE5DE8C2090F3006242516349955D8D7857
-0DB51BFFF42BCB28DDBEA8C2AB5431DCD10DDF05F0B59D00F65BECAD61ACCE82
-1454C36AFF83685C530C8E3A5016665E2A50287558A44E43BE485C96E3DC24E1
-8B291399BD9C9D105377497D085FE5F9037B984104E915DB9E76DDA3BD5A83CC
-ECB3DB2A2E14B90760C207F2D53D9389EA03AC1F5A6AC61E1F538DAB42800822
-BBB425E322947A26F51B3E81D2B3D0CF214D2410BE2B0F12CD978C1943A025E9
-C9E5B403936A6B7928966EEE19504D9F7994861A4A73BB3A63719DE764BE9182
-494E70BFAAC3C26CF422727BA3A2660F1B2394CD361886FDB734AA49614F4C61
-565831EA21D56CCFF58F29F2EBDB513E9D3601F405B94FC7F5FCBA22CC3E47B6
-5F71C0768FA87DA0BA8F5390C0EBB0EF2242FC8FA3AC0C3108F6772237BFEFD8
-61F3DBAB78F70D8801A2F4C615D86D011537BCB2B5ADF4A13EDF0C8BFBBBCA0C
-2C0A139999ADE8FD695D2954C79A86D885E70CD72EAEF05430AEF1A15C9F1771
-F10BC3B8C9EF931147E5EDD3EB5C8F459077AA3407829FA8092F61A909A6B67F
-B6AFC3F35F065420DD6CE2E0FE0227B06A203F334EB8B7EE4C6F27C394B86EE5
-75D6200E98B1F37F1A977B8E92BDF6C4532879A6EC1D68BE998EF2B57C50F06E
-5F30DCFAB85B51ACD1B127161A73E0BD1DA354F3025B3F92C054031D03ACF16A
-158B45606BE9E306B633061654527B904E99D6D8FC61D7D1CC69D18D94D977D4
-402BAE1BC49DD45F8772709A4F148476F9302E38BBF6F6843FC56CDFCF7F74F9
-983100F8FF980CA805AC80511BDEDA1138F12733EF1FCB50D0F60EC06D6BE1B0
-9F908DDB1278340BC780A31752A809A0B6651C5B3E5E0F2017F092849B1162BF
-2188145EEDDCD96CDF5C00AC05385492038EB2F10358D853509706635412F19B
-DA6041053C8F41970BCEDF162C1347DEDE920819734B47FD99CD38E1BEF7A7E8
-8150B295BA78BB5EEB055571F49B848E5A85175DD39DDA6364B7BD0C9C3FC42D
-EFB45AC4E52351213740B3CE676A43DBFD4D04B1691D5EEAC147DA471A3D7A00
-93CC624819D3BE17DE9D8F07FAEE4F54EDCDEB4134D9F39C3BC33857BC8A08BD
-82E23B5564415A3410CDF25ED8C3D443A0F5A9CCE3D75C5AD55DD3DD28EEC633
-82882118F09251A0DCC8349AFCA61603ABC621894DA5C1BF308399A9CCB8283B
-6F54E096CE3F2D3C11373E5356570403B418B84B06FBEE27B63D8B678FA39186
-81605E6B09B02037FC124776DAD7AE3EDF993C064EAC0DD678E13D8D78F74DC5
-22BDD780DDE77AEF1C2E2CD2239EBA6A9E8E9AF9F4F4605ABDCF22902055AB90
-3C5CECEE9B92B52EDAD5D29C3FA6964A7A7A2EECD8F9EAE1CC81D9825E8411DF
-058A838F2C335860FB3B063C824FD45825ED5481B9320FF99B60F17ED8A1C1CB
-A7E12EEF35A40266C7DE2E1DEC31AADE7626C5FC57DF545933F602F283A27D9F
-0E2C77A1BD5394944566497E01CACAF62542EC93D16CD80D4647435B6C905A31
-B94C5CC9F43D6492BB70A5E8867C7B0F58D75240B496DEBFA6DB94D8CA775A7E
-53237BB081D1A189124E6880B6D964867804BA33E0BFA961A562836F7FA1E98F
-EE78ACCF16B330473D69D52D011AB174EB440746ABAC7DD7D9AABA70ED2891D2
-47E2AB24669280D11FD453BBE591642A3FCE09EBCAF62F8E27FF0782216E6E87
-AFC464F2316DDBFF0B6736D42577AD10754C6936B6EAFB18AB6AA3AFB316B179
-B19A0561A157E90035FD26B8FDC72C2892C94957D3257C38F8B1BF14CC7C6AEB
-6FA1C4AC6F22C627BDB1CE6AC63D656D5E7410F7E516813CA3BC9EF02EE8ED4F
-B02D57B303875A7F3E1B8176892C2149C39060E2AAB5C4DEEE429B7AE36CCF51
-997C547147B3CB8DAF1E8C8B160F00A869E5FE90F8302E081307F4C92EE0B374
-EFD848E3F943E04245B6393060B126C7E2A2728F9878D7CCE3DA74525AF11C66
-3BBA0749AEEFD5B190A4A0A729784D15665A8150FDE7A8EA5CC4CF0092B2AB09
-CF8659711E84D057DEFFF2696BBB20E16D9E4B1D4D4EAF69F3BF07644B90C94F
-D11E9CF3E66CD3368E808DF69DEB6C6A3233A88D558BE5037ED5B42EDA0070DA
-3D29F04CBFF58BE922CF4C8F9688A20EA7CB644B080D2C01A2715A69D3D8B7D9
-5C0914DD83C9490E465DF0EF013B6473BC28E937C6E13A2F08CCC8B6F35544F5
-9F79AA89481CD0AAD87C6CA2391BB69A39B090208EFE1A0FF5BEC74923193F6E
-B2AED1DCDF644351089CD7460AC4987789B2D92D851E3F58B41BFD281D717863
-5CEC8AEA5CB14F52F6EA6F5156F08A1CED2312CDBD2B18BF01FE503AB86DA440
-F892BAF54438A5FA847DC0FC7121F2EB829DD00D2DF2BE54EDCC42187840D8B4
-1CE8DF33B574EF36701E2873D5824C37C6BD7DA4AC7BE64D12A21FF2A23CB9B4
-1C6FFA7D8B927745000345B5AAC5825D89E617FFC97B6C7FDE0509DE3FC6F2E2
-1508278734B33F4550D4F565B0A23C2615B49BD17B6741E086DFD50E1E6CE979
-558741605E2A314C325BC4216C2F0F809F492B1898431AC7AB4579E76A3A0F63
-E8CADD4AED7CC6C56AA12867A43CB25187686ADBD4591DD35638F5C79C961085
-BBCF38D48E756C295A0FA4E59BC1CFAEE016686A8F91CC56E37E4A8312F39837
-09A926B3713EBCCD1D82DF9DFF36C0C024975F531B42E7F61D830E2FB51BAE2D
-9A05BE87E8F052E748F8B4201C8869A64BBBD42CA4974E230E59CE541EC0C743
-7292203798D2E11AEF67156FEA12C22964785FEB4CFF473A710A5D7F97A07A40
-D5E9A182D7A96A083823DBF8B1726E8B71F0D751D506DFBC20EDD53A0368D098
-59453D360568B76B5168254027AB71D2480C63D486E855050B1F480BEDE9B4E8
-3379C0B539E33AF2E286C2A02A5D73148114F88898D7C01F408844CA50574D1D
-2B513E63ED04011F179512384C647100C1870937BBA5F404E80B6C8BBA52F6FB
-DAD5343B530919E5AE54E0C859591769580B82911BDF290777B825E417D4EFB2
-FA60EED5786B27E3109CBCCE391B855ED46262FC16A663E63E9A19CAA6C6F58A
-72AECBF5234E25B5C49D143F1084F0B571BB424A1952AB4B26366ACF83A29BEF
-75D9307731FCD44EEF157A59117360402DC446F9B58388AD66AD88B8C82631FE
-31E99E3158C25D152EF626EE76B2AAFECA33CC0B9A571C7253D3AB32DCCC1A2C
-11DED910482250F8A84E0C55FB76264A1C4F434CDD85A347B1DF702C8347CF3C
-5461B2F76AE34887964985AEAC9B7ACF13700B60B7C1446ECA269B2E5146AA31
-0F0556C5435B68B92274A4E5B554B0B7A163E15F8D4A0391F1389C3D7BAC8EC7
-A1AEE0C8C79ECD8F6C2A6011BB0FB966134FD1F75C32F515F63F6A5C15323304
-EB0F0C267F5FA8FF55D2E4D64F5184320756B78F8C043B10D267A548EB1E0CD8
-04E106687542C3231D1E8C157A9BBBB053ACA2FC0DE6413D52360CFF6ADA686B
-F2676FCD629ADFFFFE6F818EF61E5E90B2A077790B2B06E0BC1E0B9163982691
-2EC03BC185E8114DBB76298230FE8B82BFB09FE562A0D96C696784D365CAECE3
-A89A1643257B0298449320C35F91980B364D7E589DD82D69C8379B33CEEF951E
-851250D66FFA0F664D6C2A8F61F2C97E925A46547FB698321FC84CD623CC7C94
-223D2B874D39A65264E9B45EE4646BB830F2F62F8B7F391BF70CC3A9C099B7C2
-559F46ADB70B967DBA1B74300C79738BCEE6FCB3C6D9BE839A22D8C7F4930376
-82D2CA6DA3AA63ADAE47FEF0F0812A6E8D6CE62C60181E71DDA511DF008C38B7
-6741FE1D1FDB1244D04809C4DAFACD75070C10CC0937B7FBA274F64252654907
-7BFCDCB0A8095D5BA8687C93BBD90B2AA3085C047DCB8A095640310E0ED49B31
-93DD65DB30F49E3CC07AF9FD1A6EFC7D5DEE306121CF7442C0ED5A1EB49DADBD
-5A0AE4F838C46C78DDE83BAD2AA31EE6E6DD7405970CF09FA9EB5DC00889EC81
-0E42612CD085D64C74C0784C04257F0E708DD74A8D8C06F8845C2B2966FA2358
-4D5DDD2157A00C184E11300D34097737B1CB714CC71070FB05F7385CCABFECDD
-A035DBF8F2FD9B67F7402BA8F589A5AD61A5476178B404188FB908D591E4948B
-FD39377D0AEF18B82D001514B03A123F7FDD63812FD45D62EC971E93EFE90BD3
-9496C49174F0EF0F513C2BA16F6A6507968C5199519BA9D713DEE4D0C2D427C4
-078F347B5120552E2556A42E0FC37BFC7FE8181F17A01B449CF71E093695BFA2
-D53857C0E3DB972244943B67A07D5AF4FE7F6E04C8033EBD20EB55C38AFF58B0
-D04FF4AC82937A650818A480F2A40ABC3F4A26B7F4C17CDF1A7B056EA67E0D29
-01BDBF1DE76DD59523DDFBF39774AD9E4A04CFF23CE673197C6A17015449D65C
-45C56079351A5A16ED030E96D24A755B2C14B6B925D8C30A16B77981B92D2171
-1E77C0C11DBF9ADEFFA03178411F841A109EC7DC45C4C8E133725B7ADF0DA136
-4A46840677A020BE6897A9FD9AB322F27AD0B55B5500D2B48B71D4AAEFB10774
-8553F99DFCB01FC07508200B9367E6C8145D7F1248335E90D32D9E528C4B955E
-B8DEA684A010BF454070B7DAA128C0BDF6AD29810C4CCE310A30080AD36E7799
-9FD52B074E044EE02FA248087EF3D690FD6DA1AB501CCA44D132049479919EC1
-9401487835D2CAF0A89FDFFF635EFA444E8098D4CE6E2C892482F45D002C28EA
-8879170E7A34FD6AEFF140B1EA77C009F30E60B2857609EF8345A0F20F8085AD
-5E78AF3F6EE20F363468B49FC735FF32AC6382F638006B83FC283AB7ECEB0DC7
-0B67505FD5F97105EA4BA11B18AECCA6E5D7EA36C538401F16832183A17BCAF6
-BFB047542E014E2941BE29F8747E6DD07AB13B374AFA63ECA73D4134FD950C03
-DA939E892C35543DB6AE960A18D57490686E0F758061AEE74D40BBEAC328A905
-7A29FEB1EB40ECF45593C6B2829445541DB58D0E8697CCA09C47D6C86B730015
-8E920228398E492FF70A3DB13248033A61DB5542B8327797951A89317C96E68A
-5EF8784D8848222DEF31FE30A9F9E4C12D42D0DE930898DC4446509988E39196
-792F97BFC9A60C717D78D8901C5190899165A1389835DE21EA49EE01B584787B
-8849FDF0146111811047FBC3ABFFE2307E16518093AADA08DF73FDE6227D2BE0
-5DF2071FAB4F7E825B563B3059F8615DA305F51AA2B9906F1516040BD883DEE3
-922D1D905EC34D3F0400CE2492E93BDFEDD8F3230838EB248C0CEFB5ECF929DF
-D707A953953722436BEA6F5DA51A56F7668CD083E9CD7FCC8B736EF8B08442C8
-AC1AFF6DA974FE5E50D1694B3D07B2E47C0238801E7528C04C967023698E5B1B
-23DB992777B22E7448697F2B78A20B98B78A79635104930A408C18C7E6B1577F
-425F2073EE5E17A8998A38DEA4BB12834B6E842835BC711BBBB04B371CC8E532
-2490A6431876346A3A263683C153D77A5BB9B32E3D91B952172DD05C38F72F3F
-A5140DF292545E31C25B27E2791205641375EC542589D61290504CD73B560B2B
-0C2A8AE31CAACCE8BAED61AC04652F2E0977BE269D860034C429B0164585B658
-29EB62078B9B802B4E214FBE0198A76F5C9CDF072D3C3675583E44130306B5D7
-7D2F147BA926C70749525B60374CF6763E273F30F2532469BF6A7A3965E26046
-EA9E93F7D393F8EC2C021987D33A9AB30930764D1534AF53E361EA65B2B64B9B
-4E93768EA25ABF534761CF567552B0B6D52C8C53BCF5E3414A0B653FF21C8F65
-2C6132916466A286C7E498A2897C237AD5568FEBA57B72C7A87A416035CC03BC
-D1EB9DACE25516AFB3A6B6CAE2C70665002FE2DF14C2850662E43C5F05252031
-BBD84960EE0A86C8410082F441B8B594E001133C4D9DFAD9B4F38BC878C29AEC
-5EDDAA290F7FD74C9228995E107A975C70A7A37EF8E01856E978F284F1BB1453
-A44320130DAF09D7064D9867D27A55E3425F5D25B99F553C9202EE42FE8D3AD2
-6C1D34416C520E0483CC2B87ED9D9F39E563A9A0DC421C04B3B9CA8582DADC5D
-323DBCAA108F28E8F11DDB3D0F0B10D4A62C93FF9E2CED79214641160DFE8447
-93ACC0D72E8D30DFA0E368DE8E56C566D7E15E559C409EA8D913BBB18E4BBA89
-3246FD9DAACAC4C5DA87EF5B9A91D10F10D7252F7531FCBC343ECD3D2B674982
-8F0BE87B3E1CA86112FF617A8E63BA92175913CC403038265C5E35621001B6AF
-EBA934372CB68E99920797A6B154557FAA7C3C696A15EC66348E209BDF87943C
-A9F4281847F5C3C8F340C80240F1A93916880670C350B3A9E651EBA7E62F5D50
-9BE78BCDE8E0599FCB7FD9874E87E957D1117CEEC67A63B8862278E015856F2C
-E31898E7FA1436AF76FF20AF5A7E5BBAB5C23E8C0E66C975A290AB6EECC07F04
-C8A37224EBA5D046C7746168EC081B93E0EED2DA80D9754050617DA4CBD3D5AB
-C9C57C0FA2767E7FD633288652C3C4A2C8095D9E8E2A18C887B4D765B2578215
-64EE4227B2A8B3990DE2E0A4361E0C05B145837D58C4BA15CBAB0E79221759F4
-F17BB5097988872A957479DE4734BE905DDE5B8DB9A31FB9C235114974520D2C
-CB6D6284C199A880217364EDEB160F5FB7FC762819E4509FD20E27A5F865EECD
-B893551A9ED16D5E809B49B9AC67763CB67F877EC21D8E2B8A0D06E9936E84B3
-A6181D5831D67A8F2A466A71F5A4DCEF0DD7387CD5B248F2D5981A9F63D8A260
-88B568E1773B13256E440FACF2DE1041CB99397F8B4CDC8CC87447FA6FA0D670
-5B99D0BC94ECB1AD7BAB0DCC66D278E256CC3689DD3B2F036A6A3DCC8FA77FCB
-0A88AB3A3D50C245AAE20ACCEE7ADCD9FC5C9FD53B405F0FAB220385F7D92011
-E527BC0789261AAE6197377DC5BBC9F5BAE3683700F85C63C0DC59B02BF8B65A
-800DE3BB27A3E75A87F6A550C787F67B1430369268BB61CF5FA66D8F5221543F
-2CEE65CAC0BC2996F73B71783E5BB43B030C90A5FB13CD66BC659A3AC2E897C4
-500CA657F16F70759F0DA8D712F4E94BAFD3DBA866DFA8D7310A44F240522200
-C8F14C7CBF9BBC33276B623C746F7D0A4D76AB13E39DA19E1308EED0A388A23F
-D9336D3532151A416C720052128793385DF6B68D3BDDAADF8F7FFB53260B81DB
-321B33EB566593E390158B80DC631545A66C3CC2BDDB61446A6298D884389303
-E2E55D64F430F35271060417EA4350B783041A7607D44DA3452D304797C03864
-DE4CA134F33471E959A74DE4A8403BD5A1A381BE22221ADF76F0B71F29C7DE1C
-9FD94E0F158182F6DE7689A96C555D2D9F1FF664111F56B147B650BCA6FA1FAD
-9ECA4488EA201C8BB72F63BDDFBE7239F13C46C492F320B4F06F34A668F657C5
-CDD4FC447C67E1BAC54C99666DAA9E96ABC836BDF0980239245D48227C14E811
-FEA8C345C2BEE84300C746016F98893E12D296C64C2119208E4C203A8EABDFB6
-699EC1F750DB57FCBC535E0929123F36A0113E6CDAC09149CE5865B9B1DAB041
-A74C6EB8EF0E8FDD6DED8C67B849324EAB11FA732BA2EF27E11190027F657912
-31A49FDF69D97032A07C66B79FE3F39594FD7DD3BB4570A90747E908D0121A05
-27D12831D23C466F31E31C5B3CC636880DEB158BB4A2AC34114299987E9F8F53
-B0A28EEFC3A259F49CBAD20BD7BB4ACB07726033CB8ADF88E7FE0A0DBFDB10B6
-21669AE4942A298072C72522D34E16987ABB7FF0236EF31B00EF6094024AED38
-CF83EA391CA265E5C6B8B63CE728CBF008756D4F1CF35E0E39B7B17A0608FC37
-78CB7864BA7EE90401AC2CDBFE9AAE8E3F726B41DA0BBFD7E503BC01ECDDE23D
-15A1954FCAE479BC85DF88D0044F2403A75F26276D16F8F125BBA3D166DAE700
-8F0C3A51CDB950B603FC44DCEE18028B36282DA5D7C4CC9C79EF2C879A86A1AF
-467CAA95AF247AC7EC18B7282E5A9863473871C679368C9438FE626962BA0D02
-AB329F7F03BA30FBC62A855DCEC3C4099A003F8D6F6FC94D5B7FF9DA05331BE9
-21B06F9CD00C1E2C5F694307ED8D81D474E70BDED837C8973AF6405115C85E57
-7D64640D85C0FA0FED12BDC55DCA2285DF9DA4F9E48361C00AF5F61C57E4E1C9
-60FC8DEA6C2EFF9654CD220D626CBE75E183368BB8B093FC64BF13B90F935756
-F87FC508F719472F96A7E9732C2B8100354A59C88BD82BD12E485EA7680EC9A7
-FFE0A6636C8D0A423D0432561649BA335E8BACBC5126BB4F796EFCE6DF8B00F7
-01DB1C7FB57D15AFC69470774A735CFD876711AE3AF1EF970A1FE154927A0A00
-A68D4CA6899CE12A1A26CF5393446B436F40D5A47238C053F3248C5929C2B5FA
-EA441400AD4B928537A636AB45FEE4F298DCEA28FD29641C41E51926C2FA4F12
-BB1187C4F050FCD171A9EF0954EEADFD2807956D09CD6EE2A4F4B88B54F3BF6E
-653A02FCC95A3BDCE0A0FD9F3F6E74222A52E2D424857E9A4973104842E1C308
-215467C9F5F9943126BA74589C900B74CD8FCBE53DD73FC9063A5B4BFB708DD5
-B8E30211679F57FBC99D651918A04071C6163EC8205AA0BF84BAF8CE8B05193E
-DC677B30A87722E97F961F3F7024FDD5E0A54A30855E8B7A27715DD055F396F4
-E3DA37B23D51C0430D159EAE4116ADEAE6CCC19669593DB3EAFA37E960D63B0D
-34E00C124CA2A621A4D13E2EECE188BD060714E0A5D38EDB57D0FE37E01A3166
-9DAE1B44103702832F003CDC90632C47720FB444223824A893172441238C11DA
-87D57D945EFE864C0FAF9DB4019041D5BCA4B7CABAEE9264F7D0664089252A10
-142B31D8ACEB1D9C8A46A1EAD878C189BC82179911717C4D6DE3A4DDDB117D94
-851A5F735F8F64F6343B92C0C697963DEDC4FECF1D6ABC5276D6156A40C4E53C
-93559EC3E3518A3CFAA0E4F1B296E9CDCCE30FF6D429A927F85980F3A424A719
-050EE1E6DDAA47E6705E996A65E1F805333B9728F4E9E7C8B3B3E29AA68D95C9
-124F5036334D202E1E4A520F47FAEA47FD2AA761E99029365E00447F13FAD190
-DEC04F8356327345FDEB37C79E467BFF87218A40217598D40965C5E06ED0F93D
-AA40CC9445A2649F9D6D8C90FAEA395733E71F8ADE555E2166892B3FCF84C749
-268430344C7E70ED90C9858A74428382BE6E04D39174C1A52FD6727CCEDF3FA4
-55083E08ACE62339128CB8687F00C8DEAD4B7C7F2176154C5A2D2A854B72E3FC
-9EA3320B701637A137EBC3C819CB06F372B543C0E929BFF3383DF0C4B093589A
-40417511C97C3CAB64C88C26743683534320F8CD312E9B48E5683E4E05FC1A22
-7CA3CF17F181D1B581FBAD827964CE1F911F6C48CD868A9F6F1250215C1BE545
-48F29F82CF164AC3376AC9CE8485D2DEE18D515F12726E501AB86E2A904AC445
-5B3859CE24028493A520F8118834427341C7167FDC4731449E9080400929C0E0
-97328ACBC1CAED6C5042AC37E84F5A122DBBF261049BE6D7AB0E688CFA9E457D
-DCB4004DE6E5EF19D57409062F918C6FB0F09B434F30C8E609A11071BCB2B5DA
-A22F9AEA81C48989A244E8BE97BA8CF9A09E9611D47A9F77948B3FF43CE6F378
-71BB181A69867B6E6E01725992C9DD2FA6EE02107375D0C5876FCE49A3E1F3B1
-6A15DFF1BF3DB92ED9162BD4A36AEB4F3FF40E7E71B2B81FC4E372C941243F90
-C959651A8F98C0441B854097EFA8D66FC76FFD29CE9E786AFA3AF08B5C83660D
-7FE132D95866BEEE0E475F04367343112880F80DF8532D14D8EE4991858B0CFC
-2974C53D70C60BA9C6707307699397C30EE5044208F391809C2B7884D74C77EE
-52A34E2D9EBED8C9AD77F8EAF56676AF405E9A162D5970AD68959AA0C01AFDB2
-AF2E7641A58B894E5EE279E723C7BEC3ABD82D5C1BA27F68394652E942E47061
-C2C8B460209A3D141F23E97AEB68872AA946B5D8C65FBB792A8F9A456B755A95
-18434B1A9CD425243A2056307B26386E64BDA30500018C74B38D9CC6BFC7D87E
-52BAEF36B97B8C41FA46F38B4D37813EE37584E5B36FE9DDBECC8C6BF6646194
-59BF4AB637100456713A84BD505FBE9833956C028AD7C521E8C5BDA9E7088760
-1DEB596FFB35100C01D7EB2660A048F2F6AF924CA0A7C1FEE2987A590D9D5C11
-B0F7B5DECD35F54B4CCFCC7BF8370B7A3184A91ED8B963CF9D180CBC7BD83339
-66866C3B335DFDAB771A7C476650F6AA7925E12B2223EA09E7D2BF80E584298E
-3B114466520D713D3D14D73CCE9BF05DB6870D48564C12CAED2A003BCD295E3B
-0872B5FF1896822188C70CD5D25A039C49D49453AD7D379EA749A3FD3B119D1C
-68E98559EEACF0E6BE1DA9D4BEA3A827BCD4BC75AE6013EF1402F744624FFC00
-C17DD16B4E1C44B8B0FA8791FBAA3C3B6E60561523BBF45357BE6A550302D720
-11DDC010C02178E35528C3D6A40078C6ED2E0AE8F1E9C14D9769C3BE991FBC2C
-3F615E83420B9CF206A6B3C9DC5415BDE571BC3B9444BFD5269092D0EC2791C1
-2FCFDE8CACBC5729582143F36DA9CE6D36C5C66854FCE9C29F3189AEB11694B8
-08873FE32E8292FD57B9CE6E4F6B1DC76FEA98EFEBFCED91001B7FC2A78211B1
-F30DD80DF6F6973211A5D76E000D4F73DD012C62E760732C8D2A94FE6404165A
-513EAAE7958D8E80D47F8E4CCAA1C8822944ED82CDDF945E3C990F075CD530D2
-45E0143743A9310C6E493C5E8D4C6D2672C1834AAF7D570C53347AAB358B217A
-65C336328D667D6CEA6BB97EE648EDD4AB856BF8736E036B559A2BB0D476CF60
-F559841C95C1D8DC962F85E63B2C19D55B106D93B896D87D10B1AA94E36433F7
-17EFB0655E5119BA27D08E75DB75DC2895E922EA7463EE9D5FD7E2DA9B0D10D1
-9F31FF30539C079965DA102B2B61E026BF4F425AF25203F62C6606C904C35A3A
-F766B098EED1991E893128512DF0F35E2C0C196601889B6380CAC542BDAFEC17
-11C265A9C773BD7AFF7483FFACDCEA528E66DEB207D5AD57DB3D2CB955A14B1C
-75190E70CE5B650B021757BC64C5D45FA12239041ED5374147540F7E1E06ACCA
-B06DE83B2FF3CAEA93CBC27D37AFDC748881BEDC30BE2118F542ABC14C6F58F0
-A9D6E9FE325657A14462B4D67BF2EB05E5458B120821A75EA86D102DDB92E9CC
-9DF84F5905A7A3A011C8A7A62F556BB2712AE28CE5AA49295717B08727FC6BA8
-E06C6ABAD51FA0AD08E1821C547C599B4134D6DA36E10A6679425C2E6C56BB5C
-CD56CF0CF5069400F9396411AE4F4BF55988646FDFF2290935252C290153044C
-E30C6FFE0A623A697A5EA25C34FBEE0A9D429B88D1512C21E55CFC5715F76027
-1F863D57EA37AD55F910E131A7A7F7C52F4CCAE4434F300461F77305EAEDE26E
-A782B9FE2D4DADF5044F4B912B09B0AF19EDD486C433D682914650AA408C965F
-2CE16EA10005C4F63E23C5E26939C04FBE91C6C021989AB11BC1E9BAEC5ED9A2
-43F8A29BEC53480EE5841392FC2A89CB596589BE8F2F63A56B17B053C2189EDB
-1372F17B54C2CED7D1701AB04395AF3B36DA19D6B2316ADC443E068CEF52477B
-369B931C69579CCF750BB165D6BEF4205CAA35014EA9A678E4891AC0B9B28110
-D9436F71FFD26EB44053A0DC8A846CC31F1B42096CFD3CD3EF42628517FCAFF7
-FC7B26526B9CADEB536A0B583988637177F5A38370643DC4902AD7C65389676B
-2AC2E025A6BDFE6728151DD4C639847C47F00281B382CFBB9FD0833315A7B381
-03327EE5C2E7B4E107EF3685481B63676B0081BE25A5366BD5BC5E06CAC15A60
-25A2EBBB8C9FF37B73E75253EE0CECDDB404779EA69D2332EBFEE235808DE06D
-66BFE466BC0306A120701FE469606DC96BBB1549AD053D06840D530DC1928FB0
-2D8AFA1129EB725B62982248437715E44ED3C0BE04951EC65ACF23F433AF7067
-60FF11CC949E4B5E1F5C8143B8DACEBB520A490AE110F2E0148D10F2B7B9D7D8
-9B445CDCE2A80240DD31A57FBCBB1C99652E4CEEEFC56ED9A4A02A87BAF808D2
-F2F3413A885F57548170B80E001BA0BDC645F3D55BF251EAEB93141359C10BBF
-69FA01583A539E5A76D55EF88B9249487EEED62396103F854F573F91C04FC363
-B3AF64C1244BB7563E4E4837AADFB652BF189D3AC0A8454FA57CE6FF252EAED5
-E3EE3714BB613DD8BDC6128C13A0E8E0CCF2AEEF10063E32FAB2E54918FBEF3E
-1986208B7986F4084768DE289A4AF319C863FD5CF564A72EB7F437DB8DA6DA80
-D33DA28F7987F9C86547904B0F49F351D18F705C4A178B468ED43E179C43C276
-26E5054AA42CC7B5B00FC14C61C25B11A9D5A5DB3B1806F60248CBAEC06C068C
-ECC0AA85F07856F5F73C0AD13308E6FF55C6C7649B96FD3E4B291B9188ABF764
-34610CE0A73EFC9E52357A2BECB4E6ABCC3C5EF8B1350CE3B1907A104690C865
-4D6FB2A1293B00533867EECBF8B1831B753DDE5C683153533A89FC6E3FC0700B
-61CB7C10C37800B8DF5A40732F17322F4464E7057166C966F1BFDA555129648F
-CFD85AD185410961C086CD5B6FA08619FC943100369C186BA5F3E5D2D4B00CF7
-CE3D23D6166F5F2AA31B0B4CFE98CF190841F69AEFF503E7E49838E4BEB81E0E
-9DC3104632B0FB4A6A04D87D02E9C15AA4F046D39B670F5E37827EF6DA926CA2
-3686FC4E27F14D5755B9312D947096C5EB2F1277DB6E843A168261C4E36F36ED
-98B4825791F6335BB8397DB9B5A3C0561621CA93B143AC978B6549AAC5AA047D
-63F39B84E353120DB184F52CAA1E2CCE76F15AFC6CB7F3C507B2944B354E182B
-225E43C25A92C6396C9CDBDDC93E8F5FA2ECB9B9399CA05CA7CCBEC2A9CE968A
-D089CD94001FBD5F8B1E4060B6B55A7DCCF5B1972E3B532C98C555B000CD28AD
-D93033AAA45346EAD38E49B3CD0F272B5CC2609A26677761131815F64753C5A9
-CC335864E866D94ACFB45EFB67692F31C126B256B4112ABCE4C6EC415AE492AF
-B68C14AF756ACA050F179E2DC1144A744C12121F92E3985962791540BD21B304
-864BEE24C5DF20BE89A70E0D4B797338364993D66A1FE2232ADB3D1374111A63
-DCA4B98912B7E3A6E35A457185418835A5B9675C53752B8D5F53E9C01E0F6E77
-51A6350D29C04E22BA5897CCCB579DD5F90FC8482307030DBB6E8561BADFD1F1
-5FC063DEFE5178BCC1A5F4DE534704AE0E43BD1535A12CCDB14AA1D0C74B641D
-658DAACF0059A434EE6282078C1E80F85A34C3228F5F7FF83F89603613B84478
-EE02C184414F84FE7970785ECC2EDDCAAD88FF94E70D3DA9D4747F95080A3C1A
-2EEDFAF5D4ADE27B99436F2E22E18EC8D061E3DD90EC70948BD50D1EE2C8C4E3
-A0D988D36146419C05EDBA0DA61FC95218CFEED1FCBCC91F419FAE7B43D4077B
-44C025532B9AEF5C2D00F08FD4B0CC118222EA16039E16B2B21674F66AB6CD6F
-6E1F1F54DACC75DD1734EF3318D1364F840E10B44842EA2D710D2A36F3528458
-2C68D67B737B90617D3598125CC89EEC39851131EDD077DDFA9CFCD9DD7FBBF9
-DB8470B9E0DCAB56428F1508E3BDE08CB9F91630BE44D6729AB44D3F9CC25BD0
-5358EA6386EF07D8FAA843A187A9FDE319AE69E85801E6901D6CA87D8CFB171B
-FB248FF2EEF1C6AC56D9A36D648348385ADB4B8A7D614794D8F422972A9D4C80
-3F8E33F1B2FC23C480B27E3388B19FE3544AC9461525199447BE809A04714F7C
-F3E80752A16AFEB451720ED3F5DBDAAB5E4B118ACCA148ACB99AE24DC09523E0
-BFA40A88965E69C047E7F00C8A01A0588EB3B47E99293C9284599DBDD099D52A
-A0C2033D88BAE5984261681C024174906F98B99466F38D0DC29337F69B14D3F3
-50843FCBEEFD2BDB556068FD7FC654F087886E1CB17FA2279C3986A3966611C7
-DE7EC1CB51937AF2501369166E96A4DD0B124BEC75588C348B22DADE47B6BAD7
-D1F7C5AC2122B02CFD2218D962C305B2953F7B6D36E4316450A8DCE29866EDB8
-5D3B93CF031A439C48BC55A217BD7A6617E09F5677DC5986AECE3EF80FD633BF
-56D49E21D1E672027461FAD4858BAEAF550D408E71FB357886DCA559931B5149
-8CFFA9C48713600FF392D880B1002C70EA2085E64E217453F873BCC05E5F7CEE
-E5DE1C0ACC95275D4DD32E55147E507150FB2607DDB5E6D3A54F89B3CFB40232
-0D6F40457D714A60AF7DE113F9A0A2DD661FB351B58DF3B626754DCF3D51701F
-BF8B731A4A8F3A143F6782C5F0ACEF6F0774A7C07BC4554C28F2F2D080EC9183
-CD210B3E29032E28F01FA1C16832671DD1699DF342EF00452C34B2779BEC9124
-3C64C978950398237F1AA8D66A3A39A0D7088B271C054A9143D65ACDC3E1F0C7
-7E9F868F07083F55A6386337793D9E8EF88E6CB1FE850F0116B2E1088E1DF2C7
-4AC396C84CF0F35E635140E7A6A19E5E39902A2B52499071247BC39266519B64
-52F027A9EF68DA6F805C47C5B6ECC0A9ED5DB79CB1901AF8CAD2F7B9CE609BD9
-3EC6057888FA4D0AAC5B0DEF146124789E8B6903BB4EF9C05A4EF964EDEB91C1
-4CC2614FCB772D3C72B6DC4D056F185FF3C9F7C96018FBFBD40A636C33810DB4
-47FC8CBDC9962A72404AF156B17D69CBAD1F07B4E75CF402F68097E7588D78BD
-3C9DD1122ED7916C4C56D908F84B2218450E35209DE1A30E71B416898AFB1F3F
-25242B70EE33FCDBD00C2A103A3590AE3B63C5900696365B0F018B80618D0F72
-EB994FD8DCFDDA7EA3CACCF393872EFF39BAEEC6BEDEA67D03AE98F2249E84F3
-6ED37EE5E993EB96F282D0270C794F2FE622434EE5C99C8677B572D1FCE4EC13
-A1B171193307A7C8A81DED947154D90E58E2BF5281C56892201F6C8D287DDCC0
-11AB85EC27554BE0040FD227E027F74847B16D6BA060F75208D12CCE7FA44044
-A08917508036BEAF1D9B9D940C1CDB2298793700F940333A98BCD90147DCF127
-C6B99F4BF49EE656CADA2F4C7EA905A755879E7F692F4F39ADF6EAB7AEABC171
-2A72D147F1CDC0C864B12EE0816399FA7D125CAF57AF89A440D25333D568845F
-B4D6B8EBC58A521073BFBB6D9F860980767343CADF8414D5EC167D9C7BC40B5C
-97FBDD69B3DAC25E87C4D167F376472AD826A4EA0511278C8D9DD9E47F687108
-7C53C4721AEA016627E47487C871A6A6B1FA52CA703169AD6C785415CF63E06F
-CCC95C2FC29097A3F114B5BFE53D0D0D15AAAE7A81211510A28B8DDD2E9D3F5F
-9585367A2FE0E43F1CAAC3BF4D89BF38CD362B57667F97E202289EE40ACD4E76
-247E1C2BB25F65F2BF20745FE3A19CD048228ACC97CB8F66EEDE564758535AF8
-3DECCA4F5251099F649C7F296C068A69EC6EC2ABB93876CF4DB6C9D1B924570A
-5124C65A88FEC62E1DAA87BF2F22F179033EFE247A114ED8753A12F642B32D96
-7EF019414141E494C1A98B7396EDF2427C235EBE37B47A8CB2D6A9F1947A52EB
-D437C9354185B43A4AC299C20AC267FA110508FA24DF66E2EF53A781B0000D06
-2B3589A4E8FC4277A956BC7EF8CAF57FE644C44198499F566DC3843EE31E17A1
-E63B14A615A3B89AD5F16B34EFE495493112F536ABA91750DDB8FD1F558BC74B
-199FF3A48D9BD0DE21B54E3387805AD1B9F105E511569AD44D1191207557AAE5
-CDD74D81C65FC06598248A72A91E9865E736FEB8526E1532620BFEFD7CDBA684
-70F0EAACDB044A1FC37BF155BC61500A207BA16200F7A7EF5C98F7C0BA0CE63D
-DAAF59F0FD04BE25E822AC796F52829BB0048393AADDD343D25734A256C6CA04
-F3F5F041264034247668EBF3C859103930B3B08C595BF890CA60C1E429233A39
-E996C06BE6EB32CD6A1560BB6378C435A1736AFDAE01C0A13F37B8E9C3334DC3
-C385AF8FE1AAE8ABB777EC8555DE3E74A433D47217F9D05CC291D9936CB04652
-9E3DC449849E4E8A012E8DF58F8DB4D3B042445DB2A5F3E98B2005746950F402
-A22085D5DDC5FEF15D8D38DDBC6E5F8261506E3C508EFF3B7C08C1EE8E4B1349
-A845343908E5B9F93CA25ECE6AF6F3AACF4BF3350C703C582842F59CEEE1025A
-406082C780B92205B359155B095CCE851DFE85D83D6842238E0E15DE2DA0BCC9
-F03921E124EE06E5A282DF6F82B2ADD92D0BA0ADB809BBEEAF5DDF399B26A608
-7E89D51E25EC5E70277FA6A96C4F786BA1BB8478A975989F4014887BC73F16E7
-335179472B4B623F160CE46ACFA8CC210652093E8361DE1735A2AD37D923A906
-838167A8060DC4B749F6B62381ADB5B8932502DC3FB47236FD7837172F22FFF1
-2C33897F244B9873F88A29F222299D7E08F79D07FEE3E4ED09F5F9DD29E9E7CE
-450FAC5DDFD241F896AF6680B45011D095CACD10C395966A9C6DA794EF0E81DE
-68298ED97FAFBE0ACE1430713BF604E55CBD770F5B120828AF486B25776581AF
-F6D733602666FEA868B6AE2818B77E7FD71F06A4EE3CB15D19DDF679DEAF17EF
-E0DF14CDDA21C09B4A6FB966CFF6F8B58C042A7F0BD75DBB6DB7EB81C1C134DE
-D84BCF8E507600DFA6D5AB32E9A27BF4DB8EDB419C4D94C6B934B1FD9462E7F9
-CFBAFEF8FCB7D86FFDED8A7470A0A4D8113FE70EA8DE74E19C5F5ADC4B01D4C1
-B27E1393D3449B1285D6F0F0A9041B936A41C3218941B33D3472F46DDA0DEC84
-A0339B5218CBE53DE3516774BA6DEA013C9FB3039BF4DA71BD5D6A5C5CA415C8
-
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
TeXDict begin 40258431 52099146 1000 600 600 (rluserman.dvi)
@start /Fa 134[39 3[39 39 39 39 2[39 39 39 39 2[39 39
2[39 3[39 97[{}13 74.7198 /CMSLTT10 rf /Fb 134[39 39
39 39 39 39 39 39 1[39 39 39 39 39 39 1[39 39 39 39 39
39 39 39 39 39 9[39 39 39 39 2[39 1[39 1[39 2[39 1[39
-39 1[39 39 39 39 5[39 8[39 39 1[39 39 39 39 2[39 39 39
-39[{}48 74.7198 /CMTT9 rf /Fc 134[65 65 1[65 68 48 48
-50 1[68 61 68 102 34 65 1[34 68 61 37 56 68 55 68 60
-7[93 4[85 68 92 3[96 116 74 96 1[46 96 1[77 81 1[89 87
-93 8[61 61 61 61 61 61 61 61 2[34 46[{}46 109.091 /CMBX12
-rf /Fd 134[48 48 66 1[51 35 36 36 48 51 45 51 76 25 48
-1[25 51 45 28 40 1[40 51 45 9[93 1[68 66 51 67 1[62 71
-68 1[57 71 1[33 68 1[59 62 69 66 64 68 19[30 45[{}41
-90.9091 /CMSL10 rf /Fe 138[39 27 28 28 1[39 1[39 2[37
-22 4[31 1[31 1[35 5[20 6[51 39 52 1[48 3[44 5[46 48 54
-51 50 53 15[35 3[24 5[20 39[{}26 66.4176 /CMR8 rf /Ff
-150[30 30 104[{}2 74.7198 /CMSY9 rf /Fg 134[48 48 48
-48 48 1[48 48 48 1[48 48 1[48 48 48 48 1[48 48 48 48
-1[48 48 1[48 2[48 14[48 48 1[48 1[48 2[48 48 48 17[48
-48 2[48 5[48 39[{}33 90.9091 /CMSLTT10 rf /Fh 135[56
-2[56 54 42 2[51 58 56 68 47 1[39 27 56 58 49 51 57 54
-1[56 97[{}18 90.9091 /CMCSC10 rf /Fi 139[30 37 38 3[51
-4[28 1[42 56[28 33[51 12[{}8 90.9091 /CMTI10 rf /Fj 209[43
-46[{}1 119.552 /CMBXTI10 rf /Fk 135[85 2[90 63 64 66
-1[90 81 90 134 45 2[45 1[81 49 74 90 72 90 78 11[124
-112 5[126 1[97 4[127 101 106 124 117 1[122 15[81 49[{}29
-143.462 /CMBX12 rf /Fl 242[91 13[{}1 90.9091 /CMSY10
-rf /Fm 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37
-2[37 75 67 41 61 75 60 75 65 9[139 1[103 1[75 100 3[105
-128 81 2[50 105 106 85 88 103 97 96 102 6[37 4[67 67
-67 67 67 67 1[37 1[37 44[{}47 119.552 /CMBX12 rf /Fn
-129[48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 1[48 48 48
-1[48 3[48 48 48 48 48 48 48 48 48 48 48 1[48 48 48 48
-48 48 48 48 48 48 48 48 48 48 1[48 1[48 48 1[48 3[48
-48 48 48 48 48 1[48 48 48 48 2[48 48 48 48 33[{}77 90.9091
-/CMTT10 rf /Fo 131[91 45 40 48 48 66 48 51 35 36 36 48
-51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25
-45 25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71
-47 33 68 71 59 62 69 66 64 68 5[25 25 45 45 45 45 45
-45 45 45 45 45 45 25 30 25 2[35 35 25 4[45 20[51 51 53
-11[{}81 90.9091 /CMR10 rf /Fp 134[102 4[75 76 79 3[108
-1[54 2[54 2[59 88 108 86 108 94 11[149 2[144 3[151 1[116
-2[72 1[152 71[{}19 172.154 /CMBX12 rf end
+39 1[39 39 39 39 5[39 7[39 1[39 1[39 39 39 39 2[39 39
+39 39[{}48 74.7198 /CMTT9 rf /Fc 167[62 3[60 46 2[57
+1[62 76 52 1[43 1[62 65 54 1[63 60 67[{}13 83.022 /CMR10
+rf /Fd 134[65 65 1[65 68 48 48 50 1[68 61 68 102 34 65
+1[34 68 61 37 56 68 55 68 60 7[93 4[85 68 92 3[96 116
+74 96 1[46 96 1[77 81 1[89 87 93 8[61 61 61 61 61 61
+61 61 2[34 46[{}46 109.091 /CMBX12 rf /Fe 134[48 48 66
+1[51 35 36 36 48 51 45 51 76 25 48 1[25 51 45 28 40 1[40
+51 45 9[93 1[68 66 51 67 1[62 71 68 1[57 71 1[33 68 1[59
+62 69 66 64 68 19[30 45[{}41 90.9091 /CMSL10 rf /Ff 139[30
+37 38 3[51 4[28 1[42 90[51 12[{}7 90.9091 /CMTI10 rf
+/Fg 134[48 48 48 48 48 1[48 48 48 1[48 48 1[48 48 48
+48 1[48 48 48 48 1[48 48 1[48 2[48 14[48 48 1[48 1[48
+2[48 48 48 17[48 48 2[48 5[48 39[{}33 90.9091 /CMSLTT10
+rf /Fh 135[56 2[56 1[42 2[51 58 56 4[27 1[58 49 51 1[54
+1[56 97[{}12 90.9091 /CMCSC10 rf /Fi 197[25 58[{}1 90.9091
+/CMMI10 rf /Fj 197[33 58[{}1 119.552 /CMMI12 rf /Fk 135[85
+2[90 63 64 66 1[90 81 90 134 45 2[45 1[81 49 74 90 72
+90 78 11[124 112 5[126 1[97 4[127 101 106 124 117 1[122
+15[81 49[{}29 143.462 /CMBX12 rf /Fl 242[91 13[{}1 90.9091
+/CMSY10 rf /Fm 134[71 71 97 71 75 52 53 55 1[75 67 75
+112 37 2[37 75 67 41 61 75 60 75 65 9[139 1[103 1[75
+100 3[105 128 81 2[50 105 106 85 88 103 97 96 102 6[37
+4[67 67 67 67 67 67 1[37 1[37 44[{}47 119.552 /CMBX12
+rf /Fn 129[48 48 1[48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 1[48
+48 48 1[48 3[48 48 48 48 48 48 48 48 48 48 48 1[48 48
+48 48 48 48 48 48 48 48 48 48 48 48 1[48 1[48 48 1[48
+3[48 48 48 48 48 48 1[48 48 48 48 2[48 48 48 48 33[{}77
+90.9091 /CMTT10 rf /Fo 131[91 45 40 48 48 66 48 51 35
+36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51
+45 25 2[25 45 25 56 68 68 93 68 68 66 51 67 71 62 71
+68 83 57 71 47 33 68 71 59 62 69 66 64 68 5[25 25 45
+45 45 45 45 45 45 45 45 45 45 25 30 25 2[35 35 25 4[45
+20[51 51 53 11[{}81 90.9091 /CMR10 rf /Fp 134[102 4[75
+76 79 3[108 1[54 2[54 2[59 88 108 86 108 94 11[149 2[144
+3[151 1[116 2[72 1[152 71[{}19 172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
@@ -3204,8 +2965,8 @@ letter
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fp(GNU)65 b(Readline)g(Library)g(User)
g(In)-5 b(terface)p 150 1418 3600 34 v 1873 1515 a Fo(Edition)30
-b(6.0,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31
-b(6.0.)3217 1623 y(Octob)s(er)f(2008)150 4935 y Fm(Chet)45
+b(6.1,)i(for)e Fn(Readline)e(Library)h Fo(V)-8 b(ersion)31
+b(6.1.)3217 1623 y(Octob)s(er)f(2009)150 4935 y Fm(Chet)45
b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l
(ersit)l(y)150 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11
b(ree)45 b(Soft)l(w)l(are)h(F)-11 b(oundation)p 150 5141
@@ -3213,9 +2974,9 @@ b(ree)45 b(Soft)l(w)l(are)h(F)-11 b(oundation)p 150 5141
%%Page: 2 2
TeXDict begin 2 1 bop 150 3024 a Fo(This)38 b(man)m(ual)h(describ)s(es)
f(the)h(end)f(user)g(in)m(terface)i(of)f(the)g(GNU)g(Readline)g
-(Library)f(\(v)m(ersion)i(6.0,)150 3133 y(28)35 b(Octob)s(er)f(2008\),)
-k(a)d(library)f(whic)m(h)g(aids)g(in)g(the)h(consistency)g(of)g(user)e
-(in)m(terface)j(across)f(discrete)150 3243 y(programs)30
+(Library)f(\(v)m(ersion)i(6.1,)150 3133 y(9)e(Octob)s(er)f(2009\),)42
+b(a)c(library)f(whic)m(h)g(aids)h(in)f(the)h(consistency)g(of)g(user)f
+(in)m(terface)i(across)f(discrete)150 3243 y(programs)30
b(whic)m(h)g(pro)m(vide)h(a)f(command)g(line)h(in)m(terface.)150
3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 3377 y Fl(\015)f
Fo(1988{2009)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
@@ -3227,7 +2988,7 @@ f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m
b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
-b(1.2)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -3248,814 +3009,796 @@ eop end
%%Page: -1 3
TeXDict begin -1 2 bop 3725 -116 a Fo(i)150 299 y Fk(T)-13
b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fm(1)135 b(Command)45
-b(Line)g(Editing)40 b Fj(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
-(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)84 b Fm(1)449 778
-y Fo(1.1)92 b(In)m(tro)s(duction)30 b(to)h(Line)f(Editing)25
-b Fi(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55
-b Fo(1)449 888 y(1.2)92 b(Readline)31 b(In)m(teraction)16
-b Fi(.)h(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)46 b Fo(1)748 997 y(1.2.1)93 b(Readline)31
-b(Bare)g(Essen)m(tials)c Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56
-b Fo(1)748 1107 y(1.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)h
-(Commands)14 b Fi(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)44 b Fo(2)748 1216 y(1.2.3)93 b(Readline)31
-b(Killing)g(Commands)22 b Fi(.)13 b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)51 b Fo(2)748
-1326 y(1.2.4)93 b(Readline)31 b(Argumen)m(ts)25 b Fi(.)15
-b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b Fo(3)748
-1435 y(1.2.5)93 b(Searc)m(hing)30 b(for)h(Commands)e(in)h(the)g
-(History)d Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56
-b Fo(3)449 1545 y(1.3)92 b(Readline)31 b(Init)f(File)g
-Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)58 b Fo(4)748 1655 y(1.3.1)93 b(Readline)31
-b(Init)f(File)h(Syn)m(tax)13 b Fi(.)j(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)43
-b Fo(4)748 1764 y(1.3.2)93 b(Conditional)30 b(Init)h(Constructs)9
-b Fi(.)14 b(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)39 b Fo(9)748 1874 y(1.3.3)93
-b(Sample)30 b(Init)g(File)21 b Fi(.)c(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)51 b Fo(10)449 1983 y(1.4)92 b(Bindable)31
-b(Readline)g(Commands)12 b Fi(.)i(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)41
-b Fo(13)748 2093 y(1.4.1)93 b(Commands)29 b(F)-8 b(or)31
-b(Mo)m(ving)d Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56 b Fo(13)748
-2203 y(1.4.2)93 b(Commands)29 b(F)-8 b(or)31 b(Manipulating)g(The)f
-(History)18 b Fi(.)e(.)f(.)g(.)g(.)g(.)g(.)47 b Fo(13)748
-2312 y(1.4.3)93 b(Commands)29 b(F)-8 b(or)31 b(Changing)f(T)-8
-b(ext)30 b Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)h(.)f(.)58 b Fo(14)748 2422 y(1.4.4)93 b(Killing)31
-b(And)e(Y)-8 b(anking)17 b Fi(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)46
-b Fo(16)748 2531 y(1.4.5)93 b(Sp)s(ecifying)29 b(Numeric)i(Argumen)m
-(ts)25 b Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)54 b Fo(17)748 2641 y(1.4.6)93 b(Letting)31
-b(Readline)g(T)m(yp)s(e)f(F)-8 b(or)31 b(Y)-8 b(ou)19
-b Fi(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-49 b Fo(17)748 2751 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)11
-b Fi(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41
-b Fo(17)748 2860 y(1.4.8)93 b(Some)30 b(Miscellaneous)i(Commands)13
-b Fi(.)h(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
-42 b Fo(18)449 2970 y(1.5)92 b(Readline)31 b(vi)f(Mo)s(de)d
-Fi(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)56 b Fo(19)150 3212 y Fm(App)t(endix)44
-b(A)99 b(GNU)46 b(F)-11 b(ree)44 b(Do)t(cumen)l(tation)j(License)456
-3345 y Fj(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
-h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
-(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)82 b Fm(20)p eop end
+b(Line)g(Editing)35 b Fj(:)20 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)79
+b Fm(1)275 778 y Fo(1.1)92 b(In)m(tro)s(duction)30 b(to)h(Line)f
+(Editing)9 b Fi(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)39 b Fo(1)275 888 y(1.2)92 b(Readline)31
+b(In)m(teraction)11 b Fi(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41
+b Fo(1)399 997 y(1.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)9
+b Fi(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)40 b Fo(1)399 1107 y(1.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i
+(Commands)10 b Fi(:)k(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)40
+b Fo(2)399 1216 y(1.2.3)93 b(Readline)31 b(Killing)g(Commands)21
+b Fi(:)15 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52
+b Fo(2)399 1326 y(1.2.4)93 b(Readline)31 b(Argumen)m(ts)14
+b Fi(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)44 b Fo(3)399 1435 y(1.2.5)93 b(Searc)m(hing)31
+b(for)f(Commands)f(in)h(the)h(History)11 b Fi(:)16 b(:)g(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)42
+b Fo(3)275 1545 y(1.3)92 b(Readline)31 b(Init)f(File)c
+Fi(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)55 b
+Fo(4)399 1655 y(1.3.1)93 b(Readline)31 b(Init)f(File)i(Syn)m(tax)17
+b Fi(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47
+b Fo(4)399 1764 y(1.3.2)93 b(Conditional)31 b(Init)f(Constructs)e
+Fi(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)58
+b Fo(10)399 1874 y(1.3.3)93 b(Sample)30 b(Init)g(File)14
+b Fi(:)j(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)44 b Fo(10)275 1983 y(1.4)92
+b(Bindable)30 b(Readline)h(Commands)14 b Fi(:)g(:)i(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)43 b Fo(13)399 2093 y(1.4.1)93
+b(Commands)29 b(F)-8 b(or)31 b(Mo)m(ving)10 b Fi(:)17
+b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)40
+b Fo(13)399 2203 y(1.4.2)93 b(Commands)29 b(F)-8 b(or)31
+b(Manipulating)g(The)f(History)20 b Fi(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49 b Fo(13)399 2312 y(1.4.3)93
+b(Commands)29 b(F)-8 b(or)31 b(Changing)f(T)-8 b(ext)25
+b Fi(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)53 b Fo(15)399
+2422 y(1.4.4)93 b(Killing)31 b(And)e(Y)-8 b(anking)26
+b Fi(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)55 b Fo(16)399 2531 y(1.4.5)93 b(Sp)s(ecifying)30
+b(Numeric)g(Argumen)m(ts)19 b Fi(:)d(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)49
+b Fo(17)399 2641 y(1.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)-8
+b(or)31 b(Y)-8 b(ou)14 b Fi(:)i(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)44
+b Fo(17)399 2751 y(1.4.7)93 b(Keyb)s(oard)29 b(Macros)23
+b Fi(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)53 b Fo(18)399 2860 y(1.4.8)93
+b(Some)30 b(Miscellaneous)j(Commands)26 b Fi(:)16 b(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)58 b Fo(18)275 2970 y(1.5)92 b(Readline)31 b(vi)f(Mo)s(de)22
+b Fi(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)52 b Fo(19)150
+3212 y Fm(App)t(endix)44 b(A)160 b(GNU)45 b(F)-11 b(ree)45
+b(Do)t(cumen)l(tation)h(License)446 3345 y Fj(:)20 b(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)h(:)f(:)h(:)f(:)72 b Fm(20)p eop end
%%Page: 1 4
TeXDict begin 1 3 bop 150 -116 a Fo(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2153 b(1)150 299 y Fk(1)80
-b(Command)54 b(Line)f(Editing)275 511 y Fo(This)29 b(c)m(hapter)i
-(describ)s(es)f(the)g(basic)h(features)g(of)f(the)h Fh(gnu)f
-Fo(command)g(line)h(editing)g(in)m(terface.)150 755 y
-Fm(1.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)275
-995 y Fo(The)29 b(follo)m(wing)j(paragraphs)e(describ)s(e)g(the)g
-(notation)i(used)d(to)j(represen)m(t)e(k)m(eystrok)m(es.)275
-1125 y(The)i(text)j Fg(C-k)d Fo(is)i(read)f(as)h(`Con)m(trol-K')g(and)f
-(describ)s(es)g(the)g(c)m(haracter)i(pro)s(duced)d(when)g(the)3663
-1122 y Ff(h)p 3687 1069 38 4 v 3687 1125 a Fe(k)p 3687
-1140 V 3720 1122 a Ff(i)150 1235 y Fo(k)m(ey)f(is)g(pressed)e(while)h
-(the)h(Con)m(trol)g(k)m(ey)g(is)g(depressed.)275 1365
-y(The)g(text)i Fg(M-k)e Fo(is)h(read)f(as)i(`Meta-K')g(and)f(describ)s
-(es)f(the)h(c)m(haracter)h(pro)s(duced)e(when)f(the)i(Meta)150
-1474 y(k)m(ey)d(\(if)g(y)m(ou)g(ha)m(v)m(e)g(one\))g(is)g(depressed,)f
-(and)f(the)1859 1471 y Ff(h)p 1883 1418 V 1883 1474 a
-Fe(k)p 1883 1490 V 1916 1471 a Ff(i)1974 1474 y Fo(k)m(ey)j(is)e
-(pressed.)39 b(The)28 b(Meta)i(k)m(ey)f(is)g(lab)s(eled)3558
-1471 y Ff(h)p 3582 1418 143 4 v 3582 1474 a Fe(AL)-6
-b(T)p 3582 1490 V 3720 1471 a Ff(i)150 1584 y Fo(on)26
-b(man)m(y)g(k)m(eyb)s(oards.)39 b(On)26 b(k)m(eyb)s(oards)g(with)g(t)m
-(w)m(o)h(k)m(eys)g(lab)s(eled)2425 1581 y Ff(h)p 2450
-1528 V 2450 1584 a Fe(AL)-6 b(T)p 2450 1599 V 2587 1581
-a Ff(i)2643 1584 y Fo(\(usually)27 b(to)g(either)f(side)g(of)h(the)150
-1693 y(space)32 b(bar\),)g(the)775 1690 y Ff(h)p 799
-1637 V 799 1693 a Fe(AL)-6 b(T)p 799 1709 V 937 1690
-a Ff(i)998 1693 y Fo(on)32 b(the)f(left)h(side)g(is)f(generally)i(set)e
-(to)i(w)m(ork)e(as)h(a)f(Meta)i(k)m(ey)-8 b(.)45 b(The)3393
-1690 y Ff(h)p 3417 1637 V 3417 1693 a Fe(AL)-6 b(T)p
-3417 1709 V 3555 1690 a Ff(i)3616 1693 y Fo(k)m(ey)150
-1803 y(on)33 b(the)h(righ)m(t)g(ma)m(y)g(also)g(b)s(e)f(con\014gured)f
-(to)i(w)m(ork)g(as)g(a)f(Meta)i(k)m(ey)f(or)g(ma)m(y)g(b)s(e)e
-(con\014gured)h(as)h(some)150 1913 y(other)d(mo)s(di\014er,)e(suc)m(h)h
-(as)h(a)g(Comp)s(ose)f(k)m(ey)h(for)f(t)m(yping)h(accen)m(ted)h(c)m
-(haracters.)275 2043 y(If)21 b(y)m(ou)h(do)g(not)g(ha)m(v)m(e)h(a)f
-(Meta)h(or)1388 2040 y Ff(h)p 1412 1987 V 1412 2043 a
-Fe(AL)-6 b(T)p 1412 2058 V 1550 2040 a Ff(i)1601 2043
-y Fo(k)m(ey)e(,)25 b(or)d(another)g(k)m(ey)h(w)m(orking)f(as)g(a)g
-(Meta)h(k)m(ey)-8 b(,)25 b(the)d(iden)m(tical)150 2152
-y(k)m(eystrok)m(e)i(can)f(b)s(e)f(generated)i(b)m(y)e(t)m(yping)1619
-2149 y Ff(h)p 1643 2096 139 4 v 1643 2152 a Fe(ESC)p
-1643 2168 V 1777 2149 a Ff(i)1829 2152 y Fi(\014rst)p
-Fo(,)j(and)d(then)g(t)m(yping)2678 2149 y Ff(h)p 2703
-2096 38 4 v 2703 2152 a Fe(k)p 2703 2168 V 2736 2149
-a Ff(i)2765 2152 y Fo(.)38 b(Either)23 b(pro)s(cess)f(is)g(kno)m(wn)150
-2262 y(as)31 b Fd(metafying)39 b Fo(the)850 2259 y Ff(h)p
-874 2206 V 874 2262 a Fe(k)p 874 2277 V 907 2259 a Ff(i)968
-2262 y Fo(k)m(ey)-8 b(.)275 2392 y(The)39 b(text)j Fg(M-C-k)d
-Fo(is)h(read)g(as)h(`Meta-Con)m(trol-k')j(and)39 b(describ)s(es)h(the)g
-(c)m(haracter)i(pro)s(duced)d(b)m(y)150 2501 y Fd(metafying)g
-Fg(C-k)p Fo(.)275 2632 y(In)d(addition,)j(sev)m(eral)f(k)m(eys)f(ha)m
-(v)m(e)h(their)f(o)m(wn)g(names.)60 b(Sp)s(eci\014cally)-8
-b(,)2768 2629 y Ff(h)p 2792 2576 146 4 v 2792 2632 a
-Fe(DEL)p 2792 2647 V 2934 2629 a Ff(i)2964 2632 y Fo(,)3028
-2629 y Ff(h)p 3052 2576 139 4 v 3052 2632 a Fe(ESC)p
-3052 2647 V 3186 2629 a Ff(i)3216 2632 y Fo(,)3279 2629
-y Ff(h)p 3303 2576 144 4 v 3303 2632 a Fe(LFD)p 3303
-2647 V 3443 2629 a Ff(i)3473 2632 y Fo(,)3537 2629 y
-Ff(h)p 3561 2576 139 4 v 3561 2632 a Fe(SPC)p 3561 2647
-V 3695 2629 a Ff(i)3725 2632 y Fo(,)150 2738 y Ff(h)p
-174 2685 151 4 v 174 2741 a Fe(RET)p 174 2757 V 321 2738
-a Ff(i)351 2741 y Fo(,)47 b(and)612 2738 y Ff(h)p 637
-2685 148 4 v 637 2741 a Fe(T)-6 b(AB)p 637 2757 V 780
-2738 a Ff(i)853 2741 y Fo(all)45 b(stand)e(for)g(themselv)m(es)i(when)d
-(seen)i(in)f(this)g(text,)48 b(or)43 b(in)g(an)h(init)f(\014le)h(\(see)
-150 2851 y(Section)c(1.3)f([Readline)h(Init)e(File],)43
-b(page)c(4\).)67 b(If)38 b(y)m(our)h(k)m(eyb)s(oard)f(lac)m(ks)i(a)2888
-2848 y Ff(h)p 2912 2795 144 4 v 2912 2851 a Fe(LFD)p
-2912 2866 V 3052 2848 a Ff(i)3121 2851 y Fo(k)m(ey)-8
-b(,)42 b(t)m(yping)3604 2848 y Ff(h)p 3628 2795 97 4
-v 3628 2851 a Fe(C-j)p 3628 2866 V 3720 2848 a Ff(i)150
-2960 y Fo(will)30 b(pro)s(duce)e(the)i(desired)f(c)m(haracter.)42
-b(The)1748 2957 y Ff(h)p 1772 2904 151 4 v 1772 2960
-a Fe(RET)p 1772 2976 V 1919 2957 a Ff(i)1978 2960 y Fo(k)m(ey)30
-b(ma)m(y)g(b)s(e)f(lab)s(eled)2770 2957 y Ff(h)p 2794
-2904 217 4 v 2794 2960 a Fe(Return)p 2794 2976 V 3007
-2957 a Ff(i)3066 2960 y Fo(or)3176 2957 y Ff(h)p 3201
-2904 172 4 v 3201 2960 a Fe(En)n(ter)p 3201 2976 V 3368
-2957 a Ff(i)3427 2960 y Fo(on)h(some)150 3070 y(k)m(eyb)s(oards.)150
-3314 y Fm(1.2)68 b(Readline)47 b(In)l(teraction)275 3554
-y Fo(Often)24 b(during)g(an)h(in)m(teractiv)m(e)j(session)e(y)m(ou)f(t)
-m(yp)s(e)h(in)f(a)g(long)h(line)f(of)h(text,)h(only)f(to)f(notice)i
-(that)f(the)150 3663 y(\014rst)32 b(w)m(ord)g(on)g(the)g(line)h(is)g
+b(Command)54 b(Line)f(Editing)150 532 y Fo(This)30 b(c)m(hapter)h
+(describ)s(es)e(the)i(basic)g(features)f(of)h(the)f Fh(gnu)g
+Fo(command)h(line)f(editing)h(in)m(terface.)150 764 y
+Fm(1.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150
+923 y Fo(The)30 b(follo)m(wing)i(paragraphs)d(describ)s(e)h(the)h
+(notation)g(used)f(to)h(represen)m(t)f(k)m(eystrok)m(es.)275
+1058 y(The)35 b(text)i Fg(C-k)f Fo(is)g(read)g(as)h(`Con)m(trol-K')g
+(and)f(describ)s(es)f(the)h(c)m(haracter)i(pro)s(duced)d(when)g(the)h
+Fn(k)150 1167 y Fo(k)m(ey)31 b(is)g(pressed)e(while)h(the)h(Con)m(trol)
+g(k)m(ey)g(is)g(depressed.)275 1301 y(The)g(text)i Fg(M-k)e
+Fo(is)h(read)f(as)i(`Meta-K')g(and)f(describ)s(es)f(the)h(c)m(haracter)
+h(pro)s(duced)e(when)f(the)i(Meta)150 1411 y(k)m(ey)i(\(if)f(y)m(ou)h
+(ha)m(v)m(e)g(one\))g(is)f(depressed,)g(and)f(the)h Fn(k)g
+Fo(k)m(ey)h(is)f(pressed.)48 b(The)32 b(Meta)j(k)m(ey)e(is)h(lab)s
+(eled)f Fn(ALT)150 1521 y Fo(on)c(man)m(y)h(k)m(eyb)s(oards.)40
+b(On)29 b(k)m(eyb)s(oards)g(with)h(t)m(w)m(o)h(k)m(eys)f(lab)s(eled)g
+Fn(ALT)e Fo(\(usually)i(to)g(either)g(side)g(of)g(the)150
+1630 y(space)h(bar\),)f(the)g Fn(ALT)f Fo(on)h(the)g(left)h(side)f(is)g
+(generally)h(set)f(to)h(w)m(ork)f(as)g(a)h(Meta)g(k)m(ey)-8
+b(.)42 b(The)29 b Fn(ALT)g Fo(k)m(ey)i(on)150 1740 y(the)c(righ)m(t)h
+(ma)m(y)g(also)g(b)s(e)f(con\014gured)f(to)i(w)m(ork)f(as)h(a)f(Meta)i
+(k)m(ey)f(or)f(ma)m(y)h(b)s(e)e(con\014gured)h(as)g(some)h(other)150
+1849 y(mo)s(di\014er,)i(suc)m(h)g(as)g(a)h(Comp)s(ose)f(k)m(ey)h(for)f
+(t)m(yping)h(accen)m(ted)h(c)m(haracters.)275 1984 y(If)23
+b(y)m(ou)i(do)f(not)h(ha)m(v)m(e)h(a)f(Meta)g(or)g Fn(ALT)e
+Fo(k)m(ey)-8 b(,)27 b(or)e(another)f(k)m(ey)i(w)m(orking)e(as)h(a)g
+(Meta)h(k)m(ey)-8 b(,)27 b(the)d(iden)m(tical)150 2093
+y(k)m(eystrok)m(e)30 b(can)f(b)s(e)f(generated)h(b)m(y)g(t)m(yping)g
+Fn(ESC)e Ff(\014rst)p Fo(,)j(and)e(then)g(t)m(yping)h
+Fn(k)p Fo(.)40 b(Either)28 b(pro)s(cess)g(is)g(kno)m(wn)150
+2203 y(as)j Fe(metafying)39 b Fo(the)30 b Fn(k)g Fo(k)m(ey)-8
+b(.)275 2337 y(The)39 b(text)j Fg(M-C-k)d Fo(is)h(read)g(as)h
+(`Meta-Con)m(trol-k')j(and)39 b(describ)s(es)h(the)g(c)m(haracter)i
+(pro)s(duced)d(b)m(y)150 2447 y Fe(metafying)g Fg(C-k)p
+Fo(.)275 2581 y(In)c(addition,)j(sev)m(eral)f(k)m(eys)g(ha)m(v)m(e)g
+(their)f(o)m(wn)g(names.)58 b(Sp)s(eci\014cally)-8 b(,)38
+b Fn(DEL)p Fo(,)f Fn(ESC)p Fo(,)g Fn(LFD)p Fo(,)g Fn(SPC)p
+Fo(,)g Fn(RET)p Fo(,)150 2690 y(and)d Fn(TAB)f Fo(all)j(stand)e(for)g
+(themselv)m(es)i(when)d(seen)i(in)f(this)g(text,)j(or)d(in)h(an)f(init)
+h(\014le)f(\(see)i(Section)f(1.3)150 2800 y([Readline)c(Init)e(File],)j
+(page)e(4\).)41 b(If)29 b(y)m(our)h(k)m(eyb)s(oard)f(lac)m(ks)i(a)f
+Fn(LFD)f Fo(k)m(ey)-8 b(,)31 b(t)m(yping)g Fn(C-j)d Fo(will)i(pro)s
+(duce)f(the)150 2910 y(desired)h(c)m(haracter.)42 b(The)30
+b Fn(RET)g Fo(k)m(ey)h(ma)m(y)g(b)s(e)e(lab)s(eled)i
+Fn(Return)e Fo(or)h Fn(Enter)f Fo(on)h(some)h(k)m(eyb)s(oards.)150
+3142 y Fm(1.2)68 b(Readline)47 b(In)l(teraction)150 3301
+y Fo(Often)32 b(during)g(an)g(in)m(teractiv)m(e)j(session)e(y)m(ou)g(t)
+m(yp)s(e)g(in)f(a)h(long)g(line)g(of)f(text,)j(only)d(to)i(notice)g
+(that)f(the)150 3411 y(\014rst)f(w)m(ord)g(on)g(the)g(line)h(is)g
(missp)s(elled.)46 b(The)32 b(Readline)h(library)f(giv)m(es)h(y)m(ou)g
-(a)g(set)g(of)f(commands)g(for)150 3773 y(manipulating)e(the)g(text)h
+(a)g(set)g(of)f(commands)g(for)150 3520 y(manipulating)e(the)g(text)h
(as)f(y)m(ou)g(t)m(yp)s(e)g(it)g(in,)g(allo)m(wing)h(y)m(ou)f(to)h
(just)e(\014x)g(y)m(our)h(t)m(yp)s(o,)g(and)g(not)g(forcing)150
-3883 y(y)m(ou)e(to)h(ret)m(yp)s(e)g(the)f(ma)5 b(jorit)m(y)29
+3630 y(y)m(ou)e(to)h(ret)m(yp)s(e)g(the)f(ma)5 b(jorit)m(y)29
b(of)f(the)h(line.)40 b(Using)28 b(these)h(editing)g(commands,)f(y)m
-(ou)h(mo)m(v)m(e)g(the)g(cursor)150 3992 y(to)35 b(the)f(place)i(that)e
+(ou)h(mo)m(v)m(e)g(the)g(cursor)150 3739 y(to)35 b(the)f(place)i(that)e
(needs)g(correction,)j(and)d(delete)h(or)f(insert)h(the)f(text)h(of)g
-(the)f(corrections.)54 b(Then,)150 4102 y(when)30 b(y)m(ou)i(are)f
-(satis\014ed)g(with)g(the)g(line,)h(y)m(ou)g(simply)e(press)2320
-4099 y Ff(h)p 2344 4046 151 4 v 2344 4102 a Fe(RET)p
-2344 4117 V 2491 4099 a Ff(i)2520 4102 y Fo(.)43 b(Y)-8
-b(ou)32 b(do)f(not)g(ha)m(v)m(e)i(to)e(b)s(e)g(at)h(the)150
-4211 y(end)j(of)h(the)g(line)g(to)h(press)1126 4208 y
-Ff(h)p 1150 4155 V 1150 4211 a Fe(RET)p 1150 4227 V 1297
-4208 a Ff(i)1327 4211 y Fo(;)h(the)e(en)m(tire)h(line)f(is)g(accepted)h
-(regardless)f(of)g(the)g(lo)s(cation)i(of)e(the)150 4321
-y(cursor)30 b(within)g(the)g(line.)150 4532 y Fc(1.2.1)63
-b(Readline)40 b(Bare)h(Essen)m(tials)275 4772 y Fo(In)22
-b(order)g(to)i(en)m(ter)g(c)m(haracters)g(in)m(to)g(the)g(line,)h
-(simply)d(t)m(yp)s(e)i(them.)38 b(The)22 b(t)m(yp)s(ed)h(c)m(haracter)i
-(app)s(ears)150 4881 y(where)32 b(the)h(cursor)e(w)m(as,)j(and)e(then)g
-(the)h(cursor)e(mo)m(v)m(es)j(one)f(space)g(to)g(the)g(righ)m(t.)47
-b(If)32 b(y)m(ou)h(mist)m(yp)s(e)g(a)150 4991 y(c)m(haracter,)f(y)m(ou)
-f(can)g(use)f(y)m(our)g(erase)h(c)m(haracter)h(to)f(bac)m(k)g(up)f(and)
-f(delete)j(the)f(mist)m(yp)s(ed)e(c)m(haracter.)275 5121
+(the)f(corrections.)54 b(Then,)150 3849 y(when)24 b(y)m(ou)h(are)g
+(satis\014ed)g(with)g(the)g(line,)i(y)m(ou)e(simply)f(press)g
+Fn(RET)p Fo(.)39 b(Y)-8 b(ou)25 b(do)g(not)g(ha)m(v)m(e)h(to)g(b)s(e)e
+(at)h(the)h(end)150 3959 y(of)33 b(the)h(line)g(to)g(press)e
+Fn(RET)p Fo(;)i(the)g(en)m(tire)g(line)f(is)h(accepted)g(regardless)g
+(of)f(the)h(lo)s(cation)h(of)e(the)h(cursor)150 4068
+y(within)c(the)g(line.)150 4267 y Fd(1.2.1)63 b(Readline)40
+b(Bare)h(Essen)m(tials)150 4414 y Fo(In)31 b(order)h(to)h(en)m(ter)g(c)
+m(haracters)g(in)m(to)g(the)g(line,)g(simply)e(t)m(yp)s(e)i(them.)46
+b(The)31 b(t)m(yp)s(ed)h(c)m(haracter)i(app)s(ears)150
+4523 y(where)e(the)h(cursor)e(w)m(as,)j(and)e(then)g(the)h(cursor)e(mo)
+m(v)m(es)j(one)f(space)g(to)g(the)g(righ)m(t.)47 b(If)32
+b(y)m(ou)h(mist)m(yp)s(e)g(a)150 4633 y(c)m(haracter,)f(y)m(ou)f(can)g
+(use)f(y)m(our)g(erase)h(c)m(haracter)h(to)f(bac)m(k)g(up)f(and)f
+(delete)j(the)f(mist)m(yp)s(ed)e(c)m(haracter.)275 4767
y(Sometimes)i(y)m(ou)g(ma)m(y)h(mist)m(yp)s(e)e(a)i(c)m(haracter,)g
(and)e(not)i(notice)g(the)f(error)f(un)m(til)h(y)m(ou)g(ha)m(v)m(e)h(t)
-m(yp)s(ed)150 5230 y(sev)m(eral)e(other)f(c)m(haracters.)42
+m(yp)s(ed)150 4877 y(sev)m(eral)e(other)f(c)m(haracters.)42
b(In)28 b(that)i(case,)g(y)m(ou)f(can)g(t)m(yp)s(e)h
Fg(C-b)d Fo(to)j(mo)m(v)m(e)g(the)f(cursor)g(to)g(the)g(left,)i(and)150
-5340 y(then)f(correct)i(y)m(our)e(mistak)m(e.)42 b(Afterw)m(ards,)31
+4987 y(then)f(correct)i(y)m(our)e(mistak)m(e.)42 b(Afterw)m(ards,)31
b(y)m(ou)f(can)h(mo)m(v)m(e)h(the)e(cursor)g(to)h(the)g(righ)m(t)g
-(with)f Fg(C-f)p Fo(.)p eop end
+(with)f Fg(C-f)p Fo(.)275 5121 y(When)i(y)m(ou)h(add)f(text)h(in)f(the)
+h(middle)f(of)h(a)g(line,)h(y)m(ou)e(will)h(notice)h(that)f(c)m
+(haracters)h(to)g(the)e(righ)m(t)150 5230 y(of)d(the)g(cursor)f(are)h
+(`pushed)e(o)m(v)m(er')j(to)g(mak)m(e)f(ro)s(om)g(for)f(the)h(text)h
+(that)f(y)m(ou)g(ha)m(v)m(e)h(inserted.)40 b(Lik)m(ewise,)150
+5340 y(when)d(y)m(ou)g(delete)i(text)g(b)s(ehind)c(the)j(cursor,)h(c)m
+(haracters)g(to)f(the)g(righ)m(t)g(of)g(the)g(cursor)e(are)i(`pulled)p
+eop end
%%Page: 2 5
TeXDict begin 2 4 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(2)275 299 y(When)32
-b(y)m(ou)h(add)f(text)h(in)f(the)h(middle)f(of)h(a)g(line,)h(y)m(ou)e
-(will)h(notice)h(that)f(c)m(haracters)h(to)g(the)e(righ)m(t)150
-408 y(of)d(the)g(cursor)f(are)h(`pushed)e(o)m(v)m(er')j(to)g(mak)m(e)f
-(ro)s(om)g(for)f(the)h(text)h(that)f(y)m(ou)g(ha)m(v)m(e)h(inserted.)40
-b(Lik)m(ewise,)150 518 y(when)d(y)m(ou)g(delete)i(text)g(b)s(ehind)c
-(the)j(cursor,)h(c)m(haracters)g(to)f(the)g(righ)m(t)g(of)g(the)g
-(cursor)e(are)i(`pulled)150 628 y(bac)m(k')24 b(to)f(\014ll)g(in)f(the)
-h(blank)f(space)i(created)f(b)m(y)g(the)g(remo)m(v)-5
-b(al)24 b(of)f(the)g(text.)39 b(A)23 b(list)g(of)g(the)g(bare)f(essen)m
-(tials)150 737 y(for)30 b(editing)h(the)g(text)g(of)g(an)f(input)f
-(line)i(follo)m(ws.)150 892 y Fg(C-b)336 b Fo(Mo)m(v)m(e)32
-b(bac)m(k)g(one)e(c)m(haracter.)150 1048 y Fg(C-f)336
-b Fo(Mo)m(v)m(e)32 b(forw)m(ard)e(one)h(c)m(haracter.)150
-1200 y Ff(h)p 174 1147 146 4 v 174 1203 a Fe(DEL)p 174
-1218 V 316 1200 a Ff(i)376 1203 y Fo(or)487 1200 y Ff(h)p
-512 1147 317 4 v 512 1203 a Fe(Bac)n(kspace)p 512 1218
-V 824 1200 a Ff(i)630 1312 y Fo(Delete)i(the)d(c)m(haracter)i(to)f(the)
-g(left)g(of)f(the)h(cursor.)150 1467 y Fg(C-d)336 b Fo(Delete)33
-b(the)d(c)m(haracter)i(underneath)d(the)i(cursor.)150
-1622 y(Prin)m(ting)g(c)m(haracters)630 1732 y(Insert)f(the)g(c)m
-(haracter)i(in)m(to)g(the)e(line)h(at)g(the)g(cursor.)150
-1887 y Fg(C-_)e Fo(or)i Fg(C-x)e(C-u)630 1997 y Fo(Undo)k(the)h(last)g
-(editing)g(command.)50 b(Y)-8 b(ou)34 b(can)f(undo)g(all)h(the)f(w)m(a)
-m(y)i(bac)m(k)f(to)g(an)g(empt)m(y)630 2106 y(line.)150
-2262 y(\(Dep)s(ending)g(on)g(y)m(our)g(con\014guration,)h(the)1726
-2259 y Ff(h)p 1750 2205 V 1750 2262 a Fe(Bac)n(kspace)p
-1750 2277 V 2063 2259 a Ff(i)2127 2262 y Fo(k)m(ey)g(b)s(e)e(set)h(to)h
-(delete)g(the)f(c)m(haracter)i(to)f(the)150 2371 y(left)f(of)f(the)g
-(cursor)f(and)h(the)1192 2368 y Ff(h)p 1216 2315 146
-4 v 1216 2371 a Fe(DEL)p 1216 2386 V 1358 2368 a Ff(i)1421
-2371 y Fo(k)m(ey)g(set)h(to)g(delete)g(the)f(c)m(haracter)i(underneath)
-c(the)i(cursor,)h(lik)m(e)150 2481 y Fg(C-d)p Fo(,)c(rather)g(than)g
-(the)h(c)m(haracter)h(to)f(the)f(left)h(of)g(the)f(cursor.\))150
-2698 y Fc(1.2.2)63 b(Readline)40 b(Mo)m(v)m(emen)m(t)h(Commands)275
-2940 y Fo(The)25 b(ab)s(o)m(v)m(e)i(table)g(describ)s(es)f(the)g(most)h
-(basic)f(k)m(eystrok)m(es)i(that)f(y)m(ou)f(need)g(in)g(order)f(to)i
-(do)f(editing)150 3050 y(of)g(the)f(input)g(line.)39
-b(F)-8 b(or)27 b(y)m(our)e(con)m(v)m(enience,)k(man)m(y)c(other)h
-(commands)f(ha)m(v)m(e)i(b)s(een)e(added)g(in)g(addition)150
-3160 y(to)33 b Fg(C-b)p Fo(,)e Fg(C-f)p Fo(,)h Fg(C-d)p
-Fo(,)g(and)1043 3157 y Ff(h)p 1067 3104 V 1067 3160 a
-Fe(DEL)p 1067 3175 V 1209 3157 a Ff(i)1239 3160 y Fo(.)45
-b(Here)33 b(are)f(some)g(commands)g(for)g(mo)m(ving)h(more)f(rapidly)f
-(ab)s(out)h(the)150 3269 y(line.)150 3424 y Fg(C-a)336
-b Fo(Mo)m(v)m(e)32 b(to)g(the)e(start)h(of)g(the)f(line.)150
-3579 y Fg(C-e)336 b Fo(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h
-(line.)150 3735 y Fg(M-f)336 b Fo(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(w)m
-(ord,)f(where)g(a)h(w)m(ord)f(is)g(comp)s(osed)g(of)h(letters)h(and)d
-(digits.)150 3890 y Fg(M-b)336 b Fo(Mo)m(v)m(e)32 b(bac)m(kw)m(ard)f(a)
-g(w)m(ord.)150 4045 y Fg(C-l)336 b Fo(Clear)31 b(the)f(screen,)h
-(reprin)m(ting)f(the)h(curren)m(t)f(line)h(at)g(the)f(top.)275
-4200 y(Notice)c(ho)m(w)f Fg(C-f)e Fo(mo)m(v)m(es)j(forw)m(ard)e(a)h(c)m
+b(Command)29 b(Line)i(Editing)2153 b(2)150 299 y(bac)m(k')24
+b(to)f(\014ll)g(in)f(the)h(blank)f(space)i(created)f(b)m(y)g(the)g
+(remo)m(v)-5 b(al)24 b(of)f(the)g(text.)39 b(A)23 b(list)g(of)g(the)g
+(bare)f(essen)m(tials)150 408 y(for)30 b(editing)h(the)g(text)g(of)g
+(an)f(input)f(line)i(follo)m(ws.)150 562 y Fg(C-b)336
+b Fo(Mo)m(v)m(e)32 b(bac)m(k)g(one)e(c)m(haracter.)150
+715 y Fg(C-f)336 b Fo(Mo)m(v)m(e)32 b(forw)m(ard)e(one)h(c)m(haracter.)
+150 869 y Fn(DEL)e Fo(or)i Fn(Backspace)630 978 y Fo(Delete)i(the)d(c)m
+(haracter)i(to)f(the)g(left)g(of)f(the)h(cursor.)150
+1132 y Fg(C-d)336 b Fo(Delete)33 b(the)d(c)m(haracter)i(underneath)d
+(the)i(cursor.)150 1285 y(Prin)m(ting)g(c)m(haracters)630
+1394 y(Insert)f(the)g(c)m(haracter)i(in)m(to)g(the)e(line)h(at)g(the)g
+(cursor.)150 1548 y Fg(C-_)e Fo(or)i Fg(C-x)e(C-u)630
+1657 y Fo(Undo)k(the)h(last)g(editing)g(command.)50 b(Y)-8
+b(ou)34 b(can)f(undo)g(all)h(the)f(w)m(a)m(y)i(bac)m(k)f(to)g(an)g
+(empt)m(y)630 1767 y(line.)150 1920 y(\(Dep)s(ending)29
+b(on)h(y)m(our)f(con\014guration,)i(the)e Fn(Backspace)e
+Fo(k)m(ey)k(b)s(e)d(set)j(to)f(delete)h(the)e(c)m(haracter)i(to)g(the)
+150 2030 y(left)37 b(of)f(the)h(cursor)e(and)h(the)g
+Fn(DEL)g Fo(k)m(ey)h(set)f(to)h(delete)h(the)e(c)m(haracter)i
+(underneath)d(the)h(cursor,)i(lik)m(e)150 2140 y Fg(C-d)p
+Fo(,)30 b(rather)g(than)g(the)h(c)m(haracter)h(to)f(the)f(left)h(of)g
+(the)f(cursor.\))150 2333 y Fd(1.2.2)63 b(Readline)40
+b(Mo)m(v)m(emen)m(t)h(Commands)150 2480 y Fo(The)27 b(ab)s(o)m(v)m(e)i
+(table)g(describ)s(es)e(the)g(most)i(basic)f(k)m(eystrok)m(es)h(that)f
+(y)m(ou)g(need)g(in)f(order)g(to)i(do)e(editing)i(of)150
+2589 y(the)k(input)f(line.)49 b(F)-8 b(or)34 b(y)m(our)f(con)m(v)m
+(enience,)j(man)m(y)d(other)g(commands)f(ha)m(v)m(e)j(b)s(een)d(added)g
+(in)h(addition)150 2699 y(to)j Fg(C-b)p Fo(,)f Fg(C-f)p
+Fo(,)g Fg(C-d)p Fo(,)h(and)e Fn(DEL)p Fo(.)54 b(Here)35
+b(are)g(some)h(commands)e(for)h(mo)m(ving)h(more)f(rapidly)f(ab)s(out)h
+(the)150 2808 y(line.)150 2962 y Fg(C-a)336 b Fo(Mo)m(v)m(e)32
+b(to)g(the)e(start)h(of)g(the)f(line.)150 3115 y Fg(C-e)336
+b Fo(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(line.)150
+3269 y Fg(M-f)336 b Fo(Mo)m(v)m(e)32 b(forw)m(ard)e(a)h(w)m(ord,)f
+(where)g(a)h(w)m(ord)f(is)g(comp)s(osed)g(of)h(letters)h(and)d(digits.)
+150 3422 y Fg(M-b)336 b Fo(Mo)m(v)m(e)32 b(bac)m(kw)m(ard)f(a)g(w)m
+(ord.)150 3575 y Fg(C-l)336 b Fo(Clear)31 b(the)f(screen,)h(reprin)m
+(ting)f(the)h(curren)m(t)f(line)h(at)g(the)f(top.)275
+3729 y(Notice)c(ho)m(w)f Fg(C-f)e Fo(mo)m(v)m(es)j(forw)m(ard)e(a)h(c)m
(haracter,)j(while)d Fg(M-f)e Fo(mo)m(v)m(es)j(forw)m(ard)e(a)h(w)m
-(ord.)39 b(It)24 b(is)h(a)g(lo)s(ose)150 4310 y(con)m(v)m(en)m(tion)32
+(ord.)39 b(It)24 b(is)h(a)g(lo)s(ose)150 3838 y(con)m(v)m(en)m(tion)32
b(that)f(con)m(trol)g(k)m(eystrok)m(es)h(op)s(erate)e(on)g(c)m
(haracters)h(while)f(meta)h(k)m(eystrok)m(es)h(op)s(erate)e(on)150
-4419 y(w)m(ords.)150 4637 y Fc(1.2.3)63 b(Readline)40
-b(Killing)i(Commands)275 4879 y Fd(Killing)j Fo(text)39
-b(means)e(to)h(delete)g(the)g(text)g(from)f(the)g(line,)j(but)d(to)h
-(sa)m(v)m(e)h(it)e(a)m(w)m(a)m(y)j(for)d(later)h(use,)150
-4988 y(usually)c(b)m(y)g Fd(y)m(anking)42 b Fo(\(re-inserting\))35
-b(it)g(bac)m(k)g(in)m(to)g(the)f(line.)52 b(\(`Cut')35
-b(and)e(`paste')i(are)g(more)f(recen)m(t)150 5098 y(jargon)d(for)f
-(`kill')h(and)f(`y)m(ank'.\))275 5230 y(If)f(the)i(description)f(for)g
-(a)h(command)f(sa)m(ys)g(that)h(it)g(`kills')g(text,)h(then)e(y)m(ou)g
-(can)h(b)s(e)e(sure)h(that)h(y)m(ou)150 5340 y(can)g(get)g(the)g(text)g
-(bac)m(k)g(in)f(a)h(di\013eren)m(t)g(\(or)g(the)f(same\))h(place)h
-(later.)p eop end
-%%Page: 3 6
-TeXDict begin 3 5 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(3)275 299 y(When)23
+3948 y(w)m(ords.)150 4141 y Fd(1.2.3)63 b(Readline)40
+b(Killing)i(Commands)150 4288 y Fe(Killing)35 b Fo(text)28
+b(means)e(to)h(delete)h(the)f(text)g(from)g(the)f(line,)i(but)e(to)h
+(sa)m(v)m(e)h(it)g(a)m(w)m(a)m(y)g(for)e(later)i(use,)f(usually)150
+4398 y(b)m(y)g Fe(y)m(anking)35 b Fo(\(re-inserting\))28
+b(it)g(bac)m(k)f(in)m(to)h(the)f(line.)40 b(\(`Cut')27
+b(and)g(`paste')h(are)f(more)g(recen)m(t)h(jargon)f(for)150
+4507 y(`kill')32 b(and)d(`y)m(ank'.\))275 4639 y(If)g(the)i
+(description)f(for)g(a)h(command)f(sa)m(ys)g(that)h(it)g(`kills')g
+(text,)h(then)e(y)m(ou)g(can)h(b)s(e)e(sure)h(that)h(y)m(ou)150
+4748 y(can)g(get)g(the)g(text)g(bac)m(k)g(in)f(a)h(di\013eren)m(t)g
+(\(or)g(the)f(same\))h(place)h(later.)275 4880 y(When)23
b(y)m(ou)g(use)g(a)h(kill)g(command,)g(the)g(text)g(is)f(sa)m(v)m(ed)i
-(in)e(a)g Fd(kill-ring)p Fo(.)39 b(An)m(y)24 b(n)m(um)m(b)s(er)e(of)h
-(consecutiv)m(e)150 408 y(kills)31 b(sa)m(v)m(e)i(all)f(of)f(the)g
+(in)e(a)g Fe(kill-ring)p Fo(.)39 b(An)m(y)24 b(n)m(um)m(b)s(er)e(of)h
+(consecutiv)m(e)150 4989 y(kills)31 b(sa)m(v)m(e)i(all)f(of)f(the)g
(killed)h(text)g(together,)g(so)g(that)f(when)f(y)m(ou)h(y)m(ank)h(it)f
-(bac)m(k,)h(y)m(ou)g(get)g(it)f(all.)43 b(The)150 518
+(bac)m(k,)h(y)m(ou)g(get)g(it)f(all.)43 b(The)150 5099
y(kill)33 b(ring)f(is)g(not)h(line)g(sp)s(eci\014c;)g(the)g(text)g
(that)g(y)m(ou)g(killed)f(on)h(a)f(previously)g(t)m(yp)s(ed)h(line)f
-(is)h(a)m(v)-5 b(ailable)150 628 y(to)31 b(b)s(e)f(y)m(ank)m(ed)h(bac)m
-(k)g(later,)h(when)d(y)m(ou)i(are)g(t)m(yping)f(another)h(line.)275
-760 y(Here)f(is)h(the)f(list)h(of)g(commands)f(for)g(killing)h(text.)
-150 916 y Fg(C-k)336 b Fo(Kill)31 b(the)f(text)i(from)e(the)g(curren)m
-(t)g(cursor)g(p)s(osition)h(to)g(the)f(end)g(of)g(the)h(line.)150
-1072 y Fg(M-d)336 b Fo(Kill)27 b(from)f(the)g(cursor)g(to)h(the)f(end)g
-(of)h(the)f(curren)m(t)g(w)m(ord,)h(or,)h(if)e(b)s(et)m(w)m(een)h(w)m
-(ords,)g(to)g(the)630 1182 y(end)j(of)g(the)h(next)f(w)m(ord.)41
+(is)h(a)m(v)-5 b(ailable)150 5208 y(to)31 b(b)s(e)f(y)m(ank)m(ed)h(bac)
+m(k)g(later,)h(when)d(y)m(ou)i(are)g(t)m(yping)f(another)h(line.)275
+5340 y(Here)f(is)h(the)f(list)h(of)g(commands)f(for)g(killing)h(text.)p
+eop end
+%%Page: 3 6
+TeXDict begin 3 5 bop 150 -116 a Fo(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(3)150 299 y Fg(C-k)336
+b Fo(Kill)31 b(the)f(text)i(from)e(the)g(curren)m(t)g(cursor)g(p)s
+(osition)h(to)g(the)f(end)g(of)g(the)h(line.)150 461
+y Fg(M-d)336 b Fo(Kill)27 b(from)f(the)g(cursor)g(to)h(the)f(end)g(of)h
+(the)f(curren)m(t)g(w)m(ord,)h(or,)h(if)e(b)s(et)m(w)m(een)h(w)m(ords,)
+g(to)g(the)630 570 y(end)j(of)g(the)h(next)f(w)m(ord.)41
b(W)-8 b(ord)30 b(b)s(oundaries)f(are)i(the)g(same)f(as)h(those)g(used)
-f(b)m(y)g Fg(M-f)p Fo(.)150 1337 y Fg(M-)246 1334 y Ff(h)p
-270 1281 146 4 v 270 1337 a Fe(DEL)p 270 1353 V 411 1334
-a Ff(i)630 1337 y Fo(Kill)h(from)f(the)h(cursor)f(the)g(start)h(of)g
-(the)g(curren)m(t)f(w)m(ord,)h(or,)f(if)h(b)s(et)m(w)m(een)g(w)m(ords,)
-f(to)i(the)630 1447 y(start)39 b(of)f(the)h(previous)f(w)m(ord.)64
-b(W)-8 b(ord)39 b(b)s(oundaries)e(are)i(the)f(same)h(as)g(those)f(used)
-g(b)m(y)630 1557 y Fg(M-b)p Fo(.)150 1712 y Fg(C-w)336
-b Fo(Kill)32 b(from)e(the)i(cursor)e(to)i(the)g(previous)e(whitespace.)
-44 b(This)31 b(is)g(di\013eren)m(t)h(than)f Fg(M-)3555
-1709 y Ff(h)p 3578 1656 V 3578 1712 a Fe(DEL)p 3578 1728
-V 3720 1709 a Ff(i)630 1822 y Fo(b)s(ecause)f(the)h(w)m(ord)f(b)s
-(oundaries)f(di\013er.)275 1978 y(Here)42 b(is)f(ho)m(w)h(to)g
-Fd(y)m(ank)47 b Fo(the)42 b(text)g(bac)m(k)h(in)m(to)f(the)g(line.)74
-b(Y)-8 b(anking)43 b(means)e(to)h(cop)m(y)h(the)e(most-)150
-2087 y(recen)m(tly-killed)33 b(text)e(from)f(the)g(kill)i(bu\013er.)150
-2243 y Fg(C-y)336 b Fo(Y)-8 b(ank)31 b(the)f(most)h(recen)m(tly)h
-(killed)f(text)g(bac)m(k)g(in)m(to)h(the)e(bu\013er)g(at)h(the)f
-(cursor.)150 2399 y Fg(M-y)336 b Fo(Rotate)36 b(the)f(kill-ring,)i(and)
-d(y)m(ank)h(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h
-(this)f(if)h(the)g(prior)630 2509 y(command)30 b(is)h
-Fg(C-y)e Fo(or)h Fg(M-y)p Fo(.)150 2727 y Fc(1.2.4)63
-b(Readline)40 b(Argumen)m(ts)275 2970 y Fo(Y)-8 b(ou)29
-b(can)h(pass)f(n)m(umeric)g(argumen)m(ts)g(to)h(Readline)g(commands.)40
-b(Sometimes)30 b(the)f(argumen)m(t)h(acts)150 3079 y(as)40
-b(a)h(rep)s(eat)f(coun)m(t,)j(other)e(times)f(it)h(is)f(the)g
-Fi(sign)47 b Fo(of)41 b(the)f(argumen)m(t)g(that)h(is)f(signi\014can)m
-(t.)71 b(If)40 b(y)m(ou)150 3189 y(pass)33 b(a)h(negativ)m(e)i(argumen)
+f(b)m(y)g Fg(M-f)p Fo(.)150 732 y Fg(M-DEL)240 b Fo(Kill)31
+b(from)f(the)h(cursor)f(the)g(start)h(of)g(the)g(curren)m(t)f(w)m(ord,)
+h(or,)f(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)i(the)630
+842 y(start)39 b(of)f(the)h(previous)f(w)m(ord.)64 b(W)-8
+b(ord)39 b(b)s(oundaries)e(are)i(the)f(same)h(as)g(those)f(used)g(b)m
+(y)630 951 y Fg(M-b)p Fo(.)150 1113 y Fg(C-w)336 b Fo(Kill)35
+b(from)g(the)g(cursor)f(to)i(the)f(previous)g(whitespace.)55
+b(This)34 b(is)h(di\013eren)m(t)h(than)e Fg(M-DEL)630
+1223 y Fo(b)s(ecause)c(the)h(w)m(ord)f(b)s(oundaries)f(di\013er.)275
+1386 y(Here)42 b(is)f(ho)m(w)h(to)g Fe(y)m(ank)47 b Fo(the)42
+b(text)g(bac)m(k)h(in)m(to)f(the)g(line.)74 b(Y)-8 b(anking)43
+b(means)e(to)h(cop)m(y)h(the)e(most-)150 1496 y(recen)m(tly-killed)33
+b(text)e(from)f(the)g(kill)i(bu\013er.)150 1659 y Fg(C-y)336
+b Fo(Y)-8 b(ank)31 b(the)f(most)h(recen)m(tly)h(killed)f(text)g(bac)m
+(k)g(in)m(to)h(the)e(bu\013er)g(at)h(the)f(cursor.)150
+1821 y Fg(M-y)336 b Fo(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h
+(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h
+(the)g(prior)630 1930 y(command)30 b(is)h Fg(C-y)e Fo(or)h
+Fg(M-y)p Fo(.)150 2132 y Fd(1.2.4)63 b(Readline)40 b(Argumen)m(ts)150
+2279 y Fo(Y)-8 b(ou)40 b(can)f(pass)g(n)m(umeric)f(argumen)m(ts)i(to)f
+(Readline)h(commands.)67 b(Sometimes)39 b(the)g(argumen)m(t)h(acts)150
+2389 y(as)g(a)h(rep)s(eat)f(coun)m(t,)j(other)e(times)f(it)h(is)f(the)g
+Ff(sign)47 b Fo(of)41 b(the)f(argumen)m(t)g(that)h(is)f(signi\014can)m
+(t.)71 b(If)40 b(y)m(ou)150 2498 y(pass)33 b(a)h(negativ)m(e)i(argumen)
m(t)e(to)g(a)g(command)f(whic)m(h)g(normally)h(acts)g(in)f(a)h(forw)m
-(ard)f(direction,)i(that)150 3298 y(command)g(will)h(act)g(in)f(a)h
+(ard)f(direction,)i(that)150 2608 y(command)g(will)h(act)g(in)f(a)h
(bac)m(kw)m(ard)f(direction.)57 b(F)-8 b(or)36 b(example,)h(to)f(kill)g
-(text)g(bac)m(k)g(to)g(the)g(start)g(of)150 3408 y(the)31
+(text)g(bac)m(k)g(to)g(the)g(start)g(of)150 2717 y(the)31
b(line,)g(y)m(ou)f(migh)m(t)h(t)m(yp)s(e)g(`)p Fn(M--)f(C-k)p
-Fo('.)275 3541 y(The)d(general)i(w)m(a)m(y)h(to)e(pass)g(n)m(umeric)g
+Fo('.)275 2854 y(The)d(general)i(w)m(a)m(y)h(to)e(pass)g(n)m(umeric)g
(argumen)m(ts)h(to)g(a)f(command)g(is)g(to)h(t)m(yp)s(e)f(meta)i
-(digits)e(b)s(efore)150 3650 y(the)j(command.)42 b(If)30
+(digits)e(b)s(efore)150 2964 y(the)j(command.)42 b(If)30
b(the)h(\014rst)f(`digit')i(t)m(yp)s(ed)f(is)g(a)g(min)m(us)f(sign)h
(\(`)p Fn(-)p Fo('\),)h(then)f(the)g(sign)f(of)h(the)g(argumen)m(t)150
-3760 y(will)39 b(b)s(e)e(negativ)m(e.)66 b(Once)38 b(y)m(ou)h(ha)m(v)m
+3073 y(will)39 b(b)s(e)e(negativ)m(e.)66 b(Once)38 b(y)m(ou)h(ha)m(v)m
(e)g(t)m(yp)s(ed)f(one)h(meta)g(digit)g(to)f(get)i(the)e(argumen)m(t)h
-(started,)i(y)m(ou)150 3869 y(can)29 b(t)m(yp)s(e)g(the)g(remainder)f
+(started,)i(y)m(ou)150 3183 y(can)29 b(t)m(yp)s(e)g(the)g(remainder)f
(of)h(the)g(digits,)h(and)f(then)f(the)h(command.)40
b(F)-8 b(or)30 b(example,)g(to)f(giv)m(e)i(the)e Fg(C-d)150
-3979 y Fo(command)37 b(an)g(argumen)m(t)h(of)g(10,)i(y)m(ou)e(could)f
+3293 y Fo(command)37 b(an)g(argumen)m(t)h(of)g(10,)i(y)m(ou)e(could)f
(t)m(yp)s(e)h(`)p Fn(M-1)29 b(0)h(C-d)p Fo(',)39 b(whic)m(h)e(will)h
-(delete)h(the)e(next)h(ten)150 4089 y(c)m(haracters)32
-b(on)e(the)h(input)e(line.)150 4307 y Fc(1.2.5)63 b(Searc)m(hing)40
-b(for)i(Commands)g(in)f(the)g(History)275 4550 y Fo(Readline)32
-b(pro)m(vides)h(commands)f(for)g(searc)m(hing)h(through)e(the)i
-(command)f(history)g(for)g(lines)g(con-)150 4659 y(taining)f(a)g(sp)s
-(eci\014ed)f(string.)40 b(There)30 b(are)h(t)m(w)m(o)h(searc)m(h)f(mo)s
-(des:)40 b Fd(incremen)m(tal)35 b Fo(and)30 b Fd(non-incremen)m(tal)p
-Fo(.)275 4792 y(Incremen)m(tal)c(searc)m(hes)h(b)s(egin)e(b)s(efore)g
-(the)h(user)f(has)h(\014nished)e(t)m(yping)i(the)g(searc)m(h)g(string.)
-39 b(As)26 b(eac)m(h)150 4902 y(c)m(haracter)37 b(of)e(the)h(searc)m(h)
-g(string)f(is)h(t)m(yp)s(ed,)g(Readline)g(displa)m(ys)g(the)f(next)h
-(en)m(try)g(from)e(the)i(history)150 5011 y(matc)m(hing)25
-b(the)f(string)g(t)m(yp)s(ed)g(so)g(far.)39 b(An)23 b(incremen)m(tal)j
-(searc)m(h)e(requires)g(only)g(as)g(man)m(y)g(c)m(haracters)i(as)150
-5121 y(needed)i(to)i(\014nd)d(the)i(desired)f(history)h(en)m(try)-8
-b(.)41 b(T)-8 b(o)29 b(searc)m(h)h(bac)m(kw)m(ard)f(in)f(the)h(history)
-g(for)f(a)i(particular)150 5230 y(string,)g(t)m(yp)s(e)f
-Fg(C-r)p Fo(.)40 b(T)m(yping)29 b Fg(C-s)g Fo(searc)m(hes)h(forw)m(ard)
-f(through)g(the)g(history)-8 b(.)41 b(The)29 b(c)m(haracters)i(presen)m
-(t)150 5340 y(in)38 b(the)g(v)-5 b(alue)38 b(of)g(the)g
+(delete)h(the)e(next)h(ten)150 3402 y(c)m(haracters)32
+b(on)e(the)h(input)e(line.)150 3604 y Fd(1.2.5)63 b(Searc)m(hing)40
+b(for)i(Commands)g(in)f(the)g(History)150 3751 y Fo(Readline)22
+b(pro)m(vides)f(commands)g(for)g(searc)m(hing)h(through)f(the)g
+(command)h(history)f(for)g(lines)g(con)m(taining)150
+3861 y(a)31 b(sp)s(eci\014ed)e(string.)41 b(There)30
+b(are)h(t)m(w)m(o)g(searc)m(h)g(mo)s(des:)41 b Fe(incremen)m(tal)35
+b Fo(and)30 b Fe(non-incremen)m(tal)p Fo(.)275 3998 y(Incremen)m(tal)c
+(searc)m(hes)h(b)s(egin)e(b)s(efore)g(the)h(user)f(has)h(\014nished)e
+(t)m(yping)i(the)g(searc)m(h)g(string.)39 b(As)26 b(eac)m(h)150
+4107 y(c)m(haracter)37 b(of)e(the)h(searc)m(h)g(string)f(is)h(t)m(yp)s
+(ed,)g(Readline)g(displa)m(ys)g(the)f(next)h(en)m(try)g(from)e(the)i
+(history)150 4217 y(matc)m(hing)25 b(the)f(string)g(t)m(yp)s(ed)g(so)g
+(far.)39 b(An)23 b(incremen)m(tal)j(searc)m(h)e(requires)g(only)g(as)g
+(man)m(y)g(c)m(haracters)i(as)150 4326 y(needed)i(to)i(\014nd)d(the)i
+(desired)f(history)h(en)m(try)-8 b(.)41 b(T)-8 b(o)29
+b(searc)m(h)h(bac)m(kw)m(ard)f(in)f(the)h(history)g(for)f(a)i
+(particular)150 4436 y(string,)g(t)m(yp)s(e)f Fg(C-r)p
+Fo(.)40 b(T)m(yping)29 b Fg(C-s)g Fo(searc)m(hes)h(forw)m(ard)f
+(through)g(the)g(history)-8 b(.)41 b(The)29 b(c)m(haracters)i(presen)m
+(t)150 4545 y(in)38 b(the)g(v)-5 b(alue)38 b(of)g(the)g
Fn(isearch-terminators)33 b Fo(v)-5 b(ariable)39 b(are)f(used)f(to)i
-(terminate)g(an)f(incremen)m(tal)p eop end
+(terminate)g(an)f(incremen)m(tal)150 4655 y(searc)m(h.)71
+b(If)40 b(that)h(v)-5 b(ariable)41 b(has)f(not)h(b)s(een)e(assigned)i
+(a)f(v)-5 b(alue,)44 b(the)c Fn(ESC)g Fo(and)f Fg(C-J)h
+Fo(c)m(haracters)i(will)150 4765 y(terminate)h(an)g(incremen)m(tal)g
+(searc)m(h.)78 b Fg(C-g)41 b Fo(will)i(ab)s(ort)f(an)g(incremen)m(tal)i
+(searc)m(h)f(and)f(restore)h(the)150 4874 y(original)30
+b(line.)41 b(When)28 b(the)h(searc)m(h)h(is)f(terminated,)h(the)f
+(history)g(en)m(try)g(con)m(taining)h(the)f(searc)m(h)h(string)150
+4984 y(b)s(ecomes)h(the)f(curren)m(t)g(line.)275 5121
+y(T)-8 b(o)31 b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e(the)h
+(history)g(list,)h(t)m(yp)s(e)g Fg(C-r)e Fo(or)h Fg(C-s)f
+Fo(as)h(appropriate.)43 b(This)150 5230 y(will)26 b(searc)m(h)h(bac)m
+(kw)m(ard)g(or)f(forw)m(ard)g(in)f(the)i(history)f(for)g(the)g(next)g
+(en)m(try)h(matc)m(hing)g(the)f(searc)m(h)h(string)150
+5340 y(t)m(yp)s(ed)37 b(so)h(far.)63 b(An)m(y)38 b(other)f(k)m(ey)i
+(sequence)f(b)s(ound)e(to)i(a)g(Readline)h(command)e(will)h(terminate)h
+(the)p eop end
%%Page: 4 7
TeXDict begin 4 6 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(4)150 299 y(searc)m(h.)63
-b(If)38 b(that)g(v)-5 b(ariable)38 b(has)g(not)g(b)s(een)f(assigned)h
-(a)g(v)-5 b(alue,)40 b(the)2578 296 y Ff(h)p 2602 243
-139 4 v 2602 299 a Fe(ESC)p 2602 314 V 2736 296 a Ff(i)2804
-299 y Fo(and)d Fg(C-J)f Fo(c)m(haracters)k(will)150 408
-y(terminate)j(an)g(incremen)m(tal)g(searc)m(h.)78 b Fg(C-g)41
-b Fo(will)i(ab)s(ort)f(an)g(incremen)m(tal)i(searc)m(h)f(and)f(restore)
-h(the)150 518 y(original)30 b(line.)41 b(When)28 b(the)h(searc)m(h)h
-(is)f(terminated,)h(the)f(history)g(en)m(try)g(con)m(taining)h(the)f
-(searc)m(h)h(string)150 628 y(b)s(ecomes)h(the)f(curren)m(t)g(line.)275
-771 y(T)-8 b(o)31 b(\014nd)e(other)j(matc)m(hing)g(en)m(tries)g(in)e
-(the)h(history)g(list,)h(t)m(yp)s(e)g Fg(C-r)e Fo(or)h
-Fg(C-s)f Fo(as)h(appropriate.)43 b(This)150 880 y(will)26
-b(searc)m(h)h(bac)m(kw)m(ard)g(or)f(forw)m(ard)g(in)f(the)i(history)f
-(for)g(the)g(next)g(en)m(try)h(matc)m(hing)g(the)f(searc)m(h)h(string)
-150 990 y(t)m(yp)s(ed)37 b(so)h(far.)63 b(An)m(y)38 b(other)f(k)m(ey)i
-(sequence)f(b)s(ound)e(to)i(a)g(Readline)h(command)e(will)h(terminate)h
-(the)150 1100 y(searc)m(h)22 b(and)e(execute)j(that)e(command.)38
-b(F)-8 b(or)22 b(instance,)h(a)2127 1097 y Ff(h)p 2151
-1044 151 4 v 2151 1100 a Fe(RET)p 2151 1115 V 2298 1097
-a Ff(i)2349 1100 y Fo(will)e(terminate)h(the)f(searc)m(h)h(and)e
-(accept)150 1209 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e
-(command)g(from)g(the)h(history)f(list.)41 b(A)29 b(mo)m(v)m(emen)m(t)j
-(command)d(will)150 1319 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h
-(the)e(last)h(line)g(found)e(the)i(curren)m(t)f(line,)h(and)f(b)s(egin)
-g(editing.)275 1462 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h
-(incremen)m(tal)g(searc)m(h)f(string.)54 b(If)34 b(t)m(w)m(o)j
-Fg(C-r)p Fo(s)c(are)i(t)m(yp)s(ed)g(without)150 1571
-y(an)m(y)i(in)m(terv)m(ening)g(c)m(haracters)h(de\014ning)e(a)h(new)f
-(searc)m(h)h(string,)h(an)m(y)f(remem)m(b)s(ered)e(searc)m(h)i(string)g
-(is)150 1681 y(used.)275 1824 y(Non-incremen)m(tal)48
-b(searc)m(hes)g(read)e(the)h(en)m(tire)h(searc)m(h)f(string)g(b)s
-(efore)f(starting)h(to)h(searc)m(h)f(for)150 1934 y(matc)m(hing)d
-(history)e(lines.)78 b(The)42 b(searc)m(h)h(string)g(ma)m(y)g(b)s(e)f
-(t)m(yp)s(ed)g(b)m(y)g(the)h(user)f(or)h(b)s(e)f(part)g(of)h(the)150
-2043 y(con)m(ten)m(ts)32 b(of)f(the)f(curren)m(t)g(line.)150
-2322 y Fm(1.3)68 b(Readline)47 b(Init)e(File)275 2575
-y Fo(Although)g(the)g(Readline)h(library)e(comes)i(with)f(a)h(set)f(of)
-g(Emacs-lik)m(e)i(k)m(eybindings)e(installed)150 2685
-y(b)m(y)d(default,)i(it)f(is)e(p)s(ossible)g(to)i(use)e(a)h(di\013eren)
-m(t)g(set)g(of)g(k)m(eybindings.)74 b(An)m(y)42 b(user)f(can)h
-(customize)150 2794 y(programs)32 b(that)h(use)f(Readline)h(b)m(y)g
-(putting)f(commands)g(in)g(an)g Fd(inputrc)37 b Fo(\014le,)d(con)m(v)m
-(en)m(tionally)h(in)d(his)150 2904 y(home)h(directory)-8
-b(.)50 b(The)33 b(name)g(of)g(this)g(\014le)h(is)f(tak)m(en)h(from)f
-(the)g(v)-5 b(alue)34 b(of)f(the)g(en)m(vironmen)m(t)h(v)-5
-b(ariable)150 3014 y Fn(INPUTRC)p Fo(.)38 b(If)28 b(that)g(v)-5
-b(ariable)29 b(is)f(unset,)h(the)f(default)g(is)h(`)p
-Fn(~/.inputrc)p Fo('.)37 b(If)28 b(that)h(\014le)f(do)s(es)g(not)g
-(exist)h(or)150 3123 y(cannot)i(b)s(e)f(read,)g(the)h(ultimate)g
-(default)g(is)f(`)p Fn(/etc/inputrc)p Fo('.)275 3266
-y(When)f(a)h(program)f(whic)m(h)h(uses)f(the)h(Readline)g(library)f
-(starts)h(up,)f(the)h(init)g(\014le)f(is)h(read,)g(and)f(the)150
-3376 y(k)m(ey)i(bindings)e(are)i(set.)275 3519 y(In)26
-b(addition,)i(the)f Fn(C-x)i(C-r)d Fo(command)h(re-reads)g(this)f(init)
-h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m(hanges)150
-3629 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g(it.)150
-3870 y Fc(1.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)275
-4123 y Fo(There)33 b(are)h(only)g(a)g(few)f(basic)h(constructs)g(allo)m
-(w)m(ed)h(in)f(the)g(Readline)g(init)g(\014le.)51 b(Blank)34
-b(lines)g(are)150 4232 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
+b(Command)29 b(Line)i(Editing)2153 b(4)150 299 y(searc)m(h)26
+b(and)f(execute)i(that)f(command.)39 b(F)-8 b(or)26 b(instance,)h(a)f
+Fn(RET)f Fo(will)g(terminate)i(the)f(searc)m(h)g(and)e(accept)150
+408 y(the)30 b(line,)g(thereb)m(y)f(executing)i(the)e(command)g(from)g
+(the)h(history)f(list.)41 b(A)29 b(mo)m(v)m(emen)m(t)j(command)d(will)
+150 518 y(terminate)i(the)g(searc)m(h,)g(mak)m(e)h(the)e(last)h(line)g
+(found)e(the)i(curren)m(t)f(line,)h(and)f(b)s(egin)g(editing.)275
+647 y(Readline)35 b(remem)m(b)s(ers)f(the)h(last)h(incremen)m(tal)g
+(searc)m(h)f(string.)54 b(If)34 b(t)m(w)m(o)j Fg(C-r)p
+Fo(s)c(are)i(t)m(yp)s(ed)g(without)150 757 y(an)m(y)i(in)m(terv)m
+(ening)g(c)m(haracters)h(de\014ning)e(a)h(new)f(searc)m(h)h(string,)h
+(an)m(y)f(remem)m(b)s(ered)e(searc)m(h)i(string)g(is)150
+866 y(used.)275 995 y(Non-incremen)m(tal)48 b(searc)m(hes)g(read)e(the)
+h(en)m(tire)h(searc)m(h)f(string)g(b)s(efore)f(starting)h(to)h(searc)m
+(h)f(for)150 1105 y(matc)m(hing)d(history)e(lines.)78
+b(The)42 b(searc)m(h)h(string)g(ma)m(y)g(b)s(e)f(t)m(yp)s(ed)g(b)m(y)g
+(the)h(user)f(or)h(b)s(e)f(part)g(of)h(the)150 1214 y(con)m(ten)m(ts)32
+b(of)f(the)f(curren)m(t)g(line.)150 1436 y Fm(1.3)68
+b(Readline)47 b(Init)e(File)150 1595 y Fo(Although)f(the)g(Readline)g
+(library)f(comes)i(with)e(a)h(set)h(of)f(Emacs-lik)m(e)h(k)m
+(eybindings)f(installed)g(b)m(y)150 1705 y(default,)26
+b(it)g(is)e(p)s(ossible)h(to)g(use)f(a)i(di\013eren)m(t)f(set)g(of)g(k)
+m(eybindings.)38 b(An)m(y)25 b(user)f(can)h(customize)h(programs)150
+1814 y(that)45 b(use)f(Readline)h(b)m(y)f(putting)g(commands)g(in)g(an)
+g Fe(inputrc)49 b Fo(\014le,)g(con)m(v)m(en)m(tionally)e(in)d(his)g
+(home)150 1924 y(directory)-8 b(.)39 b(The)23 b(name)h(of)f(this)h
+(\014le)f(is)g(tak)m(en)i(from)e(the)g(v)-5 b(alue)24
+b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)25 b
+Fn(INPUTRC)p Fo(.)150 2033 y(If)34 b(that)g(v)-5 b(ariable)35
+b(is)g(unset,)g(the)f(default)g(is)g(`)p Fn(~/.inputrc)p
+Fo('.)50 b(If)34 b(that)h(\014le)f(do)s(es)g(not)g(exist)h(or)f(cannot)
+150 2143 y(b)s(e)c(read,)g(the)h(ultimate)g(default)g(is)f(`)p
+Fn(/etc/inputrc)p Fo('.)275 2272 y(When)f(a)h(program)f(whic)m(h)h
+(uses)f(the)h(Readline)g(library)f(starts)h(up,)f(the)h(init)g(\014le)f
+(is)h(read,)g(and)f(the)150 2381 y(k)m(ey)i(bindings)e(are)i(set.)275
+2510 y(In)26 b(addition,)i(the)f Fn(C-x)i(C-r)d Fo(command)h(re-reads)g
+(this)f(init)h(\014le,)h(th)m(us)f(incorp)s(orating)g(an)m(y)g(c)m
+(hanges)150 2620 y(that)k(y)m(ou)g(migh)m(t)g(ha)m(v)m(e)g(made)g(to)g
+(it.)150 2808 y Fd(1.3.1)63 b(Readline)40 b(Init)h(File)g(Syn)m(tax)150
+2955 y Fo(There)f(are)i(only)f(a)g(few)g(basic)g(constructs)h(allo)m(w)
+m(ed)h(in)d(the)h(Readline)h(init)f(\014le.)73 b(Blank)41
+b(lines)h(are)150 3065 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
(a)g(`)p Fn(#)p Fo(')g(are)h(commen)m(ts.)73 b(Lines)41
b(b)s(eginning)f(with)g(a)i(`)p Fn($)p Fo(')f(indicate)150
-4342 y(conditional)29 b(constructs)f(\(see)g(Section)h(1.3.2)g
-([Conditional)g(Init)e(Constructs],)i(page)f(9\).)41
-b(Other)27 b(lines)150 4452 y(denote)k(v)-5 b(ariable)31
-b(settings)g(and)f(k)m(ey)h(bindings.)150 4624 y(V)-8
-b(ariable)32 b(Settings)630 4734 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
+3174 y(conditional)i(constructs)e(\(see)i(Section)f(1.3.2)h
+([Conditional)f(Init)f(Constructs],)j(page)f(10\).)74
+b(Other)150 3284 y(lines)31 b(denote)g(v)-5 b(ariable)31
+b(settings)g(and)f(k)m(ey)h(bindings.)150 3432 y(V)-8
+b(ariable)32 b(Settings)630 3542 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
(the)i(run-time)f(b)s(eha)m(vior)g(of)h(Readline)g(b)m(y)f(altering)h
-(the)g(v)-5 b(alues)41 b(of)630 4843 y(v)-5 b(ariables)34
+(the)g(v)-5 b(alues)41 b(of)630 3651 y(v)-5 b(ariables)34
b(in)f(Readline)i(using)e(the)g Fn(set)g Fo(command)g(within)g(the)h
-(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 4953 y(is)d(simple:)870
-5092 y Fn(set)47 b Fg(variable)56 b(value)630 5230 y
+(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 3761 y(is)d(simple:)870
+3890 y Fn(set)47 b Fg(variable)56 b(value)630 4019 y
Fo(Here,)29 b(for)e(example,)h(is)g(ho)m(w)f(to)h(c)m(hange)g(from)f
(the)g(default)h(Emacs-lik)m(e)h(k)m(ey)f(binding)e(to)630
-5340 y(use)k Fn(vi)g Fo(line)h(editing)g(commands:)p
-eop end
-%%Page: 5 8
-TeXDict begin 5 7 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(5)870 299 y Fn(set)47
-b(editing-mode)d(vi)630 447 y Fo(V)-8 b(ariable)36 b(names)f(and)g(v)-5
-b(alues,)36 b(where)f(appropriate,)h(are)g(recognized)g(without)f
-(regard)630 557 y(to)c(case.)42 b(Unrecognized)31 b(v)-5
-b(ariable)31 b(names)g(are)f(ignored.)630 705 y(Bo)s(olean)c(v)-5
-b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g
-(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5
-b(alue)26 b(is)630 815 y(n)m(ull)e(or)g(empt)m(y)-8 b(,)27
-b Fd(on)d Fo(\(case-insensitiv)m(e\),)29 b(or)24 b(1.)39
-b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)-5
-b(ariable)630 924 y(b)s(eing)30 b(set)h(to)g(o\013.)630
-1072 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
+4128 y(use)k Fn(vi)g Fo(line)h(editing)g(commands:)870
+4257 y Fn(set)47 b(editing-mode)d(vi)630 4386 y Fo(V)-8
+b(ariable)36 b(names)f(and)g(v)-5 b(alues,)36 b(where)f(appropriate,)h
+(are)g(recognized)g(without)f(regard)630 4496 y(to)c(case.)42
+b(Unrecognized)31 b(v)-5 b(ariable)31 b(names)g(are)f(ignored.)630
+4624 y(Bo)s(olean)c(v)-5 b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f
+(set)i(to)g(on)f(or)g(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)
+g(v)-5 b(alue)26 b(is)630 4734 y(n)m(ull)e(or)g(empt)m(y)-8
+b(,)27 b Fe(on)d Fo(\(case-insensitiv)m(e\),)29 b(or)24
+b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
+-5 b(ariable)630 4844 y(b)s(eing)30 b(set)h(to)g(o\013.)630
+4973 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g(is)g(c)m
(hangeable)j(with)d(the)g(follo)m(wing)i(v)-5 b(ariables.)630
-1259 y Fn(bell-style)1110 1369 y Fo(Con)m(trols)44 b(what)g(happ)s(ens)
+5121 y Fn(bell-style)1110 5230 y Fo(Con)m(trols)44 b(what)g(happ)s(ens)
e(when)h(Readline)i(w)m(an)m(ts)f(to)h(ring)e(the)h(termi-)1110
-1479 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
+5340 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
Fn(none)p Fo(',)g(Readline)g(nev)m(er)g(rings)e(the)i(b)s(ell.)61
-b(If)36 b(set)i(to)1110 1588 y(`)p Fn(visible)p Fo(',)32
-b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g(one)g(is)g(a)m(v)-5
-b(ailable.)51 b(If)33 b(set)g(to)1110 1698 y(`)p Fn(audible)p
-Fo(')j(\(the)i(default\),)i(Readline)e(attempts)g(to)h(ring)e(the)g
-(terminal's)1110 1807 y(b)s(ell.)630 1994 y Fn(bind-tty-special-chars)
-1110 2104 y Fo(If)45 b(set)h(to)f(`)p Fn(on)p Fo(',)50
-b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m(trol)g(c)m
-(haracters)1110 2213 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
-(ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110
-2323 y(equiv)-5 b(alen)m(ts.)630 2510 y Fn(comment-begin)1110
-2620 y Fo(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
-g(the)h(line)f(when)f(the)i Fn(insert-)1110 2729 y(comment)e
+b(If)36 b(set)i(to)p eop end
+%%Page: 5 8
+TeXDict begin 5 7 bop 150 -116 a Fo(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(5)1110 299 y(`)p
+Fn(visible)p Fo(',)32 b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g
+(one)g(is)g(a)m(v)-5 b(ailable.)51 b(If)33 b(set)g(to)1110
+408 y(`)p Fn(audible)p Fo(')j(\(the)i(default\),)i(Readline)e(attempts)
+g(to)h(ring)e(the)g(terminal's)1110 518 y(b)s(ell.)630
+664 y Fn(bind-tty-special-chars)1110 774 y Fo(If)45 b(set)h(to)f(`)p
+Fn(on)p Fo(',)50 b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m
+(trol)g(c)m(haracters)1110 883 y(treated)36 b(sp)s(ecially)h(b)m(y)e
+(the)h(k)m(ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110
+993 y(equiv)-5 b(alen)m(ts.)630 1139 y Fn(comment-begin)1110
+1249 y Fo(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
+g(the)h(line)f(when)f(the)i Fn(insert-)1110 1358 y(comment)e
Fo(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5
-b(alue)31 b(is)f Fn("#")p Fo(.)630 2916 y Fn(completion-ignore-case)
-1110 3026 y Fo(If)d(set)h(to)g(`)p Fn(on)p Fo(',)g(Readline)g(p)s
+b(alue)31 b(is)f Fn("#")p Fo(.)630 1504 y Fn(completion-ignore-case)
+1110 1614 y Fo(If)d(set)h(to)g(`)p Fn(on)p Fo(',)g(Readline)g(p)s
(erforms)e(\014lename)h(matc)m(hing)i(and)e(completion)1110
-3135 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
+1724 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
b(default)h(v)-5 b(alue)30 b(is)h(`)p Fn(off)p Fo('.)630
-3322 y Fn(completion-prefix-displa)o(y-le)o(ngth)1110
-3432 y Fo(The)g(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h
-(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 3541
+1870 y Fn(completion-prefix-displa)o(y-le)o(ngth)1110
+1979 y Fo(The)g(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h
+(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 2089
y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s
-(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 3651
+(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 2198
y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e
-(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 3761
+(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 2308
y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)
-f(completions.)630 3948 y Fn(completion-query-items)1110
-4057 y Fo(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h
-(that)g(determines)f(when)f(the)i(user)1110 4167 y(is)i(ask)m(ed)h
+f(completions.)630 2454 y Fn(completion-query-items)1110
+2564 y Fo(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h
+(that)g(determines)f(when)f(the)i(user)1110 2673 y(is)i(ask)m(ed)h
(whether)f(the)h(list)g(of)f(p)s(ossibilities)h(should)e(b)s(e)h
-(displa)m(y)m(ed.)41 b(If)29 b(the)1110 4276 y(n)m(um)m(b)s(er)d(of)h
+(displa)m(y)m(ed.)41 b(If)29 b(the)1110 2783 y(n)m(um)m(b)s(er)d(of)h
(p)s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5
-b(alue,)28 b(Readline)1110 4386 y(will)f(ask)g(the)f(user)g(whether)g
+b(alue,)28 b(Readline)1110 2892 y(will)f(ask)g(the)f(user)g(whether)g
(or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110
-4495 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5
+3002 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5
b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5
-b(alue)1110 4605 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(alue)1110 3112 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110
-4715 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
-Fn(100)p Fo(.)630 4902 y Fn(convert-meta)1110 5011 y
+3221 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Fn(100)p Fo(.)630 3367 y Fn(convert-meta)1110 3477 y
Fo(If)22 b(set)g(to)h(`)p Fn(on)p Fo(',)h(Readline)f(will)f(con)m(v)m
(ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
-5121 y(to)g(an)f Fh(asci)r(i)g Fo(k)m(ey)h(sequence)g(b)m(y)f
-(stripping)f(the)i(eigh)m(th)g(bit)f(and)g(pre\014xing)f(an)1110
-5227 y Ff(h)p 1134 5174 139 4 v 1134 5230 a Fe(ESC)p
-1134 5246 V 1268 5227 a Ff(i)1332 5230 y Fo(c)m(haracter,)36
-b(con)m(v)m(erting)g(them)e(to)g(a)h(meta-pre\014xed)f(k)m(ey)g
-(sequence.)1110 5340 y(The)c(default)g(v)-5 b(alue)31
-b(is)g(`)p Fn(on)p Fo('.)p eop end
+3587 y(to)33 b(an)e Fh(asci)r(i)h Fo(k)m(ey)h(sequence)f(b)m(y)g
+(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110
+3696 y(an)24 b Fn(ESC)g Fo(c)m(haracter,)j(con)m(v)m(erting)f(them)f
+(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 3806
+y(The)30 b(default)g(v)-5 b(alue)31 b(is)g(`)p Fn(on)p
+Fo('.)630 3952 y Fn(disable-completion)1110 4061 y Fo(If)36
+b(set)h(to)h(`)p Fn(On)p Fo(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h
+(completion.)60 b(Completion)1110 4171 y(c)m(haracters)28
+b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g(line)f(as)g(if)g(they)h
+(had)e(b)s(een)g(mapp)s(ed)1110 4281 y(to)31 b Fn(self-insert)p
+Fo(.)38 b(The)30 b(default)g(is)h(`)p Fn(off)p Fo('.)630
+4427 y Fn(editing-mode)1110 4536 y Fo(The)d Fn(editing-mode)e
+Fo(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k)
+m(ey)i(bind-)1110 4646 y(ings)25 b(is)g(used.)38 b(By)26
+b(default,)g(Readline)g(starts)f(up)f(in)h(Emacs)g(editing)h(mo)s(de,)
+1110 4756 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to)
+h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30 b(can)1110
+4865 y(b)s(e)g(set)h(to)g(either)g(`)p Fn(emacs)p Fo(')e(or)h(`)p
+Fn(vi)p Fo('.)630 5011 y Fn(echo-control-characters)1110
+5121 y Fo(When)g(set)h(to)g(`)p Fn(on)p Fo(',)f(on)g(op)s(erating)h
+(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 5230
+y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m(haracter)h(corresp)s(onding)d
+(to)j(a)f(signal)g(generated)1110 5340 y(from)e(the)g(k)m(eyb)s(oard.)
+41 b(The)30 b(default)g(is)h(`)p Fn(on)p Fo('.)p eop
+end
%%Page: 6 9
TeXDict begin 6 8 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(6)630 299 y Fn(disable-completion)
-1110 408 y Fo(If)36 b(set)h(to)h(`)p Fn(On)p Fo(',)g(Readline)f(will)g
-(inhibit)f(w)m(ord)h(completion.)60 b(Completion)1110
-518 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g
-(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-628 y(to)31 b Fn(self-insert)p Fo(.)38 b(The)30 b(default)g(is)h(`)p
-Fn(off)p Fo('.)630 774 y Fn(editing-mode)1110 883 y Fo(The)d
-Fn(editing-mode)e Fo(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e
-(default)h(set)h(of)e(k)m(ey)i(bind-)1110 993 y(ings)25
-b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h
-(Emacs)g(editing)h(mo)s(de,)1110 1103 y(where)j(the)g(k)m(eystrok)m(es)
-i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5
-b(ariable)30 b(can)1110 1212 y(b)s(e)g(set)h(to)g(either)g(`)p
-Fn(emacs)p Fo(')e(or)h(`)p Fn(vi)p Fo('.)630 1358 y Fn(enable-keypad)
-1110 1468 y Fo(When)23 b(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f
-(will)g(try)f(to)h(enable)g(the)f(application)i(k)m(eypad)1110
-1577 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
-(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 1687 y(The)j(default)g
-(is)h(`)p Fn(off)p Fo('.)630 1833 y Fn(expand-tilde)1110
-1943 y Fo(If)c(set)h(to)h(`)p Fn(on)p Fo(',)f(tilde)g(expansion)g(is)f
-(p)s(erformed)f(when)h(Readline)h(attempts)1110 2052
-y(w)m(ord)i(completion.)42 b(The)30 b(default)g(is)h(`)p
-Fn(off)p Fo('.)630 2198 y Fn(history-preserve-point)1110
-2308 y Fo(If)41 b(set)h(to)h(`)p Fn(on)p Fo(',)i(the)c(history)h(co)s
-(de)g(attempts)h(to)f(place)h(the)f(p)s(oin)m(t)f(\(the)1110
-2418 y(curren)m(t)35 b(cursor)g(p)s(osition\))g(at)h(the)g(same)f(lo)s
-(cation)i(on)e(eac)m(h)h(history)g(line)1110 2527 y(retriev)m(ed)h
-(with)f Fn(previous-history)c Fo(or)37 b Fn(next-history)p
-Fo(.)55 b(The)36 b(default)1110 2637 y(is)30 b(`)p Fn(off)p
-Fo('.)630 2783 y Fn(history-size)1110 2892 y Fo(Set)39
-b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g(en)m(tries)h(sa)m
-(v)m(ed)g(in)f(the)g(history)1110 3002 y(list.)53 b(If)34
-b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g(en)m(tries)h(in)f
-(the)h(history)f(list)h(is)g(not)1110 3112 y(limited.)630
-3258 y Fn(horizontal-scroll-mode)1110 3367 y Fo(This)g(v)-5
-b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p
-Fn(on)p Fo(')g(or)g(`)p Fn(off)p Fo('.)57 b(Setting)36
-b(it)g(to)h(`)p Fn(on)p Fo(')1110 3477 y(means)26 b(that)h(the)f(text)h
+b(Command)29 b(Line)i(Editing)2153 b(6)630 299 y Fn(enable-keypad)1110
+408 y Fo(When)23 b(set)h(to)g(`)p Fn(on)p Fo(',)h(Readline)f(will)g
+(try)f(to)h(enable)g(the)f(application)i(k)m(eypad)1110
+518 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f
+(to)h(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 628 y(The)j(default)g(is)
+h(`)p Fn(off)p Fo('.)630 778 y Fn(enable-meta-key)1110
+888 y Fo(When)40 b(set)g(to)g(`)p Fn(on)p Fo(',)j(Readline)d(will)g
+(try)g(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110
+998 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h(supp)s(ort)d(when)h(it)h
+(is)g(called.)76 b(On)41 b(man)m(y)1110 1107 y(terminals,)c(the)e(meta)
+h(k)m(ey)g(is)f(used)g(to)h(send)e(eigh)m(t-bit)j(c)m(haracters.)56
+b(The)1110 1217 y(default)31 b(is)f(`)p Fn(on)p Fo('.)630
+1367 y Fn(expand-tilde)1110 1477 y Fo(If)d(set)h(to)h(`)p
+Fn(on)p Fo(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h
+(Readline)h(attempts)1110 1587 y(w)m(ord)i(completion.)42
+b(The)30 b(default)g(is)h(`)p Fn(off)p Fo('.)630 1737
+y Fn(history-preserve-point)1110 1847 y Fo(If)41 b(set)h(to)h(`)p
+Fn(on)p Fo(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f
+(p)s(oin)m(t)f(\(the)1110 1956 y(curren)m(t)35 b(cursor)g(p)s
+(osition\))g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g
+(line)1110 2066 y(retriev)m(ed)h(with)f Fn(previous-history)c
+Fo(or)37 b Fn(next-history)p Fo(.)55 b(The)36 b(default)1110
+2176 y(is)30 b(`)p Fn(off)p Fo('.)630 2326 y Fn(history-size)1110
+2436 y Fo(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g
+(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 2545
+y(list.)53 b(If)34 b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g
+(en)m(tries)h(in)f(the)h(history)f(list)h(is)g(not)1110
+2655 y(limited.)630 2806 y Fn(horizontal-scroll-mode)1110
+2915 y Fo(This)g(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f
+(`)p Fn(on)p Fo(')g(or)g(`)p Fn(off)p Fo('.)57 b(Setting)36
+b(it)g(to)h(`)p Fn(on)p Fo(')1110 3025 y(means)26 b(that)h(the)f(text)h
(of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m
-(tally)1110 3587 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
-(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 3696
+(tally)1110 3134 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
+(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 3244
y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g
-(line.)39 b(By)27 b(default,)g(this)1110 3806 y(v)-5
+(line.)39 b(By)27 b(default,)g(this)1110 3354 y(v)-5
b(ariable)31 b(is)g(set)f(to)i(`)p Fn(off)p Fo('.)630
-3952 y Fn(input-meta)1110 4061 y Fo(If)f(set)g(to)h(`)p
+3504 y Fn(input-meta)1110 3614 y Fo(If)f(set)g(to)h(`)p
Fn(on)p Fo(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
-i(will)f(not)h(clear)1110 4171 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
+i(will)f(not)h(clear)1110 3724 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
(c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110
-4281 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
+3833 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fn(off)p
-Fo('.)69 b(The)1110 4390 y(name)30 b Fn(meta-flag)e Fo(is)j(a)f(synon)m
-(ym)g(for)g(this)h(v)-5 b(ariable.)630 4536 y Fn(isearch-terminators)
-1110 4646 y Fo(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
-(terminate)j(an)f(incremen)m(tal)1110 4755 y(searc)m(h)25
+Fo('.)69 b(The)1110 3943 y(name)30 b Fn(meta-flag)e Fo(is)j(a)f(synon)m
+(ym)g(for)g(this)h(v)-5 b(ariable.)630 4093 y Fn(isearch-terminators)
+1110 4203 y Fo(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
+(terminate)j(an)f(incremen)m(tal)1110 4313 y(searc)m(h)25
b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g
-(command)1110 4865 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j
+(command)1110 4422 y(\(see)45 b(Section)h(1.2.5)g([Searc)m(hing],)j
(page)d(3\).)84 b(If)44 b(this)g(v)-5 b(ariable)45 b(has)g(not)1110
-4975 y(b)s(een)31 b(giv)m(en)h(a)g(v)-5 b(alue,)32 b(the)g(c)m
-(haracters)2494 4972 y Ff(h)p 2518 4919 139 4 v 2518
-4975 a Fe(ESC)p 2518 4990 V 2652 4972 a Ff(i)2713 4975
-y Fo(and)f Fg(C-J)g Fo(will)h(terminate)g(an)1110 5084
-y(incremen)m(tal)g(searc)m(h.)630 5230 y Fn(keymap)192
+4532 y(b)s(een)35 b(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m
+(haracters)h Fn(ESC)d Fo(and)h Fg(C-J)g Fo(will)h(terminate)g(an)1110
+4641 y(incremen)m(tal)c(searc)m(h.)630 4792 y Fn(keymap)192
b Fo(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
-(for)g(k)m(ey)g(binding)f(com-)1110 5340 y(mands.)81
+(for)g(k)m(ey)g(binding)f(com-)1110 4902 y(mands.)81
b(Acceptable)47 b Fn(keymap)42 b Fo(names)i(are)h Fn(emacs)p
-Fo(,)i Fn(emacs-standard)p Fo(,)p eop end
-%%Page: 7 10
-TeXDict begin 7 9 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(7)1110 299 y Fn(emacs-meta)p
+Fo(,)i Fn(emacs-standard)p Fo(,)1110 5011 y Fn(emacs-meta)p
Fo(,)99 b Fn(emacs-ctlx)p Fo(,)f Fn(vi)p Fo(,)j Fn(vi-move)p
-Fo(,)f Fn(vi-command)p Fo(,)f(and)1110 408 y Fn(vi-insert)p
+Fo(,)f Fn(vi-command)p Fo(,)f(and)1110 5121 y Fn(vi-insert)p
Fo(.)64 b Fn(vi)38 b Fo(is)h(equiv)-5 b(alen)m(t)41 b(to)e
Fn(vi-command)p Fo(;)i Fn(emacs)c Fo(is)i(equiv)-5 b(alen)m(t)1110
-518 y(to)33 b Fn(emacs-standard)p Fo(.)41 b(The)31 b(default)h(v)-5
+5230 y(to)33 b Fn(emacs-standard)p Fo(.)41 b(The)31 b(default)h(v)-5
b(alue)32 b(is)g Fn(emacs)p Fo(.)44 b(The)31 b(v)-5 b(alue)33
-b(of)f(the)1110 628 y Fn(editing-mode)27 b Fo(v)-5 b(ariable)31
-b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 798
-y Fn(mark-directories)1110 908 y Fo(If)38 b(set)g(to)h(`)p
-Fn(on)p Fo(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)
-g(app)s(ended.)1110 1017 y(The)30 b(default)g(is)h(`)p
-Fn(on)p Fo('.)630 1188 y Fn(mark-modified-lines)1110
-1297 y Fo(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
-Fn(on)p Fo(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110
-1407 y(terisk)f(\(`)p Fn(*)p Fo('\))h(at)f(the)g(start)g(of)g(history)g
-(lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110
-1517 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fn(off)p Fo(')g(b)m(y)g
-(default.)630 1687 y Fn(mark-symlinked-directori)o(es)1110
-1797 y Fo(If)44 b(set)h(to)h(`)p Fn(on)p Fo(',)i(completed)e(names)f
-(whic)m(h)f(are)h(sym)m(b)s(olic)g(links)g(to)g(di-)1110
-1906 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5
-b(ject)47 b(to)g(the)f(v)-5 b(alue)47 b(of)f Fn(mark-)1110
-2016 y(directories)p Fo(\).)38 b(The)30 b(default)g(is)h(`)p
-Fn(off)p Fo('.)630 2186 y Fn(match-hidden-files)1110
-2296 y Fo(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p
-Fn(on)p Fo(',)h(causes)f(Readline)g(to)g(matc)m(h)g(\014les)f(whose)
-1110 2405 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fn(.)p
-Fo(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110
-2515 y(completion,)j(unless)41 b(the)g(leading)h(`)p
-Fn(.)p Fo(')g(is)g(supplied)e(b)m(y)h(the)h(user)f(in)g(the)1110
-2625 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
+b(of)f(the)1110 5340 y Fn(editing-mode)27 b Fo(v)-5 b(ariable)31
+b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)p eop
+end
+%%Page: 7 10
+TeXDict begin 7 9 bop 150 -116 a Fo(Chapter)30 b(1:)41
+b(Command)29 b(Line)i(Editing)2153 b(7)630 299 y Fn(mark-directories)
+1110 408 y Fo(If)38 b(set)g(to)h(`)p Fn(on)p Fo(',)i(completed)e
+(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)g(app)s(ended.)1110
+518 y(The)30 b(default)g(is)h(`)p Fn(on)p Fo('.)630 676
+y Fn(mark-modified-lines)1110 786 y Fo(This)k(v)-5 b(ariable,)38
+b(when)d(set)h(to)h(`)p Fn(on)p Fo(',)g(causes)g(Readline)f(to)h
+(displa)m(y)f(an)f(as-)1110 896 y(terisk)f(\(`)p Fn(*)p
+Fo('\))h(at)f(the)g(start)g(of)g(history)g(lines)g(whic)m(h)f(ha)m(v)m
+(e)i(b)s(een)e(mo)s(di\014ed.)1110 1005 y(This)d(v)-5
+b(ariable)31 b(is)f(`)p Fn(off)p Fo(')g(b)m(y)g(default.)630
+1163 y Fn(mark-symlinked-directori)o(es)1110 1273 y Fo(If)44
+b(set)h(to)h(`)p Fn(on)p Fo(',)i(completed)e(names)f(whic)m(h)f(are)h
+(sym)m(b)s(olic)g(links)g(to)g(di-)1110 1383 y(rectories)j(ha)m(v)m(e)f
+(a)g(slash)f(app)s(ended)e(\(sub)5 b(ject)47 b(to)g(the)f(v)-5
+b(alue)47 b(of)f Fn(mark-)1110 1492 y(directories)p Fo(\).)38
+b(The)30 b(default)g(is)h(`)p Fn(off)p Fo('.)630 1650
+y Fn(match-hidden-files)1110 1760 y Fo(This)21 b(v)-5
+b(ariable,)25 b(when)d(set)g(to)h(`)p Fn(on)p Fo(',)h(causes)f
+(Readline)g(to)g(matc)m(h)g(\014les)f(whose)1110 1870
+y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fn(.)p Fo(')g(\(hidden)f
+(\014les\))i(when)e(p)s(erforming)g(\014lename)1110 1979
+y(completion,)j(unless)41 b(the)g(leading)h(`)p Fn(.)p
+Fo(')g(is)g(supplied)e(b)m(y)h(the)h(user)f(in)g(the)1110
+2089 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
b(v)-5 b(ariable)31 b(is)f(`)p Fn(on)p Fo(')h(b)m(y)f(default.)630
-2795 y Fn(output-meta)1110 2905 y Fo(If)35 b(set)h(to)g(`)p
+2247 y Fn(output-meta)1110 2357 y Fo(If)35 b(set)h(to)g(`)p
Fn(on)p Fo(',)h(Readline)f(will)g(displa)m(y)f(c)m(haracters)i(with)e
-(the)h(eigh)m(th)g(bit)1110 3014 y(set)h(directly)g(rather)f(than)g(as)
+(the)h(eigh)m(th)g(bit)1110 2466 y(set)h(directly)g(rather)f(than)g(as)
h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 b(The)1110
-3124 y(default)31 b(is)f(`)p Fn(off)p Fo('.)630 3294
-y Fn(page-completions)1110 3404 y Fo(If)j(set)i(to)f(`)p
+2576 y(default)31 b(is)f(`)p Fn(off)p Fo('.)630 2734
+y Fn(page-completions)1110 2844 y Fo(If)j(set)i(to)f(`)p
Fn(on)p Fo(',)h(Readline)g(uses)e(an)h(in)m(ternal)h
Fn(more)p Fo(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
-3513 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
+2953 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fn(on)p Fo(')1110
-3623 y(b)m(y)e(default.)630 3794 y Fn(print-completions-horizo)o(ntal)o
-(ly)1110 3903 y Fo(If)23 b(set)i(to)g(`)p Fn(on)p Fo(',)g(Readline)g
+3063 y(b)m(y)e(default.)630 3221 y Fn(print-completions-horizo)o(ntal)o
+(ly)1110 3331 y Fo(If)23 b(set)i(to)g(`)p Fn(on)p Fo(',)g(Readline)g
(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110
-4013 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
-(than)g(do)m(wn)g(the)h(screen.)1110 4122 y(The)30 b(default)g(is)h(`)p
-Fn(off)p Fo('.)630 4293 y Fn(revert-all-at-newline)1110
-4402 y Fo(If)e(set)h(to)g(`)p Fn(on)p Fo(',)g(Readline)g(will)g(undo)f
+3440 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
+(than)g(do)m(wn)g(the)h(screen.)1110 3550 y(The)30 b(default)g(is)h(`)p
+Fn(off)p Fo('.)630 3708 y Fn(revert-all-at-newline)1110
+3818 y Fo(If)e(set)h(to)g(`)p Fn(on)p Fo(',)g(Readline)g(will)g(undo)f
(all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110
-4512 y(returning)f(when)f Fn(accept-line)f Fo(is)j(executed.)41
-b(By)29 b(default,)g(history)g(lines)1110 4622 y(ma)m(y)42
+3927 y(returning)f(when)f Fn(accept-line)f Fo(is)j(executed.)41
+b(By)29 b(default,)g(history)g(lines)1110 4037 y(ma)m(y)42
b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h
-(across)g(calls)h(to)1110 4731 y Fn(readline)p Fo(.)38
-b(The)30 b(default)h(is)f(`)p Fn(off)p Fo('.)630 4902
-y Fn(show-all-if-ambiguous)1110 5011 y Fo(This)f(alters)i(the)f
+(across)g(calls)h(to)1110 4147 y Fn(readline)p Fo(.)38
+b(The)30 b(default)h(is)f(`)p Fn(off)p Fo('.)630 4305
+y Fn(show-all-if-ambiguous)1110 4415 y Fo(This)f(alters)i(the)f
(default)g(b)s(eha)m(vior)g(of)g(the)h(completion)g(functions.)40
-b(If)29 b(set)1110 5121 y(to)f(`)p Fn(on)p Fo(',)g(w)m(ords)f(whic)m(h)
+b(If)29 b(set)1110 4524 y(to)f(`)p Fn(on)p Fo(',)g(w)m(ords)f(whic)m(h)
g(ha)m(v)m(e)i(more)f(than)f(one)h(p)s(ossible)f(completion)h(cause)
-1110 5230 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i
-(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 5340 y(The)30
-b(default)g(v)-5 b(alue)31 b(is)g(`)p Fn(off)p Fo('.)p
-eop end
+1110 4634 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i
+(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 4743 y(The)30
+b(default)g(v)-5 b(alue)31 b(is)g(`)p Fn(off)p Fo('.)630
+4902 y Fn(show-all-if-unmodified)1110 5011 y Fo(This)38
+b(alters)h(the)g(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h
+(functions)e(in)h(a)1110 5121 y(fashion)25 b(similar)g(to)h
+Fe(sho)m(w-all-if-am)m(biguous)t Fo(.)41 b(If)24 b(set)i(to)f(`)p
+Fn(on)p Fo(',)i(w)m(ords)d(whic)m(h)1110 5230 y(ha)m(v)m(e)32
+b(more)f(than)f(one)i(p)s(ossible)e(completion)i(without)f(an)m(y)g(p)s
+(ossible)f(par-)1110 5340 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
+f(completions)h(don't)f(share)g(a)h(common)p eop end
%%Page: 8 11
TeXDict begin 8 10 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(8)630 299 y Fn
-(show-all-if-unmodified)1110 408 y Fo(This)38 b(alters)h(the)g(default)
-g(b)s(eha)m(vior)g(of)f(the)h(completion)h(functions)e(in)h(a)1110
-518 y(fashion)25 b(similar)h(to)g Fd(sho)m(w-all-if-am)m(biguous)p
-Fo(.)41 b(If)25 b(set)h(to)h(`)p Fn(on)p Fo(',)f(w)m(ords)f(whic)m(h)
-1110 628 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e
-(completion)i(without)f(an)m(y)g(p)s(ossible)f(par-)1110
-737 y(tial)43 b(completion)h(\(the)f(p)s(ossible)f(completions)h(don't)
-f(share)g(a)h(common)1110 847 y(pre\014x\))30 b(cause)g(the)h(matc)m
-(hes)g(to)g(b)s(e)f(listed)g(immediately)i(instead)e(of)h(ring-)1110
-956 y(ing)g(the)f(b)s(ell.)41 b(The)30 b(default)g(v)-5
-b(alue)31 b(is)f(`)p Fn(off)p Fo('.)630 1113 y Fn(visible-stats)1110
-1223 y Fo(If)h(set)i(to)f(`)p Fn(on)p Fo(',)h(a)f(c)m(haracter)i
-(denoting)e(a)g(\014le's)g(t)m(yp)s(e)g(is)g(app)s(ended)e(to)j(the)
-1110 1332 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
-b(The)30 b(default)g(is)h(`)p Fn(off)p Fo('.)150 1489
-y(Key)f(Bindings)630 1598 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
-(k)m(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75
-b(First)43 b(y)m(ou)630 1708 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)
-h(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
-b(The)27 b(follo)m(wing)630 1817 y(sections)37 b(con)m(tain)g(tables)g
-(of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an)
-m(y)-8 b(,)630 1927 y(and)30 b(a)h(short)f(description)g(of)h(what)f
-(the)g(command)h(do)s(es.)630 2060 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
-(name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g
-(the)g(init)630 2170 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
-(ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)
-630 2279 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
+b(Command)29 b(Line)i(Editing)2153 b(8)1110 299 y(pre\014x\))30
+b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g(immediately)i
+(instead)e(of)h(ring-)1110 408 y(ing)g(the)f(b)s(ell.)41
+b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fn(off)p
+Fo('.)630 562 y Fn(skip-completed-text)1110 671 y Fo(If)i(set)i(to)f(`)
+p Fn(on)p Fo(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s(eha)
+m(vior)f(when)f(in-)1110 781 y(serting)d(a)h(single)g(matc)m(h)f(in)m
+(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-)
+1110 891 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m(ord.)
+53 b(If)35 b(enabled,)g(readline)g(do)s(es)1110 1000
+y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h(that)f
+(matc)m(h)g(c)m(haracters)1110 1110 y(after)c(p)s(oin)m(t)g(in)g(the)g
+(w)m(ord)f(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m
+(ord)1110 1219 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)
+45 b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110
+1329 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
+(after)h(the)g(`)p Fn(e)p Fo(')f(in)1110 1439 y(`)p Fn(Makefile)p
+Fo(')c(will)i(result)f(in)g(`)p Fn(Makefile)p Fo(')f(rather)h(than)h(`)
+p Fn(Makefilefile)p Fo(',)1110 1548 y(assuming)d(there)g(is)h(a)f
+(single)h(p)s(ossible)f(completion.)56 b(The)35 b(default)g(v)-5
+b(alue)1110 1658 y(is)30 b(`)p Fn(off)p Fo('.)630 1811
+y Fn(visible-stats)1110 1921 y Fo(If)h(set)i(to)f(`)p
+Fn(on)p Fo(',)h(a)f(c)m(haracter)i(denoting)e(a)g(\014le's)g(t)m(yp)s
+(e)g(is)g(app)s(ended)e(to)j(the)1110 2030 y(\014lename)e(when)e
+(listing)i(p)s(ossible)f(completions.)42 b(The)30 b(default)g(is)h(`)p
+Fn(off)p Fo('.)150 2184 y(Key)f(Bindings)630 2293 y(The)41
+b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e(in)h(the)g
+(init)g(\014le)g(is)g(simple.)75 b(First)43 b(y)m(ou)630
+2403 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g(command)f(that)i
+(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41 b(The)27 b(follo)m(wing)630
+2513 y(sections)37 b(con)m(tain)g(tables)g(of)f(the)g(command)f(name,)j
+(the)e(default)g(k)m(eybinding,)h(if)f(an)m(y)-8 b(,)630
+2622 y(and)30 b(a)h(short)f(description)g(of)h(what)f(the)g(command)h
+(do)s(es.)630 2754 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g(name)g(of)g
+(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g(the)g(init)630
+2863 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)g(wish)f(to)h
+(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)630
+2973 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g
-(and)630 2389 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
+(and)630 3082 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
-b(The)40 b(name)h(of)630 2498 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
+b(The)40 b(name)h(of)630 3192 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
(expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h
-(what)h(y)m(ou)g(\014nd)e(most)630 2608 y(comfortable.)630
-2741 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
+(what)h(y)m(ou)g(\014nd)e(most)630 3302 y(comfortable.)630
+3433 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630
-2851 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
-(\(a)h Fd(macro)5 b Fo(\).)630 3007 y Fd(k)m(eyname)g
-Fo(:)42 b Fd(function-name)35 b Fo(or)c Fd(macro)1110
-3117 y(k)m(eyname)k Fo(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
+3543 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
+(\(a)h Fe(macro)5 b Fo(\).)630 3696 y Fe(k)m(eyname)g
+Fo(:)42 b Fe(function-name)35 b Fo(or)c Fe(macro)1110
+3806 y(k)m(eyname)k Fo(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
(elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350
-3250 y Fn(Control-u:)45 b(universal-argument)1350 3360
-y(Meta-Rubout:)f(backward-kill-word)1350 3469 y(Control-o:)h(">)i
-(output")1110 3602 y Fo(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h
+3937 y Fn(Control-u:)45 b(universal-argument)1350 4047
+y(Meta-Rubout:)f(backward-kill-word)1350 4156 y(Control-o:)h(">)i
+(output")1110 4288 y Fo(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h
Fg(C-u)d Fo(is)h(b)s(ound)d(to)k(the)e(function)h Fn(universal-)1110
-3712 y(argument)p Fo(,)f Fg(M-DEL)e Fo(is)i(b)s(ound)e(to)i(the)g
-(function)g Fn(backward-kill-word)p Fo(,)1110 3821 y(and)g
+4398 y(argument)p Fo(,)f Fg(M-DEL)e Fo(is)i(b)s(ound)e(to)i(the)g
+(function)g Fn(backward-kill-word)p Fo(,)1110 4507 y(and)g
Fg(C-o)g Fo(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f
-(the)i(righ)m(t)f(hand)1110 3931 y(side)30 b(\(that)i(is,)e(to)h
+(the)i(righ)m(t)f(hand)1110 4617 y(side)30 b(\(that)i(is,)e(to)h
(insert)g(the)f(text)i(`)p Fn(>)e(output)p Fo(')f(in)m(to)i(the)g
-(line\).)1110 4064 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m
+(line\).)1110 4748 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m
(haracter)i(names)e(are)g(recognized)h(while)f(pro-)1110
-4174 y(cessing)24 b(this)g(k)m(ey)g(binding)f(syn)m(tax:)37
-b Fd(DEL)p Fo(,)24 b Fd(ESC)p Fo(,)f Fd(ESCAPE)p Fo(,)g
-Fd(LFD)p Fo(,)h Fd(NEW-)1110 4283 y(LINE)p Fo(,)30 b
-Fd(RET)p Fo(,)g Fd(RETURN)p Fo(,)h Fd(R)m(UBOUT)p Fo(,)g
-Fd(SP)-8 b(A)m(CE)p Fo(,)30 b Fd(SPC)p Fo(,)g(and)f Fd(T)-8
-b(AB)p Fo(.)630 4440 y Fn(")p Fd(k)m(eyseq)r Fn(")p Fo(:)41
-b Fd(function-name)36 b Fo(or)30 b Fd(macro)1110 4549
-y(k)m(eyseq)k Fo(di\013ers)d(from)f Fd(k)m(eyname)37
-b Fo(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f(denoting)g(an)g(en-)1110
-4659 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m
-(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 4769
-y(double)29 b(quotes.)41 b(Some)29 b Fh(gnu)h Fo(Emacs)f(st)m(yle)i(k)m
-(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 4878
-y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s(ecial)h(c)m
-(haracter)g(names)f(are)g(not)1110 4988 y(recognized.)1350
-5121 y Fn("\\C-u":)46 b(universal-argument)1350 5230
-y("\\C-x\\C-r":)f(re-read-init-file)1350 5340 y("\\e[11~":)g("Function)
-h(Key)g(1")p eop end
+4858 y(cessing)22 b(this)g(k)m(ey)g(binding)e(syn)m(tax:)37
+b Fe(DEL)p Fo(,)22 b Fe(ESC)8 b Fo(,)20 b Fe(ESCAPE)5
+b Fo(,)21 b Fe(LFD)5 b Fo(,)22 b Fe(NEW-)1110 4967 y(LINE)5
+b Fo(,)31 b Fe(RET)7 b Fo(,)29 b Fe(RETURN)10 b Fo(,)30
+b Fe(R)m(UBOUT)7 b Fo(,)31 b Fe(SP)-8 b(A)m(CE)5 b Fo(,)31
+b Fe(SPC)8 b Fo(,)29 b(and)h Fe(T)-8 b(AB)5 b Fo(.)630
+5121 y Fn(")p Fe(k)m(eyseq)r Fn(")p Fo(:)41 b Fe(function-name)36
+b Fo(or)30 b Fe(macro)1110 5230 y(k)m(eyseq)k Fo(di\013ers)d(from)f
+Fe(k)m(eyname)37 b Fo(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f
+(denoting)g(an)g(en-)1110 5340 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s
+(e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)p
+eop end
%%Page: 9 12
TeXDict begin 9 11 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2153 b(9)1110 299 y(In)64
+b(Command)29 b(Line)i(Editing)2153 b(9)1110 299 y(double)29
+b(quotes.)41 b(Some)29 b Fh(gnu)h Fo(Emacs)f(st)m(yle)i(k)m(ey)f(escap)
+s(es)g(can)g(b)s(e)f(used,)g(as)1110 408 y(in)k(the)h(follo)m(wing)i
+(example,)f(but)e(the)h(sp)s(ecial)h(c)m(haracter)g(names)f(are)g(not)
+1110 518 y(recognized.)1350 652 y Fn("\\C-u":)46 b(universal-argument)
+1350 761 y("\\C-x\\C-r":)f(re-read-init-file)1350 871
+y("\\e[11~":)g("Function)h(Key)g(1")1110 1004 y Fo(In)64
b(the)g(ab)s(o)m(v)m(e)i(example,)74 b Fg(C-u)64 b Fo(is)g(again)i(b)s
-(ound)c(to)k(the)e(function)1110 408 y Fn(universal-argument)39
+(ound)c(to)k(the)e(function)1110 1114 y Fn(universal-argument)39
b Fo(\(just)k(as)h(it)g(w)m(as)g(in)g(the)f(\014rst)g(example\),)49
-b(`)p Fg(C-x)1110 518 y(C-r)p Fo(')41 b(is)g(b)s(ound)e(to)j(the)f
-(function)g Fn(re-read-init-file)p Fo(,)e(and)i(`)3462
-515 y Ff(h)p 3486 462 139 4 v 3486 518 a Fe(ESC)p 3486
-533 V 3620 515 a Ff(i)31 b(h)p 3705 462 20 4 v 3705 518
-a Fe([)p 3705 535 V 3720 515 a Ff(i)1110 625 y(h)p 1134
-572 36 4 v 1134 628 a Fe(1)p 1134 643 V 1165 625 a Ff(i)f(h)p
-1250 572 V 1250 628 a Fe(1)p 1250 643 V 1281 625 a Ff(i)g(h)p
-1365 572 48 4 v 1365 628 a Fn(~)p 1365 643 V 1409 625
-a Ff(i)1438 628 y Fo(')h(is)f(b)s(ound)f(to)i(insert)f(the)h(text)g(`)p
-Fn(Function)d(Key)i(1)p Fo('.)630 786 y(The)f(follo)m(wing)i
+b(`)p Fg(C-x)1110 1223 y(C-r)p Fo(')30 b(is)g(b)s(ound)e(to)j(the)g
+(function)f Fn(re-read-init-file)p Fo(,)c(and)j(`)p Fn(ESC)h([)g(1)g(1)
+1110 1333 y(~)p Fo(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
+Fn(Function)e(Key)g(1)p Fo('.)630 1490 y(The)g(follo)m(wing)i
Fh(gnu)f Fo(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5
-b(ailable)32 b(when)d(sp)s(ecifying)630 896 y(k)m(ey)i(sequences:)630
-1055 y Fg(\\C-)336 b Fo(con)m(trol)32 b(pre\014x)630
-1213 y Fg(\\M-)336 b Fo(meta)31 b(pre\014x)630 1372 y
+b(ailable)32 b(when)d(sp)s(ecifying)630 1600 y(k)m(ey)i(sequences:)630
+1757 y Fg(\\C-)336 b Fo(con)m(trol)32 b(pre\014x)630
+1915 y Fg(\\M-)336 b Fo(meta)31 b(pre\014x)630 2072 y
Fg(\\e)384 b Fo(an)30 b(escap)s(e)h(c)m(haracter)630
-1531 y Fg(\\\\)384 b Fo(bac)m(kslash)630 1689 y Fg(\\)p
-Fn(")1110 1686 y Ff(h)p 1134 1633 V 1134 1689 a Fn(")p
-1134 1705 V 1178 1686 a Ff(i)1208 1689 y Fo(,)30 b(a)h(double)f
-(quotation)h(mark)630 1848 y Fg(\\')1110 1845 y Ff(h)p
-1134 1792 20 4 v 1134 1848 a Fe(')p 1134 1864 V 1150
-1845 a Ff(i)1179 1848 y Fo(,)g(a)g(single)g(quote)g(or)f(ap)s(ostrophe)
-630 2007 y(In)d(addition)h(to)g(the)g Fh(gnu)f Fo(Emacs)h(st)m(yle)h
-(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g(bac)m(kslash)630
-2116 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 2275
-y Fn(\\a)384 b Fo(alert)31 b(\(b)s(ell\))630 2434 y Fn(\\b)384
-b Fo(bac)m(kspace)630 2593 y Fn(\\d)g Fo(delete)630 2751
-y Fn(\\f)g Fo(form)30 b(feed)630 2910 y Fn(\\n)384 b
-Fo(newline)630 3069 y Fn(\\r)g Fo(carriage)32 b(return)630
-3227 y Fn(\\t)384 b Fo(horizon)m(tal)32 b(tab)630 3386
-y Fn(\\v)384 b Fo(v)m(ertical)32 b(tab)630 3545 y Fn(\\)p
+2229 y Fg(\\\\)384 b Fo(bac)m(kslash)630 2387 y Fg(\\)p
+Fn(")g(")p Fo(,)30 b(a)h(double)f(quotation)i(mark)630
+2544 y Fg(\\')384 b Fn(')p Fo(,)30 b(a)h(single)g(quote)g(or)f(ap)s
+(ostrophe)630 2701 y(In)d(addition)h(to)g(the)g Fh(gnu)f
+Fo(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g
+(bac)m(kslash)630 2811 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630
+2968 y Fn(\\a)384 b Fo(alert)31 b(\(b)s(ell\))630 3125
+y Fn(\\b)384 b Fo(bac)m(kspace)630 3283 y Fn(\\d)g Fo(delete)630
+3440 y Fn(\\f)g Fo(form)30 b(feed)630 3597 y Fn(\\n)384
+b Fo(newline)630 3755 y Fn(\\r)g Fo(carriage)32 b(return)630
+3912 y Fn(\\t)384 b Fo(horizon)m(tal)32 b(tab)630 4069
+y Fn(\\v)384 b Fo(v)m(ertical)32 b(tab)630 4227 y Fn(\\)p
Fg(nnn)288 b Fo(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
-b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fd(nnn)e
-Fo(\(one)i(to)1110 3654 y(three)c(digits\))630 3813 y
+b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fe(nnn)e
+Fo(\(one)i(to)1110 4336 y(three)c(digits\))630 4494 y
Fn(\\x)p Fg(HH)288 b Fo(the)40 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e
(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 b(alue)40
-b Fd(HH)1110 3923 y Fo(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
-4081 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
+b Fe(HH)1110 4603 y Fo(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
+4761 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630
-4191 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
+4870 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38
-b(In)630 4301 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
+b(In)630 4980 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j
-(are)e(expanded.)37 b(Bac)m(kslash)630 4410 y(will)j(quote)h(an)m(y)f
+(are)e(expanded.)37 b(Bac)m(kslash)630 5089 y(will)j(quote)h(an)m(y)f
(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
b(`)p Fn(")p Fo(')h(and)g(`)p Fn(')p Fo('.)69 b(F)-8
-b(or)630 4520 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
+b(or)630 5199 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
(mak)m(e)h(`)p Fg(C-x)j Fn(\\)p Fo(')c(insert)f(a)h(single)h(`)p
-Fn(\\)p Fo(')f(in)m(to)g(the)g(line:)870 4654 y Fn("\\C-x\\\\":)45
-b("\\\\")150 4877 y Fc(1.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-275 5121 y Fo(Readline)36 b(implemen)m(ts)f(a)h(facilit)m(y)i(similar)d
-(in)g(spirit)g(to)h(the)g(conditional)h(compilation)g(features)150
-5230 y(of)e(the)f(C)g(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)f
-(bindings)e(and)h(v)-5 b(ariable)35 b(settings)h(to)f(b)s(e)f(p)s
-(erformed)f(as)150 5340 y(the)e(result)f(of)g(tests.)42
-b(There)30 b(are)h(four)e(parser)h(directiv)m(es)i(used.)p
-eop end
+Fn(\\)p Fo(')f(in)m(to)g(the)g(line:)870 5332 y Fn("\\C-x\\\\":)45
+b("\\\\")p eop end
%%Page: 10 13
TeXDict begin 10 12 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(10)150 299 y Fn($if)336
-b Fo(The)31 b Fn($if)f Fo(construct)i(allo)m(ws)h(bindings)d(to)i(b)s
-(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g(the)630
-408 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g(application)h(using)f
-(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)630 518
+b(Command)29 b(Line)i(Editing)2107 b(10)150 299 y Fd(1.3.2)63
+b(Conditional)41 b(Init)g(Constructs)150 446 y Fo(Readline)c(implemen)m
+(ts)g(a)h(facilit)m(y)g(similar)f(in)g(spirit)f(to)i(the)f(conditional)
+h(compilation)g(features)f(of)150 555 y(the)31 b(C)f(prepro)s(cessor)g
+(whic)m(h)g(allo)m(ws)i(k)m(ey)g(bindings)d(and)h(v)-5
+b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s(erformed)f(as)i(the)150
+665 y(result)f(of)h(tests.)41 b(There)30 b(are)h(four)f(parser)f
+(directiv)m(es)j(used.)150 824 y Fn($if)336 b Fo(The)31
+b Fn($if)f Fo(construct)i(allo)m(ws)h(bindings)d(to)i(b)s(e)e(made)i
+(based)f(on)g(the)g(editing)h(mo)s(de,)g(the)630 934
+y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g(application)h(using)f
+(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)630 1044
y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m(haracters)i
-(are)f(required)e(to)i(isolate)i(it.)630 677 y Fn(mode)288
+(are)f(required)e(to)i(isolate)i(it.)630 1203 y Fn(mode)288
b Fo(The)20 b Fn(mode=)g Fo(form)g(of)h(the)g Fn($if)f
Fo(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)1110
-787 y(is)29 b(in)h Fn(emacs)e Fo(or)h Fn(vi)g Fo(mo)s(de.)40
+1313 y(is)29 b(in)h Fn(emacs)e Fo(or)h Fn(vi)g Fo(mo)s(de.)40
b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110
-897 y(`)p Fn(set)h(keymap)p Fo(')c(command,)i(for)f(instance,)i(to)f
-(set)g(bindings)f(in)g(the)h Fn(emacs-)1110 1006 y(standard)23
+1422 y(`)p Fn(set)h(keymap)p Fo(')c(command,)i(for)f(instance,)i(to)f
+(set)g(bindings)f(in)g(the)h Fn(emacs-)1110 1532 y(standard)23
b Fo(and)h Fn(emacs-ctlx)f Fo(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
-(starting)h(out)1110 1116 y(in)k Fn(emacs)f Fo(mo)s(de.)630
-1275 y Fn(term)288 b Fo(The)26 b Fn(term=)g Fo(form)g(ma)m(y)i(b)s(e)e
+(starting)h(out)1110 1641 y(in)k Fn(emacs)f Fo(mo)s(de.)630
+1801 y Fn(term)288 b Fo(The)26 b Fn(term=)g Fo(form)g(ma)m(y)i(b)s(e)e
(used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110
-1385 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
-(output)g(b)m(y)g(the)g(terminal's)1110 1494 y(function)24
+1910 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
+(output)g(b)m(y)g(the)g(terminal's)1110 2020 y(function)24
b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g
-(the)g(`)p Fn(=)p Fo(')g(is)g(tested)h(against)1110 1604
+(the)g(`)p Fn(=)p Fo(')g(is)g(tested)h(against)1110 2130
y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s
-(ortion)e(of)h(the)g(terminal)1110 1714 y(name)k(b)s(efore)f(the)g
+(ortion)e(of)h(the)g(terminal)1110 2239 y(name)k(b)s(efore)f(the)g
(\014rst)g(`)p Fn(-)p Fo('.)50 b(This)33 b(allo)m(ws)i
Fn(sun)e Fo(to)h(matc)m(h)g(b)s(oth)f Fn(sun)g Fo(and)1110
-1823 y Fn(sun-cmd)p Fo(,)c(for)h(instance.)630 1983 y
-Fn(application)1110 2092 y Fo(The)21 b Fd(application)j
+2349 y Fn(sun-cmd)p Fo(,)c(for)h(instance.)630 2508 y
+Fn(application)1110 2618 y Fo(The)21 b Fe(application)j
Fo(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h
-(set-)1110 2202 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
-(Readline)g(library)g(sets)g(the)g Fd(application)1110
-2311 y(name)p Fo(,)g(and)e(y)m(ou)g(can)h(test)g(for)f(a)g(particular)h
-(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g(used)f(to)1110
-2421 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h
-(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 2531
-y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)f
-(sequence)h(that)f(quotes)1110 2640 y(the)e(curren)m(t)f(or)g(previous)
-g(w)m(ord)g(in)g(Bash:)1350 2775 y Fn($if)47 b(Bash)1350
-2884 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)1350
-2994 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 3103 y($endif)150
-3263 y($endif)192 b Fo(This)29 b(command,)i(as)f(seen)h(in)f(the)g
+(set-)1110 2727 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
+(Readline)g(library)g(sets)g(the)g Fe(application)1110
+2837 y(name)5 b Fo(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h
+(particular)h(v)-5 b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to)
+1110 2946 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g
+(for)h(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110
+3056 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)
+f(sequence)h(that)f(quotes)1110 3166 y(the)e(curren)m(t)f(or)g
+(previous)g(w)m(ord)g(in)g(Bash:)1350 3300 y Fn($if)47
+b(Bash)1350 3410 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)
+1350 3519 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 3629 y($endif)150
+3788 y($endif)192 b Fo(This)29 b(command,)i(as)f(seen)h(in)f(the)g
(previous)g(example,)h(terminates)g(an)g Fn($if)e Fo(command.)150
-3422 y Fn($else)240 b Fo(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
+3948 y Fn($else)240 b Fo(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
(the)f Fn($if)g Fo(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g
-(fails.)150 3582 y Fn($include)96 b Fo(This)43 b(directiv)m(e)i(tak)m
+(fails.)150 4107 y Fn($include)96 b Fo(This)43 b(directiv)m(e)i(tak)m
(es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g
-(commands)630 3691 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
+(commands)630 4217 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e
-(from)630 3801 y(`)p Fn(/etc/inputrc)p Fo(':)870 3935
-y Fn($include)46 b(/etc/inputrc)150 4159 y Fc(1.3.3)63
-b(Sample)41 b(Init)g(File)275 4403 y Fo(Here)31 b(is)f(an)g(example)i
-(of)e(an)g Fd(inputrc)35 b Fo(\014le.)42 b(This)29 b(illustrates)j(k)m
-(ey)f(binding,)f(v)-5 b(ariable)31 b(assignmen)m(t,)150
-4513 y(and)f(conditional)h(syn)m(tax.)p eop end
+(from)630 4326 y(`)p Fn(/etc/inputrc)p Fo(':)870 4461
+y Fn($include)46 b(/etc/inputrc)150 4660 y Fd(1.3.3)63
+b(Sample)41 b(Init)g(File)150 4807 y Fo(Here)27 b(is)f(an)h(example)g
+(of)f(an)h Fe(inputrc)k Fo(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)
+h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150
+4917 y(conditional)j(syn)m(tax.)p eop end
%%Page: 11 14
TeXDict begin 11 13 bop 150 -116 a Fo(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2107 b(11)390 408 y Fn(#)47
@@ -4127,102 +3870,102 @@ TeXDict begin 13 15 bop 150 -116 a Fo(Chapter)30 b(1:)41
b(Command)29 b(Line)i(Editing)2107 b(13)390 299 y Fn(#)47
b(For)g(FTP)390 408 y($if)g(Ftp)390 518 y("\\C-xg":)f("get)g(\\M-?")390
628 y("\\C-xt":)g("put)g(\\M-?")390 737 y("\\M-.":)g(yank-last-arg)390
-847 y($endif)150 1098 y Fm(1.4)68 b(Bindable)45 b(Readline)i(Commands)
-275 1340 y Fo(This)30 b(section)j(describ)s(es)d(Readline)i(commands)f
-(that)h(ma)m(y)g(b)s(e)f(b)s(ound)e(to)j(k)m(ey)g(sequences.)44
-b(Com-)150 1449 y(mand)30 b(names)g(without)g(an)g(accompan)m(ying)i(k)
-m(ey)g(sequence)e(are)h(un)m(b)s(ound)d(b)m(y)i(default.)275
-1582 y(In)25 b(the)h(follo)m(wing)i(descriptions,)f Fd(p)s(oin)m(t)h
+847 y($endif)150 1077 y Fm(1.4)68 b(Bindable)45 b(Readline)i(Commands)
+150 1237 y Fo(This)25 b(section)i(describ)s(es)d(Readline)j(commands)e
+(that)h(ma)m(y)g(b)s(e)f(b)s(ound)f(to)i(k)m(ey)h(sequences.)39
+b(Command)150 1346 y(names)30 b(without)h(an)f(accompan)m(ying)i(k)m
+(ey)f(sequence)g(are)g(un)m(b)s(ound)c(b)m(y)k(default.)275
+1480 y(In)25 b(the)h(follo)m(wing)i(descriptions,)f Fe(p)s(oin)m(t)h
Fo(refers)e(to)h(the)f(curren)m(t)g(cursor)g(p)s(osition,)h(and)f
-Fd(mark)31 b Fo(refers)150 1691 y(to)40 b(a)f(cursor)f(p)s(osition)h
+Fe(mark)31 b Fo(refers)150 1590 y(to)40 b(a)f(cursor)f(p)s(osition)h
(sa)m(v)m(ed)h(b)m(y)f(the)g Fn(set-mark)d Fo(command.)66
b(The)38 b(text)i(b)s(et)m(w)m(een)g(the)f(p)s(oin)m(t)g(and)150
-1801 y(mark)30 b(is)h(referred)e(to)i(as)g(the)f Fd(region)p
-Fo(.)150 2018 y Fc(1.4.1)63 b(Commands)42 b(F)-10 b(or)41
-b(Mo)m(ving)150 2260 y Fn(beginning-of-line)26 b(\(C-a\))630
-2370 y Fo(Mo)m(v)m(e)32 b(to)g(the)e(start)h(of)g(the)f(curren)m(t)g
-(line.)150 2525 y Fn(end-of-line)d(\(C-e\))630 2635 y
+1699 y(mark)30 b(is)h(referred)e(to)i(as)g(the)f Fe(region)p
+Fo(.)150 1897 y Fd(1.4.1)63 b(Commands)42 b(F)-10 b(or)41
+b(Mo)m(ving)150 2067 y Fn(beginning-of-line)26 b(\(C-a\))630
+2177 y Fo(Mo)m(v)m(e)32 b(to)g(the)e(start)h(of)g(the)f(curren)m(t)g
+(line.)150 2335 y Fn(end-of-line)d(\(C-e\))630 2444 y
Fo(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(line.)150
-2790 y Fn(forward-char)c(\(C-f\))630 2899 y Fo(Mo)m(v)m(e)32
-b(forw)m(ard)e(a)h(c)m(haracter.)150 3054 y Fn(backward-char)c(\(C-b\))
-630 3164 y Fo(Mo)m(v)m(e)32 b(bac)m(k)g(a)e(c)m(haracter.)150
-3319 y Fn(forward-word)d(\(M-f\))630 3429 y Fo(Mo)m(v)m(e)32
+2602 y Fn(forward-char)c(\(C-f\))630 2711 y Fo(Mo)m(v)m(e)32
+b(forw)m(ard)e(a)h(c)m(haracter.)150 2869 y Fn(backward-char)c(\(C-b\))
+630 2978 y Fo(Mo)m(v)m(e)32 b(bac)m(k)g(a)e(c)m(haracter.)150
+3136 y Fn(forward-word)d(\(M-f\))630 3246 y Fo(Mo)m(v)m(e)32
b(forw)m(ard)e(to)h(the)f(end)g(of)g(the)h(next)f(w)m(ord.)41
b(W)-8 b(ords)30 b(are)h(comp)s(osed)f(of)g(letters)i(and)630
-3538 y(digits.)150 3693 y Fn(backward-word)27 b(\(M-b\))630
-3803 y Fo(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g(of)g(the)g
+3355 y(digits.)150 3513 y Fn(backward-word)27 b(\(M-b\))630
+3622 y Fo(Mo)m(v)m(e)36 b(bac)m(k)e(to)g(the)g(start)g(of)g(the)g
(curren)m(t)f(or)g(previous)g(w)m(ord.)50 b(W)-8 b(ords)34
-b(are)g(comp)s(osed)630 3913 y(of)d(letters)g(and)f(digits.)150
-4068 y Fn(clear-screen)d(\(C-l\))630 4177 y Fo(Clear)g(the)g(screen)f
+b(are)g(comp)s(osed)630 3732 y(of)d(letters)g(and)f(digits.)150
+3889 y Fn(clear-screen)d(\(C-l\))630 3999 y Fo(Clear)g(the)g(screen)f
(and)h(redra)m(w)f(the)h(curren)m(t)f(line,)i(lea)m(ving)g(the)f
-(curren)m(t)g(line)g(at)g(the)g(top)630 4287 y(of)k(the)f(screen.)150
-4442 y Fn(redraw-current-line)25 b(\(\))630 4552 y Fo(Refresh)30
+(curren)m(t)g(line)g(at)g(the)g(top)630 4109 y(of)k(the)f(screen.)150
+4266 y Fn(redraw-current-line)25 b(\(\))630 4376 y Fo(Refresh)30
b(the)g(curren)m(t)h(line.)41 b(By)30 b(default,)h(this)f(is)h(un)m(b)s
-(ound.)150 4769 y Fc(1.4.2)63 b(Commands)42 b(F)-10 b(or)41
-b(Manipulating)h(The)f(History)150 5011 y Fn(accept-line)27
-b(\(Newline)h(or)i(Return\))630 5121 y Fo(Accept)36 b(the)g(line)f
+(ound.)150 4573 y Fd(1.4.2)63 b(Commands)42 b(F)-10 b(or)41
+b(Manipulating)h(The)f(History)150 4744 y Fn(accept-line)27
+b(\(Newline)h(or)i(Return\))630 4854 y Fo(Accept)36 b(the)g(line)f
(regardless)h(of)f(where)g(the)g(cursor)g(is.)55 b(If)34
b(this)h(line)h(is)f(non-empt)m(y)-8 b(,)37 b(it)630
-5230 y(ma)m(y)32 b(b)s(e)g(added)f(to)h(the)g(history)g(list)h(for)e
+4963 y(ma)m(y)32 b(b)s(e)g(added)f(to)h(the)g(history)g(list)h(for)e
(future)g(recall)j(with)d Fn(add_history\(\))p Fo(.)42
-b(If)31 b(this)630 5340 y(line)g(is)f(a)h(mo)s(di\014ed)e(history)h
+b(If)31 b(this)630 5073 y(line)g(is)f(a)h(mo)s(di\014ed)e(history)h
(line,)h(the)g(history)f(line)h(is)f(restored)h(to)g(its)g(original)g
-(state.)p eop end
+(state.)150 5230 y Fn(previous-history)26 b(\(C-p\))630
+5340 y Fo(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g(history)h(list,)g
+(fetc)m(hing)g(the)g(previous)f(command.)p eop end
%%Page: 14 17
TeXDict begin 14 16 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(14)150 299 y Fn(previous-history)
-26 b(\(C-p\))630 408 y Fo(Mo)m(v)m(e)32 b(`bac)m(k')g(through)e(the)g
-(history)h(list,)g(fetc)m(hing)g(the)g(previous)f(command.)150
-556 y Fn(next-history)d(\(C-n\))630 666 y Fo(Mo)m(v)m(e)32
-b(`forw)m(ard')f(through)e(the)i(history)f(list,)i(fetc)m(hing)f(the)g
-(next)f(command.)150 814 y Fn(beginning-of-history)25
-b(\(M-<\))630 923 y Fo(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h
-(the)f(history)-8 b(.)150 1071 y Fn(end-of-history)26
-b(\(M->\))630 1181 y Fo(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h
-(input)e(history)-8 b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s
-(eing)f(en)m(tered.)150 1329 y Fn(reverse-search-history)24
-b(\(C-r\))630 1438 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
-(the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g
-(his-)630 1548 y(tory)g(as)f(necessary)-8 b(.)42 b(This)29
-b(is)i(an)f(incremen)m(tal)i(searc)m(h.)150 1696 y Fn
-(forward-search-history)24 b(\(C-s\))630 1805 y Fo(Searc)m(h)30
-b(forw)m(ard)f(starting)h(at)g(the)g(curren)m(t)f(line)h(and)f(mo)m
-(ving)h(`do)m(wn')f(through)g(the)h(the)630 1915 y(history)g(as)h
-(necessary)-8 b(.)41 b(This)30 b(is)g(an)h(incremen)m(tal)g(searc)m(h.)
-150 2063 y Fn(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
-b(\(M-p\))630 2172 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
+b(Command)29 b(Line)i(Editing)2107 b(14)150 299 y Fn(next-history)27
+b(\(C-n\))630 408 y Fo(Mo)m(v)m(e)32 b(`forw)m(ard')f(through)e(the)i
+(history)f(list,)i(fetc)m(hing)f(the)g(next)f(command.)150
+582 y Fn(beginning-of-history)25 b(\(M-<\))630 692 y
+Fo(Mo)m(v)m(e)32 b(to)g(the)e(\014rst)g(line)g(in)h(the)f(history)-8
+b(.)150 865 y Fn(end-of-history)26 b(\(M->\))630 975
+y Fo(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(input)e(history)-8
+b(,)31 b(i.e.,)h(the)f(line)f(curren)m(tly)h(b)s(eing)f(en)m(tered.)150
+1148 y Fn(reverse-search-history)24 b(\(C-r\))630 1258
+y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g(the)f(curren)m(t)g
+(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g(his-)630
+1368 y(tory)g(as)f(necessary)-8 b(.)42 b(This)29 b(is)i(an)f(incremen)m
+(tal)i(searc)m(h.)150 1541 y Fn(forward-search-history)24
+b(\(C-s\))630 1651 y Fo(Searc)m(h)30 b(forw)m(ard)f(starting)h(at)g
+(the)g(curren)m(t)f(line)h(and)f(mo)m(ving)h(`do)m(wn')f(through)g(the)
+h(the)630 1760 y(history)g(as)h(necessary)-8 b(.)41 b(This)30
+b(is)g(an)h(incremen)m(tal)g(searc)m(h.)150 1934 y Fn
+(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
+b(\(M-p\))630 2043 y Fo(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
(the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g
-(his-)630 2282 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
+(his-)630 2153 y(tory)36 b(as)g(necessary)h(using)e(a)i(non-incremen)m
(tal)g(searc)m(h)f(for)g(a)g(string)g(supplied)f(b)m(y)h(the)630
-2391 y(user.)150 2539 y Fn(non-incremental-forward-)o(sear)o(ch-h)o
-(ist)o(ory)24 b(\(M-n\))630 2649 y Fo(Searc)m(h)30 b(forw)m(ard)f
+2263 y(user.)150 2436 y Fn(non-incremental-forward-)o(sear)o(ch-h)o
+(ist)o(ory)24 b(\(M-n\))630 2546 y Fo(Searc)m(h)30 b(forw)m(ard)f
(starting)h(at)g(the)g(curren)m(t)f(line)h(and)f(mo)m(ving)h(`do)m(wn')
-f(through)g(the)h(the)630 2758 y(history)d(as)f(necessary)i(using)e(a)h
+f(through)g(the)h(the)630 2655 y(history)d(as)f(necessary)i(using)e(a)h
(non-incremen)m(tal)g(searc)m(h)h(for)e(a)h(string)g(supplied)e(b)m(y)i
-(the)630 2868 y(user.)150 3016 y Fn(history-search-forward)d(\(\))630
-3125 y Fo(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g
+(the)630 2765 y(user.)150 2939 y Fn(history-search-forward)d(\(\))630
+3048 y Fo(Searc)m(h)42 b(forw)m(ard)f(through)f(the)i(history)f(for)g
(the)h(string)f(of)h(c)m(haracters)h(b)s(et)m(w)m(een)f(the)630
-3235 y(start)36 b(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m
+3158 y(start)36 b(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m
(t.)55 b(This)34 b(is)i(a)f(non-incremen)m(tal)h(searc)m(h.)56
-b(By)630 3345 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150
-3492 y Fn(history-search-backward)24 b(\(\))630 3602
+b(By)630 3267 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150
+3441 y Fn(history-search-backward)24 b(\(\))630 3550
y Fo(Searc)m(h)35 b(bac)m(kw)m(ard)g(through)f(the)h(history)g(for)g
(the)f(string)h(of)g(c)m(haracters)h(b)s(et)m(w)m(een)g(the)630
-3712 y(start)g(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m(t.)
+3660 y(start)g(of)f(the)g(curren)m(t)g(line)g(and)g(the)g(p)s(oin)m(t.)
55 b(This)34 b(is)i(a)f(non-incremen)m(tal)h(searc)m(h.)56
-b(By)630 3821 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150
-3969 y Fn(yank-nth-arg)c(\(M-C-y\))630 4079 y Fo(Insert)37
+b(By)630 3770 y(default,)31 b(this)f(command)g(is)h(un)m(b)s(ound.)150
+3943 y Fn(yank-nth-arg)c(\(M-C-y\))630 4053 y Fo(Insert)37
b(the)g(\014rst)f(argumen)m(t)i(to)f(the)h(previous)e(command)h
-(\(usually)g(the)g(second)g(w)m(ord)630 4188 y(on)32
+(\(usually)g(the)g(second)g(w)m(ord)630 4162 y(on)32
b(the)g(previous)f(line\))i(at)f(p)s(oin)m(t.)46 b(With)32
-b(an)g(argumen)m(t)g Fd(n)p Fo(,)g(insert)g(the)g Fd(n)p
-Fo(th)f(w)m(ord)g(from)630 4298 y(the)k(previous)f(command)h(\(the)g(w)
+b(an)g(argumen)m(t)g Fe(n)p Fo(,)g(insert)g(the)g Fe(n)p
+Fo(th)f(w)m(ord)g(from)630 4272 y(the)k(previous)f(command)h(\(the)g(w)
m(ords)g(in)f(the)h(previous)g(command)f(b)s(egin)h(with)f(w)m(ord)630
-4407 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f
-Fd(n)p Fo(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f(previous)630
-4517 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fd(n)e
+4382 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f
+Fe(n)p Fo(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f(previous)630
+4491 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fe(n)e
Fo(is)h(computed,)h(the)f(argumen)m(t)g(is)g(extracted)i(as)e(if)630
-4627 y(the)e(`)p Fn(!)p Fg(n)11 b Fo(')29 b(history)i(expansion)f(had)g
+4601 y(the)e(`)p Fn(!)p Fg(n)11 b Fo(')29 b(history)i(expansion)f(had)g
(b)s(een)f(sp)s(eci\014ed.)150 4774 y Fn(yank-last-arg)e(\(M-.)i(or)h
(M-_\))630 4884 y Fo(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)
f(command)h(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630
@@ -4237,339 +3980,346 @@ Fo(mo)m(v)m(e)36 b(bac)m(k)g(through)d(the)i(history)g(list,)h
(eci\014ed.)p eop end
%%Page: 15 18
TeXDict begin 15 17 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(15)150 299 y Fc(1.4.3)63
+b(Command)29 b(Line)i(Editing)2107 b(15)150 299 y Fd(1.4.3)63
b(Commands)42 b(F)-10 b(or)41 b(Changing)g(T)-10 b(ext)150
-547 y Fn(delete-char)27 b(\(C-d\))630 656 y Fo(Delete)41
+468 y Fn(delete-char)27 b(\(C-d\))630 578 y Fo(Delete)41
b(the)e(c)m(haracter)i(at)e(p)s(oin)m(t.)66 b(If)39 b(p)s(oin)m(t)f(is)
h(at)h(the)f(b)s(eginning)f(of)h(the)g(line,)j(there)630
-766 y(are)37 b(no)g(c)m(haracters)i(in)d(the)i(line,)h(and)d(the)h
+687 y(are)37 b(no)g(c)m(haracters)i(in)d(the)i(line,)h(and)d(the)h
(last)h(c)m(haracter)h(t)m(yp)s(ed)e(w)m(as)g(not)g(b)s(ound)e(to)630
-875 y Fn(delete-char)p Fo(,)28 b(then)i(return)f Fh(eof)p
-Fo(.)150 1042 y Fn(backward-delete-char)c(\(Rubout\))630
-1152 y Fo(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
+797 y Fn(delete-char)p Fo(,)28 b(then)i(return)f Fh(eof)p
+Fo(.)150 951 y Fn(backward-delete-char)c(\(Rubout\))630
+1060 y Fo(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630
-1261 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150
-1428 y Fn(forward-backward-delete-)o(char)24 b(\(\))630
-1538 y Fo(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h
+1170 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150
+1324 y Fn(forward-backward-delete-)o(char)24 b(\(\))630
+1434 y Fo(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h
(unless)d(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630
-1647 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s
+1543 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s
(ehind)d(the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630
-1757 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
-1924 y Fn(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 2033
+1653 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
+1807 y Fn(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 1916
y Fo(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h
(v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630
-2143 y(sequences)d(lik)m(e)g Fg(C-q)p Fo(,)f(for)g(example.)150
-2310 y Fn(tab-insert)e(\(M-)802 2307 y Ff(h)p 825 2254
-148 4 v 825 2310 a Fe(T)-6 b(AB)p 825 2325 V 969 2307
-a Ff(i)998 2310 y Fn(\))630 2419 y Fo(Insert)30 b(a)h(tab)f(c)m
-(haracter.)150 2586 y Fn(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o
-(\))630 2696 y Fo(Insert)g(y)m(ourself.)150 2862 y Fn(transpose-chars)c
-(\(C-t\))630 2972 y Fo(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g
+2026 y(sequences)d(lik)m(e)g Fg(C-q)p Fo(,)f(for)g(example.)150
+2180 y Fn(tab-insert)e(\(M-TAB\))630 2289 y Fo(Insert)i(a)h(tab)f(c)m
+(haracter.)150 2443 y Fn(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o
+(\))630 2553 y Fo(Insert)g(y)m(ourself.)150 2707 y Fn(transpose-chars)c
+(\(C-t\))630 2817 y Fo(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g
(cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g
-(cursor,)630 3081 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m
+(cursor,)630 2926 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m
(ell.)57 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end)
-g(of)h(the)630 3191 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h
+g(of)h(the)630 3036 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h
(last)h(t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38
-b(Negativ)m(e)25 b(argumen)m(ts)630 3301 y(ha)m(v)m(e)32
-b(no)e(e\013ect.)150 3467 y Fn(transpose-words)c(\(M-t\))630
-3577 y Fo(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g
+b(Negativ)m(e)25 b(argumen)m(ts)630 3145 y(ha)m(v)m(e)32
+b(no)e(e\013ect.)150 3299 y Fn(transpose-words)c(\(M-t\))630
+3409 y Fo(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g
(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past)
-g(that)630 3687 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27
+g(that)630 3519 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27
b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i(the)f
-(line,)i(this)e(transp)s(oses)g(the)630 3796 y(last)j(t)m(w)m(o)h(w)m
-(ords)e(on)g(the)h(line.)150 3963 y Fn(upcase-word)c(\(M-u\))630
-4073 y Fo(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i
+(line,)i(this)e(transp)s(oses)g(the)630 3628 y(last)j(t)m(w)m(o)h(w)m
+(ords)e(on)g(the)h(line.)150 3782 y Fn(upcase-word)c(\(M-u\))630
+3892 y Fo(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i
(w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630
-4182 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
-(the)e(cursor.)150 4349 y Fn(downcase-word)d(\(M-l\))630
-4458 y Fo(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
+4001 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
+(the)e(cursor.)150 4155 y Fn(downcase-word)d(\(M-l\))630
+4265 y Fo(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m(t,)g(lo)m(w)m
-(ercase)630 4568 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m
-(v)m(e)i(the)f(cursor.)150 4735 y Fn(capitalize-word)26
-b(\(M-c\))630 4844 y Fo(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
+(ercase)630 4374 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m
+(v)m(e)i(the)f(cursor.)150 4528 y Fn(capitalize-word)26
+b(\(M-c\))630 4638 y Fo(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
(wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h
-(capitalize)630 4954 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
-(mo)m(v)m(e)i(the)f(cursor.)150 5121 y Fn(overwrite-mode)26
-b(\(\))630 5230 y Fo(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
+(capitalize)630 4748 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
+(mo)m(v)m(e)i(the)f(cursor.)150 4902 y Fn(overwrite-mode)26
+b(\(\))630 5011 y Fo(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
b(With)33 b(an)g(explicit)h(p)s(ositiv)m(e)g(n)m(umeric)f(argumen)m(t,)
-h(switc)m(hes)630 5340 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
+h(switc)m(hes)630 5121 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
b(With)22 b(an)g(explicit)h(non-p)s(ositiv)m(e)f(n)m(umeric)g(argumen)m
-(t,)i(switc)m(hes)e(to)p eop end
+(t,)i(switc)m(hes)e(to)630 5230 y(insert)30 b(mo)s(de.)41
+b(This)30 b(command)h(a\013ects)h(only)e Fn(emacs)f Fo(mo)s(de;)i
+Fn(vi)f Fo(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 5340
+y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31 b(call)h(to)f
+Fn(readline\(\))c Fo(starts)k(in)f(insert)g(mo)s(de.)p
+eop end
%%Page: 16 19
TeXDict begin 16 18 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(16)630 299 y(insert)30
-b(mo)s(de.)41 b(This)30 b(command)h(a\013ects)h(only)e
-Fn(emacs)f Fo(mo)s(de;)i Fn(vi)f Fo(mo)s(de)g(do)s(es)g(o)m(v)m
-(erwrite)630 408 y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31
-b(call)h(to)f Fn(readline\(\))c Fo(starts)k(in)f(insert)g(mo)s(de.)630
-539 y(In)e(o)m(v)m(erwrite)j(mo)s(de,)e(c)m(haracters)i(b)s(ound)c(to)j
+b(Command)29 b(Line)i(Editing)2107 b(16)630 299 y(In)28
+b(o)m(v)m(erwrite)j(mo)s(de,)e(c)m(haracters)i(b)s(ound)c(to)j
Fn(self-insert)c Fo(replace)k(the)g(text)g(at)g(p)s(oin)m(t)630
-648 y(rather)41 b(than)h(pushing)e(the)i(text)g(to)g(the)g(righ)m(t.)75
-b(Characters)42 b(b)s(ound)d(to)j Fn(backward-)630 758
+408 y(rather)41 b(than)h(pushing)e(the)i(text)g(to)g(the)g(righ)m(t.)75
+b(Characters)42 b(b)s(ound)d(to)j Fn(backward-)630 518
y(delete-char)27 b Fo(replace)32 b(the)e(c)m(haracter)i(b)s(efore)e(p)s
-(oin)m(t)h(with)f(a)g(space.)630 888 y(By)h(default,)f(this)h(command)f
-(is)g(un)m(b)s(ound.)150 1099 y Fc(1.4.4)63 b(Killing)42
-b(And)e(Y)-10 b(anking)150 1339 y Fn(kill-line)28 b(\(C-k\))630
-1449 y Fo(Kill)j(the)f(text)i(from)e(p)s(oin)m(t)g(to)h(the)g(end)e(of)
-i(the)f(line.)150 1599 y Fn(backward-kill-line)25 b(\(C-x)30
-b(Rubout\))630 1709 y Fo(Kill)h(bac)m(kw)m(ard)g(to)g(the)f(b)s
-(eginning)g(of)g(the)h(line.)150 1860 y Fn(unix-line-discard)26
-b(\(C-u\))630 1969 y Fo(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)
+(oin)m(t)h(with)f(a)g(space.)630 651 y(By)h(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 846 y Fd(1.4.4)63 b(Killing)42
+b(And)e(Y)-10 b(anking)150 1016 y Fn(kill-line)28 b(\(C-k\))630
+1126 y Fo(Kill)j(the)f(text)i(from)e(p)s(oin)m(t)g(to)h(the)g(end)e(of)
+i(the)f(line.)150 1281 y Fn(backward-kill-line)25 b(\(C-x)30
+b(Rubout\))630 1391 y Fo(Kill)h(bac)m(kw)m(ard)g(to)g(the)f(b)s
+(eginning)g(of)g(the)h(line.)150 1546 y Fn(unix-line-discard)26
+b(\(C-u\))630 1656 y Fo(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)
f(to)h(the)f(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150
-2120 y Fn(kill-whole-line)c(\(\))630 2230 y Fo(Kill)37
+1812 y Fn(kill-whole-line)c(\(\))630 1921 y Fo(Kill)37
b(all)g(c)m(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g
(where)f(p)s(oin)m(t)h(is.)59 b(By)36 b(default,)630
-2339 y(this)30 b(is)h(un)m(b)s(ound.)150 2490 y Fn(kill-word)d(\(M-d\))
-630 2600 y Fo(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
+2031 y(this)30 b(is)h(un)m(b)s(ound.)150 2186 y Fn(kill-word)d(\(M-d\))
+630 2296 y Fo(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
(curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 2709 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
+(the)g(end)630 2405 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fn(forward-word)p
-Fo(.)150 2860 y Fn(backward-kill-word)25 b(\(M-)1183
-2857 y Ff(h)p 1207 2804 146 4 v 1207 2860 a Fe(DEL)p
-1207 2875 V 1348 2857 a Ff(i)1378 2860 y Fn(\))630 2970
-y Fo(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
+Fo(.)150 2561 y Fn(backward-kill-word)25 b(\(M-DEL\))630
+2671 y Fo(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g
-Fn(backward-word)p Fo(.)150 3120 y Fn(unix-word-rubout)d(\(C-w\))630
-3230 y Fo(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f
+Fn(backward-word)p Fo(.)150 2826 y Fn(unix-word-rubout)d(\(C-w\))630
+2936 y Fo(Kill)32 b(the)g(w)m(ord)f(b)s(ehind)f(p)s(oin)m(t,)i(using)f
(white)h(space)g(as)g(a)g(w)m(ord)f(b)s(oundary)-8 b(.)43
-b(The)31 b(killed)630 3339 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f
-(kill-ring.)150 3490 y Fn(unix-filename-rubout)25 b(\(\))630
-3600 y Fo(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
+b(The)31 b(killed)630 3045 y(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f
+(kill-ring.)150 3201 y Fn(unix-filename-rubout)25 b(\(\))630
+3311 y Fo(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)j(using)e
(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)630
-3709 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g
-(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 3860 y Fn
-(delete-horizontal-space)24 b(\(\))630 3970 y Fo(Delete)33
+3420 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)g
+(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 3576 y Fn
+(delete-horizontal-space)24 b(\(\))630 3685 y Fo(Delete)33
b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41
-b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 4121
-y Fn(kill-region)d(\(\))630 4230 y Fo(Kill)k(the)f(text)i(in)e(the)g
+b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 3841
+y Fn(kill-region)d(\(\))630 3951 y Fo(Kill)k(the)f(text)i(in)e(the)g
(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un)
-m(b)s(ound.)150 4381 y Fn(copy-region-as-kill)25 b(\(\))630
-4490 y Fo(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
+m(b)s(ound.)150 4106 y Fn(copy-region-as-kill)25 b(\(\))630
+4216 y Fo(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f
-(a)m(w)m(a)m(y)-8 b(.)630 4600 y(By)31 b(default,)f(this)h(command)f
-(is)g(un)m(b)s(ound.)150 4751 y Fn(copy-backward-word)25
-b(\(\))630 4860 y Fo(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(a)m(w)m(a)m(y)-8 b(.)630 4325 y(By)31 b(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 4481 y Fn(copy-backward-word)25
+b(\(\))630 4590 y Fo(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)
-f(are)i(the)630 4970 y(same)31 b(as)f Fn(backward-word)p
+f(are)i(the)630 4700 y(same)31 b(as)f Fn(backward-word)p
Fo(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
-5121 y Fn(copy-forward-word)26 b(\(\))630 5230 y Fo(Cop)m(y)31
+4856 y Fn(copy-forward-word)26 b(\(\))630 4965 y Fo(Cop)m(y)31
b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h
(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630
-5340 y(same)f(as)f Fn(forward-word)p Fo(.)38 b(By)30
-b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)p eop
-end
+5075 y(same)f(as)f Fn(forward-word)p Fo(.)38 b(By)30
+b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150
+5230 y Fn(yank)f(\(C-y\))630 5340 y Fo(Y)-8 b(ank)31
+b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h
+(p)s(oin)m(t.)p eop end
%%Page: 17 20
TeXDict begin 17 19 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(17)150 299 y Fn(yank)29
-b(\(C-y\))630 408 y Fo(Y)-8 b(ank)31 b(the)f(top)h(of)g(the)f(kill)h
-(ring)f(in)m(to)i(the)e(bu\013er)g(at)h(p)s(oin)m(t.)150
-552 y Fn(yank-pop)d(\(M-y\))630 661 y Fo(Rotate)36 b(the)f(kill-ring,)i
-(and)d(y)m(ank)h(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h
-(this)f(if)h(the)g(prior)630 771 y(command)30 b(is)h
-Fn(yank)e Fo(or)h Fn(yank-pop)p Fo(.)150 971 y Fc(1.4.5)63
-b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 1207
-y Fn(digit-argument)26 b(\()p Fg(M-0)p Fn(,)j Fg(M-1)p
-Fn(,)h(...)f Fg(M--)p Fn(\))630 1317 y Fo(Add)d(this)h(digit)g(to)h
-(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new)
-f(argumen)m(t.)630 1427 y Fg(M--)j Fo(starts)i(a)g(negativ)m(e)i
-(argumen)m(t.)150 1570 y Fn(universal-argument)25 b(\(\))630
-1680 y Fo(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g
-(argumen)m(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m
-(y)f(one)630 1789 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h
-(leading)h(min)m(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
-1899 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
+b(Command)29 b(Line)i(Editing)2107 b(17)150 299 y Fn(yank-pop)28
+b(\(M-y\))630 408 y Fo(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h
+(the)f(new)g(top.)54 b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h
+(the)g(prior)630 518 y(command)30 b(is)h Fn(yank)e Fo(or)h
+Fn(yank-pop)p Fo(.)150 709 y Fd(1.4.5)63 b(Sp)s(ecifying)42
+b(Numeric)f(Argumen)m(ts)150 877 y Fn(digit-argument)26
+b(\()p Fg(M-0)p Fn(,)j Fg(M-1)p Fn(,)h(...)f Fg(M--)p
+Fn(\))630 986 y Fo(Add)d(this)h(digit)g(to)h(the)f(argumen)m(t)g
+(already)h(accum)m(ulating,)h(or)e(start)h(a)f(new)f(argumen)m(t.)630
+1096 y Fg(M--)j Fo(starts)i(a)g(negativ)m(e)i(argumen)m(t.)150
+1247 y Fn(universal-argument)25 b(\(\))630 1357 y Fo(This)g(is)g
+(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g(argumen)m(t.)40
+b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m(y)f(one)630
+1466 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h(leading)h(min)m
+(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
+1576 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
m(y)f(digits,)i(executing)f Fn(universal-argument)630
-2008 y Fo(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
+1685 y Fo(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
(otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630
-2118 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
+1795 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
-2228 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e
+1904 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e
(the)i(next)f(command)f(is)h(m)m(ultiplied)h(b)m(y)e(four.)630
-2337 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f
+2014 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f
(executing)g(this)f(function)g(the)h(\014rst)e(time)630
-2447 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e
+2124 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e
(time)i(mak)m(es)f(the)g(argumen)m(t)g(coun)m(t)h(six-)630
-2556 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h
-(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 2757 y Fc(1.4.6)63
+2233 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h
+(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 2424 y Fd(1.4.6)63
b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42
-b(Y)-10 b(ou)150 2993 y Fn(complete)28 b(\()610 2990
-y Ff(h)p 634 2937 148 4 v 634 2993 a Fe(T)-6 b(AB)p 634
-3008 V 778 2990 a Ff(i)808 2993 y Fn(\))630 3102 y Fo(A)m(ttempt)24
-b(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g(b)s(efore)f(p)s(oin)
-m(t.)39 b(The)22 b(actual)i(completion)630 3212 y(p)s(erformed)29
-b(is)h(application-sp)s(eci\014c.)42 b(The)30 b(default)h(is)f
-(\014lename)h(completion.)150 3355 y Fn(possible-completions)25
-b(\(M-?\))630 3465 y Fo(List)31 b(the)f(p)s(ossible)g(completions)i(of)
-e(the)h(text)g(b)s(efore)f(p)s(oin)m(t.)150 3608 y Fn
-(insert-completions)25 b(\(M-*\))630 3718 y Fo(Insert)30
-b(all)h(completions)h(of)f(the)g(text)g(b)s(efore)f(p)s(oin)m(t)h(that)
-g(w)m(ould)f(ha)m(v)m(e)i(b)s(een)e(generated)630 3827
-y(b)m(y)g Fn(possible-completions)p Fo(.)150 3971 y Fn(menu-complete)d
-(\(\))630 4080 y Fo(Similar)d(to)g Fn(complete)p Fo(,)f(but)h(replaces)
-g(the)g(w)m(ord)g(to)g(b)s(e)f(completed)i(with)e(a)i(single)f(matc)m
-(h)630 4190 y(from)37 b(the)h(list)h(of)f(p)s(ossible)f(completions.)64
-b(Rep)s(eated)39 b(execution)g(of)f Fn(menu-complete)630
-4300 y Fo(steps)i(through)g(the)g(list)h(of)f(p)s(ossible)g
-(completions,)k(inserting)c(eac)m(h)i(matc)m(h)f(in)f(turn.)630
-4409 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g(of)g(completions,)i(the)e
-(b)s(ell)g(is)g(rung)f(\(sub)5 b(ject)36 b(to)i(the)f(setting)630
-4519 y(of)f Fn(bell-style)p Fo(\))e(and)h(the)h(original)i(text)f(is)f
-(restored.)57 b(An)36 b(argumen)m(t)h(of)f Fd(n)f Fo(mo)m(v)m(es)i
-Fd(n)630 4628 y Fo(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
+b(Y)-10 b(ou)150 2592 y Fn(complete)28 b(\(TAB\))630
+2701 y Fo(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
+(b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
+2811 y(p)s(erformed)29 b(is)h(application-sp)s(eci\014c.)42
+b(The)30 b(default)h(is)f(\014lename)h(completion.)150
+2962 y Fn(possible-completions)25 b(\(M-?\))630 3072
+y Fo(List)31 b(the)f(p)s(ossible)g(completions)i(of)e(the)h(text)g(b)s
+(efore)f(p)s(oin)m(t.)150 3223 y Fn(insert-completions)25
+b(\(M-*\))630 3332 y Fo(Insert)30 b(all)h(completions)h(of)f(the)g
+(text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s
+(een)e(generated)630 3442 y(b)m(y)g Fn(possible-completions)p
+Fo(.)150 3593 y Fn(menu-complete)d(\(\))630 3703 y Fo(Similar)d(to)g
+Fn(complete)p Fo(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f
+(completed)i(with)e(a)i(single)f(matc)m(h)630 3812 y(from)37
+b(the)h(list)h(of)f(p)s(ossible)f(completions.)64 b(Rep)s(eated)39
+b(execution)g(of)f Fn(menu-complete)630 3922 y Fo(steps)i(through)g
+(the)g(list)h(of)f(p)s(ossible)g(completions,)k(inserting)c(eac)m(h)i
+(matc)m(h)f(in)f(turn.)630 4031 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g
+(of)g(completions,)i(the)e(b)s(ell)g(is)g(rung)f(\(sub)5
+b(ject)36 b(to)i(the)f(setting)630 4141 y(of)f Fn(bell-style)p
+Fo(\))e(and)h(the)h(original)i(text)f(is)f(restored.)57
+b(An)36 b(argumen)m(t)h(of)f Fe(n)f Fo(mo)m(v)m(es)i
+Fe(n)630 4251 y Fo(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
(matc)m(hes;)39 b(a)c(negativ)m(e)i(argumen)m(t)e(ma)m(y)g(b)s(e)f
-(used)g(to)630 4738 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
+(used)g(to)630 4360 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
(list.)65 b(This)38 b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s
-(ound)e(to)630 4845 y Ff(h)p 654 4792 V 654 4848 a Fe(T)-6
-b(AB)p 654 4863 V 798 4845 a Ff(i)828 4848 y Fo(,)30
-b(but)g(is)g(un)m(b)s(ound)e(b)m(y)i(default.)150 4991
-y Fn(delete-char-or-list)25 b(\(\))630 5101 y Fo(Deletes)k(the)e(c)m
-(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)g(b)s(eginning)g
-(or)f(end)h(of)g(the)g(line)630 5210 y(\(lik)m(e)k Fn(delete-char)p
-Fo(\).)37 b(If)29 b(at)h(the)f(end)f(of)i(the)f(line,)h(b)s(eha)m(v)m
-(es)g(iden)m(tically)h(to)e Fn(possible-)630 5320 y(completions)p
-Fo(.)38 b(This)29 b(command)h(is)h(un)m(b)s(ound)d(b)m(y)i(default.)p
-eop end
+(ound)e(to)630 4470 y Fn(TAB)p Fo(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
+(y)i(default.)150 4621 y Fn(menu-complete-backward)24
+b(\(\))630 4730 y Fo(Iden)m(tical)36 b(to)g Fn(menu-complete)p
+Fo(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g
+(p)s(ossible)630 4840 y(completions,)d(as)e(if)h Fn(menu-complete)26
+b Fo(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150
+4991 y Fn(delete-char-or-list)25 b(\(\))630 5101 y Fo(Deletes)k(the)e
+(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)g(b)s
+(eginning)g(or)f(end)h(of)g(the)g(line)630 5210 y(\(lik)m(e)k
+Fn(delete-char)p Fo(\).)37 b(If)29 b(at)h(the)f(end)f(of)i(the)f(line,)
+h(b)s(eha)m(v)m(es)g(iden)m(tically)h(to)e Fn(possible-)630
+5320 y(completions)p Fo(.)38 b(This)29 b(command)h(is)h(un)m(b)s(ound)d
+(b)m(y)i(default.)p eop end
%%Page: 18 21
TeXDict begin 18 20 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(18)150 299 y Fc(1.4.7)63
-b(Keyb)s(oard)41 b(Macros)150 545 y Fn(start-kbd-macro)26
-b(\(C-x)j(\(\))630 655 y Fo(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
+b(Command)29 b(Line)i(Editing)2107 b(18)150 299 y Fd(1.4.7)63
+b(Keyb)s(oard)41 b(Macros)150 465 y Fn(start-kbd-macro)26
+b(\(C-x)j(\(\))630 575 y Fo(Begin)i(sa)m(ving)h(the)e(c)m(haracters)i
(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)g(macro.)150
-818 y Fn(end-kbd-macro)d(\(C-x)i(\)\))630 927 y Fo(Stop)e(sa)m(ving)h
+723 y Fn(end-kbd-macro)d(\(C-x)i(\)\))630 833 y Fo(Stop)e(sa)m(ving)h
(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m(to)i(the)e(curren)m(t)g(k)m
-(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 1037
-y(de\014nition.)150 1200 y Fn(call-last-kbd-macro)c(\(C-x)k(e\))630
-1310 y Fo(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
+(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i(the)630 942
+y(de\014nition.)150 1091 y Fn(call-last-kbd-macro)c(\(C-x)k(e\))630
+1200 y Fo(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)f(macro)h
(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)630
-1419 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
-(oard.)150 1651 y Fc(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands)150
-1898 y Fn(re-read-init-file)26 b(\(C-x)j(C-r\))630 2007
+1310 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m(eyb)s
+(oard.)150 1498 y Fd(1.4.8)63 b(Some)41 b(Miscellaneous)i(Commands)150
+1664 y Fn(re-read-init-file)26 b(\(C-x)j(C-r\))630 1774
y Fo(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
-Fd(inputrc)27 b Fo(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d
-(or)i(v)-5 b(ariable)630 2117 y(assignmen)m(ts)31 b(found)e(there.)150
-2280 y Fn(abort)g(\(C-g\))630 2390 y Fo(Ab)s(ort)d(the)h(curren)m(t)f
+Fe(inputrc)27 b Fo(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d
+(or)i(v)-5 b(ariable)630 1884 y(assignmen)m(ts)31 b(found)e(there.)150
+2032 y Fn(abort)g(\(C-g\))630 2142 y Fo(Ab)s(ort)d(the)h(curren)m(t)f
(editing)h(command)f(and)g(ring)h(the)f(terminal's)h(b)s(ell)g(\(sub)5
-b(ject)26 b(to)i(the)630 2499 y(setting)j(of)g Fn(bell-style)p
-Fo(\).)150 2663 y Fn(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p
-Fg(x)p Fn(,)g(...)o(\))630 2772 y Fo(If)e(the)h(meta\014ed)g(c)m
-(haracter)h Fd(x)34 b Fo(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g
-(command)h(that)g(is)g(b)s(ound)d(to)k(the)630 2882 y(corresp)s(onding)
-g(upp)s(ercase)h(c)m(haracter.)150 3045 y Fn(prefix-meta)d(\()753
-3042 y Ff(h)p 777 2989 139 4 v 777 3045 a Fe(ESC)p 777
-3060 V 911 3042 a Ff(i)941 3045 y Fn(\))630 3155 y Fo(Metafy)39
-b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62 b(This)37
-b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g(k)m(ey)-8
-b(.)630 3264 y(T)m(yping)30 b(`)968 3261 y Ff(h)p 993
-3208 V 993 3264 a Fe(ESC)p 993 3280 V 1127 3261 a Ff(i)1187
-3264 y Fn(f)p Fo(')g(is)g(equiv)-5 b(alen)m(t)32 b(to)f(t)m(yping)g
-Fg(M-f)p Fo(.)150 3428 y Fn(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630
-3537 y Fo(Incremen)m(tal)h(undo,)f(separately)h(remem)m(b)s(ered)f(for)
-g(eac)m(h)i(line.)150 3700 y Fn(revert-line)27 b(\(M-r\))630
-3810 y Fo(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49
-b(This)32 b(is)h(lik)m(e)i(executing)f(the)f Fn(undo)f
-Fo(command)630 3920 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f
-(b)s(eginning.)150 4083 y Fn(tilde-expand)d(\(M-~\))630
-4192 y Fo(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m
-(ord.)150 4356 y Fn(set-mark)d(\(C-@\))630 4465 y Fo(Set)33
-b(the)g(mark)f(to)i(the)f(p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g
-(argumen)m(t)g(is)g(supplied,)f(the)h(mark)g(is)f(set)630
-4575 y(to)f(that)g(p)s(osition.)150 4738 y Fn(exchange-point-and-mark)
-24 b(\(C-x)29 b(C-x\))630 4848 y Fo(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)
-g(the)g(mark.)43 b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f
-(set)h(to)f(the)h(sa)m(v)m(ed)630 4957 y(p)s(osition,)f(and)e(the)i
-(old)g(cursor)e(p)s(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150
-5121 y Fn(character-search)26 b(\(C-]\))630 5230 y Fo(A)f(c)m(haracter)
-h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g
-(o)s(ccurrence)g(of)g(that)g(c)m(haracter.)630 5340 y(A)30
+b(ject)26 b(to)i(the)630 2251 y(setting)j(of)g Fn(bell-style)p
+Fo(\).)150 2400 y Fn(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p
+Fg(x)11 b Fn(,)29 b(...)o(\))630 2509 y Fo(If)e(the)h(meta\014ed)g(c)m
+(haracter)h Fe(x)34 b Fo(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g
+(command)h(that)g(is)g(b)s(ound)d(to)k(the)630 2619 y(corresp)s(onding)
+g(upp)s(ercase)h(c)m(haracter.)150 2767 y Fn(prefix-meta)d(\(ESC\))630
+2877 y Fo(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62
+b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g(k)m(ey)-8
+b(.)630 2986 y(T)m(yping)30 b(`)p Fn(ESC)g(f)p Fo(')g(is)h(equiv)-5
+b(alen)m(t)31 b(to)g(t)m(yping)g Fg(M-f)p Fo(.)150 3135
+y Fn(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 3244 y Fo(Incremen)m(tal)h
+(undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150
+3393 y Fn(revert-line)27 b(\(M-r\))630 3502 y Fo(Undo)33
+b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49 b(This)32
+b(is)h(lik)m(e)i(executing)f(the)f Fn(undo)f Fo(command)630
+3612 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(b)s(eginning.)
+150 3760 y Fn(tilde-expand)d(\(M-~\))630 3870 y Fo(P)m(erform)j(tilde)h
+(expansion)g(on)f(the)g(curren)m(t)h(w)m(ord.)150 4018
+y Fn(set-mark)d(\(C-@\))630 4128 y Fo(Set)33 b(the)g(mark)f(to)i(the)f
+(p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g
+(supplied,)f(the)h(mark)g(is)f(set)630 4237 y(to)f(that)g(p)s(osition.)
+150 4386 y Fn(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
+4495 y Fo(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)g(the)g(mark.)43
+b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f(set)h(to)f(the)h
+(sa)m(v)m(ed)630 4605 y(p)s(osition,)f(and)e(the)i(old)g(cursor)e(p)s
+(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150 4753
+y Fn(character-search)26 b(\(C-]\))630 4863 y Fo(A)f(c)m(haracter)h(is)
+f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g(o)s
+(ccurrence)g(of)g(that)g(c)m(haracter.)630 4972 y(A)30
b(negativ)m(e)j(coun)m(t)e(searc)m(hes)g(for)f(previous)g(o)s
-(ccurrences.)p eop end
+(ccurrences.)150 5121 y Fn(character-search-backwar)o(d)24
+b(\(M-C-]\))630 5230 y Fo(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s
+(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)
+g(that)630 5340 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f
+(searc)m(hes)h(for)e(subsequen)m(t)f(o)s(ccurrences.)p
+eop end
%%Page: 19 22
TeXDict begin 19 21 bop 150 -116 a Fo(Chapter)30 b(1:)41
-b(Command)29 b(Line)i(Editing)2107 b(19)150 299 y Fn
-(character-search-backwar)o(d)24 b(\(M-C-]\))630 408
-y Fo(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)
-m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)g(that)630
-518 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f(searc)m(hes)h
-(for)e(subsequen)m(t)f(o)s(ccurrences.)150 677 y Fn(insert-comment)d
-(\(M-#\))630 787 y Fo(Without)36 b(a)g(n)m(umeric)g(argumen)m(t,)h(the)
-f(v)-5 b(alue)36 b(of)g(the)g Fn(comment-begin)c Fo(v)-5
-b(ariable)36 b(is)g(in-)630 897 y(serted)c(at)g(the)g(b)s(eginning)f
-(of)h(the)f(curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m
-(t)h(is)g(supplied,)630 1006 y(this)k(command)h(acts)g(as)g(a)g
-(toggle:)55 b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g
-(of)h(the)g(line)630 1116 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
+b(Command)29 b(Line)i(Editing)2107 b(19)150 299 y Fn(skip-csi-sequence)
+26 b(\(\))630 408 y Fo(Read)i(enough)f(c)m(haracters)h(to)g(consume)f
+(a)h(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f(as)g(those)h(de\014ned)630
+518 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g(and)f(End.)60
+b(Suc)m(h)37 b(sequences)g(b)s(egin)g(with)g(a)h(Con)m(trol)g(Sequence)
+630 628 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59
+b(If)36 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fn("\\)p
+Fo(e[)p Fn(")p Fo(,)g(k)m(eys)f(pro-)630 737 y(ducing)31
+b(suc)m(h)h(sequences)g(will)h(ha)m(v)m(e)g(no)f(e\013ect)h(unless)e
+(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 847 y(command,)f
+(instead)g(of)g(inserting)g(stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f
+(editing)h(bu\013er.)44 b(This)31 b(is)630 956 y(un)m(b)s(ound)d(b)m(y)
+i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150
+1116 y Fn(insert-comment)26 b(\(M-#\))630 1225 y Fo(Without)36
+b(a)g(n)m(umeric)g(argumen)m(t,)h(the)f(v)-5 b(alue)36
+b(of)g(the)g Fn(comment-begin)c Fo(v)-5 b(ariable)36
+b(is)g(in-)630 1335 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
+(curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
+(supplied,)630 1445 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
+b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g(of)h(the)g
+(line)630 1554 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
b(alue)31 b(of)f Fn(comment-begin)p Fo(,)e(the)i(v)-5
-b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 1225
+b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 1664
y(c)m(haracters)42 b(in)d Fn(comment-begin)e Fo(are)j(deleted)h(from)f
-(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 1335
+(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 1773
y(either)31 b(case,)h(the)e(line)h(is)f(accepted)i(as)f(if)f(a)h
-(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 1494 y Fn(dump-functions)d
-(\(\))630 1604 y Fo(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
+(newline)f(had)g(b)s(een)f(t)m(yp)s(ed.)150 1933 y Fn(dump-functions)d
+(\(\))630 2042 y Fo(Prin)m(t)g(all)i(of)e(the)h(functions)f(and)g
(their)g(k)m(ey)h(bindings)e(to)j(the)e(Readline)h(output)f(stream.)630
-1714 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
+2152 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
-1823 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fd(inputrc)k
+2262 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fe(inputrc)k
Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
-(default.)150 1983 y Fn(dump-variables)26 b(\(\))630
-2092 y Fo(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
+(default.)150 2421 y Fn(dump-variables)26 b(\(\))630
+2531 y Fo(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h
-(output)f(stream.)630 2202 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
+(output)f(stream.)630 2640 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)
g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)
-m(y)g(that)630 2311 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
-Fd(inputrc)k Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
-(b)m(y)k(default.)150 2471 y Fn(dump-macros)c(\(\))630
-2580 y Fo(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
+m(y)g(that)630 2750 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
+Fe(inputrc)k Fo(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
+(b)m(y)k(default.)150 2909 y Fn(dump-macros)c(\(\))630
+3019 y Fo(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)
f(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
-2690 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
+3128 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
(supplied,)h(the)g(output)g(is)f(formatted)i(in)e(suc)m(h)h(a)630
-2800 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
-Fd(inputrc)35 b Fo(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound)
-d(b)m(y)630 2909 y(default.)150 3068 y Fn(emacs-editing-mode)e(\(C-e\))
-630 3178 y Fo(When)30 b(in)g Fn(vi)g Fo(command)g(mo)s(de,)g(this)h
+3238 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
+Fe(inputrc)35 b Fo(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound)
+d(b)m(y)630 3347 y(default.)150 3507 y Fn(emacs-editing-mode)e(\(C-e\))
+630 3616 y Fo(When)30 b(in)g Fn(vi)g Fo(command)g(mo)s(de,)g(this)h
(causes)f(a)h(switc)m(h)g(to)g Fn(emacs)e Fo(editing)i(mo)s(de.)150
-3337 y Fn(vi-editing-mode)26 b(\(M-C-j\))630 3447 y Fo(When)k(in)g
+3776 y Fn(vi-editing-mode)26 b(\(M-C-j\))630 3885 y Fo(When)k(in)g
Fn(emacs)f Fo(editing)i(mo)s(de,)f(this)h(causes)f(a)h(switc)m(h)g(to)g
-Fn(vi)f Fo(editing)h(mo)s(de.)150 3704 y Fm(1.5)68 b(Readline)47
-b(vi)e(Mo)t(de)275 3949 y Fo(While)24 b(the)g(Readline)g(library)f(do)s
-(es)h(not)g(ha)m(v)m(e)g(a)h(full)e(set)h(of)g Fn(vi)f
-Fo(editing)h(functions,)h(it)f(do)s(es)g(con)m(tain)150
-4058 y(enough)34 b(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)
-52 b(The)34 b(Readline)g Fn(vi)g Fo(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f
-(sp)s(eci\014ed)f(in)150 4168 y(the)e Fh(posix)e Fo(1003.2)k(standard.)
-275 4302 y(In)28 b(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s
-(et)m(w)m(een)d Fn(emacs)f Fo(and)g Fn(vi)h Fo(editing)g(mo)s(des,)g
-(use)g(the)g(command)150 4412 y Fg(M-C-j)36 b Fo(\(b)s(ound)h(to)h
+Fn(vi)f Fo(editing)h(mo)s(de.)150 4118 y Fm(1.5)68 b(Readline)47
+b(vi)e(Mo)t(de)150 4277 y Fo(While)32 b(the)g(Readline)g(library)f(do)s
+(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fn(vi)f
+Fo(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
+4387 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
+b(The)34 b(Readline)g Fn(vi)g Fo(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
+(eci\014ed)f(in)150 4496 y(the)e Fh(posix)e Fo(1003.2)k(standard.)275
+4631 y(In)28 b(order)g(to)i(switc)m(h)g(in)m(teractiv)m(ely)i(b)s(et)m
+(w)m(een)d Fn(emacs)f Fo(and)g Fn(vi)h Fo(editing)g(mo)s(des,)g(use)g
+(the)g(command)150 4741 y Fg(M-C-j)36 b Fo(\(b)s(ound)h(to)h
(emacs-editing-mo)s(de)i(when)d(in)g Fn(vi)h Fo(mo)s(de)f(and)g(to)i
-(vi-editing-mo)s(de)g(in)e Fn(emacs)150 4521 y Fo(mo)s(de\).)k(The)30
+(vi-editing-mo)s(de)g(in)e Fn(emacs)150 4850 y Fo(mo)s(de\).)k(The)30
b(Readline)h(default)f(is)g Fn(emacs)f Fo(mo)s(de.)275
-4656 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fn(vi)f
+4985 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fn(vi)f
Fo(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s
-(de,)g(as)h(if)f(y)m(ou)150 4765 y(had)c(t)m(yp)s(ed)g(an)g(`)p
-Fn(i)p Fo('.)39 b(Pressing)1215 4762 y Ff(h)p 1239 4709
-139 4 v 1239 4765 a Fe(ESC)p 1239 4781 V 1373 4762 a
-Ff(i)1429 4765 y Fo(switc)m(hes)27 b(y)m(ou)g(in)m(to)g(`command')f(mo)
-s(de,)h(where)f(y)m(ou)h(can)f(edit)h(the)150 4875 y(text)35
-b(of)f(the)g(line)g(with)f(the)h(standard)f Fn(vi)g Fo(mo)m(v)m(emen)m
-(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g(history)f(lines)h(with)150
-4985 y(`)p Fn(k)p Fo(')d(and)e(subsequen)m(t)h(lines)h(with)f(`)p
-Fn(j)p Fo(',)g(and)g(so)h(forth.)p eop end
+(de,)g(as)h(if)f(y)m(ou)150 5094 y(had)f(t)m(yp)s(ed)g(an)g(`)p
+Fn(i)p Fo('.)41 b(Pressing)29 b Fn(ESC)f Fo(switc)m(hes)i(y)m(ou)g(in)m
+(to)h(`command')e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150
+5204 y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f
+Fn(vi)g Fo(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g
+(history)f(lines)h(with)150 5313 y(`)p Fn(k)p Fo(')d(and)e(subsequen)m
+(t)h(lines)h(with)f(`)p Fn(j)p Fo(',)g(and)g(so)h(forth.)p
+eop end
%%Page: 20 23
TeXDict begin 20 22 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(20)150 299 y Fk(App)t(endix)52 b(A)40 b(GNU)54 b(F)-13
-b(ree)53 b(Do)t(cumen)l(tation)e(License)1396 502 y Fo(V)-8
-b(ersion)31 b(1.2,)h(No)m(v)m(em)m(b)s(er)g(2002)390
+b(20)150 299 y Fk(App)t(endix)52 b(A)81 b(GNU)54 b(F)-13
+b(ree)53 b(Do)t(cumen)l(tation)e(License)1359 502 y Fo(V)-8
+b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fl(\015)e
-Fo(2000,2001,2002)36 b(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
-b(oundation,)32 b(Inc.)390 745 y(51)f(F)-8 b(ranklin)31
-b(St,)f(Fifth)h(Flo)s(or,)g(Boston,)h(MA)61 b(02110-1301,)35
-b(USA)390 964 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h(cop)m(y)g
-(and)f(distribute)g(v)m(erbatim)h(copies)390 1074 y(of)g(this)f
-(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f(is)f(not)h(allo)m
-(w)m(ed.)199 1207 y(0.)61 b(PREAMBLE)330 1340 y(The)37
-b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g(a)g(man)m
-(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
-1450 y(useful)29 b(do)s(cumen)m(t)h Fd(free)36 b Fo(in)29
+Fo(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 745
+y Fn(http://fsf.org/)390 964 y Fo(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
+(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
+1074 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
+(is)f(not)h(allo)m(w)m(ed.)199 1207 y(0.)61 b(PREAMBLE)330
+1340 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
+(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
+1450 y(useful)29 b(do)s(cumen)m(t)h Fe(free)36 b Fo(in)29
b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
(the)e(e\013ectiv)m(e)j(freedom)330 1559 y(to)f(cop)m(y)g(and)f
(redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i
@@ -4649,479 +4399,545 @@ b(arian)m(t.)46 b(The)31 b(Do)s(cumen)m(t)i(ma)m(y)f(con)m(tain)i(zero)
e(In)m(v)-5 b(arian)m(t)330 518 y(Sections.)39 b(If)25
b(the)f(Do)s(cumen)m(t)i(do)s(es)e(not)h(iden)m(tify)g(an)m(y)g(In)m(v)
-5 b(arian)m(t)25 b(Sections)h(then)e(there)h(are)g(none.)330
-655 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
+669 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
g(passages)g(of)g(text)g(that)h(are)f(listed,)i(as)d(F)-8
-b(ron)m(t-Co)m(v)m(er)330 765 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
+b(ron)m(t-Co)m(v)m(er)330 778 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g(the)f
-(Do)s(cumen)m(t)h(is)f(released)g(under)330 874 y(this)h(License.)40
+(Do)s(cumen)m(t)h(is)f(released)g(under)330 888 y(this)h(License.)40
b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29 b(T)-8 b(ext)26
b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a)g(Bac)m(k-Co)m
-(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 984 y(b)s(e)k(at)h(most)g(25)g(w)m
-(ords.)330 1121 y(A)36 b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g
+(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 998 y(b)s(e)k(at)h(most)g(25)g(w)m
+(ords.)330 1148 y(A)36 b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g
(the)f(Do)s(cumen)m(t)h(means)g(a)g(mac)m(hine-readable)h(cop)m(y)-8
-b(,)38 b(represen)m(ted)330 1230 y(in)d(a)h(format)g(whose)g(sp)s
+b(,)38 b(represen)m(ted)330 1258 y(in)d(a)h(format)g(whose)g(sp)s
(eci\014cation)g(is)g(a)m(v)-5 b(ailable)38 b(to)f(the)f(general)g
-(public,)h(that)f(is)g(suitable)g(for)330 1340 y(revising)c(the)g(do)s
+(public,)h(that)f(is)g(suitable)g(for)330 1367 y(revising)c(the)g(do)s
(cumen)m(t)f(straigh)m(tforw)m(ardly)i(with)e(generic)i(text)g(editors)
-f(or)f(\(for)h(images)h(com-)330 1450 y(p)s(osed)23 b(of)h(pixels\))g
+f(or)f(\(for)h(images)h(com-)330 1477 y(p)s(osed)23 b(of)h(pixels\))g
(generic)h(pain)m(t)f(programs)g(or)f(\(for)h(dra)m(wings\))g(some)g
-(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1559
+(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1587
y(editor,)k(and)f(that)g(is)g(suitable)h(for)f(input)f(to)i(text)g
(formatters)f(or)g(for)g(automatic)i(translation)f(to)330
-1669 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input)
+1696 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input)
g(to)i(text)g(formatters.)40 b(A)27 b(cop)m(y)g(made)g(in)g(an)g
-(otherwise)330 1778 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g
+(otherwise)330 1806 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g
(whose)f(markup,)i(or)e(absence)h(of)g(markup,)g(has)g(b)s(een)f
-(arranged)g(to)330 1888 y(th)m(w)m(art)27 b(or)g(discourage)g
+(arranged)g(to)330 1915 y(th)m(w)m(art)27 b(or)g(discourage)g
(subsequen)m(t)f(mo)s(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8
-b(ransparen)m(t.)39 b(An)27 b(image)330 1998 y(format)35
+b(ransparen)m(t.)39 b(An)27 b(image)330 2025 y(format)35
b(is)f(not)h(T)-8 b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g
(substan)m(tial)h(amoun)m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g
-(is)330 2107 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i
-(\\Opaque".)330 2244 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)
+(is)330 2134 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i
+(\\Opaque".)330 2285 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)
-8 b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fh(asci)r(i)g
-Fo(without)330 2354 y(markup,)41 b(T)-8 b(exinfo)40 b(input)f(format,)j
-(LaT)1775 2373 y(E)1826 2354 y(X)d(input)g(format,)k
-Fh(sgml)c Fo(or)g Fh(xml)g Fo(using)g(a)h(publicly)330
-2463 y(a)m(v)-5 b(ailable)34 b Fh(dtd)p Fo(,)d(and)g
-(standard-conforming)g(simple)h Fh(html)p Fo(,)f(P)m(ostScript)h(or)f
-Fh(pdf)g Fo(designed)g(for)330 2573 y(h)m(uman)37 b(mo)s(di\014cation.)
-65 b(Examples)38 b(of)g(transparen)m(t)g(image)i(formats)e(include)g
-Fh(png)p Fo(,)i Fh(x)n(cf)e Fo(and)330 2682 y Fh(jpg)p
-Fo(.)63 b(Opaque)38 b(formats)g(include)g(proprietary)g(formats)g(that)
-h(can)f(b)s(e)g(read)g(and)f(edited)i(only)330 2792 y(b)m(y)g
-(proprietary)g(w)m(ord)g(pro)s(cessors,)j Fh(sgml)c Fo(or)i
-Fh(xml)e Fo(for)i(whic)m(h)f(the)g Fh(dtd)g Fo(and/or)g(pro)s(cessing)
-330 2902 y(to)s(ols)32 b(are)f(not)g(generally)h(a)m(v)-5
-b(ailable,)34 b(and)c(the)h(mac)m(hine-generated)i Fh(html)p
-Fo(,)d(P)m(ostScript)i(or)f Fh(pdf)330 3011 y Fo(pro)s(duced)e(b)m(y)h
-(some)h(w)m(ord)f(pro)s(cessors)g(for)g(output)g(purp)s(oses)e(only)-8
-b(.)330 3148 y(The)34 b(\\Title)h(P)m(age")i(means,)e(for)f(a)h(prin)m
-(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f(itself,)h(plus)e(suc)m(h)f
-(follo)m(wing)330 3258 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g
-(legibly)-8 b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h
-(app)s(ear)f(in)h(the)330 3367 y(title)g(page.)40 b(F)-8
-b(or)28 b(w)m(orks)e(in)g(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h
-(an)m(y)e(title)j(page)e(as)g(suc)m(h,)g(\\Title)h(P)m(age")330
-3477 y(means)j(the)f(text)i(near)e(the)h(most)g(prominen)m(t)g(app)s
-(earance)f(of)h(the)g(w)m(ork's)g(title,)h(preceding)f(the)330
-3587 y(b)s(eginning)f(of)g(the)h(b)s(o)s(dy)e(of)h(the)h(text.)330
-3724 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g
+Fo(without)330 2395 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j
+(LaT)1759 2414 y(E)1810 2395 y(X)e(input)f(format,)j
+Fc(SGML)f Fo(or)f Fc(XML)g Fo(using)g(a)g(publicly)330
+2504 y(a)m(v)-5 b(ailable)42 b Fc(DTD)p Fo(,)g(and)d
+(standard-conforming)h(simple)g Fc(HTML)p Fo(,)g(P)m(ostScript)h(or)f
+Fc(PDF)g Fo(designed)330 2614 y(for)e(h)m(uman)g(mo)s(di\014cation.)65
+b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g
+Fc(PNG)p Fo(,)h Fc(X)n(CF)330 2724 y Fo(and)h Fc(JPG)p
+Fo(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can)
+f(b)s(e)f(read)g(and)h(edited)330 2833 y(only)54 b(b)m(y)f(proprietary)
+h(w)m(ord)f(pro)s(cessors,)59 b Fc(SGML)54 b Fo(or)f
+Fc(XML)h Fo(for)g(whic)m(h)f(the)h Fc(DTD)g Fo(and/or)330
+2943 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5
+b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j
+Fc(HTML)p Fo(,)330 3052 y(P)m(ostScript)31 b(or)f Fc(PDF)h
+Fo(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output)
+g(purp)s(oses)f(only)-8 b(.)330 3203 y(The)34 b(\\Title)h(P)m(age")i
+(means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f
+(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3313 y(pages)28
+b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30
+b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f(in)h
+(the)330 3422 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g
+(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e
+(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3532 y(means)j(the)f(text)i
+(near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m
+(ork's)g(title,)h(preceding)f(the)330 3641 y(b)s(eginning)f(of)g(the)h
+(b)s(o)s(dy)e(of)h(the)h(text.)330 3792 y(The)j(\\publisher")g(means)h
+(an)m(y)f(p)s(erson)g(or)h(en)m(tit)m(y)h(that)f(distributes)f(copies)i
+(of)e(the)h(Do)s(cumen)m(t)330 3902 y(to)c(the)g(public.)330
+4052 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g
(subunit)e(of)h(the)h(Do)s(cumen)m(t)h(whose)e(title)i(either)330
-3833 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m
+4162 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m
(theses)i(follo)m(wing)g(text)g(that)f(translates)h(XYZ)e(in)330
-3943 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g
+4271 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g
(sp)s(eci\014c)g(section)h(name)f(men)m(tioned)h(b)s(elo)m(w,)g(suc)m
-(h)330 4052 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e
+(h)330 4381 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e
(\\Endorsemen)m(ts",)e(or)f(\\History".\))42 b(T)-8 b(o)29
-b(\\Preserv)m(e)330 4162 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g
+b(\\Preserv)m(e)330 4491 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g
(section)g(when)f(y)m(ou)h(mo)s(dify)e(the)i(Do)s(cumen)m(t)h(means)e
-(that)h(it)g(remains)g(a)330 4271 y(section)e(\\En)m(titled)f(XYZ")g
-(according)g(to)g(this)g(de\014nition.)330 4408 y(The)c(Do)s(cumen)m(t)
+(that)h(it)g(remains)g(a)330 4600 y(section)e(\\En)m(titled)f(XYZ")g
+(according)g(to)g(this)g(de\014nition.)330 4751 y(The)c(Do)s(cumen)m(t)
i(ma)m(y)f(include)f(W)-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)
-g(the)g(notice)h(whic)m(h)e(states)i(that)330 4518 y(this)34
+g(the)g(notice)h(whic)m(h)e(states)i(that)330 4861 y(this)34
b(License)g(applies)g(to)h(the)f(Do)s(cumen)m(t.)52 b(These)33
b(W)-8 b(arran)m(t)m(y)36 b(Disclaimers)f(are)g(considered)e(to)330
-4628 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j
+4970 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j
(but)d(only)h(as)g(regards)f(disclaiming)i(w)m(arran)m(ties:)330
-4737 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8
+5080 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8
b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g
-(and)f(has)h(no)330 4847 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
-(this)f(License.)199 4984 y(2.)61 b(VERBA)-8 b(TIM)31
-b(COPYING)330 5121 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e
-(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g
-(commercially)h(or)330 5230 y(noncommercially)-8 b(,)48
-b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42
-b(cop)m(yrigh)m(t)i(notices,)j(and)42 b(the)h(license)330
-5340 y(notice)37 b(sa)m(ying)g(this)e(License)i(applies)e(to)i(the)f
-(Do)s(cumen)m(t)g(are)g(repro)s(duced)e(in)i(all)g(copies,)j(and)p
-eop end
+(and)f(has)h(no)330 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
+(this)f(License.)199 5340 y(2.)61 b(VERBA)-8 b(TIM)31
+b(COPYING)p eop end
%%Page: 22 25
TeXDict begin 22 24 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(22)330 299 y(that)27 b(y)m(ou)g(add)f(no)h(other)f(conditions)h
-(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f(License.)40
-b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330 408 y(tec)m(hnical)35
-b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h(the)f(reading)g(or)g
-(further)e(cop)m(ying)j(of)f(the)g(copies)330 518 y(y)m(ou)25
-b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28
+b(22)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
+(or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
+b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
+(and)42 b(the)h(license)330 518 y(notice)37 b(sa)m(ying)g(this)e
+(License)i(applies)e(to)i(the)f(Do)s(cumen)m(t)g(are)g(repro)s(duced)e
+(in)i(all)g(copies,)j(and)330 628 y(that)27 b(y)m(ou)g(add)f(no)h
+(other)f(conditions)h(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f
+(License.)40 b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330
+737 y(tec)m(hnical)35 b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h
+(the)f(reading)g(or)g(further)e(cop)m(ying)j(of)f(the)g(copies)330
+847 y(y)m(ou)25 b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28
b(y)m(ou)d(ma)m(y)g(accept)h(comp)s(ensation)f(in)f(exc)m(hange)j(for)d
-(copies.)330 628 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f
+(copies.)330 956 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f
(n)m(um)m(b)s(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g
-(the)f(conditions)330 737 y(in)e(section)i(3.)330 883
+(the)f(conditions)330 1066 y(in)e(section)i(3.)330 1200
y(Y)-8 b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g
(conditions)g(stated)h(ab)s(o)m(v)m(e,)i(and)c(y)m(ou)h(ma)m(y)g
-(publicly)330 993 y(displa)m(y)31 b(copies.)199 1139
-y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1285 y(If)25
+(publicly)330 1310 y(displa)m(y)31 b(copies.)199 1443
+y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1577 y(If)25
b(y)m(ou)g(publish)f(prin)m(ted)g(copies)i(\(or)g(copies)g(in)f(media)g
(that)h(commonly)g(ha)m(v)m(e)g(prin)m(ted)f(co)m(v)m(ers\))i(of)330
-1395 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
+1687 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
(100,)j(and)d(the)h(Do)s(cumen)m(t's)h(license)f(notice)h(requires)330
-1504 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
+1797 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
(the)e(copies)h(in)f(co)m(v)m(ers)i(that)f(carry)-8 b(,)36
-b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1614 y(these)j(Co)m(v)m
+b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1906 y(these)j(Co)m(v)m
(er)g(T)-8 b(exts:)59 b(F)-8 b(ron)m(t-Co)m(v)m(er)41
b(T)-8 b(exts)40 b(on)f(the)g(fron)m(t)g(co)m(v)m(er,)44
b(and)38 b(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts)40 b(on)330
-1724 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
+2016 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
m(ust)e(also)h(clearly)g(and)f(legibly)h(iden)m(tify)f(y)m(ou)h(as)f
-(the)h(publisher)330 1833 y(of)k(these)h(copies.)53 b(The)34
+(the)h(publisher)330 2125 y(of)k(these)h(copies.)53 b(The)34
b(fron)m(t)h(co)m(v)m(er)h(m)m(ust)e(presen)m(t)g(the)h(full)f(title)i
-(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 1943 y(equally)e
+(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2235 y(equally)e
(prominen)m(t)e(and)g(visible.)43 b(Y)-8 b(ou)31 b(ma)m(y)g(add)g
(other)g(material)h(on)f(the)g(co)m(v)m(ers)h(in)e(addition.)330
-2052 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
+2345 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
m(ers,)i(as)d(long)h(as)g(they)f(preserv)m(e)g(the)h(title)g(of)g(the)
-330 2162 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
+330 2454 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
(b)s(e)g(treated)h(as)f(v)m(erbatim)h(cop)m(ying)g(in)f(other)330
-2271 y(resp)s(ects.)330 2418 y(If)32 b(the)h(required)f(texts)i(for)e
+2564 y(resp)s(ects.)330 2698 y(If)32 b(the)h(required)f(texts)i(for)e
(either)h(co)m(v)m(er)i(are)e(to)s(o)g(v)m(oluminous)g(to)g(\014t)g
-(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2527 y(the)h(\014rst)f
+(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2807 y(the)h(\014rst)f
(ones)h(listed)g(\(as)h(man)m(y)f(as)g(\014t)g(reasonably\))g(on)g(the)
g(actual)h(co)m(v)m(er,)h(and)e(con)m(tin)m(ue)h(the)330
-2637 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 2783
+2917 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3051
y(If)27 b(y)m(ou)g(publish)e(or)i(distribute)g(Opaque)f(copies)i(of)f
(the)h(Do)s(cumen)m(t)f(n)m(um)m(b)s(ering)f(more)i(than)e(100,)330
-2892 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
+3160 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
(T)-8 b(ransparen)m(t)28 b(cop)m(y)h(along)g(with)e(eac)m(h)i(Opaque)
-330 3002 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
+330 3270 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
(Opaque)e(cop)m(y)i(a)g(computer-net)m(w)m(ork)g(lo)s(cation)h(from)d
-(whic)m(h)330 3112 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
+(whic)m(h)330 3380 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
(has)h(access)i(to)f(do)m(wnload)f(using)g(public-standard)f(net)m(w)m
-(ork)330 3221 y(proto)s(cols)40 b(a)f(complete)h(T)-8
+(ork)330 3489 y(proto)s(cols)40 b(a)f(complete)h(T)-8
b(ransparen)m(t)39 b(cop)m(y)g(of)g(the)h(Do)s(cumen)m(t,)i(free)d(of)g
-(added)f(material.)67 b(If)330 3331 y(y)m(ou)39 b(use)g(the)g(latter)h
+(added)f(material.)67 b(If)330 3599 y(y)m(ou)39 b(use)g(the)g(latter)h
(option,)h(y)m(ou)f(m)m(ust)e(tak)m(e)j(reasonably)e(pruden)m(t)e
-(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3440 y(distribution)f(of)g
+(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3708 y(distribution)f(of)g
(Opaque)g(copies)h(in)e(quan)m(tit)m(y)-8 b(,)43 b(to)38
b(ensure)g(that)h(this)f(T)-8 b(ransparen)m(t)38 b(cop)m(y)h(will)330
-3550 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
+3818 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
(cation)h(un)m(til)e(at)h(least)h(one)e(y)m(ear)h(after)g(the)f(last)h
-(time)330 3660 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
+(time)330 3927 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
(\(directly)g(or)e(through)g(y)m(our)h(agen)m(ts)h(or)f(retailers\))h
-(of)f(that)330 3769 y(edition)31 b(to)g(the)g(public.)330
-3915 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
+(of)f(that)330 4037 y(edition)31 b(to)g(the)g(public.)330
+4171 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
(con)m(tact)h(the)f(authors)f(of)h(the)g(Do)s(cumen)m(t)g(w)m(ell)330
-4025 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
+4281 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
(er)d(of)i(copies,)h(to)f(giv)m(e)h(them)f(a)g(c)m(hance)h(to)f(pro)m
-(vide)g(y)m(ou)330 4134 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
-(the)f(Do)s(cumen)m(t.)199 4281 y(4.)61 b(MODIFICA)-8
-b(TIONS)330 4427 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
+(vide)g(y)m(ou)330 4390 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
+(the)f(Do)s(cumen)m(t.)199 4524 y(4.)61 b(MODIFICA)-8
+b(TIONS)330 4658 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
h(Mo)s(di\014ed)f(V)-8 b(ersion)26 b(of)g(the)g(Do)s(cumen)m(t)g(under)
-e(the)h(conditions)330 4536 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
+e(the)h(conditions)330 4768 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
m(e,)k(pro)m(vided)20 b(that)i(y)m(ou)f(release)i(the)e(Mo)s(di\014ed)f
-(V)-8 b(ersion)22 b(under)d(precisely)330 4646 y(this)29
+(V)-8 b(ersion)22 b(under)d(precisely)330 4877 y(this)29
b(License,)h(with)f(the)g(Mo)s(di\014ed)f(V)-8 b(ersion)30
b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
-(licensing)330 4755 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
+(licensing)330 4987 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
(the)f(Mo)s(di\014ed)f(V)-8 b(ersion)35 b(to)g(who)s(ev)m(er)f(p)s
-(ossesses)f(a)i(cop)m(y)g(of)330 4865 y(it.)41 b(In)30
+(ossesses)f(a)i(cop)m(y)g(of)330 5096 y(it.)41 b(In)30
b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
-(di\014ed)e(V)-8 b(ersion:)357 5011 y(A.)60 b(Use)33
+(di\014ed)e(V)-8 b(ersion:)357 5230 y(A.)60 b(Use)33
b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e
(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)510
-5121 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
+5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
-b(,)510 5230 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
-(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
-h(title)h(as)510 5340 y(a)e(previous)f(v)m(ersion)g(if)h(the)f
-(original)i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s
-(ermission.)p eop end
+b(,)p eop end
%%Page: 23 26
TeXDict begin 23 25 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(23)360 299 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d
-(authors,)h(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s
-(onsible)c(for)510 408 y(authorship)c(of)h(the)h(mo)s(di\014cations)f
-(in)g(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i
-(least)h(\014v)m(e)510 518 y(of)c(the)g(principal)g(authors)f(of)i(the)
-f(Do)s(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g
-(has)g(few)m(er)510 628 y(than)30 b(\014v)m(e\),)h(unless)f(they)h
-(release)g(y)m(ou)g(from)f(this)g(requiremen)m(t.)359
-766 y(C.)60 b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g
-(the)g(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
-b(as)f(the)510 876 y(publisher.)355 1015 y(D.)61 b(Preserv)m(e)31
+b(23)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
+h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
+i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
+545 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h
+(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c
+(for)510 655 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g
+(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h
+(\014v)m(e)510 765 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s
+(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g
+(few)m(er)510 874 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g
+(y)m(ou)g(from)f(this)g(requiremen)m(t.)359 1011 y(C.)60
+b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g(the)g
+(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
+b(as)f(the)510 1121 y(publisher.)355 1258 y(D.)61 b(Preserv)m(e)31
b(all)g(the)g(cop)m(yrigh)m(t)h(notices)f(of)g(the)f(Do)s(cumen)m(t.)
-363 1154 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
+363 1395 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
(notice)f(for)g(y)m(our)f(mo)s(di\014cations)g(adjacen)m(t)i(to)f(the)g
-(other)510 1263 y(cop)m(yrigh)m(t)g(notices.)365 1402
+(other)510 1504 y(cop)m(yrigh)m(t)g(notices.)365 1641
y(F.)61 b(Include,)28 b(immediately)h(after)f(the)h(cop)m(yrigh)m(t)g
(notices,)h(a)e(license)h(notice)g(giving)g(the)f(public)510
-1512 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
+1751 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
b(ersion)25 b(under)e(the)i(terms)f(of)h(this)f(License,)j(in)d(the)g
-(form)510 1621 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
-1760 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
+(form)510 1861 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
+1998 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
(full)g(lists)g(of)g(In)m(v)-5 b(arian)m(t)23 b(Sections)h(and)e
-(required)g(Co)m(v)m(er)510 1870 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
-(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2008
+(required)g(Co)m(v)m(er)510 2107 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
+(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2244
y(H.)60 b(Include)30 b(an)g(unaltered)g(cop)m(y)h(of)g(this)f(License.)
-392 2147 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
+392 2381 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
(\\History",)h(Preserv)m(e)f(its)f(Title,)i(and)d(add)h(to)h(it)f(an)g
-(item)510 2257 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
+(item)510 2491 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
(authors,)i(and)e(publisher)f(of)j(the)f(Mo)s(di\014ed)f(V)-8
-b(ersion)510 2366 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
+b(ersion)510 2600 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
b(If)31 b(there)h(is)f(no)g(section)i(En)m(titled)f(\\History")h(in)e
-(the)g(Do)s(cu-)510 2476 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
+(the)g(Do)s(cu-)510 2710 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
(title,)i(y)m(ear,)g(authors,)f(and)e(publisher)f(of)i(the)g(Do)s
-(cumen)m(t)510 2586 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
+(cumen)m(t)510 2819 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
(then)d(add)g(an)g(item)g(describing)g(the)g(Mo)s(di\014ed)g(V)-8
-b(ersion)37 b(as)510 2695 y(stated)31 b(in)f(the)h(previous)f(sen)m
-(tence.)378 2834 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
+b(ersion)37 b(as)510 2929 y(stated)31 b(in)f(the)h(previous)f(sen)m
+(tence.)378 3066 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
(cation,)i(if)d(an)m(y)-8 b(,)34 b(giv)m(en)f(in)g(the)f(Do)s(cumen)m
-(t)h(for)g(public)e(access)j(to)510 2944 y(a)e(T)-8 b(ransparen)m(t)30
+(t)h(for)g(public)e(access)j(to)510 3176 y(a)e(T)-8 b(ransparen)m(t)30
b(cop)m(y)i(of)g(the)f(Do)s(cumen)m(t,)h(and)f(lik)m(ewise)h(the)g(net)
-m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3053 y(the)g(Do)s(cumen)m
+m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3285 y(the)g(Do)s(cumen)m
(t)g(for)g(previous)f(v)m(ersions)h(it)g(w)m(as)g(based)f(on.)45
-b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3163
+b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3395
y(\\History")27 b(section.)40 b(Y)-8 b(ou)25 b(ma)m(y)h(omit)g(a)f(net)
m(w)m(ork)h(lo)s(cation)g(for)f(a)h(w)m(ork)f(that)g(w)m(as)h
-(published)510 3272 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
+(published)510 3504 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
(the)h(Do)s(cumen)m(t)h(itself,)h(or)d(if)h(the)g(original)h(publisher)
-d(of)i(the)510 3382 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
-(ermission.)354 3521 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
+d(of)i(the)510 3614 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
+(ermission.)354 3751 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
(titled)h(\\Ac)m(kno)m(wledgemen)m(ts")i(or)d(\\Dedications",)k
-(Preserv)m(e)c(the)g(Title)510 3630 y(of)j(the)f(section,)j(and)d
+(Preserv)m(e)c(the)g(Title)510 3861 y(of)j(the)f(section,)j(and)d
(preserv)m(e)h(in)f(the)h(section)g(all)h(the)e(substance)h(and)f(tone)
-h(of)f(eac)m(h)i(of)f(the)510 3740 y(con)m(tributor)k(ac)m(kno)m
+h(of)f(eac)m(h)i(of)f(the)510 3970 y(con)m(tributor)k(ac)m(kno)m
(wledgemen)m(ts)i(and/or)d(dedications)h(giv)m(en)h(therein.)368
-3879 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
+4107 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
b(arian)m(t)36 b(Sections)g(of)f(the)h(Do)s(cumen)m(t,)h(unaltered)f
-(in)f(their)g(text)i(and)510 3988 y(in)f(their)g(titles.)58
+(in)f(their)g(text)i(and)510 4217 y(in)f(their)g(titles.)58
b(Section)37 b(n)m(um)m(b)s(ers)d(or)i(the)g(equiv)-5
b(alen)m(t)38 b(are)e(not)g(considered)g(part)g(of)g(the)510
-4098 y(section)c(titles.)341 4237 y(M.)61 b(Delete)33
+4326 y(section)c(titles.)341 4463 y(M.)61 b(Delete)33
b(an)m(y)e(section)h(En)m(titled)f(\\Endorsemen)m(ts".)42
b(Suc)m(h)30 b(a)i(section)f(ma)m(y)h(not)f(b)s(e)f(included)510
-4346 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
-4485 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
+4573 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
+4710 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
(to)g(b)s(e)f(En)m(titled)h(\\Endorsemen)m(ts")g(or)f(to)h(con\015ict)g
-(in)510 4595 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
-b(Section.)354 4734 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 4902 y(If)h(the)g(Mo)s(di\014ed)g
+(in)510 4819 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
+b(Section.)354 4956 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
+b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g
(V)-8 b(ersion)34 b(includes)f(new)g(fron)m(t-matter)i(sections)f(or)f
-(app)s(endices)g(that)h(qualify)330 5011 y(as)28 b(Secondary)g
+(app)s(endices)g(that)h(qualify)330 5230 y(as)28 b(Secondary)g
(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
-(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5121 y(y)m(our)k(option)h
+(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5340 y(y)m(our)k(option)h
(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
-b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330
-5230 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36
-b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36
-b(license)g(notice.)57 b(These)330 5340 y(titles)32 b(m)m(ust)e(b)s(e)g
-(distinct)h(from)e(an)m(y)i(other)g(section)g(titles.)p
+b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
eop end
%%Page: 24 27
TeXDict begin 24 26 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(24)330 299 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)i(En)m(titled)
-f(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g(nothing)g(but)
-330 408 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s(di\014ed)g(V)-8
-b(ersion)31 b(b)m(y)e(v)-5 b(arious)30 b(parties|for)g(example,)g
-(statemen)m(ts)i(of)330 518 y(p)s(eer)27 b(review)g(or)g(that)h(the)f
-(text)i(has)d(b)s(een)h(appro)m(v)m(ed)g(b)m(y)g(an)h(organization)h
-(as)e(the)h(authoritativ)m(e)330 628 y(de\014nition)i(of)h(a)f
-(standard.)330 757 y(Y)-8 b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g
-(up)e(to)i(\014v)m(e)g(w)m(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)
-30 b(T)-8 b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330
-867 y(to)g(25)g(w)m(ords)e(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8
-b(ext,)29 b(to)f(the)f(end)f(of)i(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8
-b(exts)27 b(in)g(the)h(Mo)s(di\014ed)330 976 y(V)-8 b(ersion.)58
-b(Only)35 b(one)h(passage)h(of)f(F)-8 b(ron)m(t-Co)m(v)m(er)38
-b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m(k-Co)m(v)m(er)j(T)-8
-b(ext)36 b(ma)m(y)h(b)s(e)330 1086 y(added)27 b(b)m(y)g(\(or)h(through)
-f(arrangemen)m(ts)h(made)g(b)m(y\))g(an)m(y)g(one)f(en)m(tit)m(y)-8
-b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)g(already)330 1196
-y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g(same)h(co)m(v)m
-(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m(y)g(arrangemen)m
-(t)330 1305 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m(y)i(y)m(ou)f(are)f
-(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g(not)f(add)g
-(another;)j(but)330 1415 y(y)m(ou)c(ma)m(y)h(replace)g(the)f(old)g
-(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
-(publisher)f(that)330 1524 y(added)e(the)g(old)h(one.)330
-1654 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
+b(24)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
+b(ersion's)36 b(license)g(notice.)57 b(These)330 408
+y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
+(section)g(titles.)330 551 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)
+i(En)m(titled)f(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g
+(nothing)g(but)330 661 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s
+(di\014ed)g(V)-8 b(ersion)31 b(b)m(y)e(v)-5 b(arious)30
+b(parties|for)g(example,)g(statemen)m(ts)i(of)330 770
+y(p)s(eer)27 b(review)g(or)g(that)h(the)f(text)i(has)d(b)s(een)h(appro)
+m(v)m(ed)g(b)m(y)g(an)h(organization)h(as)e(the)h(authoritativ)m(e)330
+880 y(de\014nition)i(of)h(a)f(standard.)330 1022 y(Y)-8
+b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g(up)e(to)i(\014v)m(e)g(w)m
+(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)30 b(T)-8
+b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330 1132 y(to)g(25)g(w)m(ords)e
+(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext,)29 b(to)f(the)f(end)f(of)i
+(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8 b(exts)27 b(in)g(the)h(Mo)s
+(di\014ed)330 1241 y(V)-8 b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f
+(F)-8 b(ron)m(t-Co)m(v)m(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m
+(k-Co)m(v)m(er)j(T)-8 b(ext)36 b(ma)m(y)h(b)s(e)330 1351
+y(added)27 b(b)m(y)g(\(or)h(through)f(arrangemen)m(ts)h(made)g(b)m(y\))
+g(an)m(y)g(one)f(en)m(tit)m(y)-8 b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)
+g(already)330 1461 y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g
+(same)h(co)m(v)m(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m
+(y)g(arrangemen)m(t)330 1570 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m
+(y)i(y)m(ou)f(are)f(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g
+(not)f(add)g(another;)j(but)330 1680 y(y)m(ou)c(ma)m(y)h(replace)g(the)
+f(old)g(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
+(publisher)f(that)330 1789 y(added)e(the)g(old)h(one.)330
+1932 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
(cumen)m(t)h(do)g(not)f(b)m(y)h(this)f(License)h(giv)m(e)h(p)s
-(ermission)330 1763 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
+(ermission)330 2041 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
(for)h(or)f(to)h(assert)g(or)f(imply)g(endorsemen)m(t)g(of)h(an)m(y)g
-(Mo)s(di\014ed)330 1873 y(V)-8 b(ersion.)199 2002 y(5.)61
-b(COMBINING)31 b(DOCUMENTS)330 2132 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
+(Mo)s(di\014ed)330 2151 y(V)-8 b(ersion.)199 2293 y(5.)61
+b(COMBINING)31 b(DOCUMENTS)330 2436 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
(bine)h(the)f(Do)s(cumen)m(t)g(with)g(other)f(do)s(cumen)m(ts)h
-(released)g(under)f(this)g(License,)330 2242 y(under)f(the)h(terms)g
+(released)g(under)f(this)g(License,)330 2545 y(under)f(the)h(terms)g
(de\014ned)f(in)h(section)h(4)g(ab)s(o)m(v)m(e)g(for)f(mo)s(di\014ed)f
-(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2351
+(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2655
y(include)25 b(in)g(the)g(com)m(bination)i(all)f(of)g(the)f(In)m(v)-5
b(arian)m(t)26 b(Sections)g(of)g(all)g(of)f(the)h(original)g(do)s
-(cumen)m(ts,)330 2461 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
+(cumen)m(ts,)330 2765 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
(as)g(In)m(v)-5 b(arian)m(t)28 b(Sections)f(of)g(y)m(our)g(com)m(bined)
-g(w)m(ork)f(in)h(its)g(license)330 2570 y(notice,)32
+g(w)m(ork)f(in)h(its)g(license)330 2874 y(notice,)32
b(and)e(that)h(y)m(ou)f(preserv)m(e)h(all)g(their)g(W)-8
-b(arran)m(t)m(y)32 b(Disclaimers.)330 2700 y(The)e(com)m(bined)g(w)m
+b(arran)m(t)m(y)32 b(Disclaimers.)330 3017 y(The)e(com)m(bined)g(w)m
(ork)h(need)e(only)i(con)m(tain)g(one)g(cop)m(y)g(of)f(this)g(License,)
-i(and)d(m)m(ultiple)i(iden)m(tical)330 2809 y(In)m(v)-5
+i(and)d(m)m(ultiple)i(iden)m(tical)330 3126 y(In)m(v)-5
b(arian)m(t)33 b(Sections)g(ma)m(y)g(b)s(e)f(replaced)h(with)f(a)h
(single)g(cop)m(y)-8 b(.)48 b(If)32 b(there)h(are)g(m)m(ultiple)g(In)m
-(v)-5 b(arian)m(t)330 2919 y(Sections)27 b(with)g(the)g(same)g(name)g
+(v)-5 b(arian)m(t)330 3236 y(Sections)27 b(with)g(the)g(same)g(name)g
(but)f(di\013eren)m(t)h(con)m(ten)m(ts,)i(mak)m(e)f(the)f(title)h(of)f
-(eac)m(h)h(suc)m(h)f(section)330 3029 y(unique)33 b(b)m(y)h(adding)f
+(eac)m(h)h(suc)m(h)f(section)330 3345 y(unique)33 b(b)m(y)h(adding)f
(at)i(the)f(end)g(of)g(it,)h(in)f(paren)m(theses,)i(the)e(name)g(of)g
-(the)g(original)h(author)f(or)330 3138 y(publisher)23
+(the)g(original)h(author)f(or)330 3455 y(publisher)23
b(of)i(that)h(section)g(if)f(kno)m(wn,)h(or)f(else)h(a)f(unique)f(n)m
(um)m(b)s(er.)38 b(Mak)m(e)26 b(the)g(same)f(adjustmen)m(t)330
-3248 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
+3565 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
b(arian)m(t)26 b(Sections)f(in)f(the)g(license)i(notice)g(of)e(the)h
-(com)m(bined)330 3357 y(w)m(ork.)330 3487 y(In)41 b(the)g(com)m
+(com)m(bined)330 3674 y(w)m(ork.)330 3817 y(In)41 b(the)g(com)m
(bination,)46 b(y)m(ou)41 b(m)m(ust)g(com)m(bine)h(an)m(y)g(sections)g
(En)m(titled)g(\\History")h(in)e(the)g(v)-5 b(ari-)330
-3597 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
+3926 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
(En)m(titled)g(\\History";)i(lik)m(ewise)f(com)m(bine)f(an)m(y)330
-3706 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
+4036 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
b(an)m(y)h(sections)h(En)m(titled)g(\\Dedications".)47
-b(Y)-8 b(ou)330 3816 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
-(titled)f(\\Endorsemen)m(ts.")199 3945 y(6.)61 b(COLLECTIONS)28
-b(OF)i(DOCUMENTS)330 4075 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
+b(Y)-8 b(ou)330 4145 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
+(titled)f(\\Endorsemen)m(ts.")199 4288 y(6.)61 b(COLLECTIONS)28
+b(OF)i(DOCUMENTS)330 4430 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
(collection)i(consisting)f(of)f(the)g(Do)s(cumen)m(t)g(and)g(other)g
-(do)s(cumen)m(ts)f(released)330 4184 y(under)41 b(this)h(License,)k
+(do)s(cumen)m(ts)f(released)330 4540 y(under)41 b(this)h(License,)k
(and)c(replace)h(the)g(individual)f(copies)h(of)f(this)g(License)h(in)f
-(the)h(v)-5 b(arious)330 4294 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
+(the)h(v)-5 b(arious)330 4650 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
g(cop)m(y)h(that)f(is)f(included)g(in)g(the)h(collection,)48
-b(pro)m(vided)42 b(that)i(y)m(ou)330 4403 y(follo)m(w)38
+b(pro)m(vided)42 b(that)i(y)m(ou)330 4759 y(follo)m(w)38
b(the)g(rules)e(of)h(this)g(License)h(for)f(v)m(erbatim)h(cop)m(ying)g
(of)f(eac)m(h)h(of)f(the)h(do)s(cumen)m(ts)e(in)h(all)330
-4513 y(other)31 b(resp)s(ects.)330 4643 y(Y)-8 b(ou)32
+4869 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32
b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
(collection,)i(and)d(distribute)g(it)h(individu-)330
-4752 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
+5121 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
(a)g(cop)m(y)h(of)f(this)g(License)g(in)m(to)h(the)g(extracted)330
-4862 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
+5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
-4971 y(that)d(do)s(cumen)m(t.)199 5101 y(7.)61 b(A)m(GGREGA)-8
-b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330 5230 y(A)d(compilation)i
-(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5 b(ativ)m(es)30
-b(with)d(other)i(separate)g(and)e(indep)s(enden)m(t)330
-5340 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h(on)f(a)g(v)m
-(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g(is)h(called)p
-eop end
+5340 y(that)d(do)s(cumen)m(t.)p eop end
%%Page: 25 28
TeXDict begin 25 27 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(25)330 299 y(an)30 b(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i
+b(25)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+(W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
+(its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
+s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
+(on)f(a)g(v)m(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g
+(is)h(called)330 661 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i
(resulting)e(from)f(the)i(compilation)g(is)f(not)h(used)e(to)i(limit)g
-(the)330 408 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e
+(the)330 770 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e
(b)s(ey)m(ond)g(what)g(the)h(individual)f(w)m(orks)g(p)s(ermit.)39
-b(When)330 518 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
+b(When)330 880 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
(aggregate,)44 b(this)38 b(License)h(do)s(es)f(not)h(apply)f(to)h(the)g
-(other)330 628 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
+(other)330 989 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
(not)g(themselv)m(es)g(deriv)-5 b(ativ)m(e)32 b(w)m(orks)f(of)f(the)h
-(Do)s(cumen)m(t.)330 762 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
+(Do)s(cumen)m(t.)330 1132 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
b(ext)23 b(requiremen)m(t)g(of)g(section)h(3)f(is)g(applicable)h(to)f
-(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 872
+(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1241
y(then)f(if)g(the)h(Do)s(cumen)m(t)g(is)g(less)f(than)g(one)h(half)f
(of)h(the)g(en)m(tire)g(aggregate,)k(the)c(Do)s(cumen)m(t's)g(Co)m(v)m
-(er)330 981 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
+(er)330 1351 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
(ers)h(that)f(brac)m(k)m(et)h(the)f(Do)s(cumen)m(t)g(within)f(the)h
-(aggregate,)j(or)d(the)330 1091 y(electronic)37 b(equiv)-5
+(aggregate,)j(or)d(the)330 1461 y(electronic)37 b(equiv)-5
b(alen)m(t)36 b(of)g(co)m(v)m(ers)g(if)f(the)g(Do)s(cumen)m(t)h(is)f
(in)g(electronic)i(form.)54 b(Otherwise)35 b(they)330
-1200 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
-(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1335 y(8.)61
-b(TRANSLA)-8 b(TION)330 1469 y(T)g(ranslation)41 b(is)f(considered)f(a)
+1570 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
+(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1713 y(8.)61
+b(TRANSLA)-8 b(TION)330 1855 y(T)g(ranslation)41 b(is)f(considered)f(a)
i(kind)e(of)h(mo)s(di\014cation,)j(so)d(y)m(ou)g(ma)m(y)h(distribute)e
-(translations)330 1579 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
+(translations)330 1965 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
(terms)h(of)f(section)i(4.)83 b(Replacing)45 b(In)m(v)-5
-b(arian)m(t)45 b(Sections)g(with)330 1689 y(translations)h(requires)f
+b(arian)m(t)45 b(Sections)g(with)330 2074 y(translations)h(requires)f
(sp)s(ecial)h(p)s(ermission)f(from)g(their)g(cop)m(yrigh)m(t)i
-(holders,)i(but)c(y)m(ou)g(ma)m(y)330 1798 y(include)24
+(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2184 y(include)24
b(translations)i(of)e(some)h(or)g(all)g(In)m(v)-5 b(arian)m(t)25
b(Sections)g(in)f(addition)h(to)g(the)g(original)h(v)m(ersions)330
-1908 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
+2293 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
b(Y)-8 b(ou)32 b(ma)m(y)g(include)f(a)h(translation)g(of)g(this)f
-(License,)i(and)d(all)j(the)330 2017 y(license)42 b(notices)g(in)f(the)
+(License,)i(and)d(all)j(the)330 2403 y(license)42 b(notices)g(in)f(the)
h(Do)s(cumen)m(t,)j(and)40 b(an)m(y)i(W)-8 b(arran)m(t)m(y)42
-b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2127
+b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2513
y(also)f(include)f(the)g(original)h(English)f(v)m(ersion)g(of)g(this)g
(License)h(and)e(the)h(original)h(v)m(ersions)g(of)330
-2237 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
+2622 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
b(case)i(of)g(a)f(disagreemen)m(t)h(b)s(et)m(w)m(een)g(the)f
-(translation)i(and)330 2346 y(the)f(original)i(v)m(ersion)e(of)h(this)f
+(translation)i(and)330 2732 y(the)f(original)i(v)m(ersion)e(of)h(this)f
(License)h(or)f(a)g(notice)i(or)e(disclaimer,)i(the)f(original)g(v)m
-(ersion)g(will)330 2456 y(prev)-5 b(ail.)330 2590 y(If)28
+(ersion)g(will)330 2841 y(prev)-5 b(ail.)330 2984 y(If)28
b(a)h(section)h(in)e(the)h(Do)s(cumen)m(t)h(is)e(En)m(titled)i(\\Ac)m
(kno)m(wledgemen)m(ts",)i(\\Dedications",)g(or)d(\\His-)330
-2700 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
+3093 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
(e)g(its)f(Title)i(\(section)f(1\))g(will)g(t)m(ypically)h(require)330
-2809 y(c)m(hanging)j(the)g(actual)h(title.)199 2944 y(9.)61
-b(TERMINA)-8 b(TION)330 3078 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
+3203 y(c)m(hanging)j(the)g(actual)h(title.)199 3345 y(9.)61
+b(TERMINA)-8 b(TION)330 3488 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
b(,)31 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)f(the)h
-(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3188 y(pro)m(vided)41
-b(for)h(under)e(this)i(License.)75 b(An)m(y)42 b(other)g(attempt)h(to)g
-(cop)m(y)-8 b(,)46 b(mo)s(dify)-8 b(,)44 b(sublicense)e(or)330
-3298 y(distribute)36 b(the)h(Do)s(cumen)m(t)g(is)g(v)m(oid,)i(and)d
-(will)h(automatically)i(terminate)f(y)m(our)e(righ)m(ts)h(under)330
-3407 y(this)28 b(License.)40 b(Ho)m(w)m(ev)m(er,)31 b(parties)d(who)f
-(ha)m(v)m(e)i(receiv)m(ed)g(copies,)h(or)d(righ)m(ts,)i(from)f(y)m(ou)g
-(under)e(this)330 3517 y(License)37 b(will)g(not)g(ha)m(v)m(e)h(their)f
-(licenses)g(terminated)h(so)f(long)g(as)g(suc)m(h)f(parties)h(remain)g
-(in)f(full)330 3626 y(compliance.)154 3761 y(10.)61 b(FUTURE)30
-b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 3895 y(The)41 b(F)-8
-b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 b(ma)m(y)f(publish)e
-(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)-8
-b(ree)330 4005 y(Do)s(cumen)m(tation)34 b(License)e(from)g(time)h(to)g
-(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
-(in)g(spirit)330 4115 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)
-m(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
-(concerns.)330 4224 y(See)c Fn(http://www.gnu.org/copy)o(left)o(/)p
-Fo(.)330 4359 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
-(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
-b(If)29 b(the)g(Do)s(cumen)m(t)330 4468 y(sp)s(eci\014es)45
-b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
-(License)h(\\or)g(an)m(y)g(later)g(v)m(ersion")330 4578
-y(applies)33 b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f
-(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
-4687 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
+(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3598 y(pro)m(vided)38
+b(under)f(this)i(License.)65 b(An)m(y)39 b(attempt)h(otherwise)f(to)g
+(cop)m(y)-8 b(,)42 b(mo)s(dify)-8 b(,)40 b(sublicense,)h(or)330
+3707 y(distribute)30 b(it)h(is)f(v)m(oid,)h(and)f(will)h(automatically)
+i(terminate)f(y)m(our)e(righ)m(ts)h(under)e(this)h(License.)330
+3850 y(Ho)m(w)m(ev)m(er,)35 b(if)e(y)m(ou)f(cease)i(all)f(violation)i
+(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f(a)h
+(particular)330 3959 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h
+(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g
+(cop)m(yrigh)m(t)h(holder)330 4069 y(explicitly)42 b(and)e(\014nally)h
+(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8
+b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 4178 y(holder)34
+b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h
+(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 4288
+y(after)31 b(the)f(cessation.)330 4430 y(Moreo)m(v)m(er,)k(y)m(our)d
+(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h
+(reinstated)g(p)s(ermanen)m(tly)f(if)330 4540 y(the)d(cop)m(yrigh)m(t)h
+(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g
+(reasonable)h(means,)f(this)g(is)g(the)330 4650 y(\014rst)f(time)i(y)m
+(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f
+(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330
+4759 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g
+(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h
+(of)f(the)330 4869 y(notice.)330 5011 y(T)-8 b(ermination)28
+b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h
+(terminate)h(the)e(licenses)i(of)f(parties)330 5121 y(who)38
+b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
+(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e)
+330 5230 y(b)s(een)25 b(terminated)i(and)e(not)h(p)s(ermanen)m(tly)g
+(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
+(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
+(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
+%%Page: 26 29
+TeXDict begin 26 28 bop 150 -116 a Fo(App)s(endix)29
+b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
+b(26)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330
+433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
+b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
+(the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
+b(License)e(from)g(time)h(to)g(time.)46 b(Suc)m(h)31
+b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h(in)g(spirit)330
+653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m(y)h(di\013er)f
+(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i(concerns.)330
+762 y(See)c Fn(http://www.gnu.org/copy)o(left)o(/)p Fo(.)330
+897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m(en)g(a)g
+(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39 b(If)29
+b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45 b(that)h(a)g
+(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g(License)h
+(\\or)g(an)m(y)g(later)g(v)m(ersion")330 1116 y(applies)33
+b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f(follo)m(wing)i
+(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
+1225 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
(ersion)f(that)g(has)g(b)s(een)f(published)f(\(not)j(as)f(a)g(draft\))g
-(b)m(y)330 4797 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
+(b)m(y)330 1335 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
b(oundation.)49 b(If)32 b(the)h(Do)s(cumen)m(t)g(do)s(es)g(not)g(sp)s
-(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 4907
+(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 1445
y(this)i(License,)j(y)m(ou)d(ma)m(y)i(c)m(ho)s(ose)f(an)m(y)g(v)m
(ersion)g(ev)m(er)g(published)e(\(not)i(as)g(a)f(draft\))h(b)m(y)f(the)
-h(F)-8 b(ree)330 5016 y(Soft)m(w)m(are)31 b(F)-8 b(oundation.)p
-eop end
-%%Page: 26 29
-TeXDict begin 26 28 bop 150 -116 a Fo(App)s(endix)29
+h(F)-8 b(ree)330 1554 y(Soft)m(w)m(are)33 b(F)-8 b(oundation.)46
+b(If)32 b(the)g(Do)s(cumen)m(t)g(sp)s(eci\014es)g(that)g(a)h(pro)m(xy)f
+(can)g(decide)g(whic)m(h)g(future)330 1664 y(v)m(ersions)h(of)g(this)f
+(License)h(can)g(b)s(e)f(used,)g(that)i(pro)m(xy's)e(public)g(statemen)
+m(t)i(of)f(acceptance)i(of)e(a)330 1773 y(v)m(ersion)e(p)s(ermanen)m
+(tly)f(authorizes)h(y)m(ou)g(to)g(c)m(ho)s(ose)g(that)g(v)m(ersion)g
+(for)f(the)h(Do)s(cumen)m(t.)154 1908 y(11.)61 b(RELICENSING)330
+2042 y(\\Massiv)m(e)39 b(Multiauthor)f(Collab)s(oration)g(Site")h(\(or)
+e(\\MMC)h(Site"\))h(means)e(an)m(y)h(W)-8 b(orld)37 b(Wide)330
+2152 y(W)-8 b(eb)36 b(serv)m(er)g(that)h(publishes)d(cop)m(yrigh)m
+(table)k(w)m(orks)e(and)f(also)i(pro)m(vides)e(prominen)m(t)h
+(facilities)330 2262 y(for)27 b(an)m(yb)s(o)s(dy)g(to)h(edit)g(those)g
+(w)m(orks.)39 b(A)28 b(public)f(wiki)h(that)g(an)m(yb)s(o)s(dy)e(can)i
+(edit)g(is)f(an)h(example)g(of)330 2371 y(suc)m(h)33
+b(a)h(serv)m(er.)51 b(A)34 b(\\Massiv)m(e)i(Multiauthor)e(Collab)s
+(oration")h(\(or)f(\\MMC"\))h(con)m(tained)g(in)f(the)330
+2481 y(site)d(means)f(an)m(y)h(set)g(of)g(cop)m(yrigh)m(table)h(w)m
+(orks)e(th)m(us)g(published)f(on)h(the)h(MMC)f(site.)330
+2615 y(\\CC-BY-SA")36 b(means)f(the)g(Creativ)m(e)i(Commons)e(A)m
+(ttribution-Share)g(Alik)m(e)i(3.0)f(license)g(pub-)330
+2725 y(lished)27 b(b)m(y)f(Creativ)m(e)j(Commons)d(Corp)s(oration,)h(a)
+g(not-for-pro\014t)g(corp)s(oration)h(with)e(a)h(principal)330
+2834 y(place)g(of)f(business)e(in)i(San)f(F)-8 b(rancisco,)29
+b(California,)f(as)e(w)m(ell)h(as)f(future)f(cop)m(yleft)i(v)m(ersions)
+f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
+(organization.)330 3078 y(\\Incorp)s(orate")h(means)e(to)h(publish)e
+(or)i(republish)e(a)i(Do)s(cumen)m(t,)g(in)g(whole)g(or)f(in)g(part,)h
+(as)g(part)330 3188 y(of)g(another)f(Do)s(cumen)m(t.)330
+3323 y(An)c(MMC)g(is)h(\\eligible)h(for)e(relicensing")h(if)g(it)f(is)h
+(licensed)f(under)f(this)h(License,)i(and)e(if)g(all)h(w)m(orks)330
+3432 y(that)43 b(w)m(ere)f(\014rst)f(published)f(under)h(this)h
+(License)g(somewhere)g(other)g(than)g(this)g(MMC,)h(and)330
+3542 y(subsequen)m(tly)34 b(incorp)s(orated)h(in)f(whole)h(or)g(in)f
+(part)h(in)m(to)h(the)f(MMC,)g(\(1\))h(had)e(no)h(co)m(v)m(er)h(texts)
+330 3651 y(or)30 b(in)m(v)-5 b(arian)m(t)32 b(sections,)g(and)d(\(2\))j
+(w)m(ere)f(th)m(us)f(incorp)s(orated)g(prior)g(to)h(No)m(v)m(em)m(b)s
+(er)g(1,)g(2008.)330 3786 y(The)40 b(op)s(erator)h(of)g(an)f(MMC)h
+(Site)g(ma)m(y)g(republish)e(an)h(MMC)h(con)m(tained)h(in)e(the)h(site)
+g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
+(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
+330 4005 y(eligible)h(for)e(relicensing.)p eop end
+%%Page: 27 30
+TeXDict begin 27 29 bop 150 -116 a Fo(App)s(endix)29
b(A:)h(GNU)h(F)-8 b(ree)32 b(Do)s(cumen)m(tation)g(License)1603
-b(26)150 299 y Fm(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
-(for)g(y)l(our)g(do)t(cumen)l(ts)275 543 y Fo(T)-8 b(o)27
-b(use)g(this)g(License)h(in)f(a)h(do)s(cumen)m(t)f(y)m(ou)h(ha)m(v)m(e)
-g(written,)g(include)f(a)h(cop)m(y)g(of)f(the)h(License)g(in)f(the)150
-653 y(do)s(cumen)m(t)j(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)m
-(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468
-765 y Fb(Copyright)42 b(\(C\))79 b Fa(year)88 b(your)40
-b(name)p Fb(.)468 852 y(Permission)i(is)e(granted)g(to)g(copy,)h
-(distribute)g(and/or)g(modify)f(this)g(document)468 939
+b(27)150 299 y Fm(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+(for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fo(T)-8 b(o)35
+b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
+i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
+568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)
+m(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468
+680 y Fb(Copyright)42 b(\(C\))79 b Fa(year)88 b(your)40
+b(name)9 b Fb(.)468 767 y(Permission)42 b(is)e(granted)g(to)g(copy,)h
+(distribute)g(and/or)g(modify)f(this)g(document)468 854
y(under)h(the)f(terms)g(of)g(the)g(GNU)g(Free)g(Documentation)i
-(License,)f(Version)g(1.2)468 1026 y(or)f(any)g(later)g(version)h
+(License,)f(Version)g(1.3)468 941 y(or)f(any)g(later)g(version)h
(published)h(by)d(the)h(Free)g(Software)h(Foundation;)468
-1113 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g
-(and)f(no)f(Back-Cover)468 1200 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f
+1029 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g
+(and)f(no)f(Back-Cover)468 1116 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f
(license)i(is)f(included)h(in)f(the)g(section)g(entitled)h(``GNU)468
-1288 y(Free)g(Documentation)h(License''.)275 1410 y Fo(If)d(y)m(ou)h
+1203 y(Free)g(Documentation)h(License''.)275 1337 y Fo(If)d(y)m(ou)h
(ha)m(v)m(e)h(In)m(v)-5 b(arian)m(t)41 b(Sections,)i(F)-8
b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k
-(T)-8 b(exts,)43 b(replace)e(the)150 1520 y(\\with)6
+(T)-8 b(exts,)43 b(replace)e(the)150 1447 y(\\with)6
b(.)22 b(.)g(.)12 b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547
-1632 y Fb(with)40 b(the)g(Invariant)h(Sections)g(being)g
-Fa(list)f(their)g(titles)p Fb(,)h(with)547 1719 y(the)f(Front-Cover)i
-(Texts)e(being)g Fa(list)p Fb(,)h(and)f(with)g(the)g(Back-Cover)h
-(Texts)547 1806 y(being)f Fa(list)p Fb(.)275 1929 y Fo(If)34
-b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f
-(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g
-(of)g(the)150 2038 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g
-(alternativ)m(es)i(to)e(suit)f(the)h(situation.)275 2173
-y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
-(examples)g(of)f(program)f(co)s(de,)j(w)m(e)e(recommend)g(releasing)150
-2283 y(these)44 b(examples)f(in)g(parallel)h(under)e(y)m(our)h(c)m
-(hoice)i(of)e(free)g(soft)m(w)m(are)h(license,)k(suc)m(h)43
-b(as)g(the)g(GNU)150 2392 y(General)31 b(Public)f(License,)i(to)f(p)s
-(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
-eop end
+1559 y Fb(with)40 b(the)g(Invariant)h(Sections)g(being)g
+Fa(list)f(their)g(titles)9 b Fb(,)41 b(with)547 1646
+y(the)f(Front-Cover)i(Texts)e(being)g Fa(list)9 b Fb(,)40
+b(and)g(with)g(the)g(Back-Cover)i(Texts)547 1733 y(being)e
+Fa(list)9 b Fb(.)275 1868 y Fo(If)34 b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5
+b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8
+b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
+1978 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e
+(suit)f(the)h(situation.)275 2112 y(If)23 b(y)m(our)h(do)s(cumen)m(t)f
+(con)m(tains)i(non)m(trivial)g(examples)g(of)f(program)f(co)s(de,)j(w)m
+(e)e(recommend)g(releasing)150 2222 y(these)44 b(examples)f(in)g
+(parallel)h(under)e(y)m(our)h(c)m(hoice)i(of)e(free)g(soft)m(w)m(are)h
+(license,)k(suc)m(h)43 b(as)g(the)g(GNU)150 2331 y(General)31
+b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m
+(w)m(are.)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
diff --git a/doc/rluserman.texi b/doc/rluserman.texi
index a473aa2..49d9a2c 100644
--- a/doc/rluserman.texi
+++ b/doc/rluserman.texi
@@ -20,7 +20,7 @@ are preserved on all copies.
@quotation
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
and with the Back-Cover Texts as in (a) below. A copy of the license is
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 555a077..03c2998 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -3,15 +3,16 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2003-02-03.16}
+\def\texinfoversion{2009-01-18.17}
%
-% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
-% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
+% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+% 2007, 2008, 2009 Free Software Foundation, Inc.
%
-% This texinfo.tex file is free software; you can redistribute it and/or
+% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
-% published by the Free Software Foundation; either version 2, or (at
-% your option) any later version.
+% published by the Free Software Foundation, either version 3 of the
+% License, or (at your option) any later version.
%
% This texinfo.tex file is distributed in the hope that it will be
% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
@@ -19,27 +20,20 @@
% General Public License for more details.
%
% You should have received a copy of the GNU General Public License
-% along with this texinfo.tex file; see the file COPYING. If not, write
-% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-% Boston, MA 02111-1307, USA.
+% along with this program. If not, see <http://www.gnu.org/licenses/>.
%
-% In other words, you are welcome to use, share and improve this program.
-% You are forbidden to forbid anyone else to use, share and improve
-% what you give them. Help stamp out software-hoarding!
+% As a special exception, when this file is read by TeX when processing
+% a Texinfo source document, you may use the result without
+% restriction. (This has been our intent since Texinfo was invented.)
%
% Please try the latest version of texinfo.tex before submitting bug
% reports; you can get the latest version from:
-% ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex
-% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
+% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
% ftp://tug.org/tex/texinfo.tex
-% (and all CTAN mirrors, see http://www.ctan.org),
-% and /home/gd/gnu/doc/texinfo.tex on the GNU machines.
-%
-% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
-%
-% The texinfo.tex in any given Texinfo distribution could well be out
+% (and all CTAN mirrors, see http://www.ctan.org).
+% The texinfo.tex in any given distribution could well be out
% of date, so if that's what you're using, please check.
-%
+%
% Send bug reports to bug-texinfo@gnu.org. Please include including a
% complete document in each bug report with which we can reproduce the
% problem. Patches are, of course, greatly appreciated.
@@ -55,10 +49,13 @@
% The extra TeX runs get the cross-reference information correct.
% Sometimes one run after texindex suffices, and sometimes you need more
% than two; texi2dvi does it as many times as necessary.
-%
+%
% It is possible to adapt texinfo.tex for other languages, to some
% extent. You can get the existing language-specific files from the
% full Texinfo distribution.
+%
+% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
+
\message{Loading texinfo [version \texinfoversion]:}
@@ -68,14 +65,14 @@
\everyjob{\message{[Texinfo version \texinfoversion]}%
\catcode`+=\active \catcode`\_=\active}
-\message{Basics,}
+
\chardef\other=12
-% We never want plain's outer \+ definition in Texinfo.
+% We never want plain's \outer definition of \+ in Texinfo.
% For @tex, we can use \tabalign.
\let\+ = \relax
-% Save some parts of plain tex whose names we will redefine.
+% Save some plain tex macros whose names we will redefine.
\let\ptexb=\b
\let\ptexbullet=\bullet
\let\ptexc=\c
@@ -85,20 +82,39 @@
\let\ptexend=\end
\let\ptexequiv=\equiv
\let\ptexexclam=\!
+\let\ptexfootnote=\footnote
\let\ptexgtr=>
\let\ptexhat=^
\let\ptexi=\i
+\let\ptexindent=\indent
+\let\ptexinsert=\insert
\let\ptexlbrace=\{
\let\ptexless=<
+\let\ptexnewwrite\newwrite
+\let\ptexnoindent=\noindent
\let\ptexplus=+
\let\ptexrbrace=\}
+\let\ptexslash=\/
\let\ptexstar=\*
\let\ptext=\t
+\let\ptextop=\top
+{\catcode`\'=\active
+\global\let\ptexquoteright'}% Math-mode def from plain.tex.
+\let\ptexraggedright=\raggedright
% If this character appears in an error message or help string, it
% starts a new line in the output.
\newlinechar = `^^J
+% Use TeX 3.0's \inputlineno to get the line number, for better error
+% messages, but if we're using an old version of TeX, don't do anything.
+%
+\ifx\inputlineno\thisisundefined
+ \let\linenumber = \empty % Pre-3.0.
+\else
+ \def\linenumber{l.\the\inputlineno:\space}
+\fi
+
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
@@ -137,42 +153,83 @@
\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi
\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi
\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
-\ifx\putwordDeftypevar\undefined\gdef\putwordDeftypevar{Variable}\fi
\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
-\ifx\putwordDeftypefun\undefined\gdef\putwordDeftypefun{Function}\fi
-% In some macros, we cannot use the `\? notation---the left quote is
-% in some cases the escape char.
+% Since the category of space is not known, we have to be careful.
+\chardef\spacecat = 10
+\def\spaceisspace{\catcode`\ =\spacecat}
+
+% sometimes characters are active, so we need control sequences.
\chardef\colonChar = `\:
\chardef\commaChar = `\,
+\chardef\dashChar = `\-
\chardef\dotChar = `\.
-\chardef\equalChar = `\=
\chardef\exclamChar= `\!
+\chardef\lquoteChar= `\`
\chardef\questChar = `\?
+\chardef\rquoteChar= `\'
\chardef\semiChar = `\;
-\chardef\spaceChar = `\ %
\chardef\underChar = `\_
% Ignore a token.
%
\def\gobble#1{}
-% True if #1 is the empty string, i.e., called like `\ifempty{}'.
-%
-\def\ifempty#1{\ifemptyx #1\emptymarkA\emptymarkB}%
-\def\ifemptyx#1#2\emptymarkB{\ifx #1\emptymarkA}%
+% The following is used inside several \edef's.
+\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
% Hyphenation fixes.
-\hyphenation{ap-pen-dix}
-\hyphenation{mini-buf-fer mini-buf-fers}
-\hyphenation{eshell}
-\hyphenation{white-space}
+\hyphenation{
+ Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
+ ap-pen-dix bit-map bit-maps
+ data-base data-bases eshell fall-ing half-way long-est man-u-script
+ man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
+ par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
+ spell-ing spell-ings
+ stand-alone strong-est time-stamp time-stamps which-ever white-space
+ wide-spread wrap-around
+}
% Margin to add to right of even pages, to left of odd pages.
\newdimen\bindingoffset
\newdimen\normaloffset
\newdimen\pagewidth \newdimen\pageheight
+% For a final copy, take out the rectangles
+% that mark overfull boxes (in case you have decided
+% that the text looks ok even though it passes the margin).
+%
+\def\finalout{\overfullrule=0pt}
+
+% @| inserts a changebar to the left of the current line. It should
+% surround any changed text. This approach does *not* work if the
+% change spans more than two lines of output. To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change).
+%
+\def\|{%
+ % \vadjust can only be used in horizontal mode.
+ \leavevmode
+ %
+ % Append this vertical mode material after the current line in the output.
+ \vadjust{%
+ % We want to insert a rule with the height and depth of the current
+ % leading; that is exactly what \strutbox is supposed to record.
+ \vskip-\baselineskip
+ %
+ % \vadjust-items are inserted at the left edge of the type. So
+ % the \llap here moves out into the left-hand margin.
+ \llap{%
+ %
+ % For a thicker or thinner bar, change the `1pt'.
+ \vrule height\baselineskip width1pt
+ %
+ % This is the space between the bar and the text.
+ \hskip 12pt
+ }%
+ }%
+}
+
% Sometimes it is convenient to have everything in the transcript file
% and nothing on the terminal. We don't just call \tracingall here,
% since that produces some useless output on the terminal. We also make
@@ -197,12 +254,12 @@
\tracingassigns1
\fi
\tracingcommands3 % 3 gives us more in etex
- \errorcontextlines\maxdimen
+ \errorcontextlines16
}%
% add check for \lastpenalty to plain's definitions. If the last thing
% we did was a \nobreak, we don't want to insert more space.
-%
+%
\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
\removelastskip\penalty-50\smallskip\fi\fi}
\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
@@ -224,6 +281,50 @@
\newdimen\cornerthick \cornerthick=.3pt
\newdimen\topandbottommargin \topandbottommargin=.75in
+% Output a mark which sets \thischapter, \thissection and \thiscolor.
+% We dump everything together because we only have one kind of mark.
+% This works because we only use \botmark / \topmark, not \firstmark.
+%
+% A mark contains a subexpression of the \ifcase ... \fi construct.
+% \get*marks macros below extract the needed part using \ifcase.
+%
+% Another complication is to let the user choose whether \thischapter
+% (\thissection) refers to the chapter (section) in effect at the top
+% of a page, or that at the bottom of a page. The solution is
+% described on page 260 of The TeXbook. It involves outputting two
+% marks for the sectioning macros, one before the section break, and
+% one after. I won't pretend I can describe this better than DEK...
+\def\domark{%
+ \toks0=\expandafter{\lastchapterdefs}%
+ \toks2=\expandafter{\lastsectiondefs}%
+ \toks4=\expandafter{\prevchapterdefs}%
+ \toks6=\expandafter{\prevsectiondefs}%
+ \toks8=\expandafter{\lastcolordefs}%
+ \mark{%
+ \the\toks0 \the\toks2
+ \noexpand\or \the\toks4 \the\toks6
+ \noexpand\else \the\toks8
+ }%
+}
+% \topmark doesn't work for the very first chapter (after the title
+% page or the contents), so we use \firstmark there -- this gets us
+% the mark with the chapter defs, unless the user sneaks in, e.g.,
+% @setcolor (or @url, or @link, etc.) between @contents and the very
+% first @chapter.
+\def\gettopheadingmarks{%
+ \ifcase0\topmark\fi
+ \ifx\thischapter\empty \ifcase0\firstmark\fi \fi
+}
+\def\getbottomheadingmarks{\ifcase1\botmark\fi}
+\def\getcolormarks{\ifcase2\topmark\fi}
+
+% Avoid "undefined control sequence" errors.
+\def\lastchapterdefs{}
+\def\lastsectiondefs{}
+\def\prevchapterdefs{}
+\def\prevsectiondefs{}
+\def\lastcolordefs{}
+
% Main output routine.
\chardef\PAGE = 255
\output = {\onepageout{\pagecontents\PAGE}}
@@ -241,7 +342,9 @@
%
% Do this outside of the \shipout so @code etc. will be expanded in
% the headline as they should be, not taken literally (outputting ''code).
+ \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
\setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+ \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
\setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
%
{%
@@ -249,13 +352,17 @@
% take effect in \write's, yet the group defined by the \vbox ends
% before the \shipout runs.
%
- \escapechar = `\\ % use backslash in output files.
\indexdummies % don't expand commands in the output.
\normalturnoffactive % \ in index entries must not stay \, e.g., if
- % the page break happens to be in the middle of an example.
+ % the page break happens to be in the middle of an example.
+ % We don't want .vr (or whatever) entries like this:
+ % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
+ % "\acronym" won't work when it's read back in;
+ % it needs to be
+ % {\code {{\tt \backslashcurfont }acronym}
\shipout\vbox{%
% Do this early so pdf references go to the beginning of the page.
- \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
+ \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
%
\ifcropmarks \vbox to \outervsize\bgroup
\hsize = \outerhsize
@@ -280,9 +387,9 @@
\pagebody{#1}%
\ifdim\ht\footlinebox > 0pt
% Only leave this space if the footline is nonempty.
- % (We lessened \vsize for it in \oddfootingxxx.)
+ % (We lessened \vsize for it in \oddfootingyyy.)
% The \baselineskip=24pt in plain's \makefootline has no effect.
- \vskip 2\baselineskip
+ \vskip 24pt
\unvbox\footlinebox
\fi
%
@@ -303,7 +410,7 @@
\egroup % \vbox from first cropmarks clause
\fi
}% end of \shipout\vbox
- }% end of group with \normalturnoffactive
+ }% end of group with \indexdummies
\advancepageno
\ifnum\outputpenalty>-20000 \else\dosupereject\fi
}
@@ -316,7 +423,7 @@
% marginal hacks, juha@viisa.uucp (Juha Takala)
\ifvoid\margin\else % marginal info is present
\rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
-\dimen@=\dp#1 \unvbox#1
+\dimen@=\dp#1\relax \unvbox#1\relax
\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
}
@@ -336,132 +443,161 @@
% the input line (except we remove a trailing comment). #1 should be a
% macro which expects an ordinary undelimited TeX argument.
%
-\def\parsearg#1{%
- \let\next = #1%
+\def\parsearg{\parseargusing{}}
+\def\parseargusing#1#2{%
+ \def\argtorun{#2}%
\begingroup
\obeylines
- \futurelet\temp\parseargx
-}
-
-% If the next token is an obeyed space (from an @example environment or
-% the like), remove it and recurse. Otherwise, we're done.
-\def\parseargx{%
- % \obeyedspace is defined far below, after the definition of \sepspaces.
- \ifx\obeyedspace\temp
- \expandafter\parseargdiscardspace
- \else
- \expandafter\parseargline
- \fi
+ \spaceisspace
+ #1%
+ \parseargline\empty% Insert the \empty token, see \finishparsearg below.
}
-% Remove a single space (as the delimiter token to the macro call).
-{\obeyspaces %
- \gdef\parseargdiscardspace {\futurelet\temp\parseargx}}
-
{\obeylines %
\gdef\parseargline#1^^M{%
\endgroup % End of the group started in \parsearg.
- %
- % First remove any @c comment, then any @comment.
- % Result of each macro is put in \toks0.
- \argremovec #1\c\relax %
- \expandafter\argremovecomment \the\toks0 \comment\relax %
- %
- % Call the caller's macro, saved as \next in \parsearg.
- \expandafter\next\expandafter{\the\toks0}%
+ \argremovecomment #1\comment\ArgTerm%
}%
}
-% Since all \c{,omment} does is throw away the argument, we can let TeX
-% do that for us. The \relax here is matched by the \relax in the call
-% in \parseargline; it could be more or less anything, its purpose is
-% just to delimit the argument to the \c.
-\def\argremovec#1\c#2\relax{\toks0 = {#1}}
-\def\argremovecomment#1\comment#2\relax{\toks0 = {#1}}
+% First remove any @comment, then any @c comment.
+\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
+\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-% \argremovec{,omment} might leave us with trailing spaces, though; e.g.,
+% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
+%
+% \argremovec might leave us with trailing space, e.g.,
% @end itemize @c foo
-% will have two active spaces as part of the argument with the
-% `itemize'. Here we remove all active spaces from #1, and assign the
-% result to \toks0.
-%
-% This loses if there are any *other* active characters besides spaces
-% in the argument -- _ ^ +, for example -- since they get expanded.
-% Fortunately, Texinfo does not define any such commands. (If it ever
-% does, the catcode of the characters in questionwill have to be changed
-% here.) But this means we cannot call \removeactivespaces as part of
-% \argremovec{,omment}, since @c uses \parsearg, and thus the argument
-% that \parsearg gets might well have any character at all in it.
-%
-\def\removeactivespaces#1{%
- \begingroup
- \ignoreactivespaces
- \edef\temp{#1}%
- \global\toks0 = \expandafter{\temp}%
- \endgroup
+% This space token undergoes the same procedure and is eventually removed
+% by \finishparsearg.
+%
+\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
+\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
+\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
+ \def\temp{#3}%
+ \ifx\temp\empty
+ % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp:
+ \let\temp\finishparsearg
+ \else
+ \let\temp\argcheckspaces
+ \fi
+ % Put the space token in:
+ \temp#1 #3\ArgTerm
}
-% Change the active space to expand to nothing.
+% If a _delimited_ argument is enclosed in braces, they get stripped; so
+% to get _exactly_ the rest of the line, we had to prevent such situation.
+% We prepended an \empty token at the very beginning and we expand it now,
+% just before passing the control to \argtorun.
+% (Similarly, we have to think about #3 of \argcheckspacesY above: it is
+% either the null string, or it ends with \^^M---thus there is no danger
+% that a pair of braces would be stripped.
%
-\begingroup
+% But first, we have to remove the trailing space token.
+%
+\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
+
+% \parseargdef\foo{...}
+% is roughly equivalent to
+% \def\foo{\parsearg\Xfoo}
+% \def\Xfoo#1{...}
+%
+% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
+% favourite TeX trick. --kasal, 16nov03
+
+\def\parseargdef#1{%
+ \expandafter \doparseargdef \csname\string#1\endcsname #1%
+}
+\def\doparseargdef#1#2{%
+ \def#2{\parsearg#1}%
+ \def#1##1%
+}
+
+% Several utility definitions with active space:
+{
\obeyspaces
- \gdef\ignoreactivespaces{\obeyspaces\let =\empty}
-\endgroup
+ \gdef\obeyedspace{ }
+
+ % Make each space character in the input produce a normal interword
+ % space in the output. Don't allow a line break at this space, as this
+ % is used only in environments like @example, where each line of input
+ % should produce a line of output anyway.
+ %
+ \gdef\sepspaces{\obeyspaces\let =\tie}
+
+ % If an index command is used in an @example environment, any spaces
+ % therein should become regular spaces in the raw index file, not the
+ % expansion of \tie (\leavevmode \penalty \@M \ ).
+ \gdef\unsepspaces{\let =\space}
+}
\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-%% These are used to keep @begin/@end levels from running away
-%% Call \inENV within environments (after a \begingroup)
-\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
-\def\ENVcheck{%
-\ifENV\errmessage{Still within an environment; press RETURN to continue}
-\endgroup\fi} % This is not perfect, but it should reduce lossage
+% Define the framework for environments in texinfo.tex. It's used like this:
+%
+% \envdef\foo{...}
+% \def\Efoo{...}
+%
+% It's the responsibility of \envdef to insert \begingroup before the
+% actual body; @end closes the group after calling \Efoo. \envdef also
+% defines \thisenv, so the current environment is known; @end checks
+% whether the environment name matches. The \checkenv macro can also be
+% used to check whether the current environment is the one expected.
+%
+% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
+% are not treated as environments; they don't open a group. (The
+% implementation of @end takes care not to call \endgroup in this
+% special case.)
-% @begin foo is the same as @foo, for now.
-\newhelp\EMsimple{Press RETURN to continue.}
-\outer\def\begin{\parsearg\beginxxx}
+% At run-time, environments start with this:
+\def\startenvironment#1{\begingroup\def\thisenv{#1}}
+% initialize
+\let\thisenv\empty
-\def\beginxxx #1{%
-\expandafter\ifx\csname #1\endcsname\relax
-{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
-\csname #1\endcsname\fi}
+% ... but they get defined via ``\envdef\foo{...}'':
+\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
+\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
-% @end foo executes the definition of \Efoo.
-%
-\def\end{\parsearg\endxxx}
-\def\endxxx #1{%
- \removeactivespaces{#1}%
- \edef\endthing{\the\toks0}%
- %
- \expandafter\ifx\csname E\endthing\endcsname\relax
- \expandafter\ifx\csname \endthing\endcsname\relax
- % There's no \foo, i.e., no ``environment'' foo.
- \errhelp = \EMsimple
- \errmessage{Undefined command `@end \endthing'}%
- \else
- \unmatchedenderror\endthing
- \fi
+% Check whether we're in the right environment:
+\def\checkenv#1{%
+ \def\temp{#1}%
+ \ifx\thisenv\temp
\else
- % Everything's ok; the right environment has been started.
- \csname E\endthing\endcsname
+ \badenverr
\fi
}
-% There is an environment #1, but it hasn't been started. Give an error.
-%
-\def\unmatchedenderror#1{%
+% Environment mismatch, #1 expected:
+\def\badenverr{%
\errhelp = \EMsimple
- \errmessage{This `@end #1' doesn't have a matching `@#1'}%
+ \errmessage{This command can appear only \inenvironment\temp,
+ not \inenvironment\thisenv}%
+}
+\def\inenvironment#1{%
+ \ifx#1\empty
+ out of any environment%
+ \else
+ in environment \expandafter\string#1%
+ \fi
}
-% Define the control sequence \E#1 to give an unmatched @end error.
+% @end foo executes the definition of \Efoo.
+% But first, it executes a specialized version of \checkenv
%
-\def\defineunmatchedend#1{%
- \expandafter\def\csname E#1\endcsname{\unmatchedenderror{#1}}%
+\parseargdef\end{%
+ \if 1\csname iscond.#1\endcsname
+ \else
+ % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
+ \expandafter\checkenv\csname#1\endcsname
+ \csname E#1\endcsname
+ \endgroup
+ \fi
}
+\newhelp\EMsimple{Press RETURN to continue.}
+
%% Simple single-character @ commands
@@ -483,7 +619,7 @@
\let\}=\myrbrace
\begingroup
% Definitions to produce \{ and \} commands for indices,
- % and @{ and @} for the aux file.
+ % and @{ and @} for the aux/toc files.
\catcode`\{ = \other \catcode`\} = \other
\catcode`\[ = 1 \catcode`\] = 2
\catcode`\! = 0 \catcode`\\ = \other
@@ -493,6 +629,9 @@
!gdef!rbraceatcmd[@}]%
!endgroup
+% @comma{} to avoid , parsing problems.
+\let\comma = ,
+
% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
\let\, = \c
@@ -502,22 +641,43 @@
\let\ubaraccent = \b
\let\udotaccent = \d
-% Other special characters: @questiondown @exclamdown
+% Other special characters: @questiondown @exclamdown @ordf @ordm
% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
\def\questiondown{?`}
\def\exclamdown{!`}
+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
% Dotless i and dotless j, used for accents.
\def\imacro{i}
\def\jmacro{j}
\def\dotless#1{%
\def\temp{#1}%
- \ifx\temp\imacro \ptexi
- \else\ifx\temp\jmacro \j
+ \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
+ \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
\else \errmessage{@dotless can be used only with i or j}%
\fi\fi
}
+% The \TeX{} logo, as in plain, but resetting the spacing so that a
+% period following counts as ending a sentence. (Idea found in latex.)
+%
+\edef\TeX{\TeX \spacefactor=1000 }
+
+% @LaTeX{} logo. Not quite the same results as the definition in
+% latex.ltx, since we use a different font for the raised A; it's most
+% convenient for us to use an explicitly smaller font, rather than using
+% the \scriptstyle font (since we don't reset \scriptstyle and
+% \scriptscriptstyle).
+%
+\def\LaTeX{%
+ L\kern-.36em
+ {\setbox0=\hbox{T}%
+ \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
+ \kern-.15em
+ \TeX
+}
+
% Be sure we're in horizontal mode when doing a tie, since we make space
% equivalent to this in @example-like environments. Otherwise, a space
% at the beginning of a line will start with \penalty -- and
@@ -536,14 +696,32 @@
% @* forces a line break.
\def\*{\hfil\break\hbox{}\ignorespaces}
+% @/ allows a line break.
+\let\/=\allowbreak
+
% @. is an end-of-sentence period.
-\def\.{.\spacefactor=3000 }
+\def\.{.\spacefactor=\endofsentencespacefactor\space}
% @! is an end-of-sentence bang.
-\def\!{!\spacefactor=3000 }
+\def\!{!\spacefactor=\endofsentencespacefactor\space}
% @? is an end-of-sentence query.
-\def\?{?\spacefactor=3000 }
+\def\?{?\spacefactor=\endofsentencespacefactor\space}
+
+% @frenchspacing on|off says whether to put extra space after punctuation.
+%
+\def\onword{on}
+\def\offword{off}
+%
+\parseargdef\frenchspacing{%
+ \def\temp{#1}%
+ \ifx\temp\onword \plainfrenchspacing
+ \else\ifx\temp\offword \plainnonfrenchspacing
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
+ \fi\fi
+}
% @w prevents a word break. Without the \leavevmode, @w at the
% beginning of a paragraph, when TeX is still in vertical mode, would
@@ -564,63 +742,18 @@
% explicit \vfill so that the extra space is at the bottom. The
% threshold for doing this is if the group is more than \vfilllimit
% percent of a page (\vfilllimit can be changed inside of @tex).
-%
+%
\newbox\groupbox
\def\vfilllimit{0.7}
%
-\def\group{\begingroup
- \ifnum\catcode13=\active \else
+\envdef\group{%
+ \ifnum\catcode`\^^M=\active \else
\errhelp = \groupinvalidhelp
\errmessage{@group invalid in context where filling is enabled}%
\fi
- %
- % The \vtop we start below produces a box with normal height and large
- % depth; thus, TeX puts \baselineskip glue before it, and (when the
- % next line of text is done) \lineskip glue after it. (See p.82 of
- % the TeXbook.) Thus, space below is not quite equal to space
- % above. But it's pretty close.
- \def\Egroup{%
- \egroup % End the \vtop.
- % \dimen0 is the vertical size of the group's box.
- \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
- % \dimen2 is how much space is left on the page (more or less).
- \dimen2 = \pageheight \advance\dimen2 by -\pagetotal
- % if the group doesn't fit on the current page, and it's a big big
- % group, force a page break.
- \ifdim \dimen0 > \dimen2
- \ifdim \pagetotal < \vfilllimit\pageheight
- \page
- \fi
- \fi
- \copy\groupbox
- \endgroup % End the \group.
- }%
+ \startsavinginserts
%
\setbox\groupbox = \vtop\bgroup
- % We have to put a strut on the last line in case the @group is in
- % the midst of an example, rather than completely enclosing it.
- % Otherwise, the interline space between the last line of the group
- % and the first line afterwards is too small. But we can't put the
- % strut in \Egroup, since there it would be on a line by itself.
- % Hence this just inserts a strut at the beginning of each line.
- \everypar = {\strut}%
- %
- % Since we have a strut on every line, we don't need any of TeX's
- % normal interline spacing.
- \offinterlineskip
- %
- % OK, but now we have to do something about blank
- % lines in the input in @example-like environments, which normally
- % just turn into \lisppar, which will insert no space now that we've
- % turned off the interline space. Simplest is to make them be an
- % empty paragraph.
- \ifx\par\lisppar
- \edef\par{\leavevmode \par}%
- %
- % Reset ^^M's definition to new definition of \par.
- \obeylines
- \fi
- %
% Do @comment since we are called inside an environment such as
% @example, where each end-of-line in the input causes an
% end-of-line in the output. We don't want the end-of-line after
@@ -630,6 +763,32 @@
\comment
}
%
+% The \vtop produces a box with normal height and large depth; thus, TeX puts
+% \baselineskip glue before it, and (when the next line of text is done)
+% \lineskip glue after it. Thus, space below is not quite equal to space
+% above. But it's pretty close.
+\def\Egroup{%
+ % To get correct interline space between the last line of the group
+ % and the first line afterwards, we have to propagate \prevdepth.
+ \endgraf % Not \par, as it may have been set to \lisppar.
+ \global\dimen1 = \prevdepth
+ \egroup % End the \vtop.
+ % \dimen0 is the vertical size of the group's box.
+ \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
+ % \dimen2 is how much space is left on the page (more or less).
+ \dimen2 = \pageheight \advance\dimen2 by -\pagetotal
+ % if the group doesn't fit on the current page, and it's a big big
+ % group, force a page break.
+ \ifdim \dimen0 > \dimen2
+ \ifdim \pagetotal < \vfilllimit\pageheight
+ \page
+ \fi
+ \fi
+ \box\groupbox
+ \prevdepth = \dimen1
+ \checkinserts
+}
+%
% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
% message, so this ends up printing `@group can only ...'.
%
@@ -642,10 +801,8 @@ where each line of input produces a line of output.}
\newdimen\mil \mil=0.001in
-\def\need{\parsearg\needx}
-
% Old definition--didn't work.
-%\def\needx #1{\par %
+%\parseargdef\need{\par %
%% This method tries to make TeX break the page naturally
%% if the depth of the box does not fit.
%{\baselineskip=0pt%
@@ -653,7 +810,7 @@ where each line of input produces a line of output.}
%\prevdepth=-1000pt
%}}
-\def\needx#1{%
+\parseargdef\need{%
% Ensure vertical mode, so we don't make a big box in the middle of a
% paragraph.
\par
@@ -692,37 +849,11 @@ where each line of input produces a line of output.}
\fi
}
-% @br forces paragraph break
+% @br forces paragraph break (and is undocumented).
\let\br = \par
-% @dots{} output an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in a typewriter
-% font as three actual period characters.
-%
-\def\dots{%
- \leavevmode
- \hbox to 1.5em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \leavevmode
- \hbox to 2em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
- \spacefactor=3000
-}
-
-
-% @page forces the start of a new page
+% @page forces the start of a new page.
%
\def\page{\par\vfill\supereject}
@@ -734,13 +865,11 @@ where each line of input produces a line of output.}
\newskip\exdentamount
% This defn is used inside fill environments such as @defun.
-\def\exdent{\parsearg\exdentyyy}
-\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}}
+\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
% This defn is used inside nofill environments such as @example.
-\def\nofillexdent{\parsearg\nofillexdentyyy}
-\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
-\leftline{\hskip\leftskip{\rm#1}}}}
+\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
+ \leftline{\hskip\leftskip{\rm#1}}}}
% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
% paragraph. For more general purposes, use the \margin insertion
@@ -771,10 +900,10 @@ where each line of input produces a line of output.}
% @inmargin{TEXT [, RIGHT-TEXT]}
% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
% else use TEXT for both).
-%
+%
\def\inmargin#1{\parseinmargin #1,,\finish}
\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
- \setbox0 = \hbox{\ignorespaces #2}%
+ \setbox0 = \hbox{\ignorespaces #2}%
\ifdim\wd0 > 0pt
\def\lefttext{#1}% have both texts
\def\righttext{#2}%
@@ -791,9 +920,25 @@ where each line of input produces a line of output.}
\temp
}
-% @include file insert text of that file as input.
-% Allow normal characters that we make active in the argument (a file name).
-\def\include{\begingroup
+% @include FILE -- \input text of FILE.
+%
+\def\include{\parseargusing\filenamecatcodes\includezzz}
+\def\includezzz#1{%
+ \pushthisfilestack
+ \def\thisfile{#1}%
+ {%
+ \makevalueexpandable % we want to expand any @value in FILE.
+ \turnoffactive % and allow special characters in the expansion
+ \indexnofonts % Allow `@@' and other weird things in file names.
+ \edef\temp{\noexpand\input #1 }%
+ %
+ % This trickery is to read FILE outside of a group, in case it makes
+ % definitions, etc.
+ \expandafter
+ }\temp
+ \popthisfilestack
+}
+\def\filenamecatcodes{%
\catcode`\\=\other
\catcode`~=\other
\catcode`^=\other
@@ -802,33 +947,52 @@ where each line of input produces a line of output.}
\catcode`<=\other
\catcode`>=\other
\catcode`+=\other
- \parsearg\includezzz}
-% Restore active chars for included file.
-\def\includezzz#1{\endgroup\begingroup
- % Read the included file in a group so nested @include's work.
- \def\thisfile{#1}%
- \let\value=\expandablevalue
- \input\thisfile
-\endgroup}
+ \catcode`-=\other
+ \catcode`\`=\other
+ \catcode`\'=\other
+}
+
+\def\pushthisfilestack{%
+ \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
+}
+\def\pushthisfilestackX{%
+ \expandafter\pushthisfilestackY\thisfile\StackTerm
+}
+\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
+ \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
+}
+
+\def\popthisfilestack{\errthisfilestackempty}
+\def\errthisfilestackempty{\errmessage{Internal error:
+ the stack of filenames is empty.}}
\def\thisfile{}
% @center line
% outputs that line, centered.
%
-\def\center{\parsearg\docenter}
-\def\docenter#1{{%
- \ifhmode \hfil\break \fi
- \advance\hsize by -\leftskip
- \advance\hsize by -\rightskip
- \line{\hfil \ignorespaces#1\unskip \hfil}%
- \ifhmode \break \fi
-}}
+\parseargdef\center{%
+ \ifhmode
+ \let\next\centerH
+ \else
+ \let\next\centerV
+ \fi
+ \next{\hfil \ignorespaces#1\unskip \hfil}%
+}
+\def\centerH#1{%
+ {%
+ \hfil\break
+ \advance\hsize by -\leftskip
+ \advance\hsize by -\rightskip
+ \line{#1}%
+ \break
+ }%
+}
+\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
% @sp n outputs n lines of vertical space
-\def\sp{\parsearg\spxxx}
-\def\spxxx #1{\vskip #1\baselineskip}
+\parseargdef\sp{\vskip #1\baselineskip}
% @comment ...line which is ignored...
% @c is the same as @comment
@@ -843,13 +1007,13 @@ where each line of input produces a line of output.}
% @paragraphindent NCHARS
% We'll use ems for NCHARS, close enough.
-% We cannot implement @paragraphindent asis, though.
-%
+% NCHARS can also be the word `asis' or `none'.
+% We cannot feasibly implement @paragraphindent asis, though.
+%
\def\asisword{asis} % no translation, these are keywords
\def\noneword{none}
%
-\def\paragraphindent{\parsearg\doparagraphindent}
-\def\doparagraphindent#1{%
+\parseargdef\paragraphindent{%
\def\temp{#1}%
\ifx\temp\asisword
\else
@@ -866,8 +1030,7 @@ where each line of input produces a line of output.}
% We'll use ems for NCHARS like @paragraphindent.
% It seems @exampleindent asis isn't necessary, but
% I preserve it to make it similar to @paragraphindent.
-\def\exampleindent{\parsearg\doexampleindent}
-\def\doexampleindent#1{%
+\parseargdef\exampleindent{%
\def\temp{#1}%
\ifx\temp\asisword
\else
@@ -879,64 +1042,161 @@ where each line of input produces a line of output.}
\fi
}
+% @firstparagraphindent WORD
+% If WORD is `none', then suppress indentation of the first paragraph
+% after a section heading. If WORD is `insert', then do indent at such
+% paragraphs.
+%
+% The paragraph indentation is suppressed or not by calling
+% \suppressfirstparagraphindent, which the sectioning commands do.
+% We switch the definition of this back and forth according to WORD.
+% By default, we suppress indentation.
+%
+\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
+\def\insertword{insert}
+%
+\parseargdef\firstparagraphindent{%
+ \def\temp{#1}%
+ \ifx\temp\noneword
+ \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
+ \else\ifx\temp\insertword
+ \let\suppressfirstparagraphindent = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @firstparagraphindent option `\temp'}%
+ \fi\fi
+}
+
+% Here is how we actually suppress indentation. Redefine \everypar to
+% \kern backwards by \parindent, and then reset itself to empty.
+%
+% We also make \indent itself not actually do anything until the next
+% paragraph.
+%
+\gdef\dosuppressfirstparagraphindent{%
+ \gdef\indent{%
+ \restorefirstparagraphindent
+ \indent
+ }%
+ \gdef\noindent{%
+ \restorefirstparagraphindent
+ \noindent
+ }%
+ \global\everypar = {%
+ \kern -\parindent
+ \restorefirstparagraphindent
+ }%
+}
+
+\gdef\restorefirstparagraphindent{%
+ \global \let \indent = \ptexindent
+ \global \let \noindent = \ptexnoindent
+ \global \everypar = {}%
+}
+
+
% @asis just yields its argument. Used with @table, for example.
%
\def\asis#1{#1}
% @math outputs its argument in math mode.
-% We don't use $'s directly in the definition of \math because we need
-% to set catcodes according to plain TeX first, to allow for subscripts,
-% superscripts, special math chars, etc.
-%
-\let\implicitmath = $%$ font-lock fix
%
% One complication: _ usually means subscripts, but it could also mean
% an actual _ character, as in @math{@var{some_variable} + 1}. So make
-% _ within @math be active (mathcode "8000), and distinguish by seeing
-% if the current family is \slfam, which is what @var uses.
-%
-{\catcode\underChar = \active
-\gdef\mathunderscore{%
- \catcode\underChar=\active
- \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
-}}
-%
+% _ active, and distinguish by seeing if the current family is \slfam,
+% which is what @var uses.
+{
+ \catcode`\_ = \active
+ \gdef\mathunderscore{%
+ \catcode`\_=\active
+ \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
+ }
+}
% Another complication: we want \\ (and @\) to output a \ character.
% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
% this is not advertised and we don't care. Texinfo does not
% otherwise define @\.
-%
+%
% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
%
\def\math{%
\tex
- \mathcode`\_="8000 \mathunderscore
+ \mathunderscore
\let\\ = \mathbackslash
\mathactive
- \implicitmath\finishmath}
-\def\finishmath#1{#1\implicitmath\Etex}
+ % make the texinfo accent commands work in math mode
+ \let\"=\ddot
+ \let\'=\acute
+ \let\==\bar
+ \let\^=\hat
+ \let\`=\grave
+ \let\u=\breve
+ \let\v=\check
+ \let\~=\tilde
+ \let\dotaccent=\dot
+ $\finishmath
+}
+\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
% Some active characters (such as <) are spaced differently in math.
-% We have to reset their definitions in case the @math was an
-% argument to a command which set the catcodes (such as @item or @section).
-%
+% We have to reset their definitions in case the @math was an argument
+% to a command which sets the catcodes (such as @item or @section).
+%
{
\catcode`^ = \active
\catcode`< = \active
\catcode`> = \active
\catcode`+ = \active
+ \catcode`' = \active
\gdef\mathactive{%
\let^ = \ptexhat
\let< = \ptexless
\let> = \ptexgtr
\let+ = \ptexplus
+ \let' = \ptexquoteright
}
}
-% @bullet and @minus need the same treatment as @math, just above.
-\def\bullet{\implicitmath\ptexbullet\implicitmath}
-\def\minus{\implicitmath-\implicitmath}
+% Some math mode symbols.
+\def\bullet{$\ptexbullet$}
+\def\geq{\ifmmode \ge\else $\ge$\fi}
+\def\leq{\ifmmode \le\else $\le$\fi}
+\def\minus{\ifmmode -\else $-$\fi}
+
+% @dots{} outputs an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in the cm
+% typewriter fonts as three actual period characters; on the other hand,
+% in other typewriter fonts three periods are wider than 1.5em. So do
+% whichever is larger.
+%
+\def\dots{%
+ \leavevmode
+ \setbox0=\hbox{...}% get width of three periods
+ \ifdim\wd0 > 1.5em
+ \dimen0 = \wd0
+ \else
+ \dimen0 = 1.5em
+ \fi
+ \hbox to \dimen0{%
+ \hskip 0pt plus.25fil
+ .\hskip 0pt plus1fil
+ .\hskip 0pt plus1fil
+ .\hskip 0pt plus.5fil
+ }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+ \dots
+ \spacefactor=\endofsentencespacefactor
+}
+
+% @comma{} is so commas can be inserted into text without messing up
+% Texinfo's parsing.
+%
+\let\comma = ,
% @refill is a no-op.
\let\refill=\relax
@@ -952,20 +1212,20 @@ where each line of input produces a line of output.}
% So open here the files we need to have open while reading the input.
% This makes it possible to make a .fmt file for texinfo.
\def\setfilename{%
+ \fixbackslash % Turn off hack to swallow `\input texinfo'.
\iflinks
- \readauxfile
+ \tryauxfile
+ % Open the new aux file. TeX will close it automatically at exit.
+ \immediate\openout\auxfile=\jobname.aux
\fi % \openindices needs to do some work in any case.
\openindices
- \fixbackslash % Turn off hack to swallow `\input texinfo'.
- \global\let\setfilename=\comment % Ignore extra @setfilename cmds.
+ \let\setfilename=\comment % Ignore extra @setfilename cmds.
%
% If texinfo.cnf is present on the system, read it.
% Useful for site-wide @afourpaper, etc.
- % Just to be on the safe side, close the input stream before the \input.
\openin 1 texinfo.cnf
- \ifeof1 \let\temp=\relax \else \def\temp{\input texinfo.cnf }\fi
- \closein1
- \temp
+ \ifeof 1 \else \input texinfo.cnf \fi
+ \closein 1
%
\comment % Ignore the actual filename.
}
@@ -1001,119 +1261,297 @@ where each line of input produces a line of output.}
\newif\ifpdf
\newif\ifpdfmakepagedest
+% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
+% can be set). So we test for \relax and 0 as well as \undefined,
+% borrowed from ifpdf.sty.
\ifx\pdfoutput\undefined
- \pdffalse
- \let\pdfmkdest = \gobble
- \let\pdfurl = \gobble
- \let\endlink = \relax
- \let\linkcolor = \relax
- \let\pdfmakeoutlines = \relax
\else
- \pdftrue
- \pdfoutput = 1
- \input pdfcolor
+ \ifx\pdfoutput\relax
+ \else
+ \ifcase\pdfoutput
+ \else
+ \pdftrue
+ \fi
+ \fi
+\fi
+
+% PDF uses PostScript string constants for the names of xref targets,
+% for display in the outlines, and in other places. Thus, we have to
+% double any backslashes. Otherwise, a name like "\node" will be
+% interpreted as a newline (\n), followed by o, d, e. Not good.
+% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
+% (and related messages, the final outcome is that it is up to the TeX
+% user to double the backslashes and otherwise make the string valid, so
+% that's what we do).
+
+% double active backslashes.
+%
+{\catcode`\@=0 \catcode`\\=\active
+ @gdef@activebackslashdouble{%
+ @catcode`@\=@active
+ @let\=@doublebackslash}
+}
+
+% To handle parens, we must adopt a different approach, since parens are
+% not active characters. hyperref.dtx (which has the same problem as
+% us) handles it with this amazing macro to replace tokens, with minor
+% changes for Texinfo. It is included here under the GPL by permission
+% from the author, Heiko Oberdiek.
+%
+% #1 is the tokens to replace.
+% #2 is the replacement.
+% #3 is the control sequence with the string.
+%
+\def\HyPsdSubst#1#2#3{%
+ \def\HyPsdReplace##1#1##2\END{%
+ ##1%
+ \ifx\\##2\\%
+ \else
+ #2%
+ \HyReturnAfterFi{%
+ \HyPsdReplace##2\END
+ }%
+ \fi
+ }%
+ \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
+}
+\long\def\HyReturnAfterFi#1\fi{\fi#1}
+
+% #1 is a control sequence in which to do the replacements.
+\def\backslashparens#1{%
+ \xdef#1{#1}% redefine it as its expansion; the definition is simply
+ % \lastnode when called from \setref -> \pdfmkdest.
+ \HyPsdSubst{(}{\realbackslash(}{#1}%
+ \HyPsdSubst{)}{\realbackslash)}{#1}%
+}
+
+\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
+with PDF output, and none of those formats could be found. (.eps cannot
+be supported due to the design of the PDF format; use regular TeX (DVI
+output) for that.)}
+
+\ifpdf
+ %
+ % Color manipulation macros based on pdfcolor.tex.
+ \def\cmykDarkRed{0.28 1 1 0.35}
+ \def\cmykBlack{0 0 0 1}
+ %
+ % k sets the color for filling (usual text, etc.);
+ % K sets the color for stroking (thin rules, e.g., normal _'s).
+ \def\pdfsetcolor#1{\pdfliteral{#1 k #1 K}}
+ %
+ % Set color, and create a mark which defines \thiscolor accordingly,
+ % so that \makeheadline knows which color to restore.
+ \def\setcolor#1{%
+ \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}%
+ \domark
+ \pdfsetcolor{#1}%
+ }
+ %
+ \def\maincolor{\cmykBlack}
+ \pdfsetcolor{\maincolor}
+ \edef\thiscolor{\maincolor}
+ \def\lastcolordefs{}
+ %
+ \def\makefootline{%
+ \baselineskip24pt
+ \line{\pdfsetcolor{\maincolor}\the\footline}%
+ }
+ %
+ \def\makeheadline{%
+ \vbox to 0pt{%
+ \vskip-22.5pt
+ \line{%
+ \vbox to8.5pt{}%
+ % Extract \thiscolor definition from the marks.
+ \getcolormarks
+ % Typeset the headline with \maincolor, then restore the color.
+ \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+ }%
+ \vss
+ }%
+ \nointerlineskip
+ }
+ %
+ %
+ \pdfcatalog{/PageMode /UseOutlines}
+ %
+ % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
\def\dopdfimage#1#2#3{%
- \def\imagewidth{#2}%
- \def\imageheight{#3}%
- % without \immediate, pdftex seg faults when the same image is
+ \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+ \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+ %
+ % pdftex (and the PDF format) support .png, .jpg, .pdf (among
+ % others). Let's try in that order.
+ \let\pdfimgext=\empty
+ \begingroup
+ \openin 1 #1.png \ifeof 1
+ \openin 1 #1.jpg \ifeof 1
+ \openin 1 #1.jpeg \ifeof 1
+ \openin 1 #1.JPG \ifeof 1
+ \openin 1 #1.pdf \ifeof 1
+ \openin 1 #1.PDF \ifeof 1
+ \errhelp = \nopdfimagehelp
+ \errmessage{Could not find image file #1 for pdf}%
+ \else \gdef\pdfimgext{PDF}%
+ \fi
+ \else \gdef\pdfimgext{pdf}%
+ \fi
+ \else \gdef\pdfimgext{JPG}%
+ \fi
+ \else \gdef\pdfimgext{jpeg}%
+ \fi
+ \else \gdef\pdfimgext{jpg}%
+ \fi
+ \else \gdef\pdfimgext{png}%
+ \fi
+ \closein 1
+ \endgroup
+ %
+ % without \immediate, ancient pdftex seg faults when the same image is
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
\ifnum\pdftexversion < 14
\immediate\pdfimage
\else
\immediate\pdfximage
\fi
- \ifx\empty\imagewidth\else width \imagewidth \fi
- \ifx\empty\imageheight\else height \imageheight \fi
+ \ifdim \wd0 >0pt width \imagewidth \fi
+ \ifdim \wd2 >0pt height \imageheight \fi
\ifnum\pdftexversion<13
- #1.pdf%
+ #1.\pdfimgext
\else
- {#1.pdf}%
+ {#1.\pdfimgext}%
\fi
\ifnum\pdftexversion < 14 \else
\pdfrefximage \pdflastximage
\fi}
- \def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}}
+ %
+ \def\pdfmkdest#1{{%
+ % We have to set dummies so commands such as @code, and characters
+ % such as \, aren't expanded when present in a section title.
+ \indexnofonts
+ \turnoffactive
+ \activebackslashdouble
+ \makevalueexpandable
+ \def\pdfdestname{#1}%
+ \backslashparens\pdfdestname
+ \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+ }}
+ %
+ % used to mark target names; must be expandable.
\def\pdfmkpgn#1{#1}
- \let\linkcolor = \Blue % was Cyan, but that seems light?
- \def\endlink{\Black\pdfendlink}
+ %
+ % by default, use a color that is dark enough to print on paper as
+ % nearly black, but still distinguishable for online viewing.
+ \def\urlcolor{\cmykDarkRed}
+ \def\linkcolor{\cmykDarkRed}
+ \def\endlink{\setcolor{\maincolor}\pdfendlink}
+ %
% Adding outlines to PDF; macros for calculating structure of outlines
% come from Petr Olsak
\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
\else \csname#1\endcsname \fi}
\def\advancenumber#1{\tempnum=\expnumber{#1}\relax
- \advance\tempnum by1
+ \advance\tempnum by 1
\expandafter\xdef\csname#1\endcsname{\the\tempnum}}
- \def\pdfmakeoutlines{{%
- \openin 1 \jobname.toc
- \ifeof 1\else\begingroup
- \closein 1
- % Thanh's hack / proper braces in bookmarks
+ %
+ % #1 is the section text, which is what will be displayed in the
+ % outline by the pdf viewer. #2 is the pdf expression for the number
+ % of subentries (or empty, for subsubsections). #3 is the node text,
+ % which might be empty if this toc entry had no corresponding node.
+ % #4 is the page number
+ %
+ \def\dopdfoutline#1#2#3#4{%
+ % Generate a link to the node text if that exists; else, use the
+ % page number. We could generate a destination for the section
+ % text in the case where a section has no node, but it doesn't
+ % seem worth the trouble, since most documents are normally structured.
+ \def\pdfoutlinedest{#3}%
+ \ifx\pdfoutlinedest\empty
+ \def\pdfoutlinedest{#4}%
+ \else
+ % Doubled backslashes in the name.
+ {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
+ \backslashparens\pdfoutlinedest}%
+ \fi
+ %
+ % Also double the backslashes in the display string.
+ {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
+ \backslashparens\pdfoutlinetext}%
+ %
+ \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
+ }
+ %
+ \def\pdfmakeoutlines{%
+ \begingroup
+ % Thanh's hack / proper braces in bookmarks
\edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
\edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
%
- \def\chapentry ##1##2##3{}
- \def\secentry ##1##2##3##4{\advancenumber{chap##2}}
- \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}}
- \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}}
- \let\appendixentry = \chapentry
- \let\unnumbchapentry = \chapentry
- \let\unnumbsecentry = \secentry
- \let\unnumbsubsecentry = \subsecentry
- \let\unnumbsubsubsecentry = \subsubsecentry
- \input \jobname.toc
- \def\chapentry ##1##2##3{%
- \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
- \def\secentry ##1##2##3##4{%
- \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}}
- \def\subsecentry ##1##2##3##4##5{%
- \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}}
- \def\subsubsecentry ##1##2##3##4##5##6{%
- \pdfoutline goto name{\pdfmkpgn{##6}}{##1}}
- \let\appendixentry = \chapentry
- \let\unnumbchapentry = \chapentry
- \let\unnumbsecentry = \secentry
- \let\unnumbsubsecentry = \subsecentry
- \let\unnumbsubsubsecentry = \subsubsecentry
+ % Read toc silently, to get counts of subentries for \pdfoutline.
+ \def\numchapentry##1##2##3##4{%
+ \def\thischapnum{##2}%
+ \def\thissecnum{0}%
+ \def\thissubsecnum{0}%
+ }%
+ \def\numsecentry##1##2##3##4{%
+ \advancenumber{chap\thischapnum}%
+ \def\thissecnum{##2}%
+ \def\thissubsecnum{0}%
+ }%
+ \def\numsubsecentry##1##2##3##4{%
+ \advancenumber{sec\thissecnum}%
+ \def\thissubsecnum{##2}%
+ }%
+ \def\numsubsubsecentry##1##2##3##4{%
+ \advancenumber{subsec\thissubsecnum}%
+ }%
+ \def\thischapnum{0}%
+ \def\thissecnum{0}%
+ \def\thissubsecnum{0}%
%
- % Make special characters normal for writing to the pdf file.
- %
+ % use \def rather than \let here because we redefine \chapentry et
+ % al. a second time, below.
+ \def\appentry{\numchapentry}%
+ \def\appsecentry{\numsecentry}%
+ \def\appsubsecentry{\numsubsecentry}%
+ \def\appsubsubsecentry{\numsubsubsecentry}%
+ \def\unnchapentry{\numchapentry}%
+ \def\unnsecentry{\numsecentry}%
+ \def\unnsubsecentry{\numsubsecentry}%
+ \def\unnsubsubsecentry{\numsubsubsecentry}%
+ \readdatafile{toc}%
+ %
+ % Read toc second time, this time actually producing the outlines.
+ % The `-' means take the \expnumber as the absolute number of
+ % subentries, which we calculated on our first read of the .toc above.
+ %
+ % We use the node names as the destinations.
+ \def\numchapentry##1##2##3##4{%
+ \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
+ \def\numsecentry##1##2##3##4{%
+ \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
+ \def\numsubsecentry##1##2##3##4{%
+ \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
+ \def\numsubsubsecentry##1##2##3##4{% count is always zero
+ \dopdfoutline{##1}{}{##3}{##4}}%
+ %
+ % PDF outlines are displayed using system fonts, instead of
+ % document fonts. Therefore we cannot use special characters,
+ % since the encoding is unknown. For example, the eogonek from
+ % Latin 2 (0xea) gets translated to a | character. Info from
+ % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
+ %
+ % xx to do this right, we have to translate 8-bit characters to
+ % their "best" equivalent, based on the @documentencoding. Right
+ % now, I guess we'll just let the pdf reader have its way.
\indexnofonts
- \let\tt=\relax
- \turnoffactive
- \input \jobname.toc
- \endgroup\fi
- }}
- \def\makelinks #1,{%
- \def\params{#1}\def\E{END}%
- \ifx\params\E
- \let\nextmakelinks=\relax
- \else
- \let\nextmakelinks=\makelinks
- \ifnum\lnkcount>0,\fi
- \picknum{#1}%
- \startlink attr{/Border [0 0 0]}
- goto name{\pdfmkpgn{\the\pgn}}%
- \linkcolor #1%
- \advance\lnkcount by 1%
- \endlink
- \fi
- \nextmakelinks
- }
- \def\picknum#1{\expandafter\pn#1}
- \def\pn#1{%
- \def\p{#1}%
- \ifx\p\lbrace
- \let\nextpn=\ppn
- \else
- \let\nextpn=\ppnn
- \def\first{#1}
- \fi
- \nextpn
+ \setupdatafile
+ \catcode`\\=\active \otherbackslash
+ \input \tocreadfilename
+ \endgroup
}
- \def\ppn#1{\pgn=#1\gobble}
- \def\ppnn{\pgn=\first}
- \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}
- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+ %
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
@@ -1128,25 +1566,36 @@ where each line of input produces a line of output.}
\else
\let \startlink \pdfstartlink
\fi
+ % make a live url in pdf output.
\def\pdfurl#1{%
\begingroup
- \normalturnoffactive\def\@{@}%
- \let\value=\expandablevalue
- \leavevmode\Red
+ % it seems we really need yet another set of dummies; have not
+ % tried to figure out what each command should do in the context
+ % of @url. for now, just make @/ a no-op, that's the only one
+ % people have actually reported a problem with.
+ %
+ \normalturnoffactive
+ \def\@{@}%
+ \let\/=\empty
+ \makevalueexpandable
+ % do we want to go so far as to use \indexnofonts instead of just
+ % special-casing \var here?
+ \def\var##1{##1}%
+ %
+ \leavevmode\setcolor{\urlcolor}%
\startlink attr{/Border [0 0 0]}%
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
- % #1
\endgroup}
\def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
\def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
\def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
\def\maketoks{%
- \expandafter\poptoks\the\toksA|ENDTOKS|
+ \expandafter\poptoks\the\toksA|ENDTOKS|\relax
\ifx\first0\adn0
\else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
\else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+ \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
\else
\ifnum0=\countA\else\makelink\fi
\ifx\first.\let\next=\done\else
@@ -1160,22 +1609,53 @@ where each line of input produces a line of output.}
{\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
\def\pdflink#1{%
\startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
- \linkcolor #1\endlink}
+ \setcolor{\linkcolor}#1\endlink}
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
-\fi % \ifx\pdfoutput
+\else
+ % non-pdf mode
+ \let\pdfmkdest = \gobble
+ \let\pdfurl = \gobble
+ \let\endlink = \relax
+ \let\setcolor = \gobble
+ \let\pdfsetcolor = \gobble
+ \let\pdfmakeoutlines = \relax
+\fi % \ifx\pdfoutput
\message{fonts,}
-% Font-change commands.
+
+% Change the current font style to #1, remembering it in \curfontstyle.
+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
+% italics, not bold italics.
+%
+\def\setfontstyle#1{%
+ \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
+ \csname ten#1\endcsname % change the current font
+}
+
+% Select #1 fonts with the current style.
+%
+\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
+
+\def\rm{\fam=0 \setfontstyle{rm}}
+\def\it{\fam=\itfam \setfontstyle{it}}
+\def\sl{\fam=\slfam \setfontstyle{sl}}
+\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
+\def\tt{\fam=\ttfam \setfontstyle{tt}}
+
+% Unfortunately, we have to override this for titles and the like, since
+% in those cases "rm" is bold. Sigh.
+\def\rmisbold{\rm\def\curfontstyle{bf}}
% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf analogous to plain's \rm, etc.
+% So we set up a \sf.
\newfam\sffam
-\def\sf{\fam=\sffam \tensf}
+\def\sf{\fam=\sffam \setfontstyle{sf}}
\let\li = \sf % Sometimes we call it \li, not \sf.
-% We don't need math for this one.
-\def\ttsl{\tenttsl}
+% We don't need math for this font style.
+\def\ttsl{\setfontstyle{ttsl}}
+
% Default leading.
\newdimen\textleading \textleading = 13.2pt
@@ -1188,8 +1668,12 @@ where each line of input produces a line of output.}
\def\strutheightpercent{.70833}
\def\strutdepthpercent {.29167}
%
+% can get a sort of poor man's double spacing by redefining this.
+\def\baselinefactor{1}
+%
\def\setleading#1{%
- \normalbaselineskip = #1\relax
+ \dimen0 = #1\relax
+ \normalbaselineskip = \baselinefactor\dimen0
\normallineskip = \lineskipfactor\normalbaselineskip
\normalbaselines
\setbox\strutbox =\hbox{%
@@ -1198,10 +1682,279 @@ where each line of input produces a line of output.}
}%
}
+% PDF CMaps. See also LaTeX's t1.cmap.
+%
+% do nothing with this by default.
+\expandafter\let\csname cmapOT1\endcsname\gobble
+\expandafter\let\csname cmapOT1IT\endcsname\gobble
+\expandafter\let\csname cmapOT1TT\endcsname\gobble
+
+% if we are producing pdf, and we have \pdffontattr, then define cmaps.
+% (\pdffontattr was introduced many years ago, but people still run
+% older pdftex's; it's easy to conditionalize, so we do.)
+\ifpdf \ifx\pdffontattr\undefined \else
+ \begingroup
+ \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
+ \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
+%%DocumentNeededResources: ProcSet (CIDInit)
+%%IncludeResource: ProcSet (CIDInit)
+%%BeginResource: CMap (TeX-OT1-0)
+%%Title: (TeX-OT1-0 TeX OT1 0)
+%%Version: 1.000
+%%EndComments
+/CIDInit /ProcSet findresource begin
+12 dict begin
+begincmap
+/CIDSystemInfo
+<< /Registry (TeX)
+/Ordering (OT1)
+/Supplement 0
+>> def
+/CMapName /TeX-OT1-0 def
+/CMapType 2 def
+1 begincodespacerange
+<00> <7F>
+endcodespacerange
+8 beginbfrange
+<00> <01> <0393>
+<09> <0A> <03A8>
+<23> <26> <0023>
+<28> <3B> <0028>
+<3F> <5B> <003F>
+<5D> <5E> <005D>
+<61> <7A> <0061>
+<7B> <7C> <2013>
+endbfrange
+40 beginbfchar
+<02> <0398>
+<03> <039B>
+<04> <039E>
+<05> <03A0>
+<06> <03A3>
+<07> <03D2>
+<08> <03A6>
+<0B> <00660066>
+<0C> <00660069>
+<0D> <0066006C>
+<0E> <006600660069>
+<0F> <00660066006C>
+<10> <0131>
+<11> <0237>
+<12> <0060>
+<13> <00B4>
+<14> <02C7>
+<15> <02D8>
+<16> <00AF>
+<17> <02DA>
+<18> <00B8>
+<19> <00DF>
+<1A> <00E6>
+<1B> <0153>
+<1C> <00F8>
+<1D> <00C6>
+<1E> <0152>
+<1F> <00D8>
+<21> <0021>
+<22> <201D>
+<27> <2019>
+<3C> <00A1>
+<3D> <003D>
+<3E> <00BF>
+<5C> <201C>
+<5F> <02D9>
+<60> <2018>
+<7D> <02DD>
+<7E> <007E>
+<7F> <00A8>
+endbfchar
+endcmap
+CMapName currentdict /CMap defineresource pop
+end
+end
+%%EndResource
+%%EOF
+ }\endgroup
+ \expandafter\edef\csname cmapOT1\endcsname#1{%
+ \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
+ }%
+%
+% \cmapOT1IT
+ \begingroup
+ \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
+ \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
+%%DocumentNeededResources: ProcSet (CIDInit)
+%%IncludeResource: ProcSet (CIDInit)
+%%BeginResource: CMap (TeX-OT1IT-0)
+%%Title: (TeX-OT1IT-0 TeX OT1IT 0)
+%%Version: 1.000
+%%EndComments
+/CIDInit /ProcSet findresource begin
+12 dict begin
+begincmap
+/CIDSystemInfo
+<< /Registry (TeX)
+/Ordering (OT1IT)
+/Supplement 0
+>> def
+/CMapName /TeX-OT1IT-0 def
+/CMapType 2 def
+1 begincodespacerange
+<00> <7F>
+endcodespacerange
+8 beginbfrange
+<00> <01> <0393>
+<09> <0A> <03A8>
+<25> <26> <0025>
+<28> <3B> <0028>
+<3F> <5B> <003F>
+<5D> <5E> <005D>
+<61> <7A> <0061>
+<7B> <7C> <2013>
+endbfrange
+42 beginbfchar
+<02> <0398>
+<03> <039B>
+<04> <039E>
+<05> <03A0>
+<06> <03A3>
+<07> <03D2>
+<08> <03A6>
+<0B> <00660066>
+<0C> <00660069>
+<0D> <0066006C>
+<0E> <006600660069>
+<0F> <00660066006C>
+<10> <0131>
+<11> <0237>
+<12> <0060>
+<13> <00B4>
+<14> <02C7>
+<15> <02D8>
+<16> <00AF>
+<17> <02DA>
+<18> <00B8>
+<19> <00DF>
+<1A> <00E6>
+<1B> <0153>
+<1C> <00F8>
+<1D> <00C6>
+<1E> <0152>
+<1F> <00D8>
+<21> <0021>
+<22> <201D>
+<23> <0023>
+<24> <00A3>
+<27> <2019>
+<3C> <00A1>
+<3D> <003D>
+<3E> <00BF>
+<5C> <201C>
+<5F> <02D9>
+<60> <2018>
+<7D> <02DD>
+<7E> <007E>
+<7F> <00A8>
+endbfchar
+endcmap
+CMapName currentdict /CMap defineresource pop
+end
+end
+%%EndResource
+%%EOF
+ }\endgroup
+ \expandafter\edef\csname cmapOT1IT\endcsname#1{%
+ \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
+ }%
+%
+% \cmapOT1TT
+ \begingroup
+ \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
+ \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
+%%DocumentNeededResources: ProcSet (CIDInit)
+%%IncludeResource: ProcSet (CIDInit)
+%%BeginResource: CMap (TeX-OT1TT-0)
+%%Title: (TeX-OT1TT-0 TeX OT1TT 0)
+%%Version: 1.000
+%%EndComments
+/CIDInit /ProcSet findresource begin
+12 dict begin
+begincmap
+/CIDSystemInfo
+<< /Registry (TeX)
+/Ordering (OT1TT)
+/Supplement 0
+>> def
+/CMapName /TeX-OT1TT-0 def
+/CMapType 2 def
+1 begincodespacerange
+<00> <7F>
+endcodespacerange
+5 beginbfrange
+<00> <01> <0393>
+<09> <0A> <03A8>
+<21> <26> <0021>
+<28> <5F> <0028>
+<61> <7E> <0061>
+endbfrange
+32 beginbfchar
+<02> <0398>
+<03> <039B>
+<04> <039E>
+<05> <03A0>
+<06> <03A3>
+<07> <03D2>
+<08> <03A6>
+<0B> <2191>
+<0C> <2193>
+<0D> <0027>
+<0E> <00A1>
+<0F> <00BF>
+<10> <0131>
+<11> <0237>
+<12> <0060>
+<13> <00B4>
+<14> <02C7>
+<15> <02D8>
+<16> <00AF>
+<17> <02DA>
+<18> <00B8>
+<19> <00DF>
+<1A> <00E6>
+<1B> <0153>
+<1C> <00F8>
+<1D> <00C6>
+<1E> <0152>
+<1F> <00D8>
+<20> <2423>
+<27> <2019>
+<60> <2018>
+<7F> <00A8>
+endbfchar
+endcmap
+CMapName currentdict /CMap defineresource pop
+end
+end
+%%EndResource
+%%EOF
+ }\endgroup
+ \expandafter\edef\csname cmapOT1TT\endcsname#1{%
+ \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
+ }%
+\fi\fi
+
+
% Set the font macro #1 to the font named #2, adding on the
% specified font prefix (normally `cm').
-% #3 is the font's design size, #4 is a scale factor
-\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
+% #3 is the font's design size, #4 is a scale factor, #5 is the CMap
+% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
+% empty to omit).
+\def\setfont#1#2#3#4#5{%
+ \font#1=\fontprefix#2#3 scaled #4
+ \csname cmap#5\endcsname#1%
+}
+% This is what gets called when #5 of \setfont is empty.
+\let\cmap\gobble
+% emacs-page end of cmaps
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
@@ -1226,110 +1979,293 @@ where each line of input produces a line of output.}
\def\scshape{csc}
\def\scbshape{csc}
-\newcount\mainmagstep
-\ifx\bigger\relax
- % not really supported.
- \mainmagstep=\magstep1
- \setfont\textrm\rmshape{12}{1000}
- \setfont\texttt\ttshape{12}{1000}
-\else
- \mainmagstep=\magstephalf
- \setfont\textrm\rmshape{10}{\mainmagstep}
- \setfont\texttt\ttshape{10}{\mainmagstep}
-\fi
-% Instead of cmb10, you may want to use cmbx10.
-% cmbx10 is a prettier font on its own, but cmb10
-% looks better when embedded in a line with cmr10
-% (in Bob's opinion).
-\setfont\textbf\bfshape{10}{\mainmagstep}
-\setfont\textit\itshape{10}{\mainmagstep}
-\setfont\textsl\slshape{10}{\mainmagstep}
-\setfont\textsf\sfshape{10}{\mainmagstep}
-\setfont\textsc\scshape{10}{\mainmagstep}
-\setfont\textttsl\ttslshape{10}{\mainmagstep}
+% Definitions for a main text size of 11pt. This is the default in
+% Texinfo.
+%
+\def\definetextfontsizexi{%
+% Text fonts (11.2pt, magstep1).
+\def\textnominalsize{11pt}
+\edef\mainmagstep{\magstephalf}
+\setfont\textrm\rmshape{10}{\mainmagstep}{OT1}
+\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT}
+\setfont\textbf\bfshape{10}{\mainmagstep}{OT1}
+\setfont\textit\itshape{10}{\mainmagstep}{OT1IT}
+\setfont\textsl\slshape{10}{\mainmagstep}{OT1}
+\setfont\textsf\sfshape{10}{\mainmagstep}{OT1}
+\setfont\textsc\scshape{10}{\mainmagstep}{OT1}
+\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
\font\texti=cmmi10 scaled \mainmagstep
\font\textsy=cmsy10 scaled \mainmagstep
+\def\textecsize{1095}
-% A few fonts for @defun, etc.
-\setfont\defbf\bxshape{10}{\magstep1} %was 1314
-\setfont\deftt\ttshape{10}{\magstep1}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
+% A few fonts for @defun names and args.
+\setfont\defbf\bfshape{10}{\magstep1}{OT1}
+\setfont\deftt\ttshape{10}{\magstep1}{OT1TT}
+\setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT}
+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
% Fonts for indices, footnotes, small examples (9pt).
-\setfont\smallrm\rmshape{9}{1000}
-\setfont\smalltt\ttshape{9}{1000}
-\setfont\smallbf\bfshape{10}{900}
-\setfont\smallit\itshape{9}{1000}
-\setfont\smallsl\slshape{9}{1000}
-\setfont\smallsf\sfshape{9}{1000}
-\setfont\smallsc\scshape{10}{900}
-\setfont\smallttsl\ttslshape{10}{900}
+\def\smallnominalsize{9pt}
+\setfont\smallrm\rmshape{9}{1000}{OT1}
+\setfont\smalltt\ttshape{9}{1000}{OT1TT}
+\setfont\smallbf\bfshape{10}{900}{OT1}
+\setfont\smallit\itshape{9}{1000}{OT1IT}
+\setfont\smallsl\slshape{9}{1000}{OT1}
+\setfont\smallsf\sfshape{9}{1000}{OT1}
+\setfont\smallsc\scshape{10}{900}{OT1}
+\setfont\smallttsl\ttslshape{10}{900}{OT1TT}
\font\smalli=cmmi9
\font\smallsy=cmsy9
+\def\smallecsize{0900}
% Fonts for small examples (8pt).
-\setfont\smallerrm\rmshape{8}{1000}
-\setfont\smallertt\ttshape{8}{1000}
-\setfont\smallerbf\bfshape{10}{800}
-\setfont\smallerit\itshape{8}{1000}
-\setfont\smallersl\slshape{8}{1000}
-\setfont\smallersf\sfshape{8}{1000}
-\setfont\smallersc\scshape{10}{800}
-\setfont\smallerttsl\ttslshape{10}{800}
+\def\smallernominalsize{8pt}
+\setfont\smallerrm\rmshape{8}{1000}{OT1}
+\setfont\smallertt\ttshape{8}{1000}{OT1TT}
+\setfont\smallerbf\bfshape{10}{800}{OT1}
+\setfont\smallerit\itshape{8}{1000}{OT1IT}
+\setfont\smallersl\slshape{8}{1000}{OT1}
+\setfont\smallersf\sfshape{8}{1000}{OT1}
+\setfont\smallersc\scshape{10}{800}{OT1}
+\setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
\font\smalleri=cmmi8
\font\smallersy=cmsy8
-
-% Fonts for title page:
-\setfont\titlerm\rmbshape{12}{\magstep3}
-\setfont\titleit\itbshape{10}{\magstep4}
-\setfont\titlesl\slbshape{10}{\magstep4}
-\setfont\titlett\ttbshape{12}{\magstep3}
-\setfont\titlettsl\ttslshape{10}{\magstep4}
-\setfont\titlesf\sfbshape{17}{\magstep1}
+\def\smallerecsize{0800}
+
+% Fonts for title page (20.4pt):
+\def\titlenominalsize{20pt}
+\setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
+\setfont\titleit\itbshape{10}{\magstep4}{OT1IT}
+\setfont\titlesl\slbshape{10}{\magstep4}{OT1}
+\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT}
+\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT}
+\setfont\titlesf\sfbshape{17}{\magstep1}{OT1}
\let\titlebf=\titlerm
-\setfont\titlesc\scbshape{10}{\magstep4}
+\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
\font\titlei=cmmi12 scaled \magstep3
\font\titlesy=cmsy10 scaled \magstep4
-\def\authorrm{\secrm}
-\def\authortt{\sectt}
+\def\titleecsize{2074}
% Chapter (and unnumbered) fonts (17.28pt).
-\setfont\chaprm\rmbshape{12}{\magstep2}
-\setfont\chapit\itbshape{10}{\magstep3}
-\setfont\chapsl\slbshape{10}{\magstep3}
-\setfont\chaptt\ttbshape{12}{\magstep2}
-\setfont\chapttsl\ttslshape{10}{\magstep3}
-\setfont\chapsf\sfbshape{17}{1000}
+\def\chapnominalsize{17pt}
+\setfont\chaprm\rmbshape{12}{\magstep2}{OT1}
+\setfont\chapit\itbshape{10}{\magstep3}{OT1IT}
+\setfont\chapsl\slbshape{10}{\magstep3}{OT1}
+\setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT}
+\setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT}
+\setfont\chapsf\sfbshape{17}{1000}{OT1}
\let\chapbf=\chaprm
-\setfont\chapsc\scbshape{10}{\magstep3}
+\setfont\chapsc\scbshape{10}{\magstep3}{OT1}
\font\chapi=cmmi12 scaled \magstep2
\font\chapsy=cmsy10 scaled \magstep3
+\def\chapecsize{1728}
% Section fonts (14.4pt).
-\setfont\secrm\rmbshape{12}{\magstep1}
-\setfont\secit\itbshape{10}{\magstep2}
-\setfont\secsl\slbshape{10}{\magstep2}
-\setfont\sectt\ttbshape{12}{\magstep1}
-\setfont\secttsl\ttslshape{10}{\magstep2}
-\setfont\secsf\sfbshape{12}{\magstep1}
+\def\secnominalsize{14pt}
+\setfont\secrm\rmbshape{12}{\magstep1}{OT1}
+\setfont\secit\itbshape{10}{\magstep2}{OT1IT}
+\setfont\secsl\slbshape{10}{\magstep2}{OT1}
+\setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
+\setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT}
+\setfont\secsf\sfbshape{12}{\magstep1}{OT1}
\let\secbf\secrm
-\setfont\secsc\scbshape{10}{\magstep2}
+\setfont\secsc\scbshape{10}{\magstep2}{OT1}
\font\seci=cmmi12 scaled \magstep1
\font\secsy=cmsy10 scaled \magstep2
+\def\sececsize{1440}
% Subsection fonts (13.15pt).
-\setfont\ssecrm\rmbshape{12}{\magstephalf}
-\setfont\ssecit\itbshape{10}{1315}
-\setfont\ssecsl\slbshape{10}{1315}
-\setfont\ssectt\ttbshape{12}{\magstephalf}
-\setfont\ssecttsl\ttslshape{10}{1315}
-\setfont\ssecsf\sfbshape{12}{\magstephalf}
+\def\ssecnominalsize{13pt}
+\setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1}
+\setfont\ssecit\itbshape{10}{1315}{OT1IT}
+\setfont\ssecsl\slbshape{10}{1315}{OT1}
+\setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT}
+\setfont\ssecttsl\ttslshape{10}{1315}{OT1TT}
+\setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1}
\let\ssecbf\ssecrm
-\setfont\ssecsc\scbshape{10}{\magstep1}
+\setfont\ssecsc\scbshape{10}{1315}{OT1}
\font\sseci=cmmi12 scaled \magstephalf
\font\ssecsy=cmsy10 scaled 1315
-% The smallcaps and symbol fonts should actually be scaled \magstep1.5,
-% but that is not a standard magnification.
+\def\ssececsize{1200}
+
+% Reduced fonts for @acro in text (10pt).
+\def\reducednominalsize{10pt}
+\setfont\reducedrm\rmshape{10}{1000}{OT1}
+\setfont\reducedtt\ttshape{10}{1000}{OT1TT}
+\setfont\reducedbf\bfshape{10}{1000}{OT1}
+\setfont\reducedit\itshape{10}{1000}{OT1IT}
+\setfont\reducedsl\slshape{10}{1000}{OT1}
+\setfont\reducedsf\sfshape{10}{1000}{OT1}
+\setfont\reducedsc\scshape{10}{1000}{OT1}
+\setfont\reducedttsl\ttslshape{10}{1000}{OT1TT}
+\font\reducedi=cmmi10
+\font\reducedsy=cmsy10
+\def\reducedecsize{1000}
+
+% reset the current fonts
+\textfonts
+\rm
+} % end of 11pt text font size definitions
+
+
+% Definitions to make the main text be 10pt Computer Modern, with
+% section, chapter, etc., sizes following suit. This is for the GNU
+% Press printing of the Emacs 22 manual. Maybe other manuals in the
+% future. Used with @smallbook, which sets the leading to 12pt.
+%
+\def\definetextfontsizex{%
+% Text fonts (10pt).
+\def\textnominalsize{10pt}
+\edef\mainmagstep{1000}
+\setfont\textrm\rmshape{10}{\mainmagstep}{OT1}
+\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT}
+\setfont\textbf\bfshape{10}{\mainmagstep}{OT1}
+\setfont\textit\itshape{10}{\mainmagstep}{OT1IT}
+\setfont\textsl\slshape{10}{\mainmagstep}{OT1}
+\setfont\textsf\sfshape{10}{\mainmagstep}{OT1}
+\setfont\textsc\scshape{10}{\mainmagstep}{OT1}
+\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
+\font\texti=cmmi10 scaled \mainmagstep
+\font\textsy=cmsy10 scaled \mainmagstep
+\def\textecsize{1000}
+
+% A few fonts for @defun names and args.
+\setfont\defbf\bfshape{10}{\magstephalf}{OT1}
+\setfont\deftt\ttshape{10}{\magstephalf}{OT1TT}
+\setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT}
+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+
+% Fonts for indices, footnotes, small examples (9pt).
+\def\smallnominalsize{9pt}
+\setfont\smallrm\rmshape{9}{1000}{OT1}
+\setfont\smalltt\ttshape{9}{1000}{OT1TT}
+\setfont\smallbf\bfshape{10}{900}{OT1}
+\setfont\smallit\itshape{9}{1000}{OT1IT}
+\setfont\smallsl\slshape{9}{1000}{OT1}
+\setfont\smallsf\sfshape{9}{1000}{OT1}
+\setfont\smallsc\scshape{10}{900}{OT1}
+\setfont\smallttsl\ttslshape{10}{900}{OT1TT}
+\font\smalli=cmmi9
+\font\smallsy=cmsy9
+\def\smallecsize{0900}
+
+% Fonts for small examples (8pt).
+\def\smallernominalsize{8pt}
+\setfont\smallerrm\rmshape{8}{1000}{OT1}
+\setfont\smallertt\ttshape{8}{1000}{OT1TT}
+\setfont\smallerbf\bfshape{10}{800}{OT1}
+\setfont\smallerit\itshape{8}{1000}{OT1IT}
+\setfont\smallersl\slshape{8}{1000}{OT1}
+\setfont\smallersf\sfshape{8}{1000}{OT1}
+\setfont\smallersc\scshape{10}{800}{OT1}
+\setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
+\font\smalleri=cmmi8
+\font\smallersy=cmsy8
+\def\smallerecsize{0800}
+
+% Fonts for title page (20.4pt):
+\def\titlenominalsize{20pt}
+\setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
+\setfont\titleit\itbshape{10}{\magstep4}{OT1IT}
+\setfont\titlesl\slbshape{10}{\magstep4}{OT1}
+\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT}
+\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT}
+\setfont\titlesf\sfbshape{17}{\magstep1}{OT1}
+\let\titlebf=\titlerm
+\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
+\font\titlei=cmmi12 scaled \magstep3
+\font\titlesy=cmsy10 scaled \magstep4
+\def\titleecsize{2074}
+
+% Chapter fonts (14.4pt).
+\def\chapnominalsize{14pt}
+\setfont\chaprm\rmbshape{12}{\magstep1}{OT1}
+\setfont\chapit\itbshape{10}{\magstep2}{OT1IT}
+\setfont\chapsl\slbshape{10}{\magstep2}{OT1}
+\setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT}
+\setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT}
+\setfont\chapsf\sfbshape{12}{\magstep1}{OT1}
+\let\chapbf\chaprm
+\setfont\chapsc\scbshape{10}{\magstep2}{OT1}
+\font\chapi=cmmi12 scaled \magstep1
+\font\chapsy=cmsy10 scaled \magstep2
+\def\chapecsize{1440}
+
+% Section fonts (12pt).
+\def\secnominalsize{12pt}
+\setfont\secrm\rmbshape{12}{1000}{OT1}
+\setfont\secit\itbshape{10}{\magstep1}{OT1IT}
+\setfont\secsl\slbshape{10}{\magstep1}{OT1}
+\setfont\sectt\ttbshape{12}{1000}{OT1TT}
+\setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT}
+\setfont\secsf\sfbshape{12}{1000}{OT1}
+\let\secbf\secrm
+\setfont\secsc\scbshape{10}{\magstep1}{OT1}
+\font\seci=cmmi12
+\font\secsy=cmsy10 scaled \magstep1
+\def\sececsize{1200}
+
+% Subsection fonts (10pt).
+\def\ssecnominalsize{10pt}
+\setfont\ssecrm\rmbshape{10}{1000}{OT1}
+\setfont\ssecit\itbshape{10}{1000}{OT1IT}
+\setfont\ssecsl\slbshape{10}{1000}{OT1}
+\setfont\ssectt\ttbshape{10}{1000}{OT1TT}
+\setfont\ssecttsl\ttslshape{10}{1000}{OT1TT}
+\setfont\ssecsf\sfbshape{10}{1000}{OT1}
+\let\ssecbf\ssecrm
+\setfont\ssecsc\scbshape{10}{1000}{OT1}
+\font\sseci=cmmi10
+\font\ssecsy=cmsy10
+\def\ssececsize{1000}
+
+% Reduced fonts for @acro in text (9pt).
+\def\reducednominalsize{9pt}
+\setfont\reducedrm\rmshape{9}{1000}{OT1}
+\setfont\reducedtt\ttshape{9}{1000}{OT1TT}
+\setfont\reducedbf\bfshape{10}{900}{OT1}
+\setfont\reducedit\itshape{9}{1000}{OT1IT}
+\setfont\reducedsl\slshape{9}{1000}{OT1}
+\setfont\reducedsf\sfshape{9}{1000}{OT1}
+\setfont\reducedsc\scshape{10}{900}{OT1}
+\setfont\reducedttsl\ttslshape{10}{900}{OT1TT}
+\font\reducedi=cmmi9
+\font\reducedsy=cmsy9
+\def\reducedecsize{0900}
+
+% reduce space between paragraphs
+\divide\parskip by 2
+
+% reset the current fonts
+\textfonts
+\rm
+} % end of 10pt text font size definitions
+
+
+% We provide the user-level command
+% @fonttextsize 10
+% (or 11) to redefine the text font size. pt is assumed.
+%
+\def\xword{10}
+\def\xiword{11}
+%
+\parseargdef\fonttextsize{%
+ \def\textsizearg{#1}%
+ \wlog{doing @fonttextsize \textsizearg}%
+ %
+ % Set \globaldefs so that documents can use this inside @tex, since
+ % makeinfo 4.8 does not support it, but we need it nonetheless.
+ %
+ \begingroup \globaldefs=1
+ \ifx\textsizearg\xword \definetextfontsizex
+ \else \ifx\textsizearg\xiword \definetextfontsizexi
+ \else
+ \errhelp=\EMsimple
+ \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'}
+ \fi\fi
+ \endgroup
+}
+
% In order for the font changes to affect most math symbols and letters,
% we have to define the \textfont of the standard families. Since
@@ -1344,106 +2280,264 @@ where each line of input produces a line of output.}
}
% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE. We do this so that font changes will continue to work
-% in math mode, where it is the current \fam that is relevant in most
-% cases, not the current font. Plain TeX does \def\bf{\fam=\bffam
-% \tenbf}, for example. By redefining \tenbf, we obviate the need to
-% redefine \bf itself.
+% of just \STYLE. We do this because \STYLE needs to also set the
+% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire
+% \tenSTYLE to set the current font.
+%
+% Each font-changing command also sets the names \lsize (one size lower)
+% and \lllsize (three sizes lower). These relative commands are used in
+% the LaTeX logo and acronyms.
+%
+% This all needs generalizing, badly.
+%
\def\textfonts{%
\let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
\let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
- \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl
+ \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
+ \let\tenttsl=\textttsl
+ \def\curfontsize{text}%
+ \def\lsize{reduced}\def\lllsize{smaller}%
\resetmathfonts \setleading{\textleading}}
\def\titlefonts{%
\let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
\let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
\let\tenttsl=\titlettsl
+ \def\curfontsize{title}%
+ \def\lsize{chap}\def\lllsize{subsec}%
\resetmathfonts \setleading{25pt}}
-\def\titlefont#1{{\titlefonts\rm #1}}
+\def\titlefont#1{{\titlefonts\rmisbold #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
- \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl
+ \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
+ \let\tenttsl=\chapttsl
+ \def\curfontsize{chap}%
+ \def\lsize{sec}\def\lllsize{text}%
\resetmathfonts \setleading{19pt}}
\def\secfonts{%
\let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
\let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
- \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl
+ \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
+ \let\tenttsl=\secttsl
+ \def\curfontsize{sec}%
+ \def\lsize{subsec}\def\lllsize{reduced}%
\resetmathfonts \setleading{16pt}}
\def\subsecfonts{%
\let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
\let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
- \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl
+ \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
+ \let\tenttsl=\ssecttsl
+ \def\curfontsize{ssec}%
+ \def\lsize{text}\def\lllsize{small}%
\resetmathfonts \setleading{15pt}}
-\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf?
+\let\subsubsecfonts = \subsecfonts
+\def\reducedfonts{%
+ \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
+ \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
+ \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
+ \let\tenttsl=\reducedttsl
+ \def\curfontsize{reduced}%
+ \def\lsize{small}\def\lllsize{smaller}%
+ \resetmathfonts \setleading{10.5pt}}
\def\smallfonts{%
\let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
\let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
\let\tenttsl=\smallttsl
+ \def\curfontsize{small}%
+ \def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{10.5pt}}
\def\smallerfonts{%
\let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
\let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
\let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
\let\tenttsl=\smallerttsl
+ \def\curfontsize{smaller}%
+ \def\lsize{smaller}\def\lllsize{smaller}%
\resetmathfonts \setleading{9.5pt}}
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}{OT1}
+\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
+\setfont\shortcontsl\slshape{12}{1000}{OT1}
+\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
+
+% Define these just so they can be easily changed for other fonts.
+\def\angleleft{$\langle$}
+\def\angleright{$\rangle$}
+
% Set the fonts to use with the @small... environments.
\let\smallexamplefonts = \smallfonts
% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample
% can fit this many characters:
% 8.5x11=86 smallbook=72 a4=90 a5=69
-% If we use \smallerfonts (8pt), then we can fit this many characters:
+% If we use \scriptfonts (8pt), then we can fit this many characters:
% 8.5x11=90+ smallbook=80 a4=90+ a5=77
% For me, subjectively, the few extra characters that fit aren't worth
% the additional smallness of 8pt. So I'm making the default 9pt.
-%
+%
% By the way, for comparison, here's what fits with @example (10pt):
% 8.5x11=71 smallbook=60 a4=75 a5=58
-%
-% I wish we used A4 paper on this side of the Atlantic.
-%
% --karl, 24jan03.
-
% Set up the default fonts, so we can use them for creating boxes.
%
-\textfonts
+\definetextfontsizexi
-% Define these so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
+
+\message{markup,}
+
+% Check if we are currently using a typewriter font. Since all the
+% Computer Modern typewriter fonts have zero interword stretch (and
+% shrink), and it is reasonable to expect all typewriter fonts to have
+% this property, we can check that font parameter.
+%
+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
+
+% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
+% define and register \INITMACRO to be called on markup style changes.
+% \INITMACRO can check \currentmarkupstyle for the innermost
+% style and the set of \ifmarkupSTYLE switches for all styles
+% currently in effect.
+\newif\ifmarkupvar
+\newif\ifmarkupsamp
+\newif\ifmarkupkey
+%\newif\ifmarkupfile % @file == @samp.
+%\newif\ifmarkupoption % @option == @samp.
+\newif\ifmarkupcode
+\newif\ifmarkupkbd
+%\newif\ifmarkupenv % @env == @code.
+%\newif\ifmarkupcommand % @command == @code.
+\newif\ifmarkuptex % @tex (and part of @math, for now).
+\newif\ifmarkupexample
+\newif\ifmarkupverb
+\newif\ifmarkupverbatim
+
+\let\currentmarkupstyle\empty
+
+\def\setupmarkupstyle#1{%
+ \csname markup#1true\endcsname
+ \def\currentmarkupstyle{#1}%
+ \markupstylesetup
+}
+
+\let\markupstylesetup\empty
+
+\def\defmarkupstylesetup#1{%
+ \expandafter\def\expandafter\markupstylesetup
+ \expandafter{\markupstylesetup #1}%
+ \def#1%
+}
+
+% Markup style setup for left and right quotes.
+\defmarkupstylesetup\markupsetuplq{%
+ \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
+ \ifx\temp\relax \markupsetuplqdefault \else \temp \fi
+}
+
+\defmarkupstylesetup\markupsetuprq{%
+ \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
+ \ifx\temp\relax \markupsetuprqdefault \else \temp \fi
+}
+
+{
+\catcode`\'=\active
+\catcode`\`=\active
+
+\gdef\markupsetuplqdefault{\let`\lq}
+\gdef\markupsetuprqdefault{\let'\rq}
+
+\gdef\markupsetcodequoteleft{\let`\codequoteleft}
+\gdef\markupsetcodequoteright{\let'\codequoteright}
+
+\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
+}
+
+\let\markupsetuplqcode \markupsetcodequoteleft
+\let\markupsetuprqcode \markupsetcodequoteright
+\let\markupsetuplqexample \markupsetcodequoteleft
+\let\markupsetuprqexample \markupsetcodequoteright
+\let\markupsetuplqverb \markupsetcodequoteleft
+\let\markupsetuprqverb \markupsetcodequoteright
+\let\markupsetuplqverbatim \markupsetcodequoteleft
+\let\markupsetuprqverbatim \markupsetcodequoteright
+
+\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
+\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
+
+% Allow an option to not replace quotes with a regular directed right
+% quote/apostrophe (char 0x27), but instead use the undirected quote
+% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
+% the default, but it works for pasting with more pdf viewers (at least
+% evince), the lilypond developers report. xpdf does work with the
+% regular 0x27.
+%
+\def\codequoteright{%
+ \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
+ \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
+ '%
+ \else \char'15 \fi
+ \else \char'15 \fi
+}
+%
+% and a similar option for the left quote char vs. a grave accent.
+% Modern fonts display ASCII 0x60 as a grave accent, so some people like
+% the code environments to do likewise.
+%
+\def\codequoteleft{%
+ \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
+ \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+ % [Knuth] pp. 380,381,391
+ % \relax disables Spanish ligatures ?` and !` of \tt font.
+ \relax`%
+ \else \char'22 \fi
+ \else \char'22 \fi
+}
+
+% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
+\def\noligaturesquoteleft{\relax\lq}
% Count depth in font-changes, for error checks
\newcount\fontdepth \fontdepth=0
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}
-\setfont\shortcontbf\bxshape{12}{1000}
-\setfont\shortcontsl\slshape{12}{1000}
-\setfont\shortconttt\ttshape{12}{1000}
-
%% Add scribe-like font environments, plus @l for inline lisp (usually sans
%% serif) and @ii for TeX italic
% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
+\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
+ \ptexslash\fi\fi\fi}
\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
+% like \smartslanted except unconditionally uses \ttsl.
+% @var is set to this for defun arguments.
+\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
+
+% @cite is like \smartslanted except unconditionally use \sl. We never want
+% ttsl for book titles, do we?
+\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
+
\let\i=\smartitalic
-\let\var=\smartslanted
+\let\slanted=\smartslanted
+\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}}
\let\dfn=\smartslanted
\let\emph=\smartitalic
-\let\cite=\smartslanted
+% Explicit font changes: @r, @sc, undocumented @ii.
+\def\r#1{{\rm #1}} % roman font
+\def\sc#1{{\smallcaps#1}} % smallcaps font
+\def\ii#1{{\it #1}} % italic font
+
+% @b, explicit bold. Also @strong.
\def\b#1{{\bf #1}}
\let\strong=\b
+% @sansserif, explicit sans.
+\def\sansserif#1{{\sf #1}}
+
% We can't just use \exhyphenpenalty, because that only has effect at
% the end of a paragraph. Restore normal hyphenation at the end of the
% group within which \nohyphenation is presumably called.
@@ -1454,30 +2548,50 @@ where each line of input produces a line of output.}
% Set sfcode to normal for the chars that usually have another value.
% Can't use plain's \frenchspacing because it uses the `\x notation, and
% sometimes \x has an active definition that messes things up.
-%
+%
\catcode`@=11
- \def\frenchspacing{%
+ \def\plainfrenchspacing{%
\sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
\sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
+ \def\endofsentencespacefactor{1000}% for @. and friends
+ }
+ \def\plainnonfrenchspacing{%
+ \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
+ \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
+ \def\endofsentencespacefactor{3000}% for @. and friends
}
\catcode`@=\other
+\def\endofsentencespacefactor{3000}% default
+% @t, explicit typewriter.
\def\t#1{%
- {\tt \rawbackslash \frenchspacing #1}%
+ {\tt \rawbackslash \plainfrenchspacing #1}%
\null
}
-\let\ttfont=\t
-\def\samp#1{`\tclose{#1}'\null}
-\setfont\keyrm\rmshape{8}{1000}
-\font\keysy=cmsy9
-\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
- \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
- \vbox{\hrule\kern-0.4pt
- \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
- \kern-0.4pt\hrule}%
- \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-% The old definition, with no lozenge:
-%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
+
+% @samp.
+\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
+
+% definition of @key that produces a lozenge. Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+% \vbox{\hrule\kern-0.4pt
+% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+% \kern-0.4pt\hrule}%
+% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+
+% definition of @key with no lozenge. If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle. But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}%
+ \nohyphenation
+ \ifmonospace\else\tt\fi
+ #1}\null}
+
+% ctrl is no longer a Texinfo command.
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
% @file, @option are the same as @samp.
@@ -1501,13 +2615,13 @@ where each line of input produces a line of output.}
\nohyphenation
%
\rawbackslash
- \frenchspacing
+ \plainfrenchspacing
#1%
}%
\null
}
-% We *must* turn on hyphenation at `-' and `_' in \code.
+% We *must* turn on hyphenation at `-' and `_' in @code.
% Otherwise, it is too hard to avoid overfull hboxes
% in the Emacs manual, the Library manual, etc.
@@ -1517,18 +2631,23 @@ where each line of input produces a line of output.}
% and arrange explicitly to hyphenate at a dash.
% -- rms.
{
- \catcode`\-=\active
- \catcode`\_=\active
+ \catcode`\-=\active \catcode`\_=\active
+ \catcode`\'=\active \catcode`\`=\active
+ \global\let'=\rq \global\let`=\lq % default definitions
%
\global\def\code{\begingroup
- \catcode`\-=\active \let-\codedash
- \catcode`\_=\active \let_\codeunder
+ \setupmarkupstyle{code}%
+ % The following should really be moved into \setupmarkupstyle handlers.
+ \catcode\dashChar=\active \catcode\underChar=\active
+ \ifallowcodebreaks
+ \let-\codedash
+ \let_\codeunder
+ \else
+ \let-\realdash
+ \let_\realunder
+ \fi
\codex
}
- %
- % If we end up with any active - characters when handling the index,
- % just treat them as a normal -.
- \global\def\indexbreaks{\catcode`\-=\active \let-\realdash}
}
\def\realdash{-}
@@ -1546,44 +2665,73 @@ where each line of input produces a line of output.}
}
\def\codex #1{\tclose{#1}\endgroup}
+% An additional complication: the above will allow breaks after, e.g.,
+% each of the four underscores in __typeof__. This is undesirable in
+% some manuals, especially if they don't have long identifiers in
+% general. @allowcodebreaks provides a way to control this.
+%
+\newif\ifallowcodebreaks \allowcodebreakstrue
+
+\def\keywordtrue{true}
+\def\keywordfalse{false}
+
+\parseargdef\allowcodebreaks{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\keywordtrue
+ \allowcodebreakstrue
+ \else\ifx\txiarg\keywordfalse
+ \allowcodebreaksfalse
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
+ \fi\fi
+}
+
% @kbd is like @code, except that if the argument is just one @key command,
% then @kbd has no effect.
+\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
% `example' (@kbd uses ttsl only inside of @example and friends),
% or `code' (@kbd uses normal tty font always).
-\def\kbdinputstyle{\parsearg\kbdinputstylexxx}
-\def\kbdinputstylexxx#1{%
- \def\arg{#1}%
- \ifx\arg\worddistinct
+\parseargdef\kbdinputstyle{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\worddistinct
\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
- \else\ifx\arg\wordexample
+ \else\ifx\txiarg\wordexample
\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
- \else\ifx\arg\wordcode
+ \else\ifx\txiarg\wordcode
\gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
\else
\errhelp = \EMsimple
- \errmessage{Unknown @kbdinputstyle `\arg'}%
+ \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
\fi\fi\fi
}
\def\worddistinct{distinct}
\def\wordexample{example}
\def\wordcode{code}
-% Default is `distinct.'
+% Default is `distinct'.
\kbdinputstyle distinct
\def\xkey{\key}
\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\look}}\fi
-\else{\tclose{\kbdfont\look}}\fi}
+\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
-% For @url, @env, @command quotes seem unnecessary, so use \code.
-\let\url=\code
+% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
+\let\indicateurl=\code
\let\env=\code
\let\command=\code
+% @clicksequence{File @click{} Open ...}
+\def\clicksequence#1{\begingroup #1\endgroup}
+
+% @clickstyle @arrow (by default)
+\parseargdef\clickstyle{\def\click{#1}}
+\def\click{\arrow}
+
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
% second argument specifying the text to display and an optional third
% arg as text to display instead of (rather than in addition to) the url
@@ -1612,9 +2760,13 @@ where each line of input produces a line of output.}
\endlink
\endgroup}
+% @url synonym for @uref, since that's how everyone uses it.
+%
+\let\url=\uref
+
% rms does not like angle brackets --karl, 17may97.
% So now @email is just like @uref, unless we are pdf.
-%
+%
%\def\email#1{\angleleft{\tt #1}\angleright}
\ifpdf
\def\email#1{\doemail#1,,\finish}
@@ -1629,36 +2781,215 @@ where each line of input produces a line of output.}
\let\email=\uref
\fi
-% Check if we are currently using a typewriter font. Since all the
-% Computer Modern typewriter fonts have zero interword stretch (and
-% shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter.
-%
-\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
%
\def\dmn#1{\thinspace #1}
-\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
-
% @l was never documented to mean ``switch to the Lisp font'',
% and it is not used as such in any manual I can find. We need it for
% Polish suppressed-l. --karl, 22sep96.
%\def\l#1{{\li #1}\null}
-% Explicit font changes: @r, @sc, undocumented @ii.
-\def\r#1{{\rm #1}} % roman font
-\def\sc#1{{\smallcaps#1}} % smallcaps font
-\def\ii#1{{\it #1}} % italic font
+% @acronym for "FBI", "NATO", and the like.
+% We print this one point size smaller, since it's intended for
+% all-uppercase.
+%
+\def\acronym#1{\doacronym #1,,\finish}
+\def\doacronym#1,#2,#3\finish{%
+ {\selectfonts\lsize #1}%
+ \def\temp{#2}%
+ \ifx\temp\empty \else
+ \space ({\unsepspaces \ignorespaces \temp \unskip})%
+ \fi
+}
+
+% @abbr for "Comput. J." and the like.
+% No font change, but don't do end-of-sentence spacing.
+%
+\def\abbr#1{\doabbr #1,,\finish}
+\def\doabbr#1,#2,#3\finish{%
+ {\plainfrenchspacing #1}%
+ \def\temp{#2}%
+ \ifx\temp\empty \else
+ \space ({\unsepspaces \ignorespaces \temp \unskip})%
+ \fi
+}
-% @acronym downcases the argument and prints in smallcaps.
-\def\acronym#1{{\smallcaps \lowercase{#1}}}
-% @pounds{} is a sterling sign.
+\message{glyphs,}
+
+% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
+%
+% Since these characters are used in examples, they should be an even number of
+% \tt widths. Each \tt character is 1en, so two makes it 1em.
+%
+\def\point{$\star$}
+\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
+\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
+\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
+\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
+\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
+
+% The @error{} command.
+% Adapted from the TeXbook's \boxit.
+%
+\newbox\errorbox
+%
+{\tentt \global\dimen0 = 3em}% Width of the box.
+\dimen2 = .55pt % Thickness of rules
+% The text. (`r' is open on the right, `e' somewhat less so on the left.)
+\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+%
+\setbox\errorbox=\hbox to \dimen0{\hfil
+ \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
+ \advance\hsize by -2\dimen2 % Rules.
+ \vbox{%
+ \hrule height\dimen2
+ \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
+ \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
+ \kern3pt\vrule width\dimen2}% Space to right.
+ \hrule height\dimen2}
+ \hfil}
+%
+\def\error{\leavevmode\lower.7ex\copy\errorbox}
+
+% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
+%
\def\pounds{{\it\$}}
+% @euro{} comes from a separate font, depending on the current style.
+% We use the free feym* fonts from the eurosym package by Henrik
+% Theiling, which support regular, slanted, bold and bold slanted (and
+% "outlined" (blackboard board, sort of) versions, which we don't need).
+% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
+%
+% Although only regular is the truly official Euro symbol, we ignore
+% that. The Euro is designed to be slightly taller than the regular
+% font height.
+%
+% feymr - regular
+% feymo - slanted
+% feybr - bold
+% feybo - bold slanted
+%
+% There is no good (free) typewriter version, to my knowledge.
+% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
+% Hmm.
+%
+% Also doesn't work in math. Do we need to do math with euro symbols?
+% Hope not.
+%
+%
+\def\euro{{\eurofont e}}
+\def\eurofont{%
+ % We set the font at each command, rather than predefining it in
+ % \textfonts and the other font-switching commands, so that
+ % installations which never need the symbol don't have to have the
+ % font installed.
+ %
+ % There is only one designed size (nominal 10pt), so we always scale
+ % that to the current nominal size.
+ %
+ % By the way, simply using "at 1em" works for cmr10 and the like, but
+ % does not work for cmbx10 and other extended/shrunken fonts.
+ %
+ \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
+ %
+ \ifx\curfontstyle\bfstylename
+ % bold:
+ \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
+ \else
+ % regular:
+ \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
+ \fi
+ \thiseurofont
+}
+
+% Hacks for glyphs from the EC fonts similar to \euro. We don't
+% use \let for the aliases, because sometimes we redefine the original
+% macro, and the alias should reflect the redefinition.
+\def\guillemetleft{{\ecfont \char"13}}
+\def\guillemotleft{\guillemetleft}
+\def\guillemetright{{\ecfont \char"14}}
+\def\guillemotright{\guillemetright}
+\def\guilsinglleft{{\ecfont \char"0E}}
+\def\guilsinglright{{\ecfont \char"0F}}
+\def\quotedblbase{{\ecfont \char"12}}
+\def\quotesinglbase{{\ecfont \char"0D}}
+%
+% This positioning is not perfect (see the ogonek LaTeX package), but
+% we have the precomposed glyphs for the most common cases. We put the
+% tests to use those glyphs in the single \ogonek macro so we have fewer
+% dummy definitions to worry about for index entries, etc.
+%
+% ogonek is also used with other letters in Lithuanian (IOU), but using
+% the precomposed glyphs for those is not so easy since they aren't in
+% the same EC font.
+\def\ogonek#1{{%
+ \def\temp{#1}%
+ \ifx\temp\macrocharA\Aogonek
+ \else\ifx\temp\macrochara\aogonek
+ \else\ifx\temp\macrocharE\Eogonek
+ \else\ifx\temp\macrochare\eogonek
+ \else
+ \ecfont \setbox0=\hbox{#1}%
+ \ifdim\ht0=1ex\accent"0C #1%
+ \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}%
+ \fi
+ \fi\fi\fi\fi
+ }%
+}
+\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A}
+\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a}
+\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
+\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
+%
+\def\ecfont{%
+ % We can't distinguish serif/sans and italic/slanted, but this
+ % is used for crude hacks anyway (like adding French and German
+ % quotes to documents typeset with CM, where we lose kerning), so
+ % hopefully nobody will notice/care.
+ \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
+ \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
+ \ifx\curfontstyle\bfstylename
+ % bold:
+ \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \else
+ % regular:
+ \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \fi
+ \thisecfont
+}
+
+% @registeredsymbol - R in a circle. The font for the R should really
+% be smaller yet, but lllsize is the best we can do for now.
+% Adapted from the plain.tex definition of \copyright.
+%
+\def\registeredsymbol{%
+ $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
+ \hfil\crcr\Orb}}%
+ }$%
+}
+
+% @textdegree - the normal degrees sign.
+%
+\def\textdegree{$^\circ$}
+
+% Laurent Siebenmann reports \Orb undefined with:
+% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
+% so we'll define it if necessary.
+%
+\ifx\Orb\undefined
+\def\Orb{\mathhexbox20D}
+\fi
+
+% Quotes.
+\chardef\quotedblleft="5C
+\chardef\quotedblright=`\"
+\chardef\quoteleft=`\`
+\chardef\quoteright=`\'
+
\message{page headings,}
@@ -1677,87 +3008,100 @@ where each line of input produces a line of output.}
\newif\ifsetshortcontentsaftertitlepage
\let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-\def\shorttitlepage{\parsearg\shorttitlepagezzz}
-\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
\endgroup\page\hbox{}\page}
-\def\titlepage{\begingroup \parindent=0pt \textfonts
- \let\subtitlerm=\tenrm
- \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
- %
- \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
- \let\tt=\authortt}%
- %
- % Leave some space at the very top of the page.
- \vglue\titlepagetopglue
- %
- % Now you can print the title using @title.
- \def\title{\parsearg\titlezzz}%
- \def\titlezzz##1{\leftline{\titlefonts\rm ##1}
- % print a rule at the page bottom also.
- \finishedtitlepagefalse
- \vskip4pt \hrule height 4pt width \hsize \vskip4pt}%
- % No rule at page bottom unless we print one at the top with @title.
- \finishedtitlepagetrue
- %
- % Now you can put text using @subtitle.
- \def\subtitle{\parsearg\subtitlezzz}%
- \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}%
- %
- % @author should come last, but may come many times.
- \def\author{\parsearg\authorzzz}%
- \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi
- {\authorfont \leftline{##1}}}%
- %
- % Most title ``pages'' are actually two pages long, with space
- % at the top of the second. We don't want the ragged left on the second.
- \let\oldpage = \page
- \def\page{%
+\envdef\titlepage{%
+ % Open one extra group, as we want to close it in the middle of \Etitlepage.
+ \begingroup
+ \parindent=0pt \textfonts
+ % Leave some space at the very top of the page.
+ \vglue\titlepagetopglue
+ % No rule at page bottom unless we print one at the top with @title.
+ \finishedtitlepagetrue
+ %
+ % Most title ``pages'' are actually two pages long, with space
+ % at the top of the second. We don't want the ragged left on the second.
+ \let\oldpage = \page
+ \def\page{%
\iffinishedtitlepage\else
- \finishtitlepage
+ \finishtitlepage
\fi
- \oldpage
\let\page = \oldpage
- \hbox{}}%
-% \def\page{\oldpage \hbox{}}
+ \page
+ \null
+ }%
}
\def\Etitlepage{%
- \iffinishedtitlepage\else
- \finishtitlepage
- \fi
- % It is important to do the page break before ending the group,
- % because the headline and footline are only empty inside the group.
- % If we use the new definition of \page, we always get a blank page
- % after the title page, which we certainly don't want.
- \oldpage
- \endgroup
- %
- % Need this before the \...aftertitlepage checks so that if they are
- % in effect the toc pages will come out with page numbers.
- \HEADINGSon
- %
- % If they want short, they certainly want long too.
- \ifsetshortcontentsaftertitlepage
- \shortcontents
- \contents
- \global\let\shortcontents = \relax
- \global\let\contents = \relax
- \fi
- %
- \ifsetcontentsaftertitlepage
- \contents
- \global\let\contents = \relax
- \global\let\shortcontents = \relax
- \fi
+ \iffinishedtitlepage\else
+ \finishtitlepage
+ \fi
+ % It is important to do the page break before ending the group,
+ % because the headline and footline are only empty inside the group.
+ % If we use the new definition of \page, we always get a blank page
+ % after the title page, which we certainly don't want.
+ \oldpage
+ \endgroup
+ %
+ % Need this before the \...aftertitlepage checks so that if they are
+ % in effect the toc pages will come out with page numbers.
+ \HEADINGSon
+ %
+ % If they want short, they certainly want long too.
+ \ifsetshortcontentsaftertitlepage
+ \shortcontents
+ \contents
+ \global\let\shortcontents = \relax
+ \global\let\contents = \relax
+ \fi
+ %
+ \ifsetcontentsaftertitlepage
+ \contents
+ \global\let\contents = \relax
+ \global\let\shortcontents = \relax
+ \fi
}
\def\finishtitlepage{%
- \vskip4pt \hrule height 2pt width \hsize
- \vskip\titlepagebottomglue
- \finishedtitlepagetrue
+ \vskip4pt \hrule height 2pt width \hsize
+ \vskip\titlepagebottomglue
+ \finishedtitlepagetrue
+}
+
+%%% Macros to be used within @titlepage:
+
+\let\subtitlerm=\tenrm
+\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
+
+\parseargdef\title{%
+ \checkenv\titlepage
+ \leftline{\titlefonts\rmisbold #1}
+ % print a rule at the page bottom also.
+ \finishedtitlepagefalse
+ \vskip4pt \hrule height 4pt width \hsize \vskip4pt
+}
+
+\parseargdef\subtitle{%
+ \checkenv\titlepage
+ {\subtitlefont \rightline{#1}}%
+}
+
+% @author should come last, but may come many times.
+% It can also be used inside @quotation.
+%
+\parseargdef\author{%
+ \def\temp{\quotation}%
+ \ifx\thisenv\temp
+ \def\quotationauthor{#1}% printed in \Equotation.
+ \else
+ \checkenv\titlepage
+ \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+ {\secfonts\rmisbold \leftline{#1}}%
+ \fi
}
+
%%% Set up page headings and footings.
\let\thispage=\folio
@@ -1767,7 +3111,7 @@ where each line of input produces a line of output.}
\newtoks\evenfootline % footline on even pages
\newtoks\oddfootline % footline on odd pages
-% Now make Tex use those variables
+% Now make TeX use those variables
\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
\else \the\evenheadline \fi}}
\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
@@ -1781,43 +3125,64 @@ where each line of input produces a line of output.}
% @evenfooting @thisfile||
% @oddfooting ||@thisfile
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\everyheading{\parsearg\everyheadingxxx}
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\everyfooting{\parsearg\everyfootingxxx}
-
-{\catcode`\@=0 %
-
-\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
-\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%
+\def\evenheading{\parsearg\evenheadingxxx}
+\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
+\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
-\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%
+\def\oddheading{\parsearg\oddheadingxxx}
+\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
+\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-\gdef\everyheadingxxx#1{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
+\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
-\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
-\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%
+\def\evenfooting{\parsearg\evenfootingxxx}
+\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
+\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
-\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%
+\def\oddfooting{\parsearg\oddfootingxxx}
+\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
+\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
\global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
%
% Leave some space for the footline. Hopefully ok to assume
% @evenfooting will not be used by itself.
- \global\advance\pageheight by -\baselineskip
- \global\advance\vsize by -\baselineskip
+ \global\advance\pageheight by -12pt
+ \global\advance\vsize by -12pt
}
-\gdef\everyfootingxxx#1{\oddfootingxxx{#1}\evenfootingxxx{#1}}
+\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
+
+% @evenheadingmarks top \thischapter <- chapter at the top of a page
+% @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page
+%
+% The same set of arguments for:
%
-}% unbind the catcode of @.
+% @oddheadingmarks
+% @evenfootingmarks
+% @oddfootingmarks
+% @everyheadingmarks
+% @everyfootingmarks
+
+\def\evenheadingmarks{\headingmarks{even}{heading}}
+\def\oddheadingmarks{\headingmarks{odd}{heading}}
+\def\evenfootingmarks{\headingmarks{even}{footing}}
+\def\oddfootingmarks{\headingmarks{odd}{footing}}
+\def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1}
+ \headingmarks{odd}{heading}{#1} }
+\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1}
+ \headingmarks{odd}{footing}{#1} }
+% #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
+\def\headingmarks#1#2#3 {%
+ \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname
+ \global\expandafter\let\csname get#1#2marks\endcsname \temp
+}
+
+\everyheadingmarks bottom
+\everyfootingmarks bottom
% @headings double turns headings on for double-sided printing.
% @headings single turns headings on for single-sided printing.
@@ -1831,7 +3196,7 @@ where each line of input produces a line of output.}
\def\headings #1 {\csname HEADINGS#1\endcsname}
-\def\HEADINGSoff{
+\def\HEADINGSoff{%
\global\evenheadline={\hfil} \global\evenfootline={\hfil}
\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
\HEADINGSoff
@@ -1840,7 +3205,7 @@ where each line of input produces a line of output.}
% chapter name on inside top of right hand pages, document
% title on inside top of left hand pages, and page numbers on outside top
% edge of all pages.
-\def\HEADINGSdouble{
+\def\HEADINGSdouble{%
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
@@ -1852,7 +3217,7 @@ where each line of input produces a line of output.}
% For single-sided printing, chapter title goes across top left of page,
% page number on top right.
-\def\HEADINGSsingle{
+\def\HEADINGSsingle{%
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
@@ -1899,12 +3264,11 @@ where each line of input produces a line of output.}
% @settitle line... specifies the title of the document, for headings.
% It generates no output of its own.
\def\thistitle{\putwordNoTitle}
-\def\settitle{\parsearg\settitlezzz}
-\def\settitlezzz #1{\gdef\thistitle{#1}}
+\def\settitle{\parsearg{\gdef\thistitle}}
\message{tables,}
-% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).
+% Tables -- @table, @ftable, @vtable, @item(x).
% default indentation of table text
\newdimen\tableindent \tableindent=.8in
@@ -1916,7 +3280,7 @@ where each line of input produces a line of output.}
% used internally for \itemindent minus \itemmargin
\newdimen\itemmax
-% Note @table, @vtable, and @vtable define @item, @itemx, etc., with
+% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
% these defs.
% They also define \itemindex
% to index the item name in whatever manner is desired (perhaps none).
@@ -1928,22 +3292,10 @@ where each line of input produces a line of output.}
\def\internalBitem{\smallbreak \parsearg\itemzzz}
\def\internalBitemx{\itemxpar \parsearg\itemzzz}
-\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
-\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz}
-
-\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
-\def\internalBkitemx{\itemxpar \parsearg\kitemzzz}
-
-\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}%
- \itemzzz {#1}}
-
-\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}%
- \itemzzz {#1}}
-
\def\itemzzz #1{\begingroup %
\advance\hsize by -\rightskip
\advance\hsize by -\tableindent
- \setbox0=\hbox{\itemfont{#1}}%
+ \setbox0=\hbox{\itemindicate{#1}}%
\itemindex{#1}%
\nobreak % This prevents a break before @itemx.
%
@@ -1967,17 +3319,13 @@ where each line of input produces a line of output.}
% \parskip glue -- logically it's part of the @item we just started.
\nobreak \vskip-\parskip
%
- % Stop a page break at the \parskip glue coming up. (Unfortunately
- % we can't prevent a possible page break at the following
- % \baselineskip glue.) However, if what follows is an environment
- % such as @example, there will be no \parskip glue; then
- % the negative vskip we just would cause the example and the item to
- % crash together. So we use this bizarre value of 10001 as a signal
- % to \aboveenvbreak to insert \parskip glue after all.
- % (Possibly there are other commands that could be followed by
- % @example which need the same treatment, but not section titles; or
- % maybe section titles are the only special case and they should be
- % penalty 10001...)
+ % Stop a page break at the \parskip glue coming up. However, if
+ % what follows is an environment such as @example, there will be no
+ % \parskip glue; then the negative vskip we just inserted would
+ % cause the example and the item to crash together. So we use this
+ % bizarre value of 10001 as a signal to \aboveenvbreak to insert
+ % \parskip glue after all. Section titles are handled this way also.
+ %
\penalty 10001
\endgroup
\itemxneedsnegativevskipfalse
@@ -1997,92 +3345,116 @@ where each line of input produces a line of output.}
\fi
}
-\def\item{\errmessage{@item while not in a table}}
-\def\itemx{\errmessage{@itemx while not in a table}}
-\def\kitem{\errmessage{@kitem while not in a table}}
-\def\kitemx{\errmessage{@kitemx while not in a table}}
-\def\xitem{\errmessage{@xitem while not in a table}}
-\def\xitemx{\errmessage{@xitemx while not in a table}}
-
-% Contains a kludge to get @end[description] to work.
-\def\description{\tablez{\dontindex}{1}{}{}{}{}}
+\def\item{\errmessage{@item while not in a list environment}}
+\def\itemx{\errmessage{@itemx while not in a list environment}}
% @table, @ftable, @vtable.
-\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
-{\obeylines\obeyspaces%
-\gdef\tablex #1^^M{%
-\tabley\dontindex#1 \endtabley}}
-
-\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
-{\obeylines\obeyspaces%
-\gdef\ftablex #1^^M{%
-\tabley\fnitemindex#1 \endtabley
-\def\Eftable{\endgraf\afterenvbreak\endgroup}%
-\let\Etable=\relax}}
-
-\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex}
-{\obeylines\obeyspaces%
-\gdef\vtablex #1^^M{%
-\tabley\vritemindex#1 \endtabley
-\def\Evtable{\endgraf\afterenvbreak\endgroup}%
-\let\Etable=\relax}}
-
-\def\dontindex #1{}
-\def\fnitemindex #1{\doind {fn}{\code{#1}}}%
-\def\vritemindex #1{\doind {vr}{\code{#1}}}%
-
-{\obeyspaces %
-\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup%
-\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
-
-\def\tablez #1#2#3#4#5#6{%
-\aboveenvbreak %
-\begingroup %
-\def\Edescription{\Etable}% Necessary kludge.
-\let\itemindex=#1%
-\ifnum 0#3>0 \advance \leftskip by #3\mil \fi %
-\ifnum 0#4>0 \tableindent=#4\mil \fi %
-\ifnum 0#5>0 \advance \rightskip by #5\mil \fi %
-\def\itemfont{#2}%
-\itemmax=\tableindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \tableindent %
-\exdentamount=\tableindent
-\parindent = 0pt
-\parskip = \smallskipamount
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def\Etable{\endgraf\afterenvbreak\endgroup}%
-\let\item = \internalBitem %
-\let\itemx = \internalBitemx %
-\let\kitem = \internalBkitem %
-\let\kitemx = \internalBkitemx %
-\let\xitem = \internalBxitem %
-\let\xitemx = \internalBxitemx %
+\envdef\table{%
+ \let\itemindex\gobble
+ \tablecheck{table}%
+}
+\envdef\ftable{%
+ \def\itemindex ##1{\doind {fn}{\code{##1}}}%
+ \tablecheck{ftable}%
+}
+\envdef\vtable{%
+ \def\itemindex ##1{\doind {vr}{\code{##1}}}%
+ \tablecheck{vtable}%
+}
+\def\tablecheck#1{%
+ \ifnum \the\catcode`\^^M=\active
+ \endgroup
+ \errmessage{This command won't work in this context; perhaps the problem is
+ that we are \inenvironment\thisenv}%
+ \def\next{\doignore{#1}}%
+ \else
+ \let\next\tablex
+ \fi
+ \next
+}
+\def\tablex#1{%
+ \def\itemindicate{#1}%
+ \parsearg\tabley
+}
+\def\tabley#1{%
+ {%
+ \makevalueexpandable
+ \edef\temp{\noexpand\tablez #1\space\space\space}%
+ \expandafter
+ }\temp \endtablez
}
+\def\tablez #1 #2 #3 #4\endtablez{%
+ \aboveenvbreak
+ \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
+ \ifnum 0#2>0 \tableindent=#2\mil \fi
+ \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
+ \itemmax=\tableindent
+ \advance \itemmax by -\itemmargin
+ \advance \leftskip by \tableindent
+ \exdentamount=\tableindent
+ \parindent = 0pt
+ \parskip = \smallskipamount
+ \ifdim \parskip=0pt \parskip=2pt \fi
+ \let\item = \internalBitem
+ \let\itemx = \internalBitemx
+}
+\def\Etable{\endgraf\afterenvbreak}
+\let\Eftable\Etable
+\let\Evtable\Etable
+\let\Eitemize\Etable
+\let\Eenumerate\Etable
% This is the counter used by @enumerate, which is really @itemize
\newcount \itemno
-\def\itemize{\parsearg\itemizezzz}
+\envdef\itemize{\parsearg\doitemize}
-\def\itemizezzz #1{%
- \begingroup % ended by the @end itemize
- \itemizey {#1}{\Eitemize}
+\def\doitemize#1{%
+ \aboveenvbreak
+ \itemmax=\itemindent
+ \advance\itemmax by -\itemmargin
+ \advance\leftskip by \itemindent
+ \exdentamount=\itemindent
+ \parindent=0pt
+ \parskip=\smallskipamount
+ \ifdim\parskip=0pt \parskip=2pt \fi
+ %
+ % Try typesetting the item mark that if the document erroneously says
+ % something like @itemize @samp (intending @table), there's an error
+ % right away at the @itemize. It's not the best error message in the
+ % world, but it's better than leaving it to the @item. This means if
+ % the user wants an empty mark, they have to say @w{} not just @w.
+ \def\itemcontents{#1}%
+ \setbox0 = \hbox{\itemcontents}%
+ %
+ % @itemize with no arg is equivalent to @itemize @bullet.
+ \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
+ %
+ \let\item=\itemizeitem
}
-\def\itemizey #1#2{%
-\aboveenvbreak %
-\itemmax=\itemindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \itemindent %
-\exdentamount=\itemindent
-\parindent = 0pt %
-\parskip = \smallskipamount %
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def#2{\endgraf\afterenvbreak\endgroup}%
-\def\itemcontents{#1}%
-\let\item=\itemizeitem}
+% Definition of @item while inside @itemize and @enumerate.
+%
+\def\itemizeitem{%
+ \advance\itemno by 1 % for enumerations
+ {\let\par=\endgraf \smallbreak}% reasonable place to break
+ {%
+ % If the document has an @itemize directly after a section title, a
+ % \nobreak will be last on the list, and \sectionheading will have
+ % done a \vskip-\parskip. In that case, we don't want to zero
+ % parskip, or the item text will crash with the heading. On the
+ % other hand, when there is normal text preceding the item (as there
+ % usually is), we do want to zero parskip, or there would be too much
+ % space. In that case, we won't have a \nobreak before. At least
+ % that's the theory.
+ \ifnum\lastpenalty<10000 \parskip=0in \fi
+ \noindent
+ \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
+ %
+ \vadjust{\penalty 1200}}% not good to break after first line of item.
+ \flushcr
+}
% \splitoff TOKENS\endmark defines \first to be the first token in
% TOKENS, and \rest to be the remainder.
@@ -2093,11 +3465,8 @@ where each line of input produces a line of output.}
% or number, to specify the first label in the enumerated list. No
% argument is the same as `1'.
%
-\def\enumerate{\parsearg\enumeratezzz}
-\def\enumeratezzz #1{\enumeratey #1 \endenumeratey}
+\envparseargdef\enumerate{\enumeratey #1 \endenumeratey}
\def\enumeratey #1 #2\endenumeratey{%
- \begingroup % ended by the @end enumerate
- %
% If we were given no argument, pretend we were given `1'.
\def\thearg{#1}%
\ifx\thearg\empty \def\thearg{1}\fi
@@ -2168,13 +3537,13 @@ where each line of input produces a line of output.}
}%
}
-% Call itemizey, adding a period to the first argument and supplying the
+% Call \doitemize, adding a period to the first argument and supplying the
% common last two arguments. Also subtract one from the initial value in
% \itemno, since @item increments \itemno.
%
\def\startenumeration#1{%
\advance\itemno by -1
- \itemizey{#1.}\Eenumerate\flushcr
+ \doitemize{#1.}\flushcr
}
% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
@@ -2185,16 +3554,6 @@ where each line of input produces a line of output.}
\def\Ealphaenumerate{\Eenumerate}
\def\Ecapsenumerate{\Eenumerate}
-% Definition of @item while inside @itemize.
-
-\def\itemizeitem{%
-\advance\itemno by 1
-{\let\par=\endgraf \smallbreak}%
-\ifhmode \errmessage{In hmode at itemizeitem}\fi
-{\parskip=0in \hskip 0pt
-\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
-\vadjust{\penalty 1200}}%
-\flushcr}
% @multitable macros
% Amy Hendrickson, 8/18/94, 3/6/96
@@ -2221,24 +3580,14 @@ where each line of input produces a line of output.}
% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
% @item ...
% using the widest term desired in each column.
-%
-% For those who want to use more than one line's worth of words in
-% the preamble, break the line within one argument and it
-% will parse correctly, i.e.,
-%
-% @multitable {Column 1 template} {Column 2 template} {Column 3
-% template}
-% Not:
-% @multitable {Column 1 template} {Column 2 template}
-% {Column 3 template}
% Each new table line starts with @item, each subsequent new column
% starts with @tab. Empty columns may be produced by supplying @tab's
% with nothing between them for as many times as empty columns are needed,
% ie, @tab@tab@tab will produce two empty columns.
-% @item, @tab, @multitable or @end multitable do not need to be on their
-% own lines, but it will not hurt if they are.
+% @item, @tab do not need to be on their own lines, but it will not hurt
+% if they are.
% Sample multitable:
@@ -2282,13 +3631,12 @@ where each line of input produces a line of output.}
\def\xcolumnfractions{\columnfractions}
\newif\ifsetpercent
-% #1 is the part of the @columnfraction before the decimal point, which
-% is presumably either 0 or the empty string (but we don't check, we
-% just throw it away). #2 is the decimal part, which we use as the
-% percent of \hsize for this column.
-\def\pickupwholefraction#1.#2 {%
+% #1 is the @columnfraction, usually a decimal number like .5, but might
+% be just 1. We just use it, whatever it is.
+%
+\def\pickupwholefraction#1 {%
\global\advance\colcount by 1
- \expandafter\xdef\csname col\the\colcount\endcsname{.#2\hsize}%
+ \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
\setuptable
}
@@ -2321,18 +3669,40 @@ where each line of input produces a line of output.}
\go
}
+% multitable-only commands.
+%
+% @headitem starts a heading row, which we typeset in bold.
+% Assignments have to be global since we are inside the implicit group
+% of an alignment entry. \everycr resets \everytab so we don't have to
+% undo it ourselves.
+\def\headitemfont{\b}% for people to use in the template row; not changeable
+\def\headitem{%
+ \checkenv\multitable
+ \crcr
+ \global\everytab={\bf}% can't use \headitemfont since the parsing differs
+ \the\everytab % for the first item
+}%
+%
+% A \tab used to include \hskip1sp. But then the space in a template
+% line is not enough. That is bad. So let's go back to just `&' until
+% we again encounter the problem the 1sp was intended to solve.
+% --karl, nathan@acm.org, 20apr99.
+\def\tab{\checkenv\multitable &\the\everytab}%
+
% @multitable ... @end multitable definitions:
%
-\def\multitable{\parsearg\dotable}
-\def\dotable#1{\bgroup
+\newtoks\everytab % insert after every tab.
+%
+\envdef\multitable{%
\vskip\parskip
- \let\item=\crcrwithfootnotes
- % A \tab used to include \hskip1sp. But then the space in a template
- % line is not enough. That is bad. So let's go back to just & until
- % we encounter the problem it was intended to solve again. --karl,
- % nathan@acm.org, 20apr99.
- \let\tab=&%
- \let\startfootins=\startsavedfootnote
+ \startsavinginserts
+ %
+ % @item within a multitable starts a normal row.
+ % We use \def instead of \let so that if one of the multitable entries
+ % contains an @itemize, we don't choke on the \item (seen as \crcr aka
+ % \endtemplate) expanding \doitemize.
+ \def\item{\crcr}%
+ %
\tolerance=9500
\hbadness=9500
\setmultitablespacing
@@ -2340,85 +3710,93 @@ where each line of input produces a line of output.}
\parindent=\multitableparindent
\overfullrule=0pt
\global\colcount=0
- \def\Emultitable{%
- \global\setpercentfalse
- \crcrwithfootnotes\crcr
- \egroup\egroup
+ %
+ \everycr = {%
+ \noalign{%
+ \global\everytab={}%
+ \global\colcount=0 % Reset the column counter.
+ % Check for saved footnotes, etc.
+ \checkinserts
+ % Keeps underfull box messages off when table breaks over pages.
+ %\filbreak
+ % Maybe so, but it also creates really weird page breaks when the
+ % table breaks over pages. Wouldn't \vfil be better? Wait until the
+ % problem manifests itself, so it can be fixed for real --karl.
+ }%
}%
%
+ \parsearg\domultitable
+}
+\def\domultitable#1{%
% To parse everything between @multitable and @item:
\setuptable#1 \endsetuptable
%
- % \everycr will reset column counter, \colcount, at the end of
- % each line. Every column entry will cause \colcount to advance by one.
- % The table preamble
- % looks at the current \colcount to find the correct column width.
- \everycr{\noalign{%
- %
- % \filbreak%% keeps underfull box messages off when table breaks over pages.
- % Maybe so, but it also creates really weird page breaks when the table
- % breaks over pages. Wouldn't \vfil be better? Wait until the problem
- % manifests itself, so it can be fixed for real --karl.
- \global\colcount=0\relax}}%
- %
% This preamble sets up a generic column definition, which will
% be used as many times as user calls for columns.
% \vtop will set a single line and will also let text wrap and
% continue for many paragraphs if desired.
- \halign\bgroup&\global\advance\colcount by 1\relax
- \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
- %
- % In order to keep entries from bumping into each other
- % we will add a \leftskip of \multitablecolspace to all columns after
- % the first one.
- %
- % If a template has been used, we will add \multitablecolspace
- % to the width of each template entry.
- %
- % If the user has set preamble in terms of percent of \hsize we will
- % use that dimension as the width of the column, and the \leftskip
- % will keep entries from bumping into each other. Table will start at
- % left margin and final column will justify at right margin.
- %
- % Make sure we don't inherit \rightskip from the outer environment.
- \rightskip=0pt
- \ifnum\colcount=1
- % The first column will be indented with the surrounding text.
- \advance\hsize by\leftskip
- \else
- \ifsetpercent \else
- % If user has not set preamble in terms of percent of \hsize
- % we will advance \hsize by \multitablecolspace.
- \advance\hsize by \multitablecolspace
- \fi
- % In either case we will make \leftskip=\multitablecolspace:
- \leftskip=\multitablecolspace
- \fi
- % Ignoring space at the beginning and end avoids an occasional spurious
- % blank line, when TeX decides to break the line at the space before the
- % box from the multistrut, so the strut ends up on a line by itself.
- % For example:
- % @multitable @columnfractions .11 .89
- % @item @code{#}
- % @tab Legal holiday which is valid in major parts of the whole country.
- % Is automatically provided with highlighting sequences respectively marking
- % characters.
- \noindent\ignorespaces##\unskip\multistrut}\cr
-}
-
-\def\setmultitablespacing{% test to see if user has set \multitablelinespace.
-% If so, do nothing. If not, give it an appropriate dimension based on
-% current baselineskip.
+ \halign\bgroup &%
+ \global\advance\colcount by 1
+ \multistrut
+ \vtop{%
+ % Use the current \colcount to find the correct column width:
+ \hsize=\expandafter\csname col\the\colcount\endcsname
+ %
+ % In order to keep entries from bumping into each other
+ % we will add a \leftskip of \multitablecolspace to all columns after
+ % the first one.
+ %
+ % If a template has been used, we will add \multitablecolspace
+ % to the width of each template entry.
+ %
+ % If the user has set preamble in terms of percent of \hsize we will
+ % use that dimension as the width of the column, and the \leftskip
+ % will keep entries from bumping into each other. Table will start at
+ % left margin and final column will justify at right margin.
+ %
+ % Make sure we don't inherit \rightskip from the outer environment.
+ \rightskip=0pt
+ \ifnum\colcount=1
+ % The first column will be indented with the surrounding text.
+ \advance\hsize by\leftskip
+ \else
+ \ifsetpercent \else
+ % If user has not set preamble in terms of percent of \hsize
+ % we will advance \hsize by \multitablecolspace.
+ \advance\hsize by \multitablecolspace
+ \fi
+ % In either case we will make \leftskip=\multitablecolspace:
+ \leftskip=\multitablecolspace
+ \fi
+ % Ignoring space at the beginning and end avoids an occasional spurious
+ % blank line, when TeX decides to break the line at the space before the
+ % box from the multistrut, so the strut ends up on a line by itself.
+ % For example:
+ % @multitable @columnfractions .11 .89
+ % @item @code{#}
+ % @tab Legal holiday which is valid in major parts of the whole country.
+ % Is automatically provided with highlighting sequences respectively
+ % marking characters.
+ \noindent\ignorespaces##\unskip\multistrut
+ }\cr
+}
+\def\Emultitable{%
+ \crcr
+ \egroup % end the \halign
+ \global\setpercentfalse
+}
+
+\def\setmultitablespacing{%
+ \def\multistrut{\strut}% just use the standard line spacing
+ %
+ % Compute \multitablelinespace (if not defined by user) for use in
+ % \multitableparskip calculation. We used define \multistrut based on
+ % this, but (ironically) that caused the spacing to be off.
+ % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
\ifdim\multitablelinespace=0pt
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0
-%% strut to put in table in case some entry doesn't have descenders,
-%% to keep lines equally spaced
-\let\multistrut = \strut
-\else
-%% FIXME: what is \box0 supposed to be?
-\gdef\multistrut{\vrule height\multitablelinespace depth\dp0
-width0pt\relax} \fi
+\fi
%% Test to see if parskip is larger than space between lines of
%% table. If not, do nothing.
%% If so, set to same dimension as multitablelinespace.
@@ -2433,163 +3811,33 @@ width0pt\relax} \fi
%% than skip between lines in the table.
\fi}
-% In case a @footnote appears inside an alignment, save the footnote
-% text to a box and make the \insert when a row of the table is
-% finished. Otherwise, the insertion is lost, it never migrates to the
-% main vertical list. --kasal, 22jan03.
-%
-\newbox\savedfootnotes
-%
-% \dotable \let's \startfootins to this, so that \dofootnote will call
-% it instead of starting the insertion right away.
-\def\startsavedfootnote{%
- \global\setbox\savedfootnotes = \vbox\bgroup
- \unvbox\savedfootnotes
-}
-\def\crcrwithfootnotes{%
- \crcr
- \ifvoid\savedfootnotes \else
- \noalign{\insert\footins{\box\savedfootnotes}}%
- \fi
-}
\message{conditionals,}
-% Prevent errors for section commands.
-% Used in @ignore and in failing conditionals.
-\def\ignoresections{%
- \let\chapter=\relax
- \let\unnumbered=\relax
- \let\top=\relax
- \let\unnumberedsec=\relax
- \let\unnumberedsection=\relax
- \let\unnumberedsubsec=\relax
- \let\unnumberedsubsection=\relax
- \let\unnumberedsubsubsec=\relax
- \let\unnumberedsubsubsection=\relax
- \let\section=\relax
- \let\subsec=\relax
- \let\subsubsec=\relax
- \let\subsection=\relax
- \let\subsubsection=\relax
- \let\appendix=\relax
- \let\appendixsec=\relax
- \let\appendixsection=\relax
- \let\appendixsubsec=\relax
- \let\appendixsubsection=\relax
- \let\appendixsubsubsec=\relax
- \let\appendixsubsubsection=\relax
- \let\contents=\relax
- \let\smallbook=\relax
- \let\titlepage=\relax
-}
-
-% Used in nested conditionals, where we have to parse the Texinfo source
-% and so want to turn off most commands, in case they are used
-% incorrectly.
-%
-% We use \empty instead of \relax for the @def... commands, so that \end
-% doesn't throw an error. For instance:
-% @ignore
-% @deffn ...
-% @end deffn
-% @end ignore
-%
-% The @end deffn is going to get expanded, because we're trying to allow
-% nested conditionals. But we don't want to expand the actual @deffn,
-% since it might be syntactically correct and intended to be ignored.
-% Since \end checks for \relax, using \empty does not cause an error.
-%
-\def\ignoremorecommands{%
- \let\defcodeindex = \relax
- \let\defcv = \empty
- \let\defcvx = \empty
- \let\Edefcv = \empty
- \let\deffn = \empty
- \let\deffnx = \empty
- \let\Edeffn = \empty
- \let\defindex = \relax
- \let\defivar = \empty
- \let\defivarx = \empty
- \let\Edefivar = \empty
- \let\defmac = \empty
- \let\defmacx = \empty
- \let\Edefmac = \empty
- \let\defmethod = \empty
- \let\defmethodx = \empty
- \let\Edefmethod = \empty
- \let\defop = \empty
- \let\defopx = \empty
- \let\Edefop = \empty
- \let\defopt = \empty
- \let\defoptx = \empty
- \let\Edefopt = \empty
- \let\defspec = \empty
- \let\defspecx = \empty
- \let\Edefspec = \empty
- \let\deftp = \empty
- \let\deftpx = \empty
- \let\Edeftp = \empty
- \let\deftypefn = \empty
- \let\deftypefnx = \empty
- \let\Edeftypefn = \empty
- \let\deftypefun = \empty
- \let\deftypefunx = \empty
- \let\Edeftypefun = \empty
- \let\deftypeivar = \empty
- \let\deftypeivarx = \empty
- \let\Edeftypeivar = \empty
- \let\deftypemethod = \empty
- \let\deftypemethodx = \empty
- \let\Edeftypemethod = \empty
- \let\deftypeop = \empty
- \let\deftypeopx = \empty
- \let\Edeftypeop = \empty
- \let\deftypevar = \empty
- \let\deftypevarx = \empty
- \let\Edeftypevar = \empty
- \let\deftypevr = \empty
- \let\deftypevrx = \empty
- \let\Edeftypevr = \empty
- \let\defun = \empty
- \let\defunx = \empty
- \let\Edefun = \empty
- \let\defvar = \empty
- \let\defvarx = \empty
- \let\Edefvar = \empty
- \let\defvr = \empty
- \let\defvrx = \empty
- \let\Edefvr = \empty
- \let\clear = \relax
- \let\down = \relax
- \let\evenfooting = \relax
- \let\evenheading = \relax
- \let\everyfooting = \relax
- \let\everyheading = \relax
- \let\headings = \relax
- \let\include = \relax
- \let\item = \relax
- \let\lowersections = \relax
- \let\oddfooting = \relax
- \let\oddheading = \relax
- \let\printindex = \relax
- \let\pxref = \relax
- \let\raisesections = \relax
- \let\ref = \relax
- \let\set = \relax
- \let\setchapternewpage = \relax
- \let\setchapterstyle = \relax
- \let\settitle = \relax
- \let\up = \relax
- \let\verbatiminclude = \relax
- \let\xref = \relax
+
+% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
+% @ifnotxml always succeed. They currently do nothing; we don't
+% attempt to check whether the conditionals are properly nested. But we
+% have to remember that they are conditionals, so that @end doesn't
+% attempt to close an environment group.
+%
+\def\makecond#1{%
+ \expandafter\let\csname #1\endcsname = \relax
+ \expandafter\let\csname iscond.#1\endcsname = 1
}
+\makecond{iftex}
+\makecond{ifnotdocbook}
+\makecond{ifnothtml}
+\makecond{ifnotinfo}
+\makecond{ifnotplaintext}
+\makecond{ifnotxml}
% Ignore @ignore, @ifhtml, @ifinfo, and the like.
%
\def\direntry{\doignore{direntry}}
-\def\documentdescriptionword{documentdescription}
\def\documentdescription{\doignore{documentdescription}}
+\def\docbook{\doignore{docbook}}
\def\html{\doignore{html}}
+\def\ifdocbook{\doignore{ifdocbook}}
\def\ifhtml{\doignore{ifhtml}}
\def\ifinfo{\doignore{ifinfo}}
\def\ifnottex{\doignore{ifnottex}}
@@ -2599,198 +3847,139 @@ width0pt\relax} \fi
\def\menu{\doignore{menu}}
\def\xml{\doignore{xml}}
-% @dircategory CATEGORY -- specify a category of the dir file
-% which this file should belong to. Ignore this in TeX.
-\let\dircategory = \comment
-
-% Ignore text until a line `@end #1'.
+% Ignore text until a line `@end #1', keeping track of nested conditionals.
%
+% A count to remember the depth of nesting.
+\newcount\doignorecount
+
\def\doignore#1{\begingroup
- % Don't complain about control sequences we have declared \outer.
- \ignoresections
- %
- % Define a command to swallow text until we reach `@end #1'.
- % This @ is a catcode 12 token (that is the normal catcode of @ in
- % this texinfo.tex file). We change the catcode of @ below to match.
- \long\def\doignoretext##1@end #1{\enddoignore}%
+ % Scan in ``verbatim'' mode:
+ \obeylines
+ \catcode`\@ = \other
+ \catcode`\{ = \other
+ \catcode`\} = \other
%
% Make sure that spaces turn into tokens that match what \doignoretext wants.
- \catcode\spaceChar = 10
- %
- % Ignore braces, too, so mismatched braces don't cause trouble.
- \catcode`\{ = 9
- \catcode`\} = 9
+ \spaceisspace
%
- % We must not have @c interpreted as a control sequence.
- \catcode`\@ = 12
+ % Count number of #1's that we've seen.
+ \doignorecount = 0
%
- \def\ignoreword{#1}%
- \ifx\ignoreword\documentdescriptionword
- % The c kludge breaks documentdescription, since
- % `documentdescription' contains a `c'. Means not everything will
- % be ignored inside @documentdescription, but oh well...
- \else
- % Make the letter c a comment character so that the rest of the line
- % will be ignored. This way, the document can have (for example)
- % @c @end ifinfo
- % and the @end ifinfo will be properly ignored.
- % (We've just changed @ to catcode 12.)
- \catcode`\c = 14
- \fi
- %
- % And now expand the command defined above.
- \doignoretext
-}
-
-% What we do to finish off ignored text.
-%
-\def\enddoignore{\endgroup\ignorespaces}%
-
-\newif\ifwarnedobs\warnedobsfalse
-\def\obstexwarn{%
- \ifwarnedobs\relax\else
- % We need to warn folks that they may have trouble with TeX 3.0.
- % This uses \immediate\write16 rather than \message to get newlines.
- \immediate\write16{}
- \immediate\write16{WARNING: for users of Unix TeX 3.0!}
- \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).}
- \immediate\write16{If you are running another version of TeX, relax.}
- \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}
- \immediate\write16{ Then upgrade your TeX installation if you can.}
- \immediate\write16{ (See ftp://ftp.gnu.org/non-gnu/TeX.README.)}
- \immediate\write16{If you are stuck with version 3.0, run the}
- \immediate\write16{ script ``tex3patch'' from the Texinfo distribution}
- \immediate\write16{ to use a workaround.}
- \immediate\write16{}
- \global\warnedobstrue
- \fi
+ % Swallow text until we reach the matching `@end #1'.
+ \dodoignore{#1}%
}
-% **In TeX 3.0, setting text in \nullfont hangs tex. For a
-% workaround (which requires the file ``dummy.tfm'' to be installed),
-% uncomment the following line:
-%%%%%\font\nullfont=dummy\let\obstexwarn=\relax
-
-% Ignore text, except that we keep track of conditional commands for
-% purposes of nesting, up to an `@end #1' command.
-%
-\def\nestedignore#1{%
- \obstexwarn
- % We must actually expand the ignored text to look for the @end
- % command, so that nested ignore constructs work. Thus, we put the
- % text into a \vbox and then do nothing with the result. To minimize
- % the chance of memory overflow, we follow the approach outlined on
- % page 401 of the TeXbook.
+{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
+ \obeylines %
%
- \setbox0 = \vbox\bgroup
- % Don't complain about control sequences we have declared \outer.
- \ignoresections
- %
- % Define `@end #1' to end the box, which will in turn undefine the
- % @end command again.
- \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}%
- %
- % We are going to be parsing Texinfo commands. Most cause no
- % trouble when they are used incorrectly, but some commands do
- % complicated argument parsing or otherwise get confused, so we
- % undefine them.
- %
- % We can't do anything about stray @-signs, unfortunately;
- % they'll produce `undefined control sequence' errors.
- \ignoremorecommands
- %
- % Set the current font to be \nullfont, a TeX primitive, and define
- % all the font commands to also use \nullfont. We don't use
- % dummy.tfm, as suggested in the TeXbook, because some sites
- % might not have that installed. Therefore, math mode will still
- % produce output, but that should be an extremely small amount of
- % stuff compared to the main input.
- %
- \nullfont
- \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont
- \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont
- \let\tensf=\nullfont
- % Similarly for index fonts.
- \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont
- \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont
- \let\smallsf=\nullfont
- % Similarly for smallexample fonts.
- \let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont
- \let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont
- \let\smallersf=\nullfont
+ \gdef\dodoignore#1{%
+ % #1 contains the command name as a string, e.g., `ifinfo'.
%
- % Don't complain when characters are missing from the fonts.
- \tracinglostchars = 0
+ % Define a command to find the next `@end #1'.
+ \long\def\doignoretext##1^^M@end #1{%
+ \doignoretextyyy##1^^M@#1\_STOP_}%
%
- % Don't bother to do space factor calculations.
- \frenchspacing
+ % And this command to find another #1 command, at the beginning of a
+ % line. (Otherwise, we would consider a line `@c @ifset', for
+ % example, to count as an @ifset for nesting.)
+ \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
%
- % Don't report underfull hboxes.
- \hbadness = 10000
- %
- % Do minimal line-breaking.
- \pretolerance = 10000
- %
- % Do not execute instructions in @tex.
- \def\tex{\doignore{tex}}%
- % Do not execute macro definitions.
- % `c' is a comment character, so the word `macro' will get cut off.
- \def\macro{\doignore{ma}}%
+ % And now expand that command.
+ \doignoretext ^^M%
+ }%
+}
+
+\def\doignoreyyy#1{%
+ \def\temp{#1}%
+ \ifx\temp\empty % Nothing found.
+ \let\next\doignoretextzzz
+ \else % Found a nested condition, ...
+ \advance\doignorecount by 1
+ \let\next\doignoretextyyy % ..., look for another.
+ % If we're here, #1 ends with ^^M\ifinfo (for example).
+ \fi
+ \next #1% the token \_STOP_ is present just after this macro.
}
+% We have to swallow the remaining "\_STOP_".
+%
+\def\doignoretextzzz#1{%
+ \ifnum\doignorecount = 0 % We have just found the outermost @end.
+ \let\next\enddoignore
+ \else % Still inside a nested condition.
+ \advance\doignorecount by -1
+ \let\next\doignoretext % Look for the next @end.
+ \fi
+ \next
+}
+
+% Finish off ignored text.
+{ \obeylines%
+ % Ignore anything after the last `@end #1'; this matters in verbatim
+ % environments, where otherwise the newline after an ignored conditional
+ % would result in a blank line in the output.
+ \gdef\enddoignore#1^^M{\endgroup\ignorespaces}%
+}
+
+
% @set VAR sets the variable VAR to an empty value.
% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
%
% Since we want to separate VAR from REST-OF-LINE (which might be
% empty), we can't just use \parsearg; we have to insert a space of our
% own to delimit the rest of the line, and then take it out again if we
-% didn't need it. Make sure the catcode of space is correct to avoid
-% losing inside @example, for instance.
+% didn't need it.
+% We rely on the fact that \parsearg sets \catcode`\ =10.
%
-\def\set{\begingroup\catcode` =10
- \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.
- \parsearg\setxxx}
-\def\setxxx#1{\setyyy#1 \endsetyyy}
+\parseargdef\set{\setyyy#1 \endsetyyy}
\def\setyyy#1 #2\endsetyyy{%
- \def\temp{#2}%
- \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty
- \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted.
- \fi
- \endgroup
+ {%
+ \makevalueexpandable
+ \def\temp{#2}%
+ \edef\next{\gdef\makecsname{SET#1}}%
+ \ifx\temp\empty
+ \next{}%
+ \else
+ \setzzz#2\endsetzzz
+ \fi
+ }%
}
-% Can't use \xdef to pre-expand #2 and save some time, since \temp or
-% \next or other control sequences that we've defined might get us into
-% an infinite loop. Consider `@set foo @cite{bar}'.
-\def\setzzz#1#2 \endsetzzz{\expandafter\gdef\csname SET#1\endcsname{#2}}
+% Remove the trailing space \setxxx inserted.
+\def\setzzz#1 \endsetzzz{\next{#1}}
% @clear VAR clears (i.e., unsets) the variable VAR.
%
-\def\clear{\parsearg\clearxxx}
-\def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax}
+\parseargdef\clear{%
+ {%
+ \makevalueexpandable
+ \global\expandafter\let\csname SET#1\endcsname=\relax
+ }%
+}
% @value{foo} gets the text saved in variable foo.
+\def\value{\begingroup\makevalueexpandable\valuexxx}
+\def\valuexxx#1{\expandablevalue{#1}\endgroup}
{
- \catcode`\_ = \active
+ \catcode`\- = \active \catcode`\_ = \active
%
- % We might end up with active _ or - characters in the argument if
- % we're called from @code, as @code{@value{foo-bar_}}. So \let any
- % such active characters to their normal equivalents.
- \gdef\value{\begingroup
+ \gdef\makevalueexpandable{%
+ \let\value = \expandablevalue
+ % We don't want these characters active, ...
\catcode`\-=\other \catcode`\_=\other
- \indexbreaks \let_\normalunderscore
- \valuexxx}
+ % ..., but we might end up with active ones in the argument if
+ % we're called from @code, as @code{@value{foo-bar_}}, though.
+ % So \let them to their normal equivalents.
+ \let-\realdash \let_\normalunderscore
+ }
}
-\def\valuexxx#1{\expandablevalue{#1}\endgroup}
% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we \let\value to this in \indexdummies). Ones
-% whose names contain - or _ still won't work, but we can't do anything
-% about that. The command has to be fully expandable (if the variable
-% is set), since the result winds up in the index file. This means that
-% if the variable's value contains other Texinfo commands, it's almost
-% certain it will fail (although perhaps we could fix that with
-% sufficient work to do a one-level expansion on the result, instead of
-% complete).
+% properly in indexes (we call \makevalueexpandable in \indexdummies).
+% The command has to be fully expandable (if the variable is set), since
+% the result winds up in the index file. This means that if the
+% variable's value contains other Texinfo commands, it's almost certain
+% it will fail (although perhaps we could fix that with sufficient work
+% to do a one-level expansion on the result, instead of complete).
%
\def\expandablevalue#1{%
\expandafter\ifx\csname SET#1\endcsname\relax
@@ -2804,55 +3993,36 @@ width0pt\relax} \fi
% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
% with @set.
%
-\def\ifset{\parsearg\doifset}
-\def\doifset#1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- \let\next=\ifsetfail
- \else
- \let\next=\ifsetsucceed
- \fi
- \next
+% To get special treatment of `@end ifset,' call \makeond and the redefine.
+%
+\makecond{ifset}
+\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
+\def\doifset#1#2{%
+ {%
+ \makevalueexpandable
+ \let\next=\empty
+ \expandafter\ifx\csname SET#2\endcsname\relax
+ #1% If not set, redefine \next.
+ \fi
+ \expandafter
+ }\next
}
-\def\ifsetsucceed{\conditionalsucceed{ifset}}
-\def\ifsetfail{\nestedignore{ifset}}
-\defineunmatchedend{ifset}
+\def\ifsetfail{\doignore{ifset}}
% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
% defined with @set, or has been undefined with @clear.
%
-\def\ifclear{\parsearg\doifclear}
-\def\doifclear#1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- \let\next=\ifclearsucceed
- \else
- \let\next=\ifclearfail
- \fi
- \next
-}
-\def\ifclearsucceed{\conditionalsucceed{ifclear}}
-\def\ifclearfail{\nestedignore{ifclear}}
-\defineunmatchedend{ifclear}
-
-% @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we
-% read the text following, through the first @end iftex (etc.). Make
-% `@end iftex' (etc.) valid only after an @iftex.
+% The `\else' inside the `\doifset' parameter is a trick to reuse the
+% above code: if the variable is not set, do nothing, if it is set,
+% then redefine \next to \ifclearfail.
%
-\def\iftex{\conditionalsucceed{iftex}}
-\def\ifnothtml{\conditionalsucceed{ifnothtml}}
-\def\ifnotinfo{\conditionalsucceed{ifnotinfo}}
-\def\ifnotplaintext{\conditionalsucceed{ifnotplaintext}}
-\defineunmatchedend{iftex}
-\defineunmatchedend{ifnothtml}
-\defineunmatchedend{ifnotinfo}
-\defineunmatchedend{ifnotplaintext}
+\makecond{ifclear}
+\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
+\def\ifclearfail{\doignore{ifclear}}
-% True conditional. Since \set globally defines its variables, we can
-% just start and end a group (to keep the @end definition undefined at
-% the outer level).
-%
-\def\conditionalsucceed#1{\begingroup
- \expandafter\def\csname E#1\endcsname{\endgroup}%
-}
+% @dircategory CATEGORY -- specify a category of the dir file
+% which this file should belong to. Ignore this in TeX.
+\let\dircategory=\comment
% @defininfoenclose.
\let\definfoenclose=\comment
@@ -2862,9 +4032,8 @@ width0pt\relax} \fi
% Index generation facilities
% Define \newwrite to be identical to plain tex's \newwrite
-% except not \outer, so it can be used within \newindex.
-{\catcode`\@=11
-\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
+% except not \outer, so it can be used within macros and \if's.
+\edef\newwrite{\makecsname{ptexnewwrite}}
% \newindex {foo} defines an index named foo.
% It automatically defines \fooindex such that
@@ -2903,10 +4072,10 @@ width0pt\relax} \fi
% @synindex foo bar makes index foo feed into index bar.
% Do this instead of @defindex foo if you don't want it as a separate index.
-%
+%
% @syncodeindex foo bar similar, but put all entries made for index foo
% inside @code.
-%
+%
\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
@@ -2915,11 +4084,11 @@ width0pt\relax} \fi
\def\dosynindex#1#2#3{%
% Only do \closeout if we haven't already done it, else we'll end up
% closing the target index.
- \expandafter \ifx\csname donesynindex#2\endcsname \undefined
+ \expandafter \ifx\csname donesynindex#2\endcsname \relax
% The \closeout helps reduce unnecessary open files; the limit on the
% Acorn RISC OS is a mere 16 files.
\expandafter\closeout\csname#2indfile\endcsname
- \expandafter\let\csname\donesynindex#2\endcsname = 1
+ \expandafter\let\csname donesynindex#2\endcsname = 1
\fi
% redefine \fooindfile:
\expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
@@ -2948,204 +4117,245 @@ width0pt\relax} \fi
% Take care of Texinfo commands that can appear in an index entry.
% Since there are some commands we want to expand, and others we don't,
% we have to laboriously prevent expansion for those that we don't.
-%
+%
\def\indexdummies{%
+ \escapechar = `\\ % use backslash in output files.
\def\@{@}% change to @@ when we switch to @ as escape char in index files.
\def\ {\realbackslash\space }%
+ %
% Need these in case \tex is in effect and \{ is a \delimiter again.
% But can't use \lbracecmd and \rbracecmd because texindex assumes
- % braces and backslashes are used only as delimiters.
+ % braces and backslashes are used only as delimiters.
\let\{ = \mylbrace
\let\} = \myrbrace
%
- % \definedummyword defines \#1 as \realbackslash #1\space, thus
- % effectively preventing its expansion. This is used only for control
- % words, not control letters, because the \space would be incorrect
- % for control characters, but is needed to separate the control word
- % from whatever follows.
+ % I don't entirely understand this, but when an index entry is
+ % generated from a macro call, the \endinput which \scanmacro inserts
+ % causes processing to be prematurely terminated. This is,
+ % apparently, because \indexsorttmp is fully expanded, and \endinput
+ % is an expandable command. The redefinition below makes \endinput
+ % disappear altogether for that purpose -- although logging shows that
+ % processing continues to some further point. On the other hand, it
+ % seems \endinput does not hurt in the printed index arg, since that
+ % is still getting written without apparent harm.
%
- % For control letters, we have \definedummyletter, which omits the
- % space.
+ % Sample source (mac-idx3.tex, reported by Graham Percival to
+ % help-texinfo, 22may06):
+ % @macro funindex {WORD}
+ % @findex xyz
+ % @end macro
+ % ...
+ % @funindex commtest
%
- % These can be used both for control words that take an argument and
- % those that do not. If it is followed by {arg} in the input, then
- % that will dutifully get written to the index (or wherever).
+ % The above is not enough to reproduce the bug, but it gives the flavor.
%
- \def\definedummyword##1{%
- \expandafter\def\csname ##1\endcsname{\realbackslash ##1\space}%
- }%
- \def\definedummyletter##1{%
- \expandafter\def\csname ##1\endcsname{\realbackslash ##1}%
- }%
+ % Sample whatsit resulting:
+ % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
+ %
+ % So:
+ \let\endinput = \empty
%
% Do the redefinitions.
\commondummies
}
-% For the aux file, @ is the escape character. So we want to redefine
-% everything using @ instead of \realbackslash. When everything uses
-% @, this will be simpler.
-%
+% For the aux and toc files, @ is the escape character. So we want to
+% redefine everything using @ as the escape character (instead of
+% \realbackslash, still used for index files). When everything uses @,
+% this will be simpler.
+%
\def\atdummies{%
\def\@{@@}%
\def\ {@ }%
\let\{ = \lbraceatcmd
\let\} = \rbraceatcmd
%
- % (See comments in \indexdummies.)
- \def\definedummyword##1{%
- \expandafter\def\csname ##1\endcsname{@##1\space}%
- }%
- \def\definedummyletter##1{%
- \expandafter\def\csname ##1\endcsname{@##1}%
- }%
- %
% Do the redefinitions.
\commondummies
+ \otherbackslash
}
-% Called from \indexdummies and \atdummies. \definedummyword and
-% \definedummyletter must be defined first.
-%
+% Called from \indexdummies and \atdummies.
+%
\def\commondummies{%
%
- \normalturnoffactive
+ % \definedummyword defines \#1 as \string\#1\space, thus effectively
+ % preventing its expansion. This is used only for control% words,
+ % not control letters, because the \space would be incorrect for
+ % control characters, but is needed to separate the control word
+ % from whatever follows.
%
- % Control letters and accents.
- \definedummyletter{_}%
- \definedummyletter{,}%
- \definedummyletter{"}%
- \definedummyletter{`}%
- \definedummyletter{'}%
- \definedummyletter{^}%
- \definedummyletter{~}%
- \definedummyletter{=}%
- \definedummyword{u}%
- \definedummyword{v}%
- \definedummyword{H}%
- \definedummyword{dotaccent}%
- \definedummyword{ringaccent}%
- \definedummyword{tieaccent}%
- \definedummyword{ubaraccent}%
- \definedummyword{udotaccent}%
- \definedummyword{dotless}%
- %
- % Other non-English letters.
- \definedummyword{AA}%
- \definedummyword{AE}%
- \definedummyword{L}%
- \definedummyword{OE}%
- \definedummyword{O}%
- \definedummyword{aa}%
- \definedummyword{ae}%
- \definedummyword{l}%
- \definedummyword{oe}%
- \definedummyword{o}%
- \definedummyword{ss}%
+ % For control letters, we have \definedummyletter, which omits the
+ % space.
%
- % Although these internal commands shouldn't show up, sometimes they do.
- \definedummyword{bf}%
- \definedummyword{gtr}%
- \definedummyword{hat}%
- \definedummyword{less}%
- \definedummyword{sf}%
- \definedummyword{sl}%
- \definedummyword{tclose}%
- \definedummyword{tt}%
+ % These can be used both for control words that take an argument and
+ % those that do not. If it is followed by {arg} in the input, then
+ % that will dutifully get written to the index (or wherever).
%
- % Texinfo font commands.
- \definedummyword{b}%
- \definedummyword{i}%
- \definedummyword{r}%
- \definedummyword{sc}%
- \definedummyword{t}%
- %
- \definedummyword{TeX}%
- \definedummyword{acronym}%
- \definedummyword{cite}%
- \definedummyword{code}%
- \definedummyword{command}%
- \definedummyword{dfn}%
- \definedummyword{dots}%
- \definedummyword{emph}%
- \definedummyword{env}%
- \definedummyword{file}%
- \definedummyword{kbd}%
- \definedummyword{key}%
- \definedummyword{math}%
- \definedummyword{option}%
- \definedummyword{samp}%
- \definedummyword{strong}%
- \definedummyword{uref}%
- \definedummyword{url}%
- \definedummyword{var}%
- \definedummyword{w}%
+ \def\definedummyword ##1{\def##1{\string##1\space}}%
+ \def\definedummyletter##1{\def##1{\string##1}}%
+ \let\definedummyaccent\definedummyletter
+ %
+ \commondummiesnofonts
+ %
+ \definedummyletter\_%
+ %
+ % Non-English letters.
+ \definedummyword\AA
+ \definedummyword\AE
+ \definedummyword\L
+ \definedummyword\OE
+ \definedummyword\O
+ \definedummyword\aa
+ \definedummyword\ae
+ \definedummyword\l
+ \definedummyword\oe
+ \definedummyword\o
+ \definedummyword\ss
+ \definedummyword\exclamdown
+ \definedummyword\questiondown
+ \definedummyword\ordf
+ \definedummyword\ordm
+ %
+ % Although these internal commands shouldn't show up, sometimes they do.
+ \definedummyword\bf
+ \definedummyword\gtr
+ \definedummyword\hat
+ \definedummyword\less
+ \definedummyword\sf
+ \definedummyword\sl
+ \definedummyword\tclose
+ \definedummyword\tt
+ %
+ \definedummyword\LaTeX
+ \definedummyword\TeX
%
% Assorted special characters.
- \definedummyword{bullet}%
- \definedummyword{copyright}%
- \definedummyword{dots}%
- \definedummyword{enddots}%
- \definedummyword{equiv}%
- \definedummyword{error}%
- \definedummyword{expansion}%
- \definedummyword{minus}%
- \definedummyword{pounds}%
- \definedummyword{point}%
- \definedummyword{print}%
- \definedummyword{result}%
- %
- % Handle some cases of @value -- where the variable name does not
- % contain - or _, and the value does not contain any
- % (non-fully-expandable) commands.
- \let\value = \expandablevalue
+ \definedummyword\bullet
+ \definedummyword\comma
+ \definedummyword\copyright
+ \definedummyword\registeredsymbol
+ \definedummyword\dots
+ \definedummyword\enddots
+ \definedummyword\equiv
+ \definedummyword\error
+ \definedummyword\euro
+ \definedummyword\guillemetleft
+ \definedummyword\guillemetright
+ \definedummyword\guilsinglleft
+ \definedummyword\guilsinglright
+ \definedummyword\expansion
+ \definedummyword\minus
+ \definedummyword\ogonek
+ \definedummyword\pounds
+ \definedummyword\point
+ \definedummyword\print
+ \definedummyword\quotedblbase
+ \definedummyword\quotedblleft
+ \definedummyword\quotedblright
+ \definedummyword\quoteleft
+ \definedummyword\quoteright
+ \definedummyword\quotesinglbase
+ \definedummyword\result
+ \definedummyword\textdegree
+ %
+ % We want to disable all macros so that they are not expanded by \write.
+ \macrolist
%
- % Normal spaces, not active ones.
- \unsepspaces
+ \normalturnoffactive
%
- % No macro expansion.
- \turnoffmacros
+ % Handle some cases of @value -- where it does not contain any
+ % (non-fully-expandable) commands.
+ \makevalueexpandable
}
-% If an index command is used in an @example environment, any spaces
-% therein should become regular spaces in the raw index file, not the
-% expansion of \tie (\leavevmode \penalty \@M \ ).
-{\obeyspaces
- \gdef\unsepspaces{\obeyspaces\let =\space}}
-
+% \commondummiesnofonts: common to \commondummies and \indexnofonts.
+%
+\def\commondummiesnofonts{%
+ % Control letters and accents.
+ \definedummyletter\!%
+ \definedummyaccent\"%
+ \definedummyaccent\'%
+ \definedummyletter\*%
+ \definedummyaccent\,%
+ \definedummyletter\.%
+ \definedummyletter\/%
+ \definedummyletter\:%
+ \definedummyaccent\=%
+ \definedummyletter\?%
+ \definedummyaccent\^%
+ \definedummyaccent\`%
+ \definedummyaccent\~%
+ \definedummyword\u
+ \definedummyword\v
+ \definedummyword\H
+ \definedummyword\dotaccent
+ \definedummyword\ogonek
+ \definedummyword\ringaccent
+ \definedummyword\tieaccent
+ \definedummyword\ubaraccent
+ \definedummyword\udotaccent
+ \definedummyword\dotless
+ %
+ % Texinfo font commands.
+ \definedummyword\b
+ \definedummyword\i
+ \definedummyword\r
+ \definedummyword\sc
+ \definedummyword\t
+ %
+ % Commands that take arguments.
+ \definedummyword\acronym
+ \definedummyword\cite
+ \definedummyword\code
+ \definedummyword\command
+ \definedummyword\dfn
+ \definedummyword\emph
+ \definedummyword\env
+ \definedummyword\file
+ \definedummyword\kbd
+ \definedummyword\key
+ \definedummyword\math
+ \definedummyword\option
+ \definedummyword\pxref
+ \definedummyword\ref
+ \definedummyword\samp
+ \definedummyword\strong
+ \definedummyword\tie
+ \definedummyword\uref
+ \definedummyword\url
+ \definedummyword\var
+ \definedummyword\verb
+ \definedummyword\w
+ \definedummyword\xref
+}
% \indexnofonts is used when outputting the strings to sort the index
% by, and when constructing control sequence names. It eliminates all
% control sequences and just writes whatever the best ASCII sort string
% would be for a given command (usually its argument).
%
-\def\indexdummytex{TeX}
-\def\indexdummydots{...}
-%
\def\indexnofonts{%
+ % Accent commands should become @asis.
+ \def\definedummyaccent##1{\let##1\asis}%
+ % We can just ignore other control letters.
+ \def\definedummyletter##1{\let##1\empty}%
+ % Hopefully, all control words can become @asis.
+ \let\definedummyword\definedummyaccent
+ %
+ \commondummiesnofonts
+ %
+ % Don't no-op \tt, since it isn't a user-level command
+ % and is used in the definitions of the active chars like <, >, |, etc.
+ % Likewise with the other plain tex font commands.
+ %\let\tt=\asis
+ %
\def\ { }%
\def\@{@}%
% how to handle braces?
\def\_{\normalunderscore}%
%
- \let\,=\asis
- \let\"=\asis
- \let\`=\asis
- \let\'=\asis
- \let\^=\asis
- \let\~=\asis
- \let\==\asis
- \let\u=\asis
- \let\v=\asis
- \let\H=\asis
- \let\dotaccent=\asis
- \let\ringaccent=\asis
- \let\tieaccent=\asis
- \let\ubaraccent=\asis
- \let\udotaccent=\asis
- \let\dotless=\asis
- %
- % Other non-English letters.
+ % Non-English letters.
\def\AA{AA}%
\def\AE{AE}%
\def\L{L}%
@@ -3159,130 +4369,192 @@ width0pt\relax} \fi
\def\ss{ss}%
\def\exclamdown{!}%
\def\questiondown{?}%
+ \def\ordf{a}%
+ \def\ordm{o}%
%
- % Don't no-op \tt, since it isn't a user-level command
- % and is used in the definitions of the active chars like <, >, |, etc.
- % Likewise with the other plain tex font commands.
- %\let\tt=\asis
+ \def\LaTeX{LaTeX}%
+ \def\TeX{TeX}%
%
- % Texinfo font commands.
- \let\b=\asis
- \let\i=\asis
- \let\r=\asis
- \let\sc=\asis
- \let\t=\asis
- %
- \let\TeX=\indexdummytex
- \let\acronym=\asis
- \let\cite=\asis
- \let\code=\asis
- \let\command=\asis
- \let\dfn=\asis
- \let\dots=\indexdummydots
- \let\emph=\asis
- \let\env=\asis
- \let\file=\asis
- \let\kbd=\asis
- \let\key=\asis
- \let\math=\asis
- \let\option=\asis
- \let\samp=\asis
- \let\strong=\asis
- \let\uref=\asis
- \let\url=\asis
- \let\var=\asis
- \let\w=\asis
+ % Assorted special characters.
+ % (The following {} will end up in the sort string, but that's ok.)
+ \def\bullet{bullet}%
+ \def\comma{,}%
+ \def\copyright{copyright}%
+ \def\registeredsymbol{R}%
+ \def\dots{...}%
+ \def\enddots{...}%
+ \def\equiv{==}%
+ \def\error{error}%
+ \def\euro{euro}%
+ \def\guillemetleft{<<}%
+ \def\guillemetright{>>}%
+ \def\guilsinglleft{<}%
+ \def\guilsinglright{>}%
+ \def\expansion{==>}%
+ \def\minus{-}%
+ \def\pounds{pounds}%
+ \def\point{.}%
+ \def\print{-|}%
+ \def\quotedblbase{"}%
+ \def\quotedblleft{"}%
+ \def\quotedblright{"}%
+ \def\quoteleft{`}%
+ \def\quoteright{'}%
+ \def\quotesinglbase{,}%
+ \def\result{=>}%
+ \def\textdegree{degrees}%
+ %
+ % We need to get rid of all macros, leaving only the arguments (if present).
+ % Of course this is not nearly correct, but it is the best we can do for now.
+ % makeinfo does not expand macros in the argument to @deffn, which ends up
+ % writing an index entry, and texindex isn't prepared for an index sort entry
+ % that starts with \.
+ %
+ % Since macro invocations are followed by braces, we can just redefine them
+ % to take a single TeX argument. The case of a macro invocation that
+ % goes to end-of-line is not handled.
+ %
+ \macrolist
}
\let\indexbackslash=0 %overridden during \printindex.
\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-% For \ifx comparisons.
-\def\emptymacro{\empty}
-
% Most index entries go through here, but \dosubind is the general case.
-%
-\def\doind#1#2{\dosubind{#1}{#2}\empty}
+% #1 is the index name, #2 is the entry text.
+\def\doind#1#2{\dosubind{#1}{#2}{}}
% Workhorse for all \fooindexes.
% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% \empty if called from \doind, as we usually are. The main exception
-% is with defuns, which call us directly.
+% empty if called from \doind, as we usually are (the main exception
+% is with most defuns, which call us directly).
%
\def\dosubind#1#2#3{%
+ \iflinks
+ {%
+ % Store the main index entry text (including the third arg).
+ \toks0 = {#2}%
+ % If third arg is present, precede it with a space.
+ \def\thirdarg{#3}%
+ \ifx\thirdarg\empty \else
+ \toks0 = \expandafter{\the\toks0 \space #3}%
+ \fi
+ %
+ \edef\writeto{\csname#1indfile\endcsname}%
+ %
+ \safewhatsit\dosubindwrite
+ }%
+ \fi
+}
+
+% Write the entry in \toks0 to the index file:
+%
+\def\dosubindwrite{%
% Put the index entry in the margin if desired.
\ifx\SETmarginindex\relax\else
- \insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}%
+ \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
\fi
- {%
- \count255=\lastpenalty
- {%
- \indexdummies % Must do this here, since \bf, etc expand at this stage
- \escapechar=`\\
- {%
- \let\folio = 0% We will expand all macros now EXCEPT \folio.
- \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
- % so it will be output as is; and it will print as backslash.
- %
- % The main index entry text.
- \toks0 = {#2}%
- %
- % If third arg is present, precede it with space in sort key.
- \def\thirdarg{#3}%
- \ifx\thirdarg\emptymacro \else
- % If the third (subentry) arg is present, add it to the index
- % line to write.
- \toks0 = \expandafter{\the\toks0 \space #3}%
- \fi
- %
- % Process the index entry with all font commands turned off, to
- % get the string to sort by.
- {\indexnofonts
- \edef\temp{\the\toks0}% need full expansion
- \xdef\indexsorttmp{\temp}%
- }%
- %
- % Set up the complete index entry, with both the sort key and
- % the original text, including any font commands. We write
- % three arguments to \entry to the .?? file (four in the
- % subentry case), texindex reduces to two when writing the .??s
- % sorted result.
- \edef\temp{%
- \write\csname#1indfile\endcsname{%
- \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
- }%
- %
- % If a skip is the last thing on the list now, preserve it
- % by backing up by \lastskip, doing the \write, then inserting
- % the skip again. Otherwise, the whatsit generated by the
- % \write will make \lastskip zero. The result is that sequences
- % like this:
- % @end defun
- % @tindex whatever
- % @defun ...
- % will have extra space inserted, because the \medbreak in the
- % start of the @defun won't see the skip inserted by the @end of
- % the previous defun.
- %
- % But don't do any of this if we're not in vertical mode. We
- % don't want to do a \vskip and prematurely end a paragraph.
- %
- % Avoid page breaks due to these extra skips, too.
- %
- \iflinks
- \ifvmode
- \skip0 = \lastskip
- \ifdim\lastskip = 0pt \else \nobreak\vskip-\skip0 \fi
- \fi
- %
- \temp % do the write
- %
- \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
- \fi
- }%
- }%
- \penalty\count255
+ %
+ % Remember, we are within a group.
+ \indexdummies % Must do this here, since \bf, etc expand at this stage
+ \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
+ % so it will be output as is; and it will print as backslash.
+ %
+ % Process the index entry with all font commands turned off, to
+ % get the string to sort by.
+ {\indexnofonts
+ \edef\temp{\the\toks0}% need full expansion
+ \xdef\indexsorttmp{\temp}%
+ }%
+ %
+ % Set up the complete index entry, with both the sort key and
+ % the original text, including any font commands. We write
+ % three arguments to \entry to the .?? file (four in the
+ % subentry case), texindex reduces to two when writing the .??s
+ % sorted result.
+ \edef\temp{%
+ \write\writeto{%
+ \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
}%
+ \temp
+}
+
+% Take care of unwanted page breaks/skips around a whatsit:
+%
+% If a skip is the last thing on the list now, preserve it
+% by backing up by \lastskip, doing the \write, then inserting
+% the skip again. Otherwise, the whatsit generated by the
+% \write or \pdfdest will make \lastskip zero. The result is that
+% sequences like this:
+% @end defun
+% @tindex whatever
+% @defun ...
+% will have extra space inserted, because the \medbreak in the
+% start of the @defun won't see the skip inserted by the @end of
+% the previous defun.
+%
+% But don't do any of this if we're not in vertical mode. We
+% don't want to do a \vskip and prematurely end a paragraph.
+%
+% Avoid page breaks due to these extra skips, too.
+%
+% But wait, there is a catch there:
+% We'll have to check whether \lastskip is zero skip. \ifdim is not
+% sufficient for this purpose, as it ignores stretch and shrink parts
+% of the skip. The only way seems to be to check the textual
+% representation of the skip.
+%
+% The following is almost like \def\zeroskipmacro{0.0pt} except that
+% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
+%
+\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
+%
+\newskip\whatsitskip
+\newcount\whatsitpenalty
+%
+% ..., ready, GO:
+%
+\def\safewhatsit#1{%
+\ifhmode
+ #1%
+\else
+ % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
+ \whatsitskip = \lastskip
+ \edef\lastskipmacro{\the\lastskip}%
+ \whatsitpenalty = \lastpenalty
+ %
+ % If \lastskip is nonzero, that means the last item was a
+ % skip. And since a skip is discardable, that means this
+ % -\whatsitskip glue we're inserting is preceded by a
+ % non-discardable item, therefore it is not a potential
+ % breakpoint, therefore no \nobreak needed.
+ \ifx\lastskipmacro\zeroskipmacro
+ \else
+ \vskip-\whatsitskip
+ \fi
+ %
+ #1%
+ %
+ \ifx\lastskipmacro\zeroskipmacro
+ % If \lastskip was zero, perhaps the last item was a penalty, and
+ % perhaps it was >=10000, e.g., a \nobreak. In that case, we want
+ % to re-insert the same penalty (values >10000 are used for various
+ % signals); since we just inserted a non-discardable item, any
+ % following glue (such as a \parskip) would be a breakpoint. For example:
+ %
+ % @deffn deffn-whatever
+ % @vindex index-whatever
+ % Description.
+ % would allow a break between the index-whatever whatsit
+ % and the "Description." paragraph.
+ \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi
+ \else
+ % On the other hand, if we had a nonzero \lastskip,
+ % this make-up glue would be preceded by a non-discardable item
+ % (the whatsit from the \write), so we must insert a \nobreak.
+ \nobreak\vskip\whatsitskip
+ \fi
+\fi
}
% The index entry written in the file actually looks like
@@ -3320,13 +4592,13 @@ width0pt\relax} \fi
% @printindex causes a particular index (the ??s file) to get printed.
% It does not print any chapter heading (usually an @unnumbered).
%
-\def\printindex{\parsearg\doprintindex}
-\def\doprintindex#1{\begingroup
+\parseargdef\printindex{\begingroup
\dobreak \chapheadingskip{10000}%
%
\smallfonts \rm
\tolerance = 9500
- \indexbreaks
+ \plainfrenchspacing
+ \everypar = {}% don't want the \kern\-parindent from indentation suppression.
%
% See if the index file exists and is nonempty.
% Change catcode of @ here so that if the index file contains
@@ -3353,7 +4625,7 @@ width0pt\relax} \fi
% Index files are almost Texinfo source, but we use \ as the escape
% character. It would be better to use @, but that's too big a change
% to make right now.
- \def\indexbackslash{\rawbackslashxx}%
+ \def\indexbackslash{\backslashcurfont}%
\catcode`\\ = 0
\escapechar = `\\
\begindoublecolumns
@@ -3375,7 +4647,10 @@ width0pt\relax} \fi
\removelastskip
%
% We like breaks before the index initials, so insert a bonus.
- \penalty -300
+ \nobreak
+ \vskip 0pt plus 3\baselineskip
+ \penalty 0
+ \vskip 0pt plus -3\baselineskip
%
% Typeset the initial. Making this add up to a whole number of
% baselineskips increases the chance of the dots lining up from column
@@ -3385,84 +4660,101 @@ width0pt\relax} \fi
% No shrink because it confuses \balancecolumns.
\vskip 1.67\baselineskip plus .5\baselineskip
\leftline{\secbf #1}%
- \vskip .33\baselineskip plus .1\baselineskip
- %
% Do our best not to break after the initial.
\nobreak
+ \vskip .33\baselineskip plus .1\baselineskip
}}
-% This typesets a paragraph consisting of #1, dot leaders, and then #2
-% flush to the right margin. It is used for index and table of contents
-% entries. The paragraph is indented by \leftskip.
+% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
+% then page number (#2) flushed to the right margin. It is used for index
+% and table of contents entries. The paragraph is indented by \leftskip.
%
-\def\entry#1#2{\begingroup
- %
- % Start a new paragraph if necessary, so our assignments below can't
- % affect previous text.
- \par
- %
- % Do not fill out the last line with white space.
- \parfillskip = 0in
- %
- % No extra space above this paragraph.
- \parskip = 0in
- %
- % Do not prefer a separate line ending with a hyphen to fewer lines.
- \finalhyphendemerits = 0
- %
- % \hangindent is only relevant when the entry text and page number
- % don't both fit on one line. In that case, bob suggests starting the
- % dots pretty far over on the line. Unfortunately, a large
- % indentation looks wrong when the entry text itself is broken across
- % lines. So we use a small indentation and put up with long leaders.
- %
- % \hangafter is reset to 1 (which is the value we want) at the start
- % of each paragraph, so we need not do anything with that.
- \hangindent = 2em
- %
- % When the entry text needs to be broken, just fill out the first line
- % with blank space.
- \rightskip = 0pt plus1fil
- %
- % A bit of stretch before each entry for the benefit of balancing columns.
- \vskip 0pt plus1pt
- %
- % Start a ``paragraph'' for the index entry so the line breaking
- % parameters we've set above will have an effect.
- \noindent
- %
- % Insert the text of the index entry. TeX will do line-breaking on it.
- #1%
- % The following is kludged to not output a line of dots in the index if
- % there are no page numbers. The next person who breaks this will be
- % cursed by a Unix daemon.
- \def\tempa{{\rm }}%
- \def\tempb{#2}%
- \edef\tempc{\tempa}%
- \edef\tempd{\tempb}%
- \ifx\tempc\tempd\ \else%
+% A straightforward implementation would start like this:
+% \def\entry#1#2{...
+% But this freezes the catcodes in the argument, and can cause problems to
+% @code, which sets - active. This problem was fixed by a kludge---
+% ``-'' was active throughout whole index, but this isn't really right.
+%
+% The right solution is to prevent \entry from swallowing the whole text.
+% --kasal, 21nov03
+\def\entry{%
+ \begingroup
%
- % If we must, put the page number on a line of its own, and fill out
- % this line with blank space. (The \hfil is overwhelmed with the
- % fill leaders glue in \indexdotfill if the page number does fit.)
- \hfil\penalty50
- \null\nobreak\indexdotfill % Have leaders before the page number.
+ % Start a new paragraph if necessary, so our assignments below can't
+ % affect previous text.
+ \par
%
- % The `\ ' here is removed by the implicit \unskip that TeX does as
- % part of (the primitive) \par. Without it, a spurious underfull
- % \hbox ensues.
- \ifpdf
- \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
+ % Do not fill out the last line with white space.
+ \parfillskip = 0in
+ %
+ % No extra space above this paragraph.
+ \parskip = 0in
+ %
+ % Do not prefer a separate line ending with a hyphen to fewer lines.
+ \finalhyphendemerits = 0
+ %
+ % \hangindent is only relevant when the entry text and page number
+ % don't both fit on one line. In that case, bob suggests starting the
+ % dots pretty far over on the line. Unfortunately, a large
+ % indentation looks wrong when the entry text itself is broken across
+ % lines. So we use a small indentation and put up with long leaders.
+ %
+ % \hangafter is reset to 1 (which is the value we want) at the start
+ % of each paragraph, so we need not do anything with that.
+ \hangindent = 2em
+ %
+ % When the entry text needs to be broken, just fill out the first line
+ % with blank space.
+ \rightskip = 0pt plus1fil
+ %
+ % A bit of stretch before each entry for the benefit of balancing
+ % columns.
+ \vskip 0pt plus1pt
+ %
+ % Swallow the left brace of the text (first parameter):
+ \afterassignment\doentry
+ \let\temp =
+}
+\def\doentry{%
+ \bgroup % Instead of the swallowed brace.
+ \noindent
+ \aftergroup\finishentry
+ % And now comes the text of the entry.
+}
+\def\finishentry#1{%
+ % #1 is the page number.
+ %
+ % The following is kludged to not output a line of dots in the index if
+ % there are no page numbers. The next person who breaks this will be
+ % cursed by a Unix daemon.
+ \setbox\boxA = \hbox{#1}%
+ \ifdim\wd\boxA = 0pt
+ \ %
\else
- \ #2% The page number ends the paragraph.
+ %
+ % If we must, put the page number on a line of its own, and fill out
+ % this line with blank space. (The \hfil is overwhelmed with the
+ % fill leaders glue in \indexdotfill if the page number does fit.)
+ \hfil\penalty50
+ \null\nobreak\indexdotfill % Have leaders before the page number.
+ %
+ % The `\ ' here is removed by the implicit \unskip that TeX does as
+ % part of (the primitive) \par. Without it, a spurious underfull
+ % \hbox ensues.
+ \ifpdf
+ \pdfgettoks#1.%
+ \ \the\toksA
+ \else
+ \ #1%
+ \fi
\fi
- \fi%
- \par
-\endgroup}
+ \par
+ \endgroup
+}
-% Like \dotfill except takes at least 1 em.
+% Like plain.tex's \dotfill, except uses up at least 1 em.
\def\indexdotfill{\cleaders
- \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
+ \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
\def\primary #1{\line{#1\hfil}}
@@ -3569,9 +4861,37 @@ width0pt\relax} \fi
\wd0=\hsize \wd2=\hsize
\hbox to\pagewidth{\box0\hfil\box2}%
}
-%
+%
% All done with double columns.
\def\enddoublecolumns{%
+ % The following penalty ensures that the page builder is exercised
+ % _before_ we change the output routine. This is necessary in the
+ % following situation:
+ %
+ % The last section of the index consists only of a single entry.
+ % Before this section, \pagetotal is less than \pagegoal, so no
+ % break occurs before the last section starts. However, the last
+ % section, consisting of \initial and the single \entry, does not
+ % fit on the page and has to be broken off. Without the following
+ % penalty the page builder will not be exercised until \eject
+ % below, and by that time we'll already have changed the output
+ % routine to the \balancecolumns version, so the next-to-last
+ % double-column page will be processed with \balancecolumns, which
+ % is wrong: The two columns will go to the main vertical list, with
+ % the broken-off section in the recent contributions. As soon as
+ % the output routine finishes, TeX starts reconsidering the page
+ % break. The two columns and the broken-off section both fit on the
+ % page, because the two columns now take up only half of the page
+ % goal. When TeX sees \eject from below which follows the final
+ % section, it invokes the new output routine that we've set after
+ % \balancecolumns below; \onepageout will try to fit the two columns
+ % and the final section into the vbox of \pageheight (see
+ % \pagebody), causing an overfull box.
+ %
+ % Note that glue won't work here, because glue does not exercise the
+ % page builder, unlike penalties (see The TeXbook, pp. 280-281).
+ \penalty0
+ %
\output = {%
% Split the last of the double-column material. Leave it on the
% current page, no automatic page break.
@@ -3627,6 +4947,12 @@ width0pt\relax} \fi
\message{sectioning,}
% Chapters, sections, etc.
+% \unnumberedno is an oxymoron, of course. But we count the unnumbered
+% sections so that we can refer to them unambiguously in the pdf
+% outlines by their "section number". We avoid collisions with chapter
+% numbers by starting them at 10000. (If a document ever has 10000
+% chapters, we're in trouble anyway, I'm sure.)
+\newcount\unnumberedno \unnumberedno = 10000
\newcount\chapno
\newcount\secno \secno=0
\newcount\subsecno \subsecno=0
@@ -3634,9 +4960,12 @@ width0pt\relax} \fi
% This counter is funny since it counts through charcodes of letters A, B, ...
\newcount\appendixno \appendixno = `\@
+%
% \def\appendixletter{\char\the\appendixno}
-% We do the following for the sake of pdftex, which needs the actual
+% We do the following ugly conditional instead of the above simple
+% construct for the sake of pdftex, which needs the actual
% letter in the expansion, not just typeset.
+%
\def\appendixletter{%
\ifnum\appendixno=`A A%
\else\ifnum\appendixno=`B B%
@@ -3672,13 +5001,18 @@ width0pt\relax} \fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-% Each @chapter defines this as the name of the chapter.
-% page headings and footings can use it. @section does likewise.
+% Each @chapter defines these (using marks) as the number+name, number
+% and name of the chapter. Page headings and footings can use
+% these. @section does likewise.
\def\thischapter{}
+\def\thischapternum{}
+\def\thischaptername{}
\def\thissection{}
+\def\thissectionnum{}
+\def\thissectionname{}
\newcount\absseclevel % used to calculate proper heading level
-\newcount\secbase\secbase=0 % @raise/lowersections modify this count
+\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
% @raisesections: treat @section as chapter, @subsection as section, etc.
\def\raisesections{\global\advance\secbase by -1}
@@ -3688,118 +5022,142 @@ width0pt\relax} \fi
\def\lowersections{\global\advance\secbase by 1}
\let\down=\lowersections % original BFox name
-% Choose a numbered-heading macro
-% #1 is heading level if unmodified by @raisesections or @lowersections
-% #2 is text for heading
-\def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \chapterzzz{#2}
-\or
- \seczzz{#2}
-\or
- \numberedsubseczzz{#2}
-\or
- \numberedsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \chapterzzz{#2}
+% we only have subsub.
+\chardef\maxseclevel = 3
+%
+% A numbered section within an unnumbered changes to unnumbered too.
+% To achive this, remember the "biggest" unnum. sec. we are currently in:
+\chardef\unmlevel = \maxseclevel
+%
+% Trace whether the current chapter is an appendix or not:
+% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
+\def\chapheadtype{N}
+
+% Choose a heading macro
+% #1 is heading type
+% #2 is heading level
+% #3 is text for heading
+\def\genhead#1#2#3{%
+ % Compute the abs. sec. level:
+ \absseclevel=#2
+ \advance\absseclevel by \secbase
+ % Make sure \absseclevel doesn't fall outside the range:
+ \ifnum \absseclevel < 0
+ \absseclevel = 0
\else
- \numberedsubsubseczzz{#2}
+ \ifnum \absseclevel > 3
+ \absseclevel = 3
+ \fi
\fi
-\fi
-}
-
-% like \numhead, but chooses appendix heading levels
-\def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \appendixzzz{#2}
-\or
- \appendixsectionzzz{#2}
-\or
- \appendixsubseczzz{#2}
-\or
- \appendixsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \appendixzzz{#2}
+ % The heading type:
+ \def\headtype{#1}%
+ \if \headtype U%
+ \ifnum \absseclevel < \unmlevel
+ \chardef\unmlevel = \absseclevel
+ \fi
\else
- \appendixsubsubseczzz{#2}
+ % Check for appendix sections:
+ \ifnum \absseclevel = 0
+ \edef\chapheadtype{\headtype}%
+ \else
+ \if \headtype A\if \chapheadtype N%
+ \errmessage{@appendix... within a non-appendix chapter}%
+ \fi\fi
+ \fi
+ % Check for numbered within unnumbered:
+ \ifnum \absseclevel > \unmlevel
+ \def\headtype{U}%
+ \else
+ \chardef\unmlevel = 3
+ \fi
\fi
-\fi
-}
-
-% like \numhead, but chooses numberless heading levels
-\def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \unnumberedzzz{#2}
-\or
- \unnumberedseczzz{#2}
-\or
- \unnumberedsubseczzz{#2}
-\or
- \unnumberedsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \unnumberedzzz{#2}
+ % Now print the heading:
+ \if \headtype U%
+ \ifcase\absseclevel
+ \unnumberedzzz{#3}%
+ \or \unnumberedseczzz{#3}%
+ \or \unnumberedsubseczzz{#3}%
+ \or \unnumberedsubsubseczzz{#3}%
+ \fi
\else
- \unnumberedsubsubseczzz{#2}
+ \if \headtype A%
+ \ifcase\absseclevel
+ \appendixzzz{#3}%
+ \or \appendixsectionzzz{#3}%
+ \or \appendixsubseczzz{#3}%
+ \or \appendixsubsubseczzz{#3}%
+ \fi
+ \else
+ \ifcase\absseclevel
+ \chapterzzz{#3}%
+ \or \seczzz{#3}%
+ \or \numberedsubseczzz{#3}%
+ \or \numberedsubsubseczzz{#3}%
+ \fi
+ \fi
\fi
-\fi
+ \suppressfirstparagraphindent
}
-% @chapter, @appendix, @unnumbered.
-\def\thischaptername{No Chapter Title}
-\outer\def\chapter{\parsearg\chapteryyy}
-\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz
-\def\chapterzzz #1{%
- \secno=0 \subsecno=0 \subsubsecno=0
- \global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}%
- \chapmacro {#1}{\the\chapno}%
- \gdef\thissection{#1}%
- \gdef\thischaptername{#1}%
- % We don't substitute the actual chapter name into \thischapter
- % because we don't want its macros evaluated now.
- \xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}%
- \writetocentry{chap}{#1}{{\the\chapno}}
- \donoderef
+% an interface:
+\def\numhead{\genhead N}
+\def\apphead{\genhead A}
+\def\unnmhead{\genhead U}
+
+% @chapter, @appendix, @unnumbered. Increment top-level counter, reset
+% all lower-level sectioning counters to zero.
+%
+% Also set \chaplevelprefix, which we prepend to @float sequence numbers
+% (e.g., figures), q.v. By default (before any chapter), that is empty.
+\let\chaplevelprefix = \empty
+%
+\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
+\def\chapterzzz#1{%
+ % section resetting is \global in case the chapter is in a group, such
+ % as an @include file.
+ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+ \global\advance\chapno by 1
+ %
+ % Used for \float.
+ \gdef\chaplevelprefix{\the\chapno.}%
+ \resetallfloatnos
+ %
+ \message{\putwordChapter\space \the\chapno}%
+ %
+ % Write the actual heading.
+ \chapmacro{#1}{Ynumbered}{\the\chapno}%
+ %
+ % So @section and the like are numbered underneath this chapter.
\global\let\section = \numberedsec
\global\let\subsection = \numberedsubsec
\global\let\subsubsection = \numberedsubsubsec
}
-% we use \chapno to avoid indenting back
-\def\appendixbox#1{%
- \setbox0 = \hbox{\putwordAppendix{} \the\chapno}%
- \hbox to \wd0{#1\hss}}
-
-\outer\def\appendix{\parsearg\appendixyyy}
-\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz
-\def\appendixzzz #1{%
- \secno=0 \subsecno=0 \subsubsecno=0
- \global\advance \appendixno by 1
- \message{\putwordAppendix\space \appendixletter}%
- \chapmacro {#1}{\appendixbox{\putwordAppendix{} \appendixletter}}%
- \gdef\thissection{#1}%
- \gdef\thischaptername{#1}%
- \xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
- \writetocentry{appendix}{#1}{{\appendixletter}}
- \appendixnoderef
+\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
+\def\appendixzzz#1{%
+ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+ \global\advance\appendixno by 1
+ \gdef\chaplevelprefix{\appendixletter.}%
+ \resetallfloatnos
+ %
+ \def\appendixnum{\putwordAppendix\space \appendixletter}%
+ \message{\appendixnum}%
+ %
+ \chapmacro{#1}{Yappendix}{\appendixletter}%
+ %
\global\let\section = \appendixsec
\global\let\subsection = \appendixsubsec
\global\let\subsubsection = \appendixsubsubsec
}
-% @centerchap is like @unnumbered, but the heading is centered.
-\outer\def\centerchap{\parsearg\centerchapyyy}
-\def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}}
-
-% @top is like @unnumbered.
-\outer\def\top{\parsearg\unnumberedyyy}
-
-\outer\def\unnumbered{\parsearg\unnumberedyyy}
-\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-\def\unnumberedzzz #1{%
- \secno=0 \subsecno=0 \subsubsecno=0
+\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+\def\unnumberedzzz#1{%
+ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+ \global\advance\unnumberedno by 1
+ %
+ % Since an unnumbered has no number, no prefix for figures.
+ \global\let\chaplevelprefix = \empty
+ \resetallfloatnos
%
% This used to be simply \message{#1}, but TeX fully expands the
% argument to \message. Therefore, if #1 contained @-commands, TeX
@@ -3812,134 +5170,98 @@ width0pt\relax} \fi
% \the<toks register> to achieve this: TeX expands \the<toks> only once,
% simply yielding the contents of <toks register>. (We also do this for
% the toc entries.)
- \toks0 = {#1}\message{(\the\toks0)}%
+ \toks0 = {#1}%
+ \message{(\the\toks0)}%
+ %
+ \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
%
- \unnumbchapmacro {#1}%
- \gdef\thischapter{#1}\gdef\thissection{#1}%
- \writetocentry{unnumbchap}{#1}{{\the\chapno}}
- \unnumbnoderef
\global\let\section = \unnumberedsec
\global\let\subsection = \unnumberedsubsec
\global\let\subsubsection = \unnumberedsubsubsec
}
+% @centerchap is like @unnumbered, but the heading is centered.
+\outer\parseargdef\centerchap{%
+ % Well, we could do the following in a group, but that would break
+ % an assumption that \chapmacro is called at the outermost level.
+ % Thus we are safer this way: --kasal, 24feb04
+ \let\centerparametersmaybe = \centerparameters
+ \unnmhead0{#1}%
+ \let\centerparametersmaybe = \relax
+}
+
+% @top is like @unnumbered.
+\let\top\unnumbered
+
% Sections.
-\outer\def\numberedsec{\parsearg\secyyy}
-\def\secyyy #1{\numhead1{#1}} % normally calls seczzz
-\def\seczzz #1{%
- \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
- \gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
- \writetocentry{sec}{#1}{{\the\chapno}{\the\secno}}
- \donoderef
- \nobreak
+\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
+\def\seczzz#1{%
+ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
+ \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
}
-\outer\def\appendixsection{\parsearg\appendixsecyyy}
-\outer\def\appendixsec{\parsearg\appendixsecyyy}
-\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz
-\def\appendixsectionzzz #1{%
- \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
- \gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
- \writetocentry{sec}{#1}{{\appendixletter}{\the\secno}}
- \appendixnoderef
- \nobreak
+\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
+\def\appendixsectionzzz#1{%
+ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
+ \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
}
+\let\appendixsec\appendixsection
-\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy}
-\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz
-\def\unnumberedseczzz #1{%
- \plainsecheading {#1}\gdef\thissection{#1}%
- \writetocentry{unnumbsec}{#1}{{\the\chapno}{\the\secno}}
- \unnumbnoderef
- \nobreak
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
+\def\unnumberedseczzz#1{%
+ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
+ \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
}
% Subsections.
-\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy}
-\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz
-\def\numberedsubseczzz #1{%
- \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
- \subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
- \writetocentry{subsec}{#1}{{\the\chapno}{\the\secno}{\the\subsecno}}
- \donoderef
- \nobreak
+\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
+\def\numberedsubseczzz#1{%
+ \global\subsubsecno=0 \global\advance\subsecno by 1
+ \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
}
-\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy}
-\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz
-\def\appendixsubseczzz #1{%
- \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
- \subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
- \writetocentry{subsec}{#1}{{\appendixletter}{\the\secno}{\the\subsecno}}
- \appendixnoderef
- \nobreak
+\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
+\def\appendixsubseczzz#1{%
+ \global\subsubsecno=0 \global\advance\subsecno by 1
+ \sectionheading{#1}{subsec}{Yappendix}%
+ {\appendixletter.\the\secno.\the\subsecno}%
}
-\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy}
-\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-\def\unnumberedsubseczzz #1{%
- \plainsubsecheading {#1}\gdef\thissection{#1}%
- \writetocentry{unnumbsubsec}{#1}{{\the\chapno}{\the\secno}{\the\subsecno}}
- \unnumbnoderef
- \nobreak
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+\def\unnumberedsubseczzz#1{%
+ \global\subsubsecno=0 \global\advance\subsecno by 1
+ \sectionheading{#1}{subsec}{Ynothing}%
+ {\the\unnumberedno.\the\secno.\the\subsecno}%
}
% Subsubsections.
-\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy}
-\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz
-\def\numberedsubsubseczzz #1{%
- \gdef\thissection{#1}\global\advance \subsubsecno by 1 %
- \subsubsecheading {#1}
- {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
- \writetocentry{subsubsec}{#1}{{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}
- \donoderef
- \nobreak
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
+\def\numberedsubsubseczzz#1{%
+ \global\advance\subsubsecno by 1
+ \sectionheading{#1}{subsubsec}{Ynumbered}%
+ {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy}
-\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz
-\def\appendixsubsubseczzz #1{%
- \gdef\thissection{#1}\global\advance \subsubsecno by 1 %
- \subsubsecheading {#1}
- {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
- \writetocentry{subsubsec}{#1}{{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}
- \appendixnoderef
- \nobreak
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
+\def\appendixsubsubseczzz#1{%
+ \global\advance\subsubsecno by 1
+ \sectionheading{#1}{subsubsec}{Yappendix}%
+ {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy}
-\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-\def\unnumberedsubsubseczzz #1{%
- \plainsubsubsecheading {#1}\gdef\thissection{#1}%
- \writetocentry{unnumbsubsubsec}{#1}{{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}
- \unnumbnoderef
- \nobreak
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+\def\unnumberedsubsubseczzz#1{%
+ \global\advance\subsubsecno by 1
+ \sectionheading{#1}{subsubsec}{Ynothing}%
+ {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-% These are variants which are not "outer", so they can appear in @ifinfo.
-% Actually, they should now be obsolete; ordinary section commands should work.
-\def\infotop{\parsearg\unnumberedzzz}
-\def\infounnumbered{\parsearg\unnumberedzzz}
-\def\infounnumberedsec{\parsearg\unnumberedseczzz}
-\def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz}
-\def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
-
-\def\infoappendix{\parsearg\appendixzzz}
-\def\infoappendixsec{\parsearg\appendixseczzz}
-\def\infoappendixsubsec{\parsearg\appendixsubseczzz}
-\def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz}
-
-\def\infochapter{\parsearg\chapterzzz}
-\def\infosection{\parsearg\sectionzzz}
-\def\infosubsection{\parsearg\subsectionzzz}
-\def\infosubsubsection{\parsearg\subsubsectionzzz}
-
% These macros control what the section commands do, according
% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
% Define them by default for a numbered chapter.
-\global\let\section = \numberedsec
-\global\let\subsection = \numberedsubsec
-\global\let\subsubsection = \numberedsubsubsec
+\let\section = \numberedsec
+\let\subsection = \numberedsubsec
+\let\subsubsection = \numberedsubsubsec
% Define @majorheading, @heading and @subheading
@@ -3951,24 +5273,27 @@ width0pt\relax} \fi
% 3) Likewise, headings look best if no \parindent is used, and
% if justification is not attempted. Hence \raggedright.
-
-\def\majorheading{\parsearg\majorheadingzzz}
-\def\majorheadingzzz #1{%
+\def\majorheading{%
{\advance\chapheadingskip by 10pt \chapbreak }%
- {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 200}
+ \parsearg\chapheadingzzz
+}
-\def\chapheading{\parsearg\chapheadingzzz}
-\def\chapheadingzzz #1{\chapbreak %
+\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
+\def\chapheadingzzz#1{%
{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 200}
+ \parindent=0pt\ptexraggedright
+ \rmisbold #1\hfill}}%
+ \bigskip \par\penalty 200\relax
+ \suppressfirstparagraphindent
+}
% @heading, @subheading, @subsubheading.
-\def\heading{\parsearg\plainsecheading}
-\def\subheading{\parsearg\plainsubsecheading}
-\def\subsubheading{\parsearg\plainsubsubsecheading}
+\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
+ \suppressfirstparagraphindent}
+\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
+ \suppressfirstparagraphindent}
+\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
+ \suppressfirstparagraphindent}
% These macros generate a chapter, section, etc. heading only
% (including whitespace, linebreaking, etc. around it),
@@ -3977,8 +5302,6 @@ width0pt\relax} \fi
%%% Args are the skip and penalty (usually negative)
\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-
%%% Define plain chapter starts, and page on/off switching for it
% Parameter controlling skip before chapter headings (if needed)
@@ -3986,7 +5309,20 @@ width0pt\relax} \fi
\def\chapbreak{\dobreak \chapheadingskip {-4000}}
\def\chappager{\par\vfill\supereject}
-\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
+% Because \domark is called before \chapoddpage, the filler page will
+% get the headings for the next chapter, which is wrong. But we don't
+% care -- we just disable all headings on the filler page.
+\def\chapoddpage{%
+ \chappager
+ \ifodd\pageno \else
+ \begingroup
+ \evenheadline={\hfil}\evenfootline={\hfil}%
+ \oddheadline={\hfil}\oddfootline={\hfil}%
+ \hbox to 0pt{}%
+ \chappager
+ \endgroup
+ \fi
+}
\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
@@ -4001,7 +5337,7 @@ width0pt\relax} \fi
\global\let\pagealignmacro=\chappager
\global\def\HEADINGSon{\HEADINGSsingle}}
-\def\CHAPPAGodd{
+\def\CHAPPAGodd{%
\global\let\contentsalignmacro = \chapoddpage
\global\let\pchapsepmacro=\chapoddpage
\global\let\pagealignmacro=\chapoddpage
@@ -4009,116 +5345,280 @@ width0pt\relax} \fi
\CHAPPAGon
-\def\CHAPFplain{
-\global\let\chapmacro=\chfplain
-\global\let\unnumbchapmacro=\unnchfplain
-\global\let\centerchapmacro=\centerchfplain}
-
-% Plain chapter opening.
-% #1 is the text, #2 the chapter number or empty if unnumbered.
-\def\chfplain#1#2{%
+% Chapter opening.
+%
+% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
+% Yappendix, Yomitfromtoc), #3 the chapter number.
+%
+% To test against our argument.
+\def\Ynothingkeyword{Ynothing}
+\def\Yomitfromtockeyword{Yomitfromtoc}
+\def\Yappendixkeyword{Yappendix}
+%
+\def\chapmacro#1#2#3{%
+ % Insert the first mark before the heading break (see notes for \domark).
+ \let\prevchapterdefs=\lastchapterdefs
+ \let\prevsectiondefs=\lastsectiondefs
+ \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}%
+ \gdef\thissection{}}%
+ %
+ \def\temptype{#2}%
+ \ifx\temptype\Ynothingkeyword
+ \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
+ \gdef\thischapter{\thischaptername}}%
+ \else\ifx\temptype\Yomitfromtockeyword
+ \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
+ \gdef\thischapter{}}%
+ \else\ifx\temptype\Yappendixkeyword
+ \toks0={#1}%
+ \xdef\lastchapterdefs{%
+ \gdef\noexpand\thischaptername{\the\toks0}%
+ \gdef\noexpand\thischapternum{\appendixletter}%
+ \gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum:
+ \noexpand\thischaptername}%
+ }%
+ \else
+ \toks0={#1}%
+ \xdef\lastchapterdefs{%
+ \gdef\noexpand\thischaptername{\the\toks0}%
+ \gdef\noexpand\thischapternum{\the\chapno}%
+ \gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum:
+ \noexpand\thischaptername}%
+ }%
+ \fi\fi\fi
+ %
+ % Output the mark. Pass it through \safewhatsit, to take care of
+ % the preceding space.
+ \safewhatsit\domark
+ %
+ % Insert the chapter heading break.
\pchapsepmacro
+ %
+ % Now the second mark, after the heading break. No break points
+ % between here and the heading.
+ \let\prevchapterdefs=\lastchapterdefs
+ \let\prevsectiondefs=\lastsectiondefs
+ \domark
+ %
{%
- \chapfonts \rm
- \def\chapnum{#2}%
- \setbox0 = \hbox{#2\ifx\chapnum\empty\else\enspace\fi}%
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
- \hangindent = \wd0 \centerparametersmaybe
+ \chapfonts \rmisbold
+ %
+ % Have to define \lastsection before calling \donoderef, because the
+ % xref code eventually uses it. On the other hand, it has to be called
+ % after \pchapsepmacro, or the headline will change too soon.
+ \gdef\lastsection{#1}%
+ %
+ % Only insert the separating space if we have a chapter/appendix
+ % number, and don't print the unnumbered ``number''.
+ \ifx\temptype\Ynothingkeyword
+ \setbox0 = \hbox{}%
+ \def\toctype{unnchap}%
+ \else\ifx\temptype\Yomitfromtockeyword
+ \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
+ \def\toctype{omit}%
+ \else\ifx\temptype\Yappendixkeyword
+ \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
+ \def\toctype{app}%
+ \else
+ \setbox0 = \hbox{#3\enspace}%
+ \def\toctype{numchap}%
+ \fi\fi\fi
+ %
+ % Write the toc entry for this chapter. Must come before the
+ % \donoderef, because we include the current node name in the toc
+ % entry, and \donoderef resets it to empty.
+ \writetocentry{\toctype}{#1}{#3}%
+ %
+ % For pdftex, we have to write out the node definition (aka, make
+ % the pdfdest) after any page break, but before the actual text has
+ % been typeset. If the destination for the pdf outline is after the
+ % text, then jumping from the outline may wind up with the text not
+ % being visible, for instance under high magnification.
+ \donoderef{#2}%
+ %
+ % Typeset the actual heading.
+ \nobreak % Avoid page breaks at the interline glue.
+ \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
+ \hangindent=\wd0 \centerparametersmaybe
\unhbox0 #1\par}%
}%
\nobreak\bigskip % no page break after a chapter title
\nobreak
}
-% Plain opening for unnumbered.
-\def\unnchfplain#1{\chfplain{#1}{}}
-
% @centerchap -- centered and unnumbered.
\let\centerparametersmaybe = \relax
-\def\centerchfplain#1{{%
- \def\centerparametersmaybe{%
- \advance\rightskip by 3\rightskip
- \leftskip = \rightskip
- \parfillskip = 0pt
- }%
- \chfplain{#1}{}%
-}}
+\def\centerparameters{%
+ \advance\rightskip by 3\rightskip
+ \leftskip = \rightskip
+ \parfillskip = 0pt
+}
-\CHAPFplain % The default
+% I don't think this chapter style is supported any more, so I'm not
+% updating it with the new noderef stuff. We'll see. --karl, 11aug03.
+%
+\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
+%
\def\unnchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\nobreak
+ \parindent=0pt\ptexraggedright
+ \rmisbold #1\hfill}}\bigskip \par\nobreak
}
-
\def\chfopen #1#2{\chapoddpage {\chapfonts
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
\par\penalty 5000 %
}
-
\def\centerchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt
- \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
+ \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
}
+\def\CHAPFopen{%
+ \global\let\chapmacro=\chfopen
+ \global\let\centerchapmacro=\centerchfopen}
-\def\CHAPFopen{
-\global\let\chapmacro=\chfopen
-\global\let\unnumbchapmacro=\unnchfopen
-\global\let\centerchapmacro=\centerchfopen}
-
-% Section titles.
+% Section titles. These macros combine the section number parts and
+% call the generic \sectionheading to do the printing.
+%
\newskip\secheadingskip
-\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
-\def\secheading#1#2#3{\sectionheading{sec}{#2.#3}{#1}}
-\def\plainsecheading#1{\sectionheading{sec}{}{#1}}
+\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
% Subsection titles.
-\newskip \subsecheadingskip
-\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
-\def\subsecheading#1#2#3#4{\sectionheading{subsec}{#2.#3.#4}{#1}}
-\def\plainsubsecheading#1{\sectionheading{subsec}{}{#1}}
+\newskip\subsecheadingskip
+\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
% Subsubsection titles.
-\let\subsubsecheadingskip = \subsecheadingskip
-\let\subsubsecheadingbreak = \subsecheadingbreak
-\def\subsubsecheading#1#2#3#4#5{\sectionheading{subsubsec}{#2.#3.#4.#5}{#1}}
-\def\plainsubsubsecheading#1{\sectionheading{subsubsec}{}{#1}}
+\def\subsubsecheadingskip{\subsecheadingskip}
+\def\subsubsecheadingbreak{\subsecheadingbreak}
-% Print any size section title.
+% Print any size, any type, section title.
%
-% #1 is the section type (sec/subsec/subsubsec), #2 is the section
-% number (maybe empty), #3 the text.
-\def\sectionheading#1#2#3{%
- {%
- \expandafter\advance\csname #1headingskip\endcsname by \parskip
- \csname #1headingbreak\endcsname
- }%
+% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
+% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
+% section number.
+%
+\def\seckeyword{sec}
+%
+\def\sectionheading#1#2#3#4{%
{%
% Switch to the right set of fonts.
- \csname #1fonts\endcsname \rm
+ \csname #2fonts\endcsname \rmisbold
+ %
+ \def\sectionlevel{#2}%
+ \def\temptype{#3}%
+ %
+ % Insert first mark before the heading break (see notes for \domark).
+ \let\prevsectiondefs=\lastsectiondefs
+ \ifx\temptype\Ynothingkeyword
+ \ifx\sectionlevel\seckeyword
+ \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}%
+ \gdef\thissection{\thissectionname}}%
+ \fi
+ \else\ifx\temptype\Yomitfromtockeyword
+ % Don't redefine \thissection.
+ \else\ifx\temptype\Yappendixkeyword
+ \ifx\sectionlevel\seckeyword
+ \toks0={#1}%
+ \xdef\lastsectiondefs{%
+ \gdef\noexpand\thissectionname{\the\toks0}%
+ \gdef\noexpand\thissectionnum{#4}%
+ \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum:
+ \noexpand\thissectionname}%
+ }%
+ \fi
+ \else
+ \ifx\sectionlevel\seckeyword
+ \toks0={#1}%
+ \xdef\lastsectiondefs{%
+ \gdef\noexpand\thissectionname{\the\toks0}%
+ \gdef\noexpand\thissectionnum{#4}%
+ \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum:
+ \noexpand\thissectionname}%
+ }%
+ \fi
+ \fi\fi\fi
+ %
+ % Go into vertical mode. Usually we'll already be there, but we
+ % don't want the following whatsit to end up in a preceding paragraph
+ % if the document didn't happen to have a blank line.
+ \par
+ %
+ % Output the mark. Pass it through \safewhatsit, to take care of
+ % the preceding space.
+ \safewhatsit\domark
+ %
+ % Insert space above the heading.
+ \csname #2headingbreak\endcsname
+ %
+ % Now the second mark, after the heading break. No break points
+ % between here and the heading.
+ \let\prevsectiondefs=\lastsectiondefs
+ \domark
%
- % Only insert the separating space if we have a section number.
- \def\secnum{#2}%
- \setbox0 = \hbox{#2\ifx\secnum\empty\else\enspace\fi}%
+ % Only insert the space after the number if we have a section number.
+ \ifx\temptype\Ynothingkeyword
+ \setbox0 = \hbox{}%
+ \def\toctype{unn}%
+ \gdef\lastsection{#1}%
+ \else\ifx\temptype\Yomitfromtockeyword
+ % for @headings -- no section number, don't include in toc,
+ % and don't redefine \lastsection.
+ \setbox0 = \hbox{}%
+ \def\toctype{omit}%
+ \let\sectionlevel=\empty
+ \else\ifx\temptype\Yappendixkeyword
+ \setbox0 = \hbox{#4\enspace}%
+ \def\toctype{app}%
+ \gdef\lastsection{#1}%
+ \else
+ \setbox0 = \hbox{#4\enspace}%
+ \def\toctype{num}%
+ \gdef\lastsection{#1}%
+ \fi\fi\fi
+ %
+ % Write the toc entry (before \donoderef). See comments in \chapmacro.
+ \writetocentry{\toctype\sectionlevel}{#1}{#4}%
%
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
- \hangindent = \wd0 % zero if no section number
- \unhbox0 #3}%
+ % Write the node reference (= pdf destination for pdftex).
+ % Again, see comments in \chapmacro.
+ \donoderef{#3}%
+ %
+ % Interline glue will be inserted when the vbox is completed.
+ % That glue will be a valid breakpoint for the page, since it'll be
+ % preceded by a whatsit (usually from the \donoderef, or from the
+ % \writetocentry if there was no node). We don't want to allow that
+ % break, since then the whatsits could end up on page n while the
+ % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000.
+ \nobreak
+ %
+ % Output the actual section heading.
+ \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
+ \hangindent=\wd0 % zero if no section number
+ \unhbox0 #1}%
}%
- % Add extra space after the heading -- either a line space or a
- % paragraph space, whichever is more. (Some people like to set
- % \parskip to large values for some reason.) Don't allow stretch, though.
- \nobreak
- \ifdim\parskip>\normalbaselineskip
- \kern\parskip
- \else
- \kern\normalbaselineskip
- \fi
+ % Add extra space after the heading -- half of whatever came above it.
+ % Don't allow stretch, though.
+ \kern .5 \csname #2headingskip\endcsname
+ %
+ % Do not let the kern be a potential breakpoint, as it would be if it
+ % was followed by glue.
\nobreak
+ %
+ % We'll almost certainly start a paragraph next, so don't let that
+ % glue accumulate. (Not a breakpoint because it's preceded by a
+ % discardable item.)
+ \vskip-\parskip
+ %
+ % This is purely so the last item on the list is a known \penalty >
+ % 10000. This is so \startdefun can avoid allowing breakpoints after
+ % section headings. Otherwise, it would insert a valid breakpoint between:
+ %
+ % @section sec-whatever
+ % @deffn def-whatever
+ \penalty 10001
}
@@ -4127,119 +5627,177 @@ width0pt\relax} \fi
\newwrite\tocfile
% Write an entry to the toc file, opening it if necessary.
-% Called from @chapter, etc. We supply {\folio} at the end of the
-% argument, which will end up as the last argument to the \...entry macro.
+% Called from @chapter, etc.
+%
+% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
+% We append the current node name (if any) and page number as additional
+% arguments for the \{chap,sec,...}entry macros which will eventually
+% read this. The node name is used in the pdf outlines as the
+% destination to jump to.
%
-% Usage: \writetocentry{chap}{The Name of The Game}{{\the\chapno}}
% We open the .toc file for writing here instead of at @setfilename (or
% any other fixed time) so that @contents can be anywhere in the document.
+% But if #1 is `omit', then we don't do anything. This is used for the
+% table of contents chapter openings themselves.
%
\newif\iftocfileopened
+\def\omitkeyword{omit}%
+%
\def\writetocentry#1#2#3{%
- \iftocfileopened\else
- \immediate\openout\tocfile = \jobname.toc
- \global\tocfileopenedtrue
- \fi
- %
- \iflinks
- \toks0 = {#2}%
- \edef\temp{\write\tocfile{\realbackslash #1entry{\the\toks0}#3{\folio}}}%
- \temp
+ \edef\writetoctype{#1}%
+ \ifx\writetoctype\omitkeyword \else
+ \iftocfileopened\else
+ \immediate\openout\tocfile = \jobname.toc
+ \global\tocfileopenedtrue
+ \fi
+ %
+ \iflinks
+ {\atdummies
+ \edef\temp{%
+ \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
+ \temp
+ }%
+ \fi
\fi
%
- % Tell \shipout to create a page destination if we're doing pdf, which
- % will be the target of the links in the table of contents. We can't
- % just do it on every page because the title pages are numbered 1 and
- % 2 (the page numbers aren't printed), and so are the first two pages
- % of the document. Thus, we'd have two destinations named `1', and
- % two named `2'.
- \ifpdf \pdfmakepagedesttrue \fi
+ % Tell \shipout to create a pdf destination on each page, if we're
+ % writing pdf. These are used in the table of contents. We can't
+ % just write one on every page because the title pages are numbered
+ % 1 and 2 (the page numbers aren't printed), and so are the first
+ % two pages of the document. Thus, we'd have two destinations named
+ % `1', and two named `2'.
+ \ifpdf \global\pdfmakepagedesttrue \fi
+}
+
+
+% These characters do not print properly in the Computer Modern roman
+% fonts, so we must take special care. This is more or less redundant
+% with the Texinfo input format setup at the end of this file.
+%
+\def\activecatcodes{%
+ \catcode`\"=\active
+ \catcode`\$=\active
+ \catcode`\<=\active
+ \catcode`\>=\active
+ \catcode`\\=\active
+ \catcode`\^=\active
+ \catcode`\_=\active
+ \catcode`\|=\active
+ \catcode`\~=\active
+}
+
+
+% Read the toc file, which is essentially Texinfo input.
+\def\readtocfile{%
+ \setupdatafile
+ \activecatcodes
+ \input \tocreadfilename
}
\newskip\contentsrightmargin \contentsrightmargin=1in
\newcount\savepageno
\newcount\lastnegativepageno \lastnegativepageno = -1
-% Finish up the main text and prepare to read what we've written
-% to \tocfile.
+% Prepare to read what we've written to \tocfile.
%
\def\startcontents#1{%
- % If @setchapternewpage on, and @headings double, the contents should
- % start on an odd page, unlike chapters. Thus, we maintain
- % \contentsalignmacro in parallel with \pagealignmacro.
- % From: Torbjorn Granlund <tege@matematik.su.se>
- \contentsalignmacro
- \immediate\closeout\tocfile
- %
- % Don't need to put `Contents' or `Short Contents' in the headline.
- % It is abundantly clear what they are.
- \unnumbchapmacro{#1}\def\thischapter{}%
- \savepageno = \pageno
- \begingroup % Set up to handle contents files properly.
- \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
- % We can't do this, because then an actual ^ in a section
- % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97.
- %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
- \raggedbottom % Worry more about breakpoints than the bottom.
- \advance\hsize by -\contentsrightmargin % Don't use the full line length.
- %
- % Roman numerals for page numbers.
- \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
+ % If @setchapternewpage on, and @headings double, the contents should
+ % start on an odd page, unlike chapters. Thus, we maintain
+ % \contentsalignmacro in parallel with \pagealignmacro.
+ % From: Torbjorn Granlund <tege@matematik.su.se>
+ \contentsalignmacro
+ \immediate\closeout\tocfile
+ %
+ % Don't need to put `Contents' or `Short Contents' in the headline.
+ % It is abundantly clear what they are.
+ \chapmacro{#1}{Yomitfromtoc}{}%
+ %
+ \savepageno = \pageno
+ \begingroup % Set up to handle contents files properly.
+ \raggedbottom % Worry more about breakpoints than the bottom.
+ \advance\hsize by -\contentsrightmargin % Don't use the full line length.
+ %
+ % Roman numerals for page numbers.
+ \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
}
+% redefined for the two-volume lispref. We always output on
+% \jobname.toc even if this is redefined.
+%
+\def\tocreadfilename{\jobname.toc}
% Normal (long) toc.
+%
\def\contents{%
- \startcontents{\putwordTOC}%
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
- \contentsalignmacro % in case @setchapternewpage odd is in effect
- \pdfmakeoutlines
- \endgroup
- \lastnegativepageno = \pageno
- \global\pageno = \savepageno
+ \startcontents{\putwordTOC}%
+ \openin 1 \tocreadfilename\space
+ \ifeof 1 \else
+ \readtocfile
+ \fi
+ \vfill \eject
+ \contentsalignmacro % in case @setchapternewpage odd is in effect
+ \ifeof 1 \else
+ \pdfmakeoutlines
+ \fi
+ \closein 1
+ \endgroup
+ \lastnegativepageno = \pageno
+ \global\pageno = \savepageno
}
% And just the chapters.
\def\summarycontents{%
- \startcontents{\putwordShortTOC}%
- %
- \let\chapentry = \shortchapentry
- \let\appendixentry = \shortappendixentry
- \let\unnumbchapentry = \shortunnumberedentry
- % We want a true roman here for the page numbers.
- \secfonts
- \let\rm=\shortcontrm \let\bf=\shortcontbf
- \let\sl=\shortcontsl \let\tt=\shortconttt
- \rm
- \hyphenpenalty = 10000
- \advance\baselineskip by 1pt % Open it up a little.
- \def\secentry ##1##2##3##4{}
- \def\subsecentry ##1##2##3##4##5{}
- \def\subsubsecentry ##1##2##3##4##5##6{}
- \let\unnumbsecentry = \secentry
- \let\unnumbsubsecentry = \subsecentry
- \let\unnumbsubsubsecentry = \subsubsecentry
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
- \contentsalignmacro % in case @setchapternewpage odd is in effect
- \endgroup
- \lastnegativepageno = \pageno
- \global\pageno = \savepageno
+ \startcontents{\putwordShortTOC}%
+ %
+ \let\numchapentry = \shortchapentry
+ \let\appentry = \shortchapentry
+ \let\unnchapentry = \shortunnchapentry
+ % We want a true roman here for the page numbers.
+ \secfonts
+ \let\rm=\shortcontrm \let\bf=\shortcontbf
+ \let\sl=\shortcontsl \let\tt=\shortconttt
+ \rm
+ \hyphenpenalty = 10000
+ \advance\baselineskip by 1pt % Open it up a little.
+ \def\numsecentry##1##2##3##4{}
+ \let\appsecentry = \numsecentry
+ \let\unnsecentry = \numsecentry
+ \let\numsubsecentry = \numsecentry
+ \let\appsubsecentry = \numsecentry
+ \let\unnsubsecentry = \numsecentry
+ \let\numsubsubsecentry = \numsecentry
+ \let\appsubsubsecentry = \numsecentry
+ \let\unnsubsubsecentry = \numsecentry
+ \openin 1 \tocreadfilename\space
+ \ifeof 1 \else
+ \readtocfile
+ \fi
+ \closein 1
+ \vfill \eject
+ \contentsalignmacro % in case @setchapternewpage odd is in effect
+ \endgroup
+ \lastnegativepageno = \pageno
+ \global\pageno = \savepageno
}
\let\shortcontents = \summarycontents
-\ifpdf
- \pdfcatalog{/PageMode /UseOutlines}%
-\fi
+% Typeset the label for a chapter or appendix for the short contents.
+% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
+%
+\def\shortchaplabel#1{%
+ % This space should be enough, since a single number is .5em, and the
+ % widest letter (M) is 1em, at least in the Computer Modern fonts.
+ % But use \hss just in case.
+ % (This space doesn't include the extra space that gets added after
+ % the label; that gets put in by \shortchapentry above.)
+ %
+ % We'd like to right-justify chapter numbers, but that looks strange
+ % with appendix letters. And right-justifying numbers and
+ % left-justifying letters looks strange when there is less than 10
+ % chapters. Have to read the whole toc once to know how many chapters
+ % there are before deciding ...
+ \hbox to 1em{#1\hss}%
+}
% These macros generate individual entries in the table of contents.
% The first argument is the chapter or section name.
@@ -4247,58 +5805,46 @@ width0pt\relax} \fi
% The arguments in between are the chapter number, section number, ...
% Chapters, in the main contents.
-\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
+\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
%
% Chapters, in the short toc.
% See comments in \dochapentry re vbox and related settings.
-\def\shortchapentry#1#2#3{%
- \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}%
+\def\shortchapentry#1#2#3#4{%
+ \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
}
% Appendices, in the main contents.
-\def\appendixentry#1#2#3{%
- \dochapentry{\appendixbox{\putwordAppendix{} #2}\labelspace#1}{#3}}
+% Need the word Appendix, and a fixed-size box.
%
-% Appendices, in the short toc.
-\let\shortappendixentry = \shortchapentry
-
-% Typeset the label for a chapter or appendix for the short contents.
-% The arg is, e.g., `Appendix A' for an appendix, or `3' for a chapter.
-% We could simplify the code here by writing out an \appendixentry
-% command in the toc file for appendices, instead of using \chapentry
-% for both, but it doesn't seem worth it.
-%
-\newdimen\shortappendixwidth
+\def\appendixbox#1{%
+ % We use M since it's probably the widest letter.
+ \setbox0 = \hbox{\putwordAppendix{} M}%
+ \hbox to \wd0{\putwordAppendix{} #1\hss}}
%
-\def\shortchaplabel#1{%
- % This space should be enough, since a single number is .5em, and the
- % widest letter (M) is 1em, at least in the Computer Modern fonts.
- % But use \hss just in case.
- % (This space doesn't include the extra space that gets added after
- % the label; that gets put in by \shortchapentry above.)
- \dimen0 = 1em
- \hbox to \dimen0{#1\hss}%
-}
+\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
% Unnumbered chapters.
-\def\unnumbchapentry#1#2#3{\dochapentry{#1}{#3}}
-\def\shortunnumberedentry#1#2#3{\tocentry{#1}{\doshortpageno\bgroup#3\egroup}}
+\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
+\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
% Sections.
-\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
-\def\unnumbsecentry#1#2#3#4{\dosecentry{#1}{#4}}
+\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
+\let\appsecentry=\numsecentry
+\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
% Subsections.
-\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
-\def\unnumbsubsecentry#1#2#3#4#5{\dosubsecentry{#1}{#5}}
+\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsecentry=\numsubsecentry
+\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
% And subsubsections.
-\def\subsubsecentry#1#2#3#4#5#6{%
- \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
-\def\unnumbsubsubsecentry#1#2#3#4#5#6{\dosubsubsecentry{#1}{#6}}
+\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsubsecentry=\numsubsubsecentry
+\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
% This parameter controls the indentation of the various levels.
-\newdimen\tocindent \tocindent = 3pc
+% Same as \defaultparindent.
+\newdimen\tocindent \tocindent = 15pt
% Now for the actual typesetting. In all these, #1 is the text and #2 is the
% page number.
@@ -4329,17 +5875,8 @@ width0pt\relax} \fi
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
\endgroup}
-% Final typesetting of a toc entry; we use the same \entry macro as for
-% the index entries, but we want to suppress hyphenation here. (We
-% can't do that in the \entry macro, since index entries might consist
-% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
-\def\tocentry#1#2{\begingroup
- \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
- % Do not use \turnoffactive in these arguments. Since the toc is
- % typeset in cmr, characters such as _ would come out wrong; we
- % have to do the usual translation tricks.
- \entry{#1}{#2}%
-\endgroup}
+% We use the same \entry macro as for the index entries.
+\let\tocentry = \entry
% Space between chapter (or whatever) number and the title.
\def\labelspace{\hskip1em \relax}
@@ -4349,62 +5886,30 @@ width0pt\relax} \fi
\def\chapentryfonts{\secfonts \rm}
\def\secentryfonts{\textfonts}
-\let\subsecentryfonts = \textfonts
-\let\subsubsecentryfonts = \textfonts
+\def\subsecentryfonts{\textfonts}
+\def\subsubsecentryfonts{\textfonts}
\message{environments,}
% @foo ... @end foo.
-% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-%
-% Since these characters are used in examples, it should be an even number of
-% \tt widths. Each \tt character is 1en, so two makes it 1em.
-%
-\def\point{$\star$}
-\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
-\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-
-% The @error{} command.
-% Adapted from the TeXbook's \boxit.
-%
-\newbox\errorbox
-%
-{\tentt \global\dimen0 = 3em}% Width of the box.
-\dimen2 = .55pt % Thickness of rules
-% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
-%
-\global\setbox\errorbox=\hbox to \dimen0{\hfil
- \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
- \advance\hsize by -2\dimen2 % Rules.
- \vbox{
- \hrule height\dimen2
- \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
- \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
- \kern3pt\vrule width\dimen2}% Space to right.
- \hrule height\dimen2}
- \hfil}
-%
-\def\error{\leavevmode\lower.7ex\copy\errorbox}
-
% @tex ... @end tex escapes into raw Tex temporarily.
% One exception: @ is still an escape character, so that @end tex works.
% But \@ or @@ will get a plain tex @ character.
-\def\tex{\begingroup
+\envdef\tex{%
+ \setupmarkupstyle{tex}%
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
\catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
\catcode `\%=14
\catcode `\+=\other
\catcode `\"=\other
- \catcode `\==\other
\catcode `\|=\other
\catcode `\<=\other
\catcode `\>=\other
+ \catcode`\`=\other
+ \catcode`\'=\other
\escapechar=`\\
%
\let\b=\ptexb
@@ -4416,19 +5921,25 @@ width0pt\relax} \fi
\let\equiv=\ptexequiv
\let\!=\ptexexclam
\let\i=\ptexi
+ \let\indent=\ptexindent
+ \let\noindent=\ptexnoindent
\let\{=\ptexlbrace
\let\+=\tabalign
\let\}=\ptexrbrace
+ \let\/=\ptexslash
\let\*=\ptexstar
\let\t=\ptext
+ \expandafter \let\csname top\endcsname=\ptextop % outer
+ \let\frenchspacing=\plainfrenchspacing
%
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
\def\@{@}%
-\let\Etex=\endgroup}
+}
+% There is no need to define \Etex.
% Define @lisp ... @end lisp.
-% @lisp does a \begingroup so it can rebind things,
+% @lisp environment forms a group so it can rebind things,
% including the definition of @end lisp (which normally is erroneous).
% Amount to narrow the margins by for @lisp.
@@ -4439,19 +5950,6 @@ width0pt\relax} \fi
% have any width.
\def\lisppar{\null\endgraf}
-% Make each space character in the input produce a normal interword
-% space in the output. Don't allow a line break at this space, as this
-% is used only in environments like @example, where each line of input
-% should produce a line of output anyway.
-%
-{\obeyspaces %
-\gdef\sepspaces{\obeyspaces\let =\tie}}
-
-% Define \obeyedspace to be our active space, whatever it is. This is
-% for use in \parsearg.
-{\sepspaces%
-\global\let\obeyedspace= }
-
% This space is always present above and below environments.
\newskip\envskipamount \envskipamount = 0pt
@@ -4461,7 +5959,8 @@ width0pt\relax} \fi
% start of the next paragraph will insert \parskip.
%
\def\aboveenvbreak{{%
- % =10000 instead of <10000 because of a special case in \itemzzz, q.v.
+ % =10000 instead of <10000 because of a special case in \itemzzz and
+ % \sectionheading, q.v.
\ifnum \lastpenalty=10000 \else
\advance\envskipamount by \parskip
\endgraf
@@ -4469,7 +5968,7 @@ width0pt\relax} \fi
\removelastskip
% it's not a good place to break if the last penalty was \nobreak
% or better ...
- \ifnum\lastpenalty>10000 \else \penalty-50 \fi
+ \ifnum\lastpenalty<10000 \penalty-50 \fi
\vskip\envskipamount
\fi
\fi
@@ -4477,7 +5976,8 @@ width0pt\relax} \fi
\let\afterenvbreak = \aboveenvbreak
-% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins.
+% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will
+% also clear it, so that its embedded environments do the narrowing again.
\let\nonarrowing=\relax
% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
@@ -4501,174 +6001,256 @@ width0pt\relax} \fi
%
\newskip\lskip\newskip\rskip
-\def\cartouche{%
-\par % can't be in the midst of a paragraph.
-\begingroup
- \lskip=\leftskip \rskip=\rightskip
- \leftskip=0pt\rightskip=0pt %we want these *outside*.
- \cartinner=\hsize \advance\cartinner by-\lskip
- \advance\cartinner by-\rskip
- \cartouter=\hsize
- \advance\cartouter by 18.4pt % allow for 3pt kerns on either
-% side, and for 6pt waste from
-% each corner char, and rule thickness
- \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing=\comment
- \vbox\bgroup
- \baselineskip=0pt\parskip=0pt\lineskip=0pt
- \carttop
- \hbox\bgroup
- \hskip\lskip
- \vrule\kern3pt
- \vbox\bgroup
- \hsize=\cartinner
- \kern3pt
- \begingroup
- \baselineskip=\normbskip
- \lineskip=\normlskip
- \parskip=\normpskip
- \vskip -\parskip
+\envdef\cartouche{%
+ \ifhmode\par\fi % can't be in the midst of a paragraph.
+ \startsavinginserts
+ \lskip=\leftskip \rskip=\rightskip
+ \leftskip=0pt\rightskip=0pt % we want these *outside*.
+ \cartinner=\hsize \advance\cartinner by-\lskip
+ \advance\cartinner by-\rskip
+ \cartouter=\hsize
+ \advance\cartouter by 18.4pt % allow for 3pt kerns on either
+ % side, and for 6pt waste from
+ % each corner char, and rule thickness
+ \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
+ % Flag to tell @lisp, etc., not to narrow margin.
+ \let\nonarrowing = t%
+ \vbox\bgroup
+ \baselineskip=0pt\parskip=0pt\lineskip=0pt
+ \carttop
+ \hbox\bgroup
+ \hskip\lskip
+ \vrule\kern3pt
+ \vbox\bgroup
+ \kern3pt
+ \hsize=\cartinner
+ \baselineskip=\normbskip
+ \lineskip=\normlskip
+ \parskip=\normpskip
+ \vskip -\parskip
+ \comment % For explanation, see the end of \def\group.
+}
\def\Ecartouche{%
- \endgroup
- \kern3pt
- \egroup
- \kern3pt\vrule
- \hskip\rskip
- \egroup
- \cartbot
- \egroup
-\endgroup
-}}
+ \ifhmode\par\fi
+ \kern3pt
+ \egroup
+ \kern3pt\vrule
+ \hskip\rskip
+ \egroup
+ \cartbot
+ \egroup
+ \checkinserts
+}
% This macro is called at the beginning of all the @example variants,
% inside a group.
+\newdimen\nonfillparindent
\def\nonfillstart{%
\aboveenvbreak
- \inENV % This group ends at the end of the body
\hfuzz = 12pt % Don't be fussy
\sepspaces % Make spaces be word-separators rather than space tokens.
\let\par = \lisppar % don't ignore blank lines
\obeylines % each line of input is a line of output
\parskip = 0pt
+ % Turn off paragraph indentation but redefine \indent to emulate
+ % the normal \indent.
+ \nonfillparindent=\parindent
\parindent = 0pt
+ \let\indent\nonfillindent
+ %
\emergencystretch = 0pt % don't try to avoid overfull boxes
- % @cartouche defines \nonarrowing to inhibit narrowing
- % at next level down.
\ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
\exdentamount=\lispnarrowing
- \let\exdent=\nofillexdent
- \let\nonarrowing=\relax
+ \else
+ \let\nonarrowing = \relax
\fi
+ \let\exdent=\nofillexdent
}
-% Define the \E... control sequence only if we are inside the particular
-% environment, so the error checking in \end will work.
-%
-% To end an @example-like environment, we first end the paragraph (via
-% \afterenvbreak's vertical glue), and then the group. That way we keep
-% the zero \parskip that the environments set -- \parskip glue will be
-% inserted at the beginning of the next paragraph in the document, after
-% the environment.
-%
-\def\nonfillfinish{\afterenvbreak\endgroup}
+\begingroup
+\obeyspaces
+% We want to swallow spaces (but not other tokens) after the fake
+% @indent in our nonfill-environments, where spaces are normally
+% active and set to @tie, resulting in them not being ignored after
+% @indent.
+\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}%
+\gdef\nonfillindentcheck{%
+\ifx\temp %
+\expandafter\nonfillindentgobble%
+\else%
+\leavevmode\nonfillindentbox%
+\fi%
+}%
+\endgroup
+\def\nonfillindentgobble#1{\nonfillindent}
+\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}}
+
+% If you want all examples etc. small: @set dispenvsize small.
+% If you want even small examples the full size: @set dispenvsize nosmall.
+% This affects the following displayed environments:
+% @example, @display, @format, @lisp
+%
+\def\smallword{small}
+\def\nosmallword{nosmall}
+\let\SETdispenvsize\relax
+\def\setnormaldispenv{%
+ \ifx\SETdispenvsize\smallword
+ % end paragraph for sake of leading, in case document has no blank
+ % line. This is redundant with what happens in \aboveenvbreak, but
+ % we need to do it before changing the fonts, and it's inconvenient
+ % to change the fonts afterward.
+ \ifnum \lastpenalty=10000 \else \endgraf \fi
+ \smallexamplefonts \rm
+ \fi
+}
+\def\setsmalldispenv{%
+ \ifx\SETdispenvsize\nosmallword
+ \else
+ \ifnum \lastpenalty=10000 \else \endgraf \fi
+ \smallexamplefonts \rm
+ \fi
+}
-% @lisp: indented, narrowed, typewriter font.
-\def\lisp{\begingroup
- \nonfillstart
- \let\Elisp = \nonfillfinish
- \tt
- \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
+% We often define two environments, @foo and @smallfoo.
+% Let's do it by one command:
+\def\makedispenv #1#2{
+ \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
+ \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
+ \expandafter\let\csname E#1\endcsname \afterenvbreak
+ \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
}
-% @example: Same as @lisp.
-\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp}
+% Define two synonyms:
+\def\maketwodispenvs #1#2#3{
+ \makedispenv{#1}{#3}
+ \makedispenv{#2}{#3}
+}
+% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
+%
% @smallexample and @smalllisp: use smaller fonts.
% Originally contributed by Pavel@xerox.
-\def\smalllisp{\begingroup
- \def\Esmalllisp{\nonfillfinish\endgroup}%
- \def\Esmallexample{\nonfillfinish\endgroup}%
- \smallexamplefonts
- \lisp
-}
-\let\smallexample = \smalllisp
-
-
-% @display: same as @lisp except keep current font.
%
-\def\display{\begingroup
+\maketwodispenvs {lisp}{example}{%
\nonfillstart
- \let\Edisplay = \nonfillfinish
- \gobble
+ \tt\setupmarkupstyle{example}%
+ \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
+ \gobble % eat return
}
+% @display/@smalldisplay: same as @lisp except keep current font.
%
-% @smalldisplay: @display plus smaller fonts.
-%
-\def\smalldisplay{\begingroup
- \def\Esmalldisplay{\nonfillfinish\endgroup}%
- \smallexamplefonts \rm
- \display
+\makedispenv {display}{%
+ \nonfillstart
+ \gobble
}
-% @format: same as @display except don't narrow margins.
+% @format/@smallformat: same as @display except don't narrow margins.
%
-\def\format{\begingroup
- \let\nonarrowing = t
+\makedispenv{format}{%
+ \let\nonarrowing = t%
\nonfillstart
- \let\Eformat = \nonfillfinish
\gobble
}
-%
-% @smallformat: @format plus smaller fonts.
-%
-\def\smallformat{\begingroup
- \def\Esmallformat{\nonfillfinish\endgroup}%
- \smallexamplefonts \rm
- \format
-}
-% @flushleft (same as @format).
-%
-\def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format}
+% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
+\envdef\flushleft{%
+ \let\nonarrowing = t%
+ \nonfillstart
+ \gobble
+}
+\let\Eflushleft = \afterenvbreak
% @flushright.
%
-\def\flushright{\begingroup
- \let\nonarrowing = t
+\envdef\flushright{%
+ \let\nonarrowing = t%
\nonfillstart
- \let\Eflushright = \nonfillfinish
\advance\leftskip by 0pt plus 1fill
\gobble
}
+\let\Eflushright = \afterenvbreak
+
+
+% @raggedright does more-or-less normal line breaking but no right
+% justification. From plain.tex.
+\envdef\raggedright{%
+ \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
+}
+\let\Eraggedright\par
+
+\envdef\raggedleft{%
+ \parindent=0pt \leftskip0pt plus2em
+ \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
+ \hbadness=10000 % Last line will usually be underfull, so turn off
+ % badness reporting.
+}
+\let\Eraggedleft\par
+
+\envdef\raggedcenter{%
+ \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em
+ \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
+ \hbadness=10000 % Last line will usually be underfull, so turn off
+ % badness reporting.
+}
+\let\Eraggedcenter\par
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
-% and narrows the margins.
+% and narrows the margins. We keep \parskip nonzero in general, since
+% we're doing normal filling. So, when using \aboveenvbreak and
+% \afterenvbreak, temporarily make \parskip 0.
%
-\def\quotation{%
- \begingroup\inENV %This group ends at the end of the @quotation body
+\def\quotationstart{%
{\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
\parindent=0pt
- % We have retained a nonzero parskip for the environment, since we're
- % doing normal filling. So to avoid extra space below the environment...
- \def\Equotation{\parskip = 0pt \nonfillfinish}%
%
% @cartouche defines \nonarrowing to inhibit narrowing at next level down.
\ifx\nonarrowing\relax
\advance\leftskip by \lispnarrowing
\advance\rightskip by \lispnarrowing
\exdentamount = \lispnarrowing
+ \else
\let\nonarrowing = \relax
\fi
+ \parsearg\quotationlabel
+}
+
+\envdef\quotation{%
+ \setnormaldispenv
+ \quotationstart
+}
+
+\envdef\smallquotation{%
+ \setsmalldispenv
+ \quotationstart
+}
+\let\Esmallquotation = \Equotation
+
+% We have retained a nonzero parskip for the environment, since we're
+% doing normal filling.
+%
+\def\Equotation{%
+ \par
+ \ifx\quotationauthor\undefined\else
+ % indent a bit.
+ \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
+ \fi
+ {\parskip=0pt \afterenvbreak}%
+}
+
+% If we're given an argument, typeset it in bold with a colon after.
+\def\quotationlabel#1{%
+ \def\temp{#1}%
+ \ifx\temp\empty \else
+ {\bf #1: }%
+ \fi
}
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
-% If we want to allow any <char> as delimiter,
+% If we want to allow any <char> as delimiter,
% we need the curly braces so that makeinfo sees the @verb command, eg:
% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org
%
@@ -4681,17 +6263,15 @@ width0pt\relax} \fi
\do\ \do\\\do\{\do\}\do\$\do\&%
\do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
\do\<\do\>\do\|\do\@\do+\do\"%
+ % Don't do the quotes -- if we do, @set txicodequoteundirected and
+ % @set txicodequotebacktick will not have effect on @verb and
+ % @verbatim, and ?` and !` ligatures won't get disabled.
+ %\do\`\do\'%
}
%
% [Knuth] p. 380
\def\uncatcodespecials{%
- \def\do##1{\catcode`##1=12}\dospecials}
-%
-% [Knuth] pp. 380,381,391
-% Disable Spanish ligatures ?` and !` of \tt font
-\begingroup
- \catcode`\`=\active\gdef`{\relax\lq}
-\endgroup
+ \def\do##1{\catcode`##1=\other}\dospecials}
%
% Setup for the @verb command.
%
@@ -4704,7 +6284,7 @@ width0pt\relax} \fi
\def\setupverb{%
\tt % easiest (and conventionally used) font for verbatim
\def\par{\leavevmode\endgraf}%
- \catcode`\`=\active
+ \setupmarkupstyle{verb}%
\tabeightspaces
% Respect line breaks,
% print special symbols as themselves, and
@@ -4719,6 +6299,7 @@ width0pt\relax} \fi
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
%
\def\starttabbox{\setbox0=\hbox\bgroup}
+%
\begingroup
\catcode`\^^I=\active
\gdef\tabexpand{%
@@ -4732,12 +6313,16 @@ width0pt\relax} \fi
}%
}
\endgroup
+
+% start the verbatim environment.
\def\setupverbatim{%
+ \let\nonarrowing = t%
+ \nonfillstart
% Easiest (and conventionally used) font for verbatim
\tt
\def\par{\leavevmode\egroup\box0\endgraf}%
- \catcode`\`=\active
\tabexpand
+ \setupmarkupstyle{verbatim}%
% Respect line breaks,
% print special symbols as themselves, and
% make each space count
@@ -4746,15 +6331,15 @@ width0pt\relax} \fi
\everypar{\starttabbox}%
}
-% Do the @verb magic: verbatim text is quoted by unique
-% delimiter characters. Before first delimiter expect a
+% Do the @verb magic: verbatim text is quoted by unique
+% delimiter characters. Before first delimiter expect a
% right brace, after last delimiter expect closing brace:
%
% \def\doverb'{'<char>#1<char>'}'{#1}
%
% [Knuth] p. 382; only eat outer {}
\begingroup
- \catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12
+ \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
\gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
\endgroup
%
@@ -4766,18 +6351,11 @@ width0pt\relax} \fi
%
% \def\doverbatim#1@end verbatim{#1}
%
-% For Texinfo it's a lot easier than for LaTeX,
+% For Texinfo it's a lot easier than for LaTeX,
% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
% we need not redefine '\', '{' and '}'.
%
% Inspired by LaTeX's verbatim command set [latex.ltx]
-%% Include LaTeX hack for completeness -- never know
-%% \begingroup
-%% \catcode`|=0 \catcode`[=1
-%% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active
-%% \catcode`\\=12|gdef|doverbatim#1@end verbatim[
-%% #1|endgroup|def|Everbatim[]|end[verbatim]]
-%% |endgroup
%
\begingroup
\catcode`\ =\active
@@ -4785,697 +6363,394 @@ width0pt\relax} \fi
% ignore everything up to the first ^^M, that's the newline at the end
% of the @verbatim input line itself. Otherwise we get an extra blank
% line in the output.
- \gdef\doverbatim#1^^M#2@end verbatim{#2\end{verbatim}}%
+ \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
+ % We really want {...\end verbatim} in the body of the macro, but
+ % without the active space; thus we have to use \xdef and \gobble.
\endgroup
%
-\def\verbatim{%
- \def\Everbatim{\nonfillfinish\endgroup}%
- \begingroup
- \nonfillstart
- \advance\leftskip by -\defbodyindent
- \begingroup\setupverbatim\doverbatim
+\envdef\verbatim{%
+ \setupverbatim\doverbatim
}
+\let\Everbatim = \afterenvbreak
+
% @verbatiminclude FILE - insert text of file in verbatim environment.
%
-% Allow normal characters that we make active in the argument (a file name).
-\def\verbatiminclude{%
- \begingroup
- \catcode`\\=\other
- \catcode`~=\other
- \catcode`^=\other
- \catcode`_=\other
- \catcode`|=\other
- \catcode`<=\other
- \catcode`>=\other
- \catcode`+=\other
- \parsearg\doverbatiminclude
-}
-\def\setupverbatiminclude{%
- \begingroup
- \nonfillstart
- \advance\leftskip by -\defbodyindent
- \begingroup\setupverbatim
-}
+\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
%
\def\doverbatiminclude#1{%
- % Restore active chars for included file.
- \endgroup
- \begingroup
- \let\value=\expandablevalue
- \def\thisfile{#1}%
- \expandafter\expandafter\setupverbatiminclude\input\thisfile
- \endgroup
- \nonfillfinish
- \endgroup
+ {%
+ \makevalueexpandable
+ \setupverbatim
+ \indexnofonts % Allow `@@' and other weird things in file names.
+ \input #1
+ \afterenvbreak
+ }%
}
% @copying ... @end copying.
-% Save the text away for @insertcopying later. Many commands won't be
-% allowed in this context, but that's ok.
-%
+% Save the text away for @insertcopying later.
+%
% We save the uninterpreted tokens, rather than creating a box.
% Saving the text in a box would be much easier, but then all the
% typesetting commands (@smallbook, font changes, etc.) have to be done
% beforehand -- and a) we want @copying to be done first in the source
% file; b) letting users define the frontmatter in as flexible order as
% possible is very desirable.
-%
-\def\copying{\begingroup
- % Define a command to swallow text until we reach `@end copying'.
- % \ is the escape char in this texinfo.tex file, so it is the
- % delimiter for the command; @ will be the escape char when we read
- % it, but that doesn't matter.
- \long\def\docopying##1\end copying{\gdef\copyingtext{##1}\enddocopying}%
- %
- % We must preserve ^^M's in the input file; see \insertcopying below.
- \catcode`\^^M = \active
- \docopying
-}
-
-% What we do to finish off the copying text.
%
-\def\enddocopying{\endgroup\ignorespaces}
-
-% @insertcopying. Here we must play games with ^^M's. On the one hand,
-% we need them to delimit commands such as `@end quotation', so they
-% must be active. On the other hand, we certainly don't want every
-% end-of-line to be a \par, as would happen with the normal active
-% definition of ^^M. On the third hand, two ^^M's in a row should still
-% generate a \par.
-%
-% Our approach is to make ^^M insert a space and a penalty1 normally;
-% then it can also check if \lastpenalty=1. If it does, then manually
-% do \par.
-%
-% This messes up the normal definitions of @c[omment], so we redefine
-% it. Similarly for @ignore. (These commands are used in the gcc
-% manual for man page generation.)
-%
-% Seems pretty fragile, most line-oriented commands will presumably
-% fail, but for the limited use of getting the copying text (which
-% should be quite simple) inserted, we can hope it's ok.
-%
-{\catcode`\^^M=\active %
-\gdef\insertcopying{\begingroup %
- \parindent = 0pt % looks wrong on title page
- \def^^M{%
- \ifnum \lastpenalty=1 %
- \par %
- \else %
- \space \penalty 1 %
- \fi %
- }%
- %
- % Fix @c[omment] for catcode 13 ^^M's.
- \def\c##1^^M{\ignorespaces}%
- \let\comment = \c %
- %
- % Don't bother jumping through all the hoops that \doignore does, it
- % would be very hard since the catcodes are already set.
- \long\def\ignore##1\end ignore{\ignorespaces}%
- %
- \copyingtext %
-\endgroup}%
+\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
+\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+%
+\def\insertcopying{%
+ \begingroup
+ \parindent = 0pt % paragraph indentation looks wrong on title page
+ \scanexp\copyingtext
+ \endgroup
}
+
\message{defuns,}
% @defun etc.
-% Allow user to change definition object font (\df) internally
-\def\setdeffont#1 {\csname DEF#1\endcsname}
-
\newskip\defbodyindent \defbodyindent=.4in
\newskip\defargsindent \defargsindent=50pt
\newskip\deflastargmargin \deflastargmargin=18pt
-
-\newcount\parencount
-
-% We want ()&[] to print specially on the defun line.
-%
-\def\activeparens{%
- \catcode`\(=\active \catcode`\)=\active
- \catcode`\&=\active
- \catcode`\[=\active \catcode`\]=\active
-}
-
-% Make control sequences which act like normal parenthesis chars.
-\let\lparen = ( \let\rparen = )
-
-{\activeparens % Now, smart parens don't turn on until &foo (see \amprm)
-
-% Be sure that we always have a definition for `(', etc. For example,
-% if the fn name has parens in it, \boldbrax will not be in effect yet,
-% so TeX would otherwise complain about undefined control sequence.
-\global\let(=\lparen \global\let)=\rparen
-\global\let[=\lbrack \global\let]=\rbrack
-
-\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
-\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
-% This is used to turn on special parens
-% but make & act ordinary (given that it's active).
-\gdef\boldbraxnoamp{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb\let&=\ampnr}
-
-% Definitions of (, ) and & used in args for functions.
-% This is the definition of ( outside of all parentheses.
-\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested
- \global\advance\parencount by 1
-}
-%
-% This is the definition of ( when already inside a level of parens.
-\gdef\opnested{\char`\(\global\advance\parencount by 1 }
-%
-\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
- % also in that case restore the outer-level definition of (.
- \ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
- \global\advance \parencount by -1 }
-% If we encounter &foo, then turn on ()-hacking afterwards
-\gdef\amprm#1 {{\rm\&#1}\let(=\oprm \let)=\clrm\ }
-%
-\gdef\normalparens{\boldbrax\let&=\ampnr}
-} % End of definition inside \activeparens
-%% These parens (in \boldbrax) actually are a little bolder than the
-%% contained text. This is especially needed for [ and ]
-\def\opnr{{\sf\char`\(}\global\advance\parencount by 1 }
-\def\clnr{{\sf\char`\)}\global\advance\parencount by -1 }
-\let\ampnr = \&
-\def\lbrb{{\bf\char`\[}}
-\def\rbrb{{\bf\char`\]}}
-
-% Active &'s sneak into the index arguments, so make sure it's defined.
-{
- \catcode`& = \active
- \global\let& = \ampnr
-}
-
-% \defname, which formats the name of the @def (not the args).
-% #1 is the function name.
-% #2 is the type of definition, such as "Function".
-%
-\def\defname#1#2{%
- % How we'll output the type name. Putting it in brackets helps
- % distinguish it from the body text that may end up on the next line
- % just below it.
- \ifempty{#2}%
- \def\defnametype{}%
+\newcount\defunpenalty
+
+% Start the processing of @deffn:
+\def\startdefun{%
+ \ifnum\lastpenalty<10000
+ \medbreak
+ \defunpenalty=10003 % Will keep this @deffn together with the
+ % following @def command, see below.
\else
- \def\defnametype{[\rm #2]}%
+ % If there are two @def commands in a row, we'll have a \nobreak,
+ % which is there to keep the function description together with its
+ % header. But if there's nothing but headers, we need to allow a
+ % break somewhere. Check specifically for penalty 10002, inserted
+ % by \printdefunline, instead of 10000, since the sectioning
+ % commands also insert a nobreak penalty, and we don't want to allow
+ % a break between a section heading and a defun.
+ %
+ % As a minor refinement, we avoid "club" headers by signalling
+ % with penalty of 10003 after the very first @deffn in the
+ % sequence (see above), and penalty of 10002 after any following
+ % @def command.
+ \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi
+ %
+ % Similarly, after a section heading, do not allow a break.
+ % But do insert the glue.
+ \medskip % preceded by discardable penalty, so not a breakpoint
\fi
%
- % Get the values of \leftskip and \rightskip as they were outside the @def...
- \dimen2=\leftskip
- \advance\dimen2 by -\defbodyindent
- %
- % Figure out values for the paragraph shape.
- \setbox0=\hbox{\hskip \deflastargmargin{\defnametype}}%
- \dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
- \dimen1=\hsize \advance \dimen1 by -\defargsindent % size for continuations
- \parshape 2 0in \dimen0 \defargsindent \dimen1
- %
- % Output arg 2 ("Function" or some such) but stuck inside a box of
- % width 0 so it does not interfere with linebreaking.
- \noindent
- %
- {% Adjust \hsize to exclude the ambient margins,
- % so that \rightline will obey them.
- \advance \hsize by -\dimen2
- \dimen3 = 0pt % was -1.25pc
- \rlap{\rightline{\defnametype\kern\dimen3}}%
- }%
- %
- % Allow all lines to be underfull without complaint:
- \tolerance=10000 \hbadness=10000
- \advance\leftskip by -\defbodyindent
- \exdentamount=\defbodyindent
- {\df #1}\enskip % output function name
- % \defunargs will be called next to output the arguments, if any.
-}
-
-% Common pieces to start any @def...
-% #1 is the \E... control sequence to end the definition (which we define).
-% #2 is the \...x control sequence (which our caller defines).
-% #3 is the control sequence to process the header, such as \defunheader.
-%
-\def\parsebodycommon#1#2#3{%
- \begingroup\inENV
- % If there are two @def commands in a row, we'll have a \nobreak,
- % which is there to keep the function description together with its
- % header. But if there's nothing but headers, we want to allow a
- % break after all. Check for penalty 10002 (inserted by
- % \defargscommonending) instead of 10000, since the sectioning
- % commands insert a \penalty10000, and we don't want to allow a break
- % between a section heading and a defun.
- \ifnum\lastpenalty=10002 \penalty0 \fi
- \medbreak
- %
- % Define the \E... end token that this defining construct specifies
- % so that it will exit this group.
- \def#1{\endgraf\endgroup\medbreak}%
- %
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
}
-% Common part of the \...x definitions.
-%
-\def\defxbodycommon{%
- % As with \parsebodycommon above, allow line break if we have multiple
- % x headers in a row. It's not a great place, though.
- \ifnum\lastpenalty=10000 \penalty1000 \fi
+\def\dodefunx#1{%
+ % First, check whether we are in the right environment:
+ \checkenv#1%
%
- \begingroup\obeylines
-}
-
-% Process body of @defun, @deffn, @defmac, etc.
-%
-\def\defparsebody#1#2#3{%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2{\defxbodycommon \activeparens \spacesplit#3}%
- \catcode\equalChar=\active
- \begingroup\obeylines\activeparens
- \spacesplit#3%
-}
-
-% #1, #2, #3 are the common arguments (see \parsebodycommon above).
-% #4, delimited by the space, is the class name.
-%
-\def\defmethparsebody#1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 {\defxbodycommon \activeparens \spacesplit{#3{##1}}}%
- \begingroup\obeylines\activeparens
- % The \empty here prevents misinterpretation of a construct such as
- % @deffn {whatever} {Enharmonic comma}
- % See comments at \deftpparsebody, although in our case we don't have
- % to remove the \empty afterwards, since it is empty.
- \spacesplit{#3{#4}}\empty
+ % As above, allow line break if we have multiple x headers in a row.
+ % It's not a great place, though.
+ \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi
+ %
+ % And now, it's time to reuse the body of the original defun:
+ \expandafter\gobbledefun#1%
}
+\def\gobbledefun#1\startdefun{}
-% Used for @deftypemethod and @deftypeivar.
-% #1, #2, #3 are the common arguments (see \defparsebody).
-% #4, delimited by a space, is the class name.
-% #5 is the method's return type.
+% \printdefunline \deffnheader{text}
%
-\def\deftypemethparsebody#1#2#3#4 #5 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 ##2 {\defxbodycommon \activeparens \spacesplit{#3{##1}{##2}}}%
- \begingroup\obeylines\activeparens
- \spacesplit{#3{#4}{#5}}%
-}
-
-% Used for @deftypeop. The change from \deftypemethparsebody is an
-% extra argument at the beginning which is the `category', instead of it
-% being the hardwired string `Method' or `Instance Variable'. We have
-% to account for this both in the \...x definition and in parsing the
-% input at hand. Thus also need a control sequence (passed as #5) for
-% the \E... definition to assign the category name to.
-%
-\def\deftypeopparsebody#1#2#3#4#5 #6 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 ##2 ##3 {\def#4{##1}%
- \defxbodycommon \activeparens \spacesplit{#3{##2}{##3}}}%
- \begingroup\obeylines\activeparens
- \spacesplit{#3{#5}{#6}}%
+\def\printdefunline#1#2{%
+ \begingroup
+ % call \deffnheader:
+ #1#2 \endheader
+ % common ending:
+ \interlinepenalty = 10000
+ \advance\rightskip by 0pt plus 1fil
+ \endgraf
+ \nobreak\vskip -\parskip
+ \penalty\defunpenalty % signal to \startdefun and \dodefunx
+ % Some of the @defun-type tags do not enable magic parentheses,
+ % rendering the following check redundant. But we don't optimize.
+ \checkparencounts
+ \endgroup
}
-% For @defop.
-\def\defopparsebody #1#2#3#4#5 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 ##2 {\def#4{##1}%
- \defxbodycommon \activeparens \spacesplit{#3{##2}}}%
- \begingroup\obeylines\activeparens
- \spacesplit{#3{#5}}%
-}
+\def\Edefun{\endgraf\medbreak}
-% These parsing functions are similar to the preceding ones
-% except that they do not make parens into active characters.
-% These are used for "variables" since they have no arguments.
+% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
+% the only thing remaining is to define \deffnheader.
%
-\def\defvarparsebody #1#2#3{%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2{\defxbodycommon \spacesplit#3}%
- \catcode\equalChar=\active
- \begingroup\obeylines
- \spacesplit#3%
-}
-
-% @defopvar.
-\def\defopvarparsebody #1#2#3#4#5 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 ##2 {\def#4{##1}%
- \defxbodycommon \spacesplit{#3{##2}}}%
- \begingroup\obeylines
- \spacesplit{#3{#5}}%
-}
-
-\def\defvrparsebody#1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}%
- \begingroup\obeylines
- \spacesplit{#3{#4}}%
+\def\makedefun#1{%
+ \expandafter\let\csname E#1\endcsname = \Edefun
+ \edef\temp{\noexpand\domakedefun
+ \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
+ \temp
}
-% This loses on `@deftp {Data Type} {struct termios}' -- it thinks the
-% type is just `struct', because we lose the braces in `{struct
-% termios}' when \spacesplit reads its undelimited argument. Sigh.
-% \let\deftpparsebody=\defvrparsebody
+% \domakedefun \deffn \deffnx \deffnheader
%
-% So, to get around this, we put \empty in with the type name. That
-% way, TeX won't find exactly `{...}' as an undelimited argument, and
-% won't strip off the braces.
+% Define \deffn and \deffnx, without parameters.
+% \deffnheader has to be defined explicitly.
%
-\def\deftpparsebody #1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}%
- \begingroup\obeylines
- \spacesplit{\parsetpheaderline{#3{#4}}}\empty
+\def\domakedefun#1#2#3{%
+ \envdef#1{%
+ \startdefun
+ \parseargusing\activeparens{\printdefunline#3}%
+ }%
+ \def#2{\dodefunx#1}%
+ \def#3%
}
-% Fine, but then we have to eventually remove the \empty *and* the
-% braces (if any). That's what this does.
-%
-\def\removeemptybraces\empty#1\relax{#1}
+%%% Untyped functions:
-% After \spacesplit has done its work, this is called -- #1 is the final
-% thing to call, #2 the type name (which starts with \empty), and #3
-% (which might be empty) the arguments.
-%
-\def\parsetpheaderline#1#2#3{%
- #1{\removeemptybraces#2\relax}{#3}%
-}%
+% @deffn category name args
+\makedefun{deffn}{\deffngeneral{}}
-% Split up #2 (the rest of the input line) at the first space token.
-% call #1 with two arguments:
-% the first is all of #2 before the space token,
-% the second is all of #2 after that space token.
-% If #2 contains no space token, all of it is passed as the first arg
-% and the second is passed as empty.
-%
-{\obeylines %
- \gdef\spacesplit#1#2^^M{\endgroup\spacesplitx{#1}#2 \relax\spacesplitx}%
- \long\gdef\spacesplitx#1#2 #3#4\spacesplitx{%
- \ifx\relax #3%
- #1{#2}{}%
- \else %
- #1{#2}{#3#4}%
- \fi}%
-}
+% @deffn category class name args
+\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
-% Define @defun.
+% \defopon {category on}class name args
+\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-% This is called to end the arguments processing for all the @def... commands.
+% \deffngeneral {subind}category name args
%
-\def\defargscommonending{%
- \interlinepenalty = 10000
- \advance\rightskip by 0pt plus 1fil
- \endgraf
- \nobreak\vskip -\parskip
- \penalty 10002 % signal to \parsebodycommon.
+\def\deffngeneral#1#2 #3 #4\endheader{%
+ % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
+ \dosubind{fn}{\code{#3}}{#1}%
+ \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
}
-% This expands the args and terminates the paragraph they comprise.
-%
-\def\defunargs#1{\functionparens \sl
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-% Set the font temporarily and use \font in case \setfont made \tensl a macro.
-{\tensl\hyphenchar\font=0}%
-#1%
-{\tensl\hyphenchar\font=45}%
-\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi%
- \defargscommonending
-}
+%%% Typed functions:
-\def\deftypefunargs #1{%
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-% Use \boldbraxnoamp, not \functionparens, so that & is not special.
-\boldbraxnoamp
-\tclose{#1}% avoid \code because of side effects on active chars
- \defargscommonending
-}
+% @deftypefn category type name args
+\makedefun{deftypefn}{\deftypefngeneral{}}
-% Do complete processing of one @defun or @defunx line already parsed.
+% @deftypeop category class type name args
+\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
-% @deffn Command forward-char nchars
+% \deftypeopon {category on}class type name args
+\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
-
-\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
+% \deftypefngeneral {subind}category type name args
+%
+\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
+ \dosubind{fn}{\code{#4}}{#1}%
+ \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-% @defun == @deffn Function
+%%% Typed variables:
-\def\defun{\defparsebody\Edefun\defunx\defunheader}
-
-\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDeffunc}%
-\defunargs {#2}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
-}
+% @deftypevr category type var args
+\makedefun{deftypevr}{\deftypecvgeneral{}}
-% @deftypefun int foobar (int @var{foo}, float @var{bar})
+% @deftypecv category class type var args
+\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
-\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader}
+% \deftypecvof {category of}class type var args
+\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
-% #1 is the data type. #2 is the name and args.
-\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax}
-% #1 is the data type, #2 the name, #3 the args.
-\def\deftypefunheaderx #1#2 #3\relax{%
-\doind {fn}{\code{#2}}% Make entry in function index
-\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypefun}%
-\deftypefunargs {#3}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
+% \deftypecvgeneral {subind}category type var args
+%
+\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
+ \dosubind{vr}{\code{#4}}{#1}%
+ \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-% @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar})
+%%% Untyped variables:
-\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
+% @defvr category var args
+\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
-% \defheaderxcond#1\relax$.$
-% puts #1 in @code, followed by a space, but does nothing if #1 is null.
-\def\defheaderxcond#1#2$.${\ifx#1\relax\else\code{#1#2} \fi}
+% @defcv category class var args
+\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
-% #1 is the classification. #2 is the data type. #3 is the name and args.
-\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
-% #1 is the classification, #2 the data type, #3 the name, #4 the args.
-\def\deftypefnheaderx #1#2#3 #4\relax{%
-\doind {fn}{\code{#3}}% Make entry in function index
-\begingroup
-\normalparens % notably, turn off `&' magic, which prevents
-% at least some C++ text from working
-\defname {\defheaderxcond#2\relax$.$#3}{#1}%
-\deftypefunargs {#4}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
-}
+% \defcvof {category of}class var args
+\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-% @defmac == @deffn Macro
-
-\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
-
-\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDefmac}%
-\defunargs {#2}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
+%%% Type:
+% @deftp category name args
+\makedefun{deftp}#1 #2 #3\endheader{%
+ \doind{tp}{\code{#2}}%
+ \defname{#1}{}{#2}\defunargs{#3\unskip}%
}
-% @defspec == @deffn Special Form
-
-\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
+% Remaining @defun-like shortcuts:
+\makedefun{defun}{\deffnheader{\putwordDeffunc} }
+\makedefun{defmac}{\deffnheader{\putwordDefmac} }
+\makedefun{defspec}{\deffnheader{\putwordDefspec} }
+\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
+\makedefun{defvar}{\defvrheader{\putwordDefvar} }
+\makedefun{defopt}{\defvrheader{\putwordDefopt} }
+\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
+\makedefun{defmethod}{\defopon\putwordMethodon}
+\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
+\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
+\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
-\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDefspec}%
-\defunargs {#2}\endgroup %
-\catcode\equalChar=\other % Turn off change made in \defparsebody
-}
-
-% @defop CATEGORY CLASS OPERATION ARG...
+% \defname, which formats the name of the @def (not the args).
+% #1 is the category, such as "Function".
+% #2 is the return type, if any.
+% #3 is the function name.
%
-\def\defop #1 {\def\defoptype{#1}%
-\defopparsebody\Edefop\defopx\defopheader\defoptype}
+% We are followed by (but not passed) the arguments, if any.
%
-\def\defopheader#1#2#3{%
- \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% function index entry
- \begingroup
- \defname{#2}{\defoptype\ \putwordon\ #1}%
- \defunargs{#3}%
- \endgroup
+\def\defname#1#2#3{%
+ % Get the values of \leftskip and \rightskip as they were outside the @def...
+ \advance\leftskip by -\defbodyindent
+ %
+ % How we'll format the type name. Putting it in brackets helps
+ % distinguish it from the body text that may end up on the next line
+ % just below it.
+ \def\temp{#1}%
+ \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
+ %
+ % Figure out line sizes for the paragraph shape.
+ % The first line needs space for \box0; but if \rightskip is nonzero,
+ % we need only space for the part of \box0 which exceeds it:
+ \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
+ % The continuations:
+ \dimen2=\hsize \advance\dimen2 by -\defargsindent
+ % (plain.tex says that \dimen1 should be used only as global.)
+ \parshape 2 0in \dimen0 \defargsindent \dimen2
+ %
+ % Put the type name to the right margin.
+ \noindent
+ \hbox to 0pt{%
+ \hfil\box0 \kern-\hsize
+ % \hsize has to be shortened this way:
+ \kern\leftskip
+ % Intentionally do not respect \rightskip, since we need the space.
+ }%
+ %
+ % Allow all lines to be underfull without complaint:
+ \tolerance=10000 \hbadness=10000
+ \exdentamount=\defbodyindent
+ {%
+ % defun fonts. We use typewriter by default (used to be bold) because:
+ % . we're printing identifiers, they should be in tt in principle.
+ % . in languages with many accents, such as Czech or French, it's
+ % common to leave accents off identifiers. The result looks ok in
+ % tt, but exceedingly strange in rm.
+ % . we don't want -- and --- to be treated as ligatures.
+ % . this still does not fix the ?` and !` ligatures, but so far no
+ % one has made identifiers using them :).
+ \df \tt
+ \def\temp{#2}% return value type
+ \ifx\temp\empty\else \tclose{\temp} \fi
+ #3% output function name
+ }%
+ {\rm\enskip}% hskip 0.5 em of \tenrm
+ %
+ \boldbrax
+ % arguments will be output next, if any.
}
-% @deftypeop CATEGORY CLASS TYPE OPERATION ARG...
-%
-\def\deftypeop #1 {\def\deftypeopcategory{#1}%
- \deftypeopparsebody\Edeftypeop\deftypeopx\deftypeopheader
- \deftypeopcategory}
+% Print arguments in slanted roman (not ttsl), inconsistently with using
+% tt for the name. This is because literal text is sometimes needed in
+% the argument list (groff manual), and ttsl and tt are not very
+% distinguishable. Prevent hyphenation at `-' chars.
%
-% #1 is the class name, #2 the data type, #3 the operation name, #4 the args.
-\def\deftypeopheader#1#2#3#4{%
- \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{\defheaderxcond#2\relax$.$#3}
- {\deftypeopcategory\ \putwordon\ \code{#1}}%
- \deftypefunargs{#4}%
- \endgroup
+\def\defunargs#1{%
+ % use sl by default (not ttsl),
+ % tt for the names.
+ \df \sl \hyphenchar\font=0
+ %
+ % On the other hand, if an argument has two dashes (for instance), we
+ % want a way to get ttsl. Let's try @var for that.
+ \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
+ #1%
+ \sl\hyphenchar\font=45
}
-% @deftypemethod CLASS TYPE METHOD ARG...
-%
-\def\deftypemethod{%
- \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
+% We want ()&[] to print specially on the defun line.
%
-% #1 is the class name, #2 the data type, #3 the method name, #4 the args.
-\def\deftypemethodheader#1#2#3#4{%
- \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{\defheaderxcond#2\relax$.$#3}{\putwordMethodon\ \code{#1}}%
- \deftypefunargs{#4}%
- \endgroup
+\def\activeparens{%
+ \catcode`\(=\active \catcode`\)=\active
+ \catcode`\[=\active \catcode`\]=\active
+ \catcode`\&=\active
}
-% @deftypeivar CLASS TYPE VARNAME
-%
-\def\deftypeivar{%
- \deftypemethparsebody\Edeftypeivar\deftypeivarx\deftypeivarheader}
-%
-% #1 is the class name, #2 the data type, #3 the variable name.
-\def\deftypeivarheader#1#2#3{%
- \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index
- \begingroup
- \defname{\defheaderxcond#2\relax$.$#3}
- {\putwordInstanceVariableof\ \code{#1}}%
- \defvarargs{#3}%
- \endgroup
-}
+% Make control sequences which act like normal parenthesis chars.
+\let\lparen = ( \let\rparen = )
-% @defmethod == @defop Method
-%
-\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
-%
-% #1 is the class name, #2 the method name, #3 the args.
-\def\defmethodheader#1#2#3{%
- \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{#2}{\putwordMethodon\ \code{#1}}%
- \defunargs{#3}%
- \endgroup
-}
+% Be sure that we always have a definition for `(', etc. For example,
+% if the fn name has parens in it, \boldbrax will not be in effect yet,
+% so TeX would otherwise complain about undefined control sequence.
+{
+ \activeparens
+ \global\let(=\lparen \global\let)=\rparen
+ \global\let[=\lbrack \global\let]=\rbrack
+ \global\let& = \&
-% @defcv {Class Option} foo-class foo-flag
+ \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+ \gdef\magicamp{\let&=\amprm}
+}
-\def\defcv #1 {\def\defcvtype{#1}%
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
+\newcount\parencount
-\def\defcvarheader #1#2#3{%
- \dosubind{vr}{\code{#2}}{\putwordof\ \code{#1}}% variable index entry
- \begingroup
- \defname{#2}{\defcvtype\ \putwordof\ #1}%
- \defvarargs{#3}%
- \endgroup
+% If we encounter &foo, then turn on ()-hacking afterwards
+\newif\ifampseen
+\def\amprm#1 {\ampseentrue{\bf\&#1 }}
+
+\def\parenfont{%
+ \ifampseen
+ % At the first level, print parens in roman,
+ % otherwise use the default font.
+ \ifnum \parencount=1 \rm \fi
+ \else
+ % The \sf parens (in \boldbrax) actually are a little bolder than
+ % the contained text. This is especially needed for [ and ] .
+ \sf
+ \fi
}
-
-% @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME
-%
-\def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader}
-%
-\def\defivarheader#1#2#3{%
- \dosubind{vr}{\code{#2}}{\putwordof\ \code{#1}}% entry in var index
- \begingroup
- \defname{#2}{\putwordInstanceVariableof\ #1}%
- \defvarargs{#3}%
- \endgroup
+\def\infirstlevel#1{%
+ \ifampseen
+ \ifnum\parencount=1
+ #1%
+ \fi
+ \fi
}
+\def\bfafterword#1 {#1 \bf}
-% @defvar
-% First, define the processing that is wanted for arguments of @defvar.
-% This is actually simple: just print them in roman.
-% This must expand the args and terminate the paragraph they make up
-\def\defvarargs #1{\normalparens #1%
- \defargscommonending
+\def\opnr{%
+ \global\advance\parencount by 1
+ {\parenfont(}%
+ \infirstlevel \bfafterword
}
-
-% @defvr Counter foo-count
-
-\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader}
-
-\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
-
-% @defvar == @defvr Variable
-
-\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader}
-
-\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{\putwordDefvar}%
-\defvarargs {#2}\endgroup %
+\def\clnr{%
+ {\parenfont)}%
+ \infirstlevel \sl
+ \global\advance\parencount by -1
}
-% @defopt == @defvr {User Option}
-
-\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader}
-
-\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{\putwordDefopt}%
-\defvarargs {#2}\endgroup %
+\newcount\brackcount
+\def\lbrb{%
+ \global\advance\brackcount by 1
+ {\bf[}%
+}
+\def\rbrb{%
+ {\bf]}%
+ \global\advance\brackcount by -1
}
-% @deftypevar int foobar
-
-\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader}
-
-% #1 is the data type. #2 is the name, perhaps followed by text that
-% is actually part of the data type, which should not be put into the index.
-\def\deftypevarheader #1#2{%
-\dovarind#2 \relax% Make entry in variables index
-\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypevar}%
- \defargscommonending
-\endgroup}
-\def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}}
-
-% @deftypevr {Global Flag} int enable
-
-\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
-
-\def\deftypevrheader #1#2#3{\dovarind#3 \relax%
-\begingroup\defname {\defheaderxcond#2\relax$.$#3}{#1}
- \defargscommonending
-\endgroup}
-
-% Now define @deftp
-% Args are printed in bold, a slight difference from @defvar.
-
-\def\deftpargs #1{\bf \defvarargs{#1}}
-
-% @deftp Class window height width ...
-
-\def\deftp{\deftpparsebody\Edeftp\deftpx\deftpheader}
-
-\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
-\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
-
-% These definitions are used if you use @defunx (etc.)
-% anywhere other than immediately after a @defun or @defunx.
-%
-\def\defcvx#1 {\errmessage{@defcvx in invalid context}}
-\def\deffnx#1 {\errmessage{@deffnx in invalid context}}
-\def\defivarx#1 {\errmessage{@defivarx in invalid context}}
-\def\defmacx#1 {\errmessage{@defmacx in invalid context}}
-\def\defmethodx#1 {\errmessage{@defmethodx in invalid context}}
-\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
-\def\defopx#1 {\errmessage{@defopx in invalid context}}
-\def\defspecx#1 {\errmessage{@defspecx in invalid context}}
-\def\deftpx#1 {\errmessage{@deftpx in invalid context}}
-\def\deftypefnx#1 {\errmessage{@deftypefnx in invalid context}}
-\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}}
-\def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}}
-\def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}}
-\def\deftypeopx#1 {\errmessage{@deftypeopx in invalid context}}
-\def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}}
-\def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}}
-\def\defunx#1 {\errmessage{@defunx in invalid context}}
-\def\defvarx#1 {\errmessage{@defvarx in invalid context}}
-\def\defvrx#1 {\errmessage{@defvrx in invalid context}}
+\def\checkparencounts{%
+ \ifnum\parencount=0 \else \badparencount \fi
+ \ifnum\brackcount=0 \else \badbrackcount \fi
+}
+% these should not use \errmessage; the glibc manual, at least, actually
+% has such constructs (when documenting function pointers).
+\def\badparencount{%
+ \message{Warning: unbalanced parentheses in @def...}%
+ \global\parencount=0
+}
+\def\badbrackcount{%
+ \message{Warning: unbalanced square brackets in @def...}%
+ \global\brackcount=0
+}
\message{macros,}
@@ -5484,42 +6759,68 @@ width0pt\relax} \fi
% To do this right we need a feature of e-TeX, \scantokens,
% which we arrange to emulate with a temporary file in ordinary TeX.
\ifx\eTeXversion\undefined
- \newwrite\macscribble
- \def\scanmacro#1{%
- \begingroup \newlinechar`\^^M
- % Undo catcode changes of \startcontents and \doprintindex
- \catcode`\@=0 \catcode`\\=\other \escapechar=`\@
- % Append \endinput to make sure that TeX does not see the ending newline.
- \toks0={#1\endinput}%
- \immediate\openout\macscribble=\jobname.tmp
- \immediate\write\macscribble{\the\toks0}%
- \immediate\closeout\macscribble
- \let\xeatspaces\eatspaces
- \input \jobname.tmp
- \endgroup
-}
-\else
-\def\scanmacro#1{%
-\begingroup \newlinechar`\^^M
-% Undo catcode changes of \startcontents and \doprintindex
-\catcode`\@=0 \catcode`\\=\other \escapechar=`\@
-\let\xeatspaces\eatspaces\scantokens{#1\endinput}\endgroup}
+ \newwrite\macscribble
+ \def\scantokens#1{%
+ \toks0={#1}%
+ \immediate\openout\macscribble=\jobname.tmp
+ \immediate\write\macscribble{\the\toks0}%
+ \immediate\closeout\macscribble
+ \input \jobname.tmp
+ }
\fi
+\def\scanmacro#1{%
+ \begingroup
+ \newlinechar`\^^M
+ \let\xeatspaces\eatspaces
+ % Undo catcode changes of \startcontents and \doprintindex
+ % When called from @insertcopying or (short)caption, we need active
+ % backslash to get it printed correctly. Previously, we had
+ % \catcode`\\=\other instead. We'll see whether a problem appears
+ % with macro expansion. --kasal, 19aug04
+ \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
+ % ... and \example
+ \spaceisspace
+ %
+ % Append \endinput to make sure that TeX does not see the ending newline.
+ % I've verified that it is necessary both for e-TeX and for ordinary TeX
+ % --kasal, 29nov03
+ \scantokens{#1\endinput}%
+ \endgroup
+}
+
+\def\scanexp#1{%
+ \edef\temp{\noexpand\scanmacro{#1}}%
+ \temp
+}
+
\newcount\paramno % Count of parameters
\newtoks\macname % Macro name
\newif\ifrecursive % Is it recursive?
-\def\macrolist{} % List of all defined macros in the form
- % \do\macro1\do\macro2...
+
+% List of all defined macros in the form
+% \definedummyword\macro1\definedummyword\macro2...
+% Currently is also contains all @aliases; the list can be split
+% if there is a need.
+\def\macrolist{}
+
+% Add the macro to \macrolist
+\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
+\def\addtomacrolistxxx#1{%
+ \toks0 = \expandafter{\macrolist\definedummyword#1}%
+ \xdef\macrolist{\the\toks0}%
+}
% Utility routines.
-% Thisdoes \let #1 = #2, except with \csnames.
+% This does \let #1 = #2, with \csnames; that is,
+% \let \csname#1\endcsname = \csname#2\endcsname
+% (except of course we have to play expansion games).
+%
\def\cslet#1#2{%
-\expandafter\expandafter
-\expandafter\let
-\expandafter\expandafter
-\csname#1\endcsname
-\csname#2\endcsname}
+ \expandafter\let
+ \csname#1\expandafter\endcsname
+ \csname#2\endcsname
+}
% Trim leading and trailing spaces off a string.
% Concepts from aro-bend problem 15 (see CTAN).
@@ -5542,34 +6843,45 @@ width0pt\relax} \fi
% all characters are catcode 10, 11 or 12, except \ which is active
% (as in normal texinfo). It is necessary to change the definition of \.
+% Non-ASCII encodings make 8-bit characters active, so un-activate
+% them to avoid their expansion. Must do this non-globally, to
+% confine the change to the current group.
+
% It's necessary to have hard CRs when the macro is executed. This is
% done by making ^^M (\endlinechar) catcode 12 when reading the macro
% body, and then making it the \newlinechar in \scanmacro.
-\def\macrobodyctxt{%
- \catcode`\~=\other
+\def\scanctxt{%
+ \catcode`\"=\other
+ \catcode`\+=\other
+ \catcode`\<=\other
+ \catcode`\>=\other
+ \catcode`\@=\other
\catcode`\^=\other
\catcode`\_=\other
\catcode`\|=\other
- \catcode`\<=\other
- \catcode`\>=\other
- \catcode`\+=\other
+ \catcode`\~=\other
+ \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
+}
+
+\def\scanargctxt{%
+ \scanctxt
+ \catcode`\\=\other
+ \catcode`\^^M=\other
+}
+
+\def\macrobodyctxt{%
+ \scanctxt
\catcode`\{=\other
\catcode`\}=\other
- \catcode`\@=\other
\catcode`\^^M=\other
- \usembodybackslash}
+ \usembodybackslash
+}
\def\macroargctxt{%
- \catcode`\~=\other
- \catcode`\^=\other
- \catcode`\_=\other
- \catcode`\|=\other
- \catcode`\<=\other
- \catcode`\>=\other
- \catcode`\+=\other
- \catcode`\@=\other
- \catcode`\\=\other}
+ \scanctxt
+ \catcode`\\=\other
+}
% \mbodybackslash is the definition of \ in @macro bodies.
% It maps \foo\ => \csname macarg.foo\endcsname => #N
@@ -5600,25 +6912,21 @@ width0pt\relax} \fi
\else \errmessage{Macro name \the\macname\space already defined}\fi
\global\cslet{macsave.\the\macname}{\the\macname}%
\global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
- % Add the macroname to \macrolist
- \toks0 = \expandafter{\macrolist\do}%
- \xdef\macrolist{\the\toks0
- \expandafter\noexpand\csname\the\macname\endcsname}%
+ \addtomacrolist{\the\macname}%
\fi
\begingroup \macrobodyctxt
\ifrecursive \expandafter\parsermacbody
\else \expandafter\parsemacbody
\fi}
-\def\unmacro{\parsearg\dounmacro}
-\def\dounmacro#1{%
+\parseargdef\unmacro{%
\if1\csname ismacro.#1\endcsname
\global\cslet{#1}{macsave.#1}%
\global\expandafter\let \csname ismacro.#1\endcsname=0%
% Remove the macro name from \macrolist:
\begingroup
\expandafter\let\csname#1\endcsname \relax
- \let\do\unmacrodo
+ \let\definedummyword\unmacrodo
\xdef\macrolist{\macrolist}%
\endgroup
\else
@@ -5628,12 +6936,12 @@ width0pt\relax} \fi
% Called by \do from \dounmacro on each macro. The idea is to omit any
% macro definitions that have been changed to \relax.
-%
+%
\def\unmacrodo#1{%
- \ifx#1\relax
+ \ifx #1\relax
% remove this
\else
- \noexpand\do \noexpand #1%
+ \noexpand\definedummyword \noexpand#1%
\fi
}
@@ -5746,34 +7054,31 @@ width0pt\relax} \fi
% {. If so it reads up to the closing }, if not, it reads the whole
% line. Whatever was read is then fed to the next control sequence
% as an argument (by \parsebrace or \parsearg)
-\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
+\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
\def\braceorlinexxx{%
\ifx\nchar\bgroup\else
\expandafter\parsearg
- \fi \next}
-
-% We mant to disable all macros during \shipout so that they are not
-% expanded by \write.
-\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}%
- \edef\next{\macrolist}\expandafter\endgroup\next}
+ \fi \macnamexxx}
% @alias.
% We need some trickery to remove the optional spaces around the equal
% sign. Just make them active and then expand them all to nothing.
-\def\alias{\begingroup\obeyspaces\parsearg\aliasxxx}
+\def\alias{\parseargusing\obeyspaces\aliasxxx}
\def\aliasxxx #1{\aliasyyy#1\relax}
-\def\aliasyyy #1=#2\relax{\ignoreactivespaces
-\edef\next{\global\let\expandafter\noexpand\csname#1\endcsname=%
- \expandafter\noexpand\csname#2\endcsname}%
-\expandafter\endgroup\next}
+\def\aliasyyy #1=#2\relax{%
+ {%
+ \expandafter\let\obeyedspace=\empty
+ \addtomacrolist{#1}%
+ \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
+ }%
+ \next
+}
\message{cross references,}
-% @xref etc.
\newwrite\auxfile
-
\newif\ifhavexrefs % True if xref values are known.
\newif\ifwarnedxrefs % True if we warned once that they aren't known.
@@ -5782,64 +7087,68 @@ width0pt\relax} \fi
\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
-% @node's job is to define \lastnode.
-\def\node{\ENVcheck\parsearg\nodezzz}
-\def\nodezzz#1{\nodexxx [#1,]}
-\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
+% @node's only job in TeX is to define \lastnode, which is used in
+% cross-references. The @node line might or might not have commas, and
+% might or might not have spaces before the first comma, like:
+% @node foo , bar , ...
+% We don't want such trailing spaces in the node name.
+%
+\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
+%
+% also remove a trailing comma, in case of something like this:
+% @node Help-Cross, , , Cross-refs
+\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
+\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
+
\let\nwnode=\node
-\let\lastnode=\relax
-
-% The sectioning commands (@chapter, etc.) call these.
-\def\donoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Ysectionnumberandtype}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\unnumbnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\appendixnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Yappendixletterandtype}%
- \global\let\lastnode=\relax
+\let\lastnode=\empty
+
+% Write a cross-reference definition for the current node. #1 is the
+% type (Ynumbered, Yappendix, Ynothing).
+%
+\def\donoderef#1{%
+ \ifx\lastnode\empty\else
+ \setref{\lastnode}{#1}%
+ \global\let\lastnode=\empty
\fi
}
-
% @anchor{NAME} -- define xref target at arbitrary point.
%
\newcount\savesfregister
-\gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
-\gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
-\gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
+%
+\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
+\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
+\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
-% anchor), namely NAME-title (the corresponding @chapter/etc. name),
-% NAME-pg (the page number), and NAME-snt (section number and type).
-% Called from \foonoderef.
-%
-% We have to set \indexdummies so commands such as @code in a section
-% title aren't expanded. It would be nicer not to expand the titles in
-% the first place, but there's so many layers that that is hard to do.
-%
-% Likewise, use \turnoffactive so that punctuation chars such as underscore
-% and backslash work in node names.
-%
-\def\setref#1#2{{%
- \atdummies
+% anchor), which consists of three parts:
+% 1) NAME-title - the current sectioning name taken from \lastsection,
+% or the anchor name.
+% 2) NAME-snt - section number and type, passed as the SNT arg, or
+% empty for anchors.
+% 3) NAME-pg - the page number.
+%
+% This is called from \donoderef, \anchor, and \dofloat. In the case of
+% floats, there is an additional part, which is not written here:
+% 4) NAME-lof - the text as it should appear in a @listoffloats.
+%
+\def\setref#1#2{%
\pdfmkdest{#1}%
- %
- \turnoffactive
- \dosetq{#1-title}{Ytitle}%
- \dosetq{#1-pg}{Ypagenumber}%
- \dosetq{#1-snt}{#2}%
-}}
+ \iflinks
+ {%
+ \atdummies % preserve commands, but don't expand them
+ \edef\writexrdef##1##2{%
+ \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
+ ##1}{##2}}% these are parameters of \writexrdef
+ }%
+ \toks0 = \expandafter{\lastsection}%
+ \immediate \writexrdef{title}{\the\toks0 }%
+ \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
+ \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout
+ }%
+ \fi
+}
% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
% the node name, #2 the name of the Info cross-reference, #3 the printed
@@ -5852,94 +7161,128 @@ width0pt\relax} \fi
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
\unsepspaces
\def\printedmanual{\ignorespaces #5}%
- \def\printednodename{\ignorespaces #3}%
- \setbox1=\hbox{\printedmanual}%
- \setbox0=\hbox{\printednodename}%
+ \def\printedrefname{\ignorespaces #3}%
+ \setbox1=\hbox{\printedmanual\unskip}%
+ \setbox0=\hbox{\printedrefname\unskip}%
\ifdim \wd0 = 0pt
% No printed node name was explicitly given.
\expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
% Use the node name inside the square brackets.
- \def\printednodename{\ignorespaces #1}%
+ \def\printedrefname{\ignorespaces #1}%
\else
% Use the actual chapter/section title appear inside
% the square brackets. Use the real section title if we have it.
\ifdim \wd1 > 0pt
% It is in another manual, so we don't have it.
- \def\printednodename{\ignorespaces #1}%
+ \def\printedrefname{\ignorespaces #1}%
\else
\ifhavexrefs
% We know the real title if we have the xref values.
- \def\printednodename{\refx{#1-title}{}}%
+ \def\printedrefname{\refx{#1-title}{}}%
\else
% Otherwise just copy the Info node name.
- \def\printednodename{\ignorespaces #1}%
+ \def\printedrefname{\ignorespaces #1}%
\fi%
\fi
\fi
\fi
%
- % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
- % insert empty discretionaries after hyphens, which means that it will
- % not find a line break at a hyphen in a node names. Since some manuals
- % are best written with fairly long node names, containing hyphens, this
- % is a loss. Therefore, we give the text of the node name again, so it
- % is as if TeX is seeing it for the first time.
+ % Make link in pdf output.
\ifpdf
- \leavevmode
- \getfilename{#4}%
- {\turnoffactive \otherbackslash
+ {\indexnofonts
+ \turnoffactive
+ % This expands tokens, so do it after making catcode changes, so _
+ % etc. don't get their TeX definitions.
+ \getfilename{#4}%
+ %
+ % See comments at \activebackslashdouble.
+ {\activebackslashdouble \xdef\pdfxrefdest{#1}%
+ \backslashparens\pdfxrefdest}%
+ %
+ \leavevmode
+ \startlink attr{/Border [0 0 0]}%
\ifnum\filenamelength>0
- \startlink attr{/Border [0 0 0]}%
- goto file{\the\filename.pdf} name{#1}%
+ goto file{\the\filename.pdf} name{\pdfxrefdest}%
\else
- \startlink attr{/Border [0 0 0]}%
- goto name{#1}%
+ goto name{\pdfmkpgn{\pdfxrefdest}}%
\fi
}%
- \linkcolor
+ \setcolor{\linkcolor}%
\fi
%
- \ifdim \wd1 > 0pt
- \putwordsection{} ``\printednodename'' \putwordin{} \cite{\printedmanual}%
+ % Float references are printed completely differently: "Figure 1.2"
+ % instead of "[somenode], p.3". We distinguish them by the
+ % LABEL-title being set to a magic string.
+ {%
+ % Have to otherify everything special to allow the \csname to
+ % include an _ in the xref name, etc.
+ \indexnofonts
+ \turnoffactive
+ \expandafter\global\expandafter\let\expandafter\Xthisreftitle
+ \csname XR#1-title\endcsname
+ }%
+ \iffloat\Xthisreftitle
+ % If the user specified the print name (third arg) to the ref,
+ % print it instead of our usual "Figure 1.2".
+ \ifdim\wd0 = 0pt
+ \refx{#1-snt}{}%
+ \else
+ \printedrefname
+ \fi
+ %
+ % if the user also gave the printed manual name (fifth arg), append
+ % "in MANUALNAME".
+ \ifdim \wd1 > 0pt
+ \space \putwordin{} \cite{\printedmanual}%
+ \fi
\else
- % _ (for example) has to be the character _ for the purposes of the
- % control sequence corresponding to the node, but it has to expand
- % into the usual \leavevmode...\vrule stuff for purposes of
- % printing. So we \turnoffactive for the \refx-snt, back on for the
- % printing, back off for the \refx-pg.
- {\turnoffactive \otherbackslash
- % Only output a following space if the -snt ref is nonempty; for
- % @unnumbered and @anchor, it won't be.
- \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
- \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
- }%
- % [mynode],
- [\printednodename],\space
- % page 3
- \turnoffactive \otherbackslash \putwordpage\tie\refx{#1-pg}{}%
+ % node/anchor (non-float) references.
+ %
+ % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
+ % insert empty discretionaries after hyphens, which means that it will
+ % not find a line break at a hyphen in a node names. Since some manuals
+ % are best written with fairly long node names, containing hyphens, this
+ % is a loss. Therefore, we give the text of the node name again, so it
+ % is as if TeX is seeing it for the first time.
+ \ifdim \wd1 > 0pt
+ \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
+ \else
+ % _ (for example) has to be the character _ for the purposes of the
+ % control sequence corresponding to the node, but it has to expand
+ % into the usual \leavevmode...\vrule stuff for purposes of
+ % printing. So we \turnoffactive for the \refx-snt, back on for the
+ % printing, back off for the \refx-pg.
+ {\turnoffactive
+ % Only output a following space if the -snt ref is nonempty; for
+ % @unnumbered and @anchor, it won't be.
+ \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
+ \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
+ }%
+ % output the `[mynode]' via a macro so it can be overridden.
+ \xrefprintnodename\printedrefname
+ %
+ % But we always want a comma and a space:
+ ,\space
+ %
+ % output the `page 3'.
+ \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
+ \fi
\fi
\endlink
\endgroup}
-% \dosetq is called from \setref to do the actual \write (\iflinks).
+% This macro is called from \xrefX for the `[nodename]' part of xref
+% output. It's a separate macro only so it can be changed more easily,
+% since square brackets don't work well in some documents. Particularly
+% one that Bob is working on :).
%
-\def\dosetq#1#2{%
- {\let\folio=0%
- \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}%
- \iflinks \next \fi
- }%
-}
-
-% \internalsetq{foo}{page} expands into
-% CHARACTERS @xrdef{foo}{...expansion of \page...}
-\def\internalsetq#1#2{@xrdef{#1}{\csname #2\endcsname}}
+\def\xrefprintnodename#1{[#1]}
-% Things to be expanded by \internalsetq.
-%
-\def\Ypagenumber{\folio}
-\def\Ytitle{\thissection}
+% Things referred to by \setref.
+%
\def\Ynothing{}
-\def\Ysectionnumberandtype{%
+\def\Yomitfromtoc{}
+\def\Ynumbered{%
\ifnum\secno=0
\putwordChapter@tie \the\chapno
\else \ifnum\subsecno=0
@@ -5950,8 +7293,7 @@ width0pt\relax} \fi
\putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
\fi\fi\fi
}
-
-\def\Yappendixletterandtype{%
+\def\Yappendix{%
\ifnum\secno=0
\putwordAppendix@tie @char\the\appendixno{}%
\else \ifnum\subsecno=0
@@ -5964,15 +7306,6 @@ width0pt\relax} \fi
\fi\fi\fi
}
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-%
-\ifx\inputlineno\thisisundefined
- \let\linenumber = \empty % Pre-3.0.
-\else
- \def\linenumber{\the\inputlineno:\space}
-\fi
-
% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
% If its value is nonempty, SUFFIX is output afterward.
%
@@ -5981,7 +7314,7 @@ width0pt\relax} \fi
\indexnofonts
\otherbackslash
\expandafter\global\expandafter\let\expandafter\thisrefX
- \csname X#1\endcsname
+ \csname XR#1\endcsname
}%
\ifx\thisrefX\relax
% If not defined, say something at least.
@@ -6003,12 +7336,54 @@ width0pt\relax} \fi
#2% Output the suffix in any case.
}
-% This is the macro invoked by entries in the aux file.
+% This is the macro invoked by entries in the aux file. Usually it's
+% just a \def (we prepend XR to the control sequence name to avoid
+% collisions). But if this is a float type, we have more work to do.
%
-\def\xrdef#1{\expandafter\gdef\csname X#1\endcsname}
+\def\xrdef#1#2{%
+ {% The node name might contain 8-bit characters, which in our current
+ % implementation are changed to commands like @'e. Don't let these
+ % mess up the control sequence name.
+ \indexnofonts
+ \turnoffactive
+ \xdef\safexrefname{#1}%
+ }%
+ %
+ \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref
+ %
+ % Was that xref control sequence that we just defined for a float?
+ \expandafter\iffloat\csname XR\safexrefname\endcsname
+ % it was a float, and we have the (safe) float type in \iffloattype.
+ \expandafter\let\expandafter\floatlist
+ \csname floatlist\iffloattype\endcsname
+ %
+ % Is this the first time we've seen this float type?
+ \expandafter\ifx\floatlist\relax
+ \toks0 = {\do}% yes, so just \do
+ \else
+ % had it before, so preserve previous elements in list.
+ \toks0 = \expandafter{\floatlist\do}%
+ \fi
+ %
+ % Remember this xref in the control sequence \floatlistFLOATTYPE,
+ % for later use in \listoffloats.
+ \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0
+ {\safexrefname}}%
+ \fi
+}
% Read the last existing aux file, if any. No error if none exists.
-\def\readauxfile{\begingroup
+%
+\def\tryauxfile{%
+ \openin 1 \jobname.aux
+ \ifeof 1 \else
+ \readdatafile{aux}%
+ \global\havexrefstrue
+ \fi
+ \closein 1
+}
+
+\def\setupdatafile{%
\catcode`\^^@=\other
\catcode`\^^A=\other
\catcode`\^^B=\other
@@ -6066,41 +7441,40 @@ width0pt\relax} \fi
\catcode`\%=\other
\catcode`+=\other % avoid \+ for paranoia even though we've turned it off
%
- % Make the characters 128-255 be printing characters
+ % This is to support \ in node names and titles, since the \
+ % characters end up in a \csname. It's easier than
+ % leaving it active and making its active definition an actual \
+ % character. What I don't understand is why it works in the *value*
+ % of the xrdef. Seems like it should be a catcode12 \, and that
+ % should not typeset properly. But it works, so I'm moving on for
+ % now. --karl, 15jan04.
+ \catcode`\\=\other
+ %
+ % Make the characters 128-255 be printing characters.
{%
- \count 1=128
+ \count1=128
\def\loop{%
- \catcode\count 1=\other
- \advance\count 1 by 1
- \ifnum \count 1<256 \loop \fi
+ \catcode\count1=\other
+ \advance\count1 by 1
+ \ifnum \count1<256 \loop \fi
}%
}%
%
- % Turn off \ as an escape so we do not lose on
- % entries which were dumped with control sequences in their names.
- % For example, @xrdef{$\leq $-fun}{page ...} made by @defun ^^
- % Reference to such entries still does not work the way one would wish,
- % but at least they do not bomb out when the aux file is read in.
- \catcode`\\=\other
- %
- % @ is our escape character in .aux files.
+ % @ is our escape character in .aux files, and we need braces.
\catcode`\{=1
\catcode`\}=2
\catcode`\@=0
- %
- \openin 1 \jobname.aux
- \ifeof 1 \else
- \closein 1
- \input \jobname.aux
- \global\havexrefstrue
- \global\warnedobstrue
- \fi
- % Open the new aux file. TeX will close it automatically at exit.
- \openout\auxfile=\jobname.aux
+}
+
+\def\readdatafile#1{%
+\begingroup
+ \setupdatafile
+ \input\jobname.#1
\endgroup}
-% Footnotes.
+\message{insertions,}
+% including footnotes.
\newcount \footnoteno
@@ -6114,19 +7488,19 @@ width0pt\relax} \fi
% @footnotestyle is meaningful for info output only.
\let\footnotestyle=\comment
-\let\ptexfootnote=\footnote
-
{\catcode `\@=11
%
% Auto-number footnotes. Otherwise like plain.
\gdef\footnote{%
+ \let\indent=\ptexindent
+ \let\noindent=\ptexnoindent
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}%
%
% In case the footnote comes at the end of a sentence, preserve the
% extra spacing after we do the footnote number.
\let\@sf\empty
- \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
+ \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
%
% Remove inadvertent blank space before typesetting the footnote number.
\unskip
@@ -6137,17 +7511,12 @@ width0pt\relax} \fi
% Don't bother with the trickery in plain.tex to not require the
% footnote text as a parameter. Our footnotes don't need to be so general.
%
-% Oh yes, they do; otherwise, @ifset and anything else that uses
-% \parseargline fail inside footnotes because the tokens are fixed when
+% Oh yes, they do; otherwise, @ifset (and anything else that uses
+% \parseargline) fails inside footnotes because the tokens are fixed when
% the footnote is read. --karl, 16nov96.
%
-% The start of the footnote looks usually like this:
-\gdef\startfootins{\insert\footins\bgroup}
-%
-% ... but this macro is redefined inside @multitable.
-%
\gdef\dofootnote{%
- \startfootins
+ \insert\footins\bgroup
% We want to typeset this text as a normal paragraph, even if the
% footnote reference occurs in (for example) a display environment.
% So reset some parameters.
@@ -6183,40 +7552,66 @@ width0pt\relax} \fi
}
}%end \catcode `\@=11
-% @| inserts a changebar to the left of the current line. It should
-% surround any changed text. This approach does *not* work if the
-% change spans more than two lines of output. To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
+% In case a @footnote appears in a vbox, save the footnote text and create
+% the real \insert just after the vbox finished. Otherwise, the insertion
+% would be lost.
+% Similarly, if a @footnote appears inside an alignment, save the footnote
+% text to a box and make the \insert when a row of the table is finished.
+% And the same can be done for other insert classes. --kasal, 16nov03.
+
+% Replace the \insert primitive by a cheating macro.
+% Deeper inside, just make sure that the saved insertions are not spilled
+% out prematurely.
%
-\def\|{%
- % \vadjust can only be used in horizontal mode.
- \leavevmode
- %
- % Append this vertical mode material after the current line in the output.
- \vadjust{%
- % We want to insert a rule with the height and depth of the current
- % leading; that is exactly what \strutbox is supposed to record.
- \vskip-\baselineskip
- %
- % \vadjust-items are inserted at the left edge of the type. So
- % the \llap here moves out into the left-hand margin.
- \llap{%
- %
- % For a thicker or thinner bar, change the `1pt'.
- \vrule height\baselineskip width1pt
- %
- % This is the space between the bar and the text.
- \hskip 12pt
- }%
- }%
+\def\startsavinginserts{%
+ \ifx \insert\ptexinsert
+ \let\insert\saveinsert
+ \else
+ \let\checkinserts\relax
+ \fi
}
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
+% This \insert replacement works for both \insert\footins{foo} and
+% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
%
-\def\finalout{\overfullrule=0pt}
+\def\saveinsert#1{%
+ \edef\next{\noexpand\savetobox \makeSAVEname#1}%
+ \afterassignment\next
+ % swallow the left brace
+ \let\temp =
+}
+\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
+\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
+
+\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
+
+\def\placesaveins#1{%
+ \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
+ {\box#1}%
+}
+
+% eat @SAVE -- beware, all of them have catcode \other:
+{
+ \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-)
+ \gdef\gobblesave @SAVE{}
+}
+
+% initialization:
+\def\newsaveins #1{%
+ \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
+ \next
+}
+\def\newsaveinsX #1{%
+ \csname newbox\endcsname #1%
+ \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
+ \checksaveins #1}%
+}
+
+% initialize:
+\let\checkinserts\empty
+\newsaveins\footins
+\newsaveins\margin
+
% @image. We use the macros from epsf.tex to support this.
% If epsf.tex is not installed and @image is used, we complain.
@@ -6226,12 +7621,12 @@ width0pt\relax} \fi
% undone and the next image would fail.
\openin 1 = epsf.tex
\ifeof 1 \else
- \closein 1
% Do not bother showing banner with epsf.tex v2.7k (available in
% doc/epsf.tex and on ctan).
\def\epsfannounce{\toks0 = }%
\input epsf.tex
\fi
+\closein 1
%
% We will only complain once about lack of epsf.tex.
\newif\ifwarnednoepsf
@@ -6264,15 +7659,19 @@ width0pt\relax} \fi
% If the image is by itself, center it.
\ifvmode
\imagevmodetrue
- \nobreak\bigskip
+ \nobreak\medskip
% Usually we'll have text after the image which will insert
% \parskip glue, so insert it here too to equalize the space
- % above and below.
+ % above and below.
\nobreak\vskip\parskip
\nobreak
- \line\bgroup\hss
\fi
%
+ % Leave vertical mode so that indentation from an enclosing
+ % environment such as @quotation is respected. On the other hand, if
+ % it's at the top level, we don't want the normal paragraph indentation.
+ \noindent
+ %
% Output the image.
\ifpdf
\dopdfimage{#1}{#2}{#3}%
@@ -6283,45 +7682,1173 @@ width0pt\relax} \fi
\epsfbox{#1.eps}%
\fi
%
- \ifimagevmode \hss \egroup \bigbreak \fi % space after the image
+ \ifimagevmode \medskip \fi % space after the standalone image
\endgroup}
+% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
+% etc. We don't actually implement floating yet, we always include the
+% float "here". But it seemed the best name for the future.
+%
+\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
+
+% There may be a space before second and/or third parameter; delete it.
+\def\eatcommaspace#1, {#1,}
+
+% #1 is the optional FLOATTYPE, the text label for this float, typically
+% "Figure", "Table", "Example", etc. Can't contain commas. If omitted,
+% this float will not be numbered and cannot be referred to.
+%
+% #2 is the optional xref label. Also must be present for the float to
+% be referable.
+%
+% #3 is the optional positioning argument; for now, it is ignored. It
+% will somehow specify the positions allowed to float to (here, top, bottom).
+%
+% We keep a separate counter for each FLOATTYPE, which we reset at each
+% chapter-level command.
+\let\resetallfloatnos=\empty
+%
+\def\dofloat#1,#2,#3,#4\finish{%
+ \let\thiscaption=\empty
+ \let\thisshortcaption=\empty
+ %
+ % don't lose footnotes inside @float.
+ %
+ % BEWARE: when the floats start float, we have to issue warning whenever an
+ % insert appears inside a float which could possibly float. --kasal, 26may04
+ %
+ \startsavinginserts
+ %
+ % We can't be used inside a paragraph.
+ \par
+ %
+ \vtop\bgroup
+ \def\floattype{#1}%
+ \def\floatlabel{#2}%
+ \def\floatloc{#3}% we do nothing with this yet.
+ %
+ \ifx\floattype\empty
+ \let\safefloattype=\empty
+ \else
+ {%
+ % the floattype might have accents or other special characters,
+ % but we need to use it in a control sequence name.
+ \indexnofonts
+ \turnoffactive
+ \xdef\safefloattype{\floattype}%
+ }%
+ \fi
+ %
+ % If label is given but no type, we handle that as the empty type.
+ \ifx\floatlabel\empty \else
+ % We want each FLOATTYPE to be numbered separately (Figure 1,
+ % Table 1, Figure 2, ...). (And if no label, no number.)
+ %
+ \expandafter\getfloatno\csname\safefloattype floatno\endcsname
+ \global\advance\floatno by 1
+ %
+ {%
+ % This magic value for \lastsection is output by \setref as the
+ % XREFLABEL-title value. \xrefX uses it to distinguish float
+ % labels (which have a completely different output format) from
+ % node and anchor labels. And \xrdef uses it to construct the
+ % lists of floats.
+ %
+ \edef\lastsection{\floatmagic=\safefloattype}%
+ \setref{\floatlabel}{Yfloat}%
+ }%
+ \fi
+ %
+ % start with \parskip glue, I guess.
+ \vskip\parskip
+ %
+ % Don't suppress indentation if a float happens to start a section.
+ \restorefirstparagraphindent
+}
+
+% we have these possibilities:
+% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
+% @float Foo,lbl & no caption: Foo 1.1
+% @float Foo & @caption{Cap}: Foo: Cap
+% @float Foo & no caption: Foo
+% @float ,lbl & Caption{Cap}: 1.1: Cap
+% @float ,lbl & no caption: 1.1
+% @float & @caption{Cap}: Cap
+% @float & no caption:
+%
+\def\Efloat{%
+ \let\floatident = \empty
+ %
+ % In all cases, if we have a float type, it comes first.
+ \ifx\floattype\empty \else \def\floatident{\floattype}\fi
+ %
+ % If we have an xref label, the number comes next.
+ \ifx\floatlabel\empty \else
+ \ifx\floattype\empty \else % if also had float type, need tie first.
+ \appendtomacro\floatident{\tie}%
+ \fi
+ % the number.
+ \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
+ \fi
+ %
+ % Start the printed caption with what we've constructed in
+ % \floatident, but keep it separate; we need \floatident again.
+ \let\captionline = \floatident
+ %
+ \ifx\thiscaption\empty \else
+ \ifx\floatident\empty \else
+ \appendtomacro\captionline{: }% had ident, so need a colon between
+ \fi
+ %
+ % caption text.
+ \appendtomacro\captionline{\scanexp\thiscaption}%
+ \fi
+ %
+ % If we have anything to print, print it, with space before.
+ % Eventually this needs to become an \insert.
+ \ifx\captionline\empty \else
+ \vskip.5\parskip
+ \captionline
+ %
+ % Space below caption.
+ \vskip\parskip
+ \fi
+ %
+ % If have an xref label, write the list of floats info. Do this
+ % after the caption, to avoid chance of it being a breakpoint.
+ \ifx\floatlabel\empty \else
+ % Write the text that goes in the lof to the aux file as
+ % \floatlabel-lof. Besides \floatident, we include the short
+ % caption if specified, else the full caption if specified, else nothing.
+ {%
+ \atdummies
+ %
+ % since we read the caption text in the macro world, where ^^M
+ % is turned into a normal character, we have to scan it back, so
+ % we don't write the literal three characters "^^M" into the aux file.
+ \scanexp{%
+ \xdef\noexpand\gtemp{%
+ \ifx\thisshortcaption\empty
+ \thiscaption
+ \else
+ \thisshortcaption
+ \fi
+ }%
+ }%
+ \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
+ \ifx\gtemp\empty \else : \gtemp \fi}}%
+ }%
+ \fi
+ \egroup % end of \vtop
+ %
+ % place the captured inserts
+ %
+ % BEWARE: when the floats start floating, we have to issue warning
+ % whenever an insert appears inside a float which could possibly
+ % float. --kasal, 26may04
+ %
+ \checkinserts
+}
+
+% Append the tokens #2 to the definition of macro #1, not expanding either.
+%
+\def\appendtomacro#1#2{%
+ \expandafter\def\expandafter#1\expandafter{#1#2}%
+}
+
+% @caption, @shortcaption
+%
+\def\caption{\docaption\thiscaption}
+\def\shortcaption{\docaption\thisshortcaption}
+\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
+\def\defcaption#1#2{\egroup \def#1{#2}}
+
+% The parameter is the control sequence identifying the counter we are
+% going to use. Create it if it doesn't exist and assign it to \floatno.
+\def\getfloatno#1{%
+ \ifx#1\relax
+ % Haven't seen this figure type before.
+ \csname newcount\endcsname #1%
+ %
+ % Remember to reset this floatno at the next chap.
+ \expandafter\gdef\expandafter\resetallfloatnos
+ \expandafter{\resetallfloatnos #1=0 }%
+ \fi
+ \let\floatno#1%
+}
+
+% \setref calls this to get the XREFLABEL-snt value. We want an @xref
+% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we
+% first read the @float command.
+%
+\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
+
+% Magic string used for the XREFLABEL-title value, so \xrefX can
+% distinguish floats from other xref types.
+\def\floatmagic{!!float!!}
+
+% #1 is the control sequence we are passed; we expand into a conditional
+% which is true if #1 represents a float ref. That is, the magic
+% \lastsection value which we \setref above.
+%
+\def\iffloat#1{\expandafter\doiffloat#1==\finish}
+%
+% #1 is (maybe) the \floatmagic string. If so, #2 will be the
+% (safe) float type for this float. We set \iffloattype to #2.
+%
+\def\doiffloat#1=#2=#3\finish{%
+ \def\temp{#1}%
+ \def\iffloattype{#2}%
+ \ifx\temp\floatmagic
+}
+
+% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
+%
+\parseargdef\listoffloats{%
+ \def\floattype{#1}% floattype
+ {%
+ % the floattype might have accents or other special characters,
+ % but we need to use it in a control sequence name.
+ \indexnofonts
+ \turnoffactive
+ \xdef\safefloattype{\floattype}%
+ }%
+ %
+ % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
+ \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
+ \ifhavexrefs
+ % if the user said @listoffloats foo but never @float foo.
+ \message{\linenumber No `\safefloattype' floats to list.}%
+ \fi
+ \else
+ \begingroup
+ \leftskip=\tocindent % indent these entries like a toc
+ \let\do=\listoffloatsdo
+ \csname floatlist\safefloattype\endcsname
+ \endgroup
+ \fi
+}
+
+% This is called on each entry in a list of floats. We're passed the
+% xref label, in the form LABEL-title, which is how we save it in the
+% aux file. We strip off the -title and look up \XRLABEL-lof, which
+% has the text we're supposed to typeset here.
+%
+% Figures without xref labels will not be included in the list (since
+% they won't appear in the aux file).
+%
+\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
+\def\listoffloatsdoentry#1-title\finish{{%
+ % Can't fully expand XR#1-lof because it can contain anything. Just
+ % pass the control sequence. On the other hand, XR#1-pg is just the
+ % page number, and we want to fully expand that so we can get a link
+ % in pdf output.
+ \toksA = \expandafter{\csname XR#1-lof\endcsname}%
+ %
+ % use the same \entry macro we use to generate the TOC and index.
+ \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
+ \writeentry
+}}
+
+
\message{localization,}
-% and i18n.
-% @documentlanguage is usually given very early, just after
-% @setfilename. If done too late, it may not override everything
-% properly. Single argument is the language abbreviation.
-% It would be nice if we could set up a hyphenation file here.
+% For single-language documents, @documentlanguage is usually given very
+% early, just after @documentencoding. Single argument is the language
+% (de) or locale (de_DE) abbreviation.
%
-\def\documentlanguage{\parsearg\dodocumentlanguage}
-\def\dodocumentlanguage#1{%
+{
+ \catcode`\_ = \active
+ \globaldefs=1
+\parseargdef\documentlanguage{\begingroup
+ \let_=\normalunderscore % normal _ character for filenames
\tex % read txi-??.tex file in plain TeX.
- % Read the file if it exists.
+ % Read the file by the name they passed if it exists.
+ \openin 1 txi-#1.tex
+ \ifeof 1
+ \documentlanguagetrywithoutunderscore{#1_\finish}%
+ \else
+ \globaldefs = 1 % everything in the txi-LL files needs to persist
+ \input txi-#1.tex
+ \fi
+ \closein 1
+ \endgroup % end raw TeX
+\endgroup}
+}
+%
+% If they passed de_DE, and txi-de_DE.tex doesn't exist,
+% try txi-de.tex.
+%
+\def\documentlanguagetrywithoutunderscore#1_#2\finish{%
\openin 1 txi-#1.tex
- \ifeof1
+ \ifeof 1
\errhelp = \nolanghelp
\errmessage{Cannot read language file txi-#1.tex}%
- \let\temp = \relax
\else
- \def\temp{\input txi-#1.tex }%
+ \input txi-#1.tex
\fi
- \temp
- \endgroup
+ \closein 1
}
+%
\newhelp\nolanghelp{The given language definition file cannot be found or
-is empty. Maybe you need to install it? In the current directory
-should work if nowhere else does.}
+is empty. Maybe you need to install it? Putting it in the current
+directory should work if nowhere else does.}
+% This macro is called from txi-??.tex files; the first argument is the
+% \language name to set (without the "\lang@" prefix), the second and
+% third args are \{left,right}hyphenmin.
+%
+% The language names to pass are determined when the format is built.
+% See the etex.log file created at that time, e.g.,
+% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log.
+%
+% With TeX Live 2008, etex now includes hyphenation patterns for all
+% available languages. This means we can support hyphenation in
+% Texinfo, at least to some extent. (This still doesn't solve the
+% accented characters problem.)
+%
+\catcode`@=11
+\def\txisetlanguage#1#2#3{%
+ % do not set the language if the name is undefined in the current TeX.
+ \expandafter\ifx\csname lang@#1\endcsname \relax
+ \message{no patterns for #1}%
+ \else
+ \global\language = \csname lang@#1\endcsname
+ \fi
+ % but there is no harm in adjusting the hyphenmin values regardless.
+ \global\lefthyphenmin = #2\relax
+ \global\righthyphenmin = #3\relax
+}
-% @documentencoding should change something in TeX eventually, most
-% likely, but for now just recognize it.
-\let\documentencoding = \comment
+% Helpers for encodings.
+% Set the catcode of characters 128 through 255 to the specified number.
+%
+\def\setnonasciicharscatcode#1{%
+ \count255=128
+ \loop\ifnum\count255<256
+ \global\catcode\count255=#1\relax
+ \advance\count255 by 1
+ \repeat
+}
+\def\setnonasciicharscatcodenonglobal#1{%
+ \count255=128
+ \loop\ifnum\count255<256
+ \catcode\count255=#1\relax
+ \advance\count255 by 1
+ \repeat
+}
-% Page size parameters.
+% @documentencoding sets the definition of non-ASCII characters
+% according to the specified encoding.
%
+\parseargdef\documentencoding{%
+ % Encoding being declared for the document.
+ \def\declaredencoding{\csname #1.enc\endcsname}%
+ %
+ % Supported encodings: names converted to tokens in order to be able
+ % to compare them with \ifx.
+ \def\ascii{\csname US-ASCII.enc\endcsname}%
+ \def\latnine{\csname ISO-8859-15.enc\endcsname}%
+ \def\latone{\csname ISO-8859-1.enc\endcsname}%
+ \def\lattwo{\csname ISO-8859-2.enc\endcsname}%
+ \def\utfeight{\csname UTF-8.enc\endcsname}%
+ %
+ \ifx \declaredencoding \ascii
+ \asciichardefs
+ %
+ \else \ifx \declaredencoding \lattwo
+ \setnonasciicharscatcode\active
+ \lattwochardefs
+ %
+ \else \ifx \declaredencoding \latone
+ \setnonasciicharscatcode\active
+ \latonechardefs
+ %
+ \else \ifx \declaredencoding \latnine
+ \setnonasciicharscatcode\active
+ \latninechardefs
+ %
+ \else \ifx \declaredencoding \utfeight
+ \setnonasciicharscatcode\active
+ \utfeightchardefs
+ %
+ \else
+ \message{Unknown document encoding #1, ignoring.}%
+ %
+ \fi % utfeight
+ \fi % latnine
+ \fi % latone
+ \fi % lattwo
+ \fi % ascii
+}
+
+% A message to be logged when using a character that isn't available
+% the default font encoding (OT1).
+%
+\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
+
+% Take account of \c (plain) vs. \, (Texinfo) difference.
+\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
+
+% First, make active non-ASCII characters in order for them to be
+% correctly categorized when TeX reads the replacement text of
+% macros containing the character definitions.
+\setnonasciicharscatcode\active
+%
+% Latin1 (ISO-8859-1) character definitions.
+\def\latonechardefs{%
+ \gdef^^a0{~}
+ \gdef^^a1{\exclamdown}
+ \gdef^^a2{\missingcharmsg{CENT SIGN}}
+ \gdef^^a3{{\pounds}}
+ \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
+ \gdef^^a5{\missingcharmsg{YEN SIGN}}
+ \gdef^^a6{\missingcharmsg{BROKEN BAR}}
+ \gdef^^a7{\S}
+ \gdef^^a8{\"{}}
+ \gdef^^a9{\copyright}
+ \gdef^^aa{\ordf}
+ \gdef^^ab{\guillemetleft}
+ \gdef^^ac{$\lnot$}
+ \gdef^^ad{\-}
+ \gdef^^ae{\registeredsymbol}
+ \gdef^^af{\={}}
+ %
+ \gdef^^b0{\textdegree}
+ \gdef^^b1{$\pm$}
+ \gdef^^b2{$^2$}
+ \gdef^^b3{$^3$}
+ \gdef^^b4{\'{}}
+ \gdef^^b5{$\mu$}
+ \gdef^^b6{\P}
+ %
+ \gdef^^b7{$^.$}
+ \gdef^^b8{\cedilla\ }
+ \gdef^^b9{$^1$}
+ \gdef^^ba{\ordm}
+ %
+ \gdef^^bb{\guilletright}
+ \gdef^^bc{$1\over4$}
+ \gdef^^bd{$1\over2$}
+ \gdef^^be{$3\over4$}
+ \gdef^^bf{\questiondown}
+ %
+ \gdef^^c0{\`A}
+ \gdef^^c1{\'A}
+ \gdef^^c2{\^A}
+ \gdef^^c3{\~A}
+ \gdef^^c4{\"A}
+ \gdef^^c5{\ringaccent A}
+ \gdef^^c6{\AE}
+ \gdef^^c7{\cedilla C}
+ \gdef^^c8{\`E}
+ \gdef^^c9{\'E}
+ \gdef^^ca{\^E}
+ \gdef^^cb{\"E}
+ \gdef^^cc{\`I}
+ \gdef^^cd{\'I}
+ \gdef^^ce{\^I}
+ \gdef^^cf{\"I}
+ %
+ \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}}
+ \gdef^^d1{\~N}
+ \gdef^^d2{\`O}
+ \gdef^^d3{\'O}
+ \gdef^^d4{\^O}
+ \gdef^^d5{\~O}
+ \gdef^^d6{\"O}
+ \gdef^^d7{$\times$}
+ \gdef^^d8{\O}
+ \gdef^^d9{\`U}
+ \gdef^^da{\'U}
+ \gdef^^db{\^U}
+ \gdef^^dc{\"U}
+ \gdef^^dd{\'Y}
+ \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}}
+ \gdef^^df{\ss}
+ %
+ \gdef^^e0{\`a}
+ \gdef^^e1{\'a}
+ \gdef^^e2{\^a}
+ \gdef^^e3{\~a}
+ \gdef^^e4{\"a}
+ \gdef^^e5{\ringaccent a}
+ \gdef^^e6{\ae}
+ \gdef^^e7{\cedilla c}
+ \gdef^^e8{\`e}
+ \gdef^^e9{\'e}
+ \gdef^^ea{\^e}
+ \gdef^^eb{\"e}
+ \gdef^^ec{\`{\dotless i}}
+ \gdef^^ed{\'{\dotless i}}
+ \gdef^^ee{\^{\dotless i}}
+ \gdef^^ef{\"{\dotless i}}
+ %
+ \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}}
+ \gdef^^f1{\~n}
+ \gdef^^f2{\`o}
+ \gdef^^f3{\'o}
+ \gdef^^f4{\^o}
+ \gdef^^f5{\~o}
+ \gdef^^f6{\"o}
+ \gdef^^f7{$\div$}
+ \gdef^^f8{\o}
+ \gdef^^f9{\`u}
+ \gdef^^fa{\'u}
+ \gdef^^fb{\^u}
+ \gdef^^fc{\"u}
+ \gdef^^fd{\'y}
+ \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}}
+ \gdef^^ff{\"y}
+}
+
+% Latin9 (ISO-8859-15) encoding character definitions.
+\def\latninechardefs{%
+ % Encoding is almost identical to Latin1.
+ \latonechardefs
+ %
+ \gdef^^a4{\euro}
+ \gdef^^a6{\v S}
+ \gdef^^a8{\v s}
+ \gdef^^b4{\v Z}
+ \gdef^^b8{\v z}
+ \gdef^^bc{\OE}
+ \gdef^^bd{\oe}
+ \gdef^^be{\"Y}
+}
+
+% Latin2 (ISO-8859-2) character definitions.
+\def\lattwochardefs{%
+ \gdef^^a0{~}
+ \gdef^^a1{\ogonek{A}}
+ \gdef^^a2{\u{}}
+ \gdef^^a3{\L}
+ \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
+ \gdef^^a5{\v L}
+ \gdef^^a6{\'S}
+ \gdef^^a7{\S}
+ \gdef^^a8{\"{}}
+ \gdef^^a9{\v S}
+ \gdef^^aa{\cedilla S}
+ \gdef^^ab{\v T}
+ \gdef^^ac{\'Z}
+ \gdef^^ad{\-}
+ \gdef^^ae{\v Z}
+ \gdef^^af{\dotaccent Z}
+ %
+ \gdef^^b0{\textdegree}
+ \gdef^^b1{\ogonek{a}}
+ \gdef^^b2{\ogonek{ }}
+ \gdef^^b3{\l}
+ \gdef^^b4{\'{}}
+ \gdef^^b5{\v l}
+ \gdef^^b6{\'s}
+ \gdef^^b7{\v{}}
+ \gdef^^b8{\cedilla\ }
+ \gdef^^b9{\v s}
+ \gdef^^ba{\cedilla s}
+ \gdef^^bb{\v t}
+ \gdef^^bc{\'z}
+ \gdef^^bd{\H{}}
+ \gdef^^be{\v z}
+ \gdef^^bf{\dotaccent z}
+ %
+ \gdef^^c0{\'R}
+ \gdef^^c1{\'A}
+ \gdef^^c2{\^A}
+ \gdef^^c3{\u A}
+ \gdef^^c4{\"A}
+ \gdef^^c5{\'L}
+ \gdef^^c6{\'C}
+ \gdef^^c7{\cedilla C}
+ \gdef^^c8{\v C}
+ \gdef^^c9{\'E}
+ \gdef^^ca{\ogonek{E}}
+ \gdef^^cb{\"E}
+ \gdef^^cc{\v E}
+ \gdef^^cd{\'I}
+ \gdef^^ce{\^I}
+ \gdef^^cf{\v D}
+ %
+ \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}}
+ \gdef^^d1{\'N}
+ \gdef^^d2{\v N}
+ \gdef^^d3{\'O}
+ \gdef^^d4{\^O}
+ \gdef^^d5{\H O}
+ \gdef^^d6{\"O}
+ \gdef^^d7{$\times$}
+ \gdef^^d8{\v R}
+ \gdef^^d9{\ringaccent U}
+ \gdef^^da{\'U}
+ \gdef^^db{\H U}
+ \gdef^^dc{\"U}
+ \gdef^^dd{\'Y}
+ \gdef^^de{\cedilla T}
+ \gdef^^df{\ss}
+ %
+ \gdef^^e0{\'r}
+ \gdef^^e1{\'a}
+ \gdef^^e2{\^a}
+ \gdef^^e3{\u a}
+ \gdef^^e4{\"a}
+ \gdef^^e5{\'l}
+ \gdef^^e6{\'c}
+ \gdef^^e7{\cedilla c}
+ \gdef^^e8{\v c}
+ \gdef^^e9{\'e}
+ \gdef^^ea{\ogonek{e}}
+ \gdef^^eb{\"e}
+ \gdef^^ec{\v e}
+ \gdef^^ed{\'\i}
+ \gdef^^ee{\^\i}
+ \gdef^^ef{\v d}
+ %
+ \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}}
+ \gdef^^f1{\'n}
+ \gdef^^f2{\v n}
+ \gdef^^f3{\'o}
+ \gdef^^f4{\^o}
+ \gdef^^f5{\H o}
+ \gdef^^f6{\"o}
+ \gdef^^f7{$\div$}
+ \gdef^^f8{\v r}
+ \gdef^^f9{\ringaccent u}
+ \gdef^^fa{\'u}
+ \gdef^^fb{\H u}
+ \gdef^^fc{\"u}
+ \gdef^^fd{\'y}
+ \gdef^^fe{\cedilla t}
+ \gdef^^ff{\dotaccent{}}
+}
+
+% UTF-8 character definitions.
+%
+% This code to support UTF-8 is based on LaTeX's utf8.def, with some
+% changes for Texinfo conventions. It is included here under the GPL by
+% permission from Frank Mittelbach and the LaTeX team.
+%
+\newcount\countUTFx
+\newcount\countUTFy
+\newcount\countUTFz
+
+\gdef\UTFviiiTwoOctets#1#2{\expandafter
+ \UTFviiiDefined\csname u8:#1\string #2\endcsname}
+%
+\gdef\UTFviiiThreeOctets#1#2#3{\expandafter
+ \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname}
+%
+\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter
+ \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname}
+
+\gdef\UTFviiiDefined#1{%
+ \ifx #1\relax
+ \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
+ \else
+ \expandafter #1%
+ \fi
+}
+
+\begingroup
+ \catcode`\~13
+ \catcode`\"12
+
+ \def\UTFviiiLoop{%
+ \global\catcode\countUTFx\active
+ \uccode`\~\countUTFx
+ \uppercase\expandafter{\UTFviiiTmp}%
+ \advance\countUTFx by 1
+ \ifnum\countUTFx < \countUTFy
+ \expandafter\UTFviiiLoop
+ \fi}
+
+ \countUTFx = "C2
+ \countUTFy = "E0
+ \def\UTFviiiTmp{%
+ \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
+ \UTFviiiLoop
+
+ \countUTFx = "E0
+ \countUTFy = "F0
+ \def\UTFviiiTmp{%
+ \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
+ \UTFviiiLoop
+
+ \countUTFx = "F0
+ \countUTFy = "F4
+ \def\UTFviiiTmp{%
+ \xdef~{\noexpand\UTFviiiFourOctets\string~}}
+ \UTFviiiLoop
+\endgroup
+
+\begingroup
+ \catcode`\"=12
+ \catcode`\<=12
+ \catcode`\.=12
+ \catcode`\,=12
+ \catcode`\;=12
+ \catcode`\!=12
+ \catcode`\~=13
+
+ \gdef\DeclareUnicodeCharacter#1#2{%
+ \countUTFz = "#1\relax
+ \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
+ \begingroup
+ \parseXMLCharref
+ \def\UTFviiiTwoOctets##1##2{%
+ \csname u8:##1\string ##2\endcsname}%
+ \def\UTFviiiThreeOctets##1##2##3{%
+ \csname u8:##1\string ##2\string ##3\endcsname}%
+ \def\UTFviiiFourOctets##1##2##3##4{%
+ \csname u8:##1\string ##2\string ##3\string ##4\endcsname}%
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter
+ \gdef\UTFviiiTmp{#2}%
+ \endgroup}
+
+ \gdef\parseXMLCharref{%
+ \ifnum\countUTFz < "A0\relax
+ \errhelp = \EMsimple
+ \errmessage{Cannot define Unicode char value < 00A0}%
+ \else\ifnum\countUTFz < "800\relax
+ \parseUTFviiiA,%
+ \parseUTFviiiB C\UTFviiiTwoOctets.,%
+ \else\ifnum\countUTFz < "10000\relax
+ \parseUTFviiiA;%
+ \parseUTFviiiA,%
+ \parseUTFviiiB E\UTFviiiThreeOctets.{,;}%
+ \else
+ \parseUTFviiiA;%
+ \parseUTFviiiA,%
+ \parseUTFviiiA!%
+ \parseUTFviiiB F\UTFviiiFourOctets.{!,;}%
+ \fi\fi\fi
+ }
+
+ \gdef\parseUTFviiiA#1{%
+ \countUTFx = \countUTFz
+ \divide\countUTFz by 64
+ \countUTFy = \countUTFz
+ \multiply\countUTFz by 64
+ \advance\countUTFx by -\countUTFz
+ \advance\countUTFx by 128
+ \uccode `#1\countUTFx
+ \countUTFz = \countUTFy}
+
+ \gdef\parseUTFviiiB#1#2#3#4{%
+ \advance\countUTFz by "#10\relax
+ \uccode `#3\countUTFz
+ \uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
+\endgroup
+
+\def\utfeightchardefs{%
+ \DeclareUnicodeCharacter{00A0}{\tie}
+ \DeclareUnicodeCharacter{00A1}{\exclamdown}
+ \DeclareUnicodeCharacter{00A3}{\pounds}
+ \DeclareUnicodeCharacter{00A8}{\"{ }}
+ \DeclareUnicodeCharacter{00A9}{\copyright}
+ \DeclareUnicodeCharacter{00AA}{\ordf}
+ \DeclareUnicodeCharacter{00AB}{\guillemetleft}
+ \DeclareUnicodeCharacter{00AD}{\-}
+ \DeclareUnicodeCharacter{00AE}{\registeredsymbol}
+ \DeclareUnicodeCharacter{00AF}{\={ }}
+
+ \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
+ \DeclareUnicodeCharacter{00B4}{\'{ }}
+ \DeclareUnicodeCharacter{00B8}{\cedilla{ }}
+ \DeclareUnicodeCharacter{00BA}{\ordm}
+ \DeclareUnicodeCharacter{00BB}{\guillemetright}
+ \DeclareUnicodeCharacter{00BF}{\questiondown}
+
+ \DeclareUnicodeCharacter{00C0}{\`A}
+ \DeclareUnicodeCharacter{00C1}{\'A}
+ \DeclareUnicodeCharacter{00C2}{\^A}
+ \DeclareUnicodeCharacter{00C3}{\~A}
+ \DeclareUnicodeCharacter{00C4}{\"A}
+ \DeclareUnicodeCharacter{00C5}{\AA}
+ \DeclareUnicodeCharacter{00C6}{\AE}
+ \DeclareUnicodeCharacter{00C7}{\cedilla{C}}
+ \DeclareUnicodeCharacter{00C8}{\`E}
+ \DeclareUnicodeCharacter{00C9}{\'E}
+ \DeclareUnicodeCharacter{00CA}{\^E}
+ \DeclareUnicodeCharacter{00CB}{\"E}
+ \DeclareUnicodeCharacter{00CC}{\`I}
+ \DeclareUnicodeCharacter{00CD}{\'I}
+ \DeclareUnicodeCharacter{00CE}{\^I}
+ \DeclareUnicodeCharacter{00CF}{\"I}
+
+ \DeclareUnicodeCharacter{00D1}{\~N}
+ \DeclareUnicodeCharacter{00D2}{\`O}
+ \DeclareUnicodeCharacter{00D3}{\'O}
+ \DeclareUnicodeCharacter{00D4}{\^O}
+ \DeclareUnicodeCharacter{00D5}{\~O}
+ \DeclareUnicodeCharacter{00D6}{\"O}
+ \DeclareUnicodeCharacter{00D8}{\O}
+ \DeclareUnicodeCharacter{00D9}{\`U}
+ \DeclareUnicodeCharacter{00DA}{\'U}
+ \DeclareUnicodeCharacter{00DB}{\^U}
+ \DeclareUnicodeCharacter{00DC}{\"U}
+ \DeclareUnicodeCharacter{00DD}{\'Y}
+ \DeclareUnicodeCharacter{00DF}{\ss}
+
+ \DeclareUnicodeCharacter{00E0}{\`a}
+ \DeclareUnicodeCharacter{00E1}{\'a}
+ \DeclareUnicodeCharacter{00E2}{\^a}
+ \DeclareUnicodeCharacter{00E3}{\~a}
+ \DeclareUnicodeCharacter{00E4}{\"a}
+ \DeclareUnicodeCharacter{00E5}{\aa}
+ \DeclareUnicodeCharacter{00E6}{\ae}
+ \DeclareUnicodeCharacter{00E7}{\cedilla{c}}
+ \DeclareUnicodeCharacter{00E8}{\`e}
+ \DeclareUnicodeCharacter{00E9}{\'e}
+ \DeclareUnicodeCharacter{00EA}{\^e}
+ \DeclareUnicodeCharacter{00EB}{\"e}
+ \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}
+ \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}
+ \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
+ \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
+
+ \DeclareUnicodeCharacter{00F1}{\~n}
+ \DeclareUnicodeCharacter{00F2}{\`o}
+ \DeclareUnicodeCharacter{00F3}{\'o}
+ \DeclareUnicodeCharacter{00F4}{\^o}
+ \DeclareUnicodeCharacter{00F5}{\~o}
+ \DeclareUnicodeCharacter{00F6}{\"o}
+ \DeclareUnicodeCharacter{00F8}{\o}
+ \DeclareUnicodeCharacter{00F9}{\`u}
+ \DeclareUnicodeCharacter{00FA}{\'u}
+ \DeclareUnicodeCharacter{00FB}{\^u}
+ \DeclareUnicodeCharacter{00FC}{\"u}
+ \DeclareUnicodeCharacter{00FD}{\'y}
+ \DeclareUnicodeCharacter{00FF}{\"y}
+
+ \DeclareUnicodeCharacter{0100}{\=A}
+ \DeclareUnicodeCharacter{0101}{\=a}
+ \DeclareUnicodeCharacter{0102}{\u{A}}
+ \DeclareUnicodeCharacter{0103}{\u{a}}
+ \DeclareUnicodeCharacter{0104}{\ogonek{A}}
+ \DeclareUnicodeCharacter{0105}{\ogonek{a}}
+ \DeclareUnicodeCharacter{0106}{\'C}
+ \DeclareUnicodeCharacter{0107}{\'c}
+ \DeclareUnicodeCharacter{0108}{\^C}
+ \DeclareUnicodeCharacter{0109}{\^c}
+ \DeclareUnicodeCharacter{0118}{\ogonek{E}}
+ \DeclareUnicodeCharacter{0119}{\ogonek{e}}
+ \DeclareUnicodeCharacter{010A}{\dotaccent{C}}
+ \DeclareUnicodeCharacter{010B}{\dotaccent{c}}
+ \DeclareUnicodeCharacter{010C}{\v{C}}
+ \DeclareUnicodeCharacter{010D}{\v{c}}
+ \DeclareUnicodeCharacter{010E}{\v{D}}
+
+ \DeclareUnicodeCharacter{0112}{\=E}
+ \DeclareUnicodeCharacter{0113}{\=e}
+ \DeclareUnicodeCharacter{0114}{\u{E}}
+ \DeclareUnicodeCharacter{0115}{\u{e}}
+ \DeclareUnicodeCharacter{0116}{\dotaccent{E}}
+ \DeclareUnicodeCharacter{0117}{\dotaccent{e}}
+ \DeclareUnicodeCharacter{011A}{\v{E}}
+ \DeclareUnicodeCharacter{011B}{\v{e}}
+ \DeclareUnicodeCharacter{011C}{\^G}
+ \DeclareUnicodeCharacter{011D}{\^g}
+ \DeclareUnicodeCharacter{011E}{\u{G}}
+ \DeclareUnicodeCharacter{011F}{\u{g}}
+
+ \DeclareUnicodeCharacter{0120}{\dotaccent{G}}
+ \DeclareUnicodeCharacter{0121}{\dotaccent{g}}
+ \DeclareUnicodeCharacter{0124}{\^H}
+ \DeclareUnicodeCharacter{0125}{\^h}
+ \DeclareUnicodeCharacter{0128}{\~I}
+ \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
+ \DeclareUnicodeCharacter{012A}{\=I}
+ \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
+ \DeclareUnicodeCharacter{012C}{\u{I}}
+ \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
+
+ \DeclareUnicodeCharacter{0130}{\dotaccent{I}}
+ \DeclareUnicodeCharacter{0131}{\dotless{i}}
+ \DeclareUnicodeCharacter{0132}{IJ}
+ \DeclareUnicodeCharacter{0133}{ij}
+ \DeclareUnicodeCharacter{0134}{\^J}
+ \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
+ \DeclareUnicodeCharacter{0139}{\'L}
+ \DeclareUnicodeCharacter{013A}{\'l}
+
+ \DeclareUnicodeCharacter{0141}{\L}
+ \DeclareUnicodeCharacter{0142}{\l}
+ \DeclareUnicodeCharacter{0143}{\'N}
+ \DeclareUnicodeCharacter{0144}{\'n}
+ \DeclareUnicodeCharacter{0147}{\v{N}}
+ \DeclareUnicodeCharacter{0148}{\v{n}}
+ \DeclareUnicodeCharacter{014C}{\=O}
+ \DeclareUnicodeCharacter{014D}{\=o}
+ \DeclareUnicodeCharacter{014E}{\u{O}}
+ \DeclareUnicodeCharacter{014F}{\u{o}}
+
+ \DeclareUnicodeCharacter{0150}{\H{O}}
+ \DeclareUnicodeCharacter{0151}{\H{o}}
+ \DeclareUnicodeCharacter{0152}{\OE}
+ \DeclareUnicodeCharacter{0153}{\oe}
+ \DeclareUnicodeCharacter{0154}{\'R}
+ \DeclareUnicodeCharacter{0155}{\'r}
+ \DeclareUnicodeCharacter{0158}{\v{R}}
+ \DeclareUnicodeCharacter{0159}{\v{r}}
+ \DeclareUnicodeCharacter{015A}{\'S}
+ \DeclareUnicodeCharacter{015B}{\'s}
+ \DeclareUnicodeCharacter{015C}{\^S}
+ \DeclareUnicodeCharacter{015D}{\^s}
+ \DeclareUnicodeCharacter{015E}{\cedilla{S}}
+ \DeclareUnicodeCharacter{015F}{\cedilla{s}}
+
+ \DeclareUnicodeCharacter{0160}{\v{S}}
+ \DeclareUnicodeCharacter{0161}{\v{s}}
+ \DeclareUnicodeCharacter{0162}{\cedilla{t}}
+ \DeclareUnicodeCharacter{0163}{\cedilla{T}}
+ \DeclareUnicodeCharacter{0164}{\v{T}}
+
+ \DeclareUnicodeCharacter{0168}{\~U}
+ \DeclareUnicodeCharacter{0169}{\~u}
+ \DeclareUnicodeCharacter{016A}{\=U}
+ \DeclareUnicodeCharacter{016B}{\=u}
+ \DeclareUnicodeCharacter{016C}{\u{U}}
+ \DeclareUnicodeCharacter{016D}{\u{u}}
+ \DeclareUnicodeCharacter{016E}{\ringaccent{U}}
+ \DeclareUnicodeCharacter{016F}{\ringaccent{u}}
+
+ \DeclareUnicodeCharacter{0170}{\H{U}}
+ \DeclareUnicodeCharacter{0171}{\H{u}}
+ \DeclareUnicodeCharacter{0174}{\^W}
+ \DeclareUnicodeCharacter{0175}{\^w}
+ \DeclareUnicodeCharacter{0176}{\^Y}
+ \DeclareUnicodeCharacter{0177}{\^y}
+ \DeclareUnicodeCharacter{0178}{\"Y}
+ \DeclareUnicodeCharacter{0179}{\'Z}
+ \DeclareUnicodeCharacter{017A}{\'z}
+ \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}
+ \DeclareUnicodeCharacter{017C}{\dotaccent{z}}
+ \DeclareUnicodeCharacter{017D}{\v{Z}}
+ \DeclareUnicodeCharacter{017E}{\v{z}}
+
+ \DeclareUnicodeCharacter{01C4}{D\v{Z}}
+ \DeclareUnicodeCharacter{01C5}{D\v{z}}
+ \DeclareUnicodeCharacter{01C6}{d\v{z}}
+ \DeclareUnicodeCharacter{01C7}{LJ}
+ \DeclareUnicodeCharacter{01C8}{Lj}
+ \DeclareUnicodeCharacter{01C9}{lj}
+ \DeclareUnicodeCharacter{01CA}{NJ}
+ \DeclareUnicodeCharacter{01CB}{Nj}
+ \DeclareUnicodeCharacter{01CC}{nj}
+ \DeclareUnicodeCharacter{01CD}{\v{A}}
+ \DeclareUnicodeCharacter{01CE}{\v{a}}
+ \DeclareUnicodeCharacter{01CF}{\v{I}}
+
+ \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}
+ \DeclareUnicodeCharacter{01D1}{\v{O}}
+ \DeclareUnicodeCharacter{01D2}{\v{o}}
+ \DeclareUnicodeCharacter{01D3}{\v{U}}
+ \DeclareUnicodeCharacter{01D4}{\v{u}}
+
+ \DeclareUnicodeCharacter{01E2}{\={\AE}}
+ \DeclareUnicodeCharacter{01E3}{\={\ae}}
+ \DeclareUnicodeCharacter{01E6}{\v{G}}
+ \DeclareUnicodeCharacter{01E7}{\v{g}}
+ \DeclareUnicodeCharacter{01E8}{\v{K}}
+ \DeclareUnicodeCharacter{01E9}{\v{k}}
+
+ \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}
+ \DeclareUnicodeCharacter{01F1}{DZ}
+ \DeclareUnicodeCharacter{01F2}{Dz}
+ \DeclareUnicodeCharacter{01F3}{dz}
+ \DeclareUnicodeCharacter{01F4}{\'G}
+ \DeclareUnicodeCharacter{01F5}{\'g}
+ \DeclareUnicodeCharacter{01F8}{\`N}
+ \DeclareUnicodeCharacter{01F9}{\`n}
+ \DeclareUnicodeCharacter{01FC}{\'{\AE}}
+ \DeclareUnicodeCharacter{01FD}{\'{\ae}}
+ \DeclareUnicodeCharacter{01FE}{\'{\O}}
+ \DeclareUnicodeCharacter{01FF}{\'{\o}}
+
+ \DeclareUnicodeCharacter{021E}{\v{H}}
+ \DeclareUnicodeCharacter{021F}{\v{h}}
+
+ \DeclareUnicodeCharacter{0226}{\dotaccent{A}}
+ \DeclareUnicodeCharacter{0227}{\dotaccent{a}}
+ \DeclareUnicodeCharacter{0228}{\cedilla{E}}
+ \DeclareUnicodeCharacter{0229}{\cedilla{e}}
+ \DeclareUnicodeCharacter{022E}{\dotaccent{O}}
+ \DeclareUnicodeCharacter{022F}{\dotaccent{o}}
+
+ \DeclareUnicodeCharacter{0232}{\=Y}
+ \DeclareUnicodeCharacter{0233}{\=y}
+ \DeclareUnicodeCharacter{0237}{\dotless{j}}
+
+ \DeclareUnicodeCharacter{02DB}{\ogonek{ }}
+
+ \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
+ \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
+ \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
+ \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}
+ \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}
+ \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}
+ \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}
+ \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}
+ \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}
+ \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}
+ \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}
+ \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}
+
+ \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}
+ \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}
+
+ \DeclareUnicodeCharacter{1E20}{\=G}
+ \DeclareUnicodeCharacter{1E21}{\=g}
+ \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}
+ \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}
+ \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}
+ \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}
+ \DeclareUnicodeCharacter{1E26}{\"H}
+ \DeclareUnicodeCharacter{1E27}{\"h}
+
+ \DeclareUnicodeCharacter{1E30}{\'K}
+ \DeclareUnicodeCharacter{1E31}{\'k}
+ \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}
+ \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}
+ \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}
+ \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}
+ \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}
+ \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}
+ \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}
+ \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}
+ \DeclareUnicodeCharacter{1E3E}{\'M}
+ \DeclareUnicodeCharacter{1E3F}{\'m}
+
+ \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}
+ \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}
+ \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}
+ \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}
+ \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}
+ \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}
+ \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}
+ \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}
+ \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}
+ \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}
+
+ \DeclareUnicodeCharacter{1E54}{\'P}
+ \DeclareUnicodeCharacter{1E55}{\'p}
+ \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}
+ \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}
+ \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}
+ \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}
+ \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}
+ \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}
+ \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}
+ \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}
+
+ \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}
+ \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}
+ \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}
+ \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}
+ \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}
+ \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}
+ \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}
+ \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}
+ \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}
+ \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}
+
+ \DeclareUnicodeCharacter{1E7C}{\~V}
+ \DeclareUnicodeCharacter{1E7D}{\~v}
+ \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}
+ \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}
+
+ \DeclareUnicodeCharacter{1E80}{\`W}
+ \DeclareUnicodeCharacter{1E81}{\`w}
+ \DeclareUnicodeCharacter{1E82}{\'W}
+ \DeclareUnicodeCharacter{1E83}{\'w}
+ \DeclareUnicodeCharacter{1E84}{\"W}
+ \DeclareUnicodeCharacter{1E85}{\"w}
+ \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}
+ \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}
+ \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}
+ \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}
+ \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}
+ \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}
+ \DeclareUnicodeCharacter{1E8C}{\"X}
+ \DeclareUnicodeCharacter{1E8D}{\"x}
+ \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}
+ \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}
+
+ \DeclareUnicodeCharacter{1E90}{\^Z}
+ \DeclareUnicodeCharacter{1E91}{\^z}
+ \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}
+ \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}
+ \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}
+ \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}
+ \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}
+ \DeclareUnicodeCharacter{1E97}{\"t}
+ \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}
+ \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}
+
+ \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}
+ \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}
+
+ \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}
+ \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}
+ \DeclareUnicodeCharacter{1EBC}{\~E}
+ \DeclareUnicodeCharacter{1EBD}{\~e}
+
+ \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}
+ \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}
+ \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}
+ \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}
+
+ \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}
+ \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}
+
+ \DeclareUnicodeCharacter{1EF2}{\`Y}
+ \DeclareUnicodeCharacter{1EF3}{\`y}
+ \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}
+
+ \DeclareUnicodeCharacter{1EF8}{\~Y}
+ \DeclareUnicodeCharacter{1EF9}{\~y}
+
+ \DeclareUnicodeCharacter{2013}{--}
+ \DeclareUnicodeCharacter{2014}{---}
+ \DeclareUnicodeCharacter{2018}{\quoteleft}
+ \DeclareUnicodeCharacter{2019}{\quoteright}
+ \DeclareUnicodeCharacter{201A}{\quotesinglbase}
+ \DeclareUnicodeCharacter{201C}{\quotedblleft}
+ \DeclareUnicodeCharacter{201D}{\quotedblright}
+ \DeclareUnicodeCharacter{201E}{\quotedblbase}
+ \DeclareUnicodeCharacter{2022}{\bullet}
+ \DeclareUnicodeCharacter{2026}{\dots}
+ \DeclareUnicodeCharacter{2039}{\guilsinglleft}
+ \DeclareUnicodeCharacter{203A}{\guilsinglright}
+ \DeclareUnicodeCharacter{20AC}{\euro}
+
+ \DeclareUnicodeCharacter{2192}{\expansion}
+ \DeclareUnicodeCharacter{21D2}{\result}
+
+ \DeclareUnicodeCharacter{2212}{\minus}
+ \DeclareUnicodeCharacter{2217}{\point}
+ \DeclareUnicodeCharacter{2261}{\equiv}
+}% end of \utfeightchardefs
+
+
+% US-ASCII character definitions.
+\def\asciichardefs{% nothing need be done
+ \relax
+}
+
+% Make non-ASCII characters printable again for compatibility with
+% existing Texinfo documents that may use them, even without declaring a
+% document encoding.
+%
+\setnonasciicharscatcode \other
+
+
+\message{formatting,}
+
\newdimen\defaultparindent \defaultparindent = 15pt
\chapheadingskip = 15pt plus 4pt minus 2pt
@@ -6334,7 +8861,7 @@ should work if nowhere else does.}
% Don't be so finicky about underfull hboxes, either.
\hbadness = 2000
-% Following George Bush, just get rid of widows and orphans.
+% Following George Bush, get rid of widows and orphans.
\widowpenalty=10000
\clubpenalty=10000
@@ -6352,10 +8879,10 @@ should work if nowhere else does.}
\fi
}
-% Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
-% 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8)
-% physical page width.
-%
+% Parameters in order: 1) textheight; 2) textwidth;
+% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip;
+% 7) physical page height; 8) physical page width.
+%
% We also call \setleading{\textleading}, so the caller should define
% \textleading. The caller should also set \parskip.
%
@@ -6381,6 +8908,10 @@ should work if nowhere else does.}
\ifpdf
\pdfpageheight #7\relax
\pdfpagewidth #8\relax
+ % if we don't reset these, they will remain at "1 true in" of
+ % whatever layout pdftex was dumped with.
+ \pdfhorigin = 1 true in
+ \pdfvorigin = 1 true in
\fi
%
\setleading{\textleading}
@@ -6395,19 +8926,19 @@ should work if nowhere else does.}
\textleading = 13.2pt
%
% If page is nothing but text, make it come out even.
- \internalpagesizes{46\baselineskip}{6in}%
+ \internalpagesizes{607.2pt}{6in}% that's 46 lines
{\voffset}{.25in}%
{\bindingoffset}{36pt}%
{11in}{8.5in}%
}}
-% Use @smallbook to reset parameters for 7x9.5 (or so) format.
+% Use @smallbook to reset parameters for 7x9.25 trim size.
\def\smallbook{{\globaldefs = 1
\parskip = 2pt plus 1pt
\textleading = 12pt
%
\internalpagesizes{7.5in}{5in}%
- {\voffset}{.25in}%
+ {-.2in}{0in}%
{\bindingoffset}{16pt}%
{9.25in}{7in}%
%
@@ -6418,12 +8949,30 @@ should work if nowhere else does.}
\defbodyindent = .5cm
}}
+% Use @smallerbook to reset parameters for 6x9 trim size.
+% (Just testing, parameters still in flux.)
+\def\smallerbook{{\globaldefs = 1
+ \parskip = 1.5pt plus 1pt
+ \textleading = 12pt
+ %
+ \internalpagesizes{7.4in}{4.8in}%
+ {-.2in}{-.4in}%
+ {0pt}{14pt}%
+ {9in}{6in}%
+ %
+ \lispnarrowing = 0.25in
+ \tolerance = 700
+ \hfuzz = 1pt
+ \contentsrightmargin = 0pt
+ \defbodyindent = .4cm
+}}
+
% Use @afourpaper to print on European A4 paper.
\def\afourpaper{{\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt
\textleading = 13.2pt
%
- % Double-side printing via postscript on Laserjet 4050
+ % Double-side printing via postscript on Laserjet 4050
% prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
% To change the settings for a different printer or situation, adjust
% \normaloffset until the front-side and back-side texts align. Then
@@ -6433,7 +8982,7 @@ should work if nowhere else does.}
% \global\normaloffset = -6mm
% \global\bindingoffset = 10mm
% @end tex
- \internalpagesizes{51\baselineskip}{160mm}
+ \internalpagesizes{673.2pt}{160mm}% that's 51 lines
{\voffset}{\hoffset}%
{\bindingoffset}{44pt}%
{297mm}{210mm}%
@@ -6464,7 +9013,7 @@ should work if nowhere else does.}
\tableindent = 12mm
}}
-% A specific text layout, 24x15cm overall, intended for A4 paper.
+% A specific text layout, 24x15cm overall, intended for A4 paper.
\def\afourlatex{{\globaldefs = 1
\afourpaper
\internalpagesizes{237mm}{150mm}%
@@ -6490,8 +9039,7 @@ should work if nowhere else does.}
% Perhaps we should allow setting the margins, \topskip, \parskip,
% and/or leading, also. Or perhaps we should compute them somehow.
%
-\def\pagesizes{\parsearg\pagesizesxxx}
-\def\pagesizesxxx#1{\pagesizesyyy #1,,\finish}
+\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
\def\pagesizesyyy#1,#2,#3\finish{{%
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
\globaldefs = 1
@@ -6499,7 +9047,7 @@ should work if nowhere else does.}
\parskip = 3pt plus 2pt minus 1pt
\setleading{\textleading}%
%
- \dimen0 = #1
+ \dimen0 = #1\relax
\advance\dimen0 by \voffset
%
\dimen2 = \hsize
@@ -6518,6 +9066,9 @@ should work if nowhere else does.}
\message{and turning on texinfo input format.}
+% DEL is a comment character, in case @c does not suffice.
+\catcode`\^^? = 14
+
% Define macros to output various characters with catcode for normal text.
\catcode`\"=\other
\catcode`\~=\other
@@ -6538,8 +9089,8 @@ should work if nowhere else does.}
\def\normalplus{+}
\def\normaldollar{$}%$ font-lock fix
-% This macro is used to make a character print one way in ttfont
-% where it can probably just be output, and another way in other fonts,
+% This macro is used to make a character print one way in \tt
+% (where it can probably be output as-is), and another way in other fonts,
% where something hairier probably needs to be done.
%
% #1 is what to print if we are indeed using \tt; #2 is what to print
@@ -6571,6 +9122,7 @@ should work if nowhere else does.}
\catcode`\_=\active
\def_{\ifusingtt\normalunderscore\_}
+\let\realunder=_
% Subroutine for the previous macro.
\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
@@ -6587,46 +9139,49 @@ should work if nowhere else does.}
\catcode`\$=\active
\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
-% Set up an active definition for =, but don't enable it most of the time.
-{\catcode`\==\active
-\global\def={{\tt \char 61}}}
-
-\catcode`+=\active
-\catcode`\_=\active
-
% If a .fmt file is being used, characters that might appear in a file
% name cannot be active until we have parsed the command line.
% So turn them off again, and have \everyjob (or @setfilename) turn them on.
% \otherifyactive is called near the end of this file.
\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
+% Used sometimes to turn off (effectively) the active characters even after
+% parsing them.
+\def\turnoffactive{%
+ \normalturnoffactive
+ \otherbackslash
+}
+
\catcode`\@=0
-% \rawbackslashxx outputs one backslash character in current font,
+% \backslashcurfont outputs one backslash character in current font,
% as in \char`\\.
-\global\chardef\rawbackslashxx=`\\
-
-% \rawbackslash defines an active \ to do \rawbackslashxx.
-% \otherbackslash defines an active \ to be a literal `\' character with
-% catcode other.
-{\catcode`\\=\active
- @gdef@rawbackslash{@let\=@rawbackslashxx}
- @gdef@otherbackslash{@let\=@realbackslash}
-}
+\global\chardef\backslashcurfont=`\\
+\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work
-% \realbackslash is an actual character `\' with catcode other.
-{\catcode`\\=\other @gdef@realbackslash{\}}
-
-% \normalbackslash outputs one backslash in fixed width font.
-\def\normalbackslash{{\tt\rawbackslashxx}}
+% \realbackslash is an actual character `\' with catcode other, and
+% \doublebackslash is two of them (for the pdf outlines).
+{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
+% In texinfo, backslash is an active character; it prints the backslash
+% in fixed width font.
\catcode`\\=\active
+@def@normalbackslash{{@tt@backslashcurfont}}
+% On startup, @fixbackslash assigns:
+% @let \ = @normalbackslash
+
+% \rawbackslash defines an active \ to do \backslashcurfont.
+% \otherbackslash defines an active \ to be a literal `\' character with
+% catcode other.
+@gdef@rawbackslash{@let\=@backslashcurfont}
+@gdef@otherbackslash{@let\=@realbackslash}
-% Used sometimes to turn off (effectively) the active characters
-% even after parsing them.
-@def@turnoffactive{%
+% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
+% the literal character `\'.
+%
+@def@normalturnoffactive{%
+ @let\=@normalbackslash
@let"=@normaldoublequote
- @let\=@realbackslash
@let~=@normaltilde
@let^=@normalcaret
@let_=@normalunderscore
@@ -6635,14 +9190,11 @@ should work if nowhere else does.}
@let>=@normalgreater
@let+=@normalplus
@let$=@normaldollar %$ font-lock fix
+ @markupsetuplqdefault
+ @markupsetuprqdefault
+ @unsepspaces
}
-% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
-% the literal character `\'. (Thus, \ is not expandable when this is in
-% effect.)
-%
-@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}
-
% Make _ and + \other characters, temporarily.
% This is canceled by @fixbackslash.
@otherifyactive
@@ -6655,9 +9207,9 @@ should work if nowhere else does.}
@global@let\ = @eatinput
% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-% the first `\{ in the file would cause an error. This macro tries to fix
+% the first `\' in the file would cause an error. This macro tries to fix
% that, assuming it is called before the first `\' could plausibly occur.
-% Also back turn on active characters that might appear in the input
+% Also turn back on active characters that might appear in the input
% file name, in case not using a pre-dumped format.
%
@gdef@fixbackslash{%
@@ -6669,16 +9221,20 @@ should work if nowhere else does.}
% Say @foo, not \foo, in error messages.
@escapechar = `@@
-% These look ok in all fonts, so just make them not special.
+% These look ok in all fonts, so just make them not special.
@catcode`@& = @other
@catcode`@# = @other
@catcode`@% = @other
-@c Set initial fonts.
-@textfonts
-@rm
-
-
+@c Finally, make ` and ' active, so that txicodequoteundirected and
+@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
+@c don't make ` and ' active, @code will not get them as active chars.
+@c Do this last of all since we use ` in the previous @catcode assignments.
+@catcode`@'=@active
+@catcode`@`=@active
+@markupsetuplqdefault
+@markupsetuprqdefault
+
@c Local variables:
@c eval: (add-hook 'write-file-hooks 'time-stamp)
@c page-delimiter: "^\\\\message"
@@ -6686,3 +9242,9 @@ should work if nowhere else does.}
@c time-stamp-format: "%:y-%02m-%02d.%02H"
@c time-stamp-end: "}"
@c End:
+
+@c vim:sw=2:
+
+@ignore
+ arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
+@end ignore
diff --git a/doc/version.texi b/doc/version.texi
index 913a62e..823b3ba 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -2,9 +2,9 @@
Copyright (C) 1988-2009 Free Software Foundation, Inc.
@end ignore
-@set EDITION 6.0
-@set VERSION 6.0
-@set UPDATED 28 October 2008
-@set UPDATED-MONTH October 2008
+@set EDITION 6.1
+@set VERSION 6.1
+@set UPDATED 9 October 2009
+@set UPDATED-MONTH October 2009
-@set LASTCHANGE Tue Oct 28 11:25:24 EDT 2008
+@set LASTCHANGE Fri Oct 9 12:57:58 EDT 2009
diff --git a/examples/rlfe/Makefile.in b/examples/rlfe/Makefile.in
index 1b49ab9..7d6fd53 100644
--- a/examples/rlfe/Makefile.in
+++ b/examples/rlfe/Makefile.in
@@ -55,7 +55,7 @@ rlfe-$(VERSION).tar.gz:
tar czf $@ $(CFILES) $(HFILES) $(EXTRA_DIST)
.c.o:
- $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CFLAGS) $<
+ $(CC) -c -I. -I$(srcdir) $(CPPFLAGS) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CFLAGS) $<
install_bin: .version screen
-if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \
@@ -68,7 +68,6 @@ install_bin: .version screen
(cd $(DESTDIR)$(bindir) && ln -sf $(SCREEN) screen)
cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS)
-
uninstall: .version
rm -f $(DESTDIR)$(bindir)/$(SCREEN)
rm -f $(DESTDIR)$(bindir)/screen
@@ -170,6 +169,15 @@ depend.in: $(CFILES) term.h
for i in $(CFILES); do echo $$i; $(CPP_DEPEND) $$i >> tmp_make; done
mv tmp_make Makefile.in
+Makefile makefile: config.status $(srcdir)/Makefile.in
+ CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
+
+config.status: $(srcdir)/configure
+ $(SHELL) ./config.status --recheck
+
+$(srcdir)/configure: $(srcdir)/configure.in
+ cd $(srcdir) && autoconf
+
###############################################################################
### Dependencies:
diff --git a/examples/rlfe/configure b/examples/rlfe/configure
index ba82026..17e902c 100755
--- a/examples/rlfe/configure
+++ b/examples/rlfe/configure
@@ -1,25 +1,82 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
+# Generated by GNU Autoconf 2.63.
#
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
-DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -29,33 +86,60 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -63,157 +147,391 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+# CDPATH.
+$as_unset CDPATH
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
fi
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
+ case $as_dir in
/*)
- if ("$as_dir/$as_base" -c '
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-if expr a : '\(a\)' >/dev/null 2>&1; then
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -222,7 +540,28 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -231,39 +570,27 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
+exec 7<&0 </dev/null 6>&1
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-exec 6>&1
-
#
# Initializations.
#
ac_default_prefix=/usr/local
+ac_clean_files=
ac_config_libobj_dir=.
+LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
# Identity of this package.
PACKAGE_NAME=
PACKAGE_TARNAME=
@@ -272,12 +599,117 @@ PACKAGE_STRING=
PACKAGE_BUGREPORT=
ac_unique_file="rlfe.c"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS VERSION CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AWK WRITEPATH XTERMPATH LIBOBJS LTLIBOBJS'
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+XTERMPATH
+WRITEPATH
+AWK
+EGREP
+GREP
+CPP
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+VERSION
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+with_pty_mode
+with_pty_group
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
+
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -300,34 +732,48 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
ac_prev=
+ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
+ eval $ac_prev=\$ac_option
ac_prev=
continue
fi
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
# Accept the important Cygnus configure options, so we can diagnose typos.
- case $ac_option in
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -349,33 +795,61 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ -datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -402,6 +876,12 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -426,13 +906,16 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
+ | --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -497,6 +980,16 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -547,26 +1040,38 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
esac
- eval "with_$ac_package='$ac_optarg'" ;;
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
@@ -586,7 +1091,7 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
@@ -595,17 +1100,16 @@ Try \`$0 --help' for more information." >&2
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
+ eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
@@ -614,31 +1118,39 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
-done
+fi
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
do
- eval ac_val=$`echo $ac_var`
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
done
# There might be people who depend on the old broken behavior: `$host'
@@ -652,7 +1164,7 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
@@ -665,74 +1177,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
+ if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
- fi
fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
#
# Report the --help message.
@@ -761,14 +1275,11 @@ Configuration:
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
-_ACEOF
-
- cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -778,18 +1289,25 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -811,126 +1329,97 @@ Some influential environment variables:
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
_ACEOF
+ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.63
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
- exit 0
+ exit
fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
_ACEOF
+exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -949,7 +1438,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -961,8 +1450,9 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
+ $as_echo "PATH: $as_dir"
done
+IFS=$as_save_IFS
} >&5
@@ -984,7 +1474,6 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
-ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -995,8 +1484,8 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1017,9 +1506,7 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
+ ac_configure_args="$ac_configure_args '$ac_arg'"
;;
esac
done
@@ -1030,8 +1517,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
@@ -1044,20 +1531,35 @@ trap 'exit_status=$?
_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
(set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
*)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-}
+ esac |
+ sort
+)
echo
cat <<\_ASBOX
@@ -1068,22 +1570,28 @@ _ASBOX
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
_ASBOX
echo
for ac_var in $ac_subst_files
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1095,26 +1603,24 @@ _ASBOX
## ----------- ##
_ASBOX
echo
- sed "/^$/d" confdefs.h | sort
+ cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
} >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
- ' 0
+' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
# Predefined preprocessor variables.
@@ -1144,18 +1650,24 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
fi
-for ac_site_file in $CONFIG_SITE; do
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
@@ -1165,54 +1677,61 @@ if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1222,19 +1741,15 @@ echo "$as_me: current value: $ac_new_val" >&2;}
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
@@ -1251,9 +1766,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
- ac_config_headers="$ac_config_headers config.h"
+ac_config_headers="$ac_config_headers config.h"
VERSION=0.4
@@ -1268,10 +1788,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1282,34 +1802,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -1320,38 +1842,49 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1362,76 +1895,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
+ fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1443,17 +1936,18 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -1471,24 +1965,25 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1499,38 +1994,40 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -1541,58 +2038,90 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$ac_ct_CC" && break
done
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
fi
fi
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
@@ -1611,111 +2140,150 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link_default") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
break;;
* )
break;;
esac
done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
else
- echo "$as_me: failed program was:" >&5
+ ac_file=''
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
+$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
fi
ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
+$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
fi
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
@@ -1724,32 +2292,33 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
break;;
* ) break;;
esac
done
else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -1767,39 +2336,48 @@ main ()
}
_ACEOF
rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -1820,50 +2398,54 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -1879,38 +2461,121 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cc_g=no
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -1926,12 +2591,12 @@ else
CFLAGS=
fi
fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- ac_cv_prog_cc_stdc=no
+ ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -1965,12 +2630,17 @@ static char *f (char * (*g) (char **, int), char **p, ...)
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
+ as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
+ that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -1985,205 +2655,58 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
return 0;
}
_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
*)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2195,15 +2718,15 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
@@ -2230,35 +2753,35 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2268,34 +2791,34 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -2313,8 +2836,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -2337,35 +2860,35 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2375,34 +2898,34 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -2411,11 +2934,13 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
ac_ext=c
@@ -2426,26 +2951,145 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
if test $ac_cv_c_compiler_gnu = yes; then
- echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5
-echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5
+$as_echo_n "checking whether $CC needs -traditional... " >&6; }
if test "${ac_cv_prog_gcc_traditional+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_pattern="Autoconf.*'x'"
cat >conftest.$ac_ext <<_ACEOF
@@ -2484,20 +3128,19 @@ rm -f conftest*
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5
-echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5
+$as_echo "$ac_cv_prog_gcc_traditional" >&6; }
if test $ac_cv_prog_gcc_traditional = yes; then
CC="$CC -traditional"
fi
fi
-echo "$as_me:$LINENO: checking for library containing strerror" >&5
-echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
if test "${ac_cv_search_strerror+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
-ac_cv_search_strerror=no
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -2505,125 +3148,89 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char strerror ();
int
main ()
{
-strerror ();
+return strerror ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+for ac_lib in '' cposix; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_strerror="none required"
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_search_strerror=$ac_res
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_strerror" = no; then
- for ac_lib in cposix; do
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char strerror ();
-int
-main ()
-{
-strerror ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_strerror="-l$ac_lib"
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_strerror+set}" = set; then
+ break
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- done
+done
+if test "${ac_cv_search_strerror+set}" = set; then
+ :
+else
+ ac_cv_search_strerror=no
fi
+rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
-echo "${ECHO_T}$ac_cv_search_strerror" >&6
-if test "$ac_cv_search_strerror" != no; then
- test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
+$as_echo "$as_me: error: cannot run test program while cross compiling
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2634,20 +3241,31 @@ cat >>conftest.$ac_ext <<_ACEOF
main(){exit(0);}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
@@ -2663,15 +3281,20 @@ exec $0 $configure_args
fi
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
+$as_echo "$as_me: error: cannot run test program while cross compiling
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2682,20 +3305,31 @@ cat >>conftest.$ac_ext <<_ACEOF
main(){exit(0);}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
@@ -2705,19 +3339,24 @@ echo "CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;" 1>&6
echo "$ac_compile" 1>&6
-{ { echo "$as_me:$LINENO: error: Can't run the compiler - sorry" >&5
-echo "$as_me: error: Can't run the compiler - sorry" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: Can't run the compiler - sorry" >&5
+$as_echo "$as_me: error: Can't run the compiler - sorry" >&2;}
{ (exit 1); exit 1; }; }
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
+$as_echo "$as_me: error: cannot run test program while cross compiling
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2734,36 +3373,50 @@ main()
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- { { echo "$as_me:$LINENO: error: Your compiler does not set the exit status - sorry" >&5
-echo "$as_me: error: Your compiler does not set the exit status - sorry" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: Your compiler does not set the exit status - sorry" >&5
+$as_echo "$as_me: error: Your compiler does not set the exit status - sorry" >&2;}
{ (exit 1); exit 1; }; }
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -2774,38 +3427,40 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$AWK" && break
done
if test -f etc/toolcheck; then
-{ echo "$as_me:$LINENO: checking for buggy tools..." >&5
-echo "$as_me: checking for buggy tools..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking for buggy tools..." >&5
+$as_echo "$as_me: checking for buggy tools..." >&6;}
sh etc/toolcheck 1>&6
fi
-{ echo "$as_me:$LINENO: checking for System V..." >&5
-echo "$as_me: checking for System V..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking for System V..." >&5
+$as_echo "$as_me: checking for System V..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -2824,41 +3479,38 @@ int x = SIGCHLD | FNDELAY;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-cat >>confdefs.h <<\_ACEOF
+ cat >>confdefs.h <<\_ACEOF
#define SYSV 1
_ACEOF
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking for Solaris 2.x..." >&5
-echo "$as_me: checking for Solaris 2.x..." >&6;}
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:$LINENO: checking for Solaris 2.x..." >&5
+$as_echo "$as_me: checking for Solaris 2.x..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -2878,8 +3530,8 @@ rm -f conftest*
-{ echo "$as_me:$LINENO: checking select..." >&5
-echo "$as_me: checking select..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking select..." >&5
+$as_echo "$as_me: checking select..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -2896,35 +3548,34 @@ select(0, 0, 0, 0, 0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-LIBS="$LIBS -lnet -lnsl"
-{ echo "$as_me:$LINENO: checking select with $LIBS..." >&5
-echo "$as_me: checking select with $LIBS..." >&6;}
+ LIBS="$LIBS -lnet -lnsl"
+{ $as_echo "$as_me:$LINENO: checking select with $LIBS..." >&5
+$as_echo "$as_me: checking select with $LIBS..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -2941,51 +3592,56 @@ select(0, 0, 0, 0, 0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: !!! no select - no screen" >&5
-echo "$as_me: error: !!! no select - no screen" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: !!! no select - no screen" >&5
+$as_echo "$as_me: error: !!! no select - no screen" >&2;}
{ (exit 1); exit 1; }; }
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking select return value..." >&5
-echo "$as_me: checking select return value..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking select return value..." >&5
+$as_echo "$as_me: checking select return value..." >&6;}
if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
+$as_echo "$as_me: error: cannot run test program while cross compiling
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3094,21 +3750,32 @@ main()
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
echo "- select is ok" 1>&6
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
@@ -3118,11 +3785,14 @@ echo "- select can't count" 1>&6
_ACEOF
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: checking for tgetent..." >&5
-echo "$as_me: checking for tgetent..." >&6;}
+
+
+{ $as_echo "$as_me:$LINENO: checking for tgetent..." >&5
+$as_echo "$as_me: checking for tgetent..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -3139,36 +3809,35 @@ tgetent((char *)0, (char *)0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-olibs="$LIBS"
+ olibs="$LIBS"
LIBS="-lcurses $olibs"
-{ echo "$as_me:$LINENO: checking libcurses..." >&5
-echo "$as_me: checking libcurses..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking libcurses..." >&5
+$as_echo "$as_me: checking libcurses..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -3191,35 +3860,34 @@ tgetent((char *)0, (char *)0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-LIBS="-ltermcap $olibs"
-{ echo "$as_me:$LINENO: checking libtermcap..." >&5
-echo "$as_me: checking libtermcap..." >&6;}
+ LIBS="-ltermcap $olibs"
+{ $as_echo "$as_me:$LINENO: checking libtermcap..." >&5
+$as_echo "$as_me: checking libtermcap..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -3236,35 +3904,34 @@ tgetent((char *)0, (char *)0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-LIBS="-ltermlib $olibs"
-{ echo "$as_me:$LINENO: checking libtermlib..." >&5
-echo "$as_me: checking libtermlib..." >&6;}
+ LIBS="-ltermlib $olibs"
+{ $as_echo "$as_me:$LINENO: checking libtermlib..." >&5
+$as_echo "$as_me: checking libtermlib..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -3281,35 +3948,34 @@ tgetent((char *)0, (char *)0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-LIBS="-lncurses $olibs"
-{ echo "$as_me:$LINENO: checking libncurses..." >&5
-echo "$as_me: checking libncurses..." >&6;}
+ LIBS="-lncurses $olibs"
+{ $as_echo "$as_me:$LINENO: checking libncurses..." >&5
+$as_echo "$as_me: checking libncurses..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -3326,57 +3992,68 @@ tgetent((char *)0, (char *)0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: !!! no tgetent - no screen" >&5
-echo "$as_me: error: !!! no tgetent - no screen" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: !!! no tgetent - no screen" >&5
+$as_echo "$as_me: error: !!! no tgetent - no screen" >&2;}
{ (exit 1); exit 1; }; }
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
+$as_echo "$as_me: error: cannot run test program while cross compiling
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3391,21 +4068,32 @@ main()
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
echo "- you use the termcap database" 1>&6
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
@@ -3415,10 +4103,13 @@ echo "- you use the terminfo database" 1>&6
_ACEOF
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: checking ospeed..." >&5
-echo "$as_me: checking ospeed..." >&6;}
+
+
+{ $as_echo "$as_me:$LINENO: checking ospeed..." >&5
+$as_echo "$as_me: checking ospeed..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -3435,42 +4126,43 @@ ospeed=5;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-cat >>confdefs.h <<\_ACEOF
+ cat >>confdefs.h <<\_ACEOF
#define NEED_OSPEED 1
_ACEOF
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking for /dev/ptc..." >&5
-echo "$as_me: checking for /dev/ptc..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking for /dev/ptc..." >&5
+$as_echo "$as_me: checking for /dev/ptc..." >&6;}
if test -r /dev/ptc; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_DEV_PTC 1
@@ -3478,8 +4170,8 @@ _ACEOF
fi
-{ echo "$as_me:$LINENO: checking for SVR4 ptys..." >&5
-echo "$as_me: checking for SVR4 ptys..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking for SVR4 ptys..." >&5
+$as_echo "$as_me: checking for SVR4 ptys..." >&6;}
sysvr4ptys=
if test -c /dev/ptmx ; then
cat >conftest.$ac_ext <<_ACEOF
@@ -3498,49 +4190,51 @@ ptsname(0);grantpt(0);unlockpt(0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_SVR4_PTYS 1
_ACEOF
sysvr4ptys=1
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
for ac_func in getpt
do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3565,71 +4259,70 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef $ac_func
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char $ac_func ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != $ac_func;
+return $ac_func ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
eval "$as_ac_var=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_var=no"
+ eval "$as_ac_var=no"
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
fi
@@ -3640,11 +4333,11 @@ if test -z "$sysvr4ptys"; then
for ac_func in openpty
do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3669,78 +4362,77 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef $ac_func
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char $ac_func ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != $ac_func;
+return $ac_func ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
eval "$as_ac_var=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_var=no"
+ eval "$as_ac_var=no"
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
else
- echo "$as_me:$LINENO: checking for openpty in -lutil" >&5
-echo $ECHO_N "checking for openpty in -lutil... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for openpty in -lutil" >&5
+$as_echo_n "checking for openpty in -lutil... " >&6; }
if test "${ac_cv_lib_util_openpty+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lutil $LIBS"
@@ -3751,57 +4443,58 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char openpty ();
int
main ()
{
-openpty ();
+return openpty ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_util_openpty=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_util_openpty=no
+ ac_cv_lib_util_openpty=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_util_openpty" >&5
-echo "${ECHO_T}$ac_cv_lib_util_openpty" >&6
-if test $ac_cv_lib_util_openpty = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_util_openpty" >&5
+$as_echo "$ac_cv_lib_util_openpty" >&6; }
+if test "x$ac_cv_lib_util_openpty" = x""yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_OPENPTY 1
_ACEOF
@@ -3813,8 +4506,8 @@ done
fi
-{ echo "$as_me:$LINENO: checking for ptyranges..." >&5
-echo "$as_me: checking for ptyranges..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking for ptyranges..." >&5
+$as_echo "$as_me: checking for ptyranges..." >&6;}
if test -d /dev/ptym ; then
pdir='/dev/ptym'
else
@@ -3853,17 +4546,17 @@ _ACEOF
fi
-# Check whether --with-pty-mode or --without-pty-mode was given.
+# Check whether --with-pty-mode was given.
if test "${with_pty_mode+set}" = set; then
- withval="$with_pty_mode"
- ptymode="${withval}"
-fi;
+ withval=$with_pty_mode; ptymode="${withval}"
+fi
-# Check whether --with-pty-group or --without-pty-group was given.
+
+# Check whether --with-pty-group was given.
if test "${with_pty_group+set}" = set; then
- withval="$with_pty_group"
- ptygrp="${withval}"
-fi;
+ withval=$with_pty_group; ptygrp="${withval}"
+fi
+
test -n "$ptymode" || ptymode=0620
if test -n "$ptygrp" ; then
cat >>confdefs.h <<_ACEOF
@@ -3876,15 +4569,17 @@ _ACEOF
else
-{ echo "$as_me:$LINENO: checking default tty permissions/group..." >&5
-echo "$as_me: checking default tty permissions/group..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking default tty permissions/group..." >&5
+$as_echo "$as_me: checking default tty permissions/group..." >&6;}
rm -f conftest_grp
if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
+$as_echo "$as_me: error: cannot run test program while cross compiling
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3923,15 +4618,26 @@ main()
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
if test -f conftest_grp; then
@@ -3952,8 +4658,8 @@ _ACEOF
fi
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
@@ -3962,10 +4668,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
XTERMPATH=''
# Extract the first word of "write", so it can be a program name with args.
set dummy write; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_WRITEPATH+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $WRITEPATH in
[\\/]* | ?:[\\/]*)
@@ -3978,33 +4684,34 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_WRITEPATH="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
WRITEPATH=$ac_cv_path_WRITEPATH
-
if test -n "$WRITEPATH"; then
- echo "$as_me:$LINENO: result: $WRITEPATH" >&5
-echo "${ECHO_T}$WRITEPATH" >&6
+ { $as_echo "$as_me:$LINENO: result: $WRITEPATH" >&5
+$as_echo "$WRITEPATH" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
# Extract the first word of "xterm", so it can be a program name with args.
set dummy xterm; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_XTERMPATH+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $XTERMPATH in
[\\/]* | ?:[\\/]*)
@@ -4017,27 +4724,28 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_XTERMPATH="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
XTERMPATH=$ac_cv_path_XTERMPATH
-
if test -n "$XTERMPATH"; then
- echo "$as_me:$LINENO: result: $XTERMPATH" >&5
-echo "${ECHO_T}$XTERMPATH" >&6
+ { $as_echo "$as_me:$LINENO: result: $XTERMPATH" >&5
+$as_echo "$XTERMPATH" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
found=
if test -n "$WRITEPATH$XTERMPATH"; then
findfollow=
@@ -4079,8 +4787,11 @@ _ACEOF
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
rm -f conftest_grp
fi
@@ -4095,8 +4806,8 @@ _ACEOF
else
-{ echo "$as_me:$LINENO: checking return type of signal handlers..." >&5
-echo "$as_me: checking return type of signal handlers..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking return type of signal handlers..." >&5
+$as_echo "$as_me: checking return type of signal handlers..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4118,39 +4829,37 @@ int i;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
cat >>confdefs.h <<\_ACEOF
#define SIGVOID 1
_ACEOF
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking sigset..." >&5
-echo "$as_me: checking sigset..." >&6;}
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: checking sigset..." >&5
+$as_echo "$as_me: checking sigset..." >&6;}
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4176,46 +4885,50 @@ sigset(0, (int (*)())0);
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
cat >>confdefs.h <<\_ACEOF
#define USESIGSET 1
_ACEOF
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking signal implementation..." >&5
-echo "$as_me: checking signal implementation..." >&6;}
+{ $as_echo "$as_me:$LINENO: checking signal implementation..." >&5
+$as_echo "$as_me: checking signal implementation..." >&6;}
if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
+$as_echo "$as_me: error: cannot run test program while cross compiling
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4259,20 +4972,31 @@ main()
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
@@ -4281,12 +5005,415 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+for ac_header in sys/stropts.h sys/wait.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
fi
- ac_config_files="$ac_config_files Makefile"
+done
+
+
+ac_config_files="$ac_config_files Makefile"
+
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@@ -4305,39 +5432,59 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
+ ;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-} |
+ esac |
+ sort
+) |
sed '
+ /^ac_cv_env_/b end
t clear
- : clear
+ :clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- echo "not updating unwritable cache $cache_file"
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -4346,32 +5493,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -4380,11 +5513,12 @@ LTLIBOBJS=$ac_ltlibobjs
: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -4397,22 +5531,78 @@ ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
-DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -4422,33 +5612,60 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -4456,159 +5673,122 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
+# CDPATH.
+$as_unset CDPATH
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-if expr a : '\(a\)' >/dev/null 2>&1; then
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -4617,7 +5797,28 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -4626,31 +5827,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
exec 6>&1
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
+# values after options handling.
+ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -4658,45 +5842,44 @@ generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
_ACEOF
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
-cat >>$CONFIG_STATUS <<\_ACEOF
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [FILE]...
-h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet, --silent
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
Configuration files:
$config_files
@@ -4705,82 +5888,82 @@ Configuration headers:
$config_headers
Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
--*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
- -*)
+ *)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { $as_echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
- *) ac_config_targets="$ac_config_targets $1" ;;
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
esac
shift
@@ -4794,31 +5977,47 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
fi
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
+# Handling of arguments.
for ac_config_target in $ac_config_targets
do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
+
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
@@ -4829,553 +6028,605 @@ if $ac_need_defaults; then
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
trap '{ (exit 1); exit 1; }' 1 2 13 15
}
-
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
} ||
{
- echo "$me: cannot create a temporary directory in ." >&2
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# CONFIG_FILES section.
-#
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@VERSION@,$VERSION,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@CPP@,$CPP,;t t
-s,@EGREP@,$EGREP,;t t
-s,@AWK@,$AWK,;t t
-s,@WRITEPATH@,$WRITEPATH,;t t
-s,@XTERMPATH@,$XTERMPATH,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+ { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ ;;
esac
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+ ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
ac_builddir=.
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+_ACEOF
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
-#
-# CONFIG_HEADER section.
-#
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ rm -f "$tmp/stdin"
case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
{ (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
fi
else
- cat $tmp/config.h
- rm -f $tmp/config.h
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+ { (exit 1); exit 1; }; }
fi
-done
-_ACEOF
+ ;;
+
+
+ esac
+
+done # for ac_tag
-cat >>$CONFIG_STATUS <<\_ACEOF
{ (exit 0); exit 0; }
_ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -5397,4 +6648,8 @@ if test "$no_create" != yes; then
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
diff --git a/funmap.c b/funmap.c
index 06d2b92..cccddb6 100644
--- a/funmap.c
+++ b/funmap.c
@@ -105,11 +105,13 @@ static const FUNMAP default_funmap[] = {
{ "kill-region", rl_kill_region },
{ "kill-word", rl_kill_word },
{ "menu-complete", rl_menu_complete },
+ { "menu-complete-backward", rl_backward_menu_complete },
{ "next-history", rl_get_next_history },
{ "non-incremental-forward-search-history", rl_noninc_forward_search },
{ "non-incremental-reverse-search-history", rl_noninc_reverse_search },
{ "non-incremental-forward-search-history-again", rl_noninc_forward_search_again },
{ "non-incremental-reverse-search-history-again", rl_noninc_reverse_search_again },
+ { "old-menu-complete", rl_old_menu_complete },
{ "overwrite-mode", rl_overwrite_mode },
#ifdef __CYGWIN__
{ "paste-from-clipboard", rl_paste_from_clipboard },
@@ -123,6 +125,7 @@ static const FUNMAP default_funmap[] = {
{ "revert-line", rl_revert_line },
{ "self-insert", rl_insert },
{ "set-mark", rl_set_mark },
+ { "skip-csi-sequence", rl_skip_csi_sequence },
{ "start-kbd-macro", rl_start_kbd_macro },
{ "tab-insert", rl_tab_insert },
{ "tilde-expand", rl_tilde_expand },
diff --git a/histexpand.c b/histexpand.c
index bf5ac0e..42498d2 100644
--- a/histexpand.c
+++ b/histexpand.c
@@ -305,16 +305,20 @@ get_history_event (string, caller_index, delimiting_quote)
/* Extract the contents of STRING as if it is enclosed in single quotes.
SINDEX, when passed in, is the offset of the character immediately
following the opening single quote; on exit, SINDEX is left pointing
- to the closing single quote. */
+ to the closing single quote. FLAGS currently used to allow backslash
+ to escape a single quote (e.g., for bash $'...'). */
static void
-hist_string_extract_single_quoted (string, sindex)
+hist_string_extract_single_quoted (string, sindex, flags)
char *string;
- int *sindex;
+ int *sindex, flags;
{
register int i;
for (i = *sindex; string[i] && string[i] != '\''; i++)
- ;
+ {
+ if ((flags & 1) && string[i] == '\\' && string[i+1])
+ i++;
+ }
*sindex = i;
}
@@ -924,7 +928,7 @@ history_expand (hstring, output)
char **output;
{
register int j;
- int i, r, l, passc, cc, modified, eindex, only_printing, dquote;
+ int i, r, l, passc, cc, modified, eindex, only_printing, dquote, flag;
char *string;
/* The output string, and its length. */
@@ -1044,8 +1048,9 @@ history_expand (hstring, output)
else if (dquote == 0 && history_quotes_inhibit_expansion && string[i] == '\'')
{
/* If this is bash, single quotes inhibit history expansion. */
+ flag = (i > 0 && string[i - 1] == '$');
i++;
- hist_string_extract_single_quoted (string, &i);
+ hist_string_extract_single_quoted (string, &i, flag);
}
else if (history_quotes_inhibit_expansion && string[i] == '\\')
{
@@ -1096,7 +1101,7 @@ history_expand (hstring, output)
if (strlen (mb) > 1)
{
ADD_STRING (mb);
- break;
+ continue;
}
}
#endif /* HANDLE_MULTIBYTE */
@@ -1130,8 +1135,9 @@ history_expand (hstring, output)
{
int quote, slen;
+ flag = (i > 0 && string[i - 1] == '$');
quote = i++;
- hist_string_extract_single_quoted (string, &i);
+ hist_string_extract_single_quoted (string, &i, flag);
slen = i - quote + 2;
temp = (char *)xmalloc (slen);
@@ -1435,17 +1441,21 @@ history_tokenize_word (string, ind)
i += 2;
return i;
}
- else
+ else if ((peek == '&' && (string[i] == '>' || string[i] == '<')) ||
+ (peek == '>' && string[i] == '&') ||
+ (peek == '(' && (string[i] == '>' || string[i] == '<')) || /* ) */
+ (peek == '(' && string[i] == '$')) /* ) */
{
- if ((peek == '&' && (string[i] == '>' || string[i] == '<')) ||
- (peek == '>' && string[i] == '&') ||
- (peek == '(' && (string[i] == '>' || string[i] == '<')) || /* ) */
- (peek == '(' && string[i] == '$')) /* ) */
- {
- i += 2;
- return i;
- }
+ i += 2;
+ return i;
}
+#if 0
+ else if (peek == '\'' && string[i] == '$')
+ {
+ i += 2; /* XXX */
+ return i;
+ }
+#endif
if (string[i] != '$')
{
diff --git a/input.c b/input.c
index 320c4bc..b5876da 100644
--- a/input.c
+++ b/input.c
@@ -45,14 +45,7 @@
# include "ansi_stdlib.h"
#endif /* HAVE_STDLIB_H */
-#if defined (HAVE_SELECT)
-# if !defined (HAVE_SYS_SELECT_H) || !defined (M_UNIX)
-# include <sys/time.h>
-# endif
-#endif /* HAVE_SELECT */
-#if defined (HAVE_SYS_SELECT_H)
-# include <sys/select.h>
-#endif
+#include "posixselect.h"
#if defined (FIONREAD_IN_SYS_IOCTL)
# include <sys/ioctl.h>
@@ -190,8 +183,7 @@ rl_gather_tyi ()
FD_ZERO (&exceptfds);
FD_SET (tty, &readfds);
FD_SET (tty, &exceptfds);
- timeout.tv_sec = 0;
- timeout.tv_usec = _keyboard_input_timeout;
+ USEC_TO_TIMEVAL (_keyboard_input_timeout, timeout);
result = select (tty + 1, &readfds, (fd_set *)NULL, &exceptfds, &timeout);
if (result <= 0)
return 0; /* Nothing to read. */
diff --git a/keymaps.c b/keymaps.c
index a033d5e..9379dec 100644
--- a/keymaps.c
+++ b/keymaps.c
@@ -57,8 +57,9 @@ Keymap
rl_make_bare_keymap ()
{
register int i;
- Keymap keymap = (Keymap)xmalloc (KEYMAP_SIZE * sizeof (KEYMAP_ENTRY));
+ Keymap keymap;
+ keymap = (Keymap)xmalloc (KEYMAP_SIZE * sizeof (KEYMAP_ENTRY));
for (i = 0; i < KEYMAP_SIZE; i++)
{
keymap[i].type = ISFUNC;
@@ -76,7 +77,8 @@ rl_make_bare_keymap ()
return (keymap);
}
-/* Return a new keymap which is a copy of MAP. */
+/* Return a new keymap which is a copy of MAP. Just copies pointers, does
+ not copy text of macros or descend into child keymaps. */
Keymap
rl_copy_keymap (map)
Keymap map;
@@ -128,7 +130,7 @@ rl_discard_keymap (map)
{
int i;
- if (!map)
+ if (map == 0)
return;
for (i = 0; i < KEYMAP_SIZE; i++)
@@ -140,6 +142,7 @@ rl_discard_keymap (map)
case ISKMAP:
rl_discard_keymap ((Keymap)map[i].function);
+ free ((char *)map[i].function);
break;
case ISMACR:
@@ -148,3 +151,12 @@ rl_discard_keymap (map)
}
}
}
+
+/* Convenience function that discards, then frees, MAP. */
+void
+rl_free_keymap (map)
+ Keymap map;
+{
+ rl_discard_keymap (map);
+ free ((char *)map);
+}
diff --git a/mbutil.c b/mbutil.c
index 858842e..eeb7e55 100644
--- a/mbutil.c
+++ b/mbutil.c
@@ -77,7 +77,7 @@ _rl_find_next_mbchar_internal (string, seed, count, find_non_zero)
char *string;
int seed, count, find_non_zero;
{
- size_t tmp;
+ size_t tmp, len;
mbstate_t ps;
int point;
wchar_t wc;
@@ -99,7 +99,10 @@ _rl_find_next_mbchar_internal (string, seed, count, find_non_zero)
while (count > 0)
{
- tmp = mbrtowc (&wc, string+point, strlen(string + point), &ps);
+ len = strlen (string + point);
+ if (len == 0)
+ break;
+ tmp = mbrtowc (&wc, string+point, len, &ps);
if (MB_INVALIDCH ((size_t)tmp))
{
/* invalid bytes. assume a byte represents a character */
diff --git a/parens.c b/parens.c
index f15d26f..9c98488 100644
--- a/parens.c
+++ b/parens.c
@@ -38,16 +38,7 @@
# include <unistd.h>
#endif
-#if defined (FD_SET) && !defined (HAVE_SELECT)
-# define HAVE_SELECT
-#endif
-
-#if defined (HAVE_SELECT)
-# include <sys/time.h>
-#endif /* HAVE_SELECT */
-#if defined (HAVE_SYS_SELECT_H)
-# include <sys/select.h>
-#endif
+#include "posixselect.h"
#if defined (HAVE_STRING_H)
# include <string.h>
@@ -130,8 +121,7 @@ rl_insert_close (count, invoking_key)
FD_ZERO (&readfds);
FD_SET (fileno (rl_instream), &readfds);
- timer.tv_sec = 0;
- timer.tv_usec = _paren_blink_usec;
+ USEC_TO_TIMEVAL (_paren_blink_usec, timer);
orig_point = rl_point;
rl_point = match_point;
diff --git a/patchlevel b/patchlevel
index e0ba09d..d8c9df7 100644
--- a/patchlevel
+++ b/patchlevel
@@ -1,3 +1,3 @@
# Do not edit -- exists only for use by patch
-5
+0
diff --git a/posixselect.h b/posixselect.h
new file mode 100644
index 0000000..da6a1ac
--- /dev/null
+++ b/posixselect.h
@@ -0,0 +1,47 @@
+/* posixselect.h -- wrapper for select(2) includes and definitions */
+
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash 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.
+
+ Bash 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 Bash. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef _POSIXSELECT_H_
+#define _POSIXSELECT_H_
+
+#if defined (FD_SET) && !defined (HAVE_SELECT)
+# define HAVE_SELECT 1
+#endif
+
+#if defined (HAVE_SELECT)
+# if !defined (HAVE_SYS_SELECT_H) || !defined (M_UNIX)
+# include <sys/time.h>
+# endif
+#endif /* HAVE_SELECT */
+#if defined (HAVE_SYS_SELECT_H)
+# include <sys/select.h>
+#endif
+
+#ifndef USEC_PER_SEC
+# define USEC_PER_SEC 1000000
+#endif
+
+#define USEC_TO_TIMEVAL(us, tv) \
+do { \
+ (tv).tv_sec = (us) / USEC_PER_SEC; \
+ (tv).tv_usec = (us) % USEC_PER_SEC; \
+} while (0)
+
+#endif /* _POSIXSELECT_H_ */
diff --git a/readline.c b/readline.c
index 3550b35..c0e78d4 100644
--- a/readline.c
+++ b/readline.c
@@ -275,6 +275,10 @@ int _rl_bind_stty_chars = 1;
its initial state. */
int _rl_revert_all_at_newline = 0;
+/* Non-zero means to honor the termios ECHOCTL bit and echo control
+ characters corresponding to keyboard-generated signals. */
+int _rl_echo_control_chars = 1;
+
/* **************************************************************** */
/* */
/* Top Level Functions */
@@ -686,7 +690,8 @@ _rl_dispatch_callback (cxt)
r = cxt->childval;
/* For now */
- r = _rl_subseq_result (r, cxt->oldmap, cxt->okey, (cxt->flags & KSEQ_SUBSEQ));
+ if (r != -3) /* don't do this if we indicate there will be other matches */
+ r = _rl_subseq_result (r, cxt->oldmap, cxt->okey, (cxt->flags & KSEQ_SUBSEQ));
RL_CHECK_SIGNALS ();
if (r == 0) /* success! */
@@ -831,7 +836,7 @@ _rl_dispatch_subseq (key, map, got_subseq)
{
/* Return 0 only the first time, to indicate success to
_rl_callback_read_char. The rest of the time, we're called
- from _rl_dispatch_callback, so we return 3 to indicate
+ from _rl_dispatch_callback, so we return -3 to indicate
special handling is necessary. */
r = RL_ISSTATE (RL_STATE_MULTIKEY) ? -3 : 0;
cxt = _rl_keyseq_cxt_alloc ();
@@ -895,7 +900,7 @@ _rl_subseq_result (r, map, key, got_subseq)
Keymap m;
int type, nt;
rl_command_func_t *func, *nf;
-
+
if (r == -2)
/* We didn't match anything, and the keymap we're indexed into
shadowed a function previously bound to that prefix. Call
@@ -1169,6 +1174,10 @@ bind_arrow_keys ()
#if defined (VI_MODE)
bind_arrow_keys_internal (vi_movement_keymap);
+ /* Unbind vi_movement_keymap[ESC] to allow users to repeatedly hit ESC
+ in vi command mode while still allowing the arrow keys to work. */
+ if (vi_movement_keymap[ESC].type == ISKMAP)
+ rl_bind_keyseq_in_map ("\033", (rl_command_func_t *)NULL, vi_movement_keymap);
bind_arrow_keys_internal (vi_insertion_keymap);
#endif
}
diff --git a/readline.h b/readline.h
index fa02dec..7a4ffaa 100644
--- a/readline.h
+++ b/readline.h
@@ -95,6 +95,7 @@ extern int rl_forward_word PARAMS((int, int));
extern int rl_backward_word PARAMS((int, int));
extern int rl_refresh_line PARAMS((int, int));
extern int rl_clear_screen PARAMS((int, int));
+extern int rl_skip_csi_sequence PARAMS((int, int));
extern int rl_arrow_keys PARAMS((int, int));
/* Bindable commands for inserting and deleting text. */
@@ -150,7 +151,9 @@ extern int rl_dump_variables PARAMS((int, int));
extern int rl_complete PARAMS((int, int));
extern int rl_possible_completions PARAMS((int, int));
extern int rl_insert_completions PARAMS((int, int));
+extern int rl_old_menu_complete PARAMS((int, int));
extern int rl_menu_complete PARAMS((int, int));
+extern int rl_backward_menu_complete PARAMS((int, int));
/* Bindable commands for killing and yanking text, and managing the kill ring. */
extern int rl_kill_word PARAMS((int, int));
@@ -675,6 +678,17 @@ extern rl_icppfunc_t *rl_directory_completion_hook;
yet, so it's undocumented. */
extern rl_icppfunc_t *rl_directory_rewrite_hook;
+/* If non-zero, this is the address of a function to call when reading
+ directory entries from the filesystem for completion and comparing
+ them to the partial word to be completed. The function should
+ either return its first argument (if no conversion takes place) or
+ newly-allocated memory. This can, for instance, convert filenames
+ between character sets for comparison against what's typed at the
+ keyboard. The returned value is what is added to the list of
+ matches. The second argument is the length of the filename to be
+ converted. */
+extern rl_dequote_func_t *rl_filename_rewrite_hook;
+
/* Backwards compatibility with previous versions of readline. */
#define rl_symbolic_link_hook rl_directory_completion_hook
diff --git a/rlprivate.h b/rlprivate.h
index f575c14..819f127 100644
--- a/rlprivate.h
+++ b/rlprivate.h
@@ -300,6 +300,8 @@ extern void _rl_signal_handler PARAMS((int));
extern void _rl_block_sigint PARAMS((void));
extern void _rl_release_sigint PARAMS((void));
+extern void _rl_block_sigwinch PARAMS((void));
+extern void _rl_release_sigwinch PARAMS((void));
/* terminal.c */
extern void _rl_get_screen_size PARAMS((int, int));
@@ -347,6 +349,7 @@ extern void _rl_trace ();
extern int _rl_tropen PARAMS((void));
extern int _rl_abort_internal PARAMS((void));
+extern int _rl_null_function PARAMS((int, int));
extern char *_rl_strindex PARAMS((const char *, const char *));
extern int _rl_qsort_string_compare PARAMS((char **, char **));
extern int (_rl_uppercase_p) PARAMS((int));
@@ -386,6 +389,7 @@ extern int _rl_print_completions_horizontally;
extern int _rl_completion_case_fold;
extern int _rl_match_hidden_files;
extern int _rl_page_completions;
+extern int _rl_skip_completed_text;
/* display.c */
extern int _rl_vis_botlin;
@@ -417,6 +421,7 @@ extern int _rl_convert_meta_chars_to_ascii;
extern int _rl_output_meta_chars;
extern int _rl_bind_stty_chars;
extern int _rl_revert_all_at_newline;
+extern int _rl_echo_control_chars;
extern char *_rl_comment_begin;
extern unsigned char _rl_parsing_conditionalized_out;
extern Keymap _rl_keymap;
diff --git a/rltty.c b/rltty.c
index 61f9103..0dd5d10 100644
--- a/rltty.c
+++ b/rltty.c
@@ -517,7 +517,9 @@ prepare_terminal_settings (meta_flag, oldtio, tiop)
TIOTYPE oldtio, *tiop;
{
_rl_echoing_p = (oldtio.c_lflag & ECHO);
+#if defined (ECHOCTL)
_rl_echoctl = (oldtio.c_lflag & ECHOCTL);
+#endif
tiop->c_lflag &= ~(ICANON | ECHO);
diff --git a/shlib/Makefile.in b/shlib/Makefile.in
index f93b8ef..61724e7 100644
--- a/shlib/Makefile.in
+++ b/shlib/Makefile.in
@@ -50,6 +50,7 @@ LN = ln
SHELL = @MAKE_SHELL@
host_os = @host_os@
+host_vendor = @host_vendor@
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -182,13 +183,13 @@ installdirs: $(topdir)/support/mkdirs
-$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(libdir)
install: installdirs $(SHLIB_STATUS)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE)
@echo install: you may need to run ldconfig
uninstall:
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_HISTORY)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_READLINE)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_HISTORY)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_READLINE)
@echo uninstall: you may need to run ldconfig
clean mostlyclean: force
diff --git a/signals.c b/signals.c
index 325ae8c..4fbc019 100644
--- a/signals.c
+++ b/signals.c
@@ -101,7 +101,8 @@ int rl_catch_sigwinch = 0; /* for the readline state struct in readline.c */
int _rl_interrupt_immediately = 0;
int volatile _rl_caught_signal = 0; /* should be sig_atomic_t, but that requires including <signal.h> everywhere */
-/* If non-zero, print characters corresponding to received signals. */
+/* If non-zero, print characters corresponding to received signals as long as
+ the user has indicated his desire to do so (_rl_echo_control_chars). */
int _rl_echoctl = 0;
int _rl_intr_char = 0;
@@ -141,13 +142,14 @@ static RETSIGTYPE
rl_signal_handler (sig)
int sig;
{
- if (_rl_interrupt_immediately)
+ if (_rl_interrupt_immediately || RL_ISSTATE(RL_STATE_CALLBACK))
{
_rl_interrupt_immediately = 0;
_rl_handle_signal (sig);
}
+ else
+ _rl_caught_signal = sig;
- _rl_caught_signal = sig;
SIGHANDLER_RETURN;
}
@@ -518,13 +520,16 @@ rl_free_line_state ()
#if defined (HAVE_POSIX_SIGNALS)
static sigset_t sigint_set, sigint_oset;
+static sigset_t sigwinch_set, sigwinch_oset;
#else /* !HAVE_POSIX_SIGNALS */
# if defined (HAVE_BSD_SIGNALS)
static int sigint_oldmask;
+static int sigwinch_oldmask;
# endif /* HAVE_BSD_SIGNALS */
#endif /* !HAVE_POSIX_SIGNALS */
static int sigint_blocked;
+static int sigwinch_blocked;
/* Cause SIGINT to not be delivered until the corresponding call to
release_sigint(). */
@@ -574,6 +579,54 @@ _rl_release_sigint ()
sigint_blocked = 0;
}
+/* Cause SIGWINCH to not be delivered until the corresponding call to
+ release_sigwinch(). */
+void
+_rl_block_sigwinch ()
+{
+ if (sigwinch_blocked)
+ return;
+
+#if defined (HAVE_POSIX_SIGNALS)
+ sigemptyset (&sigwinch_set);
+ sigemptyset (&sigwinch_oset);
+ sigaddset (&sigwinch_set, SIGWINCH);
+ sigprocmask (SIG_BLOCK, &sigwinch_set, &sigwinch_oset);
+#else /* !HAVE_POSIX_SIGNALS */
+# if defined (HAVE_BSD_SIGNALS)
+ sigwinch_oldmask = sigblock (sigmask (SIGWINCH));
+# else /* !HAVE_BSD_SIGNALS */
+# if defined (HAVE_USG_SIGHOLD)
+ sighold (SIGWINCH);
+# endif /* HAVE_USG_SIGHOLD */
+# endif /* !HAVE_BSD_SIGNALS */
+#endif /* !HAVE_POSIX_SIGNALS */
+
+ sigwinch_blocked = 1;
+}
+
+/* Allow SIGWINCH to be delivered. */
+void
+_rl_release_sigwinch ()
+{
+ if (sigwinch_blocked == 0)
+ return;
+
+#if defined (HAVE_POSIX_SIGNALS)
+ sigprocmask (SIG_SETMASK, &sigwinch_oset, (sigset_t *)NULL);
+#else
+# if defined (HAVE_BSD_SIGNALS)
+ sigsetmask (sigwinch_oldmask);
+# else /* !HAVE_BSD_SIGNALS */
+# if defined (HAVE_USG_SIGHOLD)
+ sigrelse (SIGWINCH);
+# endif /* HAVE_USG_SIGHOLD */
+# endif /* !HAVE_BSD_SIGNALS */
+#endif /* !HAVE_POSIX_SIGNALS */
+
+ sigwinch_blocked = 0;
+}
+
/* **************************************************************** */
/* */
/* Echoing special control characters */
@@ -586,14 +639,18 @@ rl_echo_signal_char (sig)
char cstr[3];
int cslen, c;
- if (_rl_echoctl == 0)
+ if (_rl_echoctl == 0 || _rl_echo_control_chars == 0)
return;
switch (sig)
{
case SIGINT: c = _rl_intr_char; break;
+#if defined (SIGQUIT)
case SIGQUIT: c = _rl_quit_char; break;
+#endif
+#if defined (SIGTSTP)
case SIGTSTP: c = _rl_susp_char; break;
+#endif
default: return;
}
diff --git a/support/config.sub b/support/config.sub
index 8659ca3..d07267e 100644
--- a/support/config.sub
+++ b/support/config.sub
@@ -807,6 +807,9 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
diff --git a/support/shlib-install b/support/shlib-install
index 9f1d746..3d0fb3c 100755
--- a/support/shlib-install
+++ b/support/shlib-install
@@ -3,7 +3,7 @@
# shlib-install - install a shared library and do any necessary host-specific
# post-installation configuration (like ldconfig)
#
-# usage: shlib-install [-D] -O host_os -d installation-dir [-b bin-dir] -i install-prog [-U] library
+# usage: shlib-install [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library
#
# Chet Ramey
# chet@po.cwru.edu
@@ -15,13 +15,14 @@ INSTALLDIR=/usr/local/lib
LDCONFIG=ldconfig
PROGNAME=`basename $0`
-USAGE="$PROGNAME [-D] -O host_os -d installation-dir [-b bin-dir] -i install-prog [-U] library"
+USAGE="$PROGNAME [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library"
# process options
while [ $# -gt 0 ]; do
case "$1" in
-O) shift; host_os="$1"; shift ;;
+ -V) shift; host_vendor="$1"; shift ;;
-d) shift; INSTALLDIR="$1"; shift ;;
-b) shift; BINDIR="$1" ; shift ;;
-i) shift; INSTALLPROG="$1" ; shift ;;
@@ -115,8 +116,8 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK2'
#
# Create symlinks to the installed library. This section is incomplete.
#
-case "$host_os" in
-*linux*)
+case "$host_os-$host_vendor" in
+*linux*|freebsd*-gentoo)
# libname.so.M -> libname.so.M.N
${echo} ${RM} ${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
@@ -130,7 +131,7 @@ case "$host_os" in
fi
;;
-bsdi4*|*gnu*|darwin*|macosx*|k*bsd*-gnu|netbsd*)
+bsdi4*|*gnu*|darwin*|macosx*|netbsd*)
# libname.so.M -> libname.so.M.N
${echo} ${RM} ${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
@@ -154,7 +155,7 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*)
# FreeBSD 3.x and above can have either a.out or ELF shared libraries
-freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*)
+freebsd3*|freebsdaout*)
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
# libname.so -> libname.so.M
${echo} ${RM} ${INSTALLDIR}/$LINK1
@@ -176,6 +177,14 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*)
fi
;;
+freebsd[4-9]*|freebsdelf*|dragonfly*)
+ # libname.so -> libname.so.M
+ ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ if [ -z "$uninstall" ]; then
+ eval $INSTALL_LINK1
+ fi
+ ;;
+
hpux1*)
# libname.sl -> libname.M
${echo} ${RM} ${INSTALLDIR}/$LINK1.sl
diff --git a/support/shobj-conf b/support/shobj-conf
index bcc9dc7..5a63e80 100644
--- a/support/shobj-conf
+++ b/support/shobj-conf
@@ -64,7 +64,7 @@ while [ $# -gt 0 ]; do
esac
done
-case "${host_os}-${SHOBJ_CC}" in
+case "${host_os}-${SHOBJ_CC}-${host_vendor}" in
sunos4*-*gcc*)
SHOBJ_CFLAGS=-fpic
SHOBJ_LD=/usr/bin/ld
@@ -108,8 +108,8 @@ sunos5*|solaris2*)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
-# All versions of Linux or the semi-mythical GNU Hurd.
-linux*-*|gnu*-*|k*bsd*-gnu-*)
+# All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
+linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
@@ -128,7 +128,7 @@ freebsd2*)
;;
# FreeBSD-3.x ELF
-freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
+freebsd3*|freebsdaout*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
@@ -145,6 +145,17 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
fi
;;
+# FreeBSD-4.x and later have only ELF
+freebsd[4-9]*|freebsdelf*|dragonfly*)
+ SHOBJ_CFLAGS=-fPIC
+ SHOBJ_LD='${CC}'
+
+ SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+ SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
+
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ ;;
+
# Darwin/MacOS X
darwin[89]*|darwin10*)
SHOBJ_STATUS=supported
diff --git a/terminal.c b/terminal.c
index 768ec9b..ee13092 100644
--- a/terminal.c
+++ b/terminal.c
@@ -528,8 +528,8 @@ _rl_init_terminal_io (terminal_name)
/* Check to see if this terminal has a meta key and clear the capability
variables if there is none. */
- term_has_meta = (tgetflag ("km") || tgetflag ("MT"));
- if (!term_has_meta)
+ term_has_meta = tgetflag ("km") != 0;
+ if (term_has_meta == 0)
_rl_term_mm = _rl_term_mo = (char *)NULL;
/* Attempt to find and bind the arrow keys. Do not override already
diff --git a/text.c b/text.c
index 652b306..fc39189 100644
--- a/text.c
+++ b/text.c
@@ -67,6 +67,10 @@ static int _rl_insert_next_callback PARAMS((_rl_callback_generic_arg *));
static int _rl_char_search_callback PARAMS((_rl_callback_generic_arg *));
#endif
+/* The largest chunk of text that can be inserted in one call to
+ rl_insert_text. Text blocks larger than this are divided. */
+#define TEXT_COUNT_MAX 1024
+
/* **************************************************************** */
/* */
/* Insert and Delete */
@@ -185,10 +189,13 @@ _rl_replace_text (text, start, end)
{
int n;
+ n = 0;
rl_begin_undo_group ();
- rl_delete_text (start, end + 1);
+ if (start <= end)
+ rl_delete_text (start, end + 1);
rl_point = start;
- n = rl_insert_text (text);
+ if (*text)
+ n = rl_insert_text (text);
rl_end_undo_group ();
return n;
@@ -571,6 +578,21 @@ rl_clear_screen (count, key)
}
int
+rl_skip_csi_sequence (count, key)
+ int count, key;
+{
+ int ch;
+
+ RL_SETSTATE (RL_STATE_MOREINPUT);
+ do
+ ch = rl_read_key ();
+ while (ch >= 0x20 && ch < 0x40);
+ RL_UNSETSTATE (RL_STATE_MOREINPUT);
+
+ return 0;
+}
+
+int
rl_arrow_keys (count, c)
int count, c;
{
@@ -707,7 +729,7 @@ _rl_insert_char (count, c)
/* If we can optimize, then do it. But don't let people crash
readline because of extra large arguments. */
- if (count > 1 && count <= 1024)
+ if (count > 1 && count <= TEXT_COUNT_MAX)
{
#if defined (HANDLE_MULTIBYTE)
string_size = count * incoming_length;
@@ -735,11 +757,11 @@ _rl_insert_char (count, c)
return 0;
}
- if (count > 1024)
+ if (count > TEXT_COUNT_MAX)
{
int decreaser;
#if defined (HANDLE_MULTIBYTE)
- string_size = incoming_length * 1024;
+ string_size = incoming_length * TEXT_COUNT_MAX;
string = (char *)xmalloc (1 + string_size);
i = 0;
@@ -751,7 +773,7 @@ _rl_insert_char (count, c)
while (count)
{
- decreaser = (count > 1024) ? 1024 : count;
+ decreaser = (count > TEXT_COUNT_MAX) ? TEXT_COUNT_MAX : count;
string[decreaser*incoming_length] = '\0';
rl_insert_text (string);
count -= decreaser;
@@ -761,14 +783,14 @@ _rl_insert_char (count, c)
incoming_length = 0;
stored_count = 0;
#else /* !HANDLE_MULTIBYTE */
- char str[1024+1];
+ char str[TEXT_COUNT_MAX+1];
- for (i = 0; i < 1024; i++)
+ for (i = 0; i < TEXT_COUNT_MAX; i++)
str[i] = c;
while (count)
{
- decreaser = (count > 1024 ? 1024 : count);
+ decreaser = (count > TEXT_COUNT_MAX ? TEXT_COUNT_MAX : count);
str[decreaser] = '\0';
rl_insert_text (str);
count -= decreaser;
@@ -1129,7 +1151,7 @@ int
rl_delete_horizontal_space (count, ignore)
int count, ignore;
{
- int start = rl_point;
+ int start;
while (rl_point && whitespace (rl_line_buffer[rl_point - 1]))
rl_point--;
@@ -1247,6 +1269,7 @@ rl_change_case (count, op)
wchar_t wc, nwc;
char mb[MB_LEN_MAX+1];
int mlen;
+ size_t m;
mbstate_t mps;
#endif
@@ -1299,7 +1322,11 @@ rl_change_case (count, op)
#if defined (HANDLE_MULTIBYTE)
else
{
- mbrtowc (&wc, rl_line_buffer + start, end - start, &mps);
+ m = mbrtowc (&wc, rl_line_buffer + start, end - start, &mps);
+ if (MB_INVALIDCH (m))
+ wc = (wchar_t)rl_line_buffer[start];
+ else if (MB_NULLWCH (m))
+ wc = L'\0';
nwc = (nop == UpCase) ? _rl_to_wupper (wc) : _rl_to_wlower (wc);
if (nwc != wc) /* just skip unchanged characters */
{
diff --git a/undo.c b/undo.c
index c0ba631..eb042b2 100644
--- a/undo.c
+++ b/undo.c
@@ -139,6 +139,9 @@ _rl_copy_undo_list (head)
{
UNDO_LIST *list, *new, *roving, *c;
+ if (head == 0)
+ return head;
+
list = head;
new = 0;
while (list)
diff --git a/util.c b/util.c
index 3a3e91e..6bb64c2 100644
--- a/util.c
+++ b/util.c
@@ -81,8 +81,7 @@ rl_alphabetic (c)
#if defined (HANDLE_MULTIBYTE)
int
-_rl_walphabetic (wc)
- wchar_t wc;
+_rl_walphabetic (wchar_t wc)
{
int c;
@@ -121,6 +120,13 @@ rl_abort (count, key)
}
int
+_rl_null_function (count, key)
+ int count, key;
+{
+ return 0;
+}
+
+int
rl_tty_status (count, key)
int count, key;
{
diff --git a/vi_keymap.c b/vi_keymap.c
index 3663173..ba5a27b 100644
--- a/vi_keymap.c
+++ b/vi_keymap.c
@@ -326,9 +326,9 @@ KEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
{ ISFUNC, rl_insert }, /* Control-k */
{ ISFUNC, rl_insert }, /* Control-l */
{ ISFUNC, rl_newline }, /* Control-m */
- { ISFUNC, rl_insert }, /* Control-n */
+ { ISFUNC, rl_menu_complete}, /* Control-n */
{ ISFUNC, rl_insert }, /* Control-o */
- { ISFUNC, rl_insert }, /* Control-p */
+ { ISFUNC, rl_backward_menu_complete }, /* Control-p */
{ ISFUNC, rl_insert }, /* Control-q */
{ ISFUNC, rl_reverse_search_history }, /* Control-r */
{ ISFUNC, rl_forward_search_history }, /* Control-s */
diff --git a/vi_mode.c b/vi_mode.c
index 5f35cf0..2a120c0 100644
--- a/vi_mode.c
+++ b/vi_mode.c
@@ -131,9 +131,10 @@ static int _rl_vi_callback_char_search PARAMS((_rl_callback_generic_arg *));
void
_rl_vi_initialize_line ()
{
- register int i;
+ register int i, n;
- for (i = 0; i < sizeof (vi_mark_chars) / sizeof (int); i++)
+ n = sizeof (vi_mark_chars) / sizeof (vi_mark_chars[0]);
+ for (i = 0; i < n; i++)
vi_mark_chars[i] = -1;
RL_UNSETSTATE(RL_STATE_VICMDONCE);
@@ -768,6 +769,7 @@ _rl_vi_change_mbchar_case (count)
wchar_t wc;
char mb[MB_LEN_MAX+1];
int mlen, p;
+ size_t m;
mbstate_t ps;
memset (&ps, 0, sizeof (mbstate_t));
@@ -775,7 +777,11 @@ _rl_vi_change_mbchar_case (count)
count--;
while (count-- && rl_point < rl_end)
{
- mbrtowc (&wc, rl_line_buffer + rl_point, rl_end - rl_point, &ps);
+ m = mbrtowc (&wc, rl_line_buffer + rl_point, rl_end - rl_point, &ps);
+ if (MB_INVALIDCH (m))
+ wc = (wchar_t)rl_line_buffer[rl_point];
+ else if (MB_NULLWCH (m))
+ wc = L'\0';
if (iswupper (wc))
wc = towlower (wc);
else if (iswlower (wc))